pax_global_header00006660000000000000000000000064136073516360014524gustar00rootroot0000000000000052 comment=d55b7b2db2314b7c09336c05c841f31bbec40fc4 avogadrolibs-1.93.0/000077500000000000000000000000001360735163600142725ustar00rootroot00000000000000avogadrolibs-1.93.0/.circleci/000077500000000000000000000000001360735163600161255ustar00rootroot00000000000000avogadrolibs-1.93.0/.circleci/config.yml000066400000000000000000000021261360735163600201160ustar00rootroot00000000000000version: 2 jobs: package: working_directory: ~/ machine: true steps: - checkout: path: ~/avogadrolibs - run: name: Build Python packages no_output_timeout: 1.0h command: | ./avogadrolibs/scripts/circleci/dockcross-manylinux-build-wheels.sh cp34 cp35 cp36 cp37 - store_artifacts: path: dist destination: dist - persist_to_workspace: root: . paths: - avogadrolibs - dist upload: docker: - image: circleci/python:3.6 working_directory: ~/ steps: - attach_workspace: at: . - run: name: Upload to PyPi command: | ./avogadrolibs/scripts/circleci/upload_pypi.sh workflows: version: 2 package_wheel: jobs: - package: filters: tags: only: /.*/ - upload: requires: - package filters: tags: only: /.*/ branches: ignore: /.*/ avogadrolibs-1.93.0/.clang-format000066400000000000000000000053371360735163600166550ustar00rootroot00000000000000--- # This was based on the Mozilla style from clang-format 3.8. # Effectively creating a snapshot to produce more consistent results with later # versions of clang-format. Language: Cpp AccessModifierOffset: -2 AlignAfterOpenBracket: Align AlignConsecutiveAssignments: false AlignConsecutiveDeclarations: false AlignEscapedNewlinesLeft: false AlignOperands: true AlignTrailingComments: true AllowAllParametersOfDeclarationOnNextLine: false AllowShortBlocksOnASingleLine: false AllowShortCaseLabelsOnASingleLine: false AllowShortFunctionsOnASingleLine: Inline AllowShortIfStatementsOnASingleLine: false AllowShortLoopsOnASingleLine: false AlwaysBreakAfterDefinitionReturnType: None AlwaysBreakAfterReturnType: None AlwaysBreakBeforeMultilineStrings: false AlwaysBreakTemplateDeclarations: true BinPackArguments: true BinPackParameters: true BraceWrapping: AfterClass: true AfterControlStatement: false AfterEnum: true AfterFunction: true AfterNamespace: false AfterObjCDeclaration: false AfterStruct: true AfterUnion: true BeforeCatch: false BeforeElse: false IndentBraces: false BreakBeforeBinaryOperators: None BreakBeforeBraces: Mozilla BreakBeforeTernaryOperators: true BreakConstructorInitializersBeforeComma: false ColumnLimit: 80 CommentPragmas: '^ IWYU pragma:' ConstructorInitializerAllOnOneLineOrOnePerLine: false ConstructorInitializerIndentWidth: 2 ContinuationIndentWidth: 2 Cpp11BracedListStyle: false DerivePointerAlignment: false DisableFormat: false ExperimentalAutoDetectBinPacking: false ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] IncludeCategories: - Regex: '^"(llvm|llvm-c|clang|clang-c)/' Priority: 2 - Regex: '^(<|"(gtest|isl|json)/)' Priority: 3 - Regex: '.*' Priority: 1 IndentCaseLabels: true IndentWidth: 2 IndentWrappedFunctionNames: false KeepEmptyLinesAtTheStartOfBlocks: true MacroBlockBegin: '' MacroBlockEnd: '' MaxEmptyLinesToKeep: 1 NamespaceIndentation: None ObjCBlockIndentWidth: 2 ObjCSpaceAfterProperty: true ObjCSpaceBeforeProtocolList: false PenaltyBreakBeforeFirstCallParameter: 19 PenaltyBreakComment: 300 PenaltyBreakFirstLessLess: 120 PenaltyBreakString: 1000 PenaltyExcessCharacter: 1000000 PenaltyReturnTypeOnItsOwnLine: 200 PointerAlignment: Left ReflowComments: true SortIncludes: true SpaceAfterCStyleCast: false SpaceBeforeAssignmentOperators: true SpaceBeforeParens: ControlStatements SpaceInEmptyParentheses: false SpacesBeforeTrailingComments: 1 SpacesInAngles: false SpacesInContainerLiterals: true SpacesInCStyleCastParentheses: false SpacesInParentheses: false SpacesInSquareBrackets: false Standard: Cpp11 TabWidth: 8 UseTab: Never ... avogadrolibs-1.93.0/.github/000077500000000000000000000000001360735163600156325ustar00rootroot00000000000000avogadrolibs-1.93.0/.github/FUNDING.yml000066400000000000000000000001721360735163600174470ustar00rootroot00000000000000# These are supported funding model platforms open_collective: avogadro # Replace with a single Open Collective username avogadrolibs-1.93.0/.github/ISSUE_TEMPLATE/000077500000000000000000000000001360735163600200155ustar00rootroot00000000000000avogadrolibs-1.93.0/.github/ISSUE_TEMPLATE/bug_report.md000066400000000000000000000015311360735163600225070ustar00rootroot00000000000000--- name: Bug report about: Create a report to help us improve --- **Avogadro version: (please complete the following information from the About box):** - Avogadrolibs: (e.g. 1.90.0-316-g6d14770) - Qt: (e.g., 5.9.5) **Desktop version: (please complete the following information):** - OS: [e.g. MacOS] - Version [e.g. 10.12.4] - Compiler (if you built from source) **Describe the bug** A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error **Expected behavior** A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain your problem. **Additional context** Add any other context about the problem here. **Please consider uploading or linking test files.** avogadrolibs-1.93.0/.github/ISSUE_TEMPLATE/feature_request.md000066400000000000000000000014251360735163600235440ustar00rootroot00000000000000--- name: Feature request about: Suggest an idea for this project --- **Is your feature request related to a problem? Please describe.** A clear and concise description of what the problem is. Ex. I wish Avogadro calculated XYQ moments to render with .. **Describe the solution you'd like** A clear and concise description of what you want to happen. Please be detailed. How might this feature work (e.g., first a window would open and you'd click to …) **Describe alternatives you've considered** A clear and concise description of any alternative solutions or features you've considered. **Additional context** Add any other context or screenshots about the feature request here. Please consider opening a topic on https://discuss.avogadro.cc/ to allow further public discussion avogadrolibs-1.93.0/.github/PULL_REQUEST_TEMPLATE000066400000000000000000000026151360735163600210400ustar00rootroot00000000000000Developer Certificate of Origin Version 1.1 Copyright (C) 2004, 2006 The Linux Foundation and its contributors. 1 Letterman Drive Suite D4700 San Francisco, CA, 94129 Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. avogadrolibs-1.93.0/.github/config.yml000066400000000000000000000017701360735163600176270ustar00rootroot00000000000000# Configuration for welcome - https://github.com/behaviorbot/welcome # Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome # Comment to be posted to on first time issues newIssueWelcomeComment: > Thanks for opening your first issue here! Please try to include example files and screenshots if possible. If you're looking for support, please post on our forum: https://discuss.avogadro.cc/ # Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome # Comment to be posted to on PRs from first time contributors in your repository newPRWelcomeComment: > Thanks for opening this pull request! Please check out our contributing guidelines and check for the automated tests. # Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge # Comment to be posted to on pull requests merged by a first time user firstPRMergeComment: > Congrats on merging your first pull request! 🎉 Thanks for making Avogadro better for everyone! avogadrolibs-1.93.0/.gitignore000066400000000000000000000000001360735163600162500ustar00rootroot00000000000000avogadrolibs-1.93.0/.travis.yml000066400000000000000000000031441360735163600164050ustar00rootroot00000000000000branches: only: - master - /^\d+\.\d+\.\d+$/ language: cpp sudo: true matrix: allow_failures: - os: osx include: - language: python sudo: false python: 2.7 env: TASKS="clang-format" os: linux dist: trusty addons: apt: sources: - ubuntu-toolchain-r-test - llvm-toolchain-trusty-6.0 packages: - clang-format-6.0 if: branch = master AND tag IS blank - compiler: gcc os: linux addons: apt: sources: ubuntu-toolchain-r-test packages: g++-4.9 env: - TASKS="ctest gcc-4.9" - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9" if: branch = master AND tag IS blank - compiler: gcc os: linux addons: apt: sources: ubuntu-toolchain-r-test packages: g++-6 env: - TASKS="ctest gcc-6.3" - MATRIX_EVAL="CC=gcc-6 && CXX=g++-6" if: branch = master AND tag IS blank - compiler: clang os: linux env: TASKS="ctest clang-3.9" if: branch = master AND tag IS blank - os: osx env: TASKS="Mac clang" if: branch = master AND tag IS blank - os: osx env: DEPLOY=TRUE if: tag IS present install: - ./scripts/travis/install.sh script: - ./scripts/travis/build.sh before_deploy: - ./scripts/travis/macpython-build-wheels.sh 3.5 3.6 3.7 # Currently we have todo the pypi upload in a script, as Travis's support is # broken :-( deploy: provider: script script: ./scripts/travis/upload_pypi.sh skip_cleanup: true on: tags: true avogadrolibs-1.93.0/CMakeLists.txt000066400000000000000000000075651360735163600170470ustar00rootroot00000000000000cmake_minimum_required(VERSION 3.3 FATAL_ERROR) project(AvogadroLibs) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) # Request C++11 standard, using new CMake variables. set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_CXX_EXTENSIONS False) # Set symbol visibility defaults for all targets. set(CMAKE_CXX_VISIBILITY_PRESET "hidden") set(CMAKE_VISIBILITY_INLINES_HIDDEN True) include(BuildType) include(BuildLocation) include(CompilerFlags) include(InstallLocation) include(DetermineVersion) # Set up our version. set(AvogadroLibs_VERSION_MAJOR "1") set(AvogadroLibs_VERSION_MINOR "93") set(AvogadroLibs_VERSION_PATCH "0") set(AvogadroLibs_VERSION "${AvogadroLibs_VERSION_MAJOR}.${AvogadroLibs_VERSION_MINOR}.${AvogadroLibs_VERSION_PATCH}") find_package(Git) determine_version(${AvogadroLibs_SOURCE_DIR} ${GIT_EXECUTABLE} "AvogadroLibs") option(BUILD_SHARED_LIBS "Build with shared libraries" ON) # Before any plugins are defined, and before any add_subdirectory calls: set_property(GLOBAL PROPERTY AvogadroLibs_PLUGINS) set_property(GLOBAL PROPERTY AvogadroLibs_STATIC_PLUGINS) if(MSVC) add_definitions("-D_CRT_SECURE_NO_WARNINGS" "-DNOMINMAX -D_USE_MATH_DEFINES") endif() include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) option(ENABLE_TESTING "Enable testing and building the tests." OFF) option(ENABLE_TRANSLATIONS "Enable building translations with Qt5 Linguist" OFF) option(USE_OPENGL "Enable libraries that use OpenGL" ON) option(USE_HDF5 "Enable optional HDF5 features" OFF) option(USE_QT "Enable libraries that use Qt 5" ON) option(USE_VTK "Enable libraries that use VTK" OFF) option(USE_LIBARCHIVE "Enable optional Libarchive features" ON) option(USE_LIBMSYM "Enable optional features using libmsym" ON) option(USE_SPGLIB "Enable optional features using spglib" ON) option(USE_MMTF "Enable optional features using mmtf" ON) option(USE_PROTOCALL "Enable libraries that use ProtoCall" OFF) option(USE_MOLEQUEUE "Enable the MoleQueue dependent functionality" ON) option(USE_PYTHON "Use Python to wrap some of our API" OFF) add_subdirectory(utilities) add_subdirectory(thirdparty) add_subdirectory(avogadro) if(ENABLE_TESTING) include(CTest) enable_testing() add_subdirectory(tests) endif() option(BUILD_DOCUMENTATION "Build project documentation" OFF) if(BUILD_DOCUMENTATION) add_subdirectory(docs) endif() if(USE_PYTHON) add_subdirectory(python) endif() if(ENABLE_TRANSLATIONS) find_package(Qt5LinguistTools) endif() # SKBUILD is set for binary wheel if (NOT SKBUILD) install( FILES README.md CONTRIBUTING.md LICENSE DESTINATION "${INSTALL_DOC_DIR}/avogadrolibs") endif() # After all add_subdirectory calls, so the list of plugins is complete: get_property(AvogadroLibs_PLUGINS GLOBAL PROPERTY AvogadroLibs_PLUGINS) get_property(AvogadroLibs_STATIC_PLUGINS GLOBAL PROPERTY AvogadroLibs_STATIC_PLUGINS) configure_file(${AvogadroLibs_SOURCE_DIR}/cmake/CTestCustom.cmake.in ${AvogadroLibs_BINARY_DIR}/CTestCustom.cmake) configure_file("${AvogadroLibs_SOURCE_DIR}/cmake/AvogadroLibsConfig.cmake.in" "${AvogadroLibs_BINARY_DIR}/AvogadroLibsConfig.cmake" @ONLY) configure_file("${AvogadroLibs_SOURCE_DIR}/cmake/AvogadroLibsConfigVersion.cmake.in" "${AvogadroLibs_BINARY_DIR}/AvogadroLibsConfigVersion.cmake" @ONLY) # SKBUILD is set for binary wheel if (NOT SKBUILD) install(FILES "${AvogadroLibs_BINARY_DIR}/AvogadroLibsConfig.cmake" "${AvogadroLibs_BINARY_DIR}/AvogadroLibsConfigVersion.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindEigen3.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindGLEW.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindLibArchive.cmake" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Findlibmsym.cmake" DESTINATION "${INSTALL_LIBRARY_DIR}/cmake/avogadrolibs") install(EXPORT "AvogadroLibsTargets" DESTINATION "${INSTALL_LIBRARY_DIR}/cmake/avogadrolibs") endif() avogadrolibs-1.93.0/CODE_OF_CONDUCT.md000066400000000000000000000062411360735163600170740ustar00rootroot00000000000000# Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at avogadro-devel@lists.sourceforge.net. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/4/ avogadrolibs-1.93.0/CONTRIBUTING.md000066400000000000000000000015761360735163600165340ustar00rootroot00000000000000Contributing ------------ Our project uses the standard GitHub pull request process for code review and integration. Please check our [development][Development] guide for more details on developing and contributing to the project. The GitHub issue tracker can be used to report bugs, make feature requests, etc. Our [wiki][Wiki] is used to document features, flesh out designs and host other documentation. Our API is [documented using Doxygen][Doxygen] with updated documentation generated nightly. We have several [mailing lists][MailingLists] to coordinate development and to provide support. [Development]: http://wiki.openchemistry.org/Development "Development guide" [Wiki]: http://wiki.openchemistry.org/ "Open Chemistry wiki" [Doxygen]: http://doc.openchemistry.org/avogadrolibs/api/ "API documentation" [MailingLists]: http://openchemistry.org/mailing-lists "Mailing Lists" avogadrolibs-1.93.0/CTestConfig.cmake000066400000000000000000000003761360735163600174520ustar00rootroot00000000000000set(CTEST_PROJECT_NAME "AvogadroLibs") set(CTEST_NIGHTLY_START_TIME "23:59:59 UTC") set(CTEST_DROP_METHOD "http") set(CTEST_DROP_SITE "cdash.openchemistry.org") set(CTEST_DROP_LOCATION "/submit.php?project=AvogadroLibs") set(CTEST_DROP_SITE_CDASH TRUE) avogadrolibs-1.93.0/LICENSE000066400000000000000000000027451360735163600153070ustar00rootroot00000000000000Copyright (c) 2011-2020, Kitware, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. avogadrolibs-1.93.0/README.md000066400000000000000000000061721360735163600155570ustar00rootroot00000000000000Avogadro 2 ========== ![Avogadro 2][Avogadro2Logo] Introduction ------------ Avogadro is an advanced molecular editor designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas. It offers flexible rendering and a powerful plugin architecture. The code in this repository is a rewrite of Avogadro with source code split across a libraries repository and an application repository. Core features and goals of the Avogadro project: * Open source distributed under the liberal 3-clause BSD license * Cross platform with nightly builds on Linux, Mac OS X and Windows * Intuitive interface designed to be useful to whole community * Fast and efficient embracing the latest technologies * Extensible, making extensive use of a plugin architecture * Flexible supporting a range of chemical data formats and packages ![Open Chemistry project][OpenChemistryLogo] ![Kitware, Inc.][KitwareLogo] Avogadro 2 is being developed as part of the [Open Chemistry][OpenChemistry] project by an open communit, and has been developed at [Kitware][Kitware] as an open source community project. The Avogadro 1.x series currently has more features, and can be found [here][Avogadro1]. We will be porting more features to the Avogadro 2 code base, and making regular releases to get feedback from the community. We are actively working to make Avogadro 2 mainline in 2018. Installing ---------- We provide nightly binaries built by our [dashboards][Dashboard] for Mac OS X and Windows. If you would like to build from source we recommend that you follow our [building Open Chemistry][Build] guide that will take care of building most dependencies. Contributing ------------ Our project uses the standard GitHub pull request process for code review and integration. Please check our [development][Development] guide for more details on developing and contributing to the project. The GitHub issue tracker can be used to report bugs, make feature requests, etc. Our [wiki][Wiki] is used to document features, flesh out designs and host other documentation. Our API is [documented using Doxygen][Doxygen] with updated documentation generated nightly. We have several [mailing lists][MailingLists] to coordinate development and to provide support. [Avogadro2Logo]: http://openchemistry.org/files/logos/avogadro2.png "Avogadro2" [OpenChemistry]: http://openchemistry.org/ "Open Chemistry Project" [OpenChemistryLogo]: http://openchemistry.org/files/logos/openchem128.png "Open Chemistry" [Kitware]: http://kitware.com/ "Kitware, Inc." [KitwareLogo]: http://www.kitware.com/img/small_logo_over.png "Kitware" [Avogadro1]: http://avogadro.openmolecules.net/ "Avogadro 1" [Dashboard]: http://cdash.openchemistry.org/index.php?project=AvogadroLibs "Avogadro Dashboard" [Build]: http://wiki.openchemistry.org/Build "Building Avogadro" [Development]: http://wiki.openchemistry.org/Development "Development guide" [Wiki]: http://wiki.openchemistry.org/ "Open Chemistry wiki" [Doxygen]: http://doc.openchemistry.org/avogadrolibs/api/ "API documentation" [MailingLists]: http://openchemistry.org/mailing-lists "Mailing Lists" avogadrolibs-1.93.0/STYLE.md000066400000000000000000000130611360735163600155150ustar00rootroot00000000000000clang-format ------------ We use [clang-format][clang-format] to keep formatting in the code base consistent. Please run clang-format on your patches before submitting. clang-format ships with a Python script ```clang/tools/clang-format-diff.py``` that can be used to reformat patches. For example the following command will reformat all the lines in the latest commit ```shell git diff -U0 HEAD^ | clang-format-diff.py -i -p1 ``` clang-format also provides [git-clang-format][git-clang-format], a script that more closely integrates with git. If you add this script to your path you can using the following command to reformat all the lines in the latest commit. ```shell git clang-format HEAD~1 ``` ### clang-format-diff locations by platform The exact location of the Python script varies by platform/distro. The table below provides the location on some common platform/distro's | Platform/Distro. | Location | | ---------------- |:-------------------------------------:| | Arch Linux | /usr/share/clang/clang-format-diff.py | | Ubuntu | /usr/bin/clang-format-diff-3.8 | The script can also be downloaded [here][clang-format-diff]. Code style ---------- This project is developed primarily in C++ and Python. Please follow these code style guidelines when contributing code to our project. * Alphabetize includes * Use #include "xxx" for local includes, #include \ for external includes. * Do not add comment separators before function definitions. * Split long lines, when reasonable, to avoid going over 80 characters per line. * Add a space after the commas in parameter lists, e.g., function(a, b, c), not function(a,b,c) * Add spaces between operators, e.g. 5 - 2, not 5-2. * For class names, use CamelCase, starting their names with an upper-case letter. * For local variables and function names, use camelCase, starting names with a lower-case letter. * For member variables, prefix them with m\_, i.e. m\_camelCase, starting the name with a lower-case letter. * For comments, add a space between // and the beginning of the comment, e.g., * // A comment * \# Python comment * Use 2 spaces when indenting C++ code, 4 spaces for Python code. * Do not indent inside namespaces, e.g., namespace Avogadro { namespace Core { void foo(); } } * Curly braces marking the start and end of a code block should be on separate lines and aligned vertically with the statement preceding the block, e.g., if (condition) { statement; } for (int i = 0; i < n; ++i) { statement; } * Assume that C++11 features are available, and prefer them over legacy macros, defines, etc. A few examples follow, but are not exhaustive. * Use override to specify member overrides in derived classes. * Set default values of member variables directly in definitions. * Use nullptr instead of NULL. ### C++ Features * Don't use exceptions * Prefer solutions from the Qt library over others in Qt dependent code * Minimize dependencies on third party libraries, think carefully before adding more * Use templates where they make sense ### Including Headers * In public headers, always use this form to include project headers: #include * Prefer declaration of types in public headers over including headers for the type namespace Avogadro { class MyClass; } * In source files include specialized headers first, then dependency headers, then generic headers #include "myapiheader.h" // Our header #include // Avogadro header from a different module #include // Qt header #include // STL * If you need to include the export header for the module do it as the first include #include "avogadrorenderingexport.h" * Private headers are denoted by _p.h endings, and should not be included in public headers * Use the Qt module and camel-cased header * Never include Qt module headers such as QtGui, instead include the header for the class being used #include // WRONG (module header)! #include // Correct ### Namespaces * Avogadro uses nested namespaces * Everything is inside the Avogadro namespace * Code in the core module is in the Avogadro::Core namespace * Don't overspecify, i.e. code in the Avogadro namespace doesn't need to use Avogadro:: * Qt signals and slots are one exception where MOC often needs a little help * Never use using inside a public header * Only pull in specific symbols in source files, i.e. using Avogadro::Core::Molecule; ### Casting * Avoid C-style casts, prefer C++ (static_cast, dynamic_cast, const_cast, reinterpret_cast) * For Qt classes, and Qt derived classes prefer qobject_cast over dynamic_cast ### Aesthetics * Prefer enums to define constants over static const int or defines * Prefer verbose argument names in headers * Most IDEs show the argument names in their autocompletion * It looks better in the generated documentation * Poor style making people guess what an argument is for * Avoid abbreviations, as they are often ambiguous and we can afford the extra bytes [clang-format]: http://llvm.org/releases/3.8.0/tools/clang/docs/ClangFormatStyleOptions.html [git-clang-format]: https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/git-clang-format [flake8]: https://pypi.python.org/pypi/flake8 [clang-format-diff]: https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format-diff.py avogadrolibs-1.93.0/appveyor.yml000066400000000000000000000015771360735163600166740ustar00rootroot00000000000000- version: 1.0.{build} image: Visual Studio 2017 configuration: - Release clone_folder: C:/openchemistry/avogadrolibs init: - cmd: environment: PATH: '%PATH%;%QTDIR%\bin' matrix: - CMAKE_GENERATOR: '"Ninja"' QTDIR: C:\Qt\5.6\msvc2015_64 platform: x64 TWINE_USERNAME: secure: /dyl+sf2T84bLnO0uaEFSA== TWINE_PASSWORD: secure: S4lgG583FNPPUGhPBEwNkfeC5YHUFE/K9x3xujHO75I= build_script: - cmd: >- if %appveyor_repo_tag% equ false scripts\appveyor\build.bat install: - ps: >- if ($env:appveyor_repo_tag -eq 'true') { cd c:\openchemistry\avogadrolibs .\scripts\appveyor\build-wheels.ps1 } deploy_script: - ps: >- if ($env:appveyor_repo_tag -eq 'true') { cd c:\openchemistry\avogadrolibs .\scripts\appveyor\upload-pypi.ps1 } avogadrolibs-1.93.0/avogadro/000077500000000000000000000000001360735163600160745ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/CMakeLists.txt000066400000000000000000000046011360735163600206350ustar00rootroot00000000000000include(GenerateExportHeader) function(avogadro_add_library name) add_library(${name} ${ARGN}) # Use the new AUTOMOC support for Qt libraries (CMake 2.8.6). if(${name} MATCHES "^AvogadroQt") set_target_properties(${name} PROPERTIES AUTOMOC TRUE) endif() if(BUILD_SHARED_LIBS) set_target_properties(${name} PROPERTIES VERSION "${AvogadroLibs_VERSION_MAJOR}.${AvogadroLibs_VERSION_MINOR}.${AvogadroLibs_VERSION_PATCH}" SOVERSION ${AvogadroLibs_VERSION_MAJOR}) endif() string(TOLOWER ${name} lowerName) # Generate the necessary export headers. generate_export_header(${name} EXPORT_FILE_NAME ${lowerName}export.h) list(APPEND HEADERS "${CMAKE_CURRENT_BINARY_DIR}/${lowerName}export.h") include_directories(${CMAKE_CURRENT_BINARY_DIR}) # Now install everything. string(REGEX REPLACE "^avogadro" "" module ${lowerName}) # SKBUILD is set for binary wheel if (NOT SKBUILD) install(FILES ${HEADERS} DESTINATION "${INSTALL_INCLUDE_DIR}/avogadro/${module}") else() # For MACOSX set_target_properties(${name} PROPERTIES INSTALL_NAME_DIR "@rpath") set(INSTALL_RUNTIME_DIR avogadro) set(INSTALL_LIBRARY_DIR avogadro) set(INSTALL_ARCHIVE_DIR avogadro) endif() install(TARGETS ${name} EXPORT "AvogadroLibsTargets" RUNTIME DESTINATION "${INSTALL_RUNTIME_DIR}" LIBRARY DESTINATION "${INSTALL_LIBRARY_DIR}" ARCHIVE DESTINATION "${INSTALL_ARCHIVE_DIR}") endfunction() add_subdirectory(core) include_directories(${CMAKE_CURRENT_BINARY_DIR}/core) add_subdirectory(io) include_directories(${CMAKE_CURRENT_BINARY_DIR}/io) add_subdirectory(quantumio) include_directories(${CMAKE_CURRENT_BINARY_DIR}/quantumio) # SKBUILD is set for binary wheel if (NOT SKBUILD) add_subdirectory(command) endif() if(USE_OPENGL) add_subdirectory(rendering) include_directories(${CMAKE_CURRENT_BINARY_DIR}/rendering) endif() if(USE_QT) add_subdirectory(qtgui) include_directories(${CMAKE_CURRENT_BINARY_DIR}/qtgui) if(USE_OPENGL) add_subdirectory(qtopengl) include_directories(${CMAKE_CURRENT_BINARY_DIR}/qtopengl) endif() if(USE_MOLEQUEUE) add_subdirectory(molequeue) include_directories(${CMAKE_CURRENT_BINARY_DIR}/molequeue) endif() if(USE_VTK) add_subdirectory(vtk) include_directories(${CMAKE_CURRENT_BINARY_DIR}/vtk) endif() add_subdirectory(qtplugins) endif() if(USE_PROTOCALL) add_subdirectory(protocall) endif() avogadrolibs-1.93.0/avogadro/command/000077500000000000000000000000001360735163600175125ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/command/CMakeLists.txt000066400000000000000000000005321360735163600222520ustar00rootroot00000000000000find_package(Eigen3 REQUIRED) include_directories(SYSTEM "${EIGEN3_INCLUDE_DIR}") add_executable(avocjsontocml cjsontocml.cpp) target_link_libraries(avocjsontocml AvogadroIO) add_executable(avobabel avobabel.cpp) target_link_libraries(avobabel AvogadroIO) add_executable(qube qube.cpp) target_link_libraries(qube AvogadroQuantumIO AvogadroIO) avogadrolibs-1.93.0/avogadro/command/avobabel.cpp000066400000000000000000000060431360735163600217740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include using Avogadro::Io::FileFormatManager; using Avogadro::Core::Molecule; using std::cin; using std::cout; using std::endl; using std::string; using std::ostringstream; void printHelp(); int main(int argc, char* argv[]) { // Process the command line arguments, see what has been requested. string inFormat; string outFormat; string inFile; string outFile; for (int i = 1; i < argc; ++i) { string current(argv[i]); if (current == "--help" || current == "-h") { printHelp(); return 0; } else if (current == "--version" || current == "-v") { cout << "Version: " << Avogadro::version() << endl; return 0; } else if (current == "-i" && i + 1 < argc) { inFormat = argv[++i]; cout << "input format " << inFormat << endl; } else if (current == "-o" && i + 1 < argc) { outFormat = argv[++i]; cout << "output format " << outFormat << endl; } else if (inFile.empty()) { inFile = argv[i]; } else if (outFile.empty()) { outFile = argv[i]; } } // Now read/write the molecule, if possible. Otherwise output errors. FileFormatManager& mgr = FileFormatManager::instance(); Molecule mol; if (!inFile.empty()) { if (!mgr.readFile(mol, inFile, inFormat)) { cout << "Failed to read " << inFile << " (" << inFormat << ")" << endl; return 1; } } else if (!inFormat.empty()) { ostringstream inFileString; string line; while (getline(cin, line)) inFileString << line; if (!inFileString.str().empty()) { if (!mgr.readString(mol, inFileString.str(), inFormat)) { cout << "Failed to read input stream: " << inFileString.str() << endl; return 1; } } } else { cout << "Error, no input file or stream supplied with format." << endl; } if (!outFile.empty()) { if (!mgr.writeFile(mol, outFile, outFormat)) { cout << "Failed to write " << outFile << " (" << outFormat << ")" << endl; return 1; } } else { if (outFormat.empty()) outFormat = "cjson"; string out; mgr.writeString(mol, out, outFormat); cout << out << endl; } return 0; } void printHelp() { cout << "Usage: avobabel [-i ] [-o ] " "\n" << endl; } avogadrolibs-1.93.0/avogadro/command/cjsontocml.cpp000066400000000000000000000023131360735163600223700ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013-2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "avogadro/core/molecule.h" #include "avogadro/io/fileformatmanager.h" #include #include #include using Avogadro::Io::FileFormatManager; using Avogadro::Core::Molecule; using std::cin; using std::cout; using std::string; using std::ostringstream; int main() { FileFormatManager& mgr = FileFormatManager::instance(); Molecule mol; ostringstream cjson; string line; while (getline(cin, line)) { cjson << line; } mgr.readString(mol, cjson.str(), "cjson"); string cml; mgr.writeString(mol, cml, "cml"); cout << cml; } avogadrolibs-1.93.0/avogadro/command/qube.cpp000066400000000000000000000126761360735163600211660ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Albert DeFusco University of Pittsburgh This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include using Avogadro::Io::FileFormatManager; using Avogadro::Core::Cube; using Avogadro::Core::Molecule; using Avogadro::Core::GaussianSetTools; using std::cin; using std::cout; using std::endl; using std::string; using std::ostringstream; using Eigen::Vector3d; using Eigen::Vector3i; static const double BOHR_TO_ANGSTROM = 0.529177249; static const double ANGSTROM_TO_BOHR = 1.0 / BOHR_TO_ANGSTROM; void printHelp(); int main(int argc, char* argv[]) { // Register our quantum file format. FileFormatManager& mgr = FileFormatManager::instance(); mgr.registerFormat(new Avogadro::QuantumIO::GAMESSUSOutput); mgr.registerFormat(new Avogadro::QuantumIO::GaussianFchk); mgr.registerFormat(new Avogadro::QuantumIO::MoldenFile); mgr.registerFormat(new Avogadro::QuantumIO::MopacAux); // Process the command line arguments, see what has been requested. string inFormat; int orbitalNumber = 0; string inFile; bool density = false; for (int i = 1; i < argc; ++i) { string current(argv[i]); if (current == "--help" || current == "-h") { printHelp(); return 0; } else if (current == "--version" || current == "-v") { cout << "Version: " << Avogadro::version() << endl; return 0; } else if (current == "-i" && i + 1 < argc) { inFormat = argv[++i]; cout << "input format " << inFormat << endl; } else if (current == "-orb" && i + 1 < argc) { orbitalNumber = atoi(argv[++i]); // cout << "plot orbital " << orbitalNumber << endl; } else if (current == "-dens" && i < argc) { density = true; } else if (inFile.empty()) { inFile = argv[i]; } } // Now read/write the molecule, if possible. Otherwise output errors. Molecule mol; if (!inFile.empty()) { if (!mgr.readFile(mol, inFile, inFormat)) { cout << "Failed to read " << inFile << " (" << inFormat << ")" << endl; return 1; } } else if (!inFormat.empty()) { ostringstream inFileString; string line; while (getline(cin, line)) inFileString << line; if (!inFileString.str().empty()) { if (!mgr.readString(mol, inFileString.str(), inFormat)) { cout << "Failed to read input stream: " << inFileString.str() << endl; return 1; } } } else { cout << "Error, no input file or stream supplied with format." << endl; } if ((orbitalNumber > 0) && density) { cout << "Error, choose either density or a single orbital, not both." << endl; return 1; } // cube header cout << "Avogadro generated cube" << endl; if (orbitalNumber > 0) cout << "Orbital " << orbitalNumber << endl; else cout << "Electron Density" << endl; // set box dimensions in Bohr Vector3d min = Vector3d(-10.0, -10.0, -10.0); Vector3d max = Vector3d(10.0, 10.0, 10.0); Vector3i points = Vector3i(61, 61, 61); Cube* m_qube = new Cube; m_qube->setLimits(min * BOHR_TO_ANGSTROM, max * BOHR_TO_ANGSTROM, points); min = m_qube->position(0) * ANGSTROM_TO_BOHR; Vector3d spacing = m_qube->spacing() * ANGSTROM_TO_BOHR; int nat = mol.atomCount(); printf("%4d %11.6f %11.6f %11.6f\n", nat, min.x(), min.y(), min.z()); printf("%4d %11.6f %11.6f %11.6f\n", points.x(), spacing.x(), 0.0, 0.0); printf("%4d %11.6f %11.6f %11.6f\n", points.y(), 0.0, spacing.y(), .0); printf("%4d %11.6f %11.6f %11.6f\n", points.z(), 0.0, 0.0, spacing.z()); // atoms for (int iatom = 0; iatom < nat; iatom++) { printf("%4d %11.6f %11.6f %11.6f %11.6f\n", mol.atomicNumber(iatom), 0.0, mol.atomPosition3d(iatom).x() * ANGSTROM_TO_BOHR, mol.atomPosition3d(iatom).y() * ANGSTROM_TO_BOHR, mol.atomPosition3d(iatom).z() * ANGSTROM_TO_BOHR); } if (orbitalNumber > 0) cout << "1 " << orbitalNumber << endl; GaussianSetTools* m_tools = new GaussianSetTools(&mol); // print the qube values int linecount = 0; for (unsigned int i = 0; i < m_qube->data()->size(); i++) { if (i % points.z() == 0 && i > 0) { linecount = 0; printf("\n"); } double value = m_tools->calculateMolecularOrbital(m_qube->position(i), orbitalNumber); printf("%13.5E", value); // line wrapping linecount++; if (linecount % 6 == 0 && i > 0) printf("\n"); else printf(" "); } printf("\n"); return 0; } void printHelp() { cout << "Usage: qube [-i ] [-dens] [-orb ] [-v / --version] \n" << endl; } avogadrolibs-1.93.0/avogadro/core/000077500000000000000000000000001360735163600170245ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/core/CMakeLists.txt000066400000000000000000000030441360735163600215650ustar00rootroot00000000000000find_package(Eigen3 REQUIRED) # Add as "system headers" to avoid warnings generated by them with # compilers that support that notion. include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) if(USE_SPGLIB) find_package(Spglib REQUIRED) include_directories(SYSTEM ${SPGLIB_INCLUDE_DIR}) endif() # configure the version header configure_file("${PROJECT_SOURCE_DIR}/cmake/version.h.in" "${CMAKE_CURRENT_BINARY_DIR}/version.h") set(HEADERS color3f.h array.h atom.h atomtyper.h atomtyper-inline.h avogadrocore.h basisset.h bond.h coordinateset.h coordinateblockgenerator.h crystaltools.h cube.h elements.h gaussianset.h gaussiansettools.h graph.h matrix.h mesh.h molecule.h mutex.h nameatomtyper.h residue.h ringperceiver.h slaterset.h slatersettools.h spacegroups.h symbolatomtyper.h types.h unitcell.h utilities.h variant.h variant-inline.h variantmap.h vector.h "${CMAKE_CURRENT_BINARY_DIR}/version.h" ) set(SOURCES coordinateblockgenerator.cpp crystaltools.cpp cube.cpp elements.cpp gaussianset.cpp gaussiansettools.cpp graph.cpp mesh.cpp mdlvalence_p.h molecule.cpp mutex.cpp nameatomtyper.cpp residue.cpp ringperceiver.cpp slaterset.cpp slatersettools.cpp spacegroups.cpp symbolatomtyper.cpp unitcell.cpp variantmap.cpp version.cpp ) if(USE_SPGLIB) list(APPEND HEADERS avospglib.h) list(APPEND SOURCES avospglib.cpp) endif() avogadro_add_library(AvogadroCore ${HEADERS} ${SOURCES}) target_link_libraries(AvogadroCore LINK_PRIVATE ${SPGLIB_LIBRARY}) avogadrolibs-1.93.0/avogadro/core/array.h000066400000000000000000000223671360735163600203250ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. This source code is released under the 3-Clause BSD License, (see "LICENSE"). ******************************************************************************/ #ifndef AVOGADRO_CORE_ARRAY_H #define AVOGADRO_CORE_ARRAY_H #include "avogadrocore.h" #include #include namespace Avogadro { namespace Core { using std::size_t; namespace internal { template class ArrayRefContainer { public: typedef T ValueType; typedef std::vector Parent; // The parent container for iterators etc // STL compatibility, forward typedefs from std::vector: typedef typename Parent::value_type value_type; typedef typename Parent::allocator_type allocator_type; typedef typename Parent::reference reference; typedef typename Parent::const_reference const_reference; typedef typename Parent::pointer pointer; typedef typename Parent::const_pointer const_pointer; typedef typename Parent::iterator iterator; typedef typename Parent::const_iterator const_iterator; typedef typename Parent::reverse_iterator reverse_iterator; typedef typename Parent::const_reverse_iterator const_reverse_iterator; typedef typename Parent::difference_type difference_type; typedef typename Parent::size_type size_type; ArrayRefContainer() : m_ref(1), data() {} explicit ArrayRefContainer(const size_t n, const ValueType& value = ValueType()) : m_ref(1), data(n, value) { } ArrayRefContainer(const ArrayRefContainer& other) : m_ref(1), data(other.data) { } template ArrayRefContainer(InputIterator first, InputIterator last) : m_ref(1), data(first, last) { } // Increment the reference count. void reref() { ++m_ref; } // Decrement the reference count, return true unless the reference count has // dropped to zero. When it returns false, this object should be deleted. bool deref() { if (m_ref) --m_ref; return m_ref > 0; } unsigned int ref() const { return m_ref; } // Reference count unsigned int m_ref; // Container for our data std::vector data; }; } // End internal namespace /** * @class Array array.h * @brief Base class for array containers. * * This templated class gives us a container with copy-on-write semantics, * allowing for functions to effectively share data without exposing access or * copying large amounts of data until the container is changed. * * All const functions can be called without copying any data, but a call to a * non-const function will trigger a detach call. This is a no-op when the * reference count is 1, and will perform a deep copy when the reference count * is greater than 1. */ template class Array { public: typedef internal::ArrayRefContainer Container; public: typedef T ValueType; /** Typedefs for STL compatibility @{ */ typedef typename Container::value_type value_type; typedef typename Container::allocator_type allocator_type; typedef typename Container::reference reference; typedef typename Container::const_reference const_reference; typedef typename Container::pointer pointer; typedef typename Container::const_pointer const_pointer; typedef typename Container::iterator iterator; typedef typename Container::const_iterator const_iterator; typedef typename Container::reverse_iterator reverse_iterator; typedef typename Container::const_reverse_iterator const_reverse_iterator; typedef typename Container::difference_type difference_type; typedef typename Container::size_type size_type; /** @} */ /** Constructors for new containers. */ Array() : d(new Container()) {} explicit Array(const size_t n, const ValueType& value = ValueType()) : d(new Container(n, value)) { } template Array(InputIterator first, InputIterator last) : d(new Container(first, last)) { } /** Copy constructor, note the copy made of the internal data of other. */ Array(const Array& other) { other.d->reref(); d = other.d; } ~Array(); /** * Explicitly detach from any other implicitly shared containers. This is not * normally necessary, but can be useful when you want to ensure you have a * copy of all data. */ void detachWithCopy(); /** * Explicitly detach from any other implicitly shared containers. This * version does not copy the data. */ void detach(); /** Retrieve a pointer to the underlying data. */ T* data() { detachWithCopy(); return &d->data[0]; } const T* data() const { return &d->data[0]; } const T* constData() const { return &d->data[0]; } size_t size() const { return d->data.size(); } size_t max_size() const { return d->data.max_size(); } bool empty() const { return d->data.empty(); } size_t capacity() const { return d->data.capacity(); } void reserve(const size_t& sz) { detachWithCopy(); d->data.reserve(sz); } void resize(const size_t& sz, const ValueType& t = ValueType()) { detachWithCopy(); d->data.resize(sz, t); } void clear() { detach(); d->data.clear(); } const_iterator begin() const { return d->data.begin(); } const_iterator end() const { return d->data.end(); } iterator begin() { detachWithCopy(); return d->data.begin(); } iterator end() { detachWithCopy(); return d->data.end(); } const_reverse_iterator rbegin() const { return d->data.rbegin(); } const_reverse_iterator rend() const { return d->data.rend(); } reverse_iterator rbegin() { detachWithCopy(); return d->data.rbegin(); } reverse_iterator rend() { detachWithCopy(); return d->data.rend(); } reference front() { detachWithCopy(); return d->data.front(); } const_reference front() const { return d->data.front(); } reference back() { detachWithCopy(); return d->data.back(); } const_reference back() const { return d->data.back(); } template void assign(InputIterator first, InputIterator last) { detachWithCopy(); d->data.assign(first, last); } void assign(size_type n, const value_type& val) { detachWithCopy(); d->data.assign(n, val); } void push_back(const ValueType& v) { detachWithCopy(); d->data.push_back(v); } void pop_back() { detachWithCopy(); d->data.pop_back(); } iterator insert(iterator position, const value_type& val) { detachWithCopy(); return d->data.insert(position, val); } void insert(iterator position, size_type n, const value_type& val) { detachWithCopy(); d->data.insert(position, n, val); } template void insert(iterator position, InputIterator first, InputIterator last) { detachWithCopy(); d->data.insert(position, first, last); } iterator erase(iterator position) { detachWithCopy(); return d->data.erase(position); } iterator erase(iterator first, iterator last) { detachWithCopy(); return d->data.erase(first, last); } const ValueType& operator[](const std::size_t& idx) const { return d->data[idx]; } ValueType& operator[](const std::size_t& idx) { detachWithCopy(); return d->data[idx]; } ValueType at(const std::size_t& idx) const { return d->data.at(idx); } template Array& operator=(const std::vector& v) { detach(); d->data = v; return *this; } template Array& operator=(const Array& v) { detach(); d->data = v.d->data; return *this; } Array& operator=(const Array& v) { if (this != &v) { detach(); d->data = v.d->data; } return *this; } void swap(Array& other) { using std::swap; swap(d, other.d); } protected: Container* d; }; template inline Array::~Array() { if (d && !d->deref()) delete d; } template inline void Array::detachWithCopy() { if (d && d->ref() != 1) { Container* o = new Container(*d); d->deref(); d = o; } } template inline void Array::detach() { if (d && d->ref() != 1) { d->deref(); d = new Container; } } template inline bool operator==(const Array& lhs, const Array& rhs) { return lhs.size() == rhs.size() && std::equal(lhs.begin(), lhs.end(), rhs.begin()); } template inline bool operator!=(const Array& lhs, const Array& rhs) { return !(lhs == rhs); } template inline bool operator<(const Array& lhs, const Array& rhs) { return std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end()); } template inline bool operator>(const Array& lhs, const Array& rhs) { return rhs < lhs; } template inline bool operator<=(const Array& lhs, const Array& rhs) { return !(rhs < lhs); } template inline bool operator>=(const Array& lhs, const Array& rhs) { return !(lhs < rhs); } template inline void swap(Array& lhs, Array& rhs) { lhs.swap(rhs); } } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_ARRAY_H avogadrolibs-1.93.0/avogadro/core/atom.h000066400000000000000000000207171360735163600201440ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_ATOM_H #define AVOGADRO_CORE_ATOM_H #include "avogadrocore.h" #include "vector.h" namespace Avogadro { namespace Core { enum AtomHybridization { PerceivedOctaheadral = -6, PerceivedTrigonalBipyramidal = -5, PerceivedSquarePlanar = -4, PerceivedSP3 = -3, PerceivedSP2 = -2, PerceivedSP = -1, HybridizationUnknown = 0, SP = 1, SP2 = 2, SP3 = 3, SquarePlanar = 4, TrigonalBipyramidal = 5, Octahedral = 6 }; /** * @class Atom atom.h * The atom class represents an atom in a molecule. * To use the appropriate atom implementation for a specific molecule * implementation, use the [MoleculeClass]::AtomType typedef. */ template class AtomTemplate { public: typedef Molecule_T MoleculeType; /** Creates a new, invalid atom object. */ AtomTemplate(); /** * Creates a new atom object representing the atom at index @p i in molecule * @p m. */ AtomTemplate(MoleculeType* m, Index i); /** * @return True if @a this and @a other share the same index and molecule. */ bool operator==(const AtomTemplate& other) const; /** * @return True if @a this and @a other do not share the same index or * molecule. */ bool operator!=(const AtomTemplate& other) const; /** * Prefix increment operator. Increment this Atom's index by 1 and return a * self-reference. Check isValid() before calling any other methods. */ AtomTemplate& operator++(); /** * Postfix increment operator. Increment this Atom's index by 1 and return a * copy of the current Atom. Check isValid() before calling any other methods. */ AtomTemplate operator++(int); /** * Prefix decrement operator. Decrement this Atom's index by 1 and return a * self-reference. Check isValid() before calling any other methods. */ AtomTemplate& operator--(); /** * Postfix decrement operator. Decrement this Atom's index by 1 and return a * copy of the current Atom. Check isValid() before calling any other methods. */ AtomTemplate operator--(int); /** * @return True if the molecule is set and the index is less than the number * of atoms. */ bool isValid() const; /** * @return The molecule that contains this Atom. */ MoleculeType* molecule() const; /** * @return The index of this atom in molecule(). */ Index index() const; /** * The proton count of the atom. * @{ */ void setAtomicNumber(unsigned char num); unsigned char atomicNumber() const; /** @} */ /** * The 2D position of this atom. * @note Not all molecule types support 2D positions. If the current * MoleculeType class does not, calling this method will result in a * compilation error. * @{ */ void setPosition2d(const Vector2& pos); Vector2 position2d() const; /** @} */ /** * The 3D position of this atom. * @{ */ void setPosition3d(const Vector3& pos); Vector3 position3d() const; /** @} */ /** * The hybridization / coordination of this atom * @{ */ void setHybridization(AtomHybridization hyb); AtomHybridization hybridization() const; /** @} */ /** * The formal charge of this atom * @{ */ void setFormalCharge(signed char charge); signed char formalCharge() const; /** @} */ /** * The color of this atom * @{ */ void setColor(Vector3ub color); Vector3ub color() const; /** @} */ /** * Is the atom selected. * {@ */ void setSelected(bool selected); bool selected() const; /** @} */ /** * The force on this atom. * {@ */ void setForceVector(const Vector3& force); Vector3 forceVector() const; /** @} */ private: MoleculeType* m_molecule; Index m_index; }; template AtomTemplate::AtomTemplate() : m_molecule(nullptr), m_index(MaxIndex) {} template AtomTemplate::AtomTemplate(MoleculeType* m, Index i) : m_molecule(m), m_index(i) {} template bool AtomTemplate::operator==( const AtomTemplate& other) const { return m_molecule == other.m_molecule && m_index == other.m_index; } template bool AtomTemplate::operator!=( const AtomTemplate& other) const { return m_molecule != other.m_molecule || m_index != other.m_index; } template AtomTemplate& AtomTemplate::operator++() { ++m_index; return *this; } template AtomTemplate AtomTemplate::operator++(int) { AtomTemplate result(m_molecule, m_index++); return result; } template AtomTemplate& AtomTemplate::operator--() { --m_index; return *this; } template AtomTemplate AtomTemplate::operator--(int) { AtomTemplate result(m_molecule, m_index--); return result; } template bool AtomTemplate::isValid() const { return m_molecule && m_index < m_molecule->atomCount(); } template typename AtomTemplate::MoleculeType* AtomTemplate::molecule() const { return m_molecule; } template Index AtomTemplate::index() const { return m_index; } template void AtomTemplate::setAtomicNumber(unsigned char num) { m_molecule->setAtomicNumber(m_index, num); } template unsigned char AtomTemplate::atomicNumber() const { return m_molecule->atomicNumber(m_index); } template void AtomTemplate::setPosition2d(const Vector2& pos) { m_molecule->setAtomPosition2d(m_index, pos); } template Vector2 AtomTemplate::position2d() const { return m_molecule->atomPositions2d().size() > 0 ? m_molecule->atomPositions2d()[m_index] : Vector2::Zero(); } template void AtomTemplate::setPosition3d(const Vector3& pos) { m_molecule->setAtomPosition3d(m_index, pos); } template Vector3 AtomTemplate::position3d() const { return m_molecule->atomPositions3d().size() > 0 ? m_molecule->atomPositions3d()[m_index] : Vector3::Zero(); } template void AtomTemplate::setHybridization(AtomHybridization hyb) { m_molecule->setHybridization(m_index, hyb); } template AtomHybridization AtomTemplate::hybridization() const { return m_molecule->hybridization(m_index); } template void AtomTemplate::setFormalCharge(signed char charge) { m_molecule->setFormalCharge(m_index, charge); } template signed char AtomTemplate::formalCharge() const { return m_molecule->formalCharge(m_index); } template void AtomTemplate::setColor(Vector3ub color) { m_molecule->setColor(m_index, std::move(color)); } template Vector3ub AtomTemplate::color() const { return m_molecule->color(m_index); } template void AtomTemplate::setSelected(bool selected) { m_molecule->setAtomSelected(m_index, selected); } template bool AtomTemplate::selected() const { return m_molecule->atomSelected(m_index); } template void AtomTemplate::setForceVector(const Vector3& force) { m_molecule->setForceVector(m_index, force); } template Vector3 AtomTemplate::forceVector() const { return m_molecule->forceVectors().size() > 0 ? m_molecule->forceVectors()[m_index] : Vector3::Zero(); } } // namespace Core } // namespace Avogadro #endif // AVOGADRO_CORE_ATOM_H avogadrolibs-1.93.0/avogadro/core/atomtyper-inline.h000066400000000000000000000043611360735163600225010ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_ATOMTYPER_INLINE_H #define AVOGADRO_CORE_ATOMTYPER_INLINE_H #include "atomtyper.h" #include "atom.h" #include "molecule.h" namespace Avogadro { namespace Core { template AtomTyper::AtomTyper(const Molecule* mol) : m_molecule(mol) { } template AtomTyper::~AtomTyper() { } template void AtomTyper::setMolecule(const Molecule* mol) { if (m_molecule != mol) { m_molecule = mol; reset(); } } template void AtomTyper::run() { initialize(); Index numAtoms = m_molecule ? m_molecule->atomCount() : 0; for (Index atomId = 0; atomId < numAtoms; ++atomId) { Atom atom = m_molecule->atom(atomId); m_types.push_back(type(atom)); } } template OutputType AtomTyper::atomType(const Atom& atom) { OutputType result; if (atom.isValid() && atom.molecule() == m_molecule) { // Return the calculated value if we've already run the typer. if (atom.index() < m_types.size()) { result = m_types[atom.index()]; } else { initialize(); result = type(atom); } } return result; } template Array AtomTyper::types() const { return m_types; } template void AtomTyper::reset() { m_types.clear(); } template void AtomTyper::initialize() { m_types.reserve(m_molecule ? m_molecule->atomCount() : 0); } } // namespace Core } // namespace Avogadro #endif // AVOGADRO_CORE_ATOMTYPER_INLINE_H avogadrolibs-1.93.0/avogadro/core/atomtyper.h000066400000000000000000000053141360735163600212240ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_ATOMTYPER_H #define AVOGADRO_CORE_ATOMTYPER_H #include namespace Avogadro { namespace Core { class Atom; class Molecule; /** * @class AtomTyper atomtyper.h * @brief The AtomTyper class provides a base interface for generating a list of * type identifiers describing the atoms in a molecule. */ template class AtomTyper { public: typedef OutputType ValueType; explicit AtomTyper(const Molecule* mol = nullptr); virtual ~AtomTyper(); /** * @param mol The molecule with atoms to type. */ void setMolecule(const Molecule* mol); /** * Iterate through the molecule and generate type descriptions for each atom. * The results can be obtained by calling types(). */ virtual void run(); /** * Perform a type lookup on the specified atom. If run() has been called * previously, a cached result is returned. * @return The type of @a atom. */ virtual OutputType atomType(const Atom& atom); /** * @return An Array of OutputType objects. There will be one object for each * atom of the input Molecule, and they are ordered by the corresponding * atom's index. */ Array types() const; /** * Reset the typer's internal state. This is called when the molecule is * changed. The base implementation clears the m_types Array. */ virtual void reset(); protected: /** * Perform any setup needed that needs to be done prior to calling type(). The * base implementation of this function reserves enough room in the m_types * Array for the current Molecule. */ virtual void initialize(); /** * Determines the type of the atom. * @param atom The atom to type. * @return The type of @a atom. */ virtual OutputType type(const Atom& atom) = 0; /** The molecule on which to operate. */ const Molecule* m_molecule; /** The array of types to be populated. */ Array m_types; }; } // namespace Core } // namespace Avogadro #include #endif // AVOGADRO_CORE_ATOMTYPER_H avogadrolibs-1.93.0/avogadro/core/avogadrocore.h000066400000000000000000000064071360735163600216570ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_H #define AVOGADRO_CORE_H #include "avogadrocoreexport.h" #include #include /** Prevent compiler error when using std::numeric_limits::max() */ #if defined(_MSC_VER) && defined(max) #undef max #endif /** * This macro marks a parameter as unused. Its purpose is to disable the * compiler from emitting unused parameter warnings. */ #define AVO_UNUSED(variable) (void)variable /** * This macro marks a class as not copyable. It should be used in the private * section of a class's declaration. */ #define AVO_DISABLE_COPY(Class) \ Class(const Class&); \ Class& operator=(const Class&); namespace Avogadro { /** Typedef for a real number. */ typedef double Real; /** Typedef for indices and sizes. */ typedef size_t Index; const Index MaxIndex = std::numeric_limits::max(); /** Used to represent an invalid atomic number. */ const unsigned char InvalidElement = 255; /** * Minimum value for atomic numbers that represent custom, non-elemental * particles. */ const unsigned char CustomElementMin = 128; /** * Maximum value for atomic numbers that represent custom, non-elemental * particles. */ const unsigned char CustomElementMax = 254; /** * Count of atomic number values that are used to represent custom, * non-elemental particles. */ const unsigned char CustomElementCount = CustomElementMax - CustomElementMin + 1; /** * @return True if @a atomicNumber denotes a custom element type. */ namespace Core { inline bool isCustomElement(unsigned char atomicNumber) { return atomicNumber >= CustomElementMin && atomicNumber <= CustomElementMax; } } /** Unit conversion factors. @{ */ const double PI_D = 3.141592653589793238462643; const float PI_F = static_cast(PI_D); const Real PI = static_cast(PI_D); const double DEG_TO_RAD_D = PI_D / 180.0; const float DEG_TO_RAD_F = static_cast(DEG_TO_RAD_D); const Real DEG_TO_RAD = static_cast(DEG_TO_RAD_D); const double RAD_TO_DEG_D = 180.0 / PI_D; const float RAD_TO_DEG_F = static_cast(RAD_TO_DEG_D); const Real RAD_TO_DEG = static_cast(RAD_TO_DEG_D); const double BOHR_TO_ANGSTROM_D = 0.52917721092; const float BOHR_TO_ANGSTROM_F = static_cast(BOHR_TO_ANGSTROM_D); const Real BOHR_TO_ANGSTROM = static_cast(BOHR_TO_ANGSTROM_D); const double ANGSTROM_TO_BOHR_D = 1.0 / BOHR_TO_ANGSTROM_D; const float ANGSTROM_TO_BOHR_F = static_cast(ANGSTROM_TO_BOHR_D); const Real ANGSTROM_TO_BOHR = static_cast(ANGSTROM_TO_BOHR_D); /** @} */ } // end Avogadro namespace #endif // AVOGADRO_CORE_H avogadrolibs-1.93.0/avogadro/core/avospglib.cpp000066400000000000000000000116411360735163600215210ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "avospglib.h" #include "array.h" #include "matrix.h" #include "molecule.h" #include "unitcell.h" #include "vector.h" #include extern "C" { #include "spglib/spglib.h" } namespace Avogadro { namespace Core { unsigned short AvoSpglib::getHallNumber(const Molecule& mol, double cartTol) { if (!mol.unitCell()) return 0; const UnitCell* uc = mol.unitCell(); Matrix3 cellMat = uc->cellMatrix(); double lattice[3][3]; // Spglib expects column vectors for (Index i = 0; i < 3; ++i) { for (Index j = 0; j < 3; ++j) { lattice[i][j] = cellMat(i, j); } } Index numAtoms = mol.atomCount(); double(*positions)[3] = new double[numAtoms][3]; int* types = new int[numAtoms]; const Array& atomicNums = mol.atomicNumbers(); const Array& pos = mol.atomPositions3d(); // Positions need to be in fractional coordinates for (Index i = 0; i < numAtoms; ++i) { Vector3 fracCoords = uc->toFractional(pos[i]); positions[i][0] = fracCoords[0]; positions[i][1] = fracCoords[1]; positions[i][2] = fracCoords[2]; types[i] = atomicNums[i]; } SpglibDataset* data = spg_get_dataset(lattice, positions, types, numAtoms, cartTol); if (!data) { std::cerr << "Cannot determine spacegroup.\n"; delete[] positions; delete[] types; return 0; } unsigned short hallNumber = data->hall_number; // Cleanup time spg_free_dataset(data); delete[] positions; delete[] types; return hallNumber; } bool AvoSpglib::reduceToPrimitive(Molecule& mol, double cartTol) { return standardizeCell(mol, cartTol, true, false); } bool AvoSpglib::conventionalizeCell(Molecule& mol, double cartTol) { return standardizeCell(mol, cartTol, false, true); } bool AvoSpglib::symmetrize(Molecule& mol, double cartTol) { return standardizeCell(mol, cartTol, true, true); } bool AvoSpglib::standardizeCell(Molecule& mol, double cartTol, bool toPrimitive, bool idealize) { if (!mol.unitCell()) return false; const UnitCell* uc = mol.unitCell(); Matrix3 cellMat = uc->cellMatrix(); double lattice[3][3]; // Spglib expects column vectors for (Index i = 0; i < 3; ++i) { for (Index j = 0; j < 3; ++j) { lattice[i][j] = cellMat(i, j); } } Index numAtoms = mol.atomCount(); // spg_standardize_cell() can cause the number of atoms to increase by // as much as 4x if toPrimitive is false. // So, we must make these arrays at least 4x the number of atoms. // If toPrimitive is true, then we will just use the number of atoms. // See http://atztogo.github.io/spglib/api.html#spg-standardize-cell int numAtomsMultiplier = toPrimitive ? 1 : 4; double(*positions)[3] = new double[numAtoms * numAtomsMultiplier][3]; int* types = new int[numAtoms * numAtomsMultiplier]; const Array& atomicNums = mol.atomicNumbers(); const Array& pos = mol.atomPositions3d(); // Positions need to be in fractional coordinates for (Index i = 0; i < numAtoms; ++i) { Vector3 fracCoords = uc->toFractional(pos[i]); positions[i][0] = fracCoords[0]; positions[i][1] = fracCoords[1]; positions[i][2] = fracCoords[2]; types[i] = atomicNums[i]; } // Run the spglib algorithm Index newNumAtoms = spg_standardize_cell(lattice, positions, types, numAtoms, toPrimitive, !idealize, cartTol); // If 0 is returned, the algorithm failed. if (newNumAtoms == 0) { delete[] positions; delete[] types; return false; } // Let's create a new molecule with the information Molecule newMol; // First, we will make the unit cell Matrix3 newCellMat; for (Index i = 0; i < 3; ++i) { for (Index j = 0; j < 3; ++j) { newCellMat(i, j) = lattice[i][j]; } } UnitCell* newCell = new UnitCell(newCellMat); newMol.setUnitCell(newCell); // Next, add in the atoms for (Index i = 0; i < newNumAtoms; ++i) { Atom newAtom = newMol.addAtom(types[i]); Vector3 newAtomPos(positions[i][0], positions[i][1], positions[i][2]); // We must convert it back to cartesian before adding it newAtom.setPosition3d(newCell->toCartesian(newAtomPos)); } delete[] positions; delete[] types; // Set the new molecule mol = newMol; return true; } } // end Core namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/core/avospglib.h000066400000000000000000000063371360735163600211740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_AVO_SPGLIB_H #define AVOGADRO_CORE_AVO_SPGLIB_H #include "avogadrocore.h" #include "molecule.h" namespace Avogadro { namespace Core { /** * @class AvoSpglib avospglib.h * @brief The AvoSpglib class provides an interface between Avogadro and Spglib. */ class AVOGADROCORE_EXPORT AvoSpglib { public: AvoSpglib(); ~AvoSpglib(); /** * Use spglib to find the Hall number for a crystal. If the unit cell does not * exist or if the algorithm fails, 0 will be returned. * * @param mol The molecule to be handled. * @param cartTol The cartesian tolerance for spglib. * @return The Hall number for the crystal. */ static unsigned short getHallNumber(const Molecule& mol, double cartTol = 1e-5); /** * Use spglib to reduce the crystal to a primitive cell. Unless the molecule * is missing its unit cell, it will be edited by spglib. Positions are * not idealized. * * @param mol The molecule to be reduced to its primitive cell. * @param cartTol The cartesian tolerance for spglib. * @return False if the molecule has no unit cell or if the spglib algorithm failed. True otherwise. */ static bool reduceToPrimitive(Molecule& mol, double cartTol = 1e-5); /** * Use spglib to refine the crystal to its conventional cell. Unless the * molecule is missing its unit cell, it will be edited by spglib. Positions * are idealized. * * @param mol The molecule to be conventionalized. * @param cartTol The cartesian tolerance for spglib. * @return False if the molecule has no unit cell or if the * spglib algorithm failed. True otherwise. */ static bool conventionalizeCell(Molecule& mol, double cartTol = 1e-5); /** * Use spglib to symmetrize the crystal. Unless the molecule is missing * its unit cell, it will be edited by spglib. It will be reduced * to its primitive form, and positions will be idealized. * * @param mol The molecule to be conventionalized. * @param cartTol The cartesian tolerance for spglib. * @return False if the molecule has no unit cell or if the * spglib algorithm failed. True otherwise. */ static bool symmetrize(Molecule& mol, double cartTol = 1e-5); private: // Called by reduceToPrimitive(), conventionalizeCell(), and symmetrize() // Calls spg_standardize_cell() static bool standardizeCell(Molecule& mol, double cartTol, bool toPrimitive, bool idealize); }; } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_AVO_SPGLIB_H avogadrolibs-1.93.0/avogadro/core/basisset.h000066400000000000000000000122641360735163600210170ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_BASISSET_H #define AVOGADRO_CORE_BASISSET_H #include "avogadrocore.h" #include namespace Avogadro { namespace Core { class Molecule; /** * @class BasisSet basisset.h * @brief BasisSet contains basis set data. * @author Marcus D. Hanwell * * This is the base class for basis sets, and has two derived classes - * GaussianSet and SlaterSet. It must be populated with data, with other classes * capable of performing calculations on the data or writing it out. */ class AVOGADROCORE_EXPORT BasisSet { public: /** * Constructor. */ BasisSet() {} /** * Destructor. */ virtual ~BasisSet() {} /** * Clone. */ virtual BasisSet* clone() const = 0; /** * @brief The ElectronType enum describes the type of electrons being set or * retrieved. If Paired, then Alpha and Beta cannot be set, if Alpha or Beta * then both must be set. */ enum ElectronType { Paired, Alpha, Beta }; /** * Set the number of electrons in the BasisSet. * @param n The number of electrons in the BasisSet. * @param type The type of the electrons (Alpha, Beta, or Paired). */ virtual void setElectronCount(unsigned int n, ElectronType type = Paired); /** * @param type The type of the electrons (Alpha, Beta, or Paired). * @return The number of electrons in the molecule. */ unsigned int electronCount(ElectronType type = Paired) const; /** * Set the molecule for the basis set. */ void setMolecule(Molecule* molecule_) { m_molecule = molecule_; } /** * Get the molecule this basis set belongs to. */ Molecule* molecule() { return m_molecule; } const Molecule* molecule() const { return m_molecule; } /** * Set the name of the basis set. */ void setName(const std::string& name) { m_name = name; } /** * Get the name of the basis set. */ std::string name() const { return m_name; } /** * Set the name of the basis set. */ void setTheoryName(const std::string& name) { m_theoryName = name; } /** * Get the name of the basis set. */ std::string theoryName() const { return m_theoryName; } /** * @return The number of molecular orbitals in the BasisSet. */ virtual unsigned int molecularOrbitalCount(ElectronType type = Paired) = 0; /** * Check if the given MO number is the HOMO or not. * @param n The MO number. * @return True if the given MO number is the HOMO. */ bool homo(unsigned int n) { return n == homo(); } /** * @return The molecular orbital number corresponding to the HOMO orbital. */ unsigned int homo() const { return m_electrons[0] / 2; } /** * Check if the given MO number is the LUMO or not. * @param n The MO number. * @return True if the given MO number is the LUMO. */ bool lumo(unsigned int n) { return n == lumo(); } /** * @return The molecular orbital number corresponding to the LUMO orbital. */ unsigned int lumo() const { return m_electrons[0] / 2 + 1; } /** * @return True of the basis set is valid, false otherwise. * Default is true, if false then the basis set is likely unusable. */ virtual bool isValid() = 0; protected: /** * Total number of electrons, 0 is alpha electrons and 1 is beta electrons. * For closed shell calculations alpha is doubly occupied and there are no * beta electrons. */ unsigned int m_electrons[2]; /** * The Molecule holds the atoms (and possibly bonds) read in from the output * file. Most basis sets have orbitals around these atoms, but this is not * necessarily the case. */ Molecule* m_molecule; /** * The name of the basis set, this is usually a string identifier referencing * a standard basis set when only one is used. */ std::string m_name; /** * The name of the theory used for the calculation. */ std::string m_theoryName; }; inline void BasisSet::setElectronCount(unsigned int n, ElectronType type) { switch (type) { case Paired: m_electrons[0] = n; m_electrons[1] = 0; break; case Alpha: m_electrons[0] = n; break; case Beta: m_electrons[1] = n; break; default: // Shouldn't hit this condition. ; } } inline unsigned int BasisSet::electronCount(ElectronType type) const { switch (type) { case Paired: case Alpha: return m_electrons[0]; case Beta: return m_electrons[1]; default: // Shouldn't hit this condition. return 0; } } } // End namesapce Core } // End namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/core/bond.h000066400000000000000000000126761360735163600201330ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_BOND_H #define AVOGADRO_CORE_BOND_H #include "avogadrocore.h" #include "atom.h" namespace Avogadro { namespace Core { /** * @class Bond bond.h * The Bond class represents a bond in a molecule. * To use the appropriate bond implementation for a specific molecule * implementation, use the [MoleculeClass]::BondType typedef. */ template class BondTemplate { public: typedef Molecule_T MoleculeType; typedef typename Molecule_T::AtomType AtomType; /** Creates a new, invalid bond object. */ BondTemplate(); /** * Creates a bond object representing a bond at index @p i in molecule @p m. */ BondTemplate(MoleculeType* m, Index i); /** * @return True if @a this and @a other share the same index and molecule. */ bool operator==(const BondTemplate& other) const; /** * @return True if @a this and @a other do not share the same index or * molecule. */ bool operator!=(const BondTemplate& other) const; /** * Prefix increment operator. Increment this Bond's index by 1 and return a * self-reference. Check isValid() before calling any other methods. */ BondTemplate& operator++(); /** * Postfix increment operator. Increment this Bond's index by 1 and return a * copy of the current Atom. Check isValid() before calling any other methods. */ BondTemplate operator++(int); /** * Prefix decrement operator. Decrement this Bond's index by 1 and return a * self-reference. Check isValid() before calling any other methods. */ BondTemplate& operator--(); /** * Postfix decrement operator. Decrement this Bond's index by 1 and return a * copy of the current Atom. Check isValid() before calling any other methods. */ BondTemplate operator--(int); /** * @return True if the molecule is set and the index is less than the number * of bonds. */ bool isValid() const; /** * @return The molecule that contains this Bond. */ MoleculeType* molecule() const; /** * @return The index of this bond in molecule(). */ Index index() const; /** * An atom in the bond, such that atom1().index() < atom2.index(). * @{ */ AtomType atom1() const; AtomType atom2() const; /** @} */ /** * The bond's order (single = 1, double = 2, etc.) * @{ */ void setOrder(unsigned char o); unsigned char order() const; /** @} */ private: MoleculeType* m_molecule; Index m_index; }; template BondTemplate::BondTemplate() : m_molecule(nullptr), m_index(MaxIndex) { } template BondTemplate::BondTemplate(MoleculeType* m, Index i) : m_molecule(m), m_index(i) { } template bool BondTemplate::operator==( const BondTemplate& other) const { return m_molecule == other.m_molecule && m_index == other.m_index; } template bool BondTemplate::operator!=( const BondTemplate& other) const { return m_molecule != other.m_molecule || m_index != other.m_index; } template BondTemplate& BondTemplate::operator++() { ++m_index; return *this; } template BondTemplate BondTemplate::operator++(int) { BondTemplate result(m_molecule, m_index++); return result; } template BondTemplate& BondTemplate::operator--() { --m_index; return *this; } template BondTemplate BondTemplate::operator--(int) { BondTemplate result(m_molecule, m_index--); return result; } template bool BondTemplate::isValid() const { return m_molecule && m_index < m_molecule->bondCount(); } template typename BondTemplate::MoleculeType* BondTemplate::molecule() const { return m_molecule; } template Index BondTemplate::index() const { return m_index; } template typename BondTemplate::AtomType BondTemplate::atom1() const { return AtomType(m_molecule, m_molecule->bondPairs()[m_index].first); } template typename BondTemplate::AtomType BondTemplate::atom2() const { return AtomType(m_molecule, m_molecule->bondPairs()[m_index].second); } template void BondTemplate::setOrder(unsigned char o) { m_molecule->setBondOrder(m_index, o); } template unsigned char BondTemplate::order() const { return m_molecule->bondOrders()[m_index]; } } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_BOND_H avogadrolibs-1.93.0/avogadro/core/color3f.h000066400000000000000000000074271360735163600205560ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2009 Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_COLOR3F_H #define AVOGADRO_CORE_COLOR3F_H namespace Avogadro { namespace Core { /** * @class Color3f color3f.h * @brief Representation of an RGB color using three floats. * @author Marcus D. Hanwell * * This class represents a color as three floats ranging from 0.0 to 1.0 * specifying the intensity of the red, green and blue components of the * color. It is stored in memory as float[3], and so vectors containing this * type may be passed directly to OpenGL and other functions as C arrays. * * Several convenience functions are provided, the class is written with an * emphasis on efficiency and memory layout. */ class Color3f { public: /** * Constructor, results in a black Color3f object unless the RGB values are * set. * @param red Intensity (from 0.0 to 1.0) of the red component of the color. * @param green Intensity (from 0.0 to 1.0) of the green component of the * color. * @param blue Intensity (from 0.0 to 1.0) of the blue component of the color. */ Color3f(float red = 0.0, float green = 0.0, float blue = 0.0); /** * Constructor where the color is constructed from integer values. * @param red Intensity (from 0 to 255) of the red component of the color. * @param green Intensity (from 0 to 255) of the green component of the color. * @param blue Intensity (from 0 to 255) of the blue component of the color. */ Color3f(int red, int green, int blue); /** * Sets the color objects components. * @param red Intensity (from 0.0 to 1.0) of the red component of the color. * @param green Intensity (from 0.0 to 1.0) of the green component of the * color. * @param blue Intensity (from 0.0 to 1.0) of the blue component of the color. */ void set(float red, float green, float blue); /** * @return The intensity of the red component of the color (0.0 to 1.0). */ float red() const { return m_data[0]; } /** * @return The intensity of the green component of the color (0.0 to 1.0). */ float green() const { return m_data[1]; } /** * @return The intensity of the blue component of the color (0.0 to 1.0). */ float blue() const { return m_data[2]; } /** * @return Direct access to the underlying float array of size 3. */ float* data(); /** * This function is useful when calling OpenGL functions which expect a * float * array of size 3. * @return Direct access to the underlying float array of size 3. */ const float* data() const; protected: float m_data[3]; }; inline Color3f::Color3f(float r, float g, float b) { m_data[0] = r; m_data[1] = g; m_data[2] = b; } inline Color3f::Color3f(int r, int g, int b) { m_data[0] = static_cast(r) / 255.0f; m_data[1] = static_cast(g) / 255.0f; m_data[2] = static_cast(b) / 255.0f; } inline void Color3f::set(float r, float g, float b) { m_data[0] = r; m_data[1] = g; m_data[2] = b; } inline float* Color3f::data() { return &(m_data[0]); } inline const float* Color3f::data() const { return &(m_data[0]); } } // End namespace Core } // End namespace Avogadro #endif // AVOGADRO_CORE_COLOR3F_H avogadrolibs-1.93.0/avogadro/core/coordinateblockgenerator.cpp000066400000000000000000000146301360735163600246050ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "coordinateblockgenerator.h" #include #include #include #include #include #include namespace Avogadro { namespace Core { CoordinateBlockGenerator::CoordinateBlockGenerator() : m_molecule(nullptr), m_distanceUnit(Angstrom) { } std::string CoordinateBlockGenerator::generateCoordinateBlock() { if (!m_molecule) return ""; // Reset stream. m_stream.str(""); m_stream.clear(); // Create/cache some iterators for the specification string. std::string::const_iterator it; const std::string::const_iterator begin = m_specification.begin(); const std::string::const_iterator end = m_specification.end(); // Check the spec to see if certain items are needed. bool needElementSymbol(false); bool needElementName(false); bool needPosition(false); bool needFractionalPosition(false); for (it = begin; it != end; ++it) { switch (*it) { case 'S': needElementSymbol = true; break; case 'N': needElementName = true; break; case 'x': case 'y': case 'z': needPosition = true; break; case 'a': case 'b': case 'c': needFractionalPosition = true; break; } } // Variables for loops below const Index numAtoms = m_molecule->atomCount(); Atom atom; unsigned char atomicNumber; const char* symbol; const char* name; Vector3 pos3d; Vector3 fpos3d; const UnitCell* cell = needFractionalPosition ? molecule()->unitCell() : nullptr; // widths/precisions enum { atomicNumberPrecision = 0, atomicNumberWidth = 3, coordinatePrecision = 6, coordinateWidth = 11, elementNameWidth = 13, // Currently the longest element name elementSymbolWidth = 3, gamessAtomicNumberPrecision = 1, gamessAtomicNumberWidth = 5 }; const int indexWidth( static_cast(std::log10(static_cast(numAtoms))) + 1); // Use fixed number format. m_stream << std::fixed; // Iterate through the atoms for (Index atomI = 0; atomI < numAtoms; ++atomI) { atom = m_molecule->atom(atomI); atomicNumber = atom.atomicNumber(); if (needElementSymbol) symbol = Core::Elements::symbol(atomicNumber); if (needElementName) name = Core::Elements::name(atomicNumber); if (needPosition) pos3d = atom.position3d(); if (needFractionalPosition) fpos3d = cell ? cell->toFractional(atom.position3d()) : Vector3::Zero(); switch (m_distanceUnit) { case Bohr: pos3d *= ANGSTROM_TO_BOHR_F; break; default: case Angstrom: break; } for (it = begin; it != end; ++it) { switch (*it) { case '_': // Space character. If we are not at the end of the spec, a space will // be added by default after the switch clause. If we are at the end, // add a space before the newline that will be added. if (it + 1 == end) m_stream << std::setw(1) << " "; break; case '#': m_stream << std::left << std::setw(indexWidth) << static_cast(atomI + 1); break; case 'Z': m_stream << std::left << std::setw(atomicNumberWidth) << std::setprecision(atomicNumberPrecision) << static_cast(atomicNumber); break; case 'G': m_stream << std::right << std::setw(gamessAtomicNumberWidth) << std::setprecision(gamessAtomicNumberPrecision) << static_cast(atomicNumber); break; case 'S': m_stream << std::left << std::setw(elementSymbolWidth) << symbol; break; case 'N': m_stream << std::left << std::setw(elementNameWidth) << name; break; case 'x': m_stream << std::right << std::setw(coordinateWidth) << std::setprecision(coordinatePrecision) << pos3d.x(); break; case 'y': m_stream << std::right << std::setw(coordinateWidth) << std::setprecision(coordinatePrecision) << pos3d.y(); break; case 'z': m_stream << std::right << std::setw(coordinateWidth) << std::setprecision(coordinatePrecision) << pos3d.z(); break; case '0': m_stream << std::left << std::setw(1) << 0; break; case '1': m_stream << std::left << std::setw(1) << 1; break; case 'a': if (cell) { m_stream << std::right << std::setw(coordinateWidth) << std::setprecision(coordinatePrecision) << fpos3d.x(); } else { m_stream << std::right << std::setw(coordinateWidth) << "N/A"; } break; case 'b': if (cell) { m_stream << std::right << std::setw(coordinateWidth) << std::setprecision(coordinatePrecision) << fpos3d.y(); } else { m_stream << std::right << std::setw(coordinateWidth) << "N/A"; } break; case 'c': if (cell) { m_stream << std::right << std::setw(coordinateWidth) << std::setprecision(coordinatePrecision) << fpos3d.z(); } else { m_stream << std::right << std::setw(coordinateWidth) << "N/A"; } break; } // end switch // Prepare for next value. Push a space into the output stream if we are // not at the end of the line, or a newline if we are. m_stream << std::setw(1) << (it + 1 != end ? ' ' : '\n'); } // end spec char } // end for atom return m_stream.str(); } } // namespace Core } // namespace Avogadro avogadrolibs-1.93.0/avogadro/core/coordinateblockgenerator.h000066400000000000000000000072721360735163600242560ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_COORDINATEBLOCKGENERATOR_H #define AVOGADRO_CORE_COORDINATEBLOCKGENERATOR_H #include #include #include namespace Avogadro { namespace Core { class Molecule; /** * @class CoordinateBlockGenerator coordinateblockgenerator.h * * @brief The CoordinateBlockGenerator class creates an aligned, formatted block * of atomic coordinates. * * See the setSpecification() documentation for details on specifying the block * format. */ class AVOGADROCORE_EXPORT CoordinateBlockGenerator { public: /** * Construct the default CoordinateBlockGenerator with an empty specification * and Angstrom distance units. */ CoordinateBlockGenerator(); /** * The molecule used as input. * @} */ void setMolecule(const Molecule* mol) { m_molecule = mol; } const Molecule* molecule() const { return m_molecule; } /** @} */ /** * The specification of the block format. * The characters in the specification string indicate the information needed * about each atom in the coordinate block. * - @c #: Atom index (one-based index) * - @c Z: Atomic number (e.g. "6" for carbon) * - @c G: GAMESS-styled Atomic number (e.g. "6.0" for carbon) * - @c S: Element symbol (e.g. "C" for carbon) * - @c N: Element name (e.g. "Carbon") * - @c x: X cartesian coordinate * - @c y: Y cartesian coordinate * - @c z: Z cartesian coordinate * - @c a: 'a' lattice coordinate (unit cell required) * - @c b: 'b' lattice coordinate (unit cell required) * - @c c: 'c' lattice coordinate (unit cell required) * - @c 0: A literal "0". Useful for optimization flags. * - @c 1: A literal "1". Useful for optimization flags. * - @c _: A space character. Useful for alignment. * * For example, the specification string ~~~ __SZxyz110 ~~~ * will be replaced by a molecule-specific block of text similar to the * following: ~~~ C 6 1.126214 0.765886 0.000000 1 1 0 C 6 0.819345 -0.564955 0.000000 1 1 0 C 6 -0.598383 -0.795127 0.000000 1 1 0 C 6 -1.310706 0.370165 0.000000 1 1 0 S 16 -0.285330 1.757144 0.000000 1 1 0 H 1 2.130424 1.185837 0.000000 1 1 0 H 1 1.548377 -1.375303 0.000000 1 1 0 H 1 -1.033768 -1.794407 0.000000 1 1 0 H 1 -2.396173 0.450760 0.000000 1 1 0 ~~~ */ void setSpecification(const std::string& spec) { m_specification = spec; } std::string specification() const { return m_specification; } /** @} */ /** Distance unit used in the output. @{ */ enum DistanceUnit { Angstrom = 0, Bohr }; void setDistanceUnit(DistanceUnit unit) { m_distanceUnit = unit; } DistanceUnit distanceUnit() const { return m_distanceUnit; } /** @} */ /** * Generate and return the coordinate block. */ std::string generateCoordinateBlock(); private: const Molecule* m_molecule; std::string m_specification; DistanceUnit m_distanceUnit; std::stringstream m_stream; }; } // namespace Core } // namespace Avogadro #endif // AVOGADRO_CORE_COORDINATEBLOCKGENERATOR_H avogadrolibs-1.93.0/avogadro/core/coordinateset.h000066400000000000000000000064421360735163600220460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_COORDINATESET_H #define AVOGADRO_CORE_COORDINATESET_H #include "avogadrocore.h" #include #include namespace Avogadro { namespace Core { /** * @class ArraySet coordinateset.h * @brief Base class for array type containers. * * This base class gives us the non-templated base class that stores all arrays * of data. You should use the base class as the container, and figure out its * type when using it. */ class ArraySet { public: ArraySet() : m_content(nullptr), m_data(nullptr) {} ~ArraySet() { delete m_content; } /** @return true if the type of the array matches the input type. */ template bool isType(const T&) const { return m_content ? typeid(T) == m_content->type() : false; } /* template std::vector data() { if (m_data && isType(T)) return static_cast &>(*m_data); else return std::vector(); } */ protected: class PlaceHolder { public: virtual ~PlaceHolder() {} virtual const std::type_info& type() const = 0; virtual PlaceHolder* clone() const = 0; }; template class Holder : public PlaceHolder { public: Holder(const ValueType& value) : m_content(value) {} const std::type_info& type() const { return typeid(ValueType); } PlaceHolder* clone() const { return new Holder(m_content); } ValueType m_content; }; PlaceHolder* m_content; void* m_data; }; /** * @class CoordinateSet coordinateset.h * @brief Templated class for array type containers. * * This class gives us the derived templated class that stores arrays of data. * of data. This class should be used to store concrete arrays, and can be * cast to ArraySet when stored in generic containers. */ template class CoordinateSet : public ArraySet { public: CoordinateSet() { m_content = new Holder(T()); } ~CoordinateSet() {} // Properties void resize(Index _size) { m_coordinates.resize(_size); } Index size() const { return m_coordinates.size(); } std::vector& coordinates() { return m_coordinates; } const std::vector& coordinates() const { return m_coordinates; } // Inline operator methods. /** Returns the element at \index _index. */ T operator()(Index _index) const { return m_coordinates.at(_index); } T& operator[](Index _index) { return m_coordinates[_index]; } const T& operator[](Index _index) const { return m_coordinates[_index]; } private: std::vector m_coordinates; }; } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_COORDINATESET_H avogadrolibs-1.93.0/avogadro/core/crystaltools.cpp000066400000000000000000000462031360735163600222770ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "crystaltools.h" #include "molecule.h" #include "unitcell.h" #include #include namespace Avogadro { namespace Core { namespace { struct WrapAtomsToCellFunctor { const UnitCell& unitCell; WrapAtomsToCellFunctor(Molecule& molecule) : unitCell(*molecule.unitCell()) {} void operator()(Vector3& pos) { unitCell.wrapCartesian(pos, pos); } }; } bool CrystalTools::wrapAtomsToUnitCell(Molecule& molecule) { if (!molecule.unitCell()) return false; std::for_each(molecule.atomPositions3d().begin(), molecule.atomPositions3d().end(), WrapAtomsToCellFunctor(molecule)); return true; } bool CrystalTools::rotateToStandardOrientation(Molecule& molecule, Options opts) { if (!molecule.unitCell()) return false; const UnitCell& cell = *molecule.unitCell(); const Matrix3& before = cell.cellMatrix(); // Extract vector components: const Real& x1 = before(0, 0); const Real& y1 = before(1, 0); const Real& z1 = before(2, 0); const Real& x2 = before(0, 1); const Real& y2 = before(1, 1); const Real& z2 = before(2, 1); const Real& x3 = before(0, 2); const Real& y3 = before(1, 2); const Real& z3 = before(2, 2); // Cache some frequently used values: // Length of v1 const Real L1 = std::sqrt(x1 * x1 + y1 * y1 + z1 * z1); // Squared norm of v1's yz projection const Real sqrdnorm1yz = y1 * y1 + z1 * z1; // Squared norm of v2's yz projection const Real sqrdnorm2yz = y2 * y2 + z2 * z2; // Determinant of v1 and v2's projections in yz plane const Real detv1v2yz = y2 * z1 - y1 * z2; // Scalar product of v1 and v2's projections in yz plane const Real dotv1v2yz = y1 * y2 + z1 * z2; // Used for denominators, since we want to check that they are // sufficiently far from 0 to keep things reasonable: Real denom; const Real DENOM_TOL = 1e-5; // Create target matrix, fill with zeros Matrix3 newMat(Matrix3::Zero()); // Set components of new v1: newMat(0, 0) = L1; // Set components of new v2: denom = L1; if (fabs(denom) < DENOM_TOL) return false; newMat(0, 1) = (x1 * x2 + y1 * y2 + z1 * z2) / denom; newMat(1, 1) = sqrt(x2 * x2 * sqrdnorm1yz + detv1v2yz * detv1v2yz - 2 * x1 * x2 * dotv1v2yz + x1 * x1 * sqrdnorm2yz) / denom; // Set components of new v3 newMat(0, 2) = (x1 * x3 + y1 * y3 + z1 * z3) / denom; denom = L1 * L1 * newMat(1, 1); if (fabs(denom) < DENOM_TOL) return false; newMat(1, 2) = (x1 * x1 * (y2 * y3 + z2 * z3) + x2 * (x3 * sqrdnorm1yz - x1 * (y1 * y3 + z1 * z3)) + detv1v2yz * (y3 * z1 - y1 * z3) - x1 * x3 * dotv1v2yz) / denom; denom = L1 * newMat(1, 1); if (fabs(denom) < DENOM_TOL) return false; // Numerator is determinant of original cell: newMat(2, 2) = before.determinant() / denom; return setCellMatrix(molecule, newMat, opts & TransformAtoms); } bool CrystalTools::setVolume(Molecule& molecule, Real newVolume, Options opts) { if (!molecule.unitCell()) return false; const UnitCell& cell = *molecule.unitCell(); const Real scaleFactor = std::pow(newVolume / cell.volume(), static_cast(1.0 / 3.0)); const Matrix3 newMatrix(cell.cellMatrix() * scaleFactor); return setCellMatrix(molecule, newMatrix, opts & TransformAtoms); } // A collection of fuzzy comparison operators used in the niggli reduction // algorithm: namespace { const double FUZZY_TOL(1e-5); template bool fuzzyLessThan(T v1, T v2, T prec = static_cast(FUZZY_TOL)) { return (v1 < (v2 - prec)); } template bool fuzzyGreaterThan(T v1, T v2, T prec = static_cast(FUZZY_TOL)) { return (v2 < (v1 - prec)); } template bool fuzzyEqual(T v1, T v2, T prec = static_cast(FUZZY_TOL)) { return (!(fuzzyLessThan(v1, v2, prec) || fuzzyGreaterThan(v1, v2, prec))); } template bool fuzzyNotEqual(T v1, T v2, T prec = static_cast(FUZZY_TOL)) { return (!(fuzzyEqual(v1, v2, prec))); } template bool fuzzyLessThanEq(T v1, T v2, T prec = static_cast(FUZZY_TOL)) { return (!fuzzyGreaterThan(v1, v2, prec)); } template bool fuzzyGreaterThanEq(T v1, T v2, T prec = static_cast(FUZZY_TOL)) { return (!lt(v1, v2, prec)); } template T niggliSign(T v) { // consider 0 to be positive return (v >= static_cast(0.)) ? static_cast(1.0) : static_cast(-1.0); } template T niggliRound(T v, T dec) { const T shift = std::pow(10.0, dec); const T shifted = v * shift; return std::floor(shifted + 0.5) / shift; } } bool CrystalTools::niggliReduce(Molecule& molecule, Options opts) { if (!molecule.unitCell()) return false; UnitCell& cell = *molecule.unitCell(); // Maximum number of iterations const unsigned int maxIterations = 1000; // Get cell parameters in storage units, convert deg->rad Real a = cell.a(); Real b = cell.b(); Real c = cell.c(); Real alpha = cell.alpha(); Real beta = cell.beta(); Real gamma = cell.gamma(); // Compute characteristic (step 0) Real A = a * a; Real B = b * b; Real C = c * c; Real xi = 2 * b * c * std::cos(alpha); Real eta = 2 * a * c * std::cos(beta); Real zeta = 2 * a * b * std::cos(gamma); // Return value. bool ret = false; // Comparison tolerance. Real tol = FUZZY_TOL * std::pow(a * b * c, static_cast(1.0 / 3.0)); // Initialize change of basis matrices: // // Although the reduction algorithm produces quantities directly // relatable to a,b,c,alpha,beta,gamma, we will calculate a change // of basis matrix to use instead, and discard A, B, C, xi, eta, // zeta. By multiplying the change of basis matrix against the // current cell matrix, we avoid the problem of handling the // orientation matrix already present in the cell. The inverse of // this matrix can also be used later to convert the atomic // positions. // tmpMat is used to build other matrices Matrix3 tmpMat; // Cache static matrices: // Swap x, y (Used in Step 1). Negatives ensure proper sign of final // determinant. tmpMat << 0, -1, 0, -1, 0, 0, 0, 0, -1; const Matrix3 C1(tmpMat); // Swap y, z (Used in Step 2). Negatives ensure proper sign of final // determinant tmpMat << -1, 0, 0, 0, 0, -1, 0, -1, 0; const Matrix3 C2(tmpMat); // For step 8: tmpMat << 1, 0, 1, 0, 1, 1, 0, 0, 1; const Matrix3 C8(tmpMat); // initial change of basis matrix tmpMat << 1, 0, 0, 0, 1, 0, 0, 0, 1; Matrix3 cob(tmpMat); // Enable debugging output here: /* #define NIGGLI_DEBUG(step) \ std::cout << iter << " " << step << " " << A << " " << B << " " << C \ << " " << xi << " " << eta << " " << zeta << std::endl; */ #define NIGGLI_DEBUG(step) // Perform iterative reduction: unsigned int iter; for (iter = 0; iter < maxIterations; ++iter) { // Step 1: if (fuzzyGreaterThan(A, B, tol) || (fuzzyEqual(A, B, tol) && fuzzyGreaterThan(std::fabs(xi), std::fabs(eta), tol))) { cob *= C1; std::swap(A, B); std::swap(xi, eta); NIGGLI_DEBUG(1); } // Step 2: if (fuzzyGreaterThan(B, C, tol) || (fuzzyEqual(B, C, tol) && fuzzyGreaterThan(std::fabs(eta), std::fabs(zeta), tol))) { cob *= C2; std::swap(B, C); std::swap(eta, zeta); NIGGLI_DEBUG(2); continue; } // Step 3: // Use exact comparisons in steps 3 and 4. if (xi * eta * zeta > 0) { // Update change of basis matrix: tmpMat << niggliSign(xi), 0, 0, 0, niggliSign(eta), 0, 0, 0, niggliSign(zeta); cob *= tmpMat; // Update characteristic xi = std::fabs(xi); eta = std::fabs(eta); zeta = std::fabs(zeta); NIGGLI_DEBUG(3); ++iter; } // Step 4: // Use exact comparisons for steps 3 and 4 else { // either step 3 or 4 should run // Update change of basis matrix: Real* p = nullptr; Real i = 1; Real j = 1; Real k = 1; if (xi > 0) { i = -1; } else if (!(xi < 0)) { p = &i; } if (eta > 0) { j = -1; } else if (!(eta < 0)) { p = &j; } if (zeta > 0) { k = -1; } else if (!(zeta < 0)) { p = &k; } if (i * j * k < 0) { if (!p) { // This was originally an error message displayed in a dialog: // Niggli-reduction failed. The input structure's lattice is confusing // the Niggli-reduction algorithm. Try making a small perturbation // (approx. 2 orders of magnitude smaller than the tolerance) to the // input lattices and try again. return false; } *p = -1; } tmpMat << i, 0, 0, 0, j, 0, 0, 0, k; cob *= tmpMat; // Update characteristic xi = -std::fabs(xi); eta = -std::fabs(eta); zeta = -std::fabs(zeta); NIGGLI_DEBUG(4); ++iter; } // Step 5: if (fuzzyGreaterThan(std::fabs(xi), B, tol) || (fuzzyEqual(xi, B, tol) && fuzzyLessThan(2 * eta, zeta, tol)) || (fuzzyEqual(xi, -B, tol) && fuzzyLessThan(zeta, Real(0), tol))) { Real signXi = niggliSign(xi); // Update change of basis matrix: tmpMat << 1, 0, 0, 0, 1, -signXi, 0, 0, 1; cob *= tmpMat; // Update characteristic C = B + C - xi * signXi; eta = eta - zeta * signXi; xi = xi - 2 * B * signXi; NIGGLI_DEBUG(5); continue; } // Step 6: if (fuzzyGreaterThan(std::fabs(eta), A, tol) || (fuzzyEqual(eta, A, tol) && fuzzyLessThan(2 * xi, zeta, tol)) || (fuzzyEqual(eta, -A, tol) && fuzzyLessThan(zeta, Real(0), tol))) { Real signEta = niggliSign(eta); // Update change of basis matrix: tmpMat << 1, 0, -signEta, 0, 1, 0, 0, 0, 1; cob *= tmpMat; // Update characteristic C = A + C - eta * signEta; xi = xi - zeta * signEta; eta = eta - 2 * A * signEta; NIGGLI_DEBUG(6); continue; } // Step 7: if (fuzzyGreaterThan(std::fabs(zeta), A, tol) || (fuzzyEqual(zeta, A, tol) && fuzzyLessThan(2 * xi, eta, tol)) || (fuzzyEqual(zeta, -A, tol) && fuzzyLessThan(eta, Real(0), tol))) { Real signZeta = niggliSign(zeta); // Update change of basis matrix: tmpMat << 1, -signZeta, 0, 0, 1, 0, 0, 0, 1; cob *= tmpMat; // Update characteristic B = A + B - zeta * signZeta; xi = xi - eta * signZeta; zeta = zeta - 2 * A * signZeta; NIGGLI_DEBUG(7); continue; } // Step 8: Real sumAllButC = A + B + xi + eta + zeta; if (fuzzyLessThan(sumAllButC, Real(0), tol) || (fuzzyEqual(sumAllButC, Real(0), tol) && fuzzyGreaterThan(2 * (A + eta) + zeta, Real(0), tol))) { // Update change of basis matrix: cob *= C8; // Update characteristic C = sumAllButC + C; xi = 2 * B + xi + zeta; eta = 2 * A + eta + zeta; NIGGLI_DEBUG(8); continue; } // Done! ret = true; break; } // No change if (iter == 0) return true; // Iteration limit exceeded: if (!ret) return false; // Update atoms if needed if (opts & TransformAtoms) { // Get fractional coordinates Array fcoords; if (!fractionalCoordinates(molecule, fcoords)) return false; // fix coordinates with COB matrix: const Matrix3 invCob(cob.inverse()); for (Array::iterator it = fcoords.begin(), itEnd = fcoords.end(); it != itEnd; ++it) { *it = invCob * (*it); } // Update cell cell.setCellMatrix(cell.cellMatrix() * cob); // Reapply the fractional coordinates setFractionalCoordinates(molecule, fcoords); } else { // just update the matrix: cell.setCellMatrix(cell.cellMatrix() * cob); } return true; } bool CrystalTools::isNiggliReduced(const Molecule& molecule) { if (!molecule.unitCell()) return false; const UnitCell& cell = *molecule.unitCell(); const Real a = cell.a(); const Real b = cell.b(); const Real c = cell.c(); const Real alpha = cell.alpha(); const Real beta = cell.beta(); const Real gamma = cell.gamma(); const Real A = a * a; const Real B = b * b; const Real C = c * c; const Real xi = static_cast(2) * b * c * std::cos(alpha); const Real eta = static_cast(2) * a * c * std::cos(beta); const Real zeta = static_cast(2) * a * b * std::cos(gamma); const Real tol = FUZZY_TOL * ((a + b + c) * static_cast(1. / 3.)); // First check the Buerger conditions. Taken from: Gruber B.. Acta // Cryst. A. 1973;29(4):433-440. Available at: // http://scripts.iucr.org/cgi-bin/paper?S0567739473001063 // [Accessed December 15, 2010]. if (fuzzyGreaterThan(A, B, tol) || fuzzyGreaterThan(B, C, tol)) return false; if (fuzzyEqual(A, B, tol) && fuzzyGreaterThan(std::fabs(xi), std::fabs(eta), tol)) { return false; } if (fuzzyEqual(B, C, tol) && fuzzyGreaterThan(std::fabs(eta), std::fabs(zeta), tol)) { return false; } if (!(fuzzyGreaterThan(xi, static_cast(0.0), tol) && fuzzyGreaterThan(eta, static_cast(0.0), tol) && fuzzyGreaterThan(zeta, static_cast(0.0), tol)) && !(fuzzyLessThanEq(zeta, static_cast(0.0), tol) && fuzzyLessThanEq(zeta, static_cast(0.0), tol) && fuzzyLessThanEq(zeta, static_cast(0.0), tol))) { return false; } // Check against Niggli conditions (taken from Gruber 1973). The // logic of the second comparison is reversed from the paper to // simplify the algorithm. if (fuzzyEqual(xi, B, tol) && fuzzyGreaterThan(zeta, static_cast(2) * eta, tol)) { return false; } if (fuzzyEqual(eta, A, tol) && fuzzyGreaterThan(zeta, static_cast(2) * xi, tol)) { return false; } if (fuzzyEqual(zeta, A, tol) && fuzzyGreaterThan(eta, static_cast(2) * xi, tol)) { return false; } if (fuzzyEqual(xi, -B, tol) && fuzzyNotEqual(zeta, static_cast(0), tol)) { return false; } if (fuzzyEqual(eta, -A, tol) && fuzzyNotEqual(zeta, static_cast(0), tol)) { return false; } if (fuzzyEqual(zeta, -A, tol) && fuzzyNotEqual(eta, static_cast(0), tol)) { return false; } if (fuzzyEqual(xi + eta + zeta + A + B, static_cast(0), tol) && fuzzyGreaterThan(static_cast(2) * (A + eta) + zeta, static_cast(0), tol)) { return false; } // all good! return true; } bool CrystalTools::buildSupercell(Molecule& molecule, unsigned int a, unsigned int b, unsigned int c) { if (!molecule.unitCell()) return false; // Just a check. Hopefully this won't happen if (a == 0 || b == 0 || c == 0) { std::cerr << "Warning: in buildSupercell(), a, b, or c were set to zero." << "This function will not proceed. Returning false."; return false; } // Get the old vectors Vector3 oldA = molecule.unitCell()->aVector(); Vector3 oldB = molecule.unitCell()->bVector(); Vector3 oldC = molecule.unitCell()->cVector(); // Calculate new vectors Vector3 newA = oldA * a; Vector3 newB = oldB * b; Vector3 newC = oldC * c; // Add in the atoms to the new subcells of the supercell Index numAtoms = molecule.atomCount(); Array atoms = molecule.atomPositions3d(); Array atomicNums = molecule.atomicNumbers(); for (Index ind_a = 0; ind_a < a; ++ind_a) { for (Index ind_b = 0; ind_b < b; ++ind_b) { for (Index ind_c = 0; ind_c < c; ++ind_c) { // Skip over the subcell that already exists if (ind_a == 0 && ind_b == 0 && ind_c == 0) continue; // The positions of the new atoms are displacements of the old atoms Vector3 displacement = ind_a * oldA + ind_b * oldB + ind_c * oldC; for (Index i = 0; i < numAtoms; ++i) { Atom newAtom = molecule.addAtom(atomicNums.at(i)); newAtom.setPosition3d(atoms.at(i) + displacement); } } } } // Now set the unit cell molecule.unitCell()->setAVector(newA); molecule.unitCell()->setBVector(newB); molecule.unitCell()->setCVector(newC); // We're done! return true; } namespace { struct TransformAtomsFunctor { TransformAtomsFunctor(const Matrix3& t) : transform(t) {} const Matrix3& transform; void operator()(Vector3& pos) { pos = transform * pos; } }; } bool CrystalTools::setCellMatrix(Molecule& molecule, const Matrix3& newCellColMatrix, Options opt) { if (opt & TransformAtoms && molecule.unitCell()) { const Matrix3 xform(newCellColMatrix * molecule.unitCell()->cellMatrix().inverse()); std::for_each(molecule.atomPositions3d().begin(), molecule.atomPositions3d().end(), TransformAtomsFunctor(xform)); } if (!molecule.unitCell()) molecule.setUnitCell(new UnitCell); molecule.unitCell()->setCellMatrix(newCellColMatrix); return true; } namespace { struct FractionalCoordinatesFunctor { const UnitCell& unitCell; FractionalCoordinatesFunctor(const UnitCell& uc) : unitCell(uc) {} void operator()(Vector3& pos) { unitCell.toFractional(pos, pos); } }; } bool CrystalTools::fractionalCoordinates(const UnitCell& unitCell, const Array& cart, Array& frac) { if (&frac != &cart) // avoid self-copy... frac = cart; std::for_each(frac.begin(), frac.end(), FractionalCoordinatesFunctor(unitCell)); return true; } bool CrystalTools::fractionalCoordinates(const Molecule& molecule, Array& coords) { if (!molecule.unitCell()) return false; coords = molecule.atomPositions3d(); coords.resize(molecule.atomCount()); return fractionalCoordinates(*molecule.unitCell(), coords, coords); } namespace { struct SetFractionalCoordinatesFunctor { const UnitCell& unitCell; SetFractionalCoordinatesFunctor(const Molecule& molecule) : unitCell(*molecule.unitCell()) { } Vector3 operator()(const Vector3& pos) { return unitCell.toCartesian(pos); } }; } bool CrystalTools::setFractionalCoordinates(Molecule& molecule, const Array& coords) { if (!molecule.unitCell()) return false; if (coords.size() != molecule.atomCount()) return false; Array& output = molecule.atomPositions3d(); output.resize(coords.size()); std::transform(coords.begin(), coords.end(), output.begin(), SetFractionalCoordinatesFunctor(molecule)); return true; } } // namespace Core } // namespace Avogadro avogadrolibs-1.93.0/avogadro/core/crystaltools.h000066400000000000000000000143671360735163600217520ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_CRYSTALTOOLS_H #define AVOGADRO_CORE_CRYSTALTOOLS_H #include "array.h" #include "avogadrocore.h" #include "matrix.h" #include "vector.h" namespace Avogadro { namespace Core { class Molecule; class UnitCell; /** * @class CrystalTools crystaltools.h * @brief The CrystalTools class contains a collection of static functions * that perform common crystallographic operations on a Core::Molecule. */ class AVOGADROCORE_EXPORT CrystalTools { public: /** * @brief The Option enum provides bitwise option flags for the various * algorithms. */ enum Option { /** No options specified. */ None = 0x0, /** Transform atoms along with the unit cell. */ TransformAtoms = 0x1 }; typedef int Options; /** * Adjust the atomic positions in @a molecule so that the fractional (lattice) * coordinates of all atoms are in the range [0, 1]. * @return True on success, false otherwise. */ static bool wrapAtomsToUnitCell(Molecule& molecule); /** * This function will rotate the input molecule so that the unit cell's 'a' * vector is aligned to the x-axis, and the 'b' axis is in the xy-plane. It * does not use trig functions or the cell parameters, since such * implementations are fragile and cannot handle negative cell angles. The * derivation of this algorithm can be found at * http://xtalopt.openmolecules.net/misc/rotateToStdOrientation.pdf. * * @param opts If TransformAtoms is specified, the atoms in @a molecule are * rotated along with the unit cell. * @return True on success, false otherwise. */ static bool rotateToStandardOrientation(Molecule& molecule, Options opts = None); /** * Isotropically scale the volume of the unit cell in @a molecule to @a * newVolume (in cubic angstrom). * @param opts If TransformAtoms is specified, the atoms in @a molecule are * adjusted so that their fractional (lattice) coordinates are preserved. * @return True on success, false on failure. */ static bool setVolume(Molecule& molecule, Real newVolume, Options opts = None); /** * Perform a Niggli reduction on @a molecule's unit cell. This produces a * canonical unit cell representation that strives to be as cubic as possible. * @note Implements the niggli reduction algorithm detailed in: * Grosse-Kunstleve RW, Sauter NK, Adams PD. Numerically stable * algorithms for the computation of reduced unit cells. Acta * Crystallographica Section A Foundations of * Crystallography. 2003;60(1):1-6. * @param opts If TransformAtoms is specified, the atom positions are modified * to ensure that the same extended atomic structure from the input is * represented by the output. * @return True on success, false on failure. */ static bool niggliReduce(Molecule& molecule, Options opts = None); /** * Return true if the unit cell in @a molecule is already Niggli-reduced. This * method checks the conditions listed in the paper Gruber B.. Acta Cryst. A. * 1973;29(4):433-440. */ static bool isNiggliReduced(const Molecule& mol); /** * Build a supercell by expanding upon the unit cell of @a molecule. It will * only return false if the molecule does not have a unit cell or if a, b, or * c is set to zero. * @param a The number of units along lattice vector a for the supercell * @param b The number of units along lattice vector b for the supercell * @param c The number of units along lattice vector c for the supercell * @return True on success, false on failure. */ static bool buildSupercell(Molecule& molecule, unsigned int a, unsigned int b, unsigned int c); /** * Set the unit cell in @a molecule to represent the real-space column-vector * unit cell description in @a newCellColMatrix. A unit cell is created if * needed. * @param opt If TransformAtoms is specified, the atoms in @a molecule are * adjusted so that their fractional (lattice) coordinates are preserved. This * option is ignored if the input molecule has no unit cell. * @return True on success, false otherwise. */ static bool setCellMatrix(Molecule& molecule, const Matrix3& newCellColMatrix, Options opt = None); /** * Populate the @a frac vector with the fractional representation of the * cartesian coordinates in @a cart, using @a unitCell to perform the * coordinate transformation. * @return True on success, false otherwise. */ static bool fractionalCoordinates(const UnitCell& unitCell, const Array& cart, Array& frac); /** * Populate the @a coords vector with the fractional coordinates of the atoms * in @a molecule, using the unit cell of @a molecule to perform the * coordinate transformation. Coordinates are ordered the same as the * Molecule::atomPositions3d() result. * @return True on success, false otherwise. */ static bool fractionalCoordinates(const Molecule& molecule, Array& coords); /** * Set the atomic positions of @a molecule to the fractional coordinates in * @a coords, using the unit cell of @a molecule to perform the coordinate * transformation. * @return */ static bool setFractionalCoordinates(Molecule& molecule, const Array& coords); private: CrystalTools(); // not implemented ~CrystalTools(); // not implemented }; } // namespace Core } // namespace Avogadro #endif // AVOGADRO_CORE_CRYSTALTOOLS_H avogadrolibs-1.93.0/avogadro/core/cube.cpp000066400000000000000000000224001360735163600204440ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "cube.h" #include "molecule.h" #include "mutex.h" namespace Avogadro { namespace Core { Cube::Cube() : m_data(0), m_min(0.0, 0.0, 0.0), m_max(0.0, 0.0, 0.0), m_spacing(0.0, 0.0, 0.0), m_points(0, 0, 0), m_minValue(0.0), m_maxValue(0.0), m_lock(new Mutex) { } Cube::~Cube() { delete m_lock; m_lock = 0; } bool Cube::setLimits(const Vector3& min_, const Vector3& max_, const Vector3i& points) { // We can calculate all necessary properties and initialise our data Vector3 delta = max_ - min_; m_spacing = Vector3(delta.x() / (points.x() - 1), delta.y() / (points.y() - 1), delta.z() / (points.z() - 1)); m_min = min_; m_max = max_; m_points = points; m_data.resize(m_points.x() * m_points.y() * m_points.z()); return true; } bool Cube::setLimits(const Vector3& min_, const Vector3& max_, double spacing_) { Vector3 delta = max_ - min_; delta = delta / spacing_; return setLimits(min_, max_, delta.cast()); } bool Cube::setLimits(const Vector3& min_, const Vector3i& dim, double spacing_) { return setLimits(min_, dim, Vector3(spacing_, spacing_, spacing_)); } bool Cube::setLimits(const Vector3& min_, const Vector3i& dim, const Vector3& spacing_) { Vector3 max_ = Vector3(min_.x() + (dim.x() - 1) * spacing_[0], min_.y() + (dim.y() - 1) * spacing_[1], min_.z() + (dim.z() - 1) * spacing_[2]); m_min = min_; m_max = max_; m_points = dim; m_spacing = spacing_; m_data.resize(m_points.x() * m_points.y() * m_points.z()); return true; } bool Cube::setLimits(const Cube& cube) { m_min = cube.m_min; m_max = cube.m_max; m_points = cube.m_points; m_spacing = cube.m_spacing; m_data.resize(m_points.x() * m_points.y() * m_points.z()); return true; } bool Cube::setLimits(const Molecule& mol, double spacing_, double padding) { Index numAtoms = mol.atomCount(); Vector3 min_, max_; if (numAtoms) { Vector3 curPos = min_ = max_ = mol.atomPositions3d()[0]; for (Index i = 1; i < numAtoms; ++i) { curPos = mol.atomPositions3d()[i]; if (curPos.x() < min_.x()) min_.x() = curPos.x(); if (curPos.x() > max_.x()) max_.x() = curPos.x(); if (curPos.y() < min_.y()) min_.y() = curPos.y(); if (curPos.y() > max_.y()) max_.y() = curPos.y(); if (curPos.z() < min_.z()) min_.z() = curPos.z(); if (curPos.z() > max_.z()) max_.z() = curPos.z(); } } else { min_ = max_ = Vector3::Zero(); } // Now to take care of the padding term min_ += Vector3(-padding, -padding, -padding); max_ += Vector3(padding, padding, padding); return setLimits(min_, max_, spacing_); } std::vector* Cube::data() { return &m_data; } const std::vector* Cube::data() const { return &m_data; } bool Cube::setData(const std::vector& values) { if (!values.size()) return false; if (static_cast(values.size()) == m_points.x() * m_points.y() * m_points.z()) { m_data = values; // Now to update the minimum and maximum values m_minValue = m_maxValue = m_data[0]; for (std::vector::const_iterator it = values.begin(); it != values.end(); ++it) { if (*it < m_minValue) m_minValue = *it; else if (*it > m_maxValue) m_maxValue = *it; } return true; } else { return false; } } bool Cube::addData(const std::vector& values) { // Initialise the cube to zero if necessary if (!m_data.size()) m_data.resize(m_points.x() * m_points.y() * m_points.z()); if (values.size() != m_data.size() || !values.size()) return false; for (unsigned int i = 0; i < m_data.size(); i++) { m_data[i] += values[i]; if (m_data[i] < m_minValue) m_minValue = m_data[i]; else if (m_data[i] > m_maxValue) m_maxValue = m_data[i]; } return true; } unsigned int Cube::closestIndex(const Vector3& pos) const { int i, j, k; // Calculate how many steps each coordinate is along its axis i = int((pos.x() - m_min.x()) / m_spacing.x()); j = int((pos.y() - m_min.y()) / m_spacing.y()); k = int((pos.z() - m_min.z()) / m_spacing.z()); return i * m_points.y() * m_points.z() + j * m_points.z() + k; } Vector3i Cube::indexVector(const Vector3& pos) const { // Calculate how many steps each coordinate is along its axis int i, j, k; i = int((pos.x() - m_min.x()) / m_spacing.x()); j = int((pos.y() - m_min.y()) / m_spacing.y()); k = int((pos.z() - m_min.z()) / m_spacing.z()); return Vector3i(i, j, k); } Vector3 Cube::position(unsigned int index) const { int x, y, z; x = int(index / (m_points.y() * m_points.z())); y = int((index - (x * m_points.y() * m_points.z())) / m_points.z()); z = index % m_points.z(); return Vector3(x * m_spacing.x() + m_min.x(), y * m_spacing.y() + m_min.y(), z * m_spacing.z() + m_min.z()); } double Cube::value(int i, int j, int k) const { unsigned int index = i * m_points.y() * m_points.z() + j * m_points.z() + k; if (index < m_data.size()) return m_data[index]; else return 0.0; } double Cube::value(const Vector3i& pos) const { unsigned int index = pos.x() * m_points.y() * m_points.z() + pos.y() * m_points.z() + pos.z(); if (index < m_data.size()) return m_data[index]; else return 6969.0; } float Cube::valuef(const Vector3f& pos) const { // This is a really expensive operation and so should be avoided // Interpolate the value at the supplied vector - trilinear interpolation... Vector3f delta = pos - m_min.cast(); // Find the integer low and high corners Vector3i lC(static_cast(delta.x() / m_spacing.x()), static_cast(delta.y() / m_spacing.y()), static_cast(delta.z() / m_spacing.z())); Vector3i hC(lC.x() + 1, lC.y() + 1, lC.z() + 1); // So there are six corners in total - work out the delta of the position // and the low corner const Vector3f lCf(lC.cast()); const Vector3f spacingf(m_spacing.cast()); Vector3f P((delta.x() - lCf.x() * spacingf.x()) / spacingf.x(), (delta.y() - lCf.y() * spacingf.y()) / spacingf.y(), (delta.z() - lCf.z() * spacingf.z()) / spacingf.z()); Vector3f dP = Vector3f(1.0f, 1.0f, 1.0f) - P; // Now calculate and return the interpolated value return static_cast( value(lC.x(), lC.y(), lC.z()) * dP.x() * dP.y() * dP.z() + value(hC.x(), lC.y(), lC.z()) * P.x() * dP.y() * dP.z() + value(lC.x(), hC.y(), lC.z()) * dP.x() * P.y() * dP.z() + value(lC.x(), lC.y(), hC.z()) * dP.x() * dP.y() * P.z() + value(hC.x(), lC.y(), hC.z()) * P.x() * dP.y() * P.z() + value(lC.x(), hC.y(), hC.z()) * dP.x() * P.y() * P.z() + value(hC.x(), hC.y(), lC.z()) * P.x() * P.y() * dP.z() + value(hC.x(), hC.y(), hC.z()) * P.x() * P.y() * P.z()); } double Cube::value(const Vector3& pos) const { // This is a really expensive operation and so should be avoided // Interpolate the value at the supplied vector - trilinear interpolation... Vector3 delta = pos - m_min; // Find the integer low and high corners Vector3i lC(static_cast(delta.x() / m_spacing.x()), static_cast(delta.y() / m_spacing.y()), static_cast(delta.z() / m_spacing.z())); Vector3i hC(lC.x() + 1, lC.y() + 1, lC.z() + 1); // So there are six corners in total - work out the delta of the position // and the low corner Vector3 P((delta.x() - lC.x() * m_spacing.x()) / m_spacing.x(), (delta.y() - lC.y() * m_spacing.y()) / m_spacing.y(), (delta.z() - lC.z() * m_spacing.z()) / m_spacing.z()); Vector3 dP = Vector3(1.0, 1.0, 1.0) - P; // Now calculate and return the interpolated value return value(lC.x(), lC.y(), lC.z()) * dP.x() * dP.y() * dP.z() + value(hC.x(), lC.y(), lC.z()) * P.x() * dP.y() * dP.z() + value(lC.x(), hC.y(), lC.z()) * dP.x() * P.y() * dP.z() + value(lC.x(), lC.y(), hC.z()) * dP.x() * dP.y() * P.z() + value(hC.x(), lC.y(), hC.z()) * P.x() * dP.y() * P.z() + value(lC.x(), hC.y(), hC.z()) * dP.x() * P.y() * P.z() + value(hC.x(), hC.y(), lC.z()) * P.x() * P.y() * dP.z() + value(hC.x(), hC.y(), hC.z()) * P.x() * P.y() * P.z(); } bool Cube::setValue(int i, int j, int k, double value_) { unsigned int index = i * m_points.y() * m_points.z() + j * m_points.z() + k; if (index < m_data.size()) { m_data[index] = value_; if (value_ < m_minValue) m_minValue = value_; else if (value_ > m_maxValue) m_maxValue = value_; return true; } else { return false; } } } // End Core namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/core/cube.h000066400000000000000000000152421360735163600201170ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_CUBE_H #define AVOGADRO_CORE_CUBE_H #include "avogadrocore.h" #include "vector.h" #include namespace Avogadro { namespace Core { class Molecule; class Mutex; /** * @class Cube cube.h * @brief Provide a data structure for regularly spaced 3D grids. * @author Marcus D. Hanwell */ class AVOGADROCORE_EXPORT Cube { public: Cube(); ~Cube(); /** * \enum Type * Different Cube types relating to the data */ enum Type { VdW, ESP, ElectronDensity, MO, FromFile, None }; /** * @return The minimum point in the cube. */ Vector3 min() const { return m_min; } /** * @return The maximum point in the cube. */ Vector3 max() const { return m_max; } /** * @return The spacing of the grid. */ Vector3 spacing() const { return m_spacing; } /** * @return The x, y and z dimensions of the cube. */ Vector3i dimensions() const { return m_points; } /** * Set the limits of the cube. * @param min The minimum point in the cube. * @param max The maximum point in the cube. * @param points The number of (integer) points in the cube. */ bool setLimits(const Vector3& min, const Vector3& max, const Vector3i& points); /** * Set the limits of the cube. * @param min The minimum point in the cube. * @param max The maximum point in the cube. * @param spacing The interval between points in the cube. */ bool setLimits(const Vector3& min, const Vector3& max, double spacing); /** * Set the limits of the cube. * @param min The minimum point in the cube. * @param dim The integer dimensions of the cube in x, y and z. * @param spacing The interval between points in the cube. */ bool setLimits(const Vector3& min, const Vector3i& dim, double spacing); /** * Set the limits of the cube. * @param min The minimum point in the cube. * @param dim The integer dimensions of the cube in x, y and z. * @param spacing The interval between points in the cube. */ bool setLimits(const Vector3& min, const Vector3i& dim, const Vector3& spacing); /** * Set the limits of the cube - copy the limits of an existing Cube. * @param cube Existing Cube to copy the limits from. */ bool setLimits(const Cube& cube); /** * Set the limits of the cube. * @param mol Molecule to take limits from * @param spacing The spacing of the regular grid * @param padding Padding around the molecule */ bool setLimits(const Molecule& mol, double spacing, double padding); /** * @return Vector containing all the data in a one-dimensional array. */ std::vector* data(); const std::vector* data() const; /** * Set the values in the cube to those passed in the vector. */ bool setData(const std::vector& values); /** * Adds the values in the cube to those passed in the vector. */ bool addData(const std::vector& values); /** * @return Index of the point closest to the position supplied. * @param pos Position to get closest index for. */ unsigned int closestIndex(const Vector3& pos) const; /** * @param pos Position to get closest index for. * @return The i, j, k index closest to the position supplied. */ Vector3i indexVector(const Vector3& pos) const; /** * @param index Index to be translated to a position. * @return Position of the given index. */ Vector3 position(unsigned int index) const; /** * This function is very quick as it just returns the value at the point. * @return Cube value at the integer point i, j, k. */ double value(int i, int j, int k) const; /** * This function is very quick as it just returns the value at the point. * @return Cube value at the integer point pos. */ double value(const Vector3i& pos) const; /** * This function uses trilinear interpolation to find the value at points * between those specified in the cube. * @return Cube value at the specified position. * @warning This function is quite computationally expensive and should be * avoided where possible. */ float valuef(const Vector3f& pos) const; /** * This function uses trilinear interpolation to find the value at points * between those specified in the cube. * @return Cube value at the specified position. * @warning This function is quite computationally expensive and should be * avoided where possible. */ double value(const Vector3& pos) const; /** * Sets the value at the specified point in the cube. * @param i x component of the position. * @param j y component of the position. * @param k z component of the position. * @param value Value at the specified position. */ bool setValue(int i, int j, int k, double value); /** * Sets the value at the specified index in the cube. * @param i 1-dimensional index of the point to set in the cube. */ bool setValue(unsigned int i, double value); /** * @return The minimum value at any point in the Cube. */ double minValue() const { return m_minValue; } /** * @return The maximum value at any point in the Cube. */ double maxValue() const { return m_maxValue; } void setName(const std::string& name_) { m_name = name_; } std::string name() const { return m_name; } void setCubeType(Type type) { m_cubeType = type; } Type cubeType() const { return m_cubeType; } /** * Provides locking. */ Mutex* lock() const { return m_lock; } protected: std::vector m_data; Vector3 m_min, m_max, m_spacing; Vector3i m_points; double m_minValue, m_maxValue; std::string m_name; Type m_cubeType; Mutex* m_lock; }; inline bool Cube::setValue(unsigned int i, double value_) { if (i < m_data.size()) { m_data[i] = value_; if (value_ > m_maxValue) m_maxValue = value_; if (value_ < m_minValue) m_minValue = value_; return true; } else return false; } } // End Core namespace } // End Avogadro namespace #endif // AVOGADRO_CORE_CUBE_H avogadrolibs-1.93.0/avogadro/core/elementdata.h000066400000000000000000000223741360735163600214700ustar00rootroot00000000000000#ifndef AVOGADRO_CORE_ELEMENTS_DATA #define AVOGADRO_CORE_ELEMENTS_DATA namespace Avogadro { namespace Core { unsigned char element_count = 119; const char* element_symbols[] = { "Xx", "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Cn", "Nh", "Fl", "Mc", "Lv", "Ts", "Og" }; const char* element_names[] = { "Dummy", "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminium", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttrium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Caesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium", "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium", "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium", "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Nihonium", "Flerovium", "Moscovium", "Livermorium", "Tennessine", "Oganesson" }; double element_masses[] = { // from IUPAC http://www.chem.qmul.ac.uk/iupac/AtWt/ // (2015 set, updated from 2013) 0, 1.00784, 4.0026, 6.938, 9.01218, 10.806, 12.011, 14.006, 15.9994, 18.9984, 20.1797, 22.9898, 24.305, 26.9815, 28.0855, 30.9738, 32.065, 35.453, 39.948, 39.0983, 40.078, 44.9559, 47.867, 50.9415, 51.9961, 54.938, 55.845, 58.9332, 58.6934, 63.546, 65.38, 69.723, 72.64, 74.9216, 78.971, 79.904, 83.798, 85.4678, 87.62, 88.9058, 91.224, 92.9064, 95.95, 97, 101.07, 102.9055, 106.42, 107.8682, 112.414, 114.818, 118.71, 121.76, 127.6, 126.9045, 131.293, 132.9055, 137.327, 138.9055, 140.116, 140.9077, 144.242, 145, 150.36, 151.964, 157.25, 158.9253, 162.5, 164.9303, 167.259, 168.9342, 173.045, 174.9668, 178.49, 180.9479, 183.84, 186.207, 190.23, 192.217, 195.084, 196.9666, 200.592, 204.38, 207.2, 208.9804, 209, 210, 222, 223, 226, 227, 232.0377, 231.0358, 238.0289, 237, 244, 243, 247, 247, 251, 252, 257, 258, 259, 262, 267, 270, 269, 270, 270, 278, 281, 281, 285, 286, 289, 289, 293, 293, 294 }; double element_VDW[] = { // From Alvarez doi: 10.1039/C3DT50599E // Dalton Trans., 2013,42, 8617-8636 // Dummy, 1st row 0.69, 1.2, 1.43, // 2nd row (Li..Ne) 2.12, 1.98, 1.91, 1.77, 1.66, 1.50, 1.46, 1.58, // 3rd row (Na .. Ar) 2.50, 2.51, 2.25, 2.19, 1.90, 1.89, 1.82, 1.83, // 4th row (K, Ca) 2.73, 2.62, // 1st row TM (Sc.. Zn) 2.58, 2.46, 2.42, 2.45, 2.45, 2.44, 2.40, 2.40, 2.38, 2.39, // 4th row p-block (Ga .. Kr) 2.32, 2.29, 1.88, 1.82, 1.86, 2.25, // 5th row Rb, Sr 3.21, 2.84, // 2nd row TM (Y .. Cd) 2.75, 2.52, 2.56, 2.45, 2.44, 2.46, 2.44, 2.15, 2.53, 2.49, // 5th row p-block (Sn .. Xe) 2.43, 2.42, 2.47, 1.99, 2.04, 2.06, // 6th row Cs, Ba 3.48, 3.03, // Lanthanides (La..Gd) 2.98, 2.88, 2.92, 2.95, 2.90, 2.87, 2.83, // Lanthanides (Tb..Yb) 2.79, 2.87, 2.81, 2.83, 2.79, 2.80, // 3rd row TM (Lu..Hg) 2.74, 2.63, 2.53, 2.57, 2.49, 2.48, 2.41, 2.29, 2.32, 2.45, // 6th row p-block (Tl.. Bi) // 2.5 is a default here 2.47, 2.60, 2.54, 2.5, 2.5, 2.5, // 7th row // 2.5 is a default here 2.5, 2.5, // Actinides 2.8, 2.93, 2.88, 2.71, 2.82, 2.81, 2.83, 3.05, 3.38, 3.05, 3., 3., 3., 3., // Trans-actinides 3., 3., 3., 3., 3., 3., 3., 3., 3., 3., // 7th row p-block 3., 3., 3., 3., 3., 3., }; double element_covalent[] = { // From Pyykko doi: 10.1002/chem.200800987 // Dummy, 1st row 0.18, 0.32, 0.46, // 2nd row 1.33, 1.02, 0.85, 0.75, 0.71, 0.63, 0.64, 0.67, // 3rd row 1.55, 1.39, 1.26, 1.16, 1.11, 1.03, 0.99, 0.96, // 4th row K, Ca 1.96, 1.71, // 1st row TM (Sc.. Zn) 1.48, 1.36, 1.34, 1.22, 1.19, 1.16, 1.11, 1.10, 1.12, 1.18, // 4th row p-block (Ga..Kr) 1.24, 1.21, 1.21, 1.16, 1.14, 1.17, // 5th row Rb, Sr 2.10, 1.85, // 2nd row TM (Y..Cd) 1.63, 1.54, 1.47, 1.38, 1.28, 1.25, 1.25, 1.20, 1.28, 1.36, // 5th row p-block (In..Xe) 1.42, 1.40, 1.40, 1.36, 1.33, 1.31, // 6th row Cs, Ba 2.32, 1.96, // Lanthanides La..Gd 1.80, 1.63, 1.76, 1.74, 1.73, 1.72, 1.68, // Lanthanides Tb..Yb 1.69, 1.68, 1.67, 1.66, 1.65, 1.64, 1.70, // 3rd row TM (Lu..Hg) 1.62, 1.52, 1.46, 1.37, 1.31, 1.29, 1.22, 1.23, 1.24, 1.33, // 6th row p-block (Tl..Rn) 1.44, 1.44, 1.51, 1.45, 1.47, 1.42, // 7th row Fr, Ra 2.23, 2.01, // Actinides (Ac.. Am) 1.86, 1.75, 1.69, 1.70, 1.71, 1.72, 1.66, // Actinides (Cm..No) 1.66, 1.68, 1.68, 1.65, 1.67, 1.73, 1.76, // Trans-actinides 1.61, 1.57, 1.49, 1.43, 1.41, 1.34, 1.29, 1.28, 1.21, 1.22, 1.36, 1.43, 1.62, 1.75, 1.65, 1.57 }; unsigned char element_color[][3] = { // See, for example http://jmol.sourceforge.net/jscolors/index.en.html // Changes - H is not completely white to add contrast on light backgrounds // - C is slightly darker (i.e. 50% gray - consistent with Avo1) // - F is bluer to add contrast with Cl (e.g. CFC compounds) // # Du # H # He { 17, 127, 178 }, { 240, 240, 240 }, { 217, 255, 255 }, { 204, 128, 255 }, // # Be, B, C, N { 194, 255, 0 }, { 255, 181, 181 }, { 127, 127, 127 }, { 48, 80, 255 }, // # O, F, Ne, Na { 255, 13, 13 }, { 178, 255, 255 }, { 178, 227, 245 }, { 171, 91, 242 }, // # Mg { 138, 255, 0 }, { 191, 166, 166 }, { 240, 200, 160 }, { 255, 128, 0 }, // # S { 255, 255, 48 }, { 31, 240, 31 }, { 128, 209, 227 }, { 143, 64, 212 }, // # Ca { 61, 255, 0 }, { 230, 230, 230 }, { 191, 194, 199 }, { 166, 166, 171 }, // # Cr { 138, 153, 199 }, { 156, 122, 199 }, { 224, 102, 51 }, { 240, 144, 160 }, // # Ni { 80, 208, 80 }, { 200, 128, 51 }, { 125, 128, 176 }, { 194, 143, 143 }, // # Ge { 102, 143, 143 }, { 189, 128, 227 }, { 255, 161, 0 }, { 166, 41, 41 }, // # Kr { 92, 184, 209 }, { 112, 46, 176 }, { 0, 255, 0 }, { 148, 255, 255 }, // # Zr { 148, 224, 224 }, { 115, 194, 201 }, { 84, 181, 181 }, { 59, 158, 158 }, // # Ru { 36, 143, 143 }, { 10, 125, 140 }, { 0, 105, 133 }, { 192, 192, 192 }, // # Cd { 255, 217, 143 }, { 166, 117, 115 }, { 102, 128, 128 }, { 158, 99, 181 }, // # Te { 211, 122, 0 }, { 148, 0, 148 }, { 66, 158, 176 }, { 87, 23, 143 }, // # Ba { 0, 201, 0 }, { 112, 212, 255 }, { 255, 255, 199 }, { 217, 255, 199 }, // # Nd { 199, 255, 199 }, { 163, 255, 199 }, { 143, 255, 199 }, { 97, 255, 199 }, // # Gd { 69, 255, 199 }, { 48, 255, 199 }, { 31, 255, 199 }, { 0, 255, 156 }, // # Er { 0, 230, 117 }, { 0, 212, 82 }, { 0, 191, 56 }, { 0, 171, 36 }, // # Hf { 77, 194, 255 }, { 77, 166, 255 }, { 33, 148, 214 }, { 38, 102, 150 }, // # Os { 38, 102, 150 }, { 23, 84, 135 }, { 208, 208, 224 }, { 255, 209, 35 }, // # Hg { 184, 194, 208 }, { 166, 84, 77 }, { 87, 89, 97 }, { 158, 79, 181 }, // # Po { 171, 92, 0 }, { 117, 79, 69 }, { 66, 130, 150 }, { 66, 0, 102 }, { 0, 124, 0 }, { 112, 170, 249 }, { 0, 186, 255 }, { 0, 160, 255 }, { 0, 142, 255 }, { 0, 127, 255 }, { 0, 107, 255 }, { 84, 91, 242 }, { 119, 91, 226 }, { 137, 79, 226 }, { 160, 53, 211 }, { 178, 30, 211 }, { 178, 30, 186 }, { 178, 12, 165 }, { 188, 12, 135 }, { 198, 0, 102 }, { 204, 0, 89 }, { 209, 0, 79 }, { 216, 0, 68 }, { 224, 0, 56 }, { 229, 0, 45 }, { 232, 0, 38 }, { 234, 0, 35 }, { 237, 0, 33 }, { 239, 0, 30 }, { 242, 0, 28 }, { 244, 0, 25 }, { 247, 0, 22 }, { 249, 0, 20 }, { 252, 0, 17 }, { 255, 0, 15 } }; } } #endif avogadrolibs-1.93.0/avogadro/core/elements.cpp000066400000000000000000000162231360735163600213500ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "elements.h" #include "avogadrocore.h" #include "elementdata.h" #include "utilities.h" #include #include #include using Avogadro::Core::isCustomElement; namespace Avogadro { namespace Core { // Handle custom element identifiers: namespace { const static std::string CustomElementSymbolPrefix = "X"; const static std::string CustomElementNamePrefix = "CustomElement_"; static std::vector CustomElementSymbols; static std::vector CustomElementNames; // Match carbon's radii static double CustomElementCovalentRadius = element_covalent[6]; static double CustomElementVDWRadius = element_VDW[6]; inline std::string encodeCustomElement(unsigned char atomicNumber) { std::string result; if (isCustomElement(atomicNumber)) { result.resize(2); unsigned char index = atomicNumber - Avogadro::CustomElementMin; result[0] = 'a' + static_cast(index / 26); result[1] = 'a' + static_cast(index % 26); } return result; } inline unsigned char decodeCustomElement(const std::string& str) { if (str.size() == 2) { if (str[0] >= 'a' && str[0] <= 'z' && str[1] >= 'a' && str[1] <= 'z') { return CustomElementMin + static_cast(str[0] - 'a') * 26 + static_cast(str[1] - 'a'); } } return Avogadro::InvalidElement; } inline unsigned char interpretCustomElementName(const std::string& name) { if (startsWith(name, CustomElementNamePrefix)) { const std::string number(name.substr(CustomElementNamePrefix.size())); return decodeCustomElement(number); } return InvalidElement; } inline std::string createCustomElementName(unsigned char atomicNumber) { return CustomElementNamePrefix + encodeCustomElement(atomicNumber); } inline const char* customElementName(unsigned char atomicNumber) { return CustomElementNames[atomicNumber - CustomElementMin].c_str(); } inline unsigned char interpretCustomElementSymbol(const std::string& symbol) { if (symbol.size() == 3) return decodeCustomElement(symbol.substr(1)); return InvalidElement; } inline std::string createCustomElementSymbol(unsigned char atomicNumber) { return CustomElementSymbolPrefix + encodeCustomElement(atomicNumber); } inline const char* customElementSymbol(unsigned char atomicNumber) { return CustomElementSymbols[atomicNumber - CustomElementMin].c_str(); } inline unsigned char* customElementColor(unsigned char atomicNumber) { return Core::element_color[atomicNumber % element_count]; } // Initialize the static lookup tables. class InitializeCustomElementTables { public: InitializeCustomElementTables() { CustomElementSymbols.resize(CustomElementCount); CustomElementNames.resize(CustomElementCount); std::string suffix; for (unsigned char i = CustomElementMin; i <= CustomElementMax; ++i) { suffix = encodeCustomElement(i); CustomElementSymbols[i - CustomElementMin] = CustomElementSymbolPrefix + suffix; CustomElementNames[i - CustomElementMin] = CustomElementNamePrefix + suffix; } } } CustomElementTableInitializer; } // end anon namespace Elements::Elements() { } Elements::~Elements() { } unsigned char Elements::elementCount() { return element_count; } unsigned char Elements::atomicNumberFromName(const std::string& name) { for (unsigned char i = 0; i < element_count; ++i) if (name == element_names[i]) return i; return interpretCustomElementName(name); } unsigned char Elements::atomicNumberFromSymbol(const std::string& symbol) { if (symbol.length() == 1) { switch (symbol[0]) { case 'H': return 1; case 'B': return 5; case 'C': return 6; case 'N': return 7; case 'O': return 8; case 'F': return 9; case 'P': return 15; case 'S': return 16; case 'K': return 19; case 'V': return 23; case 'Y': return 39; case 'I': return 53; case 'W': return 74; case 'U': return 92; default: return InvalidElement; } } else { for (unsigned char i = 0; i < element_count; ++i) if (symbol == element_symbols[i]) return i; return interpretCustomElementSymbol(symbol); } } unsigned char Elements::guessAtomicNumber(const std::string& inputStr) { std::string str(trimmed(inputStr)); if (str.empty()) return InvalidElement; // atomic number? bool ok; int atomicNumberInt = lexicalCast(str, ok); if (ok) return static_cast(atomicNumberInt); // Format string as text std::transform(str.begin(), str.end(), str.begin(), tolower); str[0] = static_cast(toupper(static_cast(str[0]))); int length = str.size(); unsigned char atomicNumber; while (length > 0) { if (length > 3) atomicNumber = atomicNumberFromName(str.substr(0, length)); else atomicNumber = atomicNumberFromSymbol(str.substr(0, length)); if (atomicNumber != InvalidElement) break; length--; } return atomicNumber; } const char* Elements::name(unsigned char atomicNumber) { if (atomicNumber < element_count) return element_names[atomicNumber]; else if (isCustomElement(atomicNumber)) return customElementName(atomicNumber); else return element_names[0]; } const char* Elements::symbol(unsigned char atomicNumber) { if (atomicNumber < element_count) return element_symbols[atomicNumber]; else if (isCustomElement(atomicNumber)) return customElementSymbol(atomicNumber); else return element_symbols[0]; } double Elements::mass(unsigned char atomicNumber) { if (atomicNumber < element_count) return element_masses[atomicNumber]; else return element_masses[0]; } double Elements::radiusVDW(unsigned char atomicNumber) { if (atomicNumber < element_count) return element_VDW[atomicNumber]; else if (isCustomElement(atomicNumber)) return CustomElementVDWRadius; else return element_VDW[0]; } double Elements::radiusCovalent(unsigned char atomicNumber) { if (atomicNumber < element_count) return element_covalent[atomicNumber]; else if (isCustomElement(atomicNumber)) return CustomElementCovalentRadius; else return element_covalent[0]; } const unsigned char* Elements::color(unsigned char atomicNumber) { if (atomicNumber < element_count) return element_color[atomicNumber]; else if (isCustomElement(atomicNumber)) return customElementColor(atomicNumber); else return element_color[0]; } } // end Core namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/core/elements.h000066400000000000000000000075601360735163600210210ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_ELEMENTS_H #define AVOGADRO_CORE_ELEMENTS_H #include "avogadrocore.h" #include namespace Avogadro { namespace Core { /** * @class Elements elements.h * @brief The Elements class stores basic data about chemical elements. * * The elements class gives a simple interface to basic data about chemical * elements. The data is automatically generated from the Blue Obelisk data * repository. * * The atomic numbers between the symbolic constants CustomElementMin and * CustomElementMax are used to represent non-elemental entities, such as * particles or structures units from MD simulations. Custom elements names and * symbols are returned as name="CustomElement_aa" and symbol="Xaa", where 'aa' * is some combination of lowercase letters that is unique to the particular * custom element atomic number. For all custom elements, the radii will match * Carbon, the color is random (but consistent), and the mass is zero. */ class AVOGADROCORE_EXPORT Elements { public: Elements(); ~Elements(); /** Get the number of elements in the database. */ static unsigned char elementCount(); /** * Get the atomic number from the supplied element name. If the name is not * recognised then Avogadro::InvalidElement will be returned. 0 represents the * dummy atom ("Dummy"). * @note The input string is expected to be lowercase with the first letter * capitalized. */ static unsigned char atomicNumberFromName(const std::string& name); /** * Get the atomic number from the supplied symbol. If the symbol is not * recognised then Avogadro::InvalidElement will be returned. 0 represents the * dummy atom ("Xx"). * @note The input string is expected to be lowercase with the first letter * capitalized. */ static unsigned char atomicNumberFromSymbol(const std::string& symbol); /** * Given a string, attempt to identify an element symbol, name, or atomic * number. This method is slower and less reliable than the * atomicNumberFrom*() methods, and is only intended for making an initial * guess of user input. * @return the atomic number that best matches the string, or InvalidElement * if no match can be made. */ static unsigned char guessAtomicNumber(const std::string& str); /** Get the name of the element with the supplied atomic number. */ static const char* name(unsigned char atomicNumber); /** Get the symbol of the element with the supplied atomic number. */ static const char* symbol(unsigned char atomicNumber); /** Get the mass of the element with the supplied atomic number. */ static double mass(unsigned char atomicNumber); /** * Get the Van der Waals radius of the element with the supplied atomic * number. */ static double radiusVDW(unsigned char atomicNumber); /** Get the covalent radius of the element with the supplied atomic number. */ static double radiusCovalent(unsigned char atomicNumber); /** * Get the default color of the element with the supplied atomic number. * This is a pointer to a static three component unsigned char color. */ static const unsigned char* color(unsigned char atomicNumber); }; } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_ELEMENTS_H avogadrolibs-1.93.0/avogadro/core/gaussianset.cpp000066400000000000000000000450761360735163600220720ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2008 Albert De Fusco Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gaussianset.h" #include "molecule.h" #include #include using std::cout; using std::endl; using std::vector; namespace Avogadro { namespace Core { GaussianSet::GaussianSet() : m_numMOs(0), m_init(false) { m_scfType = Rhf; } GaussianSet::~GaussianSet() { } unsigned int GaussianSet::addBasis(unsigned int atom, orbital type) { // Count the number of independent basis functions switch (type) { case S: ++m_numMOs; break; case P: m_numMOs += 3; break; case SP: m_numMOs += 4; break; case D: m_numMOs += 6; break; case D5: m_numMOs += 5; break; case F: m_numMOs += 10; break; case F7: m_numMOs += 7; break; default: // Should never hit here ; } m_init = false; // Add to the new data structure, delete the old soon m_symmetry.push_back(type); m_atomIndices.push_back(atom); return static_cast(m_symmetry.size() - 1); } unsigned int GaussianSet::addGto(unsigned int basis, double c, double a) { if (m_gtoIndices.size() == basis) { m_gtoIndices.push_back(static_cast(m_gtoA.size())); } else if (m_gtoIndices.size() < basis) { cout << "Error, attempted to add a GTO for a basis too early. GTOs must be " << "added in order to ensure correct indexing.\n"; return 69696969; } m_gtoA.push_back(a); m_gtoC.push_back(c); return static_cast(m_gtoA.size() - 1); } void GaussianSet::setMolecularOrbitals(const vector& MOs, ElectronType type) { if (!m_numMOs) return; m_init = false; size_t index(0); if (type == Beta) index = 1; // Some programs don't output all MOs, so we take the amount of data // and divide by the number of atomic orbital functions. unsigned int columns = static_cast(MOs.size()) / m_numMOs; // cout << " Add MOs: " << m_numMOs << columns << endl; m_moMatrix[index].resize(m_numMOs, columns); for (unsigned int j = 0; j < columns; ++j) for (unsigned int i = 0; i < m_numMOs; ++i) m_moMatrix[index].coeffRef(i, j) = MOs[i + j * m_numMOs]; } void GaussianSet::setMolecularOrbitals(const vector& MOs, ElectronType type, Index idx) { if (!m_numMOs) return; size_t index = 0; if (type == Beta) index = 1; unsigned int columns = static_cast(MOs.size()) / m_numMOs; MatrixX moMatrix; moMatrix.resize(m_numMOs, columns); for (unsigned int j = 0; j < columns; ++j) for (unsigned int i = 0; i < m_numMOs; ++i) moMatrix.coeffRef(i, j) = MOs[i + j * m_numMOs]; if (idx <= m_moMatrixSet[index].size()) m_moMatrixSet[index].resize(idx + 1); m_moMatrixSet[index][idx] = moMatrix; } bool GaussianSet::setActiveSetStep(int index) { if (index >= static_cast(m_moMatrixSet[0].size()) || index >= static_cast(m_moMatrixSet[1].size())) { return false; } if (index >= m_molecule->coordinate3dCount()) return false; m_moMatrix[0] = m_moMatrixSet[0][index]; m_moMatrix[1] = m_moMatrixSet[1][index]; m_molecule->setCoordinate3d(index); return true; } void GaussianSet::setMolecularOrbitalEnergy(const vector& energies, ElectronType type) { if (type == Beta) m_moEnergy[1] = energies; else m_moEnergy[0] = energies; } void GaussianSet::setMolecularOrbitalOccupancy(const vector& occ, ElectronType type) { if (type == Beta) m_moOccupancy[1] = occ; else m_moOccupancy[0] = occ; } void GaussianSet::setMolecularOrbitalNumber(const vector& nums, ElectronType type) { if (type == Beta) m_moNumber[1] = nums; else m_moNumber[0] = nums; } bool GaussianSet::setDensityMatrix(const MatrixX& m) { m_density.resize(m.rows(), m.cols()); m_density = m; return true; } bool GaussianSet::setSpinDensityMatrix(const MatrixX& m) { m_spinDensity.resize(m.rows(), m.cols()); m_spinDensity = m; return true; } bool GaussianSet::generateDensityMatrix() { // FIXME: Finish me! return true; } unsigned int GaussianSet::molecularOrbitalCount(ElectronType type) { size_t index(0); if (type == Beta) index = 1; return static_cast(m_moMatrix[index].rows()); } void GaussianSet::outputAll(ElectronType type) { size_t index(0); if (type == Beta) index = 1; // Can be called to print out a summary of the basis set as read in unsigned int numAtoms = static_cast(m_molecule->atomCount()); cout << "\nGaussian Basis Set\nNumber of atoms:" << numAtoms << endl; switch (m_scfType) { case Rhf: cout << "RHF orbitals" << endl; break; case Uhf: cout << "UHF orbitals" << endl; break; case Rohf: cout << "ROHF orbitals" << endl; break; default: cout << "Unknown orbitals" << endl; } initCalculation(); cout << "Number of electrons = " << m_electrons[index] << endl; if (!isValid()) { cout << "Basis set is marked as invalid." << endl; return; } for (size_t i = 0; i < m_symmetry.size(); ++i) { cout << i << "\tAtom Index: " << m_atomIndices[i] << "\tSymmetry: " << m_symmetry[i] << "\tMO Index: " << m_moIndices[i] << "\tGTO Index: " << m_gtoIndices[i] << endl; } cout << "Symmetry: " << m_symmetry.size() << "\tgtoIndices: " << m_gtoIndices.size() << "\tLast gtoIndex: " << m_gtoIndices[m_symmetry.size()] << "\ngto size: " << m_gtoA.size() << " " << m_gtoC.size() << " " << m_gtoCN.size() << endl; for (size_t i = 0; i < m_symmetry.size(); ++i) { switch (m_symmetry[i]) { case S: cout << "Shell " << i << "\tS\n MO 1\t" << m_moMatrix[index](0, m_moIndices[i]) << "\t" << m_moMatrix[index](m_moIndices[i], 0) << endl; break; case P: cout << "Shell " << i << "\tP\n MO 1\t" << m_moMatrix[index](0, m_moIndices[i]) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 1) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 2) << endl; break; case D: cout << "Shell " << i << "\tD\n MO 1\t" << m_moMatrix[index](0, m_moIndices[i]) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 1) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 2) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 3) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 4) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 5) << endl; break; case D5: cout << "Shell " << i << "\tD5\n MO 1\t" << m_moMatrix[index](0, m_moIndices[i]) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 1) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 2) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 3) << "\t" << m_moMatrix[index](0, m_moIndices[i] + 4) << endl; break; case F: cout << "Shell " << i << "\tF\n MO 1"; for (short j = 0; j < 10; ++j) cout << "\t" << m_moMatrix[index](0, m_moIndices[i] + j); cout << endl; break; case F7: cout << "Shell " << i << "\tF7\n MO 1"; for (short j = 0; j < 7; ++j) cout << "\t" << m_moMatrix[index](0, m_moIndices[i] + j); cout << endl; break; default: cout << "Error: unhandled type...\n"; } unsigned int cIndex = m_gtoIndices[i]; for (size_t j = m_gtoIndices[i]; j < m_gtoIndices[i + 1]; ++j) { if (j >= m_gtoA.size()) { cout << "Error, j is too large!" << j << m_gtoA.size() << endl; continue; } cout << cIndex << "\tc: " << m_gtoC[cIndex] << "\ta: " << m_gtoA[cIndex] << endl; ++cIndex; } } cout << "\nEnd of orbital data...\n"; } bool GaussianSet::isValid() { // TODO: Something useful here again - check the basis set makes sense... return true; } void GaussianSet::initCalculation() { if (m_init) return; // This currently just involves normalising all contraction coefficients m_gtoCN.clear(); // Initialise the new data structures that are hopefully more efficient unsigned int indexMO = 0; unsigned int skip = 0; // for unimplemented shells m_moIndices.resize(m_symmetry.size()); // Add a final entry to the gtoIndices m_gtoIndices.push_back(static_cast(m_gtoA.size())); for (unsigned int i = 0; i < m_symmetry.size(); ++i) { switch (m_symmetry[i]) { case S: m_moIndices[i] = indexMO++; m_cIndices.push_back(static_cast(m_gtoCN.size())); // Normalization of the S-type orbitals (normalization used in JMol) // (8 * alpha^3 / pi^3)^0.25 * exp(-alpha * r^2) for (unsigned j = m_gtoIndices[i]; j < m_gtoIndices[i + 1]; ++j) { m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 0.75) * 0.71270547); } break; case P: m_moIndices[i] = indexMO; indexMO += 3; m_cIndices.push_back(static_cast(m_gtoCN.size())); // Normalization of the P-type orbitals (normalization used in JMol) // (128 alpha^5 / pi^3)^0.25 * [x|y|z]exp(-alpha * r^2) for (unsigned j = m_gtoIndices[i]; j < m_gtoIndices[i + 1]; ++j) { m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 1.25) * 1.425410941); m_gtoCN.push_back(m_gtoCN.back()); m_gtoCN.push_back(m_gtoCN.back()); } break; case D: // Cartesian - 6 d components // Order in xx, yy, zz, xy, xz, yz m_moIndices[i] = indexMO; indexMO += 6; m_cIndices.push_back(static_cast(m_gtoCN.size())); // Normalization of the P-type orbitals (normalization used in JMol) // xx|yy|zz: (2048 alpha^7/9pi^3)^0.25 [xx|yy|zz]exp(-alpha r^2) // xy|xz|yz: (2048 alpha^7/pi^3)^0.25 [xy|xz|yz]exp(-alpha r^2) for (unsigned j = m_gtoIndices[i]; j < m_gtoIndices[i + 1]; ++j) { m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 1.75) * 1.645922781); m_gtoCN.push_back(m_gtoCN.back()); m_gtoCN.push_back(m_gtoCN.back()); m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 1.75) * 2.850821881); m_gtoCN.push_back(m_gtoCN.back()); m_gtoCN.push_back(m_gtoCN.back()); } break; case D5: // Spherical - 5 d components // Order in d0, d+1, d-1, d+2, d-2 // Form d(z^2-r^2), dxz, dyz, d(x^2-y^2), dxy m_moIndices[i] = indexMO; indexMO += 5; m_cIndices.push_back(static_cast(m_gtoCN.size())); for (unsigned j = m_gtoIndices[i]; j < m_gtoIndices[i + 1]; ++j) { m_gtoCN.push_back( m_gtoC[j] * pow(2048 * pow(m_gtoA[j], 7.0) / (9.0 * M_PI * M_PI * M_PI), 0.25)); m_gtoCN.push_back( m_gtoC[j] * pow(2048 * pow(m_gtoA[j], 7.0) / (M_PI * M_PI * M_PI), 0.25)); m_gtoCN.push_back(m_gtoCN.back()); // I think this is correct but really need to check... m_gtoCN.push_back( m_gtoC[j] * pow(128 * pow(m_gtoA[j], 7.0) / (M_PI * M_PI * M_PI), 0.25)); m_gtoCN.push_back( m_gtoC[j] * pow(2048 * pow(m_gtoA[j], 7.0) / (M_PI * M_PI * M_PI), 0.25)); } break; case F: /* Thanks, Jmol Cartesian forms for f (l = 3) basis functions: Type Normalization xxx [(32768 * alpha^9) / (225 * pi^3))]^(1/4) xxy [(32768 * alpha^9) / (9 * pi^3))]^(1/4) xxz [(32768 * alpha^9) / (9 * pi^3))]^(1/4) xyy [(32768 * alpha^9) / (9 * pi^3))]^(1/4) xyz [(32768 * alpha^9) / (1 * pi^3))]^(1/4) xzz [(32768 * alpha^9) / (9 * pi^3))]^(1/4) yyy [(32768 * alpha^9) / (225 * pi^3))]^(1/4) yyz [(32768 * alpha^9) / (9 * pi^3))]^(1/4) yzz [(32768 * alpha^9) / (9 * pi^3))]^(1/4) zzz [(32768 * alpha^9) / (225 * pi^3))]^(1/4) Thank you, Python pi = 3.141592653589793 (32768./225./(pi**3.))**(0.25) = 1.4721580892990938 (32768./9./(pi**3.))**(0.25) = 3.291845561298979 (32768./(pi**3.))**(0.25) = 5.701643762839922 */ { double norm1 = 1.4721580892990938; double norm2 = 3.291845561298979; double norm3 = 5.701643762839922; m_moIndices[i] = indexMO; indexMO += 10; m_cIndices.push_back(static_cast(m_gtoCN.size())); for (unsigned j = m_gtoIndices[i]; j < m_gtoIndices[i + 1]; ++j) { m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm1); // xxx m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm2); // xxy m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm2); // xxz m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm2); // xyy m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm3); // xyz m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm2); // xzz m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm1); // yyy m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm2); // yyz m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm2); // yzz m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm1); // zzz } } break; case F7: { // m-independent normalization factor // math.sqrt(2.**(3.+3./2.))/(math.pi**(3./4.))*math.sqrt(2.**3. / 15.) // same as norm1 above. double norm = 1.4721580892990935; m_moIndices[i] = indexMO; indexMO += 7; m_cIndices.push_back(static_cast(m_gtoCN.size())); for (unsigned j = m_gtoIndices[i]; j < m_gtoIndices[i + 1]; ++j) { m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm); // 0 m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm); //+1 m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm); //-1 m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm); //+2 m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm); //-2 m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm); //+3 m_gtoCN.push_back(m_gtoC[j] * pow(m_gtoA[j], 2.25) * norm); //-3 } } break; case G: skip = 15; break; case G9: skip = 9; break; case H: skip = 21; break; case H11: skip = 11; break; case I: skip = 28; break; case I13: skip = 13; break; default: cout << "Basis set not handled - results may be incorrect.\n"; } if (skip) { cout << "Basis set not handled - results may be incorrect.\n"; m_moIndices[i] = indexMO; indexMO += skip; m_cIndices.push_back(static_cast(m_gtoCN.size())); skip = 0; } } m_init = true; } bool GaussianSet::generateDensity() { if (m_scfType == Unknown) return false; m_density.resize(m_numMOs, m_numMOs); m_density = MatrixX::Zero(m_numMOs, m_numMOs); for (unsigned int iBasis = 0; iBasis < m_numMOs; ++iBasis) { for (unsigned int jBasis = 0; jBasis <= iBasis; ++jBasis) { switch (m_scfType) { case Rhf: for (unsigned int iMO = 0; iMO < m_electrons[0] / 2; ++iMO) { double icoeff = m_moMatrix[0](iBasis, iMO); double jcoeff = m_moMatrix[0](jBasis, iMO); m_density(jBasis, iBasis) += 2.0 * icoeff * jcoeff; m_density(iBasis, jBasis) = m_density(jBasis, iBasis); } cout << iBasis << ", " << jBasis << ": " << m_density(iBasis, jBasis) << endl; break; case Uhf: for (unsigned int iaMO = 0; iaMO < m_electrons[0]; ++iaMO) { double icoeff = m_moMatrix[0](iBasis, iaMO); double jcoeff = m_moMatrix[0](jBasis, iaMO); m_density(jBasis, iBasis) += icoeff * jcoeff; m_density(iBasis, jBasis) = m_density(jBasis, iBasis); } for (unsigned int ibMO = 0; ibMO < m_electrons[1]; ibMO++) { double icoeff = m_moMatrix[1](iBasis, ibMO); double jcoeff = m_moMatrix[1](jBasis, ibMO); m_density(jBasis, iBasis) += icoeff * jcoeff; m_density(iBasis, jBasis) = m_density(jBasis, iBasis); } cout << iBasis << ", " << jBasis << ": " << m_density(iBasis, jBasis) << endl; break; default: cout << "Unhandled scf type:" << m_scfType << endl; } } } return true; } bool GaussianSet::generateSpinDensity() { if (m_scfType != Uhf) return false; m_spinDensity.resize(m_numMOs, m_numMOs); m_spinDensity = MatrixX::Zero(m_numMOs, m_numMOs); for (unsigned int iBasis = 0; iBasis < m_numMOs; ++iBasis) { for (unsigned int jBasis = 0; jBasis <= iBasis; ++jBasis) { for (unsigned int iaMO = 0; iaMO < m_electrons[0]; ++iaMO) { double icoeff = m_moMatrix[0](iBasis, iaMO); double jcoeff = m_moMatrix[0](jBasis, iaMO); m_spinDensity(jBasis, iBasis) += icoeff * jcoeff; m_spinDensity(iBasis, jBasis) = m_spinDensity(jBasis, iBasis); } for (unsigned int ibMO = 0; ibMO < m_electrons[1]; ++ibMO) { double icoeff = m_moMatrix[1](iBasis, ibMO); double jcoeff = m_moMatrix[1](jBasis, ibMO); m_spinDensity(jBasis, iBasis) -= icoeff * jcoeff; m_spinDensity(iBasis, jBasis) = m_spinDensity(jBasis, iBasis); } cout << iBasis << ", " << jBasis << ": " << m_spinDensity(iBasis, jBasis) << endl; } } return true; } } // End namespace Core } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/core/gaussianset.h000066400000000000000000000264051360735163600215320ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2008 Albert De Fusco Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_GAUSSIANSET_H #define AVOGADRO_CORE_GAUSSIANSET_H #include "basisset.h" #include #include #include namespace Avogadro { namespace Core { /** * Enumeration of the SCF type. */ enum ScfType { Rhf, Uhf, Rohf, Unknown }; /** * @class GaussianSet gaussianset.h * @brief A container for Gaussian type outputs from QM codes. * @author Marcus D. Hanwell * * The GaussianSet class has a transparent data structure for storing the basis * sets output by many quantum mechanical codes. It has a certain hierarchy * where shells are built up from n primitives, in this case Gaussian Type * Orbitals (GTOs). Each shell has a type (S, P, D, F, etc) and is composed of * one or more GTOs. Each GTO has a contraction coefficient, c, and an exponent, * a. * * When calculating Molecular Orbitals (MOs) each orthogonal shell has an * independent coefficient. That is the S type orbitals have one coefficient, * the P type orbitals have three coefficients (Px, Py and Pz), the D type * orbitals have five (or six if cartesian types) coefficients, and so on. */ class AVOGADROCORE_EXPORT GaussianSet : public BasisSet { public: /** * Constructor. */ GaussianSet(); /** * Destructor. */ ~GaussianSet() override; /** * Clone. */ GaussianSet* clone() const override { return new GaussianSet(*this); } /** * Enumeration of the Gaussian type orbitals. */ enum orbital { S, SP, P, D, D5, F, F7, G, G9, H, H11, I, I13, UU }; /** * Add a basis to the basis set. * @param atom Index of the atom to add the Basis to. * @param type The type of the Basis being added. * @return The index of the added Basis. */ unsigned int addBasis(unsigned int atom, orbital type); /** * Add a GTO to the supplied basis. * @param basis The index of the Basis to add the GTO to. * @param c The contraction coefficient of the GTO. * @param a The exponent of the GTO. * @return The index of the added GTO. */ unsigned int addGto(unsigned int basis, double c, double a); /** * Set the molecular orbital (MO) coefficients to the GaussianSet. * @param MOs Vector containing the MO coefficients for the GaussianSet. * @param type The type of the MOs (Paired, Alpha, Beta). */ void setMolecularOrbitals(const std::vector& MOs, ElectronType type = Paired); /** * Set the molecular orbital (MO) coefficients for a given index. Note * that this must be used with coordinate sets to work correctly. * @param MOs Vector containing the MO coefficients for the GaussianSet. * @param type The type of the MOs (Paired, Alpha, Beta). * @param index The index of the MO in the sequence. */ void setMolecularOrbitals(const std::vector& MOs, ElectronType type, Index index); /** * Get the number of elements in the set. */ int setCount() { return static_cast(m_moMatrixSet[0].size()); } /** * Set the active element in the set, this expects a corresponding * coordinate set element, and will change the active MO matrix. */ bool setActiveSetStep(int index); /** * @brief Set the molecular orbital energies, expected in Hartrees. * @param energies The vector containing energies for the MOs of type * @param type The type of the electrons being set. */ void setMolecularOrbitalEnergy(const std::vector& energies, ElectronType type = Paired); /** * @brief Set the molecular orbital occupancies. * @param occ The occupancies for the MOs of type. * @param type The type of the electrons being set. */ void setMolecularOrbitalOccupancy(const std::vector& occ, ElectronType type = Paired); /** * @brief This enables support of sparse orbital sets, and provides a mapping * from the index in memory to the actual molecular orbital number. * @param nums The MO numbers (starting with an index of 1 for the first one). * @param type The MO type (Paired, Alpha, Beta). */ void setMolecularOrbitalNumber(const std::vector& nums, ElectronType type = Paired); /** * Set the SCF density matrix for the GaussianSet. */ bool setDensityMatrix(const MatrixX& m); /** * Set the spin density matrix for the GaussianSet. */ bool setSpinDensityMatrix(const MatrixX& m); /** * @brief Generate the density matrix if we have the required information. * @return True on success, false on failure. */ bool generateDensityMatrix(); /** * @return The number of molecular orbitals in the GaussianSet. */ unsigned int molecularOrbitalCount(ElectronType type = Paired) override; /** * Debug routine, outputs all of the data in the GaussianSet. * @param type The electrons to output the information for. */ void outputAll(ElectronType type = Paired); /** * @return True of the basis set is valid, false otherwise. * Default is true, if false then the basis set is likely unusable. */ bool isValid() override; /** * Set the SCF type for the object. */ void setScfType(ScfType type) { m_scfType = type; } /** * Get the SCF type for the object. */ ScfType scfType() const { return m_scfType; } /** * Set the functional name (if applicable). */ void setFunctionalName(const std::string& name) { m_functionalName = name; } /** * Get the functional name (empty if none used). */ std::string functionalName() const { return m_functionalName; } /** * Initialize the calculation, this must normally be done before anything. */ void initCalculation(); /** * Accessors for the various properties of the GaussianSet. */ std::vector& symmetry() { return m_symmetry; } std::vector symmetry() const { return m_symmetry; } std::vector& atomIndices() { return m_atomIndices; } std::vector atomIndices() const { return m_atomIndices; } std::vector& moIndices() { return m_moIndices; } std::vector moIndices() const { return m_moIndices; } std::vector& gtoIndices() { return m_gtoIndices; } std::vector gtoIndices() const { return m_gtoIndices; } std::vector& cIndices() { return m_cIndices; } std::vector cIndices() const { return m_cIndices; } std::vector& gtoA() { return m_gtoA; } std::vector gtoA() const { return m_gtoA; } std::vector& gtoC() { return m_gtoC; } std::vector gtoC() const { return m_gtoC; } std::vector& gtoCN() { initCalculation(); return m_gtoCN; } MatrixX& moMatrix(ElectronType type = Paired) { if (type == Paired || type == Alpha) return m_moMatrix[0]; else return m_moMatrix[1]; } MatrixX moMatrix(ElectronType type = Paired) const { if (type == Paired || type == Alpha) return m_moMatrix[0]; else return m_moMatrix[1]; } std::vector& moEnergy(ElectronType type = Paired) { if (type == Paired || type == Alpha) return m_moEnergy[0]; else return m_moEnergy[1]; } std::vector moEnergy(ElectronType type = Paired) const { if (type == Paired || type == Alpha) return m_moEnergy[0]; else return m_moEnergy[1]; } std::vector& moOccupancy(ElectronType type = Paired) { if (type == Paired || type == Alpha) return m_moOccupancy[0]; else return m_moOccupancy[1]; } std::vector moOccupancy(ElectronType type = Paired) const { if (type == Paired || type == Alpha) return m_moOccupancy[0]; else return m_moOccupancy[1]; } std::vector& moNumber(ElectronType type = Paired) { if (type == Paired || type == Alpha) return m_moNumber[0]; else return m_moNumber[1]; } std::vector moNumber(ElectronType type = Paired) const { if (type == Paired || type == Alpha) return m_moNumber[0]; else return m_moNumber[1]; } MatrixX& densityMatrix() { return m_density; } MatrixX& spinDensityMatrix() { return m_spinDensity; } private: /** * @brief This group is used once, and refers to the entire molecule. */ std::vector m_symmetry; //! Symmetry of the basis, S, P... std::vector m_atomIndices; //! Indices into the atomPos vector std::vector m_moIndices; //! Indices into the MO/density matrix std::vector m_gtoIndices; //! Indices into the GTO vector std::vector m_cIndices; //! Indices into m_gtoCN std::vector m_gtoA; //! The GTO exponent std::vector m_gtoC; //! The GTO contraction coefficient std::vector m_gtoCN; //! The GTO contraction coefficient (normalized) /** * @brief This block can be once (doubly) or in two parts (alpha and beta) for * open shell calculations. */ MatrixX m_moMatrix[2]; //! MO coefficient matrix /** * @brief If there are a sequence of related MOs, they are stored here, and * set as the active MOs upon demand. Alpha will store Paired or the Alpha, * Beta will store Beta coefficients for the appropriate calculation types. */ std::vector m_moMatrixSet[2]; /** * @brief This block stores energies for the molecular orbitals (same * convention as the molecular orbital coefficients). */ std::vector m_moEnergy[2]; /** * @brief The occupancy of the molecular orbitals. */ std::vector m_moOccupancy[2]; /** * @brief This stores the molecular orbital number (when they are sparse). It * is used to lookup the actual index of the molecular orbital data. */ std::vector m_moNumber[2]; MatrixX m_density; //! Density matrix MatrixX m_spinDensity; //! Spin Density matrix unsigned int m_numMOs; //! The number of GTOs (not always!) bool m_init; //! Has the calculation been initialised? ScfType m_scfType; std::string m_functionalName; /** * @brief Generate the density matrix if we have the required information. * @return True on success, false on failure. */ bool generateDensity(); /** * @brief Generate the spin density matrix if we have the required * information. * @return True on success, false on failure. */ bool generateSpinDensity(); }; } // End Core namespace } // End Avogadro namespace #endif avogadrolibs-1.93.0/avogadro/core/gaussiansettools.cpp000066400000000000000000000351621360735163600231460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2008 Albert De Fusco Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gaussiansettools.h" #include "cube.h" #include "gaussianset.h" #include "molecule.h" #include using std::cout; using std::endl; using std::vector; namespace Avogadro { namespace Core { GaussianSetTools::GaussianSetTools(Molecule* mol) : m_molecule(mol) { if (m_molecule) m_basis = dynamic_cast(m_molecule->basisSet()); } GaussianSetTools::~GaussianSetTools() { } bool GaussianSetTools::calculateMolecularOrbital(Cube& cube, int moNumber) const { for (size_t i = 0; i < cube.data()->size(); ++i) { Vector3 pos = cube.position(i); cube.setValue(i, calculateMolecularOrbital(pos, moNumber)); } return true; } double GaussianSetTools::calculateMolecularOrbital(const Vector3& position, int mo) const { if (mo > static_cast(m_basis->molecularOrbitalCount())) return 0.0; vector values(calculateValues(position)); const MatrixX& matrix = m_basis->moMatrix(m_type); int matrixSize(static_cast(matrix.rows())); // Now calculate the value of the density at this point in space double result(0.0); for (int i = 0; i < matrixSize; ++i) result += matrix(i, mo) * values[i]; return result; } bool GaussianSetTools::calculateElectronDensity(Cube& cube) const { for (size_t i = 0; i < cube.data()->size(); ++i) { Vector3 pos = cube.position(i); cube.setValue(i, calculateElectronDensity(pos)); } return true; } double GaussianSetTools::calculateElectronDensity(const Vector3& position) const { const MatrixX& matrix = m_basis->densityMatrix(); int matrixSize(static_cast(m_basis->moMatrix().rows())); if (matrix.rows() != matrixSize || matrix.cols() != matrixSize) { return 0.0; } vector values(calculateValues(position)); // Now calculate the value of the density at this point in space double rho(0.0); for (int i = 0; i < matrixSize; ++i) { // Calculate the off-diagonal parts of the matrix for (int j = 0; j < i; ++j) rho += 2.0 * matrix(i, j) * (values[i] * values[j]); // Now calculate the matrix diagonal rho += matrix(i, i) * (values[i] * values[i]); } return rho; } bool GaussianSetTools::calculateSpinDensity(Cube& cube) const { for (size_t i = 0; i < cube.data()->size(); ++i) { Vector3 pos = cube.position(i); cube.setValue(i, calculateSpinDensity(pos)); } return true; } double GaussianSetTools::calculateSpinDensity(const Vector3& position) const { const MatrixX& matrix = m_basis->spinDensityMatrix(); int matrixSize(static_cast(m_basis->moMatrix().rows())); if (matrix.rows() != matrixSize || matrix.cols() != matrixSize) { return 0.0; } vector values(calculateValues(position)); // Now calculate the value of the density at this point in space double rho(0.0); for (int i = 0; i < matrixSize; ++i) { // Calculate the off-diagonal parts of the matrix for (int j = 0; j < i; ++j) rho += 2.0 * matrix(i, j) * (values[i] * values[j]); // Now calculate the matrix diagonal rho += matrix(i, i) * (values[i] * values[i]); } return rho; } bool GaussianSetTools::isValid() const { if (m_molecule && dynamic_cast(m_molecule->basisSet())) return true; else return false; } inline bool GaussianSetTools::isSmall(double val) const { if (val > -1e-20 && val < 1e-20) return true; else return false; } inline vector GaussianSetTools::calculateValues( const Vector3& position) const { m_basis->initCalculation(); Index atomsSize = m_molecule->atomCount(); size_t basisSize = m_basis->symmetry().size(); const std::vector& basis = m_basis->symmetry(); const std::vector& atomIndices = m_basis->atomIndices(); vector deltas; vector dr2; deltas.reserve(atomsSize); dr2.reserve(atomsSize); // Calculate our position Vector3 pos(position * ANGSTROM_TO_BOHR); // Calculate the deltas for the position for (Index i = 0; i < atomsSize; ++i) { deltas.push_back(pos - (m_molecule->atom(i).position3d() * ANGSTROM_TO_BOHR)); dr2.push_back(deltas[i].squaredNorm()); } // Allocate space for the values to be calculated. size_t matrixSize = m_basis->moMatrix().rows(); vector values; values.resize(matrixSize, 0.0); // Now calculate the values at this point in space for (unsigned int i = 0; i < basisSize; ++i) { switch (basis[i]) { case GaussianSet::S: pointS(i, dr2[atomIndices[i]], values); break; case GaussianSet::P: pointP(i, deltas[atomIndices[i]], dr2[atomIndices[i]], values); break; case GaussianSet::D: pointD(i, deltas[atomIndices[i]], dr2[atomIndices[i]], values); break; case GaussianSet::D5: pointD5(i, deltas[atomIndices[i]], dr2[atomIndices[i]], values); break; case GaussianSet::F: pointF(i, deltas[atomIndices[i]], dr2[atomIndices[i]], values); break; case GaussianSet::F7: pointF7(i, deltas[atomIndices[i]], dr2[atomIndices[i]], values); break; default: // Not handled - return a zero contribution ; } } return values; } inline void GaussianSetTools::pointS(unsigned int moIndex, double dr2, vector& values) const { // S type orbitals - the simplest of the calculations with one component double tmp = 0.0; unsigned int cIndex = m_basis->cIndices()[moIndex]; for (unsigned int i = m_basis->gtoIndices()[moIndex]; i < m_basis->gtoIndices()[moIndex + 1]; ++i) { tmp += m_basis->gtoCN()[cIndex++] * exp(-m_basis->gtoA()[i] * dr2); } // There is one MO coefficient per S shell basis. values[m_basis->moIndices()[moIndex]] = tmp; } inline void GaussianSetTools::pointP(unsigned int moIndex, const Vector3& delta, double dr2, vector& values) const { // P type orbitals have three components and each component has a different // independent MO weighting. Many things can be cached to save time though. unsigned int baseIndex = m_basis->moIndices()[moIndex]; Vector3 components(Vector3::Zero()); // Now iterate through the P type GTOs and sum their contributions unsigned int cIndex = m_basis->cIndices()[moIndex]; for (unsigned int i = m_basis->gtoIndices()[moIndex]; i < m_basis->gtoIndices()[moIndex + 1]; ++i) { double tmpGTO = exp(-m_basis->gtoA()[i] * dr2); for (unsigned int j = 0; j < 3; ++j) { // m_values[baseIndex + i] = m_basis->gtoCN()[cIndex++] * tmpGTO; components[j] += m_basis->gtoCN()[cIndex++] * tmpGTO; } } for (unsigned int i = 0; i < 3; ++i) values[baseIndex + i] = components[i] * delta[i]; } inline void GaussianSetTools::pointD(unsigned int moIndex, const Vector3& delta, double dr2, vector& values) const { // D type orbitals have six components and each component has a different // independent MO weighting. Many things can be cached to save time though. unsigned int baseIndex = m_basis->moIndices()[moIndex]; double components[6] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; vector& gtoA = m_basis->gtoA(); vector& gtoCN = m_basis->gtoCN(); // Now iterate through the D type GTOs and sum their contributions unsigned int cIndex = m_basis->cIndices()[moIndex]; for (unsigned int i = m_basis->gtoIndices()[moIndex]; i < m_basis->gtoIndices()[moIndex + 1]; ++i) { // Calculate the common factor double tmpGTO = exp(-gtoA[i] * dr2); for (int j = 0; j < 6; ++j) components[j] += gtoCN[cIndex++] * tmpGTO; } double componentsD[6] = { delta.x() * delta.x(), // xx delta.y() * delta.y(), // yy delta.z() * delta.z(), // zz delta.x() * delta.y(), // xy delta.x() * delta.z(), // xz delta.y() * delta.z() }; // yz for (int i = 0; i < 6; ++i) values[baseIndex + i] += components[i] * componentsD[i]; } inline void GaussianSetTools::pointD5(unsigned int moIndex, const Vector3& delta, double dr2, vector& values) const { // D type orbitals have five components and each component has a different // MO weighting. Many things can be cached to save time. unsigned int baseIndex = m_basis->moIndices()[moIndex]; double components[5] = { 0.0, 0.0, 0.0, 0.0, 0.0 }; vector& gtoA = m_basis->gtoA(); vector& gtoCN = m_basis->gtoCN(); // Now iterate through the D type GTOs and sum their contributions unsigned int cIndex = m_basis->cIndices()[moIndex]; for (unsigned int i = m_basis->gtoIndices()[moIndex]; i < m_basis->gtoIndices()[moIndex + 1]; ++i) { // Calculate the common factor double tmpGTO = exp(-gtoA[i] * dr2); for (int j = 0; j < 5; ++j) components[j] += gtoCN[cIndex++] * tmpGTO; } // Calculate the prefactors double xx = delta.x() * delta.x(); double yy = delta.y() * delta.y(); double zz = delta.z() * delta.z(); double xy = delta.x() * delta.y(); double xz = delta.x() * delta.z(); double yz = delta.y() * delta.z(); double componentsD[5] = { zz - dr2, // 0 xz, // 1p yz, // 1n xx - yy, // 2p xy }; // 2n for (int i = 0; i < 5; ++i) values[baseIndex + i] += componentsD[i] * components[i]; } inline void GaussianSetTools::pointF(unsigned int moIndex, const Vector3& delta, double dr2, vector& values) const { // F type orbitals have 10 components and each component has a different // independent MO weighting. Many things can be cached to save time though. unsigned int baseIndex = m_basis->moIndices()[moIndex]; double components[10] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; vector& gtoA = m_basis->gtoA(); vector& gtoCN = m_basis->gtoCN(); // Now iterate through the D type GTOs and sum their contributions unsigned int cIndex = m_basis->cIndices()[moIndex]; for (unsigned int i = m_basis->gtoIndices()[moIndex]; i < m_basis->gtoIndices()[moIndex + 1]; ++i) { // Calculate the common factor double tmpGTO = exp(-gtoA[i] * dr2); for (int j = 0; j < 10; ++j) components[j] += gtoCN[cIndex++] * tmpGTO; } double componentsF[10] = { delta.x() * delta.x() * delta.x(), // xxx delta.x() * delta.x() * delta.y(), // xxy delta.x() * delta.x() * delta.z(), // xxz delta.x() * delta.y() * delta.y(), // xyy delta.x() * delta.y() * delta.z(), // xyz delta.x() * delta.z() * delta.z(), // xzz delta.y() * delta.y() * delta.y(), // yyy delta.y() * delta.y() * delta.z(), // yyz delta.y() * delta.z() * delta.z(), // yzz delta.z() * delta.z() * delta.z() // zzz }; for (int i = 0; i < 10; ++i) values[baseIndex + i] += components[i] * componentsF[i]; } inline void GaussianSetTools::pointF7(unsigned int moIndex, const Vector3& delta, double dr2, vector& values) const { // F type orbitals have 7 components and each component has a different // independent MO weighting. Many things can be cached to save time though. unsigned int baseIndex = m_basis->moIndices()[moIndex]; double components[7] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; vector& gtoA = m_basis->gtoA(); vector& gtoCN = m_basis->gtoCN(); // Now iterate through the D type GTOs and sum their contributions unsigned int cIndex = m_basis->cIndices()[moIndex]; for (unsigned int i = m_basis->gtoIndices()[moIndex]; i < m_basis->gtoIndices()[moIndex + 1]; ++i) { // Calculate the common factor double tmpGTO = exp(-gtoA[i] * dr2); for (int j = 0; j < 7; ++j) components[j] += gtoCN[cIndex++] * tmpGTO; } double xxx = delta.x() * delta.x() * delta.x(); // xxx double xxy = delta.x() * delta.x() * delta.y(); // xxy double xxz = delta.x() * delta.x() * delta.z(); // xxz double xyy = delta.x() * delta.y() * delta.y(); // xyy double xyz = delta.x() * delta.y() * delta.z(); // xyz double xzz = delta.x() * delta.z() * delta.z(); // xzz double yyy = delta.y() * delta.y() * delta.y(); // yyy double yyz = delta.y() * delta.y() * delta.z(); // yyz double yzz = delta.y() * delta.z() * delta.z(); // yzz double zzz = delta.z() * delta.z() * delta.z(); // zzz /* spherical combinations borrowed from CASINO/Crystal documentation linear combination 3,0 z^3 - 3/2 * (x^2z + y^2z) 2z^3 - 3 * (x^2z + y^2z) * 2 3,1 6 * xz^2 - 3/2 * (x^3 + xy^2) 4xz^2 - x^3 - xy^2 * 2/3 3,-1 6 * yz^2 - 3/2 * (x^2y + y^3) 4yz^2 - x^2y - y^3 * 2/3 3,2 15 * (x^2z - y^2z) x^2z - y^2z * 1/15 3,-2 30 * xyz xyz * 1/30 3,3 15 * x^3 - 45 * xy^2 x^3 - 3xy^2 * 1/15 3,-3 45 * x^2y - 15 * y^3 3x^2y - y^3 * 1/15 final normalization (2 - delta_m,0) * (l - |m|)! * root ------------------------------ (m-dependent) (l + m)! */ double root6 = 2.449489742783178; double root60 = 7.745966692414834; double root360 = 18.973665961010276; double componentsF[7] = { zzz - 3.0 / 2.0 * (xxz + yyz), (6.0 * xzz - 3.0 / 2.0 * (xxx + xyy)) / root6, (6.0 * yzz - 3.0 / 2.0 * (xxy + yyy)) / root6, (15.0 * (xxz - yyz)) / root60, (30.0 * xyz) / root60, (15.0 * xxx - 45.0 * xyy) / root360, (45.0 * xxy - 15.0 * yyy) / root360 }; for (int i = 0; i < 7; ++i) values[baseIndex + i] += components[i] * componentsF[i]; } } // End Core namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/core/gaussiansettools.h000066400000000000000000000114171360735163600226100ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2008 Albert De Fusco Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_GAUSSIANSETTOOLS_H #define AVOGADRO_CORE_GAUSSIANSETTOOLS_H #include "avogadrocore.h" #include "basisset.h" #include "vector.h" #include namespace Avogadro { namespace Core { class Cube; class GaussianSet; class Molecule; /** * @class GaussianSetTools gaussiansettools.h * @brief Provide tools to calculate molecular orbitals, electron densities and * other derived data stored in a GaussianSet result. * @author Marcus D. Hanwell */ class AVOGADROCORE_EXPORT GaussianSetTools { public: explicit GaussianSetTools(Molecule* mol = 0); ~GaussianSetTools(); /** * @brief Set the electron type, must be called once MOs are available * @param type The electron type - Alpha, Beta, or Paired (default). */ void setElectronType(BasisSet::ElectronType type) { m_type = type; } /** * @brief Populate the cube with values for the molecular orbital. * @param cube The cube to be populated with values. * @param molecularOrbitalNumber The molecular orbital number. * @return True on success, false on failure. */ bool calculateMolecularOrbital(Cube& cube, int molecularOrbitalNumber) const; /** * @brief Calculate the value of the specified molecular orbital at the * position specified. * @param position The position in space to calculate the value. * @param molecularOrbitalNumber The molecular orbital number. * @return The value of the molecular orbital at the position specified. */ double calculateMolecularOrbital(const Vector3& position, int molecularOrbitalNumber) const; /** * @brief Populate the cube with values for the electron density. * @param cube The cube to be populated with values. * @return True on success, false on failure. */ bool calculateElectronDensity(Cube& cube) const; /** * @brief Calculate the value of the electron density at the position * specified. * @param position The position in space to calculate the value. * @return The value of the electron density at the position specified. */ double calculateElectronDensity(const Vector3& position) const; /** * @brief Populate the cube with values for the spin density. * @param cube The cube to be populated with values. * @return True on success, false on failure. */ bool calculateSpinDensity(Cube& cube) const; /** * @brief Calculate the value of the electron spin density at the position * specified. * @param position The position in space to calculate the value. * @return The value of the spin density at the position specified. */ double calculateSpinDensity(const Vector3& position) const; /** * @brief Check that the basis set is valid and can be used. * @return True if valid, false otherwise. */ bool isValid() const; private: Molecule* m_molecule; GaussianSet* m_basis; BasisSet::ElectronType m_type = BasisSet::Paired; bool isSmall(double value) const; /** * @brief Calculate the values at this position in space. The public calculate * functions call this function to prepare values before multiplying by the * molecular orbital or density matrix elements. * @param position The position in space to calculate the value. */ std::vector calculateValues(const Vector3& position) const; void pointS(unsigned int index, double dr2, std::vector& values) const; void pointP(unsigned int index, const Vector3& delta, double dr2, std::vector& values) const; void pointD(unsigned int index, const Vector3& delta, double dr2, std::vector& values) const; void pointD5(unsigned int index, const Vector3& delta, double dr2, std::vector& values) const; void pointF(unsigned int index, const Vector3& delta, double dr2, std::vector& values) const; void pointF7(unsigned int index, const Vector3& delta, double dr2, std::vector& values) const; }; } // End Core namespace } // End Avogadro namespace #endif // AVOGADRO_CORE_GAUSSIANSETTOOLS_H avogadrolibs-1.93.0/avogadro/core/graph.cpp000066400000000000000000000116421360735163600206350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "graph.h" #include #include namespace Avogadro { namespace Core { Graph::Graph() { } Graph::Graph(size_t n) : m_adjacencyList(n) { } Graph::~Graph() { } void Graph::setSize(size_t n) { // If the graph is being made smaller we first need to remove all of the edges // from the soon to be removed vertices. for (size_t i = n; i < m_adjacencyList.size(); i++) removeEdges(i); m_adjacencyList.resize(n); } size_t Graph::size() const { return m_adjacencyList.size(); } bool Graph::isEmpty() const { return m_adjacencyList.empty(); } void Graph::clear() { setSize(0); } size_t Graph::addVertex() { setSize(size() + 1); return size() - 1; } void Graph::removeVertex(size_t index) { assert(index < size()); // Remove the edges to the vertex. removeEdges(index); // Remove vertex's adjacency list. m_adjacencyList.erase(m_adjacencyList.begin() + index); } size_t Graph::vertexCount() const { return m_adjacencyList.size(); } void Graph::addEdge(size_t a, size_t b) { assert(a < size()); assert(b < size()); std::vector& neighborsA = m_adjacencyList[a]; std::vector& neighborsB = m_adjacencyList[b]; // Ensure edge does not exist already. if (std::find(neighborsA.begin(), neighborsA.end(), b) != neighborsA.end()) return; // Add the edge to each verticies adjacency list. neighborsA.push_back(b); neighborsB.push_back(a); } void Graph::removeEdge(size_t a, size_t b) { assert(a < size()); assert(b < size()); std::vector& neighborsA = m_adjacencyList[a]; std::vector& neighborsB = m_adjacencyList[b]; std::vector::iterator iter = std::find(neighborsA.begin(), neighborsA.end(), b); if (iter != neighborsA.end()) { neighborsA.erase(iter); neighborsB.erase(std::find(neighborsB.begin(), neighborsB.end(), a)); } } void Graph::removeEdges() { for (size_t i = 0; i < m_adjacencyList.size(); ++i) m_adjacencyList[i].clear(); } void Graph::removeEdges(size_t index) { const std::vector& nbrs = m_adjacencyList[index]; for (size_t i = 0; i < nbrs.size(); ++i) { std::vector& neighborsList = m_adjacencyList[nbrs[i]]; // Remove vertex from its neighbors' adjacency list. neighborsList.erase( std::find(neighborsList.begin(), neighborsList.end(), index)); } } size_t Graph::edgeCount() const { size_t count = 0; for (size_t i = 0; i < size(); ++i) count += neighbors(i).size(); return count / 2; } const std::vector& Graph::neighbors(size_t index) const { assert(index < size()); return m_adjacencyList[index]; } size_t Graph::degree(size_t index) const { return neighbors(index).size(); } bool Graph::containsEdge(size_t a, size_t b) const { assert(a < size()); assert(b < size()); const std::vector& neighborsA = neighbors(a); return std::find(neighborsA.begin(), neighborsA.end(), b) != neighborsA.end(); } std::vector> Graph::connectedComponents() const { std::vector> components; // Position of next vertex to the root of the depth-first search. size_t position = 0; // The bitset containing each vertex that has been visited. std::vector visited(size()); for (;;) { std::vector component(size()); std::vector row; row.push_back(position); while (!row.empty()) { std::vector nextRow; for (size_t i = 0; i < row.size(); i++) { size_t vertex = row[i]; // Add vertex to the component. component.push_back(vertex); // Mark the vertex as visited. visited[vertex] = true; // Iterate through each neighbor. const std::vector& nbrs = m_adjacencyList[vertex]; for (size_t j = 0; j < nbrs.size(); ++j) if (visited[nbrs[j]] == false) nextRow.push_back(nbrs[j]); } row = nextRow; } // Add this component to the list of components. components.push_back(component); // Find the next unvisited vertex. bool done = true; for (size_t i = position + 1; i < size(); ++i) { if (visited[i] == false) { position = i; done = false; break; } } if (done) break; } return components; } } // end Core namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/core/graph.h000066400000000000000000000056701360735163600203060ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_GRAPH_H #define AVOGADRO_CORE_GRAPH_H #include "avogadrocore.h" #include #include namespace Avogadro { namespace Core { /** * @class Graph graph.h * @brief The Graph class represents a graph data structure. */ class AVOGADROCORE_EXPORT Graph { public: /** Creates a new, empty graph. */ Graph(); /** Creates a new graph containing size @p n vertices. */ explicit Graph(size_t n); /** Destroys the graph. */ ~Graph(); /** Sets the number of verticies in the graph to size @p n. */ void setSize(size_t n); /** Returns the number of verticies in the graph. */ size_t size() const; /** Returns \c true if the graph is empty (i.e. size() == \c 0). */ bool isEmpty() const; /** Removes all verticies and edges from the graph. */ void clear(); /** Adds a vertex to the graph and returns its index. */ size_t addVertex(); /** Removes the vertex at @p index from the graph. */ void removeVertex(size_t index); /** Returns the number of verticies in the graph. */ size_t vertexCount() const; /** Adds an edge between verticies @p a and @p b. */ void addEdge(size_t a, size_t b); /** Removes the edge between veritices @p a and @p b. */ void removeEdge(size_t a, size_t b); /** Removes all of the edges from the graph. */ void removeEdges(); /** * Removes all of the edges that contain the vertex at @p index from the * graph. */ void removeEdges(size_t index); /** Returns the number of edges in the graph. */ size_t edgeCount() const; /** * Returns a vector containing the indicies of each vertex that the vertex at * index shares an edge with. */ const std::vector& neighbors(size_t index) const; /** Returns the degree of the vertex at @p index. */ size_t degree(size_t index) const; /** * Returns \c true if the graph contains an edge between verticies @p a and * @p b. */ bool containsEdge(size_t a, size_t b) const; /** * Returns a vector of vector containing the indicies of each vertex in each * connected component in the graph. */ std::vector> connectedComponents() const; private: std::vector> m_adjacencyList; }; } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_GRAPH_H avogadrolibs-1.93.0/avogadro/core/matrix.h000066400000000000000000000023751360735163600205100ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_MATRIX_H #define AVOGADRO_CORE_MATRIX_H #include "avogadrocore.h" #include namespace Avogadro { /** Typedefs for vector types. */ typedef Eigen::Matrix Matrix2; typedef Eigen::Matrix Matrix3; typedef Eigen::Matrix Matrix4; typedef Eigen::Matrix MatrixX; typedef Eigen::Matrix Matrix2f; typedef Eigen::Matrix Matrix3f; typedef Eigen::Matrix Matrix4f; typedef Eigen::Matrix MatrixXf; } // end Avogadro namespace #endif // AVOGADRO_CORE_MATRIX_H avogadrolibs-1.93.0/avogadro/core/mdlvalence_p.h000066400000000000000000000650151360735163600216350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc Copyright 2012 NextMove Software This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ namespace Avogadro { namespace Core { /** * Calculate the full valency (e.g. number of expected bonds) for a given atom. * This function is adapted from the MDL valence model to indicate when an atom * is overbonded. * @param atomicNumber Atomic number of atom. * @param charge Formal charge of atom. * @param numBonds Number of existing bonds to atom. * @return The total number of expected bonds to the atom to satisfy valency. * May be less than @a numBonds if atom is overbonded. */ static unsigned int atomValence(const unsigned char atomicNumber, const int charge, const unsigned int numBonds) { switch (atomicNumber) { case 1: // H case 3: // Li case 11: // Na case 19: // K case 37: // Rb case 55: // Cs case 87: // Fr if (charge == 0) return 1; break; case 4: // Be case 12: // Mg case 20: // Ca case 38: // Sr case 56: // Ba case 88: // Ra switch (charge) { case 0: return 2; case 1: return 1; } break; case 5: // B switch (charge) { case -4: return 1; case -3: return 2; case -2: if (numBonds <= 3) return 3; return 5; case -1: return 4; case 0: return 3; case 1: return 2; case 2: return 1; } break; case 6: // C switch (charge) { case -3: return 1; case -2: return 2; case -1: if (numBonds <= 3) return 3; return 5; case 0: return 4; case 1: return 3; case 2: return 2; case 3: return 1; } break; case 7: // N switch (charge) { case -2: return 1; case -1: return 2; case 0: if (numBonds <= 3) return 3; return 5; case 1: return 4; case 2: return 3; case 3: return 2; case 4: return 1; } break; case 8: // O switch (charge) { case -1: return 1; case 0: return 2; case 1: if (numBonds <= 3) return 3; return 5; case 2: return 4; case 3: return 3; case 4: return 2; case 5: return 1; } break; case 9: // F switch (charge) { case 0: return 1; case 1: return 2; case 2: if (numBonds <= 3) return 3; return 5; case 3: return 4; case 4: return 3; case 5: return 2; case 6: return 1; } break; case 13: // Al switch (charge) { case -4: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case -3: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case -2: if (numBonds <= 3) return 3; return 5; case -1: return 4; case 0: return 3; case 1: return 2; case 2: return 1; } break; case 14: // Si switch (charge) { case -3: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case -2: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case -1: if (numBonds <= 3) return 3; return 5; case 0: return 4; case 1: return 3; case 2: return 2; case 3: return 1; } break; case 15: // P switch (charge) { case -2: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case -1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case 0: if (numBonds <= 3) return 3; return 5; case 1: return 4; case 2: return 3; case 3: return 2; case 4: return 1; } break; case 16: // S switch (charge) { case -1: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case 0: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case 1: if (numBonds <= 3) return 3; return 5; case 2: return 4; case 3: return 3; case 4: return 2; case 5: return 1; } break; case 17: // Cl switch (charge) { case 0: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case 1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case 2: if (numBonds <= 3) return 3; return 5; case 3: return 4; case 4: return 3; case 5: return 2; case 6: return 1; } break; case 31: // Ga switch (charge) { case -4: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case -3: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case -2: if (numBonds <= 3) return 3; return 5; case -1: return 4; case 0: return 3; case 2: return 1; } break; case 32: // Ge switch (charge) { case -3: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case -2: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case -1: if (numBonds <= 3) return 3; return 5; case 0: return 4; case 1: return 3; case 3: return 1; } break; case 33: // As switch (charge) { case -2: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case -1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case 0: if (numBonds <= 3) return 3; return 5; case 1: return 4; case 2: return 3; case 4: return 1; } break; case 34: // Se switch (charge) { case -1: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case 0: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case 1: if (numBonds <= 3) return 3; return 5; case 2: return 4; case 3: return 3; case 5: return 1; } break; case 35: // Br switch (charge) { case 0: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case 1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case 2: if (numBonds <= 3) return 3; return 5; case 3: return 4; case 4: return 3; case 6: return 1; } break; case 49: // In switch (charge) { case -4: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case -3: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case -2: if (numBonds <= 3) return 3; return 5; case -1: if (numBonds <= 2) return 2; return 4; case 0: return 3; case 2: return 1; } break; case 50: // Sn case 82: // Pb switch (charge) { case -3: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case -2: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case -1: if (numBonds <= 3) return 3; return 5; case 0: if (numBonds <= 2) return 2; return 4; case 1: return 3; case 3: return 1; } break; case 51: // Sb case 83: // Bi switch (charge) { case -2: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case -1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case 0: if (numBonds <= 3) return 3; return 5; case 1: if (numBonds <= 2) return 2; return 4; case 2: return 3; case 4: return 1; } break; case 52: // Te case 84: // Po switch (charge) { case -1: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case 0: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case 1: if (numBonds <= 3) return 3; return 5; case 2: if (numBonds <= 2) return 2; return 4; case 3: return 3; case 5: return 1; } break; case 53: // I case 85: // At switch (charge) { case 0: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case 1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case 2: if (numBonds <= 3) return 3; return 5; case 3: if (numBonds <= 2) return 2; return 4; case 4: return 3; case 6: return 1; } break; case 81: // Tl switch (charge) { case -4: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; return 7; case -3: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; return 6; case -2: if (numBonds <= 3) return 3; return 5; case -1: if (numBonds <= 2) return 2; return 4; case 0: if (numBonds <= 1) return 1; return 3; } break; } return numBonds; } // This method is removed as it is not used at the moment and emits warnings // otherwise. It should be used when an MDL reader is added. #if 0 /** * Calculate the full valency (e.g. number of expected bonds) for a given atom. * This function implements the MDL valence model. * @param atomicNumber Atomic number of atom. * @param charge Formal charge of atom. * @param numBonds Number of existing bonds to atom. * @return The total number of expected bonds to the atom to satisfy valency. * Return value will never be less than numBonds. */ static unsigned int mdlValence(const unsigned char atomicNumber, const int charge, const unsigned int numBonds) { switch (atomicNumber) { case 1: // H case 3: // Li case 11: // Na case 19: // K case 37: // Rb case 55: // Cs case 87: // Fr if (charge == 0 && numBonds <= 1) return 1; break; case 4: // Be case 12: // Mg case 20: // Ca case 38: // Sr case 56: // Ba case 88: // Ra switch (charge) { case 0: if (numBonds <= 2) return 2; break; case 1: if (numBonds <= 1) return 1; break; } break; case 5: // B switch (charge) { case -4: if (numBonds <= 1) return 1; break; case -3: if (numBonds <= 2) return 2; break; case -2: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case -1: if (numBonds <= 4) return 4; break; case 0: if (numBonds <= 3) return 3; break; case 1: if (numBonds <= 2) return 2; break; case 2: if (numBonds <= 1) return 1; break; } break; case 6: // C switch (charge) { case -3: if (numBonds <= 1) return 1; break; case -2: if (numBonds <= 2) return 2; break; case -1: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 0: if (numBonds <= 4) return 4; break; case 1: if (numBonds <= 3) return 3; break; case 2: if (numBonds <= 2) return 2; break; case 3: if (numBonds <= 1) return 1; break; } break; case 7: // N switch (charge) { case -2: if (numBonds <= 1) return 1; break; case -1: if (numBonds <= 2) return 2; break; case 0: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 1: if (numBonds <= 4) return 4; break; case 2: if (numBonds <= 3) return 3; break; case 3: if (numBonds <= 2) return 2; break; case 4: if (numBonds <= 1) return 1; break; } break; case 8: // O switch (charge) { case -1: if (numBonds <= 1) return 1; break; case 0: if (numBonds <= 2) return 2; break; case 1: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 2: if (numBonds <= 4) return 4; break; case 3: if (numBonds <= 3) return 3; break; case 4: if (numBonds <= 2) return 2; break; case 5: if (numBonds <= 1) return 1; break; } break; case 9: // F switch (charge) { case 0: if (numBonds <= 1) return 1; break; case 1: if (numBonds <= 2) return 2; break; case 2: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 3: if (numBonds <= 4) return 4; break; case 4: if (numBonds <= 3) return 3; break; case 5: if (numBonds <= 2) return 2; break; case 6: if (numBonds <= 1) return 1; break; } break; case 13: // Al switch (charge) { case -4: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case -3: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case -2: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case -1: if (numBonds <= 4) return 4; break; case 0: if (numBonds <= 3) return 3; break; case 1: if (numBonds <= 2) return 2; break; case 2: if (numBonds <= 1) return 1; break; } break; case 14: // Si switch (charge) { case -3: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case -2: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case -1: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 0: if (numBonds <= 4) return 4; break; case 1: if (numBonds <= 3) return 3; break; case 2: if (numBonds <= 2) return 2; break; case 3: if (numBonds <= 1) return 1; break; } break; case 15: // P switch (charge) { case -2: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case -1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case 0: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 1: if (numBonds <= 4) return 4; break; case 2: if (numBonds <= 3) return 3; break; case 3: if (numBonds <= 2) return 2; break; case 4: if (numBonds <= 1) return 1; break; } break; case 16: // S switch (charge) { case -1: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case 0: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case 1: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 2: if (numBonds <= 4) return 4; break; case 3: if (numBonds <= 3) return 3; break; case 4: if (numBonds <= 2) return 2; break; case 5: if (numBonds <= 1) return 1; break; } break; case 17: // Cl switch (charge) { case 0: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case 1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case 2: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 3: if (numBonds <= 4) return 4; break; case 4: if (numBonds <= 3) return 3; break; case 5: if (numBonds <= 2) return 2; break; case 6: if (numBonds <= 1) return 1; break; } break; case 31: // Ga switch (charge) { case -4: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case -3: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case -2: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case -1: if (numBonds <= 4) return 4; break; case 0: if (numBonds <= 3) return 3; break; case 2: if (numBonds <= 1) return 1; break; } break; case 32: // Ge switch (charge) { case -3: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case -2: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case -1: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 0: if (numBonds <= 4) return 4; break; case 1: if (numBonds <= 3) return 3; break; case 3: if (numBonds <= 1) return 1; break; } break; case 33: // As switch (charge) { case -2: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case -1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case 0: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 1: if (numBonds <= 4) return 4; break; case 2: if (numBonds <= 3) return 3; break; case 4: if (numBonds <= 1) return 1; break; } break; case 34: // Se switch (charge) { case -1: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case 0: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case 1: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 2: if (numBonds <= 4) return 4; break; case 3: if (numBonds <= 3) return 3; break; case 5: if (numBonds <= 1) return 1; break; } break; case 35: // Br switch (charge) { case 0: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case 1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case 2: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 3: if (numBonds <= 4) return 4; break; case 4: if (numBonds <= 3) return 3; break; case 6: if (numBonds <= 1) return 1; break; } break; case 49: // In switch (charge) { case -4: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case -3: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case -2: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case -1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; break; case 0: if (numBonds <= 3) return 3; break; case 2: if (numBonds <= 1) return 1; break; } break; case 50: // Sn case 82: // Pb switch (charge) { case -3: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case -2: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case -1: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 0: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; break; case 1: if (numBonds <= 3) return 3; break; case 3: if (numBonds <= 1) return 1; break; } break; case 51: // Sb case 83: // Bi switch (charge) { case -2: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case -1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case 0: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; break; case 2: if (numBonds <= 3) return 3; break; case 4: if (numBonds <= 1) return 1; break; } break; case 52: // Te case 84: // Po switch (charge) { case -1: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case 0: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case 1: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 2: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; break; case 3: if (numBonds <= 3) return 3; break; case 5: if (numBonds <= 1) return 1; break; } break; case 53: // I case 85: // At switch (charge) { case 0: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case 1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case 2: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case 3: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; break; case 4: if (numBonds <= 3) return 3; break; case 6: if (numBonds <= 1) return 1; break; } break; case 81: // Tl switch (charge) { case -4: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; if (numBonds <= 7) return 7; break; case -3: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; if (numBonds <= 6) return 6; break; case -2: if (numBonds <= 3) return 3; if (numBonds <= 5) return 5; break; case -1: if (numBonds <= 2) return 2; if (numBonds <= 4) return 4; break; case 0: if (numBonds <= 1) return 1; if (numBonds <= 3) return 3; break; } break; } return numBonds; } #endif } // end namespace Core } // end namespace Avogadro avogadrolibs-1.93.0/avogadro/core/mesh.cpp000066400000000000000000000100511360735163600204610ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008 Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "mesh.h" #include "mutex.h" using std::vector; namespace Avogadro { namespace Core { Mesh::Mesh() : m_stable(true), m_other(0), m_cube(0), m_lock(new Mutex) { m_vertices.reserve(100); m_normals.reserve(100); m_colors.reserve(1); } Mesh::Mesh(const Mesh& other) : m_vertices(other.m_vertices), m_normals(other.m_normals), m_colors(other.m_colors), m_name(other.m_name), m_stable(true), m_isoValue(other.m_isoValue), m_other(other.m_other), m_cube(other.m_cube), m_lock(new Mutex) { } Mesh::~Mesh() { delete m_lock; m_lock = 0; } bool Mesh::reserve(unsigned int size, bool useColors) { m_vertices.reserve(size); m_normals.reserve(size); if (useColors) m_colors.reserve(size); return true; } void Mesh::setStable(bool isStable) { m_stable = isStable; } bool Mesh::stable() { return m_stable; } const Core::Array& Mesh::vertices() const { return m_vertices; } const Vector3f* Mesh::vertex(int n) const { return &(m_vertices[n * 3]); } bool Mesh::setVertices(const Core::Array& values) { m_vertices.clear(); m_vertices = values; return true; } bool Mesh::addVertices(const Core::Array& values) { if (m_vertices.capacity() < m_vertices.size() + values.size()) m_vertices.reserve(m_vertices.capacity() * 2); if (values.size() % 3 == 0) { for (unsigned int i = 0; i < values.size(); ++i) m_vertices.push_back(values.at(i)); return true; } else { return false; } } const Core::Array& Mesh::normals() const { return m_normals; } const Vector3f* Mesh::normal(int n) const { return &(m_normals[n * 3]); } bool Mesh::setNormals(const Core::Array& values) { m_normals.clear(); m_normals = values; return true; } bool Mesh::addNormals(const Core::Array& values) { if (m_normals.capacity() < m_normals.size() + values.size()) m_normals.reserve(m_normals.capacity() * 2); if (values.size() % 3 == 0) { for (unsigned int i = 0; i < values.size(); ++i) m_normals.push_back(values.at(i)); return true; } else { return false; } } const Core::Array& Mesh::colors() const { return m_colors; } const Color3f* Mesh::color(int n) const { // If there is only one color return that, otherwise colored by vertex. if (m_colors.size() == 1) return &(m_colors[0]); else return &(m_colors[n * 3]); } bool Mesh::setColors(const Core::Array& values) { m_colors.clear(); m_colors = values; return true; } bool Mesh::addColors(const Core::Array& values) { if (m_colors.capacity() < m_colors.size() + values.size()) m_colors.reserve(m_colors.capacity() * 2); if (values.size() % 3 == 0) { for (unsigned int i = 0; i < values.size(); ++i) m_colors.push_back(values.at(i)); return true; } else { return false; } } bool Mesh::valid() const { if (m_vertices.size() == m_normals.size()) { if (m_colors.size() == 1 || m_colors.size() == m_vertices.size()) return true; else return false; } else { return false; } } bool Mesh::clear() { m_vertices.clear(); m_normals.clear(); m_colors.clear(); return true; } Mesh& Mesh::operator=(const Mesh& other) { m_vertices = other.m_vertices; m_normals = other.m_vertices; m_colors = other.m_colors; m_name = other.m_name; m_isoValue = other.m_isoValue; return *this; } } // End namespace QtGui } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/core/mesh.h000066400000000000000000000140441360735163600201340ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008 Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_MESH_H #define AVOGADRO_CORE_MESH_H #include "avogadrocore.h" #include "array.h" #include "color3f.h" #include "vector.h" namespace Avogadro { namespace Core { class Molecule; class Mutex; /** * @class Mesh mesh.h * @brief Encapsulation of a triangular mesh that makes up a surface. * @author Marcus D. Hanwell * * The Mesh class is a data container that provides a Mesh object. All * meshes should be owned by a Molecule. It should also be removed by the * Molecule that owns it. Meshes encapsulate triangular meshes that can also * have colors associated with each vertex. */ class MeshPrivate; class AVOGADROCORE_EXPORT Mesh { public: /** * Constructor. */ Mesh(); /** * Copy constructor */ Mesh(const Mesh& other); /** * Destructor. */ ~Mesh(); /** * Reserve the expected space for the mesh. This causes all member array * storage to call the reserve function with the number specified. * @param size Expected size of the mesh. * @param colors Should the colors array reserve this space too? Defaults * to false. * @return True on success. */ bool reserve(unsigned int size, bool colors = false); /** * This function allows long running calculations to mark the mesh as in * progress. * @param stable Indicate that the Mesh is currently being modified. */ void setStable(bool stable); /** * Indicate whether the Mesh is complete or currently being modified. In * general using Mesh values from an unstable Mesh is not advisable. * @return True if the Mesh is complete, false if it is being modified. */ bool stable(); /** * Set the iso value that was used to generate the Mesh. */ void setIsoValue(float value) { m_isoValue = value; } /** * @return The iso value used to generate the Mesh. */ float isoValue() const { return m_isoValue; } /** * Set the unique id of the other Mesh if this Mesh is part of a pair. */ void setOtherMesh(unsigned int other) { m_other = other; } /** * @return The unique id of the other Mesh if this is part of a pair. */ unsigned int otherMesh() const { return m_other; } /** * Set the unique id of the Cube the Mesh was generated from. */ void setCube(unsigned int cube_) { m_cube = cube_; } /** * @return The unique id of the Cube the Mesh was generated from. */ unsigned int cube() const { return m_cube; } /** * @return Array containing all of the vertices in a one dimensional array. */ const Core::Array& vertices() const; /** * @return The number of vertices. */ unsigned int numVertices() const { return static_cast(m_vertices.size()); } /** * @return Pointer to the first vertex of the specified triangle. */ const Vector3f* vertex(int n) const; /** * Clear the vertices vector and assign new values. */ bool setVertices(const Core::Array& values); /** * Add one or more vertices, i.e., the array is expected to be of length * 3 x n where n is an integer. */ bool addVertices(const Core::Array& values); /** * @return Array containing all of the normals in a one-dimensional array. */ const Core::Array& normals() const; /** * @return The number of normals. */ unsigned int numNormals() const { return static_cast(m_normals.size()); } /** * @return Pointer to the first normal of the specified triangle. */ const Vector3f* normal(int n) const; /** * Clear the normals array and assign new values. */ bool setNormals(const Core::Array& values); /** * Add one or more normals, i.e., the array is expected to be of length * 3 x n where n is an integer. */ bool addNormals(const Core::Array& values); /** * @return Array containing all of the colors in a one-dimensional array. */ const Core::Array& colors() const; /** * @return Pointer to the first color of the specified triangle. */ const Color3f* color(int n) const; /** * Clear the colors array and assign new values. */ bool setColors(const Core::Array& values); /** * Add one or more normals, i.e., the array is expected to be of length * 3 x n where n is an integer. */ bool addColors(const Core::Array& values); /** * Sanity checking function - is the mesh sane? * @return True if the Mesh object is sane and composed of the right number * of elements. */ bool valid() const; /** * Clear all mesh data. * @return True on success. */ bool clear(); /** * Overloaded operator. */ Mesh& operator=(const Mesh& other); /** * Set the name of the Mesh. */ void setName(const std::string& name_) { m_name = name_; } /** * @return The name of the Mesh. */ std::string name() const { return m_name; } /** * Provides locking. */ Mutex* lock() const { return m_lock; } friend class Molecule; private: Core::Array m_vertices; Core::Array m_normals; Core::Array m_colors; std::string m_name; bool m_stable; float m_isoValue; unsigned int m_other; // Unique id of the other mesh if this is part of a pair unsigned int m_cube; // Unique id of the cube this mesh was generated from Mutex* m_lock; }; } // End namespace Core } // End namespace Avogadro #endif // AVOGADRO_CORE_MESH_H avogadrolibs-1.93.0/avogadro/core/molecule.cpp000066400000000000000000000527411360735163600213460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2014 Kitware, Inc. and Geoffrey Hutchison This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "molecule.h" #include "basisset.h" #include "color3f.h" #include "cube.h" #include "elements.h" #include "mesh.h" #include "residue.h" #include "unitcell.h" #include #include namespace Avogadro { namespace Core { Molecule::Molecule() : m_graphDirty(false), m_basisSet(nullptr), m_unitCell(nullptr) {} Molecule::Molecule(const Molecule& other) : m_graph(other.m_graph), m_graphDirty(true), m_data(other.m_data), m_customElementMap(other.m_customElementMap), m_atomicNumbers(other.atomicNumbers()), m_positions2d(other.m_positions2d), m_positions3d(other.m_positions3d), m_coordinates3d(other.m_coordinates3d), m_timesteps(other.m_timesteps), m_hybridizations(other.m_hybridizations), m_formalCharges(other.m_formalCharges), m_colors(other.m_colors), m_vibrationFrequencies(other.m_vibrationFrequencies), m_vibrationIntensities(other.m_vibrationIntensities), m_vibrationLx(other.m_vibrationLx), m_bondPairs(other.m_bondPairs), m_bondOrders(other.m_bondOrders), m_selectedAtoms(other.m_selectedAtoms), m_meshes(std::vector()), m_cubes(std::vector()), m_basisSet(other.m_basisSet ? other.m_basisSet->clone() : nullptr), m_unitCell(other.m_unitCell ? new UnitCell(*other.m_unitCell) : nullptr), m_residues(other.m_residues) { // Copy over any meshes for (Index i = 0; i < other.meshCount(); ++i) { Mesh* m = addMesh(); *m = *other.mesh(i); } // Copy over any cubes for (Index i = 0; i < other.cubeCount(); ++i) { Cube* c = addCube(); *c = *other.cube(i); } } Molecule::Molecule(Molecule&& other) noexcept : m_graph(std::move(other.m_graph)), m_graphDirty(std::move(other.m_graphDirty)), m_data(std::move(other.m_data)), m_customElementMap(std::move(other.m_customElementMap)), m_atomicNumbers(std::move(other.atomicNumbers())), m_positions2d(std::move(other.m_positions2d)), m_positions3d(std::move(other.m_positions3d)), m_coordinates3d(std::move(other.m_coordinates3d)), m_timesteps(std::move(other.m_timesteps)), m_hybridizations(std::move(other.m_hybridizations)), m_formalCharges(std::move(other.m_formalCharges)), m_colors(std::move(other.m_colors)), m_vibrationFrequencies(std::move(other.m_vibrationFrequencies)), m_vibrationIntensities(std::move(other.m_vibrationIntensities)), m_vibrationLx(std::move(other.m_vibrationLx)), m_bondPairs(std::move(other.m_bondPairs)), m_bondOrders(std::move(other.m_bondOrders)), m_selectedAtoms(std::move(other.m_selectedAtoms)), m_meshes(std::move(other.m_meshes)), m_cubes(std::move(other.m_cubes)), m_residues(std::move(other.m_residues)) { m_basisSet = other.m_basisSet; other.m_basisSet = nullptr; m_unitCell = other.m_unitCell; other.m_unitCell = nullptr; } Molecule& Molecule::operator=(const Molecule& other) { if (this != &other) { m_graph = other.m_graph; m_graphDirty = true; m_data = other.m_data; m_customElementMap = other.m_customElementMap; m_atomicNumbers = other.m_atomicNumbers; m_positions2d = other.m_positions2d; m_positions3d = other.m_positions3d; m_coordinates3d = other.m_coordinates3d; m_timesteps = other.m_timesteps; m_hybridizations = other.m_hybridizations; m_formalCharges = other.m_formalCharges; m_colors = other.m_colors, m_vibrationFrequencies = other.m_vibrationFrequencies; m_vibrationIntensities = other.m_vibrationIntensities; m_vibrationLx = other.m_vibrationLx; m_bondPairs = other.m_bondPairs; m_bondOrders = other.m_bondOrders; m_selectedAtoms = other.m_selectedAtoms; m_residues = other.m_residues; clearMeshes(); // Copy over any meshes for (Index i = 0; i < other.meshCount(); ++i) { Mesh* m = addMesh(); *m = *other.mesh(i); } clearCubes(); // Copy over any cubes for (Index i = 0; i < other.cubeCount(); ++i) { Cube* c = addCube(); *c = *other.cube(i); } delete m_basisSet; m_basisSet = other.m_basisSet ? other.m_basisSet->clone() : nullptr; delete m_unitCell; m_unitCell = other.m_unitCell ? new UnitCell(*other.m_unitCell) : nullptr; } return *this; } Molecule& Molecule::operator=(Molecule&& other) noexcept { if (this != &other) { m_graph = std::move(other.m_graph); m_graphDirty = std::move(other.m_graphDirty); m_data = std::move(other.m_data); m_customElementMap = std::move(other.m_customElementMap); m_atomicNumbers = std::move(other.m_atomicNumbers); m_positions2d = std::move(other.m_positions2d); m_positions3d = std::move(other.m_positions3d); m_coordinates3d = std::move(other.m_coordinates3d); m_timesteps = std::move(other.m_timesteps); m_hybridizations = std::move(other.m_hybridizations); m_formalCharges = std::move(other.m_formalCharges); m_colors = std::move(other.m_colors); m_vibrationFrequencies = std::move(other.m_vibrationFrequencies); m_vibrationIntensities = std::move(other.m_vibrationIntensities); m_vibrationLx = std::move(other.m_vibrationLx); m_bondPairs = std::move(other.m_bondPairs); m_bondOrders = std::move(other.m_bondOrders); m_selectedAtoms = std::move(other.m_selectedAtoms); m_residues = std::move(other.m_residues); clearMeshes(); m_meshes = std::move(other.m_meshes); clearCubes(); m_cubes = std::move(other.m_cubes); delete m_basisSet; m_basisSet = other.m_basisSet; other.m_basisSet = nullptr; delete m_unitCell; m_unitCell = other.m_unitCell; other.m_unitCell = nullptr; } return *this; } Molecule::~Molecule() { delete m_basisSet; delete m_unitCell; clearMeshes(); clearCubes(); } void Molecule::setData(const std::string& name, const Variant& value) { m_data.setValue(name, value); } Variant Molecule::data(const std::string& name) const { return m_data.value(name); } bool Molecule::hasData(const std::string& name) const { return m_data.hasValue(name); } void Molecule::setDataMap(const VariantMap& map) { m_data = map; } const VariantMap& Molecule::dataMap() const { return m_data; } VariantMap& Molecule::dataMap() { return m_data; } Array& Molecule::atomicNumbers() { return m_atomicNumbers; } const Array& Molecule::atomicNumbers() const { return m_atomicNumbers; } Array& Molecule::hybridizations() { return m_hybridizations; } const Array& Molecule::hybridizations() const { return m_hybridizations; } Array& Molecule::formalCharges() { return m_formalCharges; } const Array& Molecule::formalCharges() const { return m_formalCharges; } Array& Molecule::colors() { return m_colors; } const Array& Molecule::colors() const { return m_colors; } Array& Molecule::atomPositions2d() { return m_positions2d; } const Array& Molecule::atomPositions2d() const { return m_positions2d; } Array& Molecule::atomPositions3d() { return m_positions3d; } const Array& Molecule::atomPositions3d() const { return m_positions3d; } Array>& Molecule::bondPairs() { return m_bondPairs; } const Array>& Molecule::bondPairs() const { return m_bondPairs; } Array& Molecule::bondOrders() { return m_bondOrders; } const Array& Molecule::bondOrders() const { return m_bondOrders; } Graph& Molecule::graph() { updateGraph(); return m_graph; } const Graph& Molecule::graph() const { updateGraph(); return m_graph; } const Molecule::CustomElementMap& Molecule::customElementMap() const { return m_customElementMap; } void Molecule::setCustomElementMap(const Molecule::CustomElementMap& map) { m_customElementMap = map; } bool Molecule::hasCustomElements() const { for (Array::const_iterator it = m_atomicNumbers.begin(), itEnd = m_atomicNumbers.end(); it != itEnd; ++it) { if (Core::isCustomElement(*it)) return true; } return false; } Molecule::AtomType Molecule::addAtom(unsigned char number) { // Mark the graph as dirty. m_graphDirty = true; // Add the atomic number. m_atomicNumbers.push_back(number); return AtomType(this, static_cast(m_atomicNumbers.size() - 1)); } bool Molecule::removeAtom(Index index) { if (index >= atomCount()) return false; // Before removing the atom we must first remove any bonds to it. Array atomBonds = bonds(atom(index)); while (atomBonds.size()) { removeBond(atomBonds.back()); atomBonds = bonds(atom(index)); } Index newSize = static_cast(m_atomicNumbers.size() - 1); if (index != newSize) { // We need to move the last atom to this position, and update its unique ID. m_atomicNumbers[index] = m_atomicNumbers.back(); if (m_positions2d.size() == m_atomicNumbers.size()) m_positions2d[index] = m_positions2d.back(); if (m_positions3d.size() == m_atomicNumbers.size()) m_positions3d[index] = m_positions3d.back(); if (m_hybridizations.size() == m_atomicNumbers.size()) m_hybridizations[index] = m_hybridizations.back(); if (m_formalCharges.size() == m_atomicNumbers.size()) m_formalCharges[index] = m_formalCharges.back(); if (m_colors.size() == m_atomicNumbers.size()) m_colors[index] = m_colors.back(); // Find any bonds to the moved atom and update their index. atomBonds = bonds(atom(newSize)); for (Array::const_iterator it = atomBonds.begin(), itEnd = atomBonds.end(); it != itEnd; ++it) { std::pair pair = m_bondPairs[it->index()]; if (pair.first == newSize) pair.first = index; else if (pair.second == newSize) pair.second = index; m_bondPairs[it->index()] = pair; } } // Resize the arrays for the smaller molecule. if (m_positions2d.size() == m_atomicNumbers.size()) m_positions2d.pop_back(); if (m_positions3d.size() == m_atomicNumbers.size()) m_positions3d.pop_back(); if (m_hybridizations.size() == m_atomicNumbers.size()) m_hybridizations.pop_back(); if (m_formalCharges.size() == m_atomicNumbers.size()) m_formalCharges.pop_back(); if (m_colors.size() == m_atomicNumbers.size()) m_colors.pop_back(); m_atomicNumbers.pop_back(); return true; } bool Molecule::removeAtom(const AtomType& atom_) { return removeAtom(atom_.index()); } void Molecule::clearAtoms() { while (atomCount() != 0) removeAtom(0); } Molecule::AtomType Molecule::atom(Index index) const { assert(index < atomCount()); return AtomType(const_cast(this), index); } Index Molecule::atomCount() const { return static_cast(m_atomicNumbers.size()); } Index Molecule::atomCount(unsigned char number) const { Index count(0); for (Array::const_iterator it = m_atomicNumbers.begin(); it != m_atomicNumbers.end(); ++it) { if (*it == number) ++count; } return count; } namespace { // Make an std::pair where the lower index is always first in the pair. This // offers us the guarantee that any given pair of atoms will always result in // a pair that is the same no matter what the order of the atoms given. std::pair makeBondPair(const Index& a, const Index& b) { return a < b ? std::make_pair(a, b) : std::make_pair(b, a); } } // namespace Molecule::BondType Molecule::addBond(Index atom1, Index atom2, unsigned char order) { assert(atom1 < atomCount()); assert(atom2 < atomCount()); // check if the bond exists - if not, create it std::pair pair = makeBondPair(atom1, atom2); Array>::iterator iter = std::find(m_bondPairs.begin(), m_bondPairs.end(), pair); if (iter != m_bondPairs.end()) { // found an existing bond between these atoms Index index = static_cast(std::distance(m_bondPairs.begin(), iter)); if (m_bondOrders[index] != order) { // change the order m_bondOrders[index] = order; m_graphDirty = true; } return BondType(const_cast(this), index); } m_graphDirty = true; m_bondPairs.push_back(makeBondPair(atom1, atom2)); m_bondOrders.push_back(order); return BondType(this, bondCount() - 1); } Molecule::BondType Molecule::addBond(const AtomType& a, const AtomType& b, unsigned char order) { assert(a.isValid() && a.molecule() == this); assert(b.isValid() && b.molecule() == this); return addBond(a.index(), b.index(), order); } bool Molecule::removeBond(Index index) { if (index >= bondCount()) return false; Index newSize = static_cast(m_bondOrders.size() - 1); if (index != newSize) { m_bondOrders[index] = m_bondOrders.back(); m_bondPairs[index] = m_bondPairs.back(); } m_bondOrders.pop_back(); m_bondPairs.pop_back(); return true; } bool Molecule::removeBond(const BondType& bond_) { return removeBond(bond_.index()); } bool Molecule::removeBond(Index a, Index b) { return removeBond(bond(a, b).index()); } bool Molecule::removeBond(const AtomType& a, const AtomType& b) { return removeBond(bond(a, b).index()); } void Molecule::clearBonds() { while (bondCount()) removeBond(0); } Molecule::BondType Molecule::bond(Index index) const { assert(index < bondCount()); return BondType(const_cast(this), index); } Molecule::BondType Molecule::bond(const AtomType& a, const AtomType& b) const { assert(a.isValid() && a.molecule() == this); assert(b.isValid() && b.molecule() == this); return bond(a.index(), b.index()); } Molecule::BondType Molecule::bond(Index atomId1, Index atomId2) const { assert(atomId1 < atomCount()); assert(atomId2 < atomCount()); std::pair pair = makeBondPair(atomId1, atomId2); Array>::const_iterator iter = std::find(m_bondPairs.begin(), m_bondPairs.end(), pair); if (iter == m_bondPairs.end()) return BondType(); Index index = static_cast(std::distance(m_bondPairs.begin(), iter)); return BondType(const_cast(this), index); } Array Molecule::bonds(const AtomType& a) { if (!a.isValid()) return Array(); return bonds(a.index()); } Array Molecule::bonds(Index a) { Array atomBonds; if (a < atomCount()) { for (Index i = 0; i < m_bondPairs.size(); ++i) if (m_bondPairs[i].first == a || m_bondPairs[i].second == a) atomBonds.push_back(BondType(this, i)); } return atomBonds; } Index Molecule::bondCount() const { return m_bondPairs.size(); } Mesh* Molecule::addMesh() { m_meshes.push_back(new Mesh); return m_meshes.back(); } Mesh* Molecule::mesh(Index index) { if (index < static_cast(m_meshes.size())) return m_meshes[index]; else return nullptr; } const Mesh* Molecule::mesh(Index index) const { if (index < static_cast(m_meshes.size())) return m_meshes[index]; else return nullptr; } void Molecule::clearMeshes() { while (!m_meshes.empty()) { delete m_meshes.back(); m_meshes.pop_back(); } } Cube* Molecule::addCube() { m_cubes.push_back(new Cube); return m_cubes.back(); } Cube* Molecule::cube(Index index) { if (index < static_cast(m_cubes.size())) return m_cubes[index]; else return nullptr; } const Cube* Molecule::cube(Index index) const { if (index < static_cast(m_cubes.size())) return m_cubes[index]; else return nullptr; } void Molecule::clearCubes() { while (!m_cubes.empty()) { delete m_cubes.back(); m_cubes.pop_back(); } } std::string Molecule::formula(const std::string& delimiter, int over) const { // Adapted from chemkit: // A map of atomic symbols to their quantity. std::map composition; for (Array::const_iterator it = m_atomicNumbers.begin(), itEnd = m_atomicNumbers.end(); it != itEnd; ++it) { composition[*it]++; } std::stringstream result; std::map::iterator iter; // Carbons first iter = composition.find(6); if (iter != composition.end()) { result << "C"; if (iter->second > static_cast(over)) result << delimiter << iter->second; composition.erase(iter); // If carbon is present, hydrogens are next. iter = composition.find(1); if (iter != composition.end()) { result << delimiter << "H"; if (iter->second > static_cast(over)) result << delimiter << iter->second; composition.erase(iter); } } // The rest: iter = composition.begin(); while (iter != composition.end()) { result << delimiter << Elements::symbol(iter->first); if (iter->second > static_cast(over)) result << delimiter << iter->second; ++iter; } return result.str(); } void Molecule::setUnitCell(UnitCell* uc) { if (uc != m_unitCell) { delete m_unitCell; m_unitCell = uc; } } double Molecule::mass() const { double m(0.0); for (Index i = 0; i < atomCount(); ++i) m += Elements::mass(atom(i).atomicNumber()); return m; } Array Molecule::vibrationFrequencies() const { return m_vibrationFrequencies; } void Molecule::setVibrationFrequencies(const Array& freq) { m_vibrationFrequencies = freq; } Array Molecule::vibrationIntensities() const { return m_vibrationIntensities; } void Molecule::setVibrationIntensities(const Array& intensities) { m_vibrationIntensities = intensities; } Array Molecule::vibrationLx(int mode) const { if (mode >= 0 && mode < static_cast(m_vibrationLx.size())) return m_vibrationLx[mode]; return Array(); } void Molecule::setVibrationLx(const Array>& lx) { m_vibrationLx = lx; } // bond perception code ported from VTK's vtkSimpleBondPerceiver class void Molecule::perceiveBondsSimple(const double tolerance, const double min) { // check for coordinates if (m_positions3d.size() != atomCount()) return; // cache atomic radii std::vector radii(atomCount()); for (size_t i = 0; i < radii.size(); i++) { radii[i] = Elements::radiusCovalent(m_atomicNumbers[i]); if (radii[i] <= 0.0) radii[i] = 2.0; } // check for bonds for (Index i = 0; i < atomCount(); i++) { Vector3 ipos = m_positions3d[i]; for (Index j = i + 1; j < atomCount(); j++) { double cutoff = radii[i] + radii[j] + tolerance; Vector3 jpos = m_positions3d[j]; Vector3 diff = jpos - ipos; if (std::fabs(diff[0]) > cutoff || std::fabs(diff[1]) > cutoff || std::fabs(diff[2]) > cutoff || (m_atomicNumbers[i] == 1 && m_atomicNumbers[j] == 1)) continue; // check radius and add bond if needed double cutoffSq = cutoff * cutoff; double diffsq = diff.squaredNorm(); if (diffsq < cutoffSq && diffsq > min * min) addBond(atom(i), atom(j), 1); } } } void Molecule::perceiveBondsFromResidueData() { for (Index i = 0; i < m_residues.size(); ++i) { m_residues[i].resolveResidueBonds(*this); } } int Molecule::coordinate3dCount() { return static_cast(m_coordinates3d.size()); } bool Molecule::setCoordinate3d(int coord) { if (coord >= 0 && coord < static_cast(m_coordinates3d.size())) { m_positions3d = m_coordinates3d[coord]; return true; } return false; } Array Molecule::coordinate3d(int index) const { return m_coordinates3d[index]; } bool Molecule::setCoordinate3d(const Array& coords, int index) { if (static_cast(m_coordinates3d.size()) <= index) m_coordinates3d.resize(index + 1); m_coordinates3d[index] = coords; return true; } double Molecule::timeStep(int index, bool& status) { if (static_cast(m_timesteps.size()) <= index) { status = false; return 0.0; } status = true; return m_timesteps[index]; } bool Molecule::setTimeStep(double timestep, int index) { if (static_cast(m_timesteps.size()) <= index) m_timesteps.resize(index + 1); m_timesteps[index] = timestep; return true; } void Molecule::updateGraph() const { if (!m_graphDirty) return; m_graphDirty = false; m_graph.clear(); m_graph.setSize(atomCount()); typedef Array>::const_iterator IterType; for (IterType it = m_bondPairs.begin(); it != m_bondPairs.end(); ++it) { m_graph.addEdge(it->first, it->second); } } Array& Molecule::forceVectors() { return m_forceVectors; } const Array& Molecule::forceVectors() const { return m_forceVectors; } Residue& Molecule::addResidue(std::string& name, Index& number, char& id) { Residue newResidue(name, number, id); m_residues.push_back(newResidue); return m_residues[m_residues.size() - 1]; } void Molecule::addResidue(Residue& residue) { m_residues.push_back(residue); } Residue& Molecule::residue(int index) { return m_residues[index]; } } // namespace Core } // namespace Avogadro avogadrolibs-1.93.0/avogadro/core/molecule.h000066400000000000000000000635061360735163600210140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. and Geoffrey Hutchison This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_MOLECULE_H #define AVOGADRO_CORE_MOLECULE_H #include "avogadrocore.h" #include #include #include "array.h" #include "bond.h" #include "elements.h" #include "graph.h" #include "variantmap.h" #include "vector.h" namespace Avogadro { namespace Core { class BasisSet; class Cube; class Mesh; class Residue; class UnitCell; /** Concrete atom/bond proxy classes for Core::Molecule. @{ */ class Atom; class Bond; /** @} */ /** * @class Molecule molecule.h * @brief The Molecule class represents a chemical molecule. */ class AVOGADROCORE_EXPORT Molecule { public: /** Typedef for Atom class. */ typedef Atom AtomType; /** Typedef for Bond class. */ typedef Bond BondType; /** Type for custom element map. */ typedef std::map CustomElementMap; /** Creates a new, empty molecule. */ Molecule(); /** Copy constructor */ Molecule(const Molecule& other); /** Move constructor */ Molecule(Molecule&& other) noexcept; /** Assignment operator */ Molecule& operator=(const Molecule& other); /** Move assignment operator */ Molecule& operator=(Molecule&& other) noexcept; /** Destroys the molecule object. */ virtual ~Molecule(); /** Sets the data value with @p name to @p value. */ void setData(const std::string& name, const Variant& value); /** Returns the data value for @p name. */ Variant data(const std::string& name) const; /** * Returns true if the molecule has data with the given key, false otherwise. */ bool hasData(const std::string& name) const; /** Set the molecule's variant data to the entries in map. */ void setDataMap(const VariantMap& map); /** Return the molecule's variant data. */ const VariantMap& dataMap() const; /** \overload */ VariantMap& dataMap(); /** Returns a vector of atomic numbers for the atoms in the molecule. */ Array& atomicNumbers(); /** \overload */ const Array& atomicNumbers() const; /** * Get the atomic number for the requested atom. * @param atomId The index of the atom. * @return The atomic number of the atom indexed at @a atomId, or * Avogadro::InvalidElement if @a atomId is invalid. */ unsigned char atomicNumber(Index atomId) const; /** * Replace the current array of atomic numbers. * @param nums The new atomic number array. Must be of length atomCount(). * @return True on success, false otherwise. */ bool setAtomicNumbers(const Core::Array& nums); /** * Set the atomic number of a single atom. * @param atomId The index of the atom to modify. * @param atomicNumber The new atomic number. * @return True on success, false otherwise. */ bool setAtomicNumber(Index atomId, unsigned char atomicNumber); /** Returns a vector of hybridizations for the atoms in the molecule. */ Array& hybridizations(); /** \overload */ const Array& hybridizations() const; /** * Get the hybridization for the requested atom. * @param atomId The index of the atom. * @return The hybridization of the atom indexed at @a atomId, or * 0 if @a atomId is invalid. */ AtomHybridization hybridization(Index atomId) const; /** * Replace the current array of hybridizations. * @param hybs The new hybridization array. Must be of length atomCount(). * @return True on success, false otherwise. */ bool setHybridizations(const Core::Array& hybs); /** * Set the hybridization of a single atom. * @param atomId The index of the atom to modify. * @param hybridization The new hybridization. * @return True on success, false otherwise. */ bool setHybridization(Index atomId, AtomHybridization hybridization); /** Returns a vector of formal charges for the atoms in the molecule. */ Array& formalCharges(); /** \overload */ const Array& formalCharges() const; /** * Get the formal charge for the requested atom. * @param atomId The index of the atom. * @return The formal charge of the atom indexed at @a atomId, or * 0 if @a atomId is invalid. */ signed char formalCharge(Index atomId) const; /** * Replace the current array of formal charges. * @param charges The new formal charge array. Must be of length atomCount(). * @return True on success, false otherwise. */ bool setFormalCharges(const Core::Array& charges); /** * Set the formal charge of a single atom. * @param atomId The index of the atom to modify. * @param charge The new formal charge. * @return True on success, false otherwise. */ bool setFormalCharge(Index atomId, signed char charge); /** Returns a vector of colors for the atoms in the moleucle. */ Array& colors(); /** \overload */ const Array& colors() const; /** * Get the color for the requested atom. * @param atomId The index of the atom. * @return The color of the atom indexed at @a atomId, or * (0,0,0) if @a atomId is invalid. If no color is set for the * given atomId, the default color for the atomic number of * the atomId is returned. */ Vector3ub color(Index atomId) const; /** * Replace the current array of colors. * @param colors The new color array. Must be of length atomCount(). * @return True on success, false otherwise. */ bool setColors(const Core::Array& colors); /** * Set the color of a single atom. * @param atomId The index of the atom to modify. * @param color The new color. * @return True on success, false otherwise. */ bool setColor(Index atomId, Vector3ub color); /** Returns a vector of 2d atom positions for the atoms in the molecule. */ const Array& atomPositions2d() const; /** \overload */ Array& atomPositions2d(); /** * Get the 2D position of a single atom. * @param atomId The index of the atom. * @return The position of the atom, or Vector3::Zero() if no position * information has been set. */ Vector2 atomPosition2d(Index atomId) const; /** * Replace the current array of 2D atomic coordinates. * @param pos The new coordinate array. Must be of length atomCount(). * @return True on success, false otherwise. */ bool setAtomPositions2d(const Core::Array& pos); /** * Set the 2D position of a single atom. * @param atomId The index of the atom to modify. * @param pos The new position of the atom. * @return True on success, false otherwise. */ bool setAtomPosition2d(Index atomId, const Vector2& pos); /** Returns a vector of 2d atom positions for the atoms in the molecule. */ const Array& atomPositions3d() const; /** \overload */ Array& atomPositions3d(); /** * Get the 3D position of a single atom. * @param atomId The index of the atom. * @return The position of the atom, or Vector3::Zero() if no position * information has been set. */ Vector3 atomPosition3d(Index atomId) const; /** * Replace the current array of 3D atomic coordinates. * @param pos The new coordinate array. Must be of length atomCount(). * @return True on success, false otherwise. */ bool setAtomPositions3d(const Core::Array& pos); /** * Set the 3D position of a single atom. * @param atomId The index of the atom to modify. * @param pos The new position of the atom. * @return True on success, false otherwise. */ bool setAtomPosition3d(Index atomId, const Vector3& pos); /** * Set whether the specified atom is selected or not. */ void setAtomSelected(Index atomId, bool selected); /** * Query whether the supplied atom index has been selected. */ bool atomSelected(Index atomId) const; /** Returns whether the selection is empty or not */ bool isSelectionEmpty() const; /** Returns a vector of pairs of atom indices of the bonds in the molecule. */ Array>& bondPairs(); /** \overload */ const Array>& bondPairs() const; /** * Get the set of bonded atoms corresponding to @a bondId. * @param bondId The index of the requested bond. * @return The bonded atom pair, represented as a pair of atom indices. */ std::pair bondPair(Index bondId) const; /** * Replace the current array of bonded atoms. * @param pairs The array. * @return True on success, false on failure. * @note The bonded atoms are represented as a pair of bond indices. * @note If needed, the elements in @a pairs will be modified to ensure that * the first atom index is less than the second. */ bool setBondPairs(const Array>& pairs); /** * Set the bonded atoms for a bond. * @param bondId The bond to modify. * @param pair The new bond pair. * @return True on success, false otherwise. * @note If needed, @a pair will be modified to ensure that the first atom * index is less than the second. */ bool setBondPair(Index bondId, const std::pair& pair); /** Returns a vector of the bond orders for the bonds in the molecule. */ Array& bondOrders(); /** \overload */ const Array& bondOrders() const; /** * Get the order of a bond. * @param bondId The id of the bond. * @return The bond order. */ unsigned char bondOrder(Index bondId) const; /** * Replace the current array of bond orders. * @param orders The new array. * @return True on success, false on failure. */ bool setBondOrders(const Array& orders); /** * Set the order of a bond in the molecule. * @param bondId The bond's index. * @param order The new order of the bond. * @return True on success, false on failure. */ bool setBondOrder(Index bondId, unsigned char order); /** Returns the graph for the molecule. */ Graph& graph(); /** \overload */ const Graph& graph() const; /** A map of custom element atomic numbers to string identifiers. These ids * can be used to override the generic custom element names returned by the * Elements class, and should be somewhat meaningful to the user. * * @note Custom element atomic numbers lie between CustomElementMin and * CustomElementMax. * @sa Avogadro::QtGui::CustomElementDialog * @sa hasCustomElements * @{ */ const CustomElementMap& customElementMap() const; void setCustomElementMap(const CustomElementMap& map); /** @} */ /** * @return True if custom elements exist in the molecule. * @note Custom element atomic numbers lie between CustomElementMin and * CustomElementMax. */ bool hasCustomElements() const; /** Adds an atom to the molecule. */ virtual AtomType addAtom(unsigned char atomicNumber); /** * @brief Remove the specified atom from the molecule. * @param index The index of the atom to be removed. * @return True on success, false if the atom was not found. */ virtual bool removeAtom(Index index); /** * @brief Remove the specified atom from the molecule. * @param atom The atom to be removed. * @return True on success, false if the atom was not found. * @overload */ virtual bool removeAtom(const AtomType& atom); /** * Remove all atoms from the molecule. */ virtual void clearAtoms(); /** * @return the atom at @p index in the molecule. */ AtomType atom(Index index) const; /** * @return The number of atoms in the molecule. */ Index atomCount() const; /** * @brief Get the number of atoms in the molecule that match atomicNumber. * @param atomicNumber The atomic number to match on. * @return The number of atoms with the supplied atomic number. */ Index atomCount(unsigned char atomicNumber) const; /** * Create a new bond in the molecule. * @param atom1 The first atom in the bond. * @param atom2 The second atom in the bond. * @param order The bond order. * @return The new bond object. Will be invalid if @a atom1 or @a atom2 does * not exist. * @{ */ virtual BondType addBond(Index atom1, Index atom2, unsigned char order = 1); virtual BondType addBond(const AtomType& atom1, const AtomType& atom2, unsigned char order = 1); /** @} */ /** * @brief Remove the specified bond. * @param index The index of the bond to be removed. * @return True on success, false if the bond was not found. */ virtual bool removeBond(Index index); /** * @brief Remove the specified bond. * @param bond The bond to be removed. * @return True on success, false if the bond was not found. * @overload */ virtual bool removeBond(const BondType& bond); /** * @brief Remove the specified bond. * @param atom1 One atom in the bond. * @param atom2 The other atom in the bond. * @return True on success, false if the bond was not found. * @overload * @{ */ virtual bool removeBond(Index atom1, Index atom2); virtual bool removeBond(const AtomType& atom1, const AtomType& atom2); /** @} */ /** * Remove all bonds from the molecule. */ virtual void clearBonds(); /** Returns the bond at @p index in the molecule. */ BondType bond(Index index) const; /** Returns the bond between atoms @p a and @p b. */ BondType bond(const AtomType& a, const AtomType& b) const; /** Returns the bond between atomId1 and atomId2. */ BondType bond(Index atomId1, Index atomId2) const; /** * @brief Get all bonds to @p a. * @return A vector of bonds to the supplied atom @p a. * @{ */ Array bonds(const AtomType& a); Array bonds(Index a); /** @} */ /** Returns the number of bonds in the molecule. */ Index bondCount() const; /** * @brief Add a mesh to the molecule. * @return The mesh object added to the molecule. */ Mesh* addMesh(); Mesh* mesh(Index index); const Mesh* mesh(Index index) const; Index meshCount() const { return static_cast(m_meshes.size()); } void clearMeshes(); /** * @brief Add a cube to the molecule. * @return The cube object added to the molecule. */ Cube* addCube(); Cube* cube(Index index); const Cube* cube(Index index) const; Index cubeCount() const { return static_cast(m_cubes.size()); } void clearCubes(); /** * @brief Get the cubes vector set (if present) for the molecule. * @return The cube vector for the molecule */ std::vector cubes() { return m_cubes; } const std::vector cubes() const { return m_cubes; } /** * Returns the chemical formula of the molecule. * @param delimiter Delimiter to insert between tokens, defaults to none. * @param showCountsOver Show atom counts above this (defaults to 1). */ std::string formula(const std::string& delimiter = "", int showCountsOver = 1) const; /** * @return The mass of the molecule obtained by summing constituent atomic * masses. */ double mass() const; /** * Set the basis set for the molecule, note that the molecule takes ownership * of the object. */ void setBasisSet(BasisSet* basis) { m_basisSet = basis; } /** * Get the basis set (if present) for the molecule. */ BasisSet* basisSet() { return m_basisSet; } const BasisSet* basisSet() const { return m_basisSet; } /** * The unit cell for this molecule. May be nullptr for non-periodic * structures. * @{ */ void setUnitCell(UnitCell* uc); UnitCell* unitCell() { return m_unitCell; } const UnitCell* unitCell() const { return m_unitCell; } /** @} */ Array vibrationFrequencies() const; void setVibrationFrequencies(const Array& freq); Array vibrationIntensities() const; void setVibrationIntensities(const Array& intensities); Array vibrationLx(int mode) const; void setVibrationLx(const Array>& lx); /** * Perceives bonds in the molecule based on the 3D coordinates of the atoms. * atoms are considered bonded if within the sum of radii * plus a small @p tolerance. * @param tolerance The calculation tolerance. * @param minDistance = atoms closer than the square of this are ignored */ void perceiveBondsSimple(const double tolerance = 0.45, const double minDistance = 0.32); /** * Perceives bonds in the molecule based on preset residue data. */ void perceiveBondsFromResidueData(); int coordinate3dCount(); bool setCoordinate3d(int coord); Array coordinate3d(int index) const; bool setCoordinate3d(const Array& coords, int index); /** * Timestep property is used when molecular dynamics trajectories are read */ bool setTimeStep(double timestep, int index); double timeStep(int index, bool& status); /** Returns a vector of forces for the atoms in the molecule. */ const Array& forceVectors() const; /** \overload */ Array& forceVectors(); /** * Get the force of a single atom. * @param atomId The index of the atom. * @return The force vector of the atom, or Vector3::Zero() if no force * information has been set. */ Vector3 forceVector(Index atomId) const; /** * Replace the current array of force vectors. * @param forces The new coordinate array. Must be of length atomCount(). * @return True on success, false otherwise. */ bool setForceVectors(const Core::Array& forces); /** * Set the 3D position of a single atom. * @param atomId The index of the atom to modify. * @param force The new position of the atom. * @return True on success, false otherwise. */ bool setForceVector(Index atomId, const Vector3& force); Residue& addResidue(std::string& name, Index& number, char& id); void addResidue(Residue& residue); Residue& residue(int index); protected: mutable Graph m_graph; // A transformation of the molecule to a graph. mutable bool m_graphDirty; // Should the graph be rebuilt before returning it? VariantMap m_data; CustomElementMap m_customElementMap; Array m_atomicNumbers; Array m_positions2d; Array m_positions3d; Array> m_coordinates3d; // Used for conformers/trajectories. Array m_timesteps; Array m_hybridizations; Array m_formalCharges; Array m_forceVectors; Array m_colors; // Vibration data if available. Array m_vibrationFrequencies; Array m_vibrationIntensities; Array> m_vibrationLx; Array> m_bondPairs; Array m_bondOrders; // Array declaring whether atoms are selected or not. std::vector m_selectedAtoms; std::vector m_meshes; std::vector m_cubes; BasisSet* m_basisSet; UnitCell* m_unitCell; Array m_residues; /** Update the graph to correspond to the current molecule. */ void updateGraph() const; }; class AVOGADROCORE_EXPORT Atom : public AtomTemplate { public: Atom() : AtomTemplate() {} Atom(Molecule* m, Index i) : AtomTemplate(m, i) {} }; class AVOGADROCORE_EXPORT Bond : public BondTemplate { public: Bond() : BondTemplate() {} Bond(Molecule* m, Index i) : BondTemplate(m, i) {} }; inline unsigned char Molecule::atomicNumber(Index atomId) const { return atomId < m_atomicNumbers.size() ? m_atomicNumbers[atomId] : InvalidElement; } inline bool Molecule::setAtomicNumbers(const Core::Array& nums) { if (nums.size() == atomCount()) { m_atomicNumbers = nums; return true; } return false; } inline bool Molecule::setAtomicNumber(Index atomId, unsigned char number) { if (atomId < atomCount()) { m_atomicNumbers[atomId] = number; return true; } return false; } inline AtomHybridization Molecule::hybridization(Index atomId) const { AtomHybridization hyb = HybridizationUnknown; if (atomId < m_hybridizations.size()) return m_hybridizations[atomId]; return hyb; } inline bool Molecule::setHybridizations( const Core::Array& hybs) { if (hybs.size() == atomCount()) { m_hybridizations = hybs; return true; } return false; } inline bool Molecule::setHybridization(Index atomId, AtomHybridization hyb) { if (atomId < atomCount()) { if (atomId >= m_hybridizations.size()) m_hybridizations.resize(atomCount(), HybridizationUnknown); m_hybridizations[atomId] = hyb; return true; } return false; } inline signed char Molecule::formalCharge(Index atomId) const { return atomId < m_formalCharges.size() ? m_formalCharges[atomId] : 0; } inline bool Molecule::setFormalCharges(const Core::Array& charges) { if (charges.size() == atomCount()) { m_formalCharges = charges; return true; } return false; } inline bool Molecule::setFormalCharge(Index atomId, signed char charge) { if (atomId < atomCount()) { if (atomId >= m_formalCharges.size()) m_formalCharges.resize(atomCount(), 0); m_formalCharges[atomId] = charge; return true; } return false; } inline Vector3ub Molecule::color(Index atomId) const { if (atomId >= atomCount()) return Vector3ub(0, 0, 0); if (atomId < m_colors.size()) return m_colors[atomId]; return Vector3ub(Elements::color(atomicNumber(atomId))); } inline bool Molecule::setColors(const Core::Array& colors) { if (colors.size() == atomCount()) { m_colors = colors; return true; } return false; } inline bool Molecule::setColor(Index atomId, Vector3ub color) { if (atomId < atomCount()) { if (atomId >= m_colors.size()) { for (Index i = m_colors.size(); i < atomCount(); ++i) { m_colors.push_back(Vector3ub(Elements::color(atomicNumber(i)))); } } m_colors[atomId] = color; return true; } return false; } inline Vector2 Molecule::atomPosition2d(Index atomId) const { return atomId < m_positions2d.size() ? m_positions2d[atomId] : Vector2(); } inline bool Molecule::setAtomPositions2d(const Core::Array& pos) { if (pos.size() == atomCount() || pos.size() == 0) { m_positions2d = pos; return true; } return false; } inline bool Molecule::setAtomPosition2d(Index atomId, const Vector2& pos) { if (atomId < atomCount()) { if (atomId >= m_positions2d.size()) m_positions2d.resize(atomCount(), Vector2::Zero()); m_positions2d[atomId] = pos; return true; } return false; } inline Vector3 Molecule::atomPosition3d(Index atomId) const { return atomId < m_positions3d.size() ? m_positions3d[atomId] : Vector3(); } inline bool Molecule::setAtomPositions3d(const Core::Array& pos) { if (pos.size() == atomCount() || pos.size() == 0) { m_positions3d = pos; return true; } return false; } inline bool Molecule::setAtomPosition3d(Index atomId, const Vector3& pos) { if (atomId < atomCount()) { if (atomId >= m_positions3d.size()) m_positions3d.resize(atomCount(), Vector3::Zero()); m_positions3d[atomId] = pos; return true; } return false; } inline void Molecule::setAtomSelected(Index atomId, bool selected) { if (atomId < atomCount()) { if (atomId >= m_selectedAtoms.size()) m_selectedAtoms.resize(atomCount(), false); m_selectedAtoms[atomId] = selected; } } inline bool Molecule::atomSelected(Index atomId) const { return atomId < m_selectedAtoms.size() ? m_selectedAtoms[atomId] : false; } inline bool Molecule::isSelectionEmpty() const { for (Index i = 0; i < m_selectedAtoms.size(); ++i) { if (m_selectedAtoms[i]) return false; } return true; } inline std::pair Molecule::bondPair(Index bondId) const { return bondId < bondCount() ? m_bondPairs[bondId] : std::make_pair(MaxIndex, MaxIndex); } inline bool Molecule::setBondPairs(const Array>& pairs) { if (pairs.size() == bondCount()) { m_bondPairs = pairs; return true; } return false; } inline bool Molecule::setBondPair(Index bondId, const std::pair& pair) { if (bondId < bondCount()) { m_bondPairs[bondId] = pair; return true; } return false; } inline unsigned char Molecule::bondOrder(Index bondId) const { return bondId < m_bondOrders.size() ? m_bondOrders[bondId] : 0; } inline bool Molecule::setBondOrders(const Array& orders) { if (orders.size() == bondCount()) { m_bondOrders = orders; return true; } return false; } inline bool Molecule::setBondOrder(Index bondId, unsigned char order) { if (bondId < bondCount()) { m_bondOrders[bondId] = order; return true; } return false; } inline Vector3 Molecule::forceVector(Index atomId) const { return atomId < m_forceVectors.size() ? m_forceVectors[atomId] : Vector3(); } inline bool Molecule::setForceVectors(const Core::Array& forces) { if (forces.size() == atomCount() || forces.size() == 0) { m_forceVectors = forces; return true; } return false; } inline bool Molecule::setForceVector(Index atomId, const Vector3& force) { if (atomId < atomCount()) { if (atomId >= m_forceVectors.size()) m_forceVectors.resize(atomCount(), Vector3::Zero()); m_forceVectors[atomId] = force; return true; } return false; } } // namespace Core } // namespace Avogadro #endif // AVOGADRO_CORE_MOLECULE_H avogadrolibs-1.93.0/avogadro/core/mutex.cpp000066400000000000000000000017641360735163600207020ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "mutex.h" #include namespace Avogadro { namespace Core { using std::mutex; class Mutex::PIMPL { public: PIMPL() {} mutex lock; }; Mutex::Mutex() : d(new PIMPL) { } Mutex::~Mutex() { delete d; } void Mutex::lock() { d->lock.lock(); } bool Mutex::tryLock() { return d->lock.try_lock(); } void Mutex::unlock() { d->lock.unlock(); } } } avogadrolibs-1.93.0/avogadro/core/mutex.h000066400000000000000000000027201360735163600203400ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_MUTEX_H #define AVOGADRO_CORE_MUTEX_H #include "avogadrocore.h" #include namespace Avogadro { namespace Core { /** * @class Mutex mutex.h * @brief The Mutex class provides a simple wrapper for the C++11 or Boost mutex * class * @author Marcus D. Hanwell * * A very simple, and thin wrapper around the C++11 (or Boost fallback) mutex * class, allowing for lock, tryLock and unlock. */ class AVOGADROCORE_EXPORT Mutex { public: Mutex(); ~Mutex(); /** * @brief Obtain an exclusive lock. */ void lock(); /** * @brief Attempt to obtain an exclusive lock. * @return True on success, false on failure. */ bool tryLock(); /** * @brief Unlocks the lock. */ void unlock(); private: class PIMPL; PIMPL* d; }; } } #endif // AVOGADRO_CORE_MUTEX_H avogadrolibs-1.93.0/avogadro/core/nameatomtyper.cpp000066400000000000000000000020041360735163600224110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "nameatomtyper.h" #include "atom.h" #include "elements.h" namespace Avogadro { namespace Core { NameAtomTyper::NameAtomTyper(const Molecule* mol) : AtomTyper(mol) { } NameAtomTyper::~NameAtomTyper() { } std::string NameAtomTyper::type(const Atom& atom) { return std::string(Elements::name(atom.atomicNumber())); } } // namespace Core } // namespace Avogadro avogadrolibs-1.93.0/avogadro/core/nameatomtyper.h000066400000000000000000000025121360735163600220620ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_NAMEATOMTYPER_H #define AVOGADRO_CORE_NAMEATOMTYPER_H #include "avogadrocore.h" #include #include namespace Avogadro { namespace Core { /** * @class NameAtomTyper nameatomtyper.h * @brief The NameAtomTyper class is a simple implementation of AtomTyper that * assigns element names to each atom. */ class AVOGADROCORE_EXPORT NameAtomTyper : public AtomTyper { public: explicit NameAtomTyper(const Molecule* mol = nullptr); ~NameAtomTyper() override; protected: std::string type(const Atom& atom) override; }; } // namespace Core } // namespace Avogadro #endif // AVOGADRO_CORE_NAMEATOMTYPER_H avogadrolibs-1.93.0/avogadro/core/residue.cpp000066400000000000000000000060341360735163600211730ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "residue.h" #include "molecule.h" #include "residuedata.h" namespace Avogadro { namespace Core { Residue::Residue() {} Residue::Residue(std::string& name) : m_residueName(name) {} Residue::Residue(std::string& name, Index& number) : m_residueName(name), m_residueId(number) {} Residue::Residue(std::string& name, Index& number, char& id) : m_residueName(name), m_residueId(number), m_chainId(id) {} Residue::Residue(const Residue& other) : m_residueName(other.m_residueName), m_residueId(other.m_residueId), m_atomNameMap(other.m_atomNameMap) {} Residue& Residue::operator=(Residue other) { m_residueName = other.m_residueName; m_residueId = other.m_residueId; m_atomNameMap = other.m_atomNameMap; return *this; } Residue::~Residue() {} void Residue::addResidueAtom(std::string& name, Atom& atom) { m_atomNameMap.insert(std::pair(name, atom)); } std::vector Residue::residueAtoms() { std::vector res; for (AtomNameMap::iterator it = m_atomNameMap.begin(); it != m_atomNameMap.end(); ++it) { res.push_back(it->second); } return res; } void Residue::resolveResidueBonds(Molecule& mol) { std::vector> bondSeq; if (residueDict.find(m_residueName) != residueDict.end()) { size_t i = 0; bondSeq = residueDict[m_residueName].residueSingleBonds(); for (i = 0; i < bondSeq.size(); ++i) { if (m_atomNameMap.find(bondSeq[i].first) != m_atomNameMap.end() && m_atomNameMap.find(bondSeq[i].second) != m_atomNameMap.end()) { mol.Avogadro::Core::Molecule::addBond( m_atomNameMap[bondSeq[i].first], m_atomNameMap[bondSeq[i].second], 1); } } bondSeq = residueDict[m_residueName].residueDoubleBonds(); for (i = 0; i < bondSeq.size(); ++i) { if (m_atomNameMap.find(bondSeq[i].first) != m_atomNameMap.end() && m_atomNameMap.find(bondSeq[i].second) != m_atomNameMap.end()) { mol.Avogadro::Core::Molecule::addBond( m_atomNameMap[bondSeq[i].first], m_atomNameMap[bondSeq[i].second], 2); } } } } int Residue::getAtomicNumber(std::string name) { std::map resAtoms; if (residueDict.find(m_residueName) != residueDict.end()) { resAtoms = residueDict[m_residueName].residueAtoms(); if (resAtoms.find(name) != resAtoms.end()) return resAtoms[name]; } return 0; } } // namespace Core } // namespace Avogadro avogadrolibs-1.93.0/avogadro/core/residue.h000066400000000000000000000045161360735163600206430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_RESIDUE_H #define AVOGADRO_CORE_RESIDUE_H #include "avogadrocore.h" #include #include #include "array.h" #include "bond.h" #include "vector.h" namespace Avogadro { namespace Core { class Atom; class Molecule; /** * @class Residue residue.h * @brief The Residue class represents a chemical residue, used commonly in the * PDB format. */ class AVOGADROCORE_EXPORT Residue { public: /** Type for atom name map. */ typedef std::map AtomNameMap; /** Creates a new, empty residue. */ Residue(); Residue(std::string& name); Residue(std::string& name, Index& number); Residue(std::string& name, Index& number, char& id); Residue(const Residue& other); Residue& operator=(Residue other); virtual ~Residue(); inline std::string residueName() { return m_residueName; } inline void setResidueName(std::string& name) { m_residueName = name; } inline Index residueId() { return m_residueId; } inline void setResidueId(Index& number) { m_residueId = number; } inline char chainId() { return m_chainId; } inline void setChainId(char& id) { m_chainId = id; } /** Adds an atom to the residue class */ void addResidueAtom(std::string& name, Atom& atom); /** Returns a vector containing the atoms added to the residue */ std::vector residueAtoms(); /** Sets bonds to atoms in the residue based on data from residuedata header */ void resolveResidueBonds(Molecule& mol); int getAtomicNumber(std::string name); protected: std::string m_residueName; Index m_residueId; char m_chainId; AtomNameMap m_atomNameMap; }; } // namespace Core } // namespace Avogadro #endif // AVOGADRO_CORE_RESIDUE_H avogadrolibs-1.93.0/avogadro/core/residuedata.h000066400000000000000000002207131360735163600214740ustar00rootroot00000000000000 #ifndef AVOGADRO_CORE_RESIDUE_DATA #define AVOGADRO_CORE_RESIDUE_DATA #include #include #include namespace Avogadro { namespace Core { class ResidueData { private: std::string m_residueName; std::map m_residueAtomNames; std::vector> m_residueSingleBonds; std::vector> m_residueDoubleBonds; public: ResidueData() {} ResidueData(std::string name, std::map atomNames, std::vector> singleBonds, std::vector> doubleBonds) { m_residueName = name; m_residueAtomNames = atomNames; m_residueSingleBonds = singleBonds; m_residueDoubleBonds = doubleBonds; } ResidueData(const ResidueData& other) { m_residueName = other.m_residueName; m_residueAtomNames = other.m_residueAtomNames; m_residueSingleBonds = other.m_residueSingleBonds; m_residueDoubleBonds = other.m_residueDoubleBonds; } ResidueData& operator=(ResidueData other) { using std::swap; swap(*this, other); return *this; } std::map residueAtoms() { return m_residueAtomNames; } std::vector> residueSingleBonds() { return m_residueSingleBonds; } std::vector> residueDoubleBonds() { return m_residueDoubleBonds; } }; ResidueData ALAData("ALA", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB1", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HB3", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "HB1" }, { "CB", "HB2" }, { "CB", "HB3" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData CYSData("CYS", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "SG", 16 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HG", 1 }, { "HG", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "SG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "SG", "HG" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData ASPData("ASP", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "OD1", 8 }, { "OD2", 8 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HD2", 1 }, { "HD2", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "OD2" }, { "OD2", "HD2" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" }, { "CG", "OD1" } }); ResidueData GLUData("GLU", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "CD", 6 }, { "OE1", 8 }, { "OE2", 8 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HG2", 1 }, { "HG3", 1 }, { "HE2", 1 }, { "HE2", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "CD" }, { "CG", "HG2" }, { "CG", "HG3" }, { "CD", "OE2" }, { "OE2", "HE2" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" }, { "CD", "OE1" } }); ResidueData PHEData( "PHE", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "CD1", 6 }, { "CD2", 6 }, { "CE1", 6 }, { "CE2", 6 }, { "CZ", 6 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HD1", 1 }, { "HD2", 1 }, { "HE1", 1 }, { "HE2", 1 }, { "HZ", 1 }, { "HZ", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "CD2" }, { "CD1", "CE1" }, { "CD1", "HD1" }, { "CD2", "HD2" }, { "CE1", "HE1" }, { "CE2", "CZ" }, { "CE2", "HE2" }, { "CZ", "HZ" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" }, { "CG", "CD1" }, { "CD2", "CE2" }, { "CE1", "CZ" } }); ResidueData GLYData("GLY", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA2", 1 }, { "HA3", 1 }, { "HA3", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "HA2" }, { "CA", "HA3" }, { "C", "OXT" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData HISData("HIS", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "ND1", 7 }, { "CD2", 6 }, { "CE1", 6 }, { "NE2", 7 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HD1", 1 }, { "HD2", 1 }, { "HE1", 1 }, { "HE2", 1 }, { "HE2", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "ND1" }, { "ND1", "HD1" }, { "CD2", "NE2" }, { "CD2", "HD2" }, { "CE1", "NE2" }, { "CE1", "HE1" }, { "NE2", "HE2" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" }, { "CG", "CD2" }, { "ND1", "CE1" } }); ResidueData ILEData( "ILE", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG1", 6 }, { "CG2", 6 }, { "CD1", 6 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB", 1 }, { "HG12", 1 }, { "HG13", 1 }, { "HG21", 1 }, { "HG22", 1 }, { "HG23", 1 }, { "HD11", 1 }, { "HD12", 1 }, { "HD13", 1 }, { "HD13", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG1" }, { "CB", "CG2" }, { "CB", "HB" }, { "CG1", "CD1" }, { "CG1", "HG12" }, { "CG1", "HG13" }, { "CG2", "HG21" }, { "CG2", "HG22" }, { "CG2", "HG23" }, { "CD1", "HD11" }, { "CD1", "HD12" }, { "CD1", "HD13" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData LYSData( "LYS", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "CD", 6 }, { "CE", 6 }, { "NZ", 7 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HG2", 1 }, { "HG3", 1 }, { "HD2", 1 }, { "HD3", 1 }, { "HE2", 1 }, { "HE3", 1 }, { "HZ1", 1 }, { "HZ2", 1 }, { "HZ3", 1 }, { "HZ3", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "CD" }, { "CG", "HG2" }, { "CG", "HG3" }, { "CD", "CE" }, { "CD", "HD2" }, { "CD", "HD3" }, { "CE", "NZ" }, { "CE", "HE2" }, { "CE", "HE3" }, { "NZ", "HZ1" }, { "NZ", "HZ2" }, { "NZ", "HZ3" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData LEUData( "LEU", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "CD1", 6 }, { "CD2", 6 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HG", 1 }, { "HD11", 1 }, { "HD12", 1 }, { "HD13", 1 }, { "HD21", 1 }, { "HD22", 1 }, { "HD23", 1 }, { "HD23", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "CD1" }, { "CG", "CD2" }, { "CG", "HG" }, { "CD1", "HD11" }, { "CD1", "HD12" }, { "CD1", "HD13" }, { "CD2", "HD21" }, { "CD2", "HD22" }, { "CD2", "HD23" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData METData("MET", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "SD", 16 }, { "CE", 6 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HG2", 1 }, { "HG3", 1 }, { "HE1", 1 }, { "HE2", 1 }, { "HE3", 1 }, { "HE3", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "SD" }, { "CG", "HG2" }, { "CG", "HG3" }, { "SD", "CE" }, { "CE", "HE1" }, { "CE", "HE2" }, { "CE", "HE3" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData ASNData("ASN", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "OD1", 8 }, { "ND2", 7 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HD21", 1 }, { "HD22", 1 }, { "HD22", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "ND2" }, { "ND2", "HD21" }, { "ND2", "HD22" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" }, { "CG", "OD1" } }); ResidueData PROData("PRO", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "CD", 6 }, { "OXT", 8 }, { "H", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HG2", 1 }, { "HG3", 1 }, { "HD2", 1 }, { "HD3", 1 }, { "HD3", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "CD" }, { "N", "H" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "CD" }, { "CG", "HG2" }, { "CG", "HG3" }, { "CD", "HD2" }, { "CD", "HD3" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData GLNData( "GLN", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "CD", 6 }, { "OE1", 8 }, { "NE2", 7 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HG2", 1 }, { "HG3", 1 }, { "HE21", 1 }, { "HE22", 1 }, { "HE22", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "CD" }, { "CG", "HG2" }, { "CG", "HG3" }, { "CD", "NE2" }, { "NE2", "HE21" }, { "NE2", "HE22" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" }, { "CD", "OE1" } }); ResidueData ARGData( "ARG", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "CD", 6 }, { "NE", 7 }, { "CZ", 6 }, { "NH1", 7 }, { "NH2", 7 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HG2", 1 }, { "HG3", 1 }, { "HD2", 1 }, { "HD3", 1 }, { "HE", 1 }, { "HH11", 1 }, { "HH12", 1 }, { "HH21", 1 }, { "HH22", 1 }, { "HH22", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "CD" }, { "CG", "HG2" }, { "CG", "HG3" }, { "CD", "NE" }, { "CD", "HD2" }, { "CD", "HD3" }, { "NE", "CZ" }, { "NE", "HE" }, { "CZ", "NH1" }, { "NH1", "HH11" }, { "NH1", "HH12" }, { "NH2", "HH21" }, { "NH2", "HH22" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" }, { "CZ", "NH2" } }); ResidueData SERData("SER", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "OG", 8 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HG", 1 }, { "HG", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "OG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "OG", "HG" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData THRData("THR", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "OG1", 8 }, { "CG2", 6 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB", 1 }, { "HG1", 1 }, { "HG21", 1 }, { "HG22", 1 }, { "HG23", 1 }, { "HG23", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "OG1" }, { "CB", "CG2" }, { "CB", "HB" }, { "OG1", "HG1" }, { "CG2", "HG21" }, { "CG2", "HG22" }, { "CG2", "HG23" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData VALData("VAL", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG1", 6 }, { "CG2", 6 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB", 1 }, { "HG11", 1 }, { "HG12", 1 }, { "HG13", 1 }, { "HG21", 1 }, { "HG22", 1 }, { "HG23", 1 }, { "HG23", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG1" }, { "CB", "CG2" }, { "CB", "HB" }, { "CG1", "HG11" }, { "CG1", "HG12" }, { "CG1", "HG13" }, { "CG2", "HG21" }, { "CG2", "HG22" }, { "CG2", "HG23" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" } }); ResidueData TRPData( "TRP", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "CD1", 6 }, { "CD2", 6 }, { "NE1", 7 }, { "CE2", 6 }, { "CE3", 6 }, { "CZ2", 6 }, { "CZ3", 6 }, { "CH2", 6 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HD1", 1 }, { "HE1", 1 }, { "HE3", 1 }, { "HZ2", 1 }, { "HZ3", 1 }, { "HH2", 1 }, { "HH2", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "CD2" }, { "CD1", "NE1" }, { "CD1", "HD1" }, { "CD2", "CE3" }, { "NE1", "CE2" }, { "NE1", "HE1" }, { "CE2", "CZ2" }, { "CE3", "HE3" }, { "CZ2", "HZ2" }, { "CZ3", "CH2" }, { "CZ3", "HZ3" }, { "CH2", "HH2" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" }, { "CG", "CD1" }, { "CD2", "CE2" }, { "CE3", "CZ3" }, { "CZ2", "CH2" } }); ResidueData TYRData( "TYR", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "CB", 6 }, { "CG", 6 }, { "CD1", 6 }, { "CD2", 6 }, { "CE1", 6 }, { "CE2", 6 }, { "CZ", 6 }, { "OH", 8 }, { "OXT", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HD1", 1 }, { "HD2", 1 }, { "HE1", 1 }, { "HE2", 1 }, { "HH", 1 }, { "HH", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "CD2" }, { "CD1", "CE1" }, { "CD1", "HD1" }, { "CD2", "HD2" }, { "CE1", "HE1" }, { "CE2", "CZ" }, { "CE2", "HE2" }, { "CZ", "OH" }, { "OH", "HH" }, { "OXT", "HXT" } }, // Double Bonds { { "C", "O" }, { "CG", "CD1" }, { "CD2", "CE2" }, { "CE1", "CZ" } }); ResidueData DAData( "DA", // Atoms { { "OP3", 8 }, { "P", 15 }, { "OP1", 8 }, { "OP2", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "C1'", 6 }, { "N9", 7 }, { "C8", 6 }, { "N7", 7 }, { "C5", 6 }, { "C6", 6 }, { "N6", 7 }, { "N1", 7 }, { "C2", 6 }, { "N3", 7 }, { "C4", 6 }, { "HOP3", 1 }, { "HOP2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "H2''", 1 }, { "H1'", 1 }, { "H8", 1 }, { "H61", 1 }, { "H62", 1 }, { "H62", 1 } }, // Single Bonds { { "OP3", "P" }, { "OP3", "HOP3" }, { "P", "OP2" }, { "P", "O5'" }, { "OP2", "HOP2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "C2'", "H2''" }, { "C1'", "N9" }, { "C1'", "H1'" }, { "N9", "C8" }, { "N9", "C4" }, { "C8", "H8" }, { "N7", "C5" }, { "C5", "C6" }, { "C6", "N6" }, { "N6", "H61" }, { "N6", "H62" }, { "N1", "C2" }, { "C2", "H2" }, { "N3", "C4" } }, // Double Bonds { { "P", "OP1" }, { "C8", "N7" }, { "C5", "C4" }, { "C6", "N1" }, { "C2", "N3" } }); ResidueData DCData( "DC", // Atoms { { "OP3", 8 }, { "P", 15 }, { "OP1", 8 }, { "OP2", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "C1'", 6 }, { "N1", 7 }, { "C2", 6 }, { "O2", 8 }, { "N3", 7 }, { "C4", 6 }, { "N4", 7 }, { "C5", 6 }, { "C6", 6 }, { "HOP3", 1 }, { "HOP2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "H2''", 1 }, { "H1'", 1 }, { "H41", 1 }, { "H42", 1 }, { "H5", 1 }, { "H5", 1 } }, // Single Bonds { { "OP3", "P" }, { "OP3", "HOP3" }, { "P", "OP2" }, { "P", "O5'" }, { "OP2", "HOP2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "C2'", "H2''" }, { "C1'", "N1" }, { "C1'", "H1'" }, { "N1", "C2" }, { "N1", "C6" }, { "C2", "N3" }, { "C4", "N4" }, { "C4", "C5" }, { "N4", "H41" }, { "N4", "H42" }, { "C5", "H5" }, { "C6", "H6" } }, // Double Bonds { { "P", "OP1" }, { "C2", "O2" }, { "N3", "C4" }, { "C5", "C6" } }); ResidueData DGData( "DG", // Atoms { { "OP3", 8 }, { "P", 15 }, { "OP1", 8 }, { "OP2", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "C1'", 6 }, { "N9", 7 }, { "C8", 6 }, { "N7", 7 }, { "C5", 6 }, { "C6", 6 }, { "O6", 8 }, { "N1", 7 }, { "C2", 6 }, { "N2", 7 }, { "N3", 7 }, { "C4", 6 }, { "HOP3", 1 }, { "HOP2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "H2''", 1 }, { "H1'", 1 }, { "H8", 1 }, { "H1", 1 }, { "H21", 1 }, { "H21", 1 } }, // Single Bonds { { "OP3", "P" }, { "OP3", "HOP3" }, { "P", "OP2" }, { "P", "O5'" }, { "OP2", "HOP2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "C2'", "H2''" }, { "C1'", "N9" }, { "C1'", "H1'" }, { "N9", "C8" }, { "N9", "C4" }, { "C8", "H8" }, { "N7", "C5" }, { "C5", "C6" }, { "C6", "N1" }, { "N1", "C2" }, { "N1", "H1" }, { "C2", "N2" }, { "N2", "H21" }, { "N2", "H22" }, { "N3", "C4" } }, // Double Bonds { { "P", "OP1" }, { "C8", "N7" }, { "C5", "C4" }, { "C6", "O6" }, { "C2", "N3" } }); ResidueData DTData( "DT", // Atoms { { "OP3", 8 }, { "P", 15 }, { "OP1", 8 }, { "OP2", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "C1'", 6 }, { "N1", 7 }, { "C2", 6 }, { "O2", 8 }, { "N3", 7 }, { "C4", 6 }, { "O4", 8 }, { "C5", 6 }, { "C7", 6 }, { "C6", 6 }, { "HOP3", 1 }, { "HOP2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "H2''", 1 }, { "H1'", 1 }, { "H3", 1 }, { "H71", 1 }, { "H72", 1 }, { "H73", 1 }, { "H73", 1 } }, // Single Bonds { { "OP3", "P" }, { "OP3", "HOP3" }, { "P", "OP2" }, { "P", "O5'" }, { "OP2", "HOP2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "C2'", "H2''" }, { "C1'", "N1" }, { "C1'", "H1'" }, { "N1", "C2" }, { "N1", "C6" }, { "C2", "N3" }, { "N3", "C4" }, { "N3", "H3" }, { "C4", "C5" }, { "C5", "C7" }, { "C7", "H71" }, { "C7", "H72" }, { "C7", "H73" }, { "C6", "H6" } }, // Double Bonds { { "P", "OP1" }, { "C2", "O2" }, { "C4", "O4" }, { "C5", "C6" } }); ResidueData DIData( "DI", // Atoms { { "OP3", 8 }, { "P", 15 }, { "OP1", 8 }, { "OP2", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "C1'", 6 }, { "N9", 7 }, { "C8", 6 }, { "N7", 7 }, { "C5", 6 }, { "C6", 6 }, { "O6", 8 }, { "N1", 7 }, { "C2", 6 }, { "N3", 7 }, { "C4", 6 }, { "HOP3", 1 }, { "HOP2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "H2''", 1 }, { "H1'", 1 }, { "H8", 1 }, { "H1", 1 }, { "H1", 1 } }, // Single Bonds { { "OP3", "P" }, { "OP3", "HOP3" }, { "P", "OP2" }, { "P", "O5'" }, { "OP2", "HOP2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "C2'", "H2''" }, { "C1'", "N9" }, { "C1'", "H1'" }, { "N9", "C8" }, { "N9", "C4" }, { "C8", "H8" }, { "N7", "C5" }, { "C5", "C6" }, { "C6", "N1" }, { "N1", "C2" }, { "N1", "H1" }, { "C2", "H2" }, { "N3", "C4" } }, // Double Bonds { { "P", "OP1" }, { "C8", "N7" }, { "C5", "C4" }, { "C6", "O6" }, { "C2", "N3" } }); ResidueData AData( "A", // Atoms { { "OP3", 8 }, { "P", 15 }, { "OP1", 8 }, { "OP2", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "O2'", 8 }, { "C1'", 6 }, { "N9", 7 }, { "C8", 6 }, { "N7", 7 }, { "C5", 6 }, { "C6", 6 }, { "N6", 7 }, { "N1", 7 }, { "C2", 6 }, { "N3", 7 }, { "C4", 6 }, { "HOP3", 1 }, { "HOP2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "HO2'", 1 }, { "H1'", 1 }, { "H8", 1 }, { "H61", 1 }, { "H62", 1 }, { "H62", 1 } }, // Single Bonds { { "OP3", "P" }, { "OP3", "HOP3" }, { "P", "OP2" }, { "P", "O5'" }, { "OP2", "HOP2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "O2'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "O2'", "HO2'" }, { "C1'", "N9" }, { "C1'", "H1'" }, { "N9", "C8" }, { "N9", "C4" }, { "C8", "H8" }, { "N7", "C5" }, { "C5", "C6" }, { "C6", "N6" }, { "N6", "H61" }, { "N6", "H62" }, { "N1", "C2" }, { "C2", "H2" }, { "N3", "C4" } }, // Double Bonds { { "P", "OP1" }, { "C8", "N7" }, { "C5", "C4" }, { "C6", "N1" }, { "C2", "N3" } }); ResidueData CData( "C", // Atoms { { "OP3", 8 }, { "P", 15 }, { "OP1", 8 }, { "OP2", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "O2'", 8 }, { "C1'", 6 }, { "N1", 7 }, { "C2", 6 }, { "O2", 8 }, { "N3", 7 }, { "C4", 6 }, { "N4", 7 }, { "C5", 6 }, { "C6", 6 }, { "HOP3", 1 }, { "HOP2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "HO2'", 1 }, { "H1'", 1 }, { "H41", 1 }, { "H42", 1 }, { "H5", 1 }, { "H5", 1 } }, // Single Bonds { { "OP3", "P" }, { "OP3", "HOP3" }, { "P", "OP2" }, { "P", "O5'" }, { "OP2", "HOP2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "O2'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "O2'", "HO2'" }, { "C1'", "N1" }, { "C1'", "H1'" }, { "N1", "C2" }, { "N1", "C6" }, { "C2", "N3" }, { "C4", "N4" }, { "C4", "C5" }, { "N4", "H41" }, { "N4", "H42" }, { "C5", "H5" }, { "C6", "H6" } }, // Double Bonds { { "P", "OP1" }, { "C2", "O2" }, { "N3", "C4" }, { "C5", "C6" } }); ResidueData GData( "G", // Atoms { { "OP3", 8 }, { "P", 15 }, { "OP1", 8 }, { "OP2", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "O2'", 8 }, { "C1'", 6 }, { "N9", 7 }, { "C8", 6 }, { "N7", 7 }, { "C5", 6 }, { "C6", 6 }, { "O6", 8 }, { "N1", 7 }, { "C2", 6 }, { "N2", 7 }, { "N3", 7 }, { "C4", 6 }, { "HOP3", 1 }, { "HOP2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "HO2'", 1 }, { "H1'", 1 }, { "H8", 1 }, { "H1", 1 }, { "H21", 1 }, { "H21", 1 } }, // Single Bonds { { "OP3", "P" }, { "OP3", "HOP3" }, { "P", "OP2" }, { "P", "O5'" }, { "OP2", "HOP2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "O2'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "O2'", "HO2'" }, { "C1'", "N9" }, { "C1'", "H1'" }, { "N9", "C8" }, { "N9", "C4" }, { "C8", "H8" }, { "N7", "C5" }, { "C5", "C6" }, { "C6", "N1" }, { "N1", "C2" }, { "N1", "H1" }, { "C2", "N2" }, { "N2", "H21" }, { "N2", "H22" }, { "N3", "C4" } }, // Double Bonds { { "P", "OP1" }, { "C8", "N7" }, { "C5", "C4" }, { "C6", "O6" }, { "C2", "N3" } }); ResidueData UData( "U", // Atoms { { "OP3", 8 }, { "P", 15 }, { "OP1", 8 }, { "OP2", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "O2'", 8 }, { "C1'", 6 }, { "N1", 7 }, { "C2", 6 }, { "O2", 8 }, { "N3", 7 }, { "C4", 6 }, { "O4", 8 }, { "C5", 6 }, { "C6", 6 }, { "HOP3", 1 }, { "HOP2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "HO2'", 1 }, { "H1'", 1 }, { "H3", 1 }, { "H5", 1 }, { "H5", 1 } }, // Single Bonds { { "OP3", "P" }, { "OP3", "HOP3" }, { "P", "OP2" }, { "P", "O5'" }, { "OP2", "HOP2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "O2'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "O2'", "HO2'" }, { "C1'", "N1" }, { "C1'", "H1'" }, { "N1", "C2" }, { "N1", "C6" }, { "C2", "N3" }, { "N3", "C4" }, { "N3", "H3" }, { "C4", "C5" }, { "C5", "H5" }, { "C6", "H6" } }, // Double Bonds { { "P", "OP1" }, { "C2", "O2" }, { "C4", "O4" }, { "C5", "C6" } }); ResidueData IData( "I", // Atoms { { "OP3", 8 }, { "P", 15 }, { "OP1", 8 }, { "OP2", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "O2'", 8 }, { "C1'", 6 }, { "N9", 7 }, { "C8", 6 }, { "N7", 7 }, { "C5", 6 }, { "C6", 6 }, { "O6", 8 }, { "N1", 7 }, { "C2", 6 }, { "N3", 7 }, { "C4", 6 }, { "HOP3", 1 }, { "HOP2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "HO2'", 1 }, { "H1'", 1 }, { "H8", 1 }, { "H1", 1 }, { "H1", 1 } }, // Single Bonds { { "OP3", "P" }, { "OP3", "HOP3" }, { "P", "OP2" }, { "P", "O5'" }, { "OP2", "HOP2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "O2'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "O2'", "HO2'" }, { "C1'", "N9" }, { "C1'", "H1'" }, { "N9", "C8" }, { "N9", "C4" }, { "C8", "H8" }, { "N7", "C5" }, { "C5", "C6" }, { "C6", "N1" }, { "N1", "C2" }, { "N1", "H1" }, { "C2", "H2" }, { "N3", "C4" } }, // Double Bonds { { "P", "OP1" }, { "C8", "N7" }, { "C5", "C4" }, { "C6", "O6" }, { "C2", "N3" } }); ResidueData HEMData( "HEM", // Atoms { { "CHA", 6 }, { "CHB", 6 }, { "CHC", 6 }, { "CHD", 6 }, { "C1A", 6 }, { "C2A", 6 }, { "C3A", 6 }, { "C4A", 6 }, { "CMA", 6 }, { "CAA", 6 }, { "CBA", 6 }, { "CGA", 6 }, { "O1A", 8 }, { "O2A", 8 }, { "C1B", 6 }, { "C2B", 6 }, { "C3B", 6 }, { "C4B", 6 }, { "CMB", 6 }, { "CAB", 6 }, { "CBB", 6 }, { "C1C", 6 }, { "C2C", 6 }, { "C3C", 6 }, { "C4C", 6 }, { "CMC", 6 }, { "CAC", 6 }, { "CBC", 6 }, { "C1D", 6 }, { "C2D", 6 }, { "C3D", 6 }, { "C4D", 6 }, { "CMD", 6 }, { "CAD", 6 }, { "CBD", 6 }, { "CGD", 6 }, { "O1D", 8 }, { "O2D", 8 }, { "NA", 7 }, { "NB", 7 }, { "NC", 7 }, { "ND", 7 }, { "FE", 26 }, { "HHB", 1 }, { "HHC", 1 }, { "HHD", 1 }, { "HMA", 1 }, { "HMAA", 1 }, { "HMAB", 1 }, { "HAA", 1 }, { "HAAA", 1 }, { "HBA", 1 }, { "HBAA", 1 }, { "HMB", 1 }, { "HMBA", 1 }, { "HMBB", 1 }, { "HAB", 1 }, { "HBB", 1 }, { "HBBA", 1 }, { "HMC", 1 }, { "HMCA", 1 }, { "HMCB", 1 }, { "HAC", 1 }, { "HBC", 1 }, { "HBCA", 1 }, { "HMD", 1 }, { "HMDA", 1 }, { "HMDB", 1 }, { "HAD", 1 }, { "HADA", 1 }, { "HBD", 1 }, { "HBDA", 1 }, { "H2A", 1 }, { "H2D", 1 }, { "H2D", 1 } }, // Single Bonds { { "CHA", "C1A" }, { "CHA", "HHA" }, { "CHB", "C4A" }, { "CHB", "HHB" }, { "CHC", "C4B" }, { "CHC", "HHC" }, { "CHD", "C1D" }, { "CHD", "HHD" }, { "C1A", "NA" }, { "C2A", "C3A" }, { "C2A", "CAA" }, { "C3A", "CMA" }, { "C4A", "NA" }, { "CMA", "HMA" }, { "CMA", "HMAA" }, { "CMA", "HMAB" }, { "CAA", "CBA" }, { "CAA", "HAA" }, { "CAA", "HAAA" }, { "CBA", "CGA" }, { "CBA", "HBA" }, { "CBA", "HBAA" }, { "CGA", "O2A" }, { "O2A", "H2A" }, { "C1B", "C2B" }, { "C1B", "NB" }, { "C2B", "CMB" }, { "C3B", "C4B" }, { "C3B", "CAB" }, { "CMB", "HMB" }, { "CMB", "HMBA" }, { "CMB", "HMBB" }, { "CAB", "HAB" }, { "CBB", "HBB" }, { "CBB", "HBBA" }, { "C1C", "C2C" }, { "C1C", "NC" }, { "C2C", "CMC" }, { "C3C", "C4C" }, { "C3C", "CAC" }, { "C4C", "NC" }, { "CMC", "HMC" }, { "CMC", "HMCA" }, { "CMC", "HMCB" }, { "CAC", "HAC" }, { "CBC", "HBC" }, { "CBC", "HBCA" }, { "C1D", "C2D" }, { "C2D", "CMD" }, { "C3D", "C4D" }, { "C3D", "CAD" }, { "C4D", "ND" }, { "CMD", "HMD" }, { "CMD", "HMDA" }, { "CMD", "HMDB" }, { "CAD", "CBD" }, { "CAD", "HAD" }, { "CAD", "HADA" }, { "CBD", "CGD" }, { "CBD", "HBD" }, { "CBD", "HBDA" }, { "CGD", "O2D" }, { "O2D", "H2D" }, { "FE", "NA" }, { "FE", "NB" }, { "FE", "NC" }, { "FE", "ND" } }, // Double Bonds { { "CHA", "C4D" }, { "CHB", "C1B" }, { "CHC", "C1C" }, { "CHD", "C4C" }, { "C1A", "C2A" }, { "C3A", "C4A" }, { "CGA", "O1A" }, { "C2B", "C3B" }, { "C4B", "NB" }, { "CAB", "CBB" }, { "C2C", "C3C" }, { "CAC", "CBC" }, { "C1D", "ND" }, { "C2D", "C3D" }, { "CGD", "O1D" } }); ResidueData HOHData("HOH", // Atoms { { "O", 8 }, { "H1", 1 }, { "H1", 1 } }, // Single Bonds { { "O", "H1" }, { "O", "H2" } }, // Double Bonds {}); ResidueData SO4Data( "SO4", // Atoms { { "S", 16 }, { "O1", 8 }, { "O2", 8 }, { "O3", 8 }, { "O3", 8 } }, // Single Bonds { { "S", "O3" }, { "S", "O4" } }, // Double Bonds { { "S", "O1" }, { "S", "O2" } }); ResidueData GOLData("GOL", // Atoms { { "C1", 6 }, { "O1", 8 }, { "C2", 6 }, { "O2", 8 }, { "C3", 6 }, { "O3", 8 }, { "H11", 1 }, { "H12", 1 }, { "HO1", 1 }, { "H2", 1 }, { "HO2", 1 }, { "H31", 1 }, { "H32", 1 }, { "H32", 1 } }, // Single Bonds { { "C1", "O1" }, { "C1", "C2" }, { "C1", "H11" }, { "C1", "H12" }, { "O1", "HO1" }, { "C2", "O2" }, { "C2", "C3" }, { "C2", "H2" }, { "O2", "HO2" }, { "C3", "O3" }, { "C3", "H31" }, { "C3", "H32" }, { "O3", "HO3" } }, // Double Bonds {}); ResidueData MSEData("MSE", // Atoms { { "N", 7 }, { "CA", 6 }, { "C", 6 }, { "O", 8 }, { "OXT", 8 }, { "CB", 6 }, { "CG", 6 }, { "SE", 34 }, { "CE", 6 }, { "H", 1 }, { "HN2", 1 }, { "HA", 1 }, { "HXT", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HG2", 1 }, { "HG3", 1 }, { "HE1", 1 }, { "HE2", 1 }, { "HE2", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "HN2" }, { "CA", "C" }, { "CA", "CB" }, { "CA", "HA" }, { "C", "OXT" }, { "OXT", "HXT" }, { "CB", "CG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "CG", "SE" }, { "CG", "HG2" }, { "CG", "HG3" }, { "SE", "CE" }, { "CE", "HE1" }, { "CE", "HE2" }, { "CE", "HE3" } }, // Double Bonds { { "C", "O" } }); ResidueData EDOData("EDO", // Atoms { { "C1", 6 }, { "O1", 8 }, { "C2", 6 }, { "O2", 8 }, { "H11", 1 }, { "H12", 1 }, { "HO1", 1 }, { "H21", 1 }, { "H22", 1 }, { "H22", 1 } }, // Single Bonds { { "C1", "O1" }, { "C1", "C2" }, { "C1", "H11" }, { "C1", "H12" }, { "O1", "HO1" }, { "C2", "O2" }, { "C2", "H21" }, { "C2", "H22" }, { "O2", "HO2" } }, // Double Bonds {}); ResidueData NAGData( "NAG", // Atoms { { "C1", 6 }, { "C2", 6 }, { "C3", 6 }, { "C4", 6 }, { "C5", 6 }, { "C6", 6 }, { "C7", 6 }, { "C8", 6 }, { "N2", 7 }, { "O1", 8 }, { "O3", 8 }, { "O4", 8 }, { "O5", 8 }, { "O6", 8 }, { "O7", 8 }, { "H1", 1 }, { "H2", 1 }, { "H3", 1 }, { "H4", 1 }, { "H5", 1 }, { "H61", 1 }, { "H62", 1 }, { "H81", 1 }, { "H82", 1 }, { "H83", 1 }, { "HN2", 1 }, { "HO1", 1 }, { "HO3", 1 }, { "HO4", 1 }, { "HO4", 1 } }, // Single Bonds { { "C1", "C2" }, { "C1", "O1" }, { "C1", "O5" }, { "C1", "H1" }, { "C2", "C3" }, { "C2", "N2" }, { "C2", "H2" }, { "C3", "C4" }, { "C3", "O3" }, { "C3", "H3" }, { "C4", "C5" }, { "C4", "O4" }, { "C4", "H4" }, { "C5", "C6" }, { "C5", "O5" }, { "C5", "H5" }, { "C6", "O6" }, { "C6", "H61" }, { "C6", "H62" }, { "C7", "C8" }, { "C7", "N2" }, { "C8", "H81" }, { "C8", "H82" }, { "C8", "H83" }, { "N2", "HN2" }, { "O1", "HO1" }, { "O3", "HO3" }, { "O4", "HO4" }, { "O6", "HO6" } }, // Double Bonds { { "C7", "O7" } }); ResidueData PO4Data( "PO4", // Atoms { { "P", 15 }, { "O1", 8 }, { "O2", 8 }, { "O3", 8 }, { "O3", 8 } }, // Single Bonds { { "P", "O2" }, { "P", "O3" }, { "P", "O4" } }, // Double Bonds { { "P", "O1" } }); ResidueData ACTData("ACT", // Atoms { { "C", 6 }, { "O", 8 }, { "OXT", 8 }, { "CH3", 6 }, { "H1", 1 }, { "H2", 1 }, { "H2", 1 } }, // Single Bonds { { "C", "OXT" }, { "C", "CH3" }, { "CH3", "H1" }, { "CH3", "H2" }, { "CH3", "H3" } }, // Double Bonds { { "C", "O" } }); ResidueData PEGData("PEG", // Atoms { { "C1", 6 }, { "O1", 8 }, { "C2", 6 }, { "O2", 8 }, { "C3", 6 }, { "C4", 6 }, { "O4", 8 }, { "H11", 1 }, { "H12", 1 }, { "HO1", 1 }, { "H21", 1 }, { "H22", 1 }, { "H31", 1 }, { "H32", 1 }, { "H41", 1 }, { "H42", 1 }, { "H42", 1 } }, // Single Bonds { { "C1", "O1" }, { "C1", "C2" }, { "C1", "H11" }, { "C1", "H12" }, { "O1", "HO1" }, { "C2", "O2" }, { "C2", "H21" }, { "C2", "H22" }, { "O2", "C3" }, { "C3", "C4" }, { "C3", "H31" }, { "C3", "H32" }, { "C4", "O4" }, { "C4", "H41" }, { "C4", "H42" }, { "O4", "HO4" } }, // Double Bonds {}); ResidueData MANData( "MAN", // Atoms { { "C1", 6 }, { "C2", 6 }, { "C3", 6 }, { "C4", 6 }, { "C5", 6 }, { "C6", 6 }, { "O1", 8 }, { "O2", 8 }, { "O3", 8 }, { "O4", 8 }, { "O5", 8 }, { "O6", 8 }, { "H1", 1 }, { "H2", 1 }, { "H3", 1 }, { "H4", 1 }, { "H5", 1 }, { "H61", 1 }, { "H62", 1 }, { "HO1", 1 }, { "HO2", 1 }, { "HO3", 1 }, { "HO4", 1 }, { "HO4", 1 } }, // Single Bonds { { "C1", "C2" }, { "C1", "O1" }, { "C1", "O5" }, { "C1", "H1" }, { "C2", "C3" }, { "C2", "O2" }, { "C2", "H2" }, { "C3", "C4" }, { "C3", "O3" }, { "C3", "H3" }, { "C4", "C5" }, { "C4", "O4" }, { "C4", "H4" }, { "C5", "C6" }, { "C5", "O5" }, { "C5", "H5" }, { "C6", "O6" }, { "C6", "H61" }, { "C6", "H62" }, { "O1", "HO1" }, { "O2", "HO2" }, { "O3", "HO3" }, { "O4", "HO4" }, { "O6", "HO6" } }, // Double Bonds {}); ResidueData BMAData( "BMA", // Atoms { { "C1", 6 }, { "C2", 6 }, { "C3", 6 }, { "C4", 6 }, { "C5", 6 }, { "C6", 6 }, { "O1", 8 }, { "O2", 8 }, { "O3", 8 }, { "O4", 8 }, { "O5", 8 }, { "O6", 8 }, { "H1", 1 }, { "H2", 1 }, { "H3", 1 }, { "H4", 1 }, { "H5", 1 }, { "H61", 1 }, { "H62", 1 }, { "HO1", 1 }, { "HO2", 1 }, { "HO3", 1 }, { "HO4", 1 }, { "HO4", 1 } }, // Single Bonds { { "C1", "C2" }, { "C1", "O1" }, { "C1", "O5" }, { "C1", "H1" }, { "C2", "C3" }, { "C2", "O2" }, { "C2", "H2" }, { "C3", "C4" }, { "C3", "O3" }, { "C3", "H3" }, { "C4", "C5" }, { "C4", "O4" }, { "C4", "H4" }, { "C5", "C6" }, { "C5", "O5" }, { "C5", "H5" }, { "C6", "O6" }, { "C6", "H61" }, { "C6", "H62" }, { "O1", "HO1" }, { "O2", "HO2" }, { "O3", "HO3" }, { "O4", "HO4" }, { "O6", "HO6" } }, // Double Bonds {}); ResidueData FADData( "FAD", // Atoms { { "PA", 15 }, { "O1A", 8 }, { "O2A", 8 }, { "O5B", 8 }, { "C5B", 6 }, { "C4B", 6 }, { "O4B", 8 }, { "C3B", 6 }, { "O3B", 8 }, { "C2B", 6 }, { "O2B", 8 }, { "C1B", 6 }, { "N9A", 7 }, { "C8A", 6 }, { "N7A", 7 }, { "C5A", 6 }, { "C6A", 6 }, { "N6A", 7 }, { "N1A", 7 }, { "C2A", 6 }, { "N3A", 7 }, { "C4A", 6 }, { "N1", 7 }, { "C2", 6 }, { "O2", 8 }, { "N3", 7 }, { "C4", 6 }, { "O4", 8 }, { "C4X", 6 }, { "N5", 7 }, { "C5X", 6 }, { "C6", 6 }, { "C7", 6 }, { "C7M", 6 }, { "C8", 6 }, { "C8M", 6 }, { "C9", 6 }, { "C9A", 6 }, { "N10", 7 }, { "C10", 6 }, { "C1'", 6 }, { "C2'", 6 }, { "O2'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C4'", 6 }, { "O4'", 8 }, { "C5'", 6 }, { "O5'", 8 }, { "P", 15 }, { "O1P", 8 }, { "O2P", 8 }, { "O3P", 8 }, { "HOA2", 1 }, { "H51A", 1 }, { "H52A", 1 }, { "H4B", 1 }, { "H3B", 1 }, { "HO3A", 1 }, { "H2B", 1 }, { "HO2A", 1 }, { "H1B", 1 }, { "H8A", 1 }, { "H61A", 1 }, { "H62A", 1 }, { "H2A", 1 }, { "HN3", 1 }, { "H6", 1 }, { "HM71", 1 }, { "HM72", 1 }, { "HM73", 1 }, { "HM81", 1 }, { "HM82", 1 }, { "HM83", 1 }, { "H9", 1 }, { "H1'1", 1 }, { "H1'2", 1 }, { "H2'", 1 }, { "HO2'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H4'", 1 }, { "HO4'", 1 }, { "H5'1", 1 }, { "H5'2", 1 }, { "H5'2", 1 } }, // Single Bonds { { "PA", "O2A" }, { "PA", "O5B" }, { "PA", "O3P" }, { "O2A", "HOA2" }, { "O5B", "C5B" }, { "C5B", "C4B" }, { "C5B", "H51A" }, { "C5B", "H52A" }, { "C4B", "O4B" }, { "C4B", "C3B" }, { "C4B", "H4B" }, { "O4B", "C1B" }, { "C3B", "O3B" }, { "C3B", "C2B" }, { "C3B", "H3B" }, { "O3B", "HO3A" }, { "C2B", "O2B" }, { "C2B", "C1B" }, { "C2B", "H2B" }, { "O2B", "HO2A" }, { "C1B", "N9A" }, { "C1B", "H1B" }, { "N9A", "C8A" }, { "N9A", "C4A" }, { "C8A", "H8A" }, { "N7A", "C5A" }, { "C5A", "C6A" }, { "C6A", "N6A" }, { "N6A", "H61A" }, { "N6A", "H62A" }, { "N1A", "C2A" }, { "C2A", "H2A" }, { "N3A", "C4A" }, { "N1", "C2" }, { "C2", "N3" }, { "N3", "C4" }, { "N3", "HN3" }, { "C4", "C4X" }, { "C4X", "C10" }, { "N5", "C5X" }, { "C5X", "C9A" }, { "C6", "C7" }, { "C6", "H6" }, { "C7", "C7M" }, { "C7M", "HM71" }, { "C7M", "HM72" }, { "C7M", "HM73" }, { "C8", "C8M" }, { "C8", "C9" }, { "C8M", "HM81" }, { "C8M", "HM82" }, { "C8M", "HM83" }, { "C9", "H9" }, { "C9A", "N10" }, { "N10", "C10" }, { "N10", "C1'" }, { "C1'", "C2'" }, { "C1'", "H1'1" }, { "C1'", "H1'2" }, { "C2'", "O2'" }, { "C2'", "C3'" }, { "C2'", "H2'" }, { "O2'", "HO2'" }, { "C3'", "O3'" }, { "C3'", "C4'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C4'", "O4'" }, { "C4'", "C5'" }, { "C4'", "H4'" }, { "O4'", "HO4'" }, { "C5'", "O5'" }, { "C5'", "H5'1" }, { "C5'", "H5'2" }, { "O5'", "P" }, { "P", "O2P" }, { "P", "O3P" }, { "O2P", "HOP2" } }, // Double Bonds { { "PA", "O1A" }, { "C8A", "N7A" }, { "C5A", "C4A" }, { "C6A", "N1A" }, { "C2A", "N3A" }, { "N1", "C10" }, { "C2", "O2" }, { "C4", "O4" }, { "C4X", "N5" }, { "C5X", "C6" }, { "C7", "C8" }, { "C9", "C9A" }, { "P", "O1P" } }); ResidueData ADPData( "ADP", // Atoms { { "PB", 15 }, { "O1B", 8 }, { "O2B", 8 }, { "O3B", 8 }, { "PA", 15 }, { "O1A", 8 }, { "O2A", 8 }, { "O3A", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "O2'", 8 }, { "C1'", 6 }, { "N9", 7 }, { "C8", 6 }, { "N7", 7 }, { "C5", 6 }, { "C6", 6 }, { "N6", 7 }, { "N1", 7 }, { "C2", 6 }, { "N3", 7 }, { "C4", 6 }, { "HOB2", 1 }, { "HOB3", 1 }, { "HOA2", 1 }, { "H5'1", 1 }, { "H5'2", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "HO2'", 1 }, { "H1'", 1 }, { "H8", 1 }, { "HN61", 1 }, { "HN62", 1 }, { "HN62", 1 } }, // Single Bonds { { "PB", "O2B" }, { "PB", "O3B" }, { "PB", "O3A" }, { "O2B", "HOB2" }, { "O3B", "HOB3" }, { "PA", "O2A" }, { "PA", "O3A" }, { "PA", "O5'" }, { "O2A", "HOA2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'1" }, { "C5'", "H5'2" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "O2'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "O2'", "HO2'" }, { "C1'", "N9" }, { "C1'", "H1'" }, { "N9", "C8" }, { "N9", "C4" }, { "C8", "H8" }, { "N7", "C5" }, { "C5", "C6" }, { "C6", "N6" }, { "N6", "HN61" }, { "N6", "HN62" }, { "N1", "C2" }, { "C2", "H2" }, { "N3", "C4" } }, // Double Bonds { { "PB", "O1B" }, { "PA", "O1A" }, { "C8", "N7" }, { "C5", "C4" }, { "C6", "N1" }, { "C2", "N3" } }); ResidueData DMSData("DMS", // Atoms { { "S", 16 }, { "O", 8 }, { "C1", 6 }, { "C2", 6 }, { "H11", 1 }, { "H12", 1 }, { "H13", 1 }, { "H21", 1 }, { "H22", 1 }, { "H22", 1 } }, // Single Bonds { { "S", "C1" }, { "S", "C2" }, { "C1", "H11" }, { "C1", "H12" }, { "C1", "H13" }, { "C2", "H21" }, { "C2", "H22" }, { "C2", "H23" } }, // Double Bonds { { "S", "O" } }); ResidueData ACEData("ACE", // Atoms { { "C", 6 }, { "O", 8 }, { "CH3", 6 }, { "H", 1 }, { "H1", 1 }, { "H2", 1 }, { "H2", 1 } }, // Single Bonds { { "C", "CH3" }, { "C", "H" }, { "CH3", "H1" }, { "CH3", "H2" }, { "CH3", "H3" } }, // Double Bonds { { "C", "O" } }); ResidueData MPDData("MPD", // Atoms { { "C1", 6 }, { "C2", 6 }, { "O2", 8 }, { "CM", 6 }, { "C3", 6 }, { "C4", 6 }, { "O4", 8 }, { "C5", 6 }, { "H11", 1 }, { "H12", 1 }, { "H13", 1 }, { "HO2", 1 }, { "HM1", 1 }, { "HM2", 1 }, { "HM3", 1 }, { "H31", 1 }, { "H32", 1 }, { "H4", 1 }, { "HO4", 1 }, { "H51", 1 }, { "H52", 1 }, { "H52", 1 } }, // Single Bonds { { "C1", "C2" }, { "C1", "H11" }, { "C1", "H12" }, { "C1", "H13" }, { "C2", "O2" }, { "C2", "CM" }, { "C2", "C3" }, { "O2", "HO2" }, { "CM", "HM1" }, { "CM", "HM2" }, { "CM", "HM3" }, { "C3", "C4" }, { "C3", "H31" }, { "C3", "H32" }, { "C4", "O4" }, { "C4", "C5" }, { "C4", "H4" }, { "O4", "HO4" }, { "C5", "H51" }, { "C5", "H52" }, { "C5", "H53" } }, // Double Bonds {}); ResidueData MESData( "MES", // Atoms { { "O1", 8 }, { "C2", 6 }, { "C3", 6 }, { "N4", 7 }, { "C5", 6 }, { "C6", 6 }, { "C7", 6 }, { "C8", 6 }, { "S", 16 }, { "O1S", 8 }, { "O2S", 8 }, { "O3S", 8 }, { "H21", 1 }, { "H22", 1 }, { "H31", 1 }, { "H32", 1 }, { "HN4", 1 }, { "H51", 1 }, { "H52", 1 }, { "H61", 1 }, { "H62", 1 }, { "H71", 1 }, { "H72", 1 }, { "H81", 1 }, { "H81", 1 } }, // Single Bonds { { "O1", "C2" }, { "O1", "C6" }, { "C2", "C3" }, { "C2", "H21" }, { "C2", "H22" }, { "C3", "N4" }, { "C3", "H31" }, { "C3", "H32" }, { "N4", "C5" }, { "N4", "C7" }, { "N4", "HN4" }, { "C5", "C6" }, { "C5", "H51" }, { "C5", "H52" }, { "C6", "H61" }, { "C6", "H62" }, { "C7", "C8" }, { "C7", "H71" }, { "C7", "H72" }, { "C8", "S" }, { "C8", "H81" }, { "C8", "H82" }, { "S", "O3S" } }, // Double Bonds { { "S", "O1S" }, { "S", "O2S" } }); ResidueData NADData( "NAD", // Atoms { { "PA", 15 }, { "O1A", 8 }, { "O2A", 8 }, { "O5B", 8 }, { "C5B", 6 }, { "C4B", 6 }, { "O4B", 8 }, { "C3B", 6 }, { "O3B", 8 }, { "C2B", 6 }, { "O2B", 8 }, { "C1B", 6 }, { "N9A", 7 }, { "C8A", 6 }, { "N7A", 7 }, { "C5A", 6 }, { "C6A", 6 }, { "N6A", 7 }, { "N1A", 7 }, { "C2A", 6 }, { "N3A", 7 }, { "C4A", 6 }, { "O3", 8 }, { "PN", 15 }, { "O1N", 8 }, { "O2N", 8 }, { "O5D", 8 }, { "C5D", 6 }, { "C4D", 6 }, { "O4D", 8 }, { "C3D", 6 }, { "O3D", 8 }, { "C2D", 6 }, { "O2D", 8 }, { "C1D", 6 }, { "N1N", 7 }, { "C2N", 6 }, { "C3N", 6 }, { "C7N", 6 }, { "O7N", 8 }, { "N7N", 7 }, { "C4N", 6 }, { "C5N", 6 }, { "C6N", 6 }, { "HOA2", 1 }, { "H51A", 1 }, { "H52A", 1 }, { "H4B", 1 }, { "H3B", 1 }, { "HO3A", 1 }, { "H2B", 1 }, { "HO2A", 1 }, { "H1B", 1 }, { "H8A", 1 }, { "H61A", 1 }, { "H62A", 1 }, { "H2A", 1 }, { "H51N", 1 }, { "H52N", 1 }, { "H4D", 1 }, { "H3D", 1 }, { "HO3N", 1 }, { "H2D", 1 }, { "HO2N", 1 }, { "H1D", 1 }, { "H2N", 1 }, { "H71N", 1 }, { "H72N", 1 }, { "H4N", 1 }, { "H5N", 1 }, { "H5N", 1 } }, // Single Bonds { { "PA", "O2A" }, { "PA", "O5B" }, { "PA", "O3" }, { "O2A", "HOA2" }, { "O5B", "C5B" }, { "C5B", "C4B" }, { "C5B", "H51A" }, { "C5B", "H52A" }, { "C4B", "O4B" }, { "C4B", "C3B" }, { "C4B", "H4B" }, { "O4B", "C1B" }, { "C3B", "O3B" }, { "C3B", "C2B" }, { "C3B", "H3B" }, { "O3B", "HO3A" }, { "C2B", "O2B" }, { "C2B", "C1B" }, { "C2B", "H2B" }, { "O2B", "HO2A" }, { "C1B", "N9A" }, { "C1B", "H1B" }, { "N9A", "C8A" }, { "N9A", "C4A" }, { "C8A", "H8A" }, { "N7A", "C5A" }, { "C5A", "C6A" }, { "C6A", "N6A" }, { "N6A", "H61A" }, { "N6A", "H62A" }, { "N1A", "C2A" }, { "C2A", "H2A" }, { "N3A", "C4A" }, { "O3", "PN" }, { "PN", "O2N" }, { "PN", "O5D" }, { "O5D", "C5D" }, { "C5D", "C4D" }, { "C5D", "H51N" }, { "C5D", "H52N" }, { "C4D", "O4D" }, { "C4D", "C3D" }, { "C4D", "H4D" }, { "O4D", "C1D" }, { "C3D", "O3D" }, { "C3D", "C2D" }, { "C3D", "H3D" }, { "O3D", "HO3N" }, { "C2D", "O2D" }, { "C2D", "C1D" }, { "C2D", "H2D" }, { "O2D", "HO2N" }, { "C1D", "N1N" }, { "C1D", "H1D" }, { "N1N", "C2N" }, { "C2N", "H2N" }, { "C3N", "C7N" }, { "C3N", "C4N" }, { "C7N", "N7N" }, { "N7N", "H71N" }, { "N7N", "H72N" }, { "C4N", "H4N" }, { "C5N", "C6N" }, { "C5N", "H5N" }, { "C6N", "H6N" } }, // Double Bonds { { "PA", "O1A" }, { "C8A", "N7A" }, { "C5A", "C4A" }, { "C6A", "N1A" }, { "C2A", "N3A" }, { "PN", "O1N" }, { "N1N", "C6N" }, { "C2N", "C3N" }, { "C7N", "O7N" }, { "C4N", "C5N" } }); ResidueData NAPData( "NAP", // Atoms { { "PA", 15 }, { "O1A", 8 }, { "O2A", 8 }, { "O5B", 8 }, { "C5B", 6 }, { "C4B", 6 }, { "O4B", 8 }, { "C3B", 6 }, { "O3B", 8 }, { "C2B", 6 }, { "O2B", 8 }, { "C1B", 6 }, { "N9A", 7 }, { "C8A", 6 }, { "N7A", 7 }, { "C5A", 6 }, { "C6A", 6 }, { "N6A", 7 }, { "N1A", 7 }, { "C2A", 6 }, { "N3A", 7 }, { "C4A", 6 }, { "O3", 8 }, { "PN", 15 }, { "O1N", 8 }, { "O2N", 8 }, { "O5D", 8 }, { "C5D", 6 }, { "C4D", 6 }, { "O4D", 8 }, { "C3D", 6 }, { "O3D", 8 }, { "C2D", 6 }, { "O2D", 8 }, { "C1D", 6 }, { "N1N", 7 }, { "C2N", 6 }, { "C3N", 6 }, { "C7N", 6 }, { "O7N", 8 }, { "N7N", 7 }, { "C4N", 6 }, { "C5N", 6 }, { "C6N", 6 }, { "P2B", 15 }, { "O1X", 8 }, { "O2X", 8 }, { "O3X", 8 }, { "HOA2", 1 }, { "H51A", 1 }, { "H52A", 1 }, { "H4B", 1 }, { "H3B", 1 }, { "HO3A", 1 }, { "H2B", 1 }, { "H1B", 1 }, { "H8A", 1 }, { "H61A", 1 }, { "H62A", 1 }, { "H2A", 1 }, { "H51N", 1 }, { "H52N", 1 }, { "H4D", 1 }, { "H3D", 1 }, { "HO3N", 1 }, { "H2D", 1 }, { "HO2N", 1 }, { "H1D", 1 }, { "H2N", 1 }, { "H71N", 1 }, { "H72N", 1 }, { "H4N", 1 }, { "H5N", 1 }, { "H6N", 1 }, { "HOP2", 1 }, { "HOP2", 1 } }, // Single Bonds { { "PA", "O2A" }, { "PA", "O5B" }, { "PA", "O3" }, { "O2A", "HOA2" }, { "O5B", "C5B" }, { "C5B", "C4B" }, { "C5B", "H51A" }, { "C5B", "H52A" }, { "C4B", "O4B" }, { "C4B", "C3B" }, { "C4B", "H4B" }, { "O4B", "C1B" }, { "C3B", "O3B" }, { "C3B", "C2B" }, { "C3B", "H3B" }, { "O3B", "HO3A" }, { "C2B", "O2B" }, { "C2B", "C1B" }, { "C2B", "H2B" }, { "O2B", "P2B" }, { "C1B", "N9A" }, { "C1B", "H1B" }, { "N9A", "C8A" }, { "N9A", "C4A" }, { "C8A", "H8A" }, { "N7A", "C5A" }, { "C5A", "C6A" }, { "C6A", "N6A" }, { "N6A", "H61A" }, { "N6A", "H62A" }, { "N1A", "C2A" }, { "C2A", "H2A" }, { "N3A", "C4A" }, { "O3", "PN" }, { "PN", "O2N" }, { "PN", "O5D" }, { "O5D", "C5D" }, { "C5D", "C4D" }, { "C5D", "H51N" }, { "C5D", "H52N" }, { "C4D", "O4D" }, { "C4D", "C3D" }, { "C4D", "H4D" }, { "O4D", "C1D" }, { "C3D", "O3D" }, { "C3D", "C2D" }, { "C3D", "H3D" }, { "O3D", "HO3N" }, { "C2D", "O2D" }, { "C2D", "C1D" }, { "C2D", "H2D" }, { "O2D", "HO2N" }, { "C1D", "N1N" }, { "C1D", "H1D" }, { "N1N", "C2N" }, { "C2N", "H2N" }, { "C3N", "C7N" }, { "C3N", "C4N" }, { "C7N", "N7N" }, { "N7N", "H71N" }, { "N7N", "H72N" }, { "C4N", "H4N" }, { "C5N", "C6N" }, { "C5N", "H5N" }, { "C6N", "H6N" }, { "P2B", "O2X" }, { "P2B", "O3X" }, { "O2X", "HOP2" }, { "O3X", "HOP3" } }, // Double Bonds { { "PA", "O1A" }, { "C8A", "N7A" }, { "C5A", "C4A" }, { "C6A", "N1A" }, { "C2A", "N3A" }, { "PN", "O1N" }, { "N1N", "C6N" }, { "C2N", "C3N" }, { "C7N", "O7N" }, { "C4N", "C5N" }, { "P2B", "O1X" } }); ResidueData TRSData("TRS", // Atoms { { "C", 6 }, { "C1", 6 }, { "C2", 6 }, { "C3", 6 }, { "N", 7 }, { "O1", 8 }, { "O2", 8 }, { "O3", 8 }, { "H11", 1 }, { "H12", 1 }, { "H21", 1 }, { "H22", 1 }, { "H31", 1 }, { "H32", 1 }, { "HN1", 1 }, { "HN2", 1 }, { "HN3", 1 }, { "HO1", 1 }, { "HO2", 1 }, { "HO2", 1 } }, // Single Bonds { { "C", "C1" }, { "C", "C2" }, { "C", "C3" }, { "C", "N" }, { "C1", "O1" }, { "C1", "H11" }, { "C1", "H12" }, { "C2", "O2" }, { "C2", "H21" }, { "C2", "H22" }, { "C3", "O3" }, { "C3", "H31" }, { "C3", "H32" }, { "N", "HN1" }, { "N", "HN2" }, { "N", "HN3" }, { "O1", "HO1" }, { "O2", "HO2" }, { "O3", "HO3" } }, // Double Bonds {}); ResidueData ATPData( "ATP", // Atoms { { "PG", 15 }, { "O1G", 8 }, { "O2G", 8 }, { "O3G", 8 }, { "PB", 15 }, { "O1B", 8 }, { "O2B", 8 }, { "O3B", 8 }, { "PA", 15 }, { "O1A", 8 }, { "O2A", 8 }, { "O3A", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "O2'", 8 }, { "C1'", 6 }, { "N9", 7 }, { "C8", 6 }, { "N7", 7 }, { "C5", 6 }, { "C6", 6 }, { "N6", 7 }, { "N1", 7 }, { "C2", 6 }, { "N3", 7 }, { "C4", 6 }, { "HOG2", 1 }, { "HOG3", 1 }, { "HOB2", 1 }, { "HOA2", 1 }, { "H5'1", 1 }, { "H5'2", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "HO2'", 1 }, { "H1'", 1 }, { "H8", 1 }, { "HN61", 1 }, { "HN62", 1 }, { "HN62", 1 } }, // Single Bonds { { "PG", "O2G" }, { "PG", "O3G" }, { "PG", "O3B" }, { "O2G", "HOG2" }, { "O3G", "HOG3" }, { "PB", "O2B" }, { "PB", "O3B" }, { "PB", "O3A" }, { "O2B", "HOB2" }, { "PA", "O2A" }, { "PA", "O3A" }, { "PA", "O5'" }, { "O2A", "HOA2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'1" }, { "C5'", "H5'2" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "O2'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "O2'", "HO2'" }, { "C1'", "N9" }, { "C1'", "H1'" }, { "N9", "C8" }, { "N9", "C4" }, { "C8", "H8" }, { "N7", "C5" }, { "C5", "C6" }, { "C6", "N6" }, { "N6", "HN61" }, { "N6", "HN62" }, { "N1", "C2" }, { "C2", "H2" }, { "N3", "C4" } }, // Double Bonds { { "PG", "O1G" }, { "PB", "O1B" }, { "PA", "O1A" }, { "C8", "N7" }, { "C5", "C4" }, { "C6", "N1" }, { "C2", "N3" } }); ResidueData NH2Data("NH2", // Atoms { { "N", 7 }, { "HN1", 1 }, { "HN1", 1 } }, // Single Bonds { { "N", "HN1" }, { "N", "HN2" } }, // Double Bonds {}); ResidueData PG4Data( "PG4", // Atoms { { "O1", 8 }, { "C1", 6 }, { "C2", 6 }, { "O2", 8 }, { "C3", 6 }, { "C4", 6 }, { "O3", 8 }, { "C5", 6 }, { "C6", 6 }, { "O4", 8 }, { "C7", 6 }, { "C8", 6 }, { "O5", 8 }, { "HO1", 1 }, { "H11", 1 }, { "H12", 1 }, { "H21", 1 }, { "H22", 1 }, { "H31", 1 }, { "H32", 1 }, { "H41", 1 }, { "H42", 1 }, { "H51", 1 }, { "H52", 1 }, { "H61", 1 }, { "H62", 1 }, { "H71", 1 }, { "H72", 1 }, { "H81", 1 }, { "H82", 1 }, { "H82", 1 } }, // Single Bonds { { "O1", "C1" }, { "O1", "HO1" }, { "C1", "C2" }, { "C1", "H11" }, { "C1", "H12" }, { "C2", "O2" }, { "C2", "H21" }, { "C2", "H22" }, { "O2", "C3" }, { "C3", "C4" }, { "C3", "H31" }, { "C3", "H32" }, { "C4", "O3" }, { "C4", "H41" }, { "C4", "H42" }, { "O3", "C5" }, { "C5", "C6" }, { "C5", "H51" }, { "C5", "H52" }, { "C6", "O4" }, { "C6", "H61" }, { "C6", "H62" }, { "O4", "C7" }, { "C7", "C8" }, { "C7", "H71" }, { "C7", "H72" }, { "C8", "O5" }, { "C8", "H81" }, { "C8", "H82" }, { "O5", "HO5" } }, // Double Bonds {}); ResidueData FMTData( "FMT", // Atoms { { "C", 6 }, { "O1", 8 }, { "O2", 8 }, { "H", 1 }, { "H", 1 } }, // Single Bonds { { "C", "O2" }, { "C", "H" }, { "O2", "HO2" } }, // Double Bonds { { "C", "O1" } }); ResidueData GDPData( "GDP", // Atoms { { "PB", 15 }, { "O1B", 8 }, { "O2B", 8 }, { "O3B", 8 }, { "O3A", 8 }, { "PA", 15 }, { "O1A", 8 }, { "O2A", 8 }, { "O5'", 8 }, { "C5'", 6 }, { "C4'", 6 }, { "O4'", 8 }, { "C3'", 6 }, { "O3'", 8 }, { "C2'", 6 }, { "O2'", 8 }, { "C1'", 6 }, { "N9", 7 }, { "C8", 6 }, { "N7", 7 }, { "C5", 6 }, { "C6", 6 }, { "O6", 8 }, { "N1", 7 }, { "C2", 6 }, { "N2", 7 }, { "N3", 7 }, { "C4", 6 }, { "HOB2", 1 }, { "HOB3", 1 }, { "HOA2", 1 }, { "H5'", 1 }, { "H5''", 1 }, { "H4'", 1 }, { "H3'", 1 }, { "HO3'", 1 }, { "H2'", 1 }, { "HO2'", 1 }, { "H1'", 1 }, { "H8", 1 }, { "HN1", 1 }, { "HN21", 1 }, { "HN21", 1 } }, // Single Bonds { { "PB", "O2B" }, { "PB", "O3B" }, { "PB", "O3A" }, { "O2B", "HOB2" }, { "O3B", "HOB3" }, { "O3A", "PA" }, { "PA", "O2A" }, { "PA", "O5'" }, { "O2A", "HOA2" }, { "O5'", "C5'" }, { "C5'", "C4'" }, { "C5'", "H5'" }, { "C5'", "H5''" }, { "C4'", "O4'" }, { "C4'", "C3'" }, { "C4'", "H4'" }, { "O4'", "C1'" }, { "C3'", "O3'" }, { "C3'", "C2'" }, { "C3'", "H3'" }, { "O3'", "HO3'" }, { "C2'", "O2'" }, { "C2'", "C1'" }, { "C2'", "H2'" }, { "O2'", "HO2'" }, { "C1'", "N9" }, { "C1'", "H1'" }, { "N9", "C8" }, { "N9", "C4" }, { "C8", "H8" }, { "N7", "C5" }, { "C5", "C6" }, { "C6", "N1" }, { "N1", "C2" }, { "N1", "HN1" }, { "C2", "N2" }, { "N2", "HN21" }, { "N2", "HN22" }, { "N3", "C4" } }, // Double Bonds { { "PB", "O1B" }, { "PA", "O1A" }, { "C8", "N7" }, { "C5", "C4" }, { "C6", "O6" }, { "C2", "N3" } }); ResidueData FUCData( "FUC", // Atoms { { "C1", 6 }, { "C2", 6 }, { "C3", 6 }, { "C4", 6 }, { "C5", 6 }, { "C6", 6 }, { "O1", 8 }, { "O2", 8 }, { "O3", 8 }, { "O4", 8 }, { "O5", 8 }, { "H1", 1 }, { "H2", 1 }, { "H3", 1 }, { "H4", 1 }, { "H5", 1 }, { "H61", 1 }, { "H62", 1 }, { "H63", 1 }, { "HO1", 1 }, { "HO2", 1 }, { "HO3", 1 }, { "HO3", 1 } }, // Single Bonds { { "C1", "C2" }, { "C1", "O1" }, { "C1", "O5" }, { "C1", "H1" }, { "C2", "C3" }, { "C2", "O2" }, { "C2", "H2" }, { "C3", "C4" }, { "C3", "O3" }, { "C3", "H3" }, { "C4", "C5" }, { "C4", "O4" }, { "C4", "H4" }, { "C5", "C6" }, { "C5", "O5" }, { "C5", "H5" }, { "C6", "H61" }, { "C6", "H62" }, { "C6", "H63" }, { "O1", "HO1" }, { "O2", "HO2" }, { "O3", "HO3" }, { "O4", "HO4" } }, // Double Bonds {}); ResidueData SEPData("SEP", // Atoms { { "N", 7 }, { "CA", 6 }, { "CB", 6 }, { "OG", 8 }, { "C", 6 }, { "O", 8 }, { "OXT", 8 }, { "P", 15 }, { "O1P", 8 }, { "O2P", 8 }, { "O3P", 8 }, { "H", 1 }, { "H2", 1 }, { "HA", 1 }, { "HB2", 1 }, { "HB3", 1 }, { "HXT", 1 }, { "HOP2", 1 }, { "HOP2", 1 } }, // Single Bonds { { "N", "CA" }, { "N", "H" }, { "N", "H2" }, { "CA", "CB" }, { "CA", "C" }, { "CA", "HA" }, { "CB", "OG" }, { "CB", "HB2" }, { "CB", "HB3" }, { "OG", "P" }, { "C", "OXT" }, { "OXT", "HXT" }, { "P", "O2P" }, { "P", "O3P" }, { "O2P", "HOP2" }, { "O3P", "HOP3" } }, // Double Bonds { { "C", "O" }, { "P", "O1P" } }); ResidueData PGEData( "PGE", // Atoms { { "C1", 6 }, { "O1", 8 }, { "C2", 6 }, { "O2", 8 }, { "C3", 6 }, { "C4", 6 }, { "O4", 8 }, { "C6", 6 }, { "C5", 6 }, { "O3", 8 }, { "H1", 1 }, { "H12", 1 }, { "HO1", 1 }, { "H2", 1 }, { "H22", 1 }, { "H3", 1 }, { "H32", 1 }, { "H4", 1 }, { "H42", 1 }, { "HO4", 1 }, { "H6", 1 }, { "H62", 1 }, { "H5", 1 }, { "H5", 1 } }, // Single Bonds { { "C1", "O1" }, { "C1", "C2" }, { "C1", "H1" }, { "C1", "H12" }, { "O1", "HO1" }, { "C2", "O2" }, { "C2", "H2" }, { "C2", "H22" }, { "O2", "C3" }, { "C3", "C4" }, { "C3", "H3" }, { "C3", "H32" }, { "C4", "O3" }, { "C4", "H4" }, { "C4", "H42" }, { "O4", "C6" }, { "O4", "HO4" }, { "C6", "C5" }, { "C6", "H6" }, { "C6", "H62" }, { "C5", "O3" }, { "C5", "H5" }, { "C5", "H52" } }, // Double Bonds {}); ResidueData GALData( "GAL", // Atoms { { "C1", 6 }, { "C2", 6 }, { "C3", 6 }, { "C4", 6 }, { "C5", 6 }, { "C6", 6 }, { "O1", 8 }, { "O2", 8 }, { "O3", 8 }, { "O4", 8 }, { "O5", 8 }, { "O6", 8 }, { "H1", 1 }, { "H2", 1 }, { "H3", 1 }, { "H4", 1 }, { "H5", 1 }, { "H61", 1 }, { "H62", 1 }, { "HO1", 1 }, { "HO2", 1 }, { "HO3", 1 }, { "HO4", 1 }, { "HO4", 1 } }, // Single Bonds { { "C1", "C2" }, { "C1", "O1" }, { "C1", "O5" }, { "C1", "H1" }, { "C2", "C3" }, { "C2", "O2" }, { "C2", "H2" }, { "C3", "C4" }, { "C3", "O3" }, { "C3", "H3" }, { "C4", "C5" }, { "C4", "O4" }, { "C4", "H4" }, { "C5", "C6" }, { "C5", "O5" }, { "C5", "H5" }, { "C6", "O6" }, { "C6", "H61" }, { "C6", "H62" }, { "O1", "HO1" }, { "O2", "HO2" }, { "O3", "HO3" }, { "O4", "HO4" }, { "O6", "HO6" } }, // Double Bonds {}); std::map residueDict = { { "ALA", ALAData }, { "CYS", CYSData }, { "ASP", ASPData }, { "GLU", GLUData }, { "PHE", PHEData }, { "GLY", GLYData }, { "HIS", HISData }, { "ILE", ILEData }, { "LYS", LYSData }, { "LEU", LEUData }, { "MET", METData }, { "ASN", ASNData }, { "PRO", PROData }, { "GLN", GLNData }, { "ARG", ARGData }, { "SER", SERData }, { "THR", THRData }, { "VAL", VALData }, { "TRP", TRPData }, { "TYR", TYRData }, { "DA", DAData }, { "DC", DCData }, { "DG", DGData }, { "DT", DTData }, { "DI", DIData }, { "A", AData }, { "C", CData }, { "G", GData }, { "U", UData }, { "I", IData }, { "HEM", HEMData }, { "HOH", HOHData }, { "SO4", SO4Data }, { "GOL", GOLData }, { "MSE", MSEData }, { "EDO", EDOData }, { "NAG", NAGData }, { "PO4", PO4Data }, { "ACT", ACTData }, { "PEG", PEGData }, { "MAN", MANData }, { "BMA", BMAData }, { "FAD", FADData }, { "ADP", ADPData }, { "DMS", DMSData }, { "ACE", ACEData }, { "MPD", MPDData }, { "MES", MESData }, { "NAD", NADData }, { "NAP", NAPData }, { "TRS", TRSData }, { "ATP", ATPData }, { "NH2", NH2Data }, { "PG4", PG4Data }, { "FMT", FMTData }, { "GDP", GDPData }, { "FUC", FUCData }, { "SEP", SEPData }, { "PGE", PGEData }, { "GAL", GALData }, }; } // namespace Core } // namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/core/ringperceiver.cpp000066400000000000000000000335541360735163600224060ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "ringperceiver.h" #include "molecule.h" #include #include #include #include #include #include namespace Avogadro { namespace Core { namespace { // === DistanceMatrix ====================================================== // class DistanceMatrix { public: // construction and destruction DistanceMatrix(size_t size); ~DistanceMatrix(); // operators size_t operator()(size_t i, size_t j) const; size_t& operator()(size_t i, size_t j); private: size_t m_size; size_t* m_values; }; DistanceMatrix::DistanceMatrix(size_t size) { m_size = size; m_values = new size_t[size * size]; memset(m_values, 0, size * size * sizeof(size_t)); } DistanceMatrix::~DistanceMatrix() { delete[] m_values; } size_t DistanceMatrix::operator()(size_t i, size_t j) const { return m_values[i * m_size + j]; } size_t& DistanceMatrix::operator()(size_t i, size_t j) { return m_values[i * m_size + j]; } // === PidMatrix =========================================================== // // The PidMatrix class implements a path-included distance matrix. class PidMatrix { public: // construction and destruction PidMatrix(size_t size); ~PidMatrix(); // paths std::vector>& paths(size_t i, size_t j); void addPaths(size_t i, size_t j, const std::vector>& paths); std::vector> splice(size_t i, size_t j, size_t k); // operators std::vector>& operator()(size_t i, size_t j); private: size_t m_size; std::vector>* m_values; }; // --- Construction and Destruction ---------------------------------------- // PidMatrix::PidMatrix(size_t size) { m_size = size; m_values = new std::vector>[ size * size ]; } PidMatrix::~PidMatrix() { delete[] m_values; } // --- Paths --------------------------------------------------------------- // std::vector>& PidMatrix::paths(size_t i, size_t j) { return m_values[i * m_size + j]; } void PidMatrix::addPaths(size_t i, size_t j, const std::vector>& p) { std::vector>& current = m_values[i * m_size + j]; current.insert(current.end(), p.begin(), p.end()); } std::vector>& PidMatrix::operator()(size_t i, size_t j) { return paths(i, j); } std::vector> PidMatrix::splice(size_t i, size_t j, size_t k) { std::vector> splicedPaths; std::vector> ijPaths = paths(i, j); std::vector> jkPaths = paths(j, k); if (ijPaths.empty() && jkPaths.empty()) { std::vector path; path.push_back(j); splicedPaths.push_back(path); } else if (ijPaths.empty()) { for (std::vector>::iterator iter = jkPaths.begin(); iter != jkPaths.end(); ++iter) { std::vector path; path.push_back(j); path.insert(path.end(), iter->begin(), iter->end()); splicedPaths.push_back(path); } } else if (jkPaths.empty()) { for (std::vector>::iterator iter = ijPaths.begin(); iter != ijPaths.end(); ++iter) { std::vector path = *iter; path.push_back(j); splicedPaths.push_back(path); } } else { for (std::vector>::iterator ijIter = ijPaths.begin(); ijIter != ijPaths.end(); ++ijIter) { for (std::vector>::iterator jkIter = jkPaths.begin(); jkIter != jkPaths.end(); ++jkIter) { std::vector path = *ijIter; path.push_back(j); path.insert(path.end(), jkIter->begin(), jkIter->end()); splicedPaths.push_back(path); } } } return splicedPaths; } // === RingCandidate ======================================================= // class RingCandidate { public: // construction and destruction RingCandidate(size_t n, size_t s, size_t e); // properties size_t size() const; size_t start() const; size_t end() const; // static methods static bool compareSize(const RingCandidate& a, const RingCandidate& b); private: size_t m_size; size_t m_start; size_t m_end; }; // --- Construction and Destruction ---------------------------------------- // RingCandidate::RingCandidate(size_t n, size_t s, size_t e) { m_size = n; m_start = s; m_end = e; } // --- Properties ---------------------------------------------------------- // size_t RingCandidate::size() const { return m_size; } size_t RingCandidate::start() const { return m_start; } size_t RingCandidate::end() const { return m_end; } // --- Static Methods ------------------------------------------------------ // bool RingCandidate::compareSize(const RingCandidate& a, const RingCandidate& b) { return a.size() < b.size(); } // === Sssr ================================================================ // class Sssr { public: // construction and destruction Sssr(); ~Sssr(); // properties size_t size() const; bool isEmpty() const; // rings const std::vector>& rings() const; void append(const std::vector& ring); bool isValid(const std::vector& ring) const; bool isUnique(const std::vector& ring) const; private: std::vector> m_rings; }; // --- Construction and Destruction ---------------------------------------- // Sssr::Sssr() { } Sssr::~Sssr() { } // --- Properties ---------------------------------------------------------- // size_t Sssr::size() const { return m_rings.size(); } bool Sssr::isEmpty() const { return m_rings.empty(); } // --- Rings --------------------------------------------------------------- // const std::vector>& Sssr::rings() const { return m_rings; } void Sssr::append(const std::vector& ring) { m_rings.push_back(ring); } bool Sssr::isValid(const std::vector& ring) const { // Check for any duplicate atoms. for (size_t i = 0; i < ring.size(); ++i) for (size_t j = i + 1; j < ring.size(); ++j) if (ring[i] == ring[j]) return false; return true; } bool Sssr::isUnique(const std::vector& path) const { // Must be unique if sssr is empty. if (isEmpty()) return true; // Check if a ring with the same atoms is already in the sssr. std::set pathSet; pathSet.insert(path.begin(), path.end()); for (std::vector>::const_iterator iter = m_rings.begin(); iter != m_rings.end(); ++iter) { const std::vector& ring = *iter; std::set ringSet; ringSet.insert(ring.begin(), ring.end()); std::vector sortedRing(ring.begin(), ring.end()); std::sort(sortedRing.begin(), sortedRing.end()); std::set intersection; std::set_intersection(pathSet.begin(), pathSet.end(), ringSet.begin(), ringSet.end(), std::inserter(intersection, intersection.begin())); if (intersection.size() == ring.size()) return false; } // Build the set of bonds in the path. std::set> pathBonds; for (size_t i = 0; i < path.size() - 1; i++) { pathBonds.insert(std::make_pair(std::min(path[i], path[i + 1]), std::max(path[i], path[i + 1]))); } pathBonds.insert(std::make_pair(std::min(path.front(), path.back()), std::max(path.front(), path.back()))); // Remove bonds from path bonds that are already in a smaller ring. for (std::vector>::const_iterator iter = m_rings.begin(); iter != m_rings.end(); ++iter) { const std::vector& ring = *iter; if (ring.size() >= path.size()) continue; for (size_t i = 0; i < ring.size(); i++) { pathBonds.erase(std::make_pair(std::min(ring[i], ring[i + 1]), std::max(ring[i], ring[i + 1]))); } pathBonds.erase(std::make_pair(std::min(ring.front(), ring.back()), std::max(ring.front(), ring.back()))); } // Check if any other ring contains the same bonds. for (std::vector>::const_iterator iter = m_rings.begin(); iter != m_rings.end(); ++iter) { const std::vector& ring = *iter; std::set> ringBonds; // Add ring bonds. for (size_t i = 0; i < ring.size() - 1; i++) { ringBonds.insert(std::make_pair(std::min(ring[i], ring[i + 1]), std::max(ring[i], ring[i + 1]))); } // Add closure bond. ringBonds.insert(std::make_pair(std::min(ring.front(), ring.back()), std::max(ring.front(), ring.back()))); // Check intersection. std::set> intersection; std::set_intersection(pathBonds.begin(), pathBonds.end(), ringBonds.begin(), ringBonds.end(), std::inserter(intersection, intersection.begin())); if (intersection.size() == pathBonds.size()) return false; } return true; } std::vector> perceiveRings(const Graph& graph) { size_t n = graph.size(); size_t ringCount = graph.vertexCount() - graph.edgeCount() + 1; if (ringCount == 0) return std::vector>(); // Algorithm 1 - create the distance and pid matrices. DistanceMatrix D(n); PidMatrix P(n); PidMatrix Pt(n); for (size_t i = 0; i < n; ++i) { for (size_t j = 0; j < n; ++j) { if (i == j) D(i, j) = 0; else if (graph.containsEdge(i, j)) D(i, j) = 1; else D(i, j) = std::numeric_limits::max() / 2; // ~ infinity } } for (size_t k = 0; k < n; ++k) { for (size_t i = 0; i < n; ++i) { for (size_t j = 0; j < n; ++j) { if (i == j || i == k || k == j) continue; if (D(i, j) > D(i, k) + D(k, j)) { if (D(i, j) == D(i, k) + D(k, j) + 1) Pt(i, j) = P(i, j); else Pt(i, j).clear(); D(i, j) = D(i, k) + D(k, j); P(i, j) = P.splice(i, k, j); } else if (D(i, j) == D(i, k) + D(k, j)) { P.addPaths(i, j, P.splice(i, k, j)); } else if (D(i, j) == D(i, k) + D(k, j) - 1) { Pt.addPaths(i, j, P.splice(i, k, j)); } } } } // Algorithm 2 - create the ring candidate set. std::vector candidates; for (size_t i = 0; i < n; i++) { for (size_t j = i + 1; j < n; j++) { if (P(i, j).size() == 1 && Pt(i, j).size() == 0) { continue; } else { size_t size; if (P(i, j).size() > 1) size = 2 * D(i, j); else size = 2 * D(i, j) + 1; if (size > 2) candidates.push_back(RingCandidate(size, i, j)); } } } // Sort the candidates. std::sort(candidates.begin(), candidates.end(), RingCandidate::compareSize); // Algorithm 3 - find sssr from the ring candidate set. Sssr sssr; for (std::vector::iterator iter = candidates.begin(); iter != candidates.end(); ++iter) { const RingCandidate& candidate = *iter; // odd sized ring if (candidate.size() & 1) { for (size_t i = 0; i < Pt(candidate.start(), candidate.end()).size(); ++i) { std::vector ring; ring.push_back(candidate.start()); std::vector& path = Pt(candidate.start(), candidate.end())[i]; ring.insert(ring.end(), path.begin(), path.end()); ring.push_back(candidate.end()); if (!P(candidate.end(), candidate.start()).empty()) { path = P(candidate.end(), candidate.start())[0]; ring.insert(ring.end(), path.begin(), path.end()); } // Check if ring is valid and unique. if (sssr.isValid(ring) && sssr.isUnique(ring)) { sssr.append(ring); break; } } } // Even sized ring. else { for (size_t i = 0; i < P(candidate.start(), candidate.end()).size() - 1; ++i) { std::vector ring; ring.push_back(candidate.start()); std::vector& path = P(candidate.start(), candidate.end())[i]; ring.insert(ring.end(), path.begin(), path.end()); ring.push_back(candidate.end()); path = P(candidate.end(), candidate.start())[i + 1]; ring.insert(ring.end(), path.begin(), path.end()); // check if ring is valid and unique if (sssr.isValid(ring) && sssr.isUnique(ring)) { sssr.append(ring); break; } } } if (sssr.size() == ringCount) break; } return sssr.rings(); } } // end anonymous namespace RingPerceiver::RingPerceiver(const Molecule* m) : m_ringsPerceived(false), m_molecule(m) { } RingPerceiver::~RingPerceiver() { } void RingPerceiver::setMolecule(const Molecule* m) { m_molecule = m; m_ringsPerceived = false; } const Molecule* RingPerceiver::molecule() const { return m_molecule; } std::vector>& RingPerceiver::rings() { if (!m_ringsPerceived) { if (m_molecule) m_rings = perceiveRings(m_molecule->graph()); else m_rings.clear(); m_ringsPerceived = true; } return m_rings; } } // end Core namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/core/ringperceiver.h000066400000000000000000000025211360735163600220410ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_RINGPERCEIVER_H #define AVOGADRO_CORE_RINGPERCEIVER_H #include "avogadrocore.h" #include #include namespace Avogadro { namespace Core { class Molecule; class AVOGADROCORE_EXPORT RingPerceiver { public: // construction and destruction explicit RingPerceiver(const Molecule* m = 0); ~RingPerceiver(); // properties void setMolecule(const Molecule* m); const Molecule* molecule() const; // ring perception std::vector>& rings(); private: bool m_ringsPerceived; const Molecule* m_molecule; std::vector> m_rings; }; } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_RINGPERCEIVER_H avogadrolibs-1.93.0/avogadro/core/slaterset.cpp000066400000000000000000000105151360735163600215400ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "slaterset.h" #include #include #include using std::vector; using std::cout; using std::endl; using Eigen::SelfAdjointEigenSolver; namespace Avogadro { namespace Core { SlaterSet::SlaterSet() : m_initialized(false) { } SlaterSet::~SlaterSet() { } bool SlaterSet::addSlaterIndices(const std::vector& i) { m_slaterIndices = i; return true; } bool SlaterSet::addSlaterTypes(const std::vector& t) { m_initialized = false; m_slaterTypes = t; return true; } bool SlaterSet::addZetas(const std::vector& z) { m_initialized = false; m_zetas = z; return true; } bool SlaterSet::addPQNs(const std::vector& pqns) { m_initialized = false; m_pqns = pqns; return true; } bool SlaterSet::addOverlapMatrix(const Eigen::MatrixXd& m) { m_initialized = false; m_overlap.resize(m.rows(), m.cols()); m_overlap = m; return true; } bool SlaterSet::addEigenVectors(const Eigen::MatrixXd& e) { m_eigenVectors.resize(e.rows(), e.cols()); m_eigenVectors = e; return true; } bool SlaterSet::addDensityMatrix(const Eigen::MatrixXd& d) { m_density.resize(d.rows(), d.cols()); m_density = d; return true; } unsigned int SlaterSet::molecularOrbitalCount(ElectronType) { return static_cast(m_overlap.cols()); } void SlaterSet::outputAll() { } void SlaterSet::initCalculation() { if (m_initialized) return; m_normalized.resize(m_overlap.cols(), m_overlap.rows()); SelfAdjointEigenSolver s(m_overlap); MatrixX p = s.eigenvectors(); MatrixX m = p * s.eigenvalues().array().inverse().array().sqrt().matrix().asDiagonal() * p.inverse(); m_normalized = m * m_eigenVectors; if (!(m_overlap * m * m).eval().isIdentity()) cout << "Identity test FAILED - do you need a newer version of Eigen?\n"; m_factors.resize(m_zetas.size()); m_PQNs = m_pqns; // Calculate the normalizations of the orbitals. for (size_t i = 0; i < m_zetas.size(); ++i) { switch (m_slaterTypes[i]) { case S: m_factors[i] = pow(2.0 * m_zetas[i], m_pqns[i] + 0.5) * sqrt(1.0 / (4.0 * M_PI) / factorial(2 * m_pqns[i])); m_PQNs[i] -= 1; break; case PX: case PY: case PZ: m_factors[i] = pow(2.0 * m_zetas[i], m_pqns[i] + 0.5) * sqrt(3.0 / (4.0 * M_PI) / factorial(2 * m_pqns[i])); m_PQNs[i] -= 2; break; case X2: m_factors[i] = 0.5 * pow(2.0 * m_zetas[i], m_pqns[i] + 0.5) * sqrt(15.0 / (4.0 * M_PI) / factorial(2 * m_pqns[i])); m_PQNs[i] -= 3; break; case XZ: m_factors[i] = pow(2.0 * m_zetas[i], m_pqns[i] + 0.5) * sqrt(15.0 / (4.0 * M_PI) / factorial(2 * m_pqns[i])); m_PQNs[i] -= 3; break; case Z2: m_factors[i] = (0.5 / sqrt(3.0)) * pow(2.0 * m_zetas[i], m_pqns[i] + 0.5) * sqrt(15.0 / (4.0 * M_PI) / factorial(2 * m_pqns[i])); m_PQNs[i] -= 3; break; case YZ: case XY: m_factors[i] = pow(2.0 * m_zetas[i], m_pqns[i] + 0.5) * sqrt(15.0 / (4.0 * M_PI) / factorial(2 * m_pqns[i])); m_PQNs[i] -= 3; break; default: cout << "Orbital " << i << " not handled, type " << m_slaterTypes[i] << endl; } } // Convert the exponents into Angstroms for (size_t i = 0; i < m_zetas.size(); ++i) m_zetas[i] = m_zetas[i] / BOHR_TO_ANGSTROM_D; m_initialized = true; } inline unsigned int SlaterSet::factorial(unsigned int n) { if (n <= 1) return n; return (n * factorial(n - 1)); } } // End namespace Core } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/core/slaterset.h000066400000000000000000000107731360735163600212130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_SLATERSET_H #define AVOGADRO_CORE_SLATERSET_H #include "basisset.h" #include #include #include namespace Avogadro { namespace Core { /** * @class SlaterSet slaterset.h * @brief SlaterSet Class * @author Marcus D. Hanwell * * The SlaterSet class has a transparent data structure for storing the basis * sets output by many quantum mechanical codes. It has a certain hierarchy * where shells are built up from n primitives, in this case Slater Type * Orbitals (STOs). Each shell has a type (S, P, D, F, etc) and is composed of * one or more STOs. Each STO has a contraction coefficient, c, and an exponent, * a. * * When calculating Molecular Orbitals (MOs) each orthogonal shell has an * independent coefficient. That is the S type orbitals have one coefficient, * the P type orbitals have three coefficients (Px, Py and Pz), the D type * orbitals have five (or six if cartesian types) coefficients, and so on. */ struct SlaterShell; class AVOGADROCORE_EXPORT SlaterSet : public BasisSet { public: /** * Constructor. */ SlaterSet(); /** * Destructor. */ ~SlaterSet() override; /** * Clone. */ SlaterSet* clone() const override { return new SlaterSet(*this); } /** * Enumeration of the Slater orbital types. */ enum slater { S, PX, PY, PZ, X2, XZ, Z2, YZ, XY, UU }; /** * Add a basis to the basis set. * @param i Index of the atom to add the Basis too. * @return The index of the added Basis. */ bool addSlaterIndices(const std::vector& i); /** * Add the symmetry types for the orbitals. * @param t Vector containing the types of symmetry using the slater enum. */ bool addSlaterTypes(const std::vector& t); /** * Add a STO to the supplied basis. * @param zetas The exponents of the STOs * @return True if successful. */ bool addZetas(const std::vector& zetas); /** * The PQNs for the orbitals. */ bool addPQNs(const std::vector& pqns); /** * The overlap matrix. * @param m Matrix containing the overlap matrix for the basis. */ bool addOverlapMatrix(const Eigen::MatrixXd& m); /** * Add Eigen Vectors to the SlaterSet. * @param e Matrix of the eigen vectors for the SlaterSet. */ bool addEigenVectors(const Eigen::MatrixXd& e); /** * Add the density matrix to the SlaterSet. * @param d Density matrix for the SlaterSet. */ bool addDensityMatrix(const Eigen::MatrixXd& d); /** * @return The number of molecular orbitals in the BasisSet. */ unsigned int molecularOrbitalCount(ElectronType type = Paired) override; /** * @return True of the basis set is valid, false otherwise. * Default is true, if false then the basis set is likely unusable. */ bool isValid() override { return true; } /** * Initialize the calculation, this must normally be done before anything. */ void initCalculation(); /** * Accessors for the various properties of the GaussianSet. */ std::vector& slaterIndices() { return m_slaterIndices; } std::vector& slaterTypes() { return m_slaterTypes; } std::vector& zetas() { return m_zetas; } std::vector& factors() { return m_factors; } std::vector& PQNs() { return m_PQNs; } MatrixX& normalizedMatrix() { return m_normalized; } MatrixX& densityMatrix() { return m_density; } void outputAll(); private: std::vector m_slaterIndices; std::vector m_slaterTypes; std::vector m_zetas; std::vector m_pqns, m_PQNs; std::vector m_factors; MatrixX m_overlap; MatrixX m_eigenVectors; MatrixX m_density; MatrixX m_normalized; bool m_initialized; unsigned int factorial(unsigned int n); }; } // End Core namespace } // End Avogadro namespace #endif avogadrolibs-1.93.0/avogadro/core/slatersettools.cpp000066400000000000000000000116331360735163600226230ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2008 Albert De Fusco Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "slatersettools.h" #include "molecule.h" #include "slaterset.h" #include using std::cout; using std::endl; using std::vector; namespace Avogadro { namespace Core { SlaterSetTools::SlaterSetTools(Molecule* mol) : m_molecule(mol) { if (m_molecule) m_basis = dynamic_cast(m_molecule->basisSet()); } SlaterSetTools::~SlaterSetTools() { } double SlaterSetTools::calculateMolecularOrbital(const Vector3& position, int mo) const { if (mo > static_cast(m_basis->molecularOrbitalCount())) return 0.0; vector values(calculateValues(position)); const MatrixX& matrix = m_basis->normalizedMatrix(); int matrixSize(static_cast(matrix.rows())); int indexMO(mo - 1); // Now calculate the value of the density at this point in space double result(0.0); for (int i = 0; i < matrixSize; ++i) result += matrix(i, indexMO) * values[i]; return result; } double SlaterSetTools::calculateElectronDensity(const Vector3& position) const { const MatrixX& matrix = m_basis->densityMatrix(); int matrixSize(static_cast(m_basis->normalizedMatrix().rows())); if (matrix.rows() != matrixSize || matrix.cols() != matrixSize) return 0.0; vector values(calculateValues(position)); // Now calculate the value of the density at this point in space double rho(0.0); for (int i = 0; i < matrixSize; ++i) { // Calculate the off-diagonal parts of the matrix for (int j = 0; j < i; ++j) rho += 2.0 * matrix(i, j) * (values[i] * values[j]); // Now calculate the matrix diagonal rho += matrix(i, i) * (values[i] * values[i]); } return rho; } double SlaterSetTools::calculateSpinDensity(const Vector3&) const { return 0.0; } bool SlaterSetTools::isValid() const { if (m_molecule && dynamic_cast(m_molecule->basisSet())) return true; else return false; } inline bool SlaterSetTools::isSmall(double val) const { if (val > -1e-20 && val < 1e-20) return true; else return false; } vector SlaterSetTools::calculateValues(const Vector3& position) const { m_basis->initCalculation(); Index atomsSize = m_molecule->atomCount(); size_t basisSize = m_basis->zetas().size(); const vector& slaterIndices = m_basis->slaterIndices(); const vector& slaterTypes = m_basis->slaterTypes(); const vector& PQNs = m_basis->PQNs(); const vector& factors = m_basis->factors(); const vector& zetas = m_basis->zetas(); vector deltas; vector dr2; deltas.reserve(atomsSize); dr2.reserve(atomsSize); // Calculate the deltas for the position for (Index i = 0; i < atomsSize; ++i) { deltas.push_back(position - m_molecule->atom(i).position3d()); dr2.push_back(deltas[i].squaredNorm()); } // Allocate space for the values to be calculated. vector values; values.resize(basisSize); // Now calculate the values at this point in space for (size_t i = 0; i < basisSize; ++i) { double dr(dr2[slaterIndices[i]]); Vector3 delta(deltas[slaterIndices[i]]); values[i] = factors[i] * exp(-zetas[i] * dr); // Radial part with effective PQNs for (int j = 0; j < PQNs[i]; ++j) values[i] *= dr; switch (slaterTypes[i]) { case SlaterSet::S: break; case SlaterSet::PX: values[i] *= delta.x(); break; case SlaterSet::PY: values[i] *= delta.y(); break; case SlaterSet::PZ: values[i] *= delta.z(); break; case SlaterSet::X2: // (x^2 - y^2)r^n values[i] *= delta.x() * delta.x() - delta.y() * delta.y(); break; case SlaterSet::XZ: // xzr^n values[i] *= delta.x() * delta.z(); break; case SlaterSet::Z2: // (2z^2 - x^2 - y^2)r^n values[i] *= 2.0 * delta.z() * delta.z() - delta.x() * delta.x() - delta.y() * delta.y(); break; case SlaterSet::YZ: // yzr^n values[i] *= delta.y() * delta.z(); break; case SlaterSet::XY: // xyr^n values[i] *= delta.x() * delta.y(); break; default: values[i] = 0.0; } } return values; } } // End Core namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/core/slatersettools.h000066400000000000000000000057641360735163600223000ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2008 Albert De Fusco Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_SLATERSETTOOLS_H #define AVOGADRO_CORE_SLATERSETTOOLS_H #include "avogadrocore.h" #include "vector.h" #include namespace Avogadro { namespace Core { class Molecule; class SlaterSet; /** * @class SlaterSetTools slatersettools.h * @brief Provide tools to calculate molecular orbitals, electron densities and * other derived data stored in a GaussianSet result. * @author Marcus D. Hanwell */ class AVOGADROCORE_EXPORT SlaterSetTools { public: explicit SlaterSetTools(Molecule* mol = 0); ~SlaterSetTools(); /** * @brief Calculate the value of the specified molecular orbital at the * position specified. * @param position The position in space to calculate the value. * @param molecularOrbitalNumber The molecular orbital number. * @return The value of the molecular orbital at the position specified. */ double calculateMolecularOrbital(const Vector3& position, int molecularOrbitalNumber) const; /** * @brief Calculate the value of the electron density at the position * specified. * @param position The position in space to calculate the value. * @return The value of the electron density at the position specified. */ double calculateElectronDensity(const Vector3& position) const; /** * @brief Calculate the value of the electron spin density at the position * specified. * @param position The position in space to calculate the value. * @return The value of the spin density at the position specified. */ double calculateSpinDensity(const Vector3& position) const; /** * @brief Check that the basis set is valid and can be used. * @return True if valid, false otherwise. */ bool isValid() const; private: Molecule* m_molecule; SlaterSet* m_basis; bool isSmall(double value) const; /** * @brief Calculate the values at this position in space. The public calculate * functions call this function to prepare values before multiplying by the * molecular orbital or density matrix elements. * @param position The position in space to calculate the value. */ std::vector calculateValues(const Vector3& position) const; }; } // End Core namespace } // End Avogadro namespace #endif // AVOGADRO_CORE_SlaterSetTools_H avogadrolibs-1.93.0/avogadro/core/spacegroupdata.h000066400000000000000000006407171360735163600222160ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_SPACE_GROUP_DATA #define AVOGADRO_CORE_SPACE_GROUP_DATA // This file contains data for each hall number. // For example, [3] accesses data for hall number 3. // [0] is a dummy in every case. There are 530 entries in each one. namespace Avogadro { namespace Core { const unsigned short space_group_international_number[] = { 0, 1, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 17, 17, 17, 18, 18, 18, 19, 20, 20, 20, 21, 21, 21, 22, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 32, 32, 32, 33, 33, 33, 33, 33, 33, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 36, 36, 37, 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, 45, 45, 46, 46, 46, 46, 46, 46, 47, 48, 48, 49, 49, 49, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 57, 57, 57, 58, 58, 58, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 61, 61, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 70, 70, 71, 72, 72, 72, 73, 73, 74, 74, 74, 74, 74, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 85, 86, 86, 87, 88, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 125, 126, 126, 127, 128, 129, 129, 130, 130, 131, 132, 133, 133, 134, 134, 135, 136, 137, 137, 138, 138, 139, 140, 141, 141, 142, 142, 143, 144, 145, 146, 146, 147, 148, 148, 149, 150, 151, 152, 153, 154, 155, 155, 156, 157, 158, 159, 160, 160, 161, 161, 162, 163, 164, 165, 166, 166, 167, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 201, 202, 203, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 222, 223, 224, 224, 225, 226, 227, 227, 228, 228, 229, 230 }; const char* space_group_schoenflies[] = { "", "C1^1", "Ci^1", "C2^1", "C2^1", "C2^1", "C2^2", "C2^2", "C2^2", "C2^3", "C2^3", "C2^3", "C2^3", "C2^3", "C2^3", "C2^3", "C2^3", "C2^3", "Cs^1", "Cs^1", "Cs^1", "Cs^2", "Cs^2", "Cs^2", "Cs^2", "Cs^2", "Cs^2", "Cs^2", "Cs^2", "Cs^2", "Cs^3", "Cs^3", "Cs^3", "Cs^3", "Cs^3", "Cs^3", "Cs^3", "Cs^3", "Cs^3", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "Cs^4", "C2h^1", "C2h^1", "C2h^1", "C2h^2", "C2h^2", "C2h^2", "C2h^3", "C2h^3", "C2h^3", "C2h^3", "C2h^3", "C2h^3", "C2h^3", "C2h^3", "C2h^3", "C2h^4", "C2h^4", "C2h^4", "C2h^4", "C2h^4", "C2h^4", "C2h^4", "C2h^4", "C2h^4", "C2h^5", "C2h^5", "C2h^5", "C2h^5", "C2h^5", "C2h^5", "C2h^5", "C2h^5", "C2h^5", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "C2h^6", "D2^1", "D2^2", "D2^2", "D2^2", "D2^3", "D2^3", "D2^3", "D2^4", "D2^5", "D2^5", "D2^5", "D2^6", "D2^6", "D2^6", "D2^7", "D2^8", "D2^9", "C2v^1", "C2v^1", "C2v^1", "C2v^2", "C2v^2", "C2v^2", "C2v^2", "C2v^2", "C2v^2", "C2v^3", "C2v^3", "C2v^3", "C2v^4", "C2v^4", "C2v^4", "C2v^4", "C2v^4", "C2v^4", "C2v^5", "C2v^5", "C2v^5", "C2v^5", "C2v^5", "C2v^5", "C2v^6", "C2v^6", "C2v^6", "C2v^6", "C2v^6", "C2v^6", "C2v^7", "C2v^7", "C2v^7", "C2v^7", "C2v^7", "C2v^7", "C2v^8", "C2v^8", "C2v^8", "C2v^9", "C2v^9", "C2v^9", "C2v^9", "C2v^9", "C2v^9", "C2v^10", "C2v^10", "C2v^10", "C2v^11", "C2v^11", "C2v^11", "C2v^12", "C2v^12", "C2v^12", "C2v^12", "C2v^12", "C2v^12", "C2v^13", "C2v^13", "C2v^13", "C2v^14", "C2v^14", "C2v^14", "C2v^14", "C2v^14", "C2v^14", "C2v^15", "C2v^15", "C2v^15", "C2v^15", "C2v^15", "C2v^15", "C2v^16", "C2v^16", "C2v^16", "C2v^16", "C2v^16", "C2v^16", "C2v^17", "C2v^17", "C2v^17", "C2v^17", "C2v^17", "C2v^17", "C2v^18", "C2v^18", "C2v^18", "C2v^19", "C2v^19", "C2v^19", "C2v^20", "C2v^20", "C2v^20", "C2v^21", "C2v^21", "C2v^21", "C2v^22", "C2v^22", "C2v^22", "C2v^22", "C2v^22", "C2v^22", "D2h^1", "D2h^2", "D2h^2", "D2h^3", "D2h^3", "D2h^3", "D2h^4", "D2h^4", "D2h^4", "D2h^4", "D2h^4", "D2h^4", "D2h^5", "D2h^5", "D2h^5", "D2h^5", "D2h^5", "D2h^5", "D2h^6", "D2h^6", "D2h^6", "D2h^6", "D2h^6", "D2h^6", "D2h^7", "D2h^7", "D2h^7", "D2h^7", "D2h^7", "D2h^7", "D2h^8", "D2h^8", "D2h^8", "D2h^8", "D2h^8", "D2h^8", "D2h^9", "D2h^9", "D2h^9", "D2h^10", "D2h^10", "D2h^10", "D2h^11", "D2h^11", "D2h^11", "D2h^11", "D2h^11", "D2h^11", "D2h^12", "D2h^12", "D2h^12", "D2h^13", "D2h^13", "D2h^13", "D2h^13", "D2h^13", "D2h^13", "D2h^14", "D2h^14", "D2h^14", "D2h^14", "D2h^14", "D2h^14", "D2h^15", "D2h^15", "D2h^16", "D2h^16", "D2h^16", "D2h^16", "D2h^16", "D2h^16", "D2h^17", "D2h^17", "D2h^17", "D2h^17", "D2h^17", "D2h^17", "D2h^18", "D2h^18", "D2h^18", "D2h^18", "D2h^18", "D2h^18", "D2h^19", "D2h^19", "D2h^19", "D2h^20", "D2h^20", "D2h^20", "D2h^21", "D2h^21", "D2h^21", "D2h^21", "D2h^21", "D2h^21", "D2h^22", "D2h^22", "D2h^22", "D2h^22", "D2h^22", "D2h^22", "D2h^22", "D2h^22", "D2h^22", "D2h^22", "D2h^22", "D2h^22", "D2h^23", "D2h^24", "D2h^24", "D2h^25", "D2h^26", "D2h^26", "D2h^26", "D2h^27", "D2h^27", "D2h^28", "D2h^28", "D2h^28", "D2h^28", "D2h^28", "D2h^28", "C4^1", "C4^2", "C4^3", "C4^4", "C4^5", "C4^6", "S4^1", "S4^2", "C4h^1", "C4h^2", "C4h^3", "C4h^3", "C4h^4", "C4h^4", "C4h^5", "C4h^6", "C4h^6", "D4^1", "D4^2", "D4^3", "D4^4", "D4^5", "D4^6", "D4^7", "D4^8", "D4^9", "D4^10", "C4v^1", "C4v^2", "C4v^3", "C4v^4", "C4v^5", "C4v^6", "C4v^7", "C4v^8", "C4v^9", "C4v^10", "C4v^11", "C4v^12", "D2d^1", "D2d^2", "D2d^3", "D2d^4", "D2d^5", "D2d^6", "D2d^7", "D2d^8", "D2d^9", "D2d^10", "D2d^11", "D2d^12", "D4h^1", "D4h^2", "D4h^3", "D4h^3", "D4h^4", "D4h^4", "D4h^5", "D4h^6", "D4h^7", "D4h^7", "D4h^8", "D4h^8", "D4h^9", "D4h^10", "D4h^11", "D4h^11", "D4h^12", "D4h^12", "D4h^13", "D4h^14", "D4h^15", "D4h^15", "D4h^16", "D4h^16", "D4h^17", "D4h^18", "D4h^19", "D4h^19", "D4h^20", "D4h^20", "C3^1", "C3^2", "C3^3", "C3^4", "C3^4", "C3i^1", "C3i^2", "C3i^2", "D3^1", "D3^2", "D3^3", "D3^4", "D3^5", "D3^6", "D3^7", "D3^7", "C3v^1", "C3v^2", "C3v^3", "C3v^4", "C3v^5", "C3v^5", "C3v^6", "C3v^6", "D3d^1", "D3d^2", "D3d^3", "D3d^4", "D3d^5", "D3d^5", "D3d^6", "D3d^6", "C6^1", "C6^2", "C6^3", "C6^4", "C6^5", "C6^6", "C3h^1", "C6h^1", "C6h^2", "D6^1", "D6^2", "D6^3", "D6^4", "D6^5", "D6^6", "C6v^1", "C6v^2", "C6v^3", "C6v^4", "D3h^1", "D3h^2", "D3h^3", "D3h^4", "D6h^1", "D6h^2", "D6h^3", "D6h^4", "T^1", "T^2", "T^3", "T^4", "T^5", "Th^1", "Th^2", "Th^2", "Th^3", "Th^4", "Th^4", "Th^5", "Th^6", "Th^7", "O^1", "O^2", "O^3", "O^4", "O^5", "O^6", "O^7", "O^8", "Td^1", "Td^2", "Td^3", "Td^4", "Td^5", "Td^6", "Oh^1", "Oh^2", "Oh^2", "Oh^3", "Oh^4", "Oh^4", "Oh^5", "Oh^6", "Oh^7", "Oh^7", "Oh^8", "Oh^8", "Oh^9", "Oh^10" }; const char* space_group_hall_symbol[] = { "", "P 1", "-P 1", "P 2y", "P 2", "P 2x", "P 2yb", "P 2c", "P 2xa", "C 2y", "A 2y", "I 2y", "A 2", "B 2", "I 2", "B 2x", "C 2x", "I 2x", "P -2y", "P -2", "P -2x", "P -2yc", "P -2yac", "P -2ya", "P -2a", "P -2ab", "P -2b", "P -2xb", "P -2xbc", "P -2xc", "C -2y", "A -2y", "I -2y", "A -2", "B -2", "I -2", "B -2x", "C -2x", "I -2x", "C -2yc", "A -2yac", "I -2ya", "A -2ya", "C -2ybc", "I -2yc", "A -2a", "B -2bc", "I -2b", "B -2b", "A -2ac", "I -2a", "B -2xb", "C -2xbc", "I -2xc", "C -2xc", "B -2xbc", "I -2xb", "-P 2y", "-P 2", "-P 2x", "-P 2yb", "-P 2c", "-P 2xa", "-C 2y", "-A 2y", "-I 2y", "-A 2", "-B 2", "-I 2", "-B 2x", "-C 2x", "-I 2x", "-P 2yc", "-P 2yac", "-P 2ya", "-P 2a", "-P 2ab", "-P 2b", "-P 2xb", "-P 2xbc", "-P 2xc", "-P 2ybc", "-P 2yn", "-P 2yab", "-P 2ac", "-P 2n", "-P 2bc", "-P 2xab", "-P 2xn", "-P 2xac", "-C 2yc", "-A 2yac", "-I 2ya", "-A 2ya", "-C 2ybc", "-I 2yc", "-A 2a", "-B 2bc", "-I 2b", "-B 2b", "-A 2ac", "-I 2a", "-B 2xb", "-C 2xbc", "-I 2xc", "-C 2xc", "-B 2xbc", "-I 2xb", "P 2 2", "P 2c 2", "P 2a 2a", "P 2 2b", "P 2 2ab", "P 2bc 2", "P 2ac 2ac", "P 2ac 2ab", "C 2c 2", "A 2a 2a", "B 2 2b", "C 2 2", "A 2 2", "B 2 2", "F 2 2", "I 2 2", "I 2b 2c", "P 2 -2", "P -2 2", "P -2 -2", "P 2c -2", "P 2c -2c", "P -2a 2a", "P -2 2a", "P -2 -2b", "P -2b -2", "P 2 -2c", "P -2a 2", "P -2b -2b", "P 2 -2a", "P 2 -2b", "P -2b 2", "P -2c 2", "P -2c -2c", "P -2a -2a", "P 2c -2ac", "P 2c -2b", "P -2b 2a", "P -2ac 2a", "P -2bc -2c", "P -2a -2ab", "P 2 -2bc", "P 2 -2ac", "P -2ac 2", "P -2ab 2", "P -2ab -2ab", "P -2bc -2bc", "P 2ac -2", "P 2bc -2bc", "P -2ab 2ab", "P -2 2ac", "P -2 -2bc", "P -2ab -2", "P 2 -2ab", "P -2bc 2", "P -2ac -2ac", "P 2c -2n", "P 2c -2ab", "P -2bc 2a", "P -2n 2a", "P -2n -2ac", "P -2ac -2n", "P 2 -2n", "P -2n 2", "P -2n -2n", "C 2 -2", "A -2 2", "B -2 -2", "C 2c -2", "C 2c -2c", "A -2a 2a", "A -2 2a", "B -2 -2b", "B -2b -2", "C 2 -2c", "A -2a 2", "B -2b -2b", "A 2 -2", "B 2 -2", "B -2 2", "C -2 2", "C -2 -2", "A -2 -2", "A 2 -2c", "B 2 -2c", "B -2c 2", "C -2b 2", "C -2b -2b", "A -2c -2c", "A 2 -2a", "B 2 -2b", "B -2b 2", "C -2c 2", "C -2c -2c", "A -2a -2a", "A 2 -2ac", "B 2 -2bc", "B -2bc 2", "C -2bc 2", "C -2bc -2bc", "A -2ac -2ac", "F 2 -2", "F -2 2", "F -2 -2", "F 2 -2d", "F -2d 2", "F -2d -2d", "I 2 -2", "I -2 2", "I -2 -2", "I 2 -2c", "I -2a 2", "I -2b -2b", "I 2 -2a", "I 2 -2b", "I -2b 2", "I -2c 2", "I -2c -2c", "I -2a -2a", "-P 2 2", "P 2 2 -1n", "-P 2ab 2bc", "-P 2 2c", "-P 2a 2", "-P 2b 2b", "P 2 2 -1ab", "-P 2ab 2b", "P 2 2 -1bc", "-P 2b 2bc", "P 2 2 -1ac", "-P 2a 2c", "-P 2a 2a", "-P 2b 2", "-P 2 2b", "-P 2c 2c", "-P 2c 2", "-P 2 2a", "-P 2a 2bc", "-P 2b 2n", "-P 2n 2b", "-P 2ab 2c", "-P 2ab 2n", "-P 2n 2bc", "-P 2ac 2", "-P 2bc 2bc", "-P 2ab 2ab", "-P 2 2ac", "-P 2 2bc", "-P 2ab 2", "-P 2a 2ac", "-P 2b 2c", "-P 2a 2b", "-P 2ac 2c", "-P 2bc 2b", "-P 2b 2ab", "-P 2 2ab", "-P 2bc 2", "-P 2ac 2ac", "-P 2ab 2ac", "-P 2ac 2bc", "-P 2bc 2ab", "-P 2c 2b", "-P 2c 2ac", "-P 2ac 2a", "-P 2b 2a", "-P 2a 2ab", "-P 2bc 2c", "-P 2 2n", "-P 2n 2", "-P 2n 2n", "P 2 2ab -1ab", "-P 2ab 2a", "P 2bc 2 -1bc", "-P 2c 2bc", "P 2ac 2ac -1ac", "-P 2c 2a", "-P 2n 2ab", "-P 2n 2c", "-P 2a 2n", "-P 2bc 2n", "-P 2ac 2b", "-P 2b 2ac", "-P 2ac 2ab", "-P 2bc 2ac", "-P 2ac 2n", "-P 2bc 2a", "-P 2c 2ab", "-P 2n 2ac", "-P 2n 2a", "-P 2c 2n", "-C 2c 2", "-C 2c 2c", "-A 2a 2a", "-A 2 2a", "-B 2 2b", "-B 2b 2", "-C 2bc 2", "-C 2bc 2bc", "-A 2ac 2ac", "-A 2 2ac", "-B 2 2bc", "-B 2bc 2", "-C 2 2", "-A 2 2", "-B 2 2", "-C 2 2c", "-A 2a 2", "-B 2b 2b", "-C 2b 2", "-C 2b 2b", "-A 2c 2c", "-A 2 2c", "-B 2 2c", "-B 2c 2", "C 2 2 -1bc", "-C 2b 2bc", "C 2 2 -1bc", "-C 2b 2c", "A 2 2 -1ac", "-A 2a 2c", "A 2 2 -1ac", "-A 2ac 2c", "B 2 2 -1bc", "-B 2bc 2b", "B 2 2 -1bc", "-B 2b 2bc", "-F 2 2", "F 2 2 -1d", "-F 2uv 2vw", "-I 2 2", "-I 2 2c", "-I 2a 2", "-I 2b 2b", "-I 2b 2c", "-I 2a 2b", "-I 2b 2", "-I 2a 2a", "-I 2c 2c", "-I 2 2b", "-I 2 2a", "-I 2c 2", "P 4", "P 4w", "P 4c", "P 4cw", "I 4", "I 4bw", "P -4", "I -4", "-P 4", "-P 4c", "P 4ab -1ab", "-P 4a", "P 4n -1n", "-P 4bc", "-I 4", "I 4bw -1bw", "-I 4ad", "P 4 2", "P 4ab 2ab", "P 4w 2c", "P 4abw 2nw", "P 4c 2", "P 4n 2n", "P 4cw 2c", "P 4nw 2abw", "I 4 2", "I 4bw 2bw", "P 4 -2", "P 4 -2ab", "P 4c -2c", "P 4n -2n", "P 4 -2c", "P 4 -2n", "P 4c -2", "P 4c -2ab", "I 4 -2", "I 4 -2c", "I 4bw -2", "I 4bw -2c", "P -4 2", "P -4 2c", "P -4 2ab", "P -4 2n", "P -4 -2", "P -4 -2c", "P -4 -2ab", "P -4 -2n", "I -4 -2", "I -4 -2c", "I -4 2", "I -4 2bw", "-P 4 2", "-P 4 2c", "P 4 2 -1ab", "-P 4a 2b", "P 4 2 -1n", "-P 4a 2bc", "-P 4 2ab", "-P 4 2n", "P 4ab 2ab -1ab", "-P 4a 2a", "P 4ab 2n -1ab", "-P 4a 2ac", "-P 4c 2", "-P 4c 2c", "P 4n 2c -1n", "-P 4ac 2b", "P 4n 2 -1n", "-P 4ac 2bc", "-P 4c 2ab", "-P 4n 2n", "P 4n 2n -1n", "-P 4ac 2a", "P 4n 2ab -1n", "-P 4ac 2ac", "-I 4 2", "-I 4 2c", "I 4bw 2bw -1bw", "-I 4bd 2", "I 4bw 2aw -1bw", "-I 4bd 2c", "P 3", "P 31", "P 32", "R 3", "P 3*", "-P 3", "-R 3", "-P 3*", "P 3 2", "P 3 2=", "P 31 2c (0 0 1)", "P 31 2=", "P 32 2c (0 0 -1)", "P 32 2=", "R 3 2=", "P 3* 2", "P 3 -2=", "P 3 -2", "P 3 -2=c", "P 3 -2c", "R 3 -2=", "P 3* -2", "R 3 -2=c", "P 3* -2n", "-P 3 2", "-P 3 2c", "-P 3 2=", "-P 3 2=c", "-R 3 2=", "-P 3* 2", "-R 3 2=c", "-P 3* 2n", "P 6", "P 61", "P 65", "P 62", "P 64", "P 6c", "P -6", "-P 6", "-P 6c", "P 6 2", "P 61 2 (0 0 -1)", "P 65 2 (0 0 1)", "P 62 2c (0 0 1)", "P 64 2c (0 0 -1)", "P 6c 2c", "P 6 -2", "P 6 -2c", "P 6c -2", "P 6c -2c", "P -6 2", "P -6c 2", "P -6 -2", "P -6c -2c", "-P 6 2", "-P 6 2c", "-P 6c 2", "-P 6c 2c", "P 2 2 3", "F 2 2 3", "I 2 2 3", "P 2ac 2ab 3", "I 2b 2c 3", "-P 2 2 3", "P 2 2 3 -1n", "-P 2ab 2bc 3", "-F 2 2 3", "F 2 2 3 -1d", "-F 2uv 2vw 3", "-I 2 2 3", "-P 2ac 2ab 3", "-I 2b 2c 3", "P 4 2 3", "P 4n 2 3", "F 4 2 3", "F 4d 2 3", "I 4 2 3", "P 4acd 2ab 3", "P 4bd 2ab 3", "I 4bd 2c 3", "P -4 2 3", "F -4 2 3", "I -4 2 3", "P -4n 2 3", "F -4c 2 3", "I -4bd 2c 3", "-P 4 2 3", "P 4 2 3 -1n", "-P 4a 2bc 3", "-P 4n 2 3", "P 4n 2 3 -1n", "-P 4bc 2bc 3", "-F 4 2 3", "-F 4c 2 3", "F 4d 2 3 -1d", "-F 4vw 2vw 3", "F 4d 2 3 -1cd", "-F 4cvw 2vw 3", "-I 4 2 3", "-I 4bd 2c 3" }; const char* space_group_international[] = { "", "P 1", "P -1", "P 2 = P 1 2 1", "P 2 = P 1 1 2", "P 2 = P 2 1 1", "P 2_1 = P 1 2_1 1", "P 2_1 = P 1 1 2_1", "P 2_1 = P 2_1 1 1", "C 2 = C 1 2 1", "C 2 = A 1 2 1", "C 2 = I 1 2 1", "C 2 = A 1 1 2", "C 2 = B 1 1 2 = B 2", "C 2 = I 1 1 2", "C 2 = B 2 1 1", "C 2 = C 2 1 1", "C 2 = I 2 1 1", "P m = P 1 m 1", "P m = P 1 1 m", "P m = P m 1 1", "P c = P 1 c 1", "P c = P 1 n 1", "P c = P 1 a 1", "P c = P 1 1 a", "P c = P 1 1 n", "P c = P 1 1 b = P b", "P c = P b 1 1", "P c = P n 1 1", "P c = P c 1 1", "C m = C 1 m 1", "C m = A 1 m 1", "C m = I 1 m 1", "C m = A 1 1 m", "C m = B 1 1 m = B m", "C m = I 1 1 m", "C m = B m 1 1", "C m = C m 1 1", "C m = I m 1 1", "C c = C 1 c 1", "C c = A 1 n 1", "C c = I 1 a 1", "C c = A 1 a 1", "C c = C 1 n 1", "C c = I 1 c 1", "C c = A 1 1 a", "C c = B 1 1 n", "C c = I 1 1 b", "C c = B 1 1 b = B b", "C c = A 1 1 n", "C c = I 1 1 a", "C c = B b 1 1", "C c = C n 1 1", "C c = I c 1 1", "C c = C c 1 1", "C c = B n 1 1", "C c = I b 1 1", "P 2/m = P 1 2/m 1", "P 2/m = P 1 1 2/m", "P 2/m = P 2/m 1 1", "P 2_1/m = P 1 2_1/m 1", "P 2_1/m = P 1 1 2_1/m", "P 2_1/m = P 2_1/m 1 1", "C 2/m = C 1 2/m 1", "C 2/m = A 1 2/m 1", "C 2/m = I 1 2/m 1", "C 2/m = A 1 1 2/m", "C 2/m = B 1 1 2/m = B 2/m", "C 2/m = I 1 1 2/m", "C 2/m = B 2/m 1 1", "C 2/m = C 2/m 1 1", "C 2/m = I 2/m 1 1", "P 2/c = P 1 2/c 1", "P 2/c = P 1 2/n 1", "P 2/c = P 1 2/a 1", "P 2/c = P 1 1 2/a", "P 2/c = P 1 1 2/n", "P 2/c = P 1 1 2/b = P 2/b", "P 2/c = P 2/b 1 1", "P 2/c = P 2/n 1 1", "P 2/c = P 2/c 1 1", "P 2_1/c = P 1 2_1/c 1", "P 2_1/c = P 1 2_1/n 1", "P 2_1/c = P 1 2_1/a 1", "P 2_1/c = P 1 1 2_1/a", "P 2_1/c = P 1 1 2_1/n", "P 2_1/c = P 1 1 2_1/b = P 2_1/b", "P 2_1/c = P 2_1/b 1 1", "P 2_1/c = P 2_1/n 1 1", "P 2_1/c = P 2_1/c 1 1", "C 2/c = C 1 2/c 1", "C 2/c = A 1 2/n 1", "C 2/c = I 1 2/a 1", "C 2/c = A 1 2/a 1", "C 2/c = C 1 2/n 1", "C 2/c = I 1 2/c 1", "C 2/c = A 1 1 2/a", "C 2/c = B 1 1 2/n", "C 2/c = I 1 1 2/b", "C 2/c = B 1 1 2/b = B 2/b", "C 2/c = A 1 1 2/n", "C 2/c = I 1 1 2/a", "C 2/c = B 2/b 1 1", "C 2/c = C 2/n 1 1", "C 2/c = I 2/c 1 1", "C 2/c = C 2/c 1 1", "C 2/c = B 2/n 1 1", "C 2/c = I 2/b 1 1", "P 2 2 2", "P 2 2 2_1", "P 2_1 2 2", "P 2 2_1 2", "P 2_1 2_1 2", "P 2 2_1 2_1", "P 2_1 2 2_1", "P 2_1 2_1 2_1", "C 2 2 2_1", "A 2_1 2 2", "B 2 2_1 2", "C 2 2 2", "A 2 2 2", "B 2 2 2", "F 2 2 2", "I 2 2 2", "I 2_1 2_1 2_1", "P m m 2", "P 2 m m", "P m 2 m", "P m c 2_1", "P c m 2_1", "P 2_1 m a", "P 2_1 a m", "P b 2_1 m", "P m 2_1 b", "P c c 2", "P 2 a a", "P b 2 b", "P m a 2", "P b m 2", "P 2 m b", "P 2 c m", "P c 2 m", "P m 2 a", "P c a 2_1", "P b c 2_1", "P 2_1 a b", "P 2_1 c a", "P c 2_1 b", "P b 2_1 a", "P n c 2", "P c n 2", "P 2 n a", "P 2 a n", "P b 2 n", "P n 2 b", "P m n 2_1", "P n m 2_1", "P 2_1 m n", "P 2_1 n m", "P n 2_1 m", "P m 2_1 n", "P b a 2", "P 2 c b", "P c 2 a", "P n a 2_1", "P b n 2_1", "P 2_1 n b", "P 2_1 c n", "P c 2_1 n", "P n 2_1 a", "P n n 2", "P 2 n n", "P n 2 n", "C m m 2", "A 2 m m", "B m 2 m", "C m c 2_1", "C c m 2_1", "A 2_1 m a", "A 2_1 a m", "B b 2_1 m", "B m 2_1 b", "C c c 2", "A 2 a a", "B b 2 b", "A m m 2", "B m m 2", "B 2 m m", "C 2 m m", "C m 2 m", "A m 2 m", "A e m 2", "B m e 2", "B 2 e m", "C 2 m e", "C m 2 e", "A e 2 m", "A m a 2", "B b m 2", "B 2 m b", "C 2 c m", "C c 2 m", "A m 2 a", "A e a 2", "B b e 2", "B 2 e b", "C 2 c e", "C c 2 e", "A e 2 a", "F m m 2", "F 2 m m", "F m 2 m", "F d d 2", "F 2 d d", "F d 2 d", "I m m 2", "I 2 m m", "I m 2 m", "I b a 2", "I 2 c b", "I c 2 a", "I m a 2", "I b m 2", "I 2 m b", "I 2 c m", "I c 2 m", "I m 2 a", "P m m m", "P n n n", "P n n n", "P c c m", "P m a a", "P b m b", "P b a n", "P b a n", "P n c b", "P n c b", "P c n a", "P c n a", "P m m a", "P m m b", "P b m m", "P c m m", "P m c m", "P m a m", "P n n a", "P n n b", "P b n n", "P c n n", "P n c n", "P n a n", "P m n a", "P n m b", "P b m n", "P c n m", "P n c m", "P m a n", "P c c a", "P c c b", "P b a a", "P c a a", "P b c b", "P b a b", "P b a m", "P m c b", "P c m a", "P c c n", "P n a a", "P b n b", "P b c m", "P c a m", "P m c a", "P m a b", "P b m a", "P c m b", "P n n m", "P m n n", "P n m n", "P m m n", "P m m n", "P n m m", "P n m m", "P m n m", "P m n m", "P b c n", "P c a n", "P n c a", "P n a b", "P b n a", "P c n b", "P b c a", "P c a b", "P n m a", "P m n b", "P b n m", "P c m n", "P m c n", "P n a m", "C m c m", "C c m m", "A m m a", "A m a m", "B b m m", "B m m b", "C m c e", "C c m e", "A e m a", "A e a m", "B b e m", "B m e b", "C m m m", "A m m m", "B m m m", "C c c m", "A m a a", "B b m b", "C m m e", "C m m e", "A e m m", "A e m m", "B m e m", "B m e m", "C c c e", "C c c e", "C c c e", "C c c e", "A e a a", "A e a a", "A e a a", "A e a a", "B b e b", "B b c b", "B b e b", "B b e b", "F m m m", "F d d d", "F d d d", "I m m m", "I b a m", "I m c b", "I c m a", "I b c a", "I c a b", "I m m a", "I m m b", "I b m m", "I c m m", "I m c m", "I m a m", "P 4", "P 4_1", "P 4_2", "P 4_3", "I 4", "I 4_1", "P -4", "I -4", "P 4/m", "P 4_2/m", "P 4/n", "P 4/n", "P 4_2/n", "P 4_2/n", "I 4/m", "I 4_1/a", "I 4_1/a", "P 4 2 2", "P 4 2_1 2", "P 4_1 2 2", "P 4_1 2_1 2", "P 4_2 2 2", "P 4_2 2_1 2", "P 4_3 2 2", "P 4_3 2_1 2", "I 4 2 2", "I 4_1 2 2", "P 4 m m", "P 4 b m", "P 4_2 c m", "P 4_2 n m", "P 4 c c", "P 4 n c", "P 4_2 m c", "P 4_2 b c", "I 4 m m", "I 4 c m", "I 4_1 m d", "I 4_1 c d", "P -4 2 m", "P -4 2 c", "P -4 2_1 m", "P -4 2_1 c", "P -4 m 2", "P -4 c 2", "P -4 b 2", "P -4 n 2", "I -4 m 2", "I -4 c 2", "I -4 2 m", "I -4 2 d", "P 4/m m m", "P 4/m c c", "P 4/n b m", "P 4/n b m", "P 4/n n c", "P 4/n n c", "P 4/m b m", "P 4/m n c", "P 4/n m m", "P 4/n m m", "P 4/n c c", "P 4/n c c", "P 4_2/m m c", "P 4_2/m c m", "P 4_2/n b c", "P 4_2/n b c", "P 4_2/n n m", "P 4_2/n n m", "P 4_2/m b c", "P 4_2/m n m", "P 4_2/n m c", "P 4_2/n m c", "P 4_2/n c m", "P 4_2/n c m", "I 4/m m m", "I 4/m c m", "I 4_1/a m d", "I 4_1/a m d", "I 4_1/a c d", "I 4_1/a c d", "P 3", "P 3_1", "P 3_2", "R 3", "R 3", "P -3", "R -3", "R -3", "P 3 1 2", "P 3 2 1", "P 3_1 1 2", "P 3_1 2 1", "P 3_2 1 2", "P 3_2 2 1", "R 3 2", "R 3 2", "P 3 m 1", "P 3 1 m", "P 3 c 1", "P 3 1 c", "R 3 m", "R 3 m", "R 3 c", "R 3 c", "P -3 1 m", "P -3 1 c", "P -3 m 1", "P -3 c 1", "R -3 m", "R -3 m", "R -3 c", "R -3 c", "P 6", "P 6_1", "P 6_5", "P 6_2", "P 6_4", "P 6_3", "P -6", "P 6/m", "P 6_3/m", "P 6 2 2", "P 6_1 2 2", "P 6_5 2 2", "P 6_2 2 2", "P 6_4 2 2", "P 6_3 2 2", "P 6 m m", "P 6 c c", "P 6_3 c m", "P 6_3 m c", "P -6 m 2", "P -6 c 2", "P -6 2 m", "P -6 2 c", "P 6/m m m", "P 6/m c c", "P 6_3/m c m", "P 6_3/m m c", "P 2 3", "F 2 3", "I 2 3", "P 2_1 3", "I 2_1 3", "P m 3", "P n 3", "P n 3", "F m 3", "F d 3", "F d 3", "I m 3", "P a 3", "I a 3", "P 4 3 2", "P 4_2 3 2", "F 4 3 2", "F 4_1 3 2", "I 4 3 2", "P 4_3 3 2", "P 4_1 3 2", "I 4_1 3 2", "P -4 3 m", "F -4 3 m", "I -4 3 m", "P -4 3 n", "F -4 3 c", "I -4 3 d", "P m -3 m", "P n -3 n", "P n -3 n", "P m -3 n", "P n -3 m", "P n -3 m", "F m -3 m", "F m -3 c", "F d -3 m", "F d -3 m", "F d -3 c", "F d -3 c", "I m -3 m", "I a -3 d" }; const char* space_group_international_full[] = { "", "P 1", "P -1", "P 1 2 1", "P 1 1 2", "P 2 1 1", "P 1 2_1 1", "P 1 1 2_1", "P 2_1 1 1", "C 1 2 1", "A 1 2 1", "I 1 2 1", "A 1 1 2", "B 1 1 2", "I 1 1 2", "B 2 1 1", "C 2 1 1", "I 2 1 1", "P 1 m 1", "P 1 1 m", "P m 1 1", "P 1 c 1", "P 1 n 1", "P 1 a 1", "P 1 1 a", "P 1 1 n", "P 1 1 b", "P b 1 1", "P n 1 1", "P c 1 1", "C 1 m 1", "A 1 m 1", "I 1 m 1", "A 1 1 m", "B 1 1 m", "I 1 1 m", "B m 1 1", "C m 1 1", "I m 1 1", "C 1 c 1", "A 1 n 1", "I 1 a 1", "A 1 a 1", "C 1 n 1", "I 1 c 1", "A 1 1 a", "B 1 1 n", "I 1 1 b", "B 1 1 b", "A 1 1 n", "I 1 1 a", "B b 1 1", "C n 1 1", "I c 1 1", "C c 1 1", "B n 1 1", "I b 1 1", "P 1 2/m 1", "P 1 1 2/m", "P 2/m 1 1", "P 1 2_1/m 1", "P 1 1 2_1/m", "P 2_1/m 1 1", "C 1 2/m 1", "A 1 2/m 1", "I 1 2/m 1", "A 1 1 2/m", "B 1 1 2/m", "I 1 1 2/m", "B 2/m 1 1", "C 2/m 1 1", "I 2/m 1 1", "P 1 2/c 1", "P 1 2/n 1", "P 1 2/a 1", "P 1 1 2/a", "P 1 1 2/n", "P 1 1 2/b", "P 2/b 1 1", "P 2/n 1 1", "P 2/c 1 1", "P 1 2_1/c 1", "P 1 2_1/n 1", "P 1 2_1/a 1", "P 1 1 2_1/a", "P 1 1 2_1/n", "P 1 1 2_1/b", "P 2_1/b 1 1", "P 2_1/n 1 1", "P 2_1/c 1 1", "C 1 2/c 1", "A 1 2/n 1", "I 1 2/a 1", "A 1 2/a 1", "C 1 2/n 1", "I 1 2/c 1", "A 1 1 2/a", "B 1 1 2/n", "I 1 1 2/b", "B 1 1 2/b", "A 1 1 2/n", "I 1 1 2/a", "B 2/b 1 1", "C 2/n 1 1", "I 2/c 1 1", "C 2/c 1 1", "B 2/n 1 1", "I 2/b 1 1", "P 2 2 2", "P 2 2 2_1", "P 2_1 2 2", "P 2 2_1 2", "P 2_1 2_1 2", "P 2 2_1 2_1", "P 2_1 2 2_1", "P 2_1 2_1 2_1", "C 2 2 2_1", "A 2_1 2 2", "B 2 2_1 2", "C 2 2 2", "A 2 2 2", "B 2 2 2", "F 2 2 2", "I 2 2 2", "I 2_1 2_1 2_1", "P m m 2", "P 2 m m", "P m 2 m", "P m c 2_1", "P c m 2_1", "P 2_1 m a", "P 2_1 a m", "P b 2_1 m", "P m 2_1 b", "P c c 2", "P 2 a a", "P b 2 b", "P m a 2", "P b m 2", "P 2 m b", "P 2 c m", "P c 2 m", "P m 2 a", "P c a 2_1", "P b c 2_1", "P 2_1 a b", "P 2_1 c a", "P c 2_1 b", "P b 2_1 a", "P n c 2", "P c n 2", "P 2 n a", "P 2 a n", "P b 2 n", "P n 2 b", "P m n 2_1", "P n m 2_1", "P 2_1 m n", "P 2_1 n m", "P n 2_1 m", "P m 2_1 n", "P b a 2", "P 2 c b", "P c 2 a", "P n a 2_1", "P b n 2_1", "P 2_1 n b", "P 2_1 c n", "P c 2_1 n", "P n 2_1 a", "P n n 2", "P 2 n n", "P n 2 n", "C m m 2", "A 2 m m", "B m 2 m", "C m c 2_1", "C c m 2_1", "A 2_1 m a", "A 2_1 a m", "B b 2_1 m", "B m 2_1 b", "C c c 2", "A 2 a a", "B b 2 b", "A m m 2", "B m m 2", "B 2 m m", "C 2 m m", "C m 2 m", "A m 2 m", "A e m 2", "B m e 2", "B 2 e m", "C 2 m e", "C m 2 e", "A e 2 m", "A m a 2", "B b m 2", "B 2 m b", "C 2 c m", "C c 2 m", "A m 2 a", "A e a 2", "B b e 2", "B 2 e b", "C 2 c e", "C c 2 e", "A e 2 a", "F m m 2", "F 2 m m", "F m 2 m", "F d d 2", "F 2 d d", "F d 2 d", "I m m 2", "I 2 m m", "I m 2 m", "I b a 2", "I 2 c b", "I c 2 a", "I m a 2", "I b m 2", "I 2 m b", "I 2 c m", "I c 2 m", "I m 2 a", "P 2/m 2/m 2/m", "P 2/n 2/n 2/n", "P 2/n 2/n 2/n", "P 2/c 2/c 2/m", "P 2/m 2/a 2/a", "P 2/b 2/m 2/b", "P 2/b 2/a 2/n", "P 2/b 2/a 2/n", "P 2/n 2/c 2/b", "P 2/n 2/c 2/b", "P 2/c 2/n 2/a", "P 2/c 2/n 2/a", "P 2_1/m 2/m 2/a", "P 2/m 2_1/m 2/b", "P 2/b 2_1/m 2/m", "P 2/c 2/m 2_1/m", "P 2/m 2/c 2_1/m", "P 2_1/m 2/a 2/m", "P 2/n 2_1/n 2/a", "P 2_1/n 2/n 2/b", "P 2/b 2/n 2_1/n", "P 2/c 2_1/n 2/n", "P 2_1/n 2/c 2/n", "P 2/n 2/a 2_1/n", "P 2/m 2/n 2_1/a", "P 2/n 2/m 2_1/b", "P 2_1/b 2/m 2/n", "P 2_1/c 2/n 2/m", "P 2/n 2_1/c 2/m", "P 2/m 2_1/a 2/n", "P 2_1/c 2/c 2/a", "P 2/c 2_1/c 2/b", "P 2/b 2_1/a 2/a", "P 2/c 2/a 2_1/a", "P 2/b 2/c 2_1/b", "P 2_1/b 2/a 2/b", "P 2_1/b 2_1/a 2/m", "P 2/m 2_1/c 2_1/b", "P 2_1/c 2/m 2_1/a", "P 2_1/c 2_1/c 2/n", "P 2/n 2_1/a 2_1/a", "P 2_1/b 2/n 2_1/b", "P 2/b 2_1/c 2_1/m", "P 2_1/c 2/a 2_1/m", "P 2_1/m 2/c 2_1/a", "P 2_1/m 2_1/a 2/b", "P 2_1/b 2_1/m 2/a", "P 2/c 2_1/m 2_1/b", "P 2_1/n 2_1/n 2/m", "P 2/m 2_1/n 2_1/n", "P 2_1/n 2/m 2_1/n", "P 2_1/m 2_1/m 2/n", "P 2_1/m 2_1/m 2/n", "P 2/n 2_1/m 2_1/m", "P 2/n 2_1/m 2_1/m", "P 2_1/m 2/n 2_1/m", "P 2_1/m 2/n 2_1/m", "P 2_1/b 2/c 2_1/n", "P 2/c 2_1/a 2_1/n", "P 2_1/n 2_1/c 2/a", "P 2_1/n 2/a 2_1/b", "P 2/b 2_1/n 2_1/a", "P 2_1/c 2_1/n 2/b", "P 2_1/b 2_1/c 2_1/a", "P 2_1/c 2_1/a 2_1/b", "P 2_1/n 2_1/m 2_1/a", "P 2_1/m 2_1/n 2_1/b", "P 2_1/b 2_1/n 2_1/m", "P 2_1/c 2_1/m 2_1/n", "P 2_1/m 2_1/c 2_1/n", "P 2_1/n 2_1/a 2_1/m", "C 2/m 2/c 2_1/m", "C 2/c 2/m 2_1/m", "A 2_1/m 2/m 2/a", "A 2_1/m 2/a 2/m", "B 2/b 2_1/m 2/m", "B 2/m 2_1/m 2/b", "C 2/m 2/c 2_1/e", "C 2/c 2/m 2_1/e", "A 2_1/e 2/m 2/a", "A 2_1/e 2/a 2/m", "B 2/b 2_1/e 2/m", "B 2/m 2_1/e 2/b", "C 2/m 2/m 2/m", "A 2/m 2/m 2/m", "B 2/m 2/m 2/m", "C 2/c 2/c 2/m", "A 2/m 2/a 2/a", "B 2/b 2/m 2/b", "C 2/m 2/m 2/e", "C 2/m 2/m 2/e", "A 2/e 2/m 2/m", "A 2/e 2/m 2/m", "B 2/m 2/e 2/m", "B 2/m 2/e 2/m", "C 2/c 2/c 2/e", "C 2/c 2/c 2/e", "C 2/c 2/c 2/e", "C 2/c 2/c 2/e", "A 2/e 2/a 2/a", "A 2/e 2/a 2/a", "A 2/e 2/a 2/a", "A 2/e 2/a 2/a", "B 2/b 2/e 2/b", "B 2/b 2/e 2/b", "B 2/b 2/e 2/b", "B 2/b 2/e 2/b", "F 2/m 2/m 2/m", "F 2/d 2/d 2/d", "F 2/d 2/d 2/d", "I 2/m 2/m 2/m", "I 2/b 2/a 2/m", "I 2/m 2/c 2/b", "I 2/c 2/m 2/a", "I 2/b 2/c 2/a", "I 2/c 2/a 2/b", "I 2/m 2/m 2/a", "I 2/m 2/m 2/b", "I 2/b 2/m 2/m", "I 2/c 2/m 2/m", "I 2/m 2/c 2/m", "I 2/m 2/a 2/m", "P 4", "P 4_1", "P 4_2", "P 4_3", "I 4", "I 4_1", "P -4", "I -4", "P 4/m", "P 4_2/m", "P 4/n", "P 4/n", "P 4_2/n", "P 4_2/n", "I 4/m", "I 4_1/a", "I 4_1/a", "P 4 2 2", "P 4 2_1 2", "P 4_1 2 2", "P 4_1 2_1 2", "P 4_2 2 2", "P 4_2 2_1 2", "P 4_3 2 2", "P 4_3 2_1 2", "I 4 2 2", "I 4_1 2 2", "P 4 m m", "P 4 b m", "P 4_2 c m", "P 4_2 n m", "P 4 c c", "P 4 n c", "P 4_2 m c", "P 4_2 b c", "I 4 m m", "I 4 c m", "I 4_1 m d", "I 4_1 c d", "P -4 2 m", "P -4 2 c", "P -4 2_1 m", "P -4 2_1 c", "P -4 m 2", "P -4 c 2", "P -4 b 2", "P -4 n 2", "I -4 m 2", "I -4 c 2", "I -4 2 m", "I -4 2 d", "P 4/m 2/m 2/m", "P 4/m 2/c 2/c", "P 4/n 2/b 2/m", "P 4/n 2/b 2/m", "P 4/n 2/n 2/c", "P 4/n 2/n 2/c", "P 4/m 2_1/b m", "P 4/m 2_1/n c", "P 4/n 2_1/m m", "P 4/n 2_1/m m", "P 4/n 2_1/c c", "P 4/n 2_1/c c", "P 4_2/m 2/m 2/c", "P 4_2/m 2/c 2/m", "P 4_2/n 2/b 2/c", "P 4_2/n 2/b 2/c", "P 4_2/n 2/n 2/m", "P 4_2/n 2/n 2/m", "P 4_2/m 2_1/b 2/c", "P 4_2/m 2_1/n 2/m", "P 4_2/n 2_1/m 2/c", "P 4_2/n 2_1/m 2/c", "P 4_2/n 2_1/c 2/m", "P 4_2/n 2_1/c 2/m", "I 4/m 2/m 2/m", "I 4/m 2/c 2/m", "I 4_1/a 2/m 2/d", "I 4_1/a 2/m 2/d", "I 4_1/a 2/c 2/d", "I 4_1/a 2/c 2/d", "P 3", "P 3_1", "P 3_2", "R 3", "R 3", "P -3", "R -3", "R -3", "P 3 1 2", "P 3 2 1", "P 3_1 1 2", "P 3_1 2 1", "P 3_2 1 2", "P 3_2 2 1", "R 3 2", "R 3 2", "P 3 m 1", "P 3 1 m", "P 3 c 1", "P 3 1 c", "R 3 m", "R 3 m", "R 3 c", "R 3 c", "P -3 1 2/m", "P -3 1 2/c", "P -3 2/m 1", "P -3 2/c 1", "R -3 2/m", "R -3 2/m", "R -3 2/c", "R -3 2/c", "P 6", "P 6_1", "P 6_5", "P 6_2", "P 6_4", "P 6_3", "P -6", "P 6/m", "P 6_3/m", "P 6 2 2", "P 6_1 2 2", "P 6_5 2 2", "P 6_2 2 2", "P 6_4 2 2", "P 6_3 2 2", "P 6 m m", "P 6 c c", "P 6_3 c m", "P 6_3 m c", "P -6 m 2", "P -6 c 2", "P -6 2 m", "P -6 2 c", "P 6/m 2/m 2/m", "P 6/m 2/c 2/c", "P 6_3/m 2/c 2/m", "P 6_3/m 2/m 2/c", "P 2 3", "F 2 3", "I 2 3", "P 2_1 3", "I 2_1 3", "P 2/m -3", "P 2/n -3", "P 2/n -3", "F 2/m -3", "F 2/d -3", "F 2/d -3", "I 2/m -3", "P 2_1/a -3", "I 2_1/a -3", "P 4 3 2", "P 4_2 3 2", "F 4 3 2", "F 4_1 3 2", "I 4 3 2", "P 4_3 3 2", "P 4_1 3 2", "I 4_1 3 2", "P -4 3 m", "F -4 3 m", "I -4 3 m", "P -4 3 n", "F -4 3 c", "I -4 3 d", "P 4/m -3 2/m", "P 4/n -3 2/n", "P 4/n -3 2/n", "P 4_2/m -3 2/n", "P 4_2/n -3 2/m", "P 4_2/n -3 2/m", "F 4/m -3 2/m", "F 4/m -3 2/c", "F 4_1/d -3 2/m", "F 4_1/d -3 2/m", "F 4_1/d -3 2/c", "F 4_1/d -3 2/c", "I 4/m -3 2/m", "I 4_1/a -3 2/d" }; const char* space_group_international_short[] = { "", "P1", "P-1", "P2", "P2", "P2", "P2_1", "P2_1", "P2_1", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "Pm", "Pm", "Pm", "Pc", "Pc", "Pc", "Pc", "Pc", "Pc", "Pc", "Pc", "Pc", "Cm", "Cm", "Cm", "Cm", "Cm", "Cm", "Cm", "Cm", "Cm", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "Cc", "P2/m", "P2/m", "P2/m", "P2_1/m", "P2_1/m", "P2_1/m", "C2/m", "C2/m", "C2/m", "C2/m", "C2/m", "C2/m", "C2/m", "C2/m", "C2/m", "P2/c", "P2/c", "P2/c", "P2/c", "P2/c", "P2/c", "P2/c", "P2/c", "P2/c", "P2_1/c", "P2_1/c", "P2_1/c", "P2_1/c", "P2_1/c", "P2_1/c", "P2_1/c", "P2_1/c", "P2_1/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "C2/c", "P222", "P222_1", "P2_122", "P22_12", "P2_12_12", "P22_12_1", "P2_122_1", "P2_12_12_1", "C222_1", "A2_122", "B22_12", "C222", "A222", "B222", "F222", "I222", "I2_12_12_1", "Pmm2", "P2mm", "Pm2m", "Pmc2_1", "Pcm2_1", "P2_1ma", "P2_1am", "Pb2_1m", "Pm2_1b", "Pcc2", "P2aa", "Pb2b", "Pma2", "Pbm2", "P2mb", "P2cm", "Pc2m", "Pm2a", "Pca2_1", "Pbc2_1", "P2_1ab", "P2_1ca", "Pc2_1b", "Pb2_1a", "Pnc2", "Pcn2", "P2na", "P2an", "Pb2n", "Pn2b", "Pmn2_1", "Pnm2_1", "P2_1mn", "P2_1nm", "Pn2_1m", "Pm2_1n", "Pba2", "P2cb", "Pc2a", "Pna2_1", "Pbn2_1", "P2_1nb", "P2_1cn", "Pc2_1n", "Pn2_1a", "Pnn2", "P2nn", "Pn2n", "Cmm2", "A2mm", "Bm2m", "Cmc2_1", "Ccm2_1", "A2_1ma", "A2_1am", "Bb2_1m", "Bm2_1b", "Ccc2", "A2aa", "Bb2b", "Amm2", "Bmm2", "B2mm", "C2mm", "Cm2m", "Am2m", "Aem2", "Bme2", "B2em", "C2me", "Cm2e", "Ae2m", "Ama2", "Bbm2", "B2mb", "C2cm", "Cc2m", "Am2a", "Aea2", "Bbe2", "B2eb", "C2ce", "Cc2e", "Ae2a", "Fmm2", "F2mm", "Fm2m", "Fdd2", "F2dd", "Fd2d", "Imm2", "I2mm", "Im2m", "Iba2", "I2cb", "Ic2a", "Ima2", "Ibm2", "I2mb", "I2cm", "Ic2m", "Im2a", "Pmmm", "Pnnn", "Pnnn", "Pccm", "Pmaa", "Pbmb", "Pban", "Pban", "Pncb", "Pncb", "Pcna", "Pcna", "Pmma", "Pmmb", "Pbmm", "Pcmm", "Pmcm", "Pmam", "Pnna", "Pnnb", "Pbnn", "Pcnn", "Pncn", "Pnan", "Pmna", "Pnmb", "Pbmn", "Pcnm", "Pncm", "Pman", "Pcca", "Pccb", "Pbaa", "Pcaa", "Pbcb", "Pbab", "Pbam", "Pmcb", "Pcma", "Pccn", "Pnaa", "Pbnb", "Pbcm", "Pcam", "Pmca", "Pmab", "Pbma", "Pcmb", "Pnnm", "Pmnn", "Pnmn", "Pmmn", "Pmmn", "Pnmm", "Pnmm", "Pmnm", "Pmnm", "Pbcn", "Pcan", "Pnca", "Pnab", "Pbna", "Pcnb", "Pbca", "Pcab", "Pnma", "Pmnb", "Pbnm", "Pcmn", "Pmcn", "Pnam", "Cmcm", "Ccmm", "Amma", "Amam", "Bbmm", "Bmmb", "Cmce", "Ccme", "Aema", "Aeam", "Bbem", "Bmeb", "Cmmm", "Ammm", "Bmmm", "Cccm", "Amaa", "Bbmb", "Cmme", "Cmme", "Aemm", "Aemm", "Bmem", "Bmem", "Ccce", "Ccce", "Ccce", "Ccce", "Aeaa", "Aeaa", "Aeaa", "Aeaa", "Bbeb", "Bbcb", "Bbeb", "Bbeb", "Fmmm", "Fddd", "Fddd", "Immm", "Ibam", "Imcb", "Icma", "Ibca", "Icab", "Imma", "Immb", "Ibmm", "Icmm", "Imcm", "Imam", "P4", "P4_1", "P4_2", "P4_3", "I4", "I4_1", "P-4", "I-4", "P4/m", "P4_2/m", "P4/n", "P4/n", "P4_2/n", "P4_2/n", "I4/m", "I4_1/a", "I4_1/a", "P422", "P42_12", "P4_122", "P4_12_12", "P4_222", "P4_22_12", "P4_322", "P4_32_12", "I422", "I4_122", "P4mm", "P4bm", "P4_2cm", "P4_2nm", "P4cc", "P4nc", "P4_2mc", "P4_2bc", "I4mm", "I4cm", "I4_1md", "I4_1cd", "P-42m", "P-42c", "P-42_1m", "P-42_1c", "P-4m2", "P-4c2", "P-4b2", "P-4n2", "I-4m2", "I-4c2", "I-42m", "I-42d", "P4/mmm", "P4/mcc", "P4/nbm", "P4/nbm", "P4/nnc", "P4/nnc", "P4/mbm", "P4/mnc", "P4/nmm", "P4/nmm", "P4/ncc", "P4/ncc", "P4_2/mmc", "P4_2/mcm", "P4_2/nbc", "P4_2/nbc", "P4_2/nnm", "P4_2/nnm", "P4_2/mbc", "P4_2/mnm", "P4_2/nmc", "P4_2/nmc", "P4_2/ncm", "P4_2/ncm", "I4/mmm", "I4/mcm", "I4_1/amd", "I4_1/amd", "I4_1/acd", "I4_1/acd", "P3", "P3_1", "P3_2", "R3", "R3", "P-3", "R-3", "R-3", "P312", "P321", "P3_112", "P3_121", "P3_212", "P3_221", "R32", "R32", "P3m1", "P31m", "P3c1", "P31c", "R3m", "R3m", "R3c", "R3c", "P-31m", "P-31c", "P-3m1", "P-3c1", "R-3m", "R-3m", "R-3c", "R-3c", "P6", "P6_1", "P6_5", "P6_2", "P6_4", "P6_3", "P-6", "P6/m", "P6_3/m", "P622", "P6_122", "P6_522", "P6_222", "P6_422", "P6_322", "P6mm", "P6cc", "P6_3cm", "P6_3mc", "P-6m2", "P-6c2", "P-62m", "P-62c", "P6/mmm", "P6/mcc", "P6_3/mcm", "P6_3/mmc", "P23", "F23", "I23", "P2_13", "I2_13", "Pm3", "Pn3", "Pn3", "Fm3", "Fd3", "Fd3", "Im3", "Pa3", "Ia3", "P432", "P4_232", "F432", "F4_132", "I432", "P4_332", "P4_132", "I4_132", "P-43m", "F-43m", "I-43m", "P-43n", "F-43c", "I-43d", "Pm-3m", "Pn-3n", "Pn-3n", "Pm-3n", "Pn-3m", "Pn-3m", "Fm-3m", "Fm-3c", "Fd-3m", "Fd-3m", "Fd-3c", "Fd-3c", "Im-3m", "Ia-3d" }; const char* space_group_setting[] = { "", "", "", "b", "c", "a", "b", "c", "a", "b1", "b2", "b3", "c1", "c2", "c3", "a1", "a2", "a3", "b", "c", "a", "b1", "b2", "b3", "c1", "c2", "c3", "a1", "a2", "a3", "b1", "b2", "b3", "c1", "c2", "c3", "a1", "a2", "a3", "b1", "b2", "b3", "-b1", "-b2", "-b3", "c1", "c2", "c3", "-c1", "-c2", "-c3", "a1", "a2", "a3", "-a1", "-a2", "-a3", "b", "c", "a", "b", "c", "a", "b1", "b2", "b3", "c1", "c2", "c3", "a1", "a2", "a3", "b1", "b2", "b3", "c1", "c2", "c3", "a1", "a2", "a3", "b1", "b2", "b3", "c1", "c2", "c3", "a1", "a2", "a3", "b1", "b2", "b3", "-b1", "-b2", "-b3", "c1", "c2", "c3", "-c1", "-c2", "-c3", "a1", "a2", "a3", "-a1", "-a2", "-a3", "", "", "cab", "bca", "", "cab", "bca", "", "", "cab", "bca", "", "cab", "bca", "", "", "", "", "cab", "bca", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "cab", "bca", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "cab", "bca", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "cab", "bca", "", "cab", "bca", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "cab", "bca", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "cab", "bca", "", "cab", "bca", "", "cab", "bca", "", "cab", "bca", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "1", "2", "", "cab", "bca", "1", "2", "1cab", "2cab", "1bca", "2bca", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "cab", "bca", "", "cab", "bca", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "cab", "bca", "1", "2", "1cab", "2cab", "1bca", "2bca", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "cab", "bca", "", "cab", "bca", "", "ba-c", "cab", "-cba", "bca", "a-cb", "1", "2", "1ba-c", "2ba-c", "1cab", "2cab", "1-cba", "2-cba", "1bca", "2bca", "1a-cb", "2a-cb", "", "1", "2", "", "", "cab", "bca", "", "ba-c", "", "ba-c", "cab", "-cba", "bca", "a-cb", "", "", "", "", "", "", "", "", "", "", "1", "2", "1", "2", "", "1", "2", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1", "2", "1", "2", "", "", "1", "2", "1", "2", "", "", "1", "2", "1", "2", "", "", "1", "2", "1", "2", "", "", "1", "2", "1", "2", "", "", "", "H", "R", "", "H", "R", "", "", "", "", "", "", "H", "R", "", "", "", "", "H", "R", "H", "R", "", "", "", "", "H", "R", "H", "R", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1", "2", "", "1", "2", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1", "2", "", "1", "2", "", "", "1", "2", "1", "2", "", "" }; const char* space_group_transforms[] = { "", "x,y,z", "x,y,z -x,-y,-z", "x,y,z -x,y,-z", "x,y,z -x,-y,z", "x,y,z x,-y,-z", "x,y,z -x,1/2+y,-z", "x,y,z -x,-y,1/2+z", "x,y,z 1/2+x,-y,-z", "x,y,z -x,y,-z 1/2+x,1/2+y,z 1/2-x,1/2+y,-z", "x,y,z -x,y,-z x,1/2+y,1/2+z -x,1/2+y,1/2-z", "x,y,z -x,y,-z 1/2+x,1/2+y,1/2+z 1/2-x,1/2+y,1/2-z", "x,y,z -x,-y,z x,1/2+y,1/2+z -x,1/2-y,1/2+z", "x,y,z -x,-y,z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z", "x,y,z -x,-y,z 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z", "x,y,z x,-y,-z 1/2+x,y,1/2+z 1/2+x,-y,1/2-z", "x,y,z x,-y,-z 1/2+x,1/2+y,z 1/2+x,1/2-y,-z", "x,y,z x,-y,-z 1/2+x,1/2+y,1/2+z 1/2+x,1/2-y,1/2-z", "x,y,z x,-y,z", "x,y,z x,y,-z", "x,y,z -x,y,z", "x,y,z x,-y,1/2+z", "x,y,z 1/2+x,-y,1/2+z", "x,y,z 1/2+x,-y,z", "x,y,z 1/2+x,y,-z", "x,y,z 1/2+x,1/2+y,-z", "x,y,z x,1/2+y,-z", "x,y,z -x,1/2+y,z", "x,y,z -x,1/2+y,1/2+z", "x,y,z -x,y,1/2+z", "x,y,z x,-y,z 1/2+x,1/2+y,z 1/2+x,1/2-y,z", "x,y,z x,-y,z x,1/2+y,1/2+z x,1/2-y,1/2+z", "x,y,z x,-y,z 1/2+x,1/2+y,1/2+z 1/2+x,1/2-y,1/2+z", "x,y,z x,y,-z x,1/2+y,1/2+z x,1/2+y,1/2-z", "x,y,z x,y,-z 1/2+x,y,1/2+z 1/2+x,y,1/2-z", "x,y,z x,y,-z 1/2+x,1/2+y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z -x,y,z 1/2+x,y,1/2+z 1/2-x,y,1/2+z", "x,y,z -x,y,z 1/2+x,1/2+y,z 1/2-x,1/2+y,z", "x,y,z -x,y,z 1/2+x,1/2+y,1/2+z 1/2-x,1/2+y,1/2+z", "x,y,z x,-y,1/2+z 1/2+x,1/2+y,z 1/2+x,1/2-y,1/2+z", "x,y,z 1/2+x,-y,1/2+z x,1/2+y,1/2+z 1/2+x,1/2-y,z", "x,y,z 1/2+x,-y,z 1/2+x,1/2+y,1/2+z x,1/2-y,1/2+z", "x,y,z 1/2+x,-y,z x,1/2+y,1/2+z 1/2+x,1/2-y,1/2+z", "x,y,z 1/2+x,-y,1/2+z 1/2+x,1/2+y,z x,1/2-y,1/2+z", "x,y,z x,-y,1/2+z 1/2+x,1/2+y,1/2+z 1/2+x,1/2-y,z", "x,y,z 1/2+x,y,-z x,1/2+y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z x,1/2+y,1/2-z 1/2+x,y,1/2+z 1/2+x,1/2+y,-z", "x,y,z x,1/2+y,-z 1/2+x,1/2+y,1/2+z 1/2+x,y,1/2-z", "x,y,z x,1/2+y,-z 1/2+x,y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z 1/2+x,1/2+y,-z x,1/2+y,1/2+z 1/2+x,y,1/2-z", "x,y,z 1/2+x,y,-z 1/2+x,1/2+y,1/2+z x,1/2+y,1/2-z", "x,y,z -x,1/2+y,z 1/2+x,y,1/2+z 1/2-x,1/2+y,1/2+z", "x,y,z -x,1/2+y,1/2+z 1/2+x,1/2+y,z 1/2-x,y,1/2+z", "x,y,z -x,y,1/2+z 1/2+x,1/2+y,1/2+z 1/2-x,1/2+y,z", "x,y,z -x,y,1/2+z 1/2+x,1/2+y,z 1/2-x,1/2+y,1/2+z", "x,y,z -x,1/2+y,1/2+z 1/2+x,y,1/2+z 1/2-x,1/2+y,z", "x,y,z -x,1/2+y,z 1/2+x,1/2+y,1/2+z 1/2-x,y,1/2+z", "x,y,z -x,y,-z -x,-y,-z x,-y,z", "x,y,z -x,-y,z -x,-y,-z x,y,-z", "x,y,z x,-y,-z -x,-y,-z -x,y,z", "x,y,z -x,1/2+y,-z -x,-y,-z x,1/2-y,z", "x,y,z -x,-y,1/2+z -x,-y,-z x,y,1/2-z", "x,y,z 1/2+x,-y,-z -x,-y,-z 1/2-x,y,z", "x,y,z -x,y,-z -x,-y,-z x,-y,z " "1/2+x,1/2+y,z 1/2-x,1/2+y,-z " "1/2-x,1/2-y,-z 1/2+x,1/2-y,z", "x,y,z -x,y,-z -x,-y,-z x,-y,z x,1/2+y,1/2+z -x,1/2+y,1/2-z -x,1/2-y,1/2-z " "x,1/2-y,1/2+z", "x,y,z -x,y,-z -x,-y,-z x,-y,z 1/2+x,1/2+y,1/2+z 1/2+x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2-z 1/2-x,1/2-y,1/2-z", "x,y,z -x,-y,z -x,-y,-z x,y,-z x,1/2+y,1/2+z -x,1/2-y,1/2+z -x,1/2-y,1/2-z " "x,1/2+y,1/2-z", "x,y,z -x,-y,z -x,-y,-z x,y,-z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2-x,-y,1/2-z " "1/2+x,y,1/2-z", "x,y,z -x,-y,z -x,-y,-z x,y,-z 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z", "x,y,z x,-y,-z -x,-y,-z -x,y,z 1/2+x,y,1/2+z 1/2+x,-y,1/2-z 1/2-x,-y,1/2-z " "1/2-x,y,1/2+z", "x,y,z x,-y,-z -x,-y,-z -x,y,z 1/2+x,1/2+y,z 1/2+x,1/2-y,-z 1/2-x,1/2-y,-z " "1/2-x,1/2+y,z", "x,y,z x,-y,-z -x,-y,-z -x,y,z 1/2+x,1/2+y,1/2+z 1/2+x,1/2-y,1/2-z " "1/2-x,1/2-y,1/2-z 1/2-x,1/2+y,1/2+z", "x,y,z -x,y,1/2-z -x,-y,-z x,-y,1/2+z", "x,y,z 1/2-x,y,1/2-z -x,-y,-z 1/2+x,-y,1/2+z", "x,y,z 1/2-x,y,-z -x,-y,-z 1/2+x,-y,z", "x,y,z 1/2-x,-y,z -x,-y,-z 1/2+x,y,-z", "x,y,z 1/2-x,1/2-y,z -x,-y,-z 1/2+x,1/2+y,-z", "x,y,z -x,1/2-y,z -x,-y,-z x,1/2+y,-z", "x,y,z x,1/2-y,-z -x,-y,-z -x,1/2+y,z", "x,y,z x,1/2-y,1/2-z -x,-y,-z -x,1/2+y,1/2+z", "x,y,z x,-y,1/2-z -x,-y,-z -x,y,1/2+z", "x,y,z -x,1/2+y,1/2-z -x,-y,-z x,1/2-y,1/2+z", "x,y,z 1/2-x,1/2+y,1/2-z -x,-y,-z 1/2+x,1/2-y,1/2+z", "x,y,z 1/2-x,1/2+y,-z -x,-y,-z 1/2+x,1/2-y,z", "x,y,z 1/2-x,-y,1/2+z -x,-y,-z 1/2+x,y,1/2-z", "x,y,z 1/2-x,1/2-y,1/2+z -x,-y,-z 1/2+x,1/2+y,1/2-z", "x,y,z -x,1/2-y,1/2+z -x,-y,-z x,1/2+y,1/2-z", "x,y,z 1/2+x,1/2-y,-z -x,-y,-z 1/2-x,1/2+y,z", "x,y,z 1/2+x,1/2-y,1/2-z -x,-y,-z 1/2-x,1/2+y,1/2+z", "x,y,z 1/2+x,-y,1/2-z -x,-y,-z 1/2-x,y,1/2+z", "x,y,z -x,y,1/2-z -x,-y,-z x,-y,1/2+z 1/2+x,1/2+y,z 1/2-x,1/2+y,1/2-z " "1/2-x,1/2-y,-z 1/2+x,1/2-y,1/2+z", "x,y,z 1/2-x,y,1/2-z -x,-y,-z 1/2+x,-y,1/2+z x,1/2+y,1/2+z 1/2-x,1/2+y,-z " "-x,1/2-y,1/2-z 1/2+x,1/2-y,z", "x,y,z 1/2-x,y,-z -x,-y,-z 1/2+x,-y,z 1/2+x,1/2+y,1/2+z -x,1/2+y,1/2-z " "1/2-x,1/2-y,1/2-z x,1/2-y,1/2+z", "x,y,z 1/2-x,y,-z -x,-y,-z 1/2+x,-y,z x,1/2+y,1/2+z 1/2-x,1/2+y,1/2-z " "-x,1/2-y,1/2-z 1/2+x,1/2-y,1/2+z", "x,y,z 1/2-x,y,1/2-z -x,-y,-z 1/2+x,-y,1/2+z 1/2+x,1/2+y,z -x,1/2+y,1/2-z " "1/2-x,1/2-y,-z x,1/2-y,1/2+z", "x,y,z -x,y,1/2-z -x,-y,-z x,-y,1/2+z 1/2+x,1/2+y,1/2+z 1/2-x,1/2+y,-z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2-y,z", "x,y,z 1/2-x,-y,z -x,-y,-z 1/2+x,y,-z x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z", "x,y,z 1/2-x,1/2-y,z -x,-y,-z 1/2+x,1/2+y,-z 1/2+x,y,1/2+z -x,1/2-y,1/2+z " "1/2-x,-y,1/2-z x,1/2+y,1/2-z", "x,y,z -x,1/2-y,z -x,-y,-z x,1/2+y,-z 1/2+x,1/2+y,1/2+z 1/2-x,-y,1/2+z " "1/2-x,1/2-y,1/2-z 1/2+x,y,1/2-z", "x,y,z -x,1/2-y,z -x,-y,-z x,1/2+y,-z 1/2+x,y,1/2+z 1/2-x,1/2-y,1/2+z " "1/2-x,-y,1/2-z 1/2+x,1/2+y,1/2-z", "x,y,z 1/2-x,1/2-y,z -x,-y,-z 1/2+x,1/2+y,-z x,1/2+y,1/2+z 1/2-x,-y,1/2+z " "-x,1/2-y,1/2-z 1/2+x,y,1/2-z", "x,y,z 1/2-x,-y,z -x,-y,-z 1/2+x,y,-z 1/2+x,1/2+y,1/2+z -x,1/2-y,1/2+z " "1/2-x,1/2-y,1/2-z x,1/2+y,1/2-z", "x,y,z x,1/2-y,-z -x,-y,-z -x,1/2+y,z 1/2+x,y,1/2+z 1/2+x,1/2-y,1/2-z " "1/2-x,-y,1/2-z 1/2-x,1/2+y,1/2+z", "x,y,z x,1/2-y,1/2-z -x,-y,-z -x,1/2+y,1/2+z 1/2+x,1/2+y,z 1/2+x,-y,1/2-z " "1/2-x,1/2-y,-z 1/2-x,y,1/2+z", "x,y,z x,-y,1/2-z -x,-y,-z -x,y,1/2+z 1/2+x,1/2+y,1/2+z 1/2+x,1/2-y,-z " "1/2-x,1/2-y,1/2-z 1/2-x,1/2+y,z", "x,y,z x,-y,1/2-z -x,-y,-z -x,y,1/2+z 1/2+x,1/2+y,z 1/2+x,1/2-y,1/2-z " "1/2-x,1/2-y,-z 1/2-x,1/2+y,1/2+z", "x,y,z x,1/2-y,1/2-z -x,-y,-z -x,1/2+y,1/2+z 1/2+x,y,1/2+z 1/2+x,1/2-y,-z " "1/2-x,-y,1/2-z 1/2-x,1/2+y,z", "x,y,z x,1/2-y,-z -x,-y,-z -x,1/2+y,z 1/2+x,1/2+y,1/2+z 1/2+x,-y,1/2-z " "1/2-x,1/2-y,1/2-z 1/2-x,y,1/2+z", "x,y,z -x,-y,z -x,y,-z x,-y,-z", "x,y,z -x,-y,1/2+z -x,y,1/2-z x,-y,-z", "x,y,z 1/2+x,-y,-z 1/2-x,-y,z -x,y,-z", "x,y,z -x,1/2+y,-z x,1/2-y,-z -x,-y,z", "x,y,z -x,-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z", "x,y,z x,-y,-z -x,1/2-y,1/2+z -x,1/2+y,1/2-z", "x,y,z -x,y,-z 1/2+x,-y,1/2-z 1/2-x,-y,1/2+z", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z", "x,y,z -x,-y,1/2+z -x,y,1/2-z x,-y,-z 1/2+x,1/2+y,z 1/2-x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,-z", "x,y,z 1/2+x,-y,-z 1/2-x,-y,z -x,y,-z x,1/2+y,1/2+z 1/2+x,1/2-y,1/2-z " "1/2-x,1/2-y,1/2+z -x,1/2+y,1/2-z", "x,y,z -x,1/2+y,-z x,1/2-y,-z -x,-y,z 1/2+x,y,1/2+z 1/2-x,1/2+y,1/2-z " "1/2+x,1/2-y,1/2-z 1/2-x,-y,1/2+z", "x,y,z -x,-y,z -x,y,-z x,-y,-z 1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z " "1/2+x,1/2-y,-z", "x,y,z x,-y,-z -x,-y,z -x,y,-z x,1/2+y,1/2+z x,1/2-y,1/2-z -x,1/2-y,1/2+z " "-x,1/2+y,1/2-z", "x,y,z -x,y,-z x,-y,-z -x,-y,z 1/2+x,y,1/2+z 1/2-x,y,1/2-z 1/2+x,-y,1/2-z " "1/2-x,-y,1/2+z", "x,y,z -x,-y,z -x,y,-z x,-y,-z x,1/2+y,1/2+z -x,1/2-y,1/2+z -x,1/2+y,1/2-z " "x,1/2-y,1/2-z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2-x,y,1/2-z 1/2+x,-y,1/2-z " "1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z", "x,y,z -x,-y,z -x,y,-z x,-y,-z 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z 1/2+x,1/2+y,1/2+z " "-x,1/2-y,z 1/2-x,y,-z x,-y,1/2-z", "x,y,z -x,-y,z x,-y,z -x,y,z", "x,y,z x,-y,-z x,y,-z x,-y,z", "x,y,z -x,y,-z -x,y,z x,y,-z", "x,y,z -x,-y,1/2+z x,-y,1/2+z -x,y,z", "x,y,z -x,-y,1/2+z -x,y,1/2+z x,-y,z", "x,y,z 1/2+x,-y,-z 1/2+x,y,-z x,-y,z", "x,y,z 1/2+x,-y,-z x,y,-z 1/2+x,-y,z", "x,y,z -x,1/2+y,-z x,y,-z -x,1/2+y,z", "x,y,z -x,1/2+y,-z x,1/2+y,-z -x,y,z", "x,y,z -x,-y,z x,-y,1/2+z -x,y,1/2+z", "x,y,z x,-y,-z 1/2+x,y,-z 1/2+x,-y,z", "x,y,z -x,y,-z -x,1/2+y,z x,1/2+y,-z", "x,y,z -x,-y,z 1/2+x,-y,z 1/2-x,y,z", "x,y,z -x,-y,z -x,1/2+y,z x,1/2-y,z", "x,y,z x,-y,-z x,1/2+y,-z x,1/2-y,z", "x,y,z x,-y,-z x,-y,1/2+z x,y,1/2-z", "x,y,z -x,y,-z -x,y,1/2+z x,y,1/2-z", "x,y,z -x,y,-z 1/2+x,y,-z 1/2-x,y,z", "x,y,z -x,-y,1/2+z 1/2+x,-y,z 1/2-x,y,1/2+z", "x,y,z -x,-y,1/2+z -x,1/2+y,z x,1/2-y,1/2+z", "x,y,z 1/2+x,-y,-z x,1/2+y,-z 1/2+x,1/2-y,z", "x,y,z 1/2+x,-y,-z x,-y,1/2+z 1/2+x,y,1/2-z", "x,y,z -x,1/2+y,-z -x,y,1/2+z x,1/2+y,1/2-z", "x,y,z -x,1/2+y,-z 1/2+x,y,-z 1/2-x,1/2+y,z", "x,y,z -x,-y,z x,1/2-y,1/2+z -x,1/2+y,1/2+z", "x,y,z -x,-y,z 1/2-x,y,1/2+z 1/2+x,-y,1/2+z", "x,y,z x,-y,-z 1/2+x,y,1/2-z 1/2+x,-y,1/2+z", "x,y,z x,-y,-z 1/2+x,1/2-y,z 1/2+x,1/2+y,-z", "x,y,z -x,y,-z 1/2-x,1/2+y,z 1/2+x,1/2+y,-z", "x,y,z -x,y,-z x,1/2+y,1/2-z -x,1/2+y,1/2+z", "x,y,z 1/2-x,-y,1/2+z 1/2+x,-y,1/2+z -x,y,z", "x,y,z -x,1/2+y,1/2+z -x,1/2-y,1/2+z x,-y,z", "x,y,z 1/2+x,1/2-y,-z 1/2+x,1/2+y,-z x,-y,z", "x,y,z 1/2+x,-y,1/2-z 1/2+x,-y,1/2+z x,y,-z", "x,y,z -x,1/2+y,1/2-z -x,1/2+y,1/2+z x,y,-z", "x,y,z 1/2-x,1/2+y,-z 1/2+x,1/2+y,-z -x,y,z", "x,y,z -x,-y,z 1/2+x,1/2-y,z 1/2-x,1/2+y,z", "x,y,z x,-y,-z x,1/2+y,1/2-z x,1/2-y,1/2+z", "x,y,z -x,y,-z 1/2-x,y,1/2+z 1/2+x,y,1/2-z", "x,y,z -x,-y,1/2+z 1/2+x,1/2-y,z 1/2-x,1/2+y,1/2+z", "x,y,z -x,-y,1/2+z 1/2-x,1/2+y,z 1/2+x,1/2-y,1/2+z", "x,y,z 1/2+x,-y,-z x,1/2+y,1/2-z 1/2+x,1/2-y,1/2+z", "x,y,z 1/2+x,-y,-z x,1/2-y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z -x,1/2+y,-z 1/2-x,y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z -x,1/2+y,-z 1/2+x,y,1/2-z 1/2-x,1/2+y,1/2+z", "x,y,z -x,-y,z 1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z", "x,y,z x,-y,-z 1/2+x,1/2+y,1/2-z 1/2+x,1/2-y,1/2+z", "x,y,z -x,y,-z 1/2-x,1/2+y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z -x,-y,z x,-y,z -x,y,z 1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2+x,1/2-y,z " "1/2-x,1/2+y,z", "x,y,z x,-y,-z x,y,-z x,-y,z x,1/2+y,1/2+z x,1/2-y,1/2+z x,1/2-y,1/2-z " "x,1/2+y,1/2-z", "x,y,z -x,y,-z -x,y,z x,y,-z 1/2+x,y,1/2+z 1/2-x,y,1/2-z 1/2-x,y,1/2+z " "1/2+x,y,1/2-z", "x,y,z -x,-y,1/2+z x,-y,1/2+z -x,y,z 1/2+x,1/2+y,z 1/2-x,1/2-y,1/2+z " "1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,z", "x,y,z -x,-y,1/2+z -x,y,1/2+z x,-y,z 1/2+x,1/2+y,z 1/2-x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2+z 1/2+x,1/2-y,z", "x,y,z 1/2+x,-y,-z 1/2+x,y,-z x,-y,z x,1/2+y,1/2+z 1/2+x,1/2-y,1/2-z " "1/2+x,1/2+y,1/2-z x,1/2-y,1/2+z", "x,y,z 1/2+x,-y,-z 1/2+x,-y,z x,y,-z x,1/2+y,1/2+z 1/2+x,1/2-y,1/2-z " "1/2+x,1/2-y,1/2+z x,1/2+y,1/2-z", "x,y,z -x,1/2+y,-z -x,1/2+y,z x,y,-z 1/2+x,y,1/2+z 1/2-x,1/2+y,1/2-z " "1/2-x,1/2+y,1/2+z 1/2+x,y,1/2-z", "x,y,z -x,1/2+y,-z x,1/2+y,-z -x,y,z 1/2+x,y,1/2+z 1/2-x,1/2+y,1/2-z " "1/2+x,1/2+y,1/2-z 1/2-x,y,1/2+z", "x,y,z -x,-y,z -x,y,1/2+z x,-y,1/2+z 1/2+x,1/2+y,z 1/2-x,1/2-y,z " "1/2-x,1/2+y,1/2+z 1/2+x,1/2-y,1/2+z", "x,y,z x,-y,-z 1/2+x,-y,z 1/2+x,y,-z x,1/2+y,1/2+z x,1/2-y,1/2-z " "1/2+x,1/2-y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z -x,y,-z x,1/2+y,-z -x,1/2+y,z 1/2+x,y,1/2+z 1/2-x,y,1/2-z " "1/2+x,1/2+y,1/2-z 1/2-x,1/2+y,1/2+z", "x,y,z -x,-y,z x,-y,z -x,y,z x,1/2+y,1/2+z -x,1/2-y,1/2+z x,1/2-y,1/2+z " "-x,1/2+y,1/2+z", "x,y,z -x,-y,z -x,y,z x,-y,z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2-x,y,1/2+z " "1/2+x,-y,1/2+z", "x,y,z x,-y,-z x,y,-z x,-y,z 1/2+x,y,1/2+z 1/2+x,-y,1/2-z 1/2+x,y,1/2-z " "1/2+x,-y,1/2+z", "x,y,z x,-y,-z x,-y,z x,y,-z 1/2+x,1/2+y,z 1/2+x,1/2-y,-z 1/2+x,1/2-y,z " "1/2+x,1/2+y,-z", "x,y,z -x,y,-z -x,y,z x,y,-z 1/2+x,1/2+y,z 1/2-x,1/2+y,-z 1/2-x,1/2+y,z " "1/2+x,1/2+y,-z", "x,y,z -x,y,-z x,y,-z -x,y,z x,1/2+y,1/2+z -x,1/2+y,1/2-z x,1/2+y,1/2-z " "-x,1/2+y,1/2+z", "x,y,z -x,-y,z x,1/2-y,z -x,1/2+y,z x,1/2+y,1/2+z -x,1/2-y,1/2+z x,-y,1/2+z " "-x,y,1/2+z", "x,y,z -x,-y,z 1/2-x,y,z 1/2+x,-y,z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z -x,y,1/2+z " "x,-y,1/2+z", "x,y,z x,-y,-z x,y,1/2-z x,-y,1/2+z 1/2+x,y,1/2+z 1/2+x,-y,1/2-z 1/2+x,y,-z " "1/2+x,-y,z", "x,y,z x,-y,-z x,1/2-y,z x,1/2+y,-z 1/2+x,1/2+y,z 1/2+x,1/2-y,-z 1/2+x,-y,z " "1/2+x,y,-z", "x,y,z -x,y,-z 1/2-x,y,z 1/2+x,y,-z 1/2+x,1/2+y,z 1/2-x,1/2+y,-z -x,1/2+y,z " "x,1/2+y,-z", "x,y,z -x,y,-z x,y,1/2-z -x,y,1/2+z x,1/2+y,1/2+z -x,1/2+y,1/2-z x,1/2+y,-z " "-x,1/2+y,z", "x,y,z -x,-y,z 1/2+x,-y,z 1/2-x,y,z x,1/2+y,1/2+z -x,1/2-y,1/2+z " "1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z", "x,y,z -x,-y,z -x,1/2+y,z x,1/2-y,z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z " "1/2-x,1/2+y,1/2+z 1/2+x,1/2-y,1/2+z", "x,y,z x,-y,-z x,1/2+y,-z x,1/2-y,z 1/2+x,y,1/2+z 1/2+x,-y,1/2-z " "1/2+x,1/2+y,1/2-z 1/2+x,1/2-y,1/2+z", "x,y,z x,-y,-z x,-y,1/2+z x,y,1/2-z 1/2+x,1/2+y,z 1/2+x,1/2-y,-z " "1/2+x,1/2-y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z -x,y,-z -x,y,1/2+z x,y,1/2-z 1/2+x,1/2+y,z 1/2-x,1/2+y,-z " "1/2-x,1/2+y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z -x,y,-z 1/2+x,y,-z 1/2-x,y,z x,1/2+y,1/2+z -x,1/2+y,1/2-z " "1/2+x,1/2+y,1/2-z 1/2-x,1/2+y,1/2+z", "x,y,z -x,-y,z 1/2+x,1/2-y,z 1/2-x,1/2+y,z x,1/2+y,1/2+z -x,1/2-y,1/2+z " "1/2+x,-y,1/2+z 1/2-x,y,1/2+z", "x,y,z -x,-y,z 1/2-x,1/2+y,z 1/2+x,1/2-y,z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z " "-x,1/2+y,1/2+z x,1/2-y,1/2+z", "x,y,z x,-y,-z x,1/2+y,1/2-z x,1/2-y,1/2+z 1/2+x,y,1/2+z 1/2+x,-y,1/2-z " "1/2+x,1/2+y,-z 1/2+x,1/2-y,z", "x,y,z x,-y,-z x,1/2-y,1/2+z x,1/2+y,1/2-z 1/2+x,1/2+y,z 1/2+x,1/2-y,-z " "1/2+x,-y,1/2+z 1/2+x,y,1/2-z", "x,y,z -x,y,-z 1/2-x,y,1/2+z 1/2+x,y,1/2-z 1/2+x,1/2+y,z 1/2-x,1/2+y,-z " "-x,1/2+y,1/2+z x,1/2+y,1/2-z", "x,y,z -x,y,-z 1/2+x,y,1/2-z 1/2-x,y,1/2+z x,1/2+y,1/2+z -x,1/2+y,1/2-z " "1/2+x,1/2+y,-z 1/2-x,1/2+y,z", "x,y,z -x,-y,z x,-y,z -x,y,z x,1/2+y,1/2+z -x,1/2-y,1/2+z x,1/2-y,1/2+z " "-x,1/2+y,1/2+z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2+x,-y,1/2+z 1/2-x,y,1/2+z " "1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2+x,1/2-y,z 1/2-x,1/2+y,z", "x,y,z x,-y,-z x,y,-z x,-y,z 1/2+x,y,1/2+z 1/2+x,-y,1/2-z 1/2+x,y,1/2-z " "1/2+x,-y,1/2+z 1/2+x,1/2+y,z 1/2+x,1/2-y,-z 1/2+x,1/2+y,-z 1/2+x,1/2-y,z " "x,1/2+y,1/2+z x,1/2-y,1/2-z x,1/2+y,1/2-z x,1/2-y,1/2+z", "x,y,z -x,y,-z -x,y,z x,y,-z 1/2+x,1/2+y,z 1/2-x,1/2+y,-z 1/2-x,1/2+y,z " "1/2+x,1/2+y,-z x,1/2+y,1/2+z -x,1/2+y,1/2-z -x,1/2+y,1/2+z x,1/2+y,1/2-z " "1/2+x,y,1/2+z 1/2-x,y,1/2-z 1/2-x,y,1/2+z 1/2+x,y,1/2-z", "x,y,z -x,-y,z 1/4+x,1/4-y,1/4+z 1/4-x,1/4+y,1/4+z 1/2+x,y,1/2+z " "1/2-x,-y,1/2+z 3/4+x,1/4-y,3/4+z 3/4-x,1/4+y,3/4+z x,1/2+y,1/2+z " "-x,1/2-y,1/2+z 1/4+x,3/4-y,3/4+z 1/4-x,3/4+y,3/4+z 1/2+x,1/2+y,z " "1/2-x,1/2-y,z 3/4+x,3/4-y,1/4+z 3/4-x,3/4+y,1/4+z", "x,y,z x,-y,-z 1/4+x,1/4+y,1/4-z 1/4+x,1/4-y,1/4+z 1/2+x,1/2+y,z " "1/2+x,1/2-y,-z 3/4+x,3/4+y,1/4-z 3/4+x,3/4-y,1/4+z 1/2+x,y,1/2+z " "1/2+x,-y,1/2-z 3/4+x,1/4+y,3/4-z 3/4+x,1/4-y,3/4+z x,1/2+y,1/2+z " "x,1/2-y,1/2-z 1/4+x,3/4+y,3/4-z 1/4+x,3/4-y,3/4+z", "x,y,z -x,y,-z 1/4-x,1/4+y,1/4+z 1/4+x,1/4+y,1/4-z x,1/2+y,1/2+z " "-x,1/2+y,1/2-z 1/4-x,3/4+y,3/4+z 1/4+x,3/4+y,3/4-z 1/2+x,1/2+y,z " "1/2-x,1/2+y,-z 3/4-x,3/4+y,1/4+z 3/4+x,3/4+y,1/4-z 1/2+x,y,1/2+z " "1/2-x,y,1/2-z 3/4-x,1/4+y,3/4+z 3/4+x,1/4+y,3/4-z", "x,y,z -x,-y,z x,-y,z -x,y,z 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z", "x,y,z x,-y,-z x,y,-z x,-y,z 1/2+x,1/2+y,1/2+z 1/2+x,1/2-y,1/2-z " "1/2+x,1/2+y,1/2-z 1/2+x,1/2-y,1/2+z", "x,y,z -x,y,-z -x,y,z x,y,-z 1/2+x,1/2+y,1/2+z 1/2-x,1/2+y,1/2-z " "1/2-x,1/2+y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z -x,-y,z 1/2+x,1/2-y,z 1/2-x,1/2+y,z 1/2+x,1/2+y,1/2+z " "1/2-x,1/2-y,1/2+z x,-y,1/2+z -x,y,1/2+z", "x,y,z x,-y,-z x,1/2+y,1/2-z x,1/2-y,1/2+z 1/2+x,1/2+y,1/2+z " "1/2+x,1/2-y,1/2-z 1/2+x,y,-z 1/2+x,-y,z", "x,y,z -x,y,-z 1/2-x,y,1/2+z 1/2+x,y,1/2-z 1/2+x,1/2+y,1/2+z " "1/2-x,1/2+y,1/2-z -x,1/2+y,z x,1/2+y,-z", "x,y,z -x,-y,z 1/2+x,-y,z 1/2-x,y,z 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "x,1/2-y,1/2+z -x,1/2+y,1/2+z", "x,y,z -x,-y,z -x,1/2+y,z x,1/2-y,z 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "1/2-x,y,1/2+z 1/2+x,-y,1/2+z", "x,y,z x,-y,-z x,1/2+y,-z x,1/2-y,z 1/2+x,1/2+y,1/2+z 1/2+x,1/2-y,1/2-z " "1/2+x,y,1/2-z 1/2+x,-y,1/2+z", "x,y,z x,-y,-z x,-y,1/2+z x,y,1/2-z 1/2+x,1/2+y,1/2+z 1/2+x,1/2-y,1/2-z " "1/2+x,1/2-y,z 1/2+x,1/2+y,-z", "x,y,z -x,y,-z -x,y,1/2+z x,y,1/2-z 1/2+x,1/2+y,1/2+z 1/2-x,1/2+y,1/2-z " "1/2-x,1/2+y,z 1/2+x,1/2+y,-z", "x,y,z -x,y,-z 1/2+x,y,-z 1/2-x,y,z 1/2+x,1/2+y,1/2+z 1/2-x,1/2+y,1/2-z " "x,1/2+y,1/2-z -x,1/2+y,1/2+z", "x,y,z -x,-y,z -x,y,-z x,-y,-z -x,-y,-z x,y,-z x,-y,z -x,y,z", "x,y,z -x,-y,z -x,y,-z x,-y,-z 1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z " "1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z", "x,y,z 1/2-x,1/2-y,z 1/2-x,y,1/2-z x,1/2-y,1/2-z -x,-y,-z 1/2+x,1/2+y,-z " "1/2+x,-y,1/2+z -x,1/2+y,1/2+z", "x,y,z -x,-y,z -x,y,1/2-z x,-y,1/2-z -x,-y,-z x,y,-z x,-y,1/2+z -x,y,1/2+z", "x,y,z x,-y,-z 1/2-x,-y,z 1/2-x,y,-z -x,-y,-z -x,y,z 1/2+x,y,-z 1/2+x,-y,z", "x,y,z -x,y,-z x,1/2-y,-z -x,1/2-y,z -x,-y,-z x,-y,z -x,1/2+y,z x,1/2+y,-z", "x,y,z -x,-y,z -x,y,-z x,-y,-z 1/2-x,1/2-y,-z 1/2+x,1/2+y,-z 1/2+x,1/2-y,z " "1/2-x,1/2+y,z", "x,y,z 1/2-x,1/2-y,z 1/2-x,y,-z x,1/2-y,-z -x,-y,-z 1/2+x,1/2+y,-z " "1/2+x,-y,z -x,1/2+y,z", "x,y,z -x,1/2+y,1/2+z x,1/2-y,1/2+z x,1/2+y,1/2-z -x,1/2-y,1/2-z x,-y,-z " "-x,y,-z -x,-y,z", "x,y,z -x,1/2+y,1/2+z x,-y,1/2+z x,1/2+y,-z x,1/2-y,1/2-z -x,-y,-z " "-x,y,1/2-z -x,1/2-y,z", "x,y,z 1/2-x,y,1/2+z 1/2+x,-y,1/2+z 1/2+x,y,1/2-z 1/2-x,-y,1/2-z x,-y,-z " "-x,y,-z -x,-y,z", "x,y,z -x,y,1/2+z 1/2+x,-y,1/2+z 1/2+x,y,-z x,-y,1/2-z -x,-y,-z " "1/2-x,y,1/2-z 1/2-x,-y,z", "x,y,z 1/2-x,-y,z -x,y,-z 1/2+x,-y,-z -x,-y,-z 1/2+x,y,-z x,-y,z 1/2-x,y,z", "x,y,z -x,1/2-y,z x,-y,-z -x,1/2+y,-z -x,-y,-z x,1/2+y,-z -x,y,z x,1/2-y,z", "x,y,z x,1/2-y,-z -x,-y,z -x,1/2+y,-z -x,-y,-z -x,1/2+y,z x,y,-z x,1/2-y,z", "x,y,z x,-y,1/2-z -x,y,-z -x,-y,1/2+z -x,-y,-z -x,y,1/2+z x,-y,z x,y,1/2-z", "x,y,z -x,y,1/2-z x,-y,-z -x,-y,1/2+z -x,-y,-z x,-y,1/2+z -x,y,z x,y,1/2-z", "x,y,z 1/2-x,y,-z -x,-y,z 1/2+x,-y,-z -x,-y,-z 1/2+x,-y,z x,y,-z 1/2-x,y,z", "x,y,z 1/2-x,-y,z 1/2-x,1/2+y,1/2-z x,1/2-y,1/2-z -x,-y,-z 1/2+x,y,-z " "1/2+x,1/2-y,1/2+z -x,1/2+y,1/2+z", "x,y,z -x,1/2-y,z 1/2+x,1/2-y,1/2-z 1/2-x,y,1/2-z -x,-y,-z x,1/2+y,-z " "1/2-x,1/2+y,1/2+z 1/2+x,-y,1/2+z", "x,y,z x,1/2-y,-z 1/2-x,1/2-y,1/2+z 1/2-x,y,1/2-z -x,-y,-z -x,1/2+y,z " "1/2+x,1/2+y,1/2-z 1/2+x,-y,1/2+z", "x,y,z x,-y,1/2-z 1/2-x,1/2+y,1/2-z 1/2-x,1/2-y,z -x,-y,-z -x,y,1/2+z " "1/2+x,1/2-y,1/2+z 1/2+x,1/2+y,-z", "x,y,z -x,y,1/2-z 1/2+x,1/2-y,1/2-z 1/2-x,1/2-y,z -x,-y,-z x,-y,1/2+z " "1/2-x,1/2+y,1/2+z 1/2+x,1/2+y,-z", "x,y,z 1/2-x,y,-z 1/2-x,1/2-y,1/2+z x,1/2-y,1/2-z -x,-y,-z 1/2+x,-y,z " "1/2+x,1/2+y,1/2-z -x,1/2+y,1/2+z", "x,y,z 1/2-x,-y,1/2+z 1/2-x,y,1/2-z x,-y,-z -x,-y,-z 1/2+x,y,1/2-z " "1/2+x,-y,1/2+z -x,y,z", "x,y,z -x,1/2-y,1/2+z x,1/2-y,1/2-z -x,y,-z -x,-y,-z x,1/2+y,1/2-z " "-x,1/2+y,1/2+z x,-y,z", "x,y,z 1/2+x,1/2-y,-z 1/2-x,1/2-y,z -x,y,-z -x,-y,-z 1/2-x,1/2+y,z " "1/2+x,1/2+y,-z x,-y,z", "x,y,z 1/2+x,-y,1/2-z 1/2-x,y,1/2-z -x,-y,z -x,-y,-z 1/2-x,y,1/2+z " "1/2+x,-y,1/2+z x,y,-z", "x,y,z -x,1/2+y,1/2-z x,1/2-y,1/2-z -x,-y,z -x,-y,-z x,1/2-y,1/2+z " "-x,1/2+y,1/2+z x,y,-z", "x,y,z 1/2-x,1/2+y,-z 1/2-x,1/2-y,z x,-y,-z -x,-y,-z 1/2+x,1/2-y,z " "1/2+x,1/2+y,-z -x,y,z", "x,y,z 1/2-x,-y,z -x,y,1/2-z 1/2+x,-y,1/2-z -x,-y,-z 1/2+x,y,-z x,-y,1/2+z " "1/2-x,y,1/2+z", "x,y,z -x,1/2-y,z x,-y,1/2-z -x,1/2+y,1/2-z -x,-y,-z x,1/2+y,-z -x,y,1/2+z " "x,1/2-y,1/2+z", "x,y,z x,1/2-y,-z 1/2-x,-y,z 1/2-x,1/2+y,-z -x,-y,-z -x,1/2+y,z 1/2+x,y,-z " "1/2+x,1/2-y,z", "x,y,z x,-y,1/2-z 1/2-x,y,-z 1/2-x,-y,1/2+z -x,-y,-z -x,y,1/2+z 1/2+x,-y,z " "1/2+x,y,1/2-z", "x,y,z -x,y,1/2-z x,1/2-y,-z -x,1/2-y,1/2+z -x,-y,-z x,-y,1/2+z -x,1/2+y,z " "x,1/2+y,1/2-z", "x,y,z 1/2-x,y,-z -x,1/2-y,z 1/2+x,1/2-y,-z -x,-y,-z 1/2+x,-y,z x,1/2+y,-z " "1/2-x,1/2+y,z", "x,y,z -x,-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z -x,-y,-z x,y,-z 1/2+x,1/2-y,z " "1/2-x,1/2+y,z", "x,y,z x,-y,-z -x,1/2-y,1/2+z -x,1/2+y,1/2-z -x,-y,-z -x,y,z x,1/2+y,1/2-z " "x,1/2-y,1/2+z", "x,y,z -x,y,-z 1/2+x,-y,1/2-z 1/2-x,-y,1/2+z -x,-y,-z x,-y,z 1/2-x,y,1/2+z " "1/2+x,y,1/2-z", "x,y,z 1/2-x,1/2-y,z -x,1/2+y,1/2-z 1/2+x,-y,1/2-z -x,-y,-z 1/2+x,1/2+y,-z " "x,1/2-y,1/2+z 1/2-x,y,1/2+z", "x,y,z x,1/2-y,1/2-z 1/2-x,-y,1/2+z 1/2-x,1/2+y,-z -x,-y,-z -x,1/2+y,1/2+z " "1/2+x,y,1/2-z 1/2+x,1/2-y,z", "x,y,z 1/2-x,y,1/2-z 1/2+x,1/2-y,-z -x,1/2-y,1/2+z -x,-y,-z 1/2+x,-y,1/2+z " "1/2-x,1/2+y,z x,1/2+y,1/2-z", "x,y,z -x,-y,1/2+z -x,1/2+y,1/2-z x,1/2-y,-z -x,-y,-z x,y,1/2-z " "x,1/2-y,1/2+z -x,1/2+y,z", "x,y,z -x,-y,1/2+z 1/2+x,-y,1/2-z 1/2-x,y,-z -x,-y,-z x,y,1/2-z " "1/2-x,y,1/2+z 1/2+x,-y,z", "x,y,z 1/2+x,-y,-z 1/2-x,-y,1/2+z -x,y,1/2-z -x,-y,-z 1/2-x,y,z " "1/2+x,y,1/2-z x,-y,1/2+z", "x,y,z 1/2+x,-y,-z 1/2-x,1/2+y,-z -x,1/2-y,z -x,-y,-z 1/2-x,y,z " "1/2+x,1/2-y,z x,1/2+y,-z", "x,y,z -x,1/2+y,-z 1/2+x,1/2-y,-z 1/2-x,-y,z -x,-y,-z x,1/2-y,z " "1/2-x,1/2+y,z 1/2+x,y,-z", "x,y,z -x,1/2+y,-z -x,1/2-y,1/2+z x,-y,1/2-z -x,-y,-z x,1/2-y,z " "x,1/2+y,1/2-z -x,y,1/2+z", "x,y,z -x,-y,z 1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z -x,-y,-z x,y,-z " "1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z", "x,y,z x,-y,-z 1/2-x,1/2-y,1/2+z 1/2-x,1/2+y,1/2-z -x,-y,-z -x,y,z " "1/2+x,1/2+y,1/2-z 1/2+x,1/2-y,1/2+z", "x,y,z -x,y,-z 1/2+x,1/2-y,1/2-z 1/2-x,1/2-y,1/2+z -x,-y,-z x,-y,z " "1/2-x,1/2+y,1/2+z 1/2+x,1/2+y,1/2-z", "x,y,z -x,-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2-x,1/2-y,-z 1/2+x,1/2+y,-z " "x,-y,z -x,y,z", "x,y,z 1/2-x,1/2-y,z -x,1/2+y,-z 1/2+x,-y,-z -x,-y,-z 1/2+x,1/2+y,-z " "x,1/2-y,z 1/2-x,y,z", "x,y,z -x,1/2+y,1/2+z x,-y,z x,y,-z -x,1/2-y,1/2-z x,-y,-z -x,1/2+y,1/2-z " "-x,1/2-y,1/2+z", "x,y,z -x,1/2+y,1/2+z x,1/2-y,z x,y,1/2-z -x,-y,-z x,1/2-y,1/2-z -x,1/2+y,-z " "-x,-y,1/2+z", "x,y,z -x,y,z 1/2+x,-y,1/2+z x,y,-z 1/2-x,-y,1/2-z 1/2+x,-y,1/2-z -x,y,-z " "1/2-x,-y,1/2+z", "x,y,z 1/2-x,y,z 1/2+x,-y,1/2+z x,y,1/2-z -x,-y,-z 1/2+x,-y,-z 1/2-x,y,1/2-z " "-x,-y,1/2+z", "x,y,z 1/2-x,1/2-y,1/2+z -x,y,1/2-z 1/2+x,1/2-y,-z -x,-y,-z " "1/2+x,1/2+y,1/2-z x,-y,1/2+z 1/2-x,1/2+y,z", "x,y,z 1/2-x,1/2-y,1/2+z x,-y,1/2-z 1/2-x,1/2+y,-z -x,-y,-z " "1/2+x,1/2+y,1/2-z -x,y,1/2+z 1/2+x,1/2-y,z", "x,y,z 1/2+x,1/2-y,1/2-z 1/2-x,-y,z -x,1/2+y,1/2-z -x,-y,-z " "1/2-x,1/2+y,1/2+z 1/2+x,y,-z x,1/2-y,1/2+z", "x,y,z 1/2+x,1/2-y,1/2-z 1/2-x,y,-z -x,1/2-y,1/2+z -x,-y,-z " "1/2-x,1/2+y,1/2+z 1/2+x,-y,z x,1/2+y,1/2-z", "x,y,z 1/2-x,1/2+y,1/2-z x,1/2-y,-z 1/2-x,-y,1/2+z -x,-y,-z " "1/2+x,1/2-y,1/2+z -x,1/2+y,z 1/2+x,y,1/2-z", "x,y,z 1/2-x,1/2+y,1/2-z -x,1/2-y,z 1/2+x,-y,1/2-z -x,-y,-z " "1/2+x,1/2-y,1/2+z x,1/2+y,-z 1/2-x,y,1/2+z", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z -x,-y,-z 1/2+x,y,1/2-z " "x,1/2-y,1/2+z 1/2-x,1/2+y,z", "x,y,z -x,1/2-y,1/2+z 1/2+x,-y,1/2-z 1/2-x,1/2+y,-z -x,-y,-z x,1/2+y,1/2-z " "1/2-x,y,1/2+z 1/2+x,1/2-y,z", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,-z 1/2+x,1/2-y,1/2-z -x,-y,-z 1/2+x,y,1/2-z " "x,1/2-y,z 1/2-x,1/2+y,1/2+z", "x,y,z -x,1/2-y,1/2+z 1/2+x,-y,-z 1/2-x,1/2+y,1/2-z -x,-y,-z x,1/2+y,1/2-z " "1/2-x,y,z 1/2+x,1/2-y,1/2+z", "x,y,z 1/2+x,1/2-y,-z -x,-y,1/2+z 1/2-x,1/2+y,1/2-z -x,-y,-z 1/2-x,1/2+y,z " "x,y,1/2-z 1/2+x,1/2-y,1/2+z", "x,y,z 1/2+x,-y,1/2-z -x,1/2+y,-z 1/2-x,1/2-y,1/2+z -x,-y,-z 1/2-x,y,1/2+z " "x,1/2-y,z 1/2+x,1/2+y,1/2-z", "x,y,z 1/2-x,y,z x,1/2-y,1/2+z 1/2+x,1/2+y,1/2-z -x,-y,-z 1/2+x,-y,-z " "-x,1/2+y,1/2-z 1/2-x,1/2-y,1/2+z", "x,y,z 1/2-x,1/2+y,1/2+z 1/2+x,1/2-y,z x,y,1/2-z -x,-y,-z 1/2+x,1/2-y,1/2-z " "1/2-x,1/2+y,-z -x,-y,1/2+z", "x,y,z -x,-y,1/2+z -x,y,1/2-z x,-y,-z -x,-y,-z x,y,1/2-z x,-y,1/2+z -x,y,z " "1/2+x,1/2+y,z 1/2-x,1/2-y,1/2+z 1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,-z " "1/2-x,1/2-y,-z 1/2+x,1/2+y,1/2-z 1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,z", "x,y,z -x,y,1/2+z x,-y,z x,y,1/2-z -x,-y,-z x,-y,1/2-z -x,y,-z -x,-y,1/2+z " "1/2+x,1/2+y,z 1/2-x,1/2+y,1/2+z 1/2+x,1/2-y,z 1/2+x,1/2-y,1/2-z " "1/2-x,1/2-y,-z 1/2+x,1/2+y,1/2-z 1/2-x,1/2+y,-z 1/2-x,1/2-y,1/2+z", "x,y,z 1/2-x,y,z x,-y,z 1/2+x,-y,-z -x,-y,-z 1/2+x,y,-z -x,y,-z 1/2-x,-y,z " "x,1/2+y,1/2+z 1/2-x,1/2+y,1/2+z x,1/2-y,1/2+z 1/2+x,1/2-y,1/2-z " "-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z -x,1/2+y,1/2-z 1/2-x,1/2-y,1/2+z", "x,y,z 1/2-x,y,z 1/2+x,-y,z x,y,-z -x,-y,-z 1/2+x,-y,-z 1/2-x,y,-z -x,-y,z " "x,1/2+y,1/2+z 1/2-x,1/2+y,1/2+z 1/2+x,1/2-y,1/2+z x,1/2+y,1/2-z " "-x,1/2-y,1/2-z 1/2+x,1/2-y,1/2-z 1/2-x,1/2+y,1/2-z -x,1/2-y,1/2+z", "x,y,z -x,1/2+y,z x,1/2-y,z x,y,-z -x,-y,-z x,1/2-y,-z -x,1/2+y,-z -x,-y,z " "1/2+x,y,1/2+z 1/2-x,1/2+y,1/2+z 1/2+x,1/2-y,1/2+z 1/2+x,y,1/2-z " "1/2-x,-y,1/2-z 1/2+x,1/2-y,1/2-z 1/2-x,1/2+y,1/2-z 1/2-x,-y,1/2+z", "x,y,z -x,y,z x,1/2-y,z x,1/2+y,-z -x,-y,-z x,-y,-z -x,1/2+y,-z -x,1/2-y,z " "1/2+x,y,1/2+z 1/2-x,y,1/2+z 1/2+x,1/2-y,1/2+z 1/2+x,1/2+y,1/2-z " "1/2-x,-y,1/2-z 1/2+x,-y,1/2-z 1/2-x,1/2+y,1/2-z 1/2-x,1/2-y,1/2+z", "x,y,z -x,1/2-y,1/2+z -x,1/2+y,1/2-z x,-y,-z -x,-y,-z x,1/2+y,1/2-z " "x,1/2-y,1/2+z -x,y,z 1/2+x,1/2+y,z 1/2-x,-y,1/2+z 1/2-x,y,1/2-z " "1/2+x,1/2-y,-z 1/2-x,1/2-y,-z 1/2+x,y,1/2-z 1/2+x,-y,1/2+z 1/2-x,1/2+y,z", "x,y,z -x,1/2+y,1/2+z x,-y,z x,1/2+y,1/2-z -x,-y,-z x,1/2-y,1/2-z -x,y,-z " "-x,1/2-y,1/2+z 1/2+x,1/2+y,z 1/2-x,y,1/2+z 1/2+x,1/2-y,z 1/2+x,y,1/2-z " "1/2-x,1/2-y,-z 1/2+x,-y,1/2-z 1/2-x,1/2+y,-z 1/2-x,-y,1/2+z", "x,y,z 1/2-x,1/2+y,z x,-y,z 1/2+x,1/2+y,-z -x,-y,-z 1/2+x,1/2-y,-z -x,y,-z " "1/2-x,1/2-y,z x,1/2+y,1/2+z 1/2-x,y,1/2+z x,1/2-y,1/2+z 1/2+x,y,1/2-z " "-x,1/2-y,1/2-z 1/2+x,-y,1/2-z -x,1/2+y,1/2-z 1/2-x,-y,1/2+z", "x,y,z 1/2-x,1/2+y,z 1/2+x,1/2-y,z x,y,-z -x,-y,-z 1/2+x,1/2-y,-z " "1/2-x,1/2+y,-z -x,-y,z x,1/2+y,1/2+z 1/2-x,y,1/2+z 1/2+x,-y,1/2+z " "x,1/2+y,1/2-z -x,1/2-y,1/2-z 1/2+x,-y,1/2-z 1/2-x,y,1/2-z -x,1/2-y,1/2+z", "x,y,z -x,1/2+y,1/2+z x,1/2-y,1/2+z x,y,-z -x,-y,-z x,1/2-y,1/2-z " "-x,1/2+y,1/2-z -x,-y,z 1/2+x,y,1/2+z 1/2-x,1/2+y,z 1/2+x,1/2-y,z " "1/2+x,y,1/2-z 1/2-x,-y,1/2-z 1/2+x,1/2-y,-z 1/2-x,1/2+y,-z 1/2-x,-y,1/2+z", "x,y,z -x,y,z x,1/2-y,1/2+z x,1/2+y,1/2-z -x,-y,-z x,-y,-z -x,1/2+y,1/2-z " "-x,1/2-y,1/2+z 1/2+x,y,1/2+z 1/2-x,y,1/2+z 1/2+x,1/2-y,z 1/2+x,1/2+y,-z " "1/2-x,-y,1/2-z 1/2+x,-y,1/2-z 1/2-x,1/2+y,-z 1/2-x,1/2-y,z", "x,y,z -x,-y,z -x,y,-z x,-y,-z -x,-y,-z x,y,-z x,-y,z -x,y,z 1/2+x,1/2+y,z " "1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2-x,1/2-y,-z 1/2+x,1/2+y,-z " "1/2+x,1/2-y,z 1/2-x,1/2+y,z", "x,y,z -x,-y,z x,-y,-z -x,y,-z -x,-y,-z x,y,-z -x,y,z x,-y,z x,1/2+y,1/2+z " "-x,1/2-y,1/2+z x,1/2-y,1/2-z -x,1/2+y,1/2-z -x,1/2-y,1/2-z x,1/2+y,1/2-z " "-x,1/2+y,1/2+z x,1/2-y,1/2+z", "x,y,z -x,-y,z x,-y,-z -x,y,-z -x,-y,-z x,y,-z -x,y,z x,-y,z 1/2+x,y,1/2+z " "1/2-x,-y,1/2+z 1/2+x,-y,1/2-z 1/2-x,y,1/2-z 1/2-x,-y,1/2-z 1/2+x,y,1/2-z " "1/2-x,y,1/2+z 1/2+x,-y,1/2+z", "x,y,z -x,-y,z -x,y,1/2-z x,-y,1/2-z -x,-y,-z x,y,-z x,-y,1/2+z -x,y,1/2+z " "1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z " "1/2-x,1/2-y,-z 1/2+x,1/2+y,-z 1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z", "x,y,z 1/2-x,-y,z x,-y,-z 1/2-x,y,-z -x,-y,-z 1/2+x,y,-z -x,y,z 1/2+x,-y,z " "x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z x,1/2-y,1/2-z 1/2-x,1/2+y,1/2-z " "-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z -x,1/2+y,1/2+z 1/2+x,1/2-y,1/2+z", "x,y,z -x,1/2-y,z x,1/2-y,-z -x,y,-z -x,-y,-z x,1/2+y,-z -x,1/2+y,z x,-y,z " "1/2+x,y,1/2+z 1/2-x,1/2-y,1/2+z 1/2+x,1/2-y,1/2-z 1/2-x,y,1/2-z " "1/2-x,-y,1/2-z 1/2+x,1/2+y,1/2-z 1/2-x,1/2+y,1/2+z 1/2+x,-y,1/2+z", "x,y,z -x,1/2-y,z -x,1/2+y,-z x,-y,-z -x,-y,-z x,1/2+y,-z x,1/2-y,z -x,y,z " "1/2+x,1/2+y,z 1/2-x,-y,z 1/2-x,y,-z 1/2+x,1/2-y,-z 1/2-x,1/2-y,-z " "1/2+x,y,-z 1/2+x,-y,z 1/2-x,1/2+y,z", "x,y,z -x,1/2-y,z x,1/2-y,-z -x,y,-z -x,-y,-z x,1/2+y,-z -x,1/2+y,z x,-y,z " "1/2+x,1/2+y,z 1/2-x,-y,z 1/2+x,-y,-z 1/2-x,1/2+y,-z 1/2-x,1/2-y,-z " "1/2+x,y,-z 1/2-x,y,z 1/2+x,1/2-y,z", "x,y,z -x,-y,1/2+z x,-y,1/2-z -x,y,-z -x,-y,-z x,y,1/2-z -x,y,1/2+z x,-y,z " "x,1/2+y,1/2+z -x,1/2-y,z x,1/2-y,-z -x,1/2+y,1/2-z -x,1/2-y,1/2-z " "x,1/2+y,-z -x,1/2+y,z x,1/2-y,1/2+z", "x,y,z -x,-y,z x,-y,1/2-z -x,y,1/2-z -x,-y,-z x,y,-z -x,y,1/2+z x,-y,1/2+z " "x,1/2+y,1/2+z -x,1/2-y,1/2+z x,1/2-y,-z -x,1/2+y,-z -x,1/2-y,1/2-z " "x,1/2+y,1/2-z -x,1/2+y,z x,1/2-y,z", "x,y,z -x,-y,z x,-y,1/2-z -x,y,1/2-z -x,-y,-z x,y,-z -x,y,1/2+z x,-y,1/2+z " "1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2+x,-y,-z 1/2-x,y,-z 1/2-x,-y,1/2-z " "1/2+x,y,1/2-z 1/2-x,y,z 1/2+x,-y,z", "x,y,z -x,-y,1/2+z x,-y,-z -x,y,1/2-z -x,-y,-z x,y,1/2-z -x,y,z x,-y,1/2+z " "1/2+x,y,1/2+z 1/2-x,-y,z 1/2+x,-y,1/2-z 1/2-x,y,-z 1/2-x,-y,1/2-z " "1/2+x,y,-z 1/2-x,y,1/2+z 1/2+x,-y,z", "x,y,z -x,1/2-y,1/2-z -x,-y,z x,-y,-z -x,y,-z x,1/2+y,1/2-z -x,1/2+y,1/2+z " "x,1/2-y,1/2+z 1/2+x,1/2+y,z 1/2-x,-y,1/2-z 1/2-x,1/2-y,z 1/2+x,1/2-y,-z " "1/2-x,1/2+y,-z 1/2+x,y,1/2-z 1/2-x,y,1/2+z 1/2+x,-y,1/2+z", "x,y,z 1/2-x,-y,z -x,y,1/2-z 1/2+x,-y,1/2-z -x,-y,-z 1/2+x,y,-z x,-y,1/2+z " "1/2-x,y,1/2+z 1/2+x,1/2+y,z -x,1/2-y,z 1/2-x,1/2+y,1/2-z x,1/2-y,1/2-z " "1/2-x,1/2-y,-z x,1/2+y,-z 1/2+x,1/2-y,1/2+z -x,1/2+y,1/2+z", "x,y,z -x,1/2-y,1/2-z -x,-y,z x,-y,-z -x,y,-z x,1/2+y,1/2-z -x,1/2+y,1/2+z " "x,1/2-y,1/2+z 1/2+x,1/2+y,z 1/2-x,-y,1/2-z 1/2-x,1/2-y,z 1/2+x,1/2-y,-z " "1/2-x,1/2+y,-z 1/2+x,y,1/2-z 1/2-x,y,1/2+z 1/2+x,-y,1/2+z", "x,y,z -x,1/2-y,z x,-y,1/2-z -x,1/2+y,1/2-z -x,-y,-z x,1/2+y,-z -x,y,1/2+z " "x,1/2-y,1/2+z 1/2+x,1/2+y,z 1/2-x,-y,z 1/2+x,1/2-y,1/2-z 1/2-x,y,1/2-z " "1/2-x,1/2-y,-z 1/2+x,y,-z 1/2-x,1/2+y,1/2+z 1/2+x,-y,1/2+z", "x,y,z -x,-y,z x,-y,-z -x,y,-z 1/2-x,-y,1/2-z 1/2+x,y,1/2-z 1/2-x,y,1/2+z " "1/2+x,-y,1/2+z x,1/2+y,1/2+z -x,1/2-y,1/2+z x,1/2-y,1/2-z -x,1/2+y,1/2-z " "1/2-x,1/2-y,-z 1/2+x,1/2+y,-z 1/2-x,1/2+y,z 1/2+x,1/2-y,z", "x,y,z 1/2-x,-y,z x,-y,1/2-z 1/2-x,y,1/2-z -x,-y,-z 1/2+x,y,-z -x,y,1/2+z " "1/2+x,-y,1/2+z x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z x,1/2-y,-z 1/2-x,1/2+y,-z " "-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z -x,1/2+y,z 1/2+x,1/2-y,z", "x,y,z -x,-y,z x,-y,-z -x,y,-z 1/2-x,-y,1/2-z 1/2+x,y,1/2-z 1/2-x,y,1/2+z " "1/2+x,-y,1/2+z x,1/2+y,1/2+z -x,1/2-y,1/2+z x,1/2-y,1/2-z -x,1/2+y,1/2-z " "1/2-x,1/2-y,-z 1/2+x,1/2+y,-z 1/2-x,1/2+y,z 1/2+x,1/2-y,z", "x,y,z 1/2-x,-y,1/2+z x,-y,1/2-z 1/2-x,y,-z -x,-y,-z 1/2+x,y,1/2-z " "-x,y,1/2+z 1/2+x,-y,z x,1/2+y,1/2+z 1/2-x,1/2-y,z x,1/2-y,-z " "1/2-x,1/2+y,1/2-z -x,1/2-y,1/2-z 1/2+x,1/2+y,-z -x,1/2+y,z " "1/2+x,1/2-y,1/2+z", "x,y,z -x,-y,z x,-y,-z -x,y,-z -x,1/2-y,1/2-z x,1/2+y,1/2-z -x,1/2+y,1/2+z " "x,1/2-y,1/2+z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2+x,-y,1/2-z 1/2-x,y,1/2-z " "1/2-x,1/2-y,-z 1/2+x,1/2+y,-z 1/2-x,1/2+y,z 1/2+x,1/2-y,z", "x,y,z -x,1/2-y,1/2+z x,1/2-y,-z -x,y,1/2-z -x,-y,-z x,1/2+y,1/2-z " "-x,1/2+y,z x,-y,1/2+z 1/2+x,y,1/2+z 1/2-x,1/2-y,z 1/2+x,1/2-y,1/2-z " "1/2-x,y,-z 1/2-x,-y,1/2-z 1/2+x,1/2+y,-z 1/2-x,1/2+y,1/2+z 1/2+x,-y,z", "x,y,z -x,-y,z x,-y,-z -x,y,-z -x,1/2-y,1/2-z x,1/2+y,1/2-z -x,1/2+y,1/2+z " "x,1/2-y,1/2+z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2+x,-y,1/2-z 1/2-x,y,1/2-z " "1/2-x,1/2-y,-z 1/2+x,1/2+y,-z 1/2-x,1/2+y,z 1/2+x,1/2-y,z", "x,y,z -x,1/2-y,z x,1/2-y,1/2-z -x,y,1/2-z -x,-y,-z x,1/2+y,-z " "-x,1/2+y,1/2+z x,-y,1/2+z 1/2+x,y,1/2+z 1/2-x,1/2-y,1/2+z 1/2+x,1/2-y,-z " "1/2-x,y,-z 1/2-x,-y,1/2-z 1/2+x,1/2+y,1/2-z 1/2-x,1/2+y,z 1/2+x,-y,z", "x,y,z -x,-y,z -x,y,-z x,-y,-z -x,-y,-z x,y,-z x,-y,z -x,y,z x,1/2+y,1/2+z " "-x,1/2-y,1/2+z -x,1/2+y,1/2-z x,1/2-y,1/2-z -x,1/2-y,1/2-z x,1/2+y,1/2-z " "x,1/2-y,1/2+z -x,1/2+y,1/2+z 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2-x,y,1/2-z " "1/2+x,-y,1/2-z 1/2-x,-y,1/2-z 1/2+x,y,1/2-z 1/2+x,-y,1/2+z 1/2-x,y,1/2+z " "1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2-x,1/2-y,-z " "1/2+x,1/2+y,-z 1/2+x,1/2-y,z 1/2-x,1/2+y,z", "x,y,z -x,y,-z 1/4-x,1/4-y,1/4-z 1/4+x,1/4-y,1/4+z x,-y,-z -x,-y,z " "1/4-x,1/4+y,1/4+z 1/4+x,1/4+y,1/4-z x,1/2+y,1/2+z 1/2+x,y,1/2+z " "1/2+x,1/2+y,z -x,1/2+y,1/2-z 1/2-x,y,1/2-z 1/2-x,1/2+y,-z 1/4-x,3/4-y,3/4-z " "3/4-x,1/4-y,3/4-z 3/4-x,3/4-y,1/4-z 1/4+x,3/4-y,3/4+z 3/4+x,1/4-y,3/4+z " "3/4+x,3/4-y,1/4+z x,1/2-y,1/2-z 1/2+x,-y,1/2-z 1/2+x,1/2-y,-z " "-x,1/2-y,1/2+z 1/2-x,-y,1/2+z 1/2-x,1/2-y,z 1/4-x,3/4+y,3/4+z " "3/4-x,1/4+y,3/4+z 3/4-x,3/4+y,1/4+z 1/4+x,3/4+y,3/4-z 3/4+x,1/4+y,3/4-z " "3/4+x,3/4+y,1/4-z", "x,y,z 1/4-x,1/4-y,z x,1/4-y,1/4-z 1/4-x,y,1/4-z -x,-y,-z 3/4+x,3/4+y,-z " "-x,3/4+y,3/4+z 3/4+x,-y,3/4+z x,1/2+y,1/2+z 1/4-x,3/4-y,1/2+z x,3/4-y,3/4-z " "1/4-x,1/2+y,3/4-z -x,1/2-y,1/2-z 3/4+x,1/4+y,1/2-z -x,1/4+y,1/4+z " "3/4+x,1/2-y,1/4+z 1/2+x,y,1/2+z 3/4-x,1/4-y,1/2+z 1/2+x,1/4-y,3/4-z " "3/4-x,y,3/4-z 1/2-x,-y,1/2-z 1/4+x,3/4+y,1/2-z 1/2-x,3/4+y,1/4+z " "1/4+x,-y,1/4+z 1/2+x,1/2+y,z 3/4-x,3/4-y,z 1/2+x,3/4-y,1/4-z " "3/4-x,1/2+y,1/4-z 1/2-x,1/2-y,-z 1/4+x,1/4+y,-z 1/2-x,1/4+y,3/4+z " "1/4+x,1/2-y,3/4+z", "x,y,z -x,-y,z -x,y,-z x,-y,-z -x,-y,-z x,y,-z x,-y,z -x,y,z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z 1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z", "x,y,z -x,-y,z x,-y,1/2-z -x,y,1/2-z -x,-y,-z x,y,-z -x,y,1/2+z x,-y,1/2+z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2+x,1/2-y,-z 1/2-x,1/2+y,-z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z 1/2-x,1/2+y,z 1/2+x,1/2-y,z", "x,y,z 1/2-x,-y,z x,-y,-z 1/2-x,y,-z -x,-y,-z 1/2+x,y,-z -x,y,z 1/2+x,-y,z " "1/2+x,1/2+y,1/2+z -x,1/2-y,1/2+z 1/2+x,1/2-y,1/2-z -x,1/2+y,1/2-z " "1/2-x,1/2-y,1/2-z x,1/2+y,1/2-z 1/2-x,1/2+y,1/2+z x,1/2-y,1/2+z", "x,y,z -x,1/2-y,z x,1/2-y,-z -x,y,-z -x,-y,-z x,1/2+y,-z -x,1/2+y,z x,-y,z " "1/2+x,1/2+y,1/2+z 1/2-x,-y,1/2+z 1/2+x,-y,1/2-z 1/2-x,1/2+y,1/2-z " "1/2-x,1/2-y,1/2-z 1/2+x,y,1/2-z 1/2-x,y,1/2+z 1/2+x,1/2-y,1/2+z", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z -x,-y,-z 1/2+x,y,1/2-z " "x,1/2-y,1/2+z 1/2-x,1/2+y,z 1/2+x,1/2+y,1/2+z -x,1/2-y,z 1/2-x,y,-z " "x,-y,1/2-z 1/2-x,1/2-y,1/2-z x,1/2+y,-z 1/2+x,-y,z -x,y,1/2+z", "x,y,z 1/2-x,-y,z x,1/2-y,-z -x,y,1/2-z -x,-y,-z 1/2+x,y,-z -x,1/2+y,z " "x,-y,1/2+z 1/2+x,1/2+y,1/2+z -x,1/2-y,1/2+z 1/2+x,-y,1/2-z 1/2-x,1/2+y,-z " "1/2-x,1/2-y,1/2-z x,1/2+y,1/2-z 1/2-x,y,1/2+z 1/2+x,1/2-y,z", "x,y,z -x,1/2-y,z -x,1/2+y,-z x,-y,-z -x,-y,-z x,1/2+y,-z x,1/2-y,z -x,y,z " "1/2+x,1/2+y,1/2+z 1/2-x,-y,1/2+z 1/2-x,y,1/2-z 1/2+x,1/2-y,1/2-z " "1/2-x,1/2-y,1/2-z 1/2+x,y,1/2-z 1/2+x,-y,1/2+z 1/2-x,1/2+y,1/2+z", "x,y,z 1/2-x,-y,z 1/2+x,-y,-z -x,y,-z -x,-y,-z 1/2+x,y,-z 1/2-x,y,z x,-y,z " "1/2+x,1/2+y,1/2+z -x,1/2-y,1/2+z x,1/2-y,1/2-z 1/2-x,1/2+y,1/2-z " "1/2-x,1/2-y,1/2-z x,1/2+y,1/2-z -x,1/2+y,1/2+z 1/2+x,1/2-y,1/2+z", "x,y,z -x,-y,1/2+z x,-y,1/2-z -x,y,-z -x,-y,-z x,y,1/2-z -x,y,1/2+z x,-y,z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,z 1/2+x,1/2-y,-z 1/2-x,1/2+y,1/2-z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,-z 1/2-x,1/2+y,z 1/2+x,1/2-y,1/2+z", "x,y,z -x,-y,z x,1/2-y,-z -x,1/2+y,-z -x,-y,-z x,y,-z -x,1/2+y,z x,1/2-y,z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2+x,-y,1/2-z 1/2-x,y,1/2-z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z 1/2-x,y,1/2+z 1/2+x,-y,1/2+z", "x,y,z -x,-y,z 1/2+x,-y,-z 1/2-x,y,-z -x,-y,-z x,y,-z 1/2-x,y,z 1/2+x,-y,z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z x,1/2-y,1/2-z -x,1/2+y,1/2-z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z -x,1/2+y,1/2+z x,1/2-y,1/2+z", "x,y,z -x,-y,1/2+z x,-y,-z -x,y,1/2-z -x,-y,-z x,y,1/2-z -x,y,z x,-y,1/2+z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,z 1/2+x,1/2-y,1/2-z 1/2-x,1/2+y,-z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,-z 1/2-x,1/2+y,1/2+z 1/2+x,1/2-y,z", "x,y,z -x,-y,z -y,x,z y,-x,z", "x,y,z -x,-y,1/2+z -y,x,1/4+z y,-x,3/4+z", "x,y,z -x,-y,z -y,x,1/2+z y,-x,1/2+z", "x,y,z -x,-y,1/2+z -y,x,3/4+z y,-x,1/4+z", "x,y,z -x,-y,z -y,x,z y,-x,z 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z", "x,y,z 1/2-x,1/2-y,1/2+z -y,1/2+x,1/4+z 1/2+y,-x,3/4+z 1/2+x,1/2+y,1/2+z " "-x,-y,z 1/2-y,x,3/4+z y,1/2-x,1/4+z", "x,y,z -x,-y,z y,-x,-z -y,x,-z", "x,y,z -x,-y,z y,-x,-z -y,x,-z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "1/2+y,1/2-x,1/2-z 1/2-y,1/2+x,1/2-z", "x,y,z -x,-y,z -y,x,z y,-x,z -x,-y,-z x,y,-z y,-x,-z -y,x,-z", "x,y,z -x,-y,z -y,x,1/2+z y,-x,1/2+z -x,-y,-z x,y,-z y,-x,1/2-z -y,x,1/2-z", "x,y,z -x,-y,z 1/2-y,1/2+x,z 1/2+y,1/2-x,z 1/2-x,1/2-y,-z 1/2+x,1/2+y,-z " "y,-x,-z -y,x,-z", "x,y,z 1/2-x,1/2-y,z 1/2-y,x,z y,1/2-x,z -x,-y,-z 1/2+x,1/2+y,-z 1/2+y,-x,-z " "-y,1/2+x,-z", "x,y,z -x,-y,z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z 1/2-x,1/2-y,1/2-z " "1/2+x,1/2+y,1/2-z y,-x,-z -y,x,-z", "x,y,z 1/2-x,1/2-y,z -y,1/2+x,1/2+z 1/2+y,-x,1/2+z -x,-y,-z 1/2+x,1/2+y,-z " "y,1/2-x,1/2-z 1/2-y,x,1/2-z", "x,y,z -x,-y,z -y,x,z y,-x,z -x,-y,-z x,y,-z y,-x,-z -y,x,-z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z 1/2+y,1/2-x,1/2-z 1/2-y,1/2+x,1/2-z", "x,y,z 1/2-x,1/2-y,1/2+z -y,1/2+x,1/4+z 1/2+y,-x,3/4+z -x,1/2-y,1/4-z " "1/2+x,y,3/4-z y,-x,-z 1/2-y,1/2+x,1/2-z 1/2+x,1/2+y,1/2+z -x,-y,z " "1/2-y,x,3/4+z y,1/2-x,1/4+z 1/2-x,-y,3/4-z x,1/2+y,1/4-z 1/2+y,1/2-x,1/2-z " "-y,x,-z", "x,y,z 1/2-x,-y,1/2+z 3/4-y,1/4+x,1/4+z 3/4+y,3/4-x,3/4+z -x,-y,-z " "1/2+x,y,1/2-z 1/4+y,3/4-x,3/4-z 1/4-y,1/4+x,1/4-z 1/2+x,1/2+y,1/2+z " "-x,1/2-y,z 1/4-y,3/4+x,3/4+z 1/4+y,1/4-x,1/4+z 1/2-x,1/2-y,1/2-z x,1/2+y,-z " "3/4+y,1/4-x,1/4-z 3/4-y,3/4+x,3/4-z", "x,y,z -x,-y,z -y,x,z y,-x,z -x,y,-z x,-y,-z y,x,-z -y,-x,-z", "x,y,z -x,-y,z 1/2-y,1/2+x,z 1/2+y,1/2-x,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z " "y,x,-z -y,-x,-z", "x,y,z -x,-y,1/2+z -y,x,1/4+z y,-x,3/4+z -x,y,-z x,-y,1/2-z y,x,3/4-z " "-y,-x,1/4-z", "x,y,z -x,-y,1/2+z 1/2-y,1/2+x,1/4+z 1/2+y,1/2-x,3/4+z 1/2-x,1/2+y,1/4-z " "1/2+x,1/2-y,3/4-z y,x,-z -y,-x,1/2-z", "x,y,z -x,-y,z -y,x,1/2+z y,-x,1/2+z -x,y,-z x,-y,-z y,x,1/2-z -y,-x,1/2-z", "x,y,z -x,-y,z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z 1/2-x,1/2+y,1/2-z " "1/2+x,1/2-y,1/2-z y,x,-z -y,-x,-z", "x,y,z -x,-y,1/2+z -y,x,3/4+z y,-x,1/4+z -x,y,-z x,-y,1/2-z y,x,1/4-z " "-y,-x,3/4-z", "x,y,z -x,-y,1/2+z 1/2-y,1/2+x,3/4+z 1/2+y,1/2-x,1/4+z 1/2-x,1/2+y,3/4-z " "1/2+x,1/2-y,1/4-z y,x,-z -y,-x,1/2-z", "x,y,z -x,-y,z -y,x,z y,-x,z -x,y,-z x,-y,-z y,x,-z -y,-x,-z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z " "1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z 1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z", "x,y,z 1/2-x,1/2-y,1/2+z -y,1/2+x,1/4+z 1/2+y,-x,3/4+z 1/2-x,y,3/4-z " "x,1/2-y,1/4-z 1/2+y,1/2+x,1/2-z -y,-x,-z 1/2+x,1/2+y,1/2+z -x,-y,z " "1/2-y,x,3/4+z y,1/2-x,1/4+z -x,1/2+y,1/4-z 1/2+x,-y,3/4-z y,x,-z " "1/2-y,1/2-x,1/2-z", "x,y,z -x,-y,z -y,x,z y,-x,z x,-y,z -x,y,z -y,-x,z y,x,z", "x,y,z -x,-y,z -y,x,z y,-x,z 1/2+x,1/2-y,z 1/2-x,1/2+y,z 1/2-y,1/2-x,z " "1/2+y,1/2+x,z", "x,y,z -x,-y,z -y,x,1/2+z y,-x,1/2+z x,-y,1/2+z -x,y,1/2+z -y,-x,z y,x,z", "x,y,z -x,-y,z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z 1/2+x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2+z -y,-x,z y,x,z", "x,y,z -x,-y,z -y,x,z y,-x,z x,-y,1/2+z -x,y,1/2+z -y,-x,1/2+z y,x,1/2+z", "x,y,z -x,-y,z -y,x,z y,-x,z 1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z " "1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z -x,-y,z -y,x,1/2+z y,-x,1/2+z x,-y,z -x,y,z -y,-x,1/2+z y,x,1/2+z", "x,y,z -x,-y,z -y,x,1/2+z y,-x,1/2+z 1/2+x,1/2-y,z 1/2-x,1/2+y,z " "1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z -x,-y,z -y,x,z y,-x,z x,-y,z -x,y,z -y,-x,z y,x,z 1/2+x,1/2+y,1/2+z " "1/2-x,1/2-y,1/2+z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z 1/2+x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2+z 1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z -x,-y,z -y,x,z y,-x,z x,-y,1/2+z -x,y,1/2+z -y,-x,1/2+z y,x,1/2+z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z " "1/2+x,1/2-y,z 1/2-x,1/2+y,z 1/2-y,1/2-x,z 1/2+y,1/2+x,z", "x,y,z 1/2-x,1/2-y,1/2+z -y,1/2+x,1/4+z 1/2+y,-x,3/4+z x,-y,z " "1/2-x,1/2+y,1/2+z -y,1/2-x,1/4+z 1/2+y,x,3/4+z 1/2+x,1/2+y,1/2+z -x,-y,z " "1/2-y,x,3/4+z y,1/2-x,1/4+z 1/2+x,1/2-y,1/2+z -x,y,z 1/2-y,-x,3/4+z " "y,1/2+x,1/4+z", "x,y,z 1/2-x,1/2-y,1/2+z -y,1/2+x,1/4+z 1/2+y,-x,3/4+z x,-y,1/2+z " "1/2-x,1/2+y,z -y,1/2-x,3/4+z 1/2+y,x,1/4+z 1/2+x,1/2+y,1/2+z -x,-y,z " "1/2-y,x,3/4+z y,1/2-x,1/4+z 1/2+x,1/2-y,z -x,y,1/2+z 1/2-y,-x,1/4+z " "y,1/2+x,3/4+z", "x,y,z -x,-y,z y,-x,-z -y,x,-z -x,y,-z x,-y,-z -y,-x,z y,x,z", "x,y,z -x,-y,z y,-x,-z -y,x,-z -x,y,1/2-z x,-y,1/2-z -y,-x,1/2+z y,x,1/2+z", "x,y,z -x,-y,z y,-x,-z -y,x,-z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2-y,1/2-x,z " "1/2+y,1/2+x,z", "x,y,z -x,-y,z y,-x,-z -y,x,-z 1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z " "1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z -x,-y,z y,-x,-z -y,x,-z x,-y,z -x,y,z y,x,-z -y,-x,-z", "x,y,z -x,-y,z y,-x,-z -y,x,-z x,-y,1/2+z -x,y,1/2+z y,x,1/2-z -y,-x,1/2-z", "x,y,z -x,-y,z y,-x,-z -y,x,-z 1/2+x,1/2-y,z 1/2-x,1/2+y,z 1/2+y,1/2+x,-z " "1/2-y,1/2-x,-z", "x,y,z -x,-y,z y,-x,-z -y,x,-z 1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z " "1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z", "x,y,z -x,-y,z y,-x,-z -y,x,-z x,-y,z -x,y,z y,x,-z -y,-x,-z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2+y,1/2-x,1/2-z 1/2-y,1/2+x,1/2-z " "1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z 1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z", "x,y,z -x,-y,z y,-x,-z -y,x,-z x,-y,1/2+z -x,y,1/2+z y,x,1/2-z -y,-x,1/2-z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2+y,1/2-x,1/2-z 1/2-y,1/2+x,1/2-z " "1/2+x,1/2-y,z 1/2-x,1/2+y,z 1/2+y,1/2+x,-z 1/2-y,1/2-x,-z", "x,y,z -x,-y,z y,-x,-z -y,x,-z -x,y,-z x,-y,-z -y,-x,z y,x,z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2+y,1/2-x,1/2-z 1/2-y,1/2+x,1/2-z " "1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z 1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z -x,-y,z y,-x,-z -y,x,-z 1/2-x,y,3/4-z 1/2+x,-y,3/4-z 1/2-y,-x,3/4+z " "1/2+y,x,3/4+z 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2+y,1/2-x,1/2-z " "1/2-y,1/2+x,1/2-z -x,1/2+y,1/4-z x,1/2-y,1/4-z -y,1/2-x,1/4+z y,1/2+x,1/4+z", "x,y,z -x,-y,z -y,x,z y,-x,z -x,y,-z x,-y,-z y,x,-z -y,-x,-z -x,-y,-z x,y,-z " "y,-x,-z -y,x,-z x,-y,z -x,y,z -y,-x,z y,x,z", "x,y,z -x,-y,z -y,x,z y,-x,z -x,y,1/2-z x,-y,1/2-z y,x,1/2-z -y,-x,1/2-z " "-x,-y,-z x,y,-z y,-x,-z -y,x,-z x,-y,1/2+z -x,y,1/2+z -y,-x,1/2+z y,x,1/2+z", "x,y,z -y,x,z -x,-y,z y,-x,z x,-y,-z y,x,-z -x,y,-z -y,-x,-z 1/2-x,1/2-y,-z " "1/2+y,1/2-x,-z 1/2+x,1/2+y,-z 1/2-y,1/2+x,-z 1/2-x,1/2+y,z 1/2-y,1/2-x,z " "1/2+x,1/2-y,z 1/2+y,1/2+x,z", "x,y,z 1/2-y,x,z 1/2-x,1/2-y,z y,1/2-x,z x,1/2-y,-z y,x,-z 1/2-x,y,-z " "1/2-y,1/2-x,-z -x,-y,-z 1/2+y,-x,-z 1/2+x,1/2+y,-z -y,1/2+x,-z -x,1/2+y,z " "-y,-x,z 1/2+x,-y,z 1/2+y,1/2+x,z", "x,y,z -x,-y,z -y,x,z y,-x,z -x,y,-z x,-y,-z y,x,-z -y,-x,-z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z 1/2+y,1/2-x,1/2-z 1/2-y,1/2+x,1/2-z " "1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z 1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z 1/2-x,1/2-y,z 1/2-y,x,z y,1/2-x,z 1/2-x,y,1/2-z x,1/2-y,1/2-z " "y,x,1/2-z 1/2-y,1/2-x,1/2-z -x,-y,-z 1/2+x,1/2+y,-z 1/2+y,-x,-z -y,1/2+x,-z " "1/2+x,-y,1/2+z -x,1/2+y,1/2+z -y,-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z -x,-y,z -y,x,z y,-x,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2+y,1/2+x,-z " "1/2-y,1/2-x,-z -x,-y,-z x,y,-z y,-x,-z -y,x,-z 1/2+x,1/2-y,z 1/2-x,1/2+y,z " "1/2-y,1/2-x,z 1/2+y,1/2+x,z", "x,y,z -x,-y,z -y,x,z y,-x,z 1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z " "1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z -x,-y,-z x,y,-z y,-x,-z -y,x,-z " "1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z 1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z -x,-y,z 1/2-y,1/2+x,z 1/2+y,1/2-x,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z " "y,x,-z -y,-x,-z 1/2-x,1/2-y,-z 1/2+x,1/2+y,-z y,-x,-z -y,x,-z x,-y,z -x,y,z " "1/2-y,1/2-x,z 1/2+y,1/2+x,z", "x,y,z 1/2-x,1/2-y,z 1/2-y,x,z y,1/2-x,z -x,1/2+y,-z 1/2+x,-y,-z " "1/2+y,1/2+x,-z -y,-x,-z -x,-y,-z 1/2+x,1/2+y,-z 1/2+y,-x,-z -y,1/2+x,-z " "x,1/2-y,z 1/2-x,y,z 1/2-y,1/2-x,z y,x,z", "x,y,z -x,-y,z 1/2-y,1/2+x,z 1/2+y,1/2-x,z 1/2-x,1/2+y,1/2-z " "1/2+x,1/2-y,1/2-z y,x,1/2-z -y,-x,1/2-z 1/2-x,1/2-y,-z 1/2+x,1/2+y,-z " "y,-x,-z -y,x,-z x,-y,1/2+z -x,y,1/2+z 1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z 1/2-x,1/2-y,z 1/2-y,x,z y,1/2-x,z -x,1/2+y,1/2-z 1/2+x,-y,1/2-z " "1/2+y,1/2+x,1/2-z -y,-x,1/2-z -x,-y,-z 1/2+x,1/2+y,-z 1/2+y,-x,-z " "-y,1/2+x,-z x,1/2-y,1/2+z 1/2-x,y,1/2+z 1/2-y,1/2-x,1/2+z y,x,1/2+z", "x,y,z -x,-y,z -y,x,1/2+z y,-x,1/2+z -x,y,-z x,-y,-z y,x,1/2-z -y,-x,1/2-z " "-x,-y,-z x,y,-z y,-x,1/2-z -y,x,1/2-z x,-y,z -x,y,z -y,-x,1/2+z y,x,1/2+z", "x,y,z -x,-y,z -y,x,1/2+z y,-x,1/2+z -x,y,1/2-z x,-y,1/2-z y,x,-z -y,-x,-z " "-x,-y,-z x,y,-z y,-x,1/2-z -y,x,1/2-z x,-y,1/2+z -x,y,1/2+z -y,-x,z y,x,z", "x,y,z -x,-y,z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z -x,y,1/2-z x,-y,1/2-z " "1/2+y,1/2+x,-z 1/2-y,1/2-x,-z 1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z y,-x,-z " "-y,x,-z 1/2+x,1/2-y,z 1/2-x,1/2+y,z -y,-x,1/2+z y,x,1/2+z", "x,y,z 1/2-x,1/2-y,z 1/2-y,x,1/2+z y,1/2-x,1/2+z 1/2-x,y,-z x,1/2-y,-z " "y,x,1/2-z 1/2-y,1/2-x,1/2-z -x,-y,-z 1/2+x,1/2+y,-z 1/2+y,-x,1/2-z " "-y,1/2+x,1/2-z 1/2+x,-y,z -x,1/2+y,z -y,-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z -x,-y,z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z -x,y,-z x,-y,-z " "1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z 1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z " "y,-x,-z -y,x,-z 1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z -y,-x,z y,x,z", "x,y,z 1/2-x,1/2-y,z 1/2-y,x,1/2+z y,1/2-x,1/2+z 1/2-x,y,1/2-z x,1/2-y,1/2-z " "y,x,-z 1/2-y,1/2-x,-z -x,-y,-z 1/2+x,1/2+y,-z 1/2+y,-x,1/2-z -y,1/2+x,1/2-z " "1/2+x,-y,1/2+z -x,1/2+y,1/2+z -y,-x,z 1/2+y,1/2+x,z", "x,y,z -x,-y,z -y,x,1/2+z y,-x,1/2+z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z " "1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z -x,-y,-z x,y,-z y,-x,1/2-z -y,x,1/2-z " "1/2+x,1/2-y,z 1/2-x,1/2+y,z 1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z -x,-y,z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z 1/2-x,1/2+y,1/2-z " "1/2+x,1/2-y,1/2-z y,x,-z -y,-x,-z -x,-y,-z x,y,-z 1/2+y,1/2-x,1/2-z " "1/2-y,1/2+x,1/2-z 1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z -y,-x,z y,x,z", "x,y,z -x,-y,z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z 1/2-x,1/2+y,1/2-z " "1/2+x,1/2-y,1/2-z y,x,-z -y,-x,-z 1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z " "y,-x,-z -y,x,-z x,-y,z -x,y,z 1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z 1/2-x,1/2-y,z 1/2-y,x,1/2+z y,1/2-x,1/2+z -x,1/2+y,-z 1/2+x,-y,-z " "1/2+y,1/2+x,1/2-z -y,-x,1/2-z -x,-y,-z 1/2+x,1/2+y,-z 1/2+y,-x,1/2-z " "-y,1/2+x,1/2-z x,1/2-y,z 1/2-x,y,z 1/2-y,1/2-x,1/2+z y,x,1/2+z", "x,y,z -x,-y,z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z 1/2-x,1/2+y,-z " "1/2+x,1/2-y,-z y,x,1/2-z -y,-x,1/2-z 1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z " "y,-x,-z -y,x,-z x,-y,1/2+z -x,y,1/2+z 1/2-y,1/2-x,z 1/2+y,1/2+x,z", "x,y,z 1/2-x,1/2-y,z 1/2-y,x,1/2+z y,1/2-x,1/2+z -x,1/2+y,1/2-z " "1/2+x,-y,1/2-z 1/2+y,1/2+x,-z -y,-x,-z -x,-y,-z 1/2+x,1/2+y,-z " "1/2+y,-x,1/2-z -y,1/2+x,1/2-z x,1/2-y,1/2+z 1/2-x,y,1/2+z 1/2-y,1/2-x,z " "y,x,z", "x,y,z -x,-y,z -y,x,z y,-x,z -x,y,-z x,-y,-z y,x,-z -y,-x,-z -x,-y,-z x,y,-z " "y,-x,-z -y,x,-z x,-y,z -x,y,z -y,-x,z y,x,z 1/2+x,1/2+y,1/2+z " "1/2-x,1/2-y,1/2+z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z 1/2-x,1/2+y,1/2-z " "1/2+x,1/2-y,1/2-z 1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z 1/2-x,1/2-y,1/2-z " "1/2+x,1/2+y,1/2-z 1/2+y,1/2-x,1/2-z 1/2-y,1/2+x,1/2-z 1/2+x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2+z 1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z", "x,y,z -x,-y,z -y,x,z y,-x,z -x,y,1/2-z x,-y,1/2-z y,x,1/2-z -y,-x,1/2-z " "-x,-y,-z x,y,-z y,-x,-z -y,x,-z x,-y,1/2+z -x,y,1/2+z -y,-x,1/2+z y,x,1/2+z " "1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2-y,1/2+x,1/2+z 1/2+y,1/2-x,1/2+z " "1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2+y,1/2+x,-z 1/2-y,1/2-x,-z " "1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z 1/2+y,1/2-x,1/2-z 1/2-y,1/2+x,1/2-z " "1/2+x,1/2-y,z 1/2-x,1/2+y,z 1/2-y,1/2-x,z 1/2+y,1/2+x,z", "x,y,z 1/2-x,1/2-y,1/2+z -y,1/2+x,1/4+z 1/2+y,-x,3/4+z 1/2-x,y,3/4-z " "x,1/2-y,1/4-z 1/2+y,1/2+x,1/2-z -y,-x,-z -x,1/2-y,1/4-z 1/2+x,y,3/4-z " "y,-x,-z 1/2-y,1/2+x,1/2-z 1/2+x,1/2-y,1/2+z -x,y,z 1/2-y,-x,3/4+z " "y,1/2+x,1/4+z 1/2+x,1/2+y,1/2+z -x,-y,z 1/2-y,x,3/4+z y,1/2-x,1/4+z " "-x,1/2+y,1/4-z 1/2+x,-y,3/4-z y,x,-z 1/2-y,1/2-x,1/2-z 1/2-x,-y,3/4-z " "x,1/2+y,1/4-z 1/2+y,1/2-x,1/2-z -y,x,-z x,-y,z 1/2-x,1/2+y,1/2+z " "-y,1/2-x,1/4+z 1/2+y,x,3/4+z", "x,y,z 1/2-x,-y,1/2+z 1/4-y,3/4+x,1/4+z 1/4+y,1/4-x,3/4+z 1/2-x,y,1/2-z " "x,-y,-z 1/4+y,3/4+x,1/4-z 1/4-y,1/4-x,3/4-z -x,-y,-z 1/2+x,y,1/2-z " "3/4+y,1/4-x,3/4-z 3/4-y,3/4+x,1/4-z 1/2+x,-y,1/2+z -x,y,z 3/4-y,1/4-x,3/4+z " "3/4+y,3/4+x,1/4+z 1/2+x,1/2+y,1/2+z -x,1/2-y,z 3/4-y,1/4+x,3/4+z " "3/4+y,3/4-x,1/4+z -x,1/2+y,-z 1/2+x,1/2-y,1/2-z 3/4+y,1/4+x,3/4-z " "3/4-y,3/4-x,1/4-z 1/2-x,1/2-y,1/2-z x,1/2+y,-z 1/4+y,3/4-x,1/4-z " "1/4-y,1/4+x,3/4-z x,1/2-y,z 1/2-x,1/2+y,1/2+z 1/4-y,3/4-x,1/4+z " "1/4+y,1/4+x,3/4+z", "x,y,z 1/2-x,1/2-y,1/2+z -y,1/2+x,1/4+z 1/2+y,-x,3/4+z 1/2-x,y,1/4-z " "x,1/2-y,3/4-z 1/2+y,1/2+x,-z -y,-x,1/2-z -x,1/2-y,1/4-z 1/2+x,y,3/4-z " "y,-x,-z 1/2-y,1/2+x,1/2-z 1/2+x,1/2-y,z -x,y,1/2+z 1/2-y,-x,1/4+z " "y,1/2+x,3/4+z 1/2+x,1/2+y,1/2+z -x,-y,z 1/2-y,x,3/4+z y,1/2-x,1/4+z " "-x,1/2+y,3/4-z 1/2+x,-y,1/4-z y,x,1/2-z 1/2-y,1/2-x,-z 1/2-x,-y,3/4-z " "x,1/2+y,1/4-z 1/2+y,1/2-x,1/2-z -y,x,-z x,-y,1/2+z 1/2-x,1/2+y,z " "-y,1/2-x,3/4+z 1/2+y,x,1/4+z", "x,y,z 1/2-x,-y,1/2+z 1/4-y,3/4+x,1/4+z 1/4+y,1/4-x,3/4+z 1/2-x,y,-z " "x,-y,1/2-z 1/4+y,3/4+x,3/4-z 1/4-y,1/4-x,1/4-z -x,-y,-z 1/2+x,y,1/2-z " "3/4+y,1/4-x,3/4-z 3/4-y,3/4+x,1/4-z 1/2+x,-y,z -x,y,1/2+z 3/4-y,1/4-x,1/4+z " "3/4+y,3/4+x,3/4+z 1/2+x,1/2+y,1/2+z -x,1/2-y,z 3/4-y,1/4+x,3/4+z " "3/4+y,3/4-x,1/4+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z 3/4+y,1/4+x,1/4-z " "3/4-y,3/4-x,3/4-z 1/2-x,1/2-y,1/2-z x,1/2+y,-z 1/4+y,3/4-x,1/4-z " "1/4-y,1/4+x,3/4-z x,1/2-y,1/2+z 1/2-x,1/2+y,z 1/4-y,3/4-x,3/4+z " "1/4+y,1/4+x,1/4+z", "x,y,z -y,x-y,z y-x,-x,z", "x,y,z -y,x-y,1/3+z y-x,-x,2/3+z", "x,y,z -y,x-y,2/3+z y-x,-x,1/3+z", "x,y,z -y,x-y,z y-x,-x,z " "2/3+x,1/3+y,1/3+z 2/3-y,1/3+x-y,1/3+z " "2/3+y-x,1/3-x,1/3+z 1/3+x,2/3+y,2/3+z " "1/3-y,2/3+x-y,2/3+z 1/3+y-x,2/3-x,2/3+z", "x,y,z z,x,y y,z,x", "x,y,z -y,x-y,z y-x,-x,z -x,-y,-z y,y-x,-z x-y,x,-z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,-z y,y-x,-z x-y,x,-z 2/3+x,1/3+y,1/3+z " "2/3-y,1/3+x-y,1/3+z 2/3+y-x,1/3-x,1/3+z 2/3-x,1/3-y,1/3-z " "2/3+y,1/3+y-x,1/3-z 2/3+x-y,1/3+x,1/3-z 1/3+x,2/3+y,2/3+z " "1/3-y,2/3+x-y,2/3+z 1/3+y-x,2/3-x,2/3+z 1/3-x,2/3-y,2/3-z " "1/3+y,2/3+y-x,2/3-z 1/3+x-y,2/3+x,2/3-z", "x,y,z z,x,y y,z,x -x,-y,-z -z,-x,-y -y,-z,-x", "x,y,z -y,x-y,z y-x,-x,z -y,-x,-z y-x,y,-z x,x-y,-z", "x,y,z -y,x-y,z y-x,-x,z y,x,-z x-y,-y,-z -x,y-x,-z", "x,y,z -y,x-y,1/3+z y-x,-x,2/3+z -y,-x,2/3-z y-x,y,1/3-z x,x-y,-z", "x,y,z -y,x-y,1/3+z y-x,-x,2/3+z y,x,-z x-y,-y,2/3-z -x,y-x,1/3-z", "x,y,z -y,x-y,2/3+z y-x,-x,1/3+z -y,-x,1/3-z y-x,y,2/3-z x,x-y,-z", "x,y,z -y,x-y,2/3+z y-x,-x,1/3+z y,x,-z x-y,-y,1/3-z -x,y-x,2/3-z", "x,y,z -y,x-y,z -x+y,-x,z y,x,-z -x,-x+y,-z x-y,-y,-z 2/3+x,1/3+y,1/3+z " "2/3-y,1/3+x-y,1/3+z 2/3-x+y,1/3-x,1/3+z 2/3+y,1/3+x,1/3-z " "2/3-x,1/3-x+y,1/3-z 2/3+x-y,1/3-y,1/3-z 1/3+x,2/3+y,2/3+z " "1/3-y,2/3+x-y,2/3+z 1/3-x+y,2/3-x,2/3+z 1/3+y,2/3+x,2/3-z " "1/3-x,2/3-x+y,2/3-z 1/3+x-y,2/3-y,2/3-z", "x,y,z z,x,y y,z,x -y,-x,-z -z,-y,-x -x,-z,-y", "x,y,z -y,x-y,z y-x,-x,z -y,-x,z y-x,y,z x,x-y,z", "x,y,z -y,x-y,z y-x,-x,z y,x,z x-y,-y,z -x,y-x,z", "x,y,z -y,x-y,z y-x,-x,z -y,-x,1/2+z y-x,y,1/2+z x,x-y,1/2+z", "x,y,z -y,x-y,z y-x,-x,z y,x,1/2+z x-y,-y,1/2+z -x,y-x,1/2+z", "x,y,z -y,x-y,z y-x,-x,z -y,-x,z y-x,y,z x,x-y,z 2/3+x,1/3+y,1/3+z " "2/3-y,1/3+x-y,1/3+z 2/3+y-x,1/3-x,1/3+z 2/3-y,1/3-x,1/3+z " "2/3+y-x,1/3+y,1/3+z 2/3+x,1/3+x-y,1/3+z 1/3+x,2/3+y,2/3+z " "1/3-y,2/3+x-y,2/3+z 1/3+y-x,2/3-x,2/3+z 1/3-y,2/3-x,2/3+z " "1/3+y-x,2/3+y,2/3+z 1/3+x,2/3+x-y,2/3+z", "x,y,z z,x,y y,z,x y,x,z x,z,y z,y,x", "x,y,z -y,x-y,z y-x,-x,z -y,-x,1/2+z y-x,y,1/2+z x,x-y,1/2+z " "2/3+x,1/3+y,1/3+z 2/3-y,1/3+x-y,1/3+z 2/3+y-x,1/3-x,1/3+z 2/3-y,1/3-x,5/6+z " "2/3+y-x,1/3+y,5/6+z 2/3+x,1/3+x-y,5/6+z 1/3+x,2/3+y,2/3+z " "1/3-y,2/3+x-y,2/3+z 1/3+y-x,2/3-x,2/3+z 1/3-y,2/3-x,1/6+z " "1/3+y-x,2/3+y,1/6+z 1/3+x,2/3+x-y,1/6+z", "x,y,z z,x,y y,z,x 1/2+y,1/2+x,1/2+z 1/2+x,1/2+z,1/2+y 1/2+z,1/2+y,1/2+x", "x,y,z -y,x-y,z y-x,-x,z -y,-x,-z y-x,y,-z x,x-y,-z -x,-y,-z y,y-x,-z " "x-y,x,-z y,x,z x-y,-y,z -x,y-x,z", "x,y,z -y,x-y,z y-x,-x,z -y,-x,1/2-z y-x,y,1/2-z x,x-y,1/2-z -x,-y,-z " "y,y-x,-z x-y,x,-z y,x,1/2+z x-y,-y,1/2+z -x,y-x,1/2+z", "x,y,z -y,x-y,z y-x,-x,z y,x,-z x-y,-y,-z -x,y-x,-z -x,-y,-z y,y-x,-z " "x-y,x,-z -y,-x,z y-x,y,z x,x-y,z", "x,y,z -y,x-y,z y-x,-x,z y,x,1/2-z x-y,-y,1/2-z -x,y-x,1/2-z -x,-y,-z " "y,y-x,-z x-y,x,-z -y,-x,1/2+z y-x,y,1/2+z x,x-y,1/2+z", "x,y,z -y,x-y,z y-x,-x,z y,x,-z x-y,-y,-z -x,y-x,-z -x,-y,-z y,y-x,-z " "x-y,x,-z -y,-x,z y-x,y,z x,x-y,z 2/3+x,1/3+y,1/3+z 2/3-y,1/3+x-y,1/3+z " "2/3+y-x,1/3-x,1/3+z 2/3+y,1/3+x,1/3-z 2/3+x-y,1/3-y,1/3-z " "2/3-x,1/3+y-x,1/3-z 2/3-x,1/3-y,1/3-z 2/3+y,1/3+y-x,1/3-z " "2/3+x-y,1/3+x,1/3-z 2/3-y,1/3-x,1/3+z 2/3+y-x,1/3+y,1/3+z " "2/3+x,1/3+x-y,1/3+z 1/3+x,2/3+y,2/3+z 1/3-y,2/3+x-y,2/3+z " "1/3+y-x,2/3-x,2/3+z 1/3+y,2/3+x,2/3-z 1/3+x-y,2/3-y,2/3-z " "1/3-x,2/3+y-x,2/3-z 1/3-x,2/3-y,2/3-z 1/3+y,2/3+y-x,2/3-z " "1/3+x-y,2/3+x,2/3-z 1/3-y,2/3-x,2/3+z 1/3+y-x,2/3+y,2/3+z " "1/3+x,2/3+x-y,2/3+z", "x,y,z z,x,y y,z,x -y,-x,-z -x,-z,-y -z,-y,-x -x,-y,-z -z,-x,-y -y,-z,-x " "y,x,z x,z,y z,y,x", "x,y,z -y,x-y,z y-x,-x,z y,x,1/2-z x-y,-y,1/2-z -x,y-x,1/2-z -x,-y,-z " "y,y-x,-z x-y,x,-z -y,-x,1/2+z y-x,y,1/2+z x,x-y,1/2+z 2/3+x,1/3+y,1/3+z " "2/3-y,1/3+x-y,1/3+z 2/3+y-x,1/3-x,1/3+z 2/3+y,1/3+x,5/6-z " "2/3+x-y,1/3-y,5/6-z 2/3-x,1/3+y-x,5/6-z 2/3-x,1/3-y,1/3-z " "2/3+y,1/3+y-x,1/3-z 2/3+x-y,1/3+x,1/3-z 2/3-y,1/3-x,5/6+z " "2/3+y-x,1/3+y,5/6+z 2/3+x,1/3+x-y,5/6+z 1/3+x,2/3+y,2/3+z " "1/3-y,2/3+x-y,2/3+z 1/3+y-x,2/3-x,2/3+z 1/3+y,2/3+x,1/6-z " "1/3+x-y,2/3-y,1/6-z 1/3-x,2/3+y-x,1/6-z 1/3-x,2/3-y,2/3-z " "1/3+y,2/3+y-x,2/3-z 1/3+x-y,2/3+x,2/3-z 1/3-y,2/3-x,1/6+z " "1/3+y-x,2/3+y,1/6+z 1/3+x,2/3+x-y,1/6+z", "x,y,z z,x,y y,z,x 1/2-y,1/2-x,1/2-z 1/2-x,1/2-z,1/2-y 1/2-z,1/2-y,1/2-x " "-x,-y,-z -z,-x,-y -y,-z,-x 1/2+y,1/2+x,1/2+z 1/2+x,1/2+z,1/2+y " "1/2+z,1/2+y,1/2+x", "x,y,z -y,x-y,z y-x,-x,z -x,-y,z y,y-x,z x-y,x,z", "x,y,z -y,x-y,1/3+z y-x,-x,2/3+z -x,-y,1/2+z y,y-x,5/6+z x-y,x,1/6+z", "x,y,z -y,x-y,2/3+z y-x,-x,1/3+z -x,-y,1/2+z y,y-x,1/6+z x-y,x,5/6+z", "x,y,z -y,x-y,2/3+z y-x,-x,1/3+z -x,-y,z y,y-x,2/3+z x-y,x,1/3+z", "x,y,z -y,x-y,1/3+z y-x,-x,2/3+z -x,-y,z y,y-x,1/3+z x-y,x,2/3+z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,1/2+z y,y-x,1/2+z x-y,x,1/2+z", "x,y,z -y,x-y,z y-x,-x,z x,y,-z -y,x-y,-z y-x,-x,-z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,z y,y-x,z x-y,x,z -x,-y,-z y,y-x,-z x-y,x,-z " "x,y,-z -y,x-y,-z y-x,-x,-z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,1/2+z y,y-x,1/2+z x-y,x,1/2+z -x,-y,-z " "y,y-x,-z x-y,x,-z x,y,1/2-z -y,x-y,1/2-z y-x,-x,1/2-z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,z y,y-x,z x-y,x,z y,x,-z x-y,-y,-z -x,y-x,-z " "-y,-x,-z y-x,y,-z x,x-y,-z", "x,y,z -y,x-y,1/3+z y-x,-x,2/3+z -x,-y,1/2+z y,y-x,5/6+z x-y,x,1/6+z " "y,x,1/3-z x-y,-y,-z -x,y-x,2/3-z -y,-x,5/6-z y-x,y,1/2-z x,x-y,1/6-z", "x,y,z -y,x-y,2/3+z y-x,-x,1/3+z -x,-y,1/2+z y,y-x,1/6+z x-y,x,5/6+z " "y,x,2/3-z x-y,-y,-z -x,y-x,1/3-z -y,-x,1/6-z y-x,y,1/2-z x,x-y,5/6-z", "x,y,z -y,x-y,2/3+z y-x,-x,1/3+z -x,-y,z y,y-x,2/3+z x-y,x,1/3+z y,x,2/3-z " "x-y,-y,-z -x,y-x,1/3-z -y,-x,2/3-z y-x,y,-z x,x-y,1/3-z", "x,y,z -y,x-y,1/3+z y-x,-x,2/3+z -x,-y,z y,y-x,1/3+z x-y,x,2/3+z y,x,1/3-z " "x-y,-y,-z -x,y-x,2/3-z -y,-x,1/3-z y-x,y,-z x,x-y,2/3-z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,1/2+z y,y-x,1/2+z x-y,x,1/2+z y,x,-z " "x-y,-y,-z -x,y-x,-z -y,-x,1/2-z y-x,y,1/2-z x,x-y,1/2-z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,z y,y-x,z x-y,x,z -y,-x,z y-x,y,z x,x-y,z " "y,x,z x-y,-y,z -x,y-x,z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,z y,y-x,z x-y,x,z -y,-x,1/2+z y-x,y,1/2+z " "x,x-y,1/2+z y,x,1/2+z x-y,-y,1/2+z -x,y-x,1/2+z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,1/2+z y,y-x,1/2+z x-y,x,1/2+z -y,-x,1/2+z " "y-x,y,1/2+z x,x-y,1/2+z y,x,z x-y,-y,z -x,y-x,z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,1/2+z y,y-x,1/2+z x-y,x,1/2+z -y,-x,z y-x,y,z " "x,x-y,z y,x,1/2+z x-y,-y,1/2+z -x,y-x,1/2+z", "x,y,z -y,x-y,z y-x,-x,z x,y,-z -y,x-y,-z y-x,-x,-z -y,-x,z y-x,y,z x,x-y,z " "-y,-x,-z y-x,y,-z x,x-y,-z", "x,y,z -y,x-y,z y-x,-x,z x,y,1/2-z -y,x-y,1/2-z y-x,-x,1/2-z -y,-x,1/2+z " "y-x,y,1/2+z x,x-y,1/2+z -y,-x,-z y-x,y,-z x,x-y,-z", "x,y,z -y,x-y,z y-x,-x,z x,y,-z -y,x-y,-z y-x,-x,-z y,x,-z x-y,-y,-z " "-x,y-x,-z y,x,z x-y,-y,z -x,y-x,z", "x,y,z -y,x-y,z y-x,-x,z x,y,1/2-z -y,x-y,1/2-z y-x,-x,1/2-z y,x,-z " "x-y,-y,-z -x,y-x,-z y,x,1/2+z x-y,-y,1/2+z -x,y-x,1/2+z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,z y,y-x,z x-y,x,z y,x,-z x-y,-y,-z -x,y-x,-z " "-y,-x,-z y-x,y,-z x,x-y,-z -x,-y,-z y,y-x,-z x-y,x,-z x,y,-z -y,x-y,-z " "y-x,-x,-z -y,-x,z y-x,y,z x,x-y,z y,x,z x-y,-y,z -x,y-x,z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,z y,y-x,z x-y,x,z y,x,1/2-z x-y,-y,1/2-z " "-x,y-x,1/2-z -y,-x,1/2-z y-x,y,1/2-z x,x-y,1/2-z -x,-y,-z y,y-x,-z x-y,x,-z " "x,y,-z -y,x-y,-z y-x,-x,-z -y,-x,1/2+z y-x,y,1/2+z x,x-y,1/2+z y,x,1/2+z " "x-y,-y,1/2+z -x,y-x,1/2+z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,1/2+z y,y-x,1/2+z x-y,x,1/2+z y,x,1/2-z " "x-y,-y,1/2-z -x,y-x,1/2-z -y,-x,-z y-x,y,-z x,x-y,-z -x,-y,-z y,y-x,-z " "x-y,x,-z x,y,1/2-z -y,x-y,1/2-z y-x,-x,1/2-z -y,-x,1/2+z y-x,y,1/2+z " "x,x-y,1/2+z y,x,z x-y,-y,z -x,y-x,z", "x,y,z -y,x-y,z y-x,-x,z -x,-y,1/2+z y,y-x,1/2+z x-y,x,1/2+z y,x,-z " "x-y,-y,-z -x,y-x,-z -y,-x,1/2-z y-x,y,1/2-z x,x-y,1/2-z -x,-y,-z y,y-x,-z " "x-y,x,-z x,y,1/2-z -y,x-y,1/2-z y-x,-x,1/2-z -y,-x,z y-x,y,z x,x-y,z " "y,x,1/2+z x-y,-y,1/2+z -x,y-x,1/2+z", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x x,1/2+y,1/2+z -x,1/2-y,1/2+z -x,1/2+y,1/2-z x,1/2-y,1/2-z " "z,1/2+x,1/2+y z,1/2-x,1/2-y -z,1/2-x,1/2+y -z,1/2+x,1/2-y y,1/2+z,1/2+x " "-y,1/2+z,1/2-x y,1/2-z,1/2-x -y,1/2-z,1/2+x 1/2+x,y,1/2+z 1/2-x,-y,1/2+z " "1/2-x,y,1/2-z 1/2+x,-y,1/2-z 1/2+z,x,1/2+y 1/2+z,-x,1/2-y 1/2-z,-x,1/2+y " "1/2-z,x,1/2-y 1/2+y,z,1/2+x 1/2-y,z,1/2-x 1/2+y,-z,1/2-x 1/2-y,-z,1/2+x " "1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2+z,1/2+x,y " "1/2+z,1/2-x,-y 1/2-z,1/2-x,y 1/2-z,1/2+x,-y 1/2+y,1/2+z,x 1/2-y,1/2+z,-x " "1/2+y,1/2-z,-x 1/2-y,1/2-z,x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z 1/2-x,1/2+y,1/2-z " "1/2+x,1/2-y,1/2-z 1/2+z,1/2+x,1/2+y 1/2+z,1/2-x,1/2-y 1/2-z,1/2-x,1/2+y " "1/2-z,1/2+x,1/2-y 1/2+y,1/2+z,1/2+x 1/2-y,1/2+z,1/2-x 1/2+y,1/2-z,1/2-x " "1/2-y,1/2-z,1/2+x", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z z,x,y 1/2+z,1/2-x,-y " "1/2-z,-x,1/2+y -z,1/2+x,1/2-y y,z,x -y,1/2+z,1/2-x 1/2+y,1/2-z,-x " "1/2-y,-z,1/2+x", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z z,x,y 1/2+z,1/2-x,-y " "1/2-z,-x,1/2+y -z,1/2+x,1/2-y y,z,x -y,1/2+z,1/2-x 1/2+y,1/2-z,-x " "1/2-y,-z,1/2+x 1/2+x,1/2+y,1/2+z -x,1/2-y,z 1/2-x,y,-z x,-y,1/2-z " "1/2+z,1/2+x,1/2+y z,-x,1/2-y -z,1/2-x,y 1/2-z,x,-y 1/2+y,1/2+z,1/2+x " "1/2-y,z,-x y,-z,1/2-x -y,1/2-z,x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x -x,-y,-z x,y,-z x,-y,z -x,y,z -z,-x,-y -z,x,y z,x,-y z,-x,y " "-y,-z,-x y,-z,x -y,z,x y,z,-x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x 1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z 1/2+x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2+z 1/2-z,1/2-x,1/2-y 1/2-z,1/2+x,1/2+y 1/2+z,1/2+x,1/2-y " "1/2+z,1/2-x,1/2+y 1/2-y,1/2-z,1/2-x 1/2+y,1/2-z,1/2+x 1/2-y,1/2+z,1/2+x " "1/2+y,1/2+z,1/2-x", "x,y,z 1/2-x,1/2-y,z 1/2-x,y,1/2-z x,1/2-y,1/2-z z,x,y z,1/2-x,1/2-y " "1/2-z,1/2-x,y 1/2-z,x,1/2-y y,z,x 1/2-y,z,1/2-x y,1/2-z,1/2-x 1/2-y,1/2-z,x " "-x,-y,-z 1/2+x,1/2+y,-z 1/2+x,-y,1/2+z -x,1/2+y,1/2+z -z,-x,-y " "-z,1/2+x,1/2+y 1/2+z,1/2+x,-y 1/2+z,-x,1/2+y -y,-z,-x 1/2+y,-z,1/2+x " "-y,1/2+z,1/2+x 1/2+y,1/2+z,-x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x -x,-y,-z x,y,-z x,-y,z -x,y,z -z,-x,-y -z,x,y z,x,-y z,-x,y " "-y,-z,-x y,-z,x -y,z,x y,z,-x x,1/2+y,1/2+z -x,1/2-y,1/2+z -x,1/2+y,1/2-z " "x,1/2-y,1/2-z z,1/2+x,1/2+y z,1/2-x,1/2-y -z,1/2-x,1/2+y -z,1/2+x,1/2-y " "y,1/2+z,1/2+x -y,1/2+z,1/2-x y,1/2-z,1/2-x -y,1/2-z,1/2+x -x,1/2-y,1/2-z " "x,1/2+y,1/2-z x,1/2-y,1/2+z -x,1/2+y,1/2+z -z,1/2-x,1/2-y -z,1/2+x,1/2+y " "z,1/2+x,1/2-y z,1/2-x,1/2+y -y,1/2-z,1/2-x y,1/2-z,1/2+x -y,1/2+z,1/2+x " "y,1/2+z,1/2-x 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2-x,y,1/2-z 1/2+x,-y,1/2-z " "1/2+z,x,1/2+y 1/2+z,-x,1/2-y 1/2-z,-x,1/2+y 1/2-z,x,1/2-y 1/2+y,z,1/2+x " "1/2-y,z,1/2-x 1/2+y,-z,1/2-x 1/2-y,-z,1/2+x 1/2-x,-y,1/2-z 1/2+x,y,1/2-z " "1/2+x,-y,1/2+z 1/2-x,y,1/2+z 1/2-z,-x,1/2-y 1/2-z,x,1/2+y 1/2+z,x,1/2-y " "1/2+z,-x,1/2+y 1/2-y,-z,1/2-x 1/2+y,-z,1/2+x 1/2-y,z,1/2+x 1/2+y,z,1/2-x " "1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2+z,1/2+x,y " "1/2+z,1/2-x,-y 1/2-z,1/2-x,y 1/2-z,1/2+x,-y 1/2+y,1/2+z,x 1/2-y,1/2+z,-x " "1/2+y,1/2-z,-x 1/2-y,1/2-z,x 1/2-x,1/2-y,-z 1/2+x,1/2+y,-z 1/2+x,1/2-y,z " "1/2-x,1/2+y,z 1/2-z,1/2-x,-y 1/2-z,1/2+x,y 1/2+z,1/2+x,-y 1/2+z,1/2-x,y " "1/2-y,1/2-z,-x 1/2+y,1/2-z,x 1/2-y,1/2+z,x 1/2+y,1/2+z,-x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x 1/4-x,1/4-y,1/4-z 1/4+x,1/4+y,1/4-z 1/4+x,1/4-y,1/4+z " "1/4-x,1/4+y,1/4+z 1/4-z,1/4-x,1/4-y 1/4-z,1/4+x,1/4+y 1/4+z,1/4+x,1/4-y " "1/4+z,1/4-x,1/4+y 1/4-y,1/4-z,1/4-x 1/4+y,1/4-z,1/4+x 1/4-y,1/4+z,1/4+x " "1/4+y,1/4+z,1/4-x x,1/2+y,1/2+z -x,1/2-y,1/2+z -x,1/2+y,1/2-z x,1/2-y,1/2-z " "z,1/2+x,1/2+y z,1/2-x,1/2-y -z,1/2-x,1/2+y -z,1/2+x,1/2-y y,1/2+z,1/2+x " "-y,1/2+z,1/2-x y,1/2-z,1/2-x -y,1/2-z,1/2+x 1/4-x,3/4-y,3/4-z " "1/4+x,3/4+y,3/4-z 1/4+x,3/4-y,3/4+z 1/4-x,3/4+y,3/4+z 1/4-z,3/4-x,3/4-y " "1/4-z,3/4+x,3/4+y 1/4+z,3/4+x,3/4-y 1/4+z,3/4-x,3/4+y 1/4-y,3/4-z,3/4-x " "1/4+y,3/4-z,3/4+x 1/4-y,3/4+z,3/4+x 1/4+y,3/4+z,3/4-x 1/2+x,y,1/2+z " "1/2-x,-y,1/2+z 1/2-x,y,1/2-z 1/2+x,-y,1/2-z 1/2+z,x,1/2+y 1/2+z,-x,1/2-y " "1/2-z,-x,1/2+y 1/2-z,x,1/2-y 1/2+y,z,1/2+x 1/2-y,z,1/2-x 1/2+y,-z,1/2-x " "1/2-y,-z,1/2+x 3/4-x,1/4-y,3/4-z 3/4+x,1/4+y,3/4-z 3/4+x,1/4-y,3/4+z " "3/4-x,1/4+y,3/4+z 3/4-z,1/4-x,3/4-y 3/4-z,1/4+x,3/4+y 3/4+z,1/4+x,3/4-y " "3/4+z,1/4-x,3/4+y 3/4-y,1/4-z,3/4-x 3/4+y,1/4-z,3/4+x 3/4-y,1/4+z,3/4+x " "3/4+y,1/4+z,3/4-x 1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z " "1/2+z,1/2+x,y 1/2+z,1/2-x,-y 1/2-z,1/2-x,y 1/2-z,1/2+x,-y 1/2+y,1/2+z,x " "1/2-y,1/2+z,-x 1/2+y,1/2-z,-x 1/2-y,1/2-z,x 3/4-x,3/4-y,1/4-z " "3/4+x,3/4+y,1/4-z 3/4+x,3/4-y,1/4+z 3/4-x,3/4+y,1/4+z 3/4-z,3/4-x,1/4-y " "3/4-z,3/4+x,1/4+y 3/4+z,3/4+x,1/4-y 3/4+z,3/4-x,1/4+y 3/4-y,3/4-z,1/4-x " "3/4+y,3/4-z,1/4+x 3/4-y,3/4+z,1/4+x 3/4+y,3/4+z,1/4-x", "x,y,z 1/4-x,1/4-y,z 1/4-x,y,1/4-z x,1/4-y,1/4-z z,x,y z,1/4-x,1/4-y " "1/4-z,1/4-x,y 1/4-z,x,1/4-y y,z,x 1/4-y,z,1/4-x y,1/4-z,1/4-x 1/4-y,1/4-z,x " "-x,-y,-z 3/4+x,3/4+y,-z 3/4+x,-y,3/4+z -x,3/4+y,3/4+z -z,-x,-y " "-z,3/4+x,3/4+y 3/4+z,3/4+x,-y 3/4+z,-x,3/4+y -y,-z,-x 3/4+y,-z,3/4+x " "-y,3/4+z,3/4+x 3/4+y,3/4+z,-x x,1/2+y,1/2+z 1/4-x,3/4-y,1/2+z " "1/4-x,1/2+y,3/4-z x,3/4-y,3/4-z z,1/2+x,1/2+y z,3/4-x,3/4-y " "1/4-z,3/4-x,1/2+y 1/4-z,1/2+x,3/4-y y,1/2+z,1/2+x 1/4-y,1/2+z,3/4-x " "y,3/4-z,3/4-x 1/4-y,3/4-z,1/2+x -x,1/2-y,1/2-z 3/4+x,1/4+y,1/2-z " "3/4+x,1/2-y,1/4+z -x,1/4+y,1/4+z -z,1/2-x,1/2-y -z,1/4+x,1/4+y " "3/4+z,1/4+x,1/2-y 3/4+z,1/2-x,1/4+y -y,1/2-z,1/2-x 3/4+y,1/2-z,1/4+x " "-y,1/4+z,1/4+x 3/4+y,1/4+z,1/2-x 1/2+x,y,1/2+z 3/4-x,1/4-y,1/2+z " "3/4-x,y,3/4-z 1/2+x,1/4-y,3/4-z 1/2+z,x,1/2+y 1/2+z,1/4-x,3/4-y " "3/4-z,1/4-x,1/2+y 3/4-z,x,3/4-y 1/2+y,z,1/2+x 3/4-y,z,3/4-x " "1/2+y,1/4-z,3/4-x 3/4-y,1/4-z,1/2+x 1/2-x,-y,1/2-z 1/4+x,3/4+y,1/2-z " "1/4+x,-y,1/4+z 1/2-x,3/4+y,1/4+z 1/2-z,-x,1/2-y 1/2-z,3/4+x,1/4+y " "1/4+z,3/4+x,1/2-y 1/4+z,-x,1/4+y 1/2-y,-z,1/2-x 1/4+y,-z,1/4+x " "1/2-y,3/4+z,1/4+x 1/4+y,3/4+z,1/2-x 1/2+x,1/2+y,z 3/4-x,3/4-y,z " "3/4-x,1/2+y,1/4-z 1/2+x,3/4-y,1/4-z 1/2+z,1/2+x,y 1/2+z,3/4-x,1/4-y " "3/4-z,3/4-x,y 3/4-z,1/2+x,1/4-y 1/2+y,1/2+z,x 3/4-y,1/2+z,1/4-x " "1/2+y,3/4-z,1/4-x 3/4-y,3/4-z,x 1/2-x,1/2-y,-z 1/4+x,1/4+y,-z " "1/4+x,1/2-y,3/4+z 1/2-x,1/4+y,3/4+z 1/2-z,1/2-x,-y 1/2-z,1/4+x,3/4+y " "1/4+z,1/4+x,-y 1/4+z,1/2-x,3/4+y 1/2-y,1/2-z,-x 1/4+y,1/2-z,3/4+x " "1/2-y,1/4+z,3/4+x 1/4+y,1/4+z,-x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x -x,-y,-z x,y,-z x,-y,z -x,y,z -z,-x,-y -z,x,y z,x,-y z,-x,y " "-y,-z,-x y,-z,x -y,z,x y,z,-x 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z 1/2+z,1/2+x,1/2+y 1/2+z,1/2-x,1/2-y " "1/2-z,1/2-x,1/2+y 1/2-z,1/2+x,1/2-y 1/2+y,1/2+z,1/2+x 1/2-y,1/2+z,1/2-x " "1/2+y,1/2-z,1/2-x 1/2-y,1/2-z,1/2+x 1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z " "1/2+x,1/2-y,1/2+z 1/2-x,1/2+y,1/2+z 1/2-z,1/2-x,1/2-y 1/2-z,1/2+x,1/2+y " "1/2+z,1/2+x,1/2-y 1/2+z,1/2-x,1/2+y 1/2-y,1/2-z,1/2-x 1/2+y,1/2-z,1/2+x " "1/2-y,1/2+z,1/2+x 1/2+y,1/2+z,1/2-x", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z z,x,y 1/2+z,1/2-x,-y " "1/2-z,-x,1/2+y -z,1/2+x,1/2-y y,z,x -y,1/2+z,1/2-x 1/2+y,1/2-z,-x " "1/2-y,-z,1/2+x -x,-y,-z 1/2+x,y,1/2-z x,1/2-y,1/2+z 1/2-x,1/2+y,z -z,-x,-y " "1/2-z,1/2+x,y 1/2+z,x,1/2-y z,1/2-x,1/2+y -y,-z,-x y,1/2-z,1/2+x " "1/2-y,1/2+z,x 1/2+y,z,1/2-x", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z z,x,y 1/2+z,1/2-x,-y " "1/2-z,-x,1/2+y -z,1/2+x,1/2-y y,z,x -y,1/2+z,1/2-x 1/2+y,1/2-z,-x " "1/2-y,-z,1/2+x -x,-y,-z 1/2+x,y,1/2-z x,1/2-y,1/2+z 1/2-x,1/2+y,z -z,-x,-y " "1/2-z,1/2+x,y 1/2+z,x,1/2-y z,1/2-x,1/2+y -y,-z,-x y,1/2-z,1/2+x " "1/2-y,1/2+z,x 1/2+y,z,1/2-x 1/2+x,1/2+y,1/2+z -x,1/2-y,z 1/2-x,y,-z " "x,-y,1/2-z 1/2+z,1/2+x,1/2+y z,-x,1/2-y -z,1/2-x,y 1/2-z,x,-y " "1/2+y,1/2+z,1/2+x 1/2-y,z,-x y,-z,1/2-x -y,1/2-z,x 1/2-x,1/2-y,1/2-z " "x,1/2+y,-z 1/2+x,-y,z -x,y,1/2+z 1/2-z,1/2-x,1/2-y -z,x,1/2+y z,1/2+x,-y " "1/2+z,-x,y 1/2-y,1/2-z,1/2-x 1/2+y,-z,x -y,z,1/2+x y,1/2+z,-x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x y,x,-z -y,-x,-z y,-x,z -y,x,z x,z,-y -x,z,y -x,-z,-y x,-z,y " "z,y,-x z,-y,x -z,y,x -z,-y,-x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x 1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z 1/2+y,1/2-x,1/2+z " "1/2-y,1/2+x,1/2+z 1/2+x,1/2+z,1/2-y 1/2-x,1/2+z,1/2+y 1/2-x,1/2-z,1/2-y " "1/2+x,1/2-z,1/2+y 1/2+z,1/2+y,1/2-x 1/2+z,1/2-y,1/2+x 1/2-z,1/2+y,1/2+x " "1/2-z,1/2-y,1/2-x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x y,x,-z -y,-x,-z y,-x,z -y,x,z x,z,-y -x,z,y -x,-z,-y x,-z,y " "z,y,-x z,-y,x -z,y,x -z,-y,-x x,1/2+y,1/2+z -x,1/2-y,1/2+z -x,1/2+y,1/2-z " "x,1/2-y,1/2-z z,1/2+x,1/2+y z,1/2-x,1/2-y -z,1/2-x,1/2+y -z,1/2+x,1/2-y " "y,1/2+z,1/2+x -y,1/2+z,1/2-x y,1/2-z,1/2-x -y,1/2-z,1/2+x y,1/2+x,1/2-z " "-y,1/2-x,1/2-z y,1/2-x,1/2+z -y,1/2+x,1/2+z x,1/2+z,1/2-y -x,1/2+z,1/2+y " "-x,1/2-z,1/2-y x,1/2-z,1/2+y z,1/2+y,1/2-x z,1/2-y,1/2+x -z,1/2+y,1/2+x " "-z,1/2-y,1/2-x 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2-x,y,1/2-z 1/2+x,-y,1/2-z " "1/2+z,x,1/2+y 1/2+z,-x,1/2-y 1/2-z,-x,1/2+y 1/2-z,x,1/2-y 1/2+y,z,1/2+x " "1/2-y,z,1/2-x 1/2+y,-z,1/2-x 1/2-y,-z,1/2+x 1/2+y,x,1/2-z 1/2-y,-x,1/2-z " "1/2+y,-x,1/2+z 1/2-y,x,1/2+z 1/2+x,z,1/2-y 1/2-x,z,1/2+y 1/2-x,-z,1/2-y " "1/2+x,-z,1/2+y 1/2+z,y,1/2-x 1/2+z,-y,1/2+x 1/2-z,y,1/2+x 1/2-z,-y,1/2-x " "1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2+z,1/2+x,y " "1/2+z,1/2-x,-y 1/2-z,1/2-x,y 1/2-z,1/2+x,-y 1/2+y,1/2+z,x 1/2-y,1/2+z,-x " "1/2+y,1/2-z,-x 1/2-y,1/2-z,x 1/2+y,1/2+x,-z 1/2-y,1/2-x,-z 1/2+y,1/2-x,z " "1/2-y,1/2+x,z 1/2+x,1/2+z,-y 1/2-x,1/2+z,y 1/2-x,1/2-z,-y 1/2+x,1/2-z,y " "1/2+z,1/2+y,-x 1/2+z,1/2-y,x 1/2-z,1/2+y,x 1/2-z,1/2-y,-x", "x,y,z -x,1/2-y,1/2+z 1/2-x,1/2+y,-z 1/2+x,-y,1/2-z z,x,y 1/2+z,-x,1/2-y " "-z,1/2-x,1/2+y 1/2-z,1/2+x,-y y,z,x 1/2-y,1/2+z,-x 1/2+y,-z,1/2-x " "-y,1/2-z,1/2+x 3/4+y,1/4+x,3/4-z 1/4-y,1/4-x,1/4-z 1/4+y,3/4-x,3/4+z " "3/4-y,3/4+x,1/4+z 3/4+x,1/4+z,3/4-y 3/4-x,3/4+z,1/4+y 1/4-x,1/4-z,1/4-y " "1/4+x,3/4-z,3/4+y 3/4+z,1/4+y,3/4-x 1/4+z,3/4-y,3/4+x 3/4-z,3/4+y,1/4+x " "1/4-z,1/4-y,1/4-x x,1/2+y,1/2+z -x,-y,z 1/2-x,y,1/2-z 1/2+x,1/2-y,-z " "z,1/2+x,1/2+y 1/2+z,1/2-x,-y -z,-x,y 1/2-z,x,1/2-y y,1/2+z,1/2+x " "1/2-y,z,1/2-x 1/2+y,1/2-z,-x -y,-z,x 3/4+y,3/4+x,1/4-z 1/4-y,3/4-x,3/4-z " "1/4+y,1/4-x,1/4+z 3/4-y,1/4+x,3/4+z 3/4+x,3/4+z,1/4-y 3/4-x,1/4+z,3/4+y " "1/4-x,3/4-z,3/4-y 1/4+x,1/4-z,1/4+y 3/4+z,3/4+y,1/4-x 1/4+z,1/4-y,1/4+x " "3/4-z,1/4+y,3/4+x 1/4-z,3/4-y,3/4-x 1/2+x,y,1/2+z 1/2-x,1/2-y,z " "-x,1/2+y,1/2-z x,-y,-z 1/2+z,x,1/2+y z,-x,-y 1/2-z,1/2-x,y -z,1/2+x,1/2-y " "1/2+y,z,1/2+x -y,1/2+z,1/2-x y,-z,-x 1/2-y,1/2-z,x 1/4+y,1/4+x,1/4-z " "3/4-y,1/4-x,3/4-z 3/4+y,3/4-x,1/4+z 1/4-y,3/4+x,3/4+z 1/4+x,1/4+z,1/4-y " "1/4-x,3/4+z,3/4+y 3/4-x,1/4-z,3/4-y 3/4+x,3/4-z,1/4+y 1/4+z,1/4+y,1/4-x " "3/4+z,3/4-y,1/4+x 1/4-z,3/4+y,3/4+x 3/4-z,1/4-y,3/4-x 1/2+x,1/2+y,z " "1/2-x,-y,1/2+z -x,y,-z x,1/2-y,1/2-z 1/2+z,1/2+x,y z,1/2-x,1/2-y " "1/2-z,-x,1/2+y -z,x,-y 1/2+y,1/2+z,x -y,z,-x y,1/2-z,1/2-x 1/2-y,-z,1/2+x " "1/4+y,3/4+x,3/4-z 3/4-y,3/4-x,1/4-z 3/4+y,1/4-x,3/4+z 1/4-y,1/4+x,1/4+z " "1/4+x,3/4+z,3/4-y 1/4-x,1/4+z,1/4+y 3/4-x,3/4-z,1/4-y 3/4+x,1/4-z,3/4+y " "1/4+z,3/4+y,3/4-x 3/4+z,1/4-y,3/4+x 1/4-z,1/4+y,1/4+x 3/4-z,3/4-y,1/4-x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x y,x,-z -y,-x,-z y,-x,z -y,x,z x,z,-y -x,z,y -x,-z,-y x,-z,y " "z,y,-x z,-y,x -z,y,x -z,-y,-x 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z 1/2+z,1/2+x,1/2+y 1/2+z,1/2-x,1/2-y " "1/2-z,1/2-x,1/2+y 1/2-z,1/2+x,1/2-y 1/2+y,1/2+z,1/2+x 1/2-y,1/2+z,1/2-x " "1/2+y,1/2-z,1/2-x 1/2-y,1/2-z,1/2+x 1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z " "1/2+y,1/2-x,1/2+z 1/2-y,1/2+x,1/2+z 1/2+x,1/2+z,1/2-y 1/2-x,1/2+z,1/2+y " "1/2-x,1/2-z,1/2-y 1/2+x,1/2-z,1/2+y 1/2+z,1/2+y,1/2-x 1/2+z,1/2-y,1/2+x " "1/2-z,1/2+y,1/2+x 1/2-z,1/2-y,1/2-x", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z z,x,y 1/2+z,1/2-x,-y " "1/2-z,-x,1/2+y -z,1/2+x,1/2-y y,z,x -y,1/2+z,1/2-x 1/2+y,1/2-z,-x " "1/2-y,-z,1/2+x 1/4+y,3/4+x,3/4-z 1/4-y,1/4-x,1/4-z 3/4+y,3/4-x,1/4+z " "3/4-y,1/4+x,3/4+z 1/4+x,3/4+z,3/4-y 3/4-x,1/4+z,3/4+y 1/4-x,1/4-z,1/4-y " "3/4+x,3/4-z,1/4+y 1/4+z,3/4+y,3/4-x 3/4+z,3/4-y,1/4+x 3/4-z,1/4+y,3/4+x " "1/4-z,1/4-y,1/4-x", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z z,x,y 1/2+z,1/2-x,-y " "1/2-z,-x,1/2+y -z,1/2+x,1/2-y y,z,x -y,1/2+z,1/2-x 1/2+y,1/2-z,-x " "1/2-y,-z,1/2+x 3/4+y,1/4+x,1/4-z 3/4-y,3/4-x,3/4-z 1/4+y,1/4-x,3/4+z " "1/4-y,3/4+x,1/4+z 3/4+x,1/4+z,1/4-y 1/4-x,3/4+z,1/4+y 3/4-x,3/4-z,3/4-y " "1/4+x,1/4-z,3/4+y 3/4+z,1/4+y,1/4-x 1/4+z,1/4-y,3/4+x 1/4-z,3/4+y,1/4+x " "3/4-z,3/4-y,3/4-x", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z z,x,y 1/2+z,1/2-x,-y " "1/2-z,-x,1/2+y -z,1/2+x,1/2-y y,z,x -y,1/2+z,1/2-x 1/2+y,1/2-z,-x " "1/2-y,-z,1/2+x 3/4+y,1/4+x,1/4-z 3/4-y,3/4-x,3/4-z 1/4+y,1/4-x,3/4+z " "1/4-y,3/4+x,1/4+z 3/4+x,1/4+z,1/4-y 1/4-x,3/4+z,1/4+y 3/4-x,3/4-z,3/4-y " "1/4+x,1/4-z,3/4+y 3/4+z,1/4+y,1/4-x 1/4+z,1/4-y,3/4+x 1/4-z,3/4+y,1/4+x " "3/4-z,3/4-y,3/4-x 1/2+x,1/2+y,1/2+z -x,1/2-y,z 1/2-x,y,-z x,-y,1/2-z " "1/2+z,1/2+x,1/2+y z,-x,1/2-y -z,1/2-x,y 1/2-z,x,-y 1/2+y,1/2+z,1/2+x " "1/2-y,z,-x y,-z,1/2-x -y,1/2-z,x 1/4+y,3/4+x,3/4-z 1/4-y,1/4-x,1/4-z " "3/4+y,3/4-x,1/4+z 3/4-y,1/4+x,3/4+z 1/4+x,3/4+z,3/4-y 3/4-x,1/4+z,3/4+y " "1/4-x,1/4-z,1/4-y 3/4+x,3/4-z,1/4+y 1/4+z,3/4+y,3/4-x 3/4+z,3/4-y,1/4+x " "3/4-z,1/4+y,3/4+x 1/4-z,1/4-y,1/4-x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x y,x,z -y,-x,z y,-x,-z -y,x,-z x,z,y -x,z,-y -x,-z,y x,-z,-y " "z,y,x z,-y,-x -z,y,-x -z,-y,x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x y,x,z -y,-x,z y,-x,-z -y,x,-z x,z,y -x,z,-y -x,-z,y x,-z,-y " "z,y,x z,-y,-x -z,y,-x -z,-y,x x,1/2+y,1/2+z -x,1/2-y,1/2+z -x,1/2+y,1/2-z " "x,1/2-y,1/2-z z,1/2+x,1/2+y z,1/2-x,1/2-y -z,1/2-x,1/2+y -z,1/2+x,1/2-y " "y,1/2+z,1/2+x -y,1/2+z,1/2-x y,1/2-z,1/2-x -y,1/2-z,1/2+x y,1/2+x,1/2+z " "-y,1/2-x,1/2+z y,1/2-x,1/2-z -y,1/2+x,1/2-z x,1/2+z,1/2+y -x,1/2+z,1/2-y " "-x,1/2-z,1/2+y x,1/2-z,1/2-y z,1/2+y,1/2+x z,1/2-y,1/2-x -z,1/2+y,1/2-x " "-z,1/2-y,1/2+x 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2-x,y,1/2-z 1/2+x,-y,1/2-z " "1/2+z,x,1/2+y 1/2+z,-x,1/2-y 1/2-z,-x,1/2+y 1/2-z,x,1/2-y 1/2+y,z,1/2+x " "1/2-y,z,1/2-x 1/2+y,-z,1/2-x 1/2-y,-z,1/2+x 1/2+y,x,1/2+z 1/2-y,-x,1/2+z " "1/2+y,-x,1/2-z 1/2-y,x,1/2-z 1/2+x,z,1/2+y 1/2-x,z,1/2-y 1/2-x,-z,1/2+y " "1/2+x,-z,1/2-y 1/2+z,y,1/2+x 1/2+z,-y,1/2-x 1/2-z,y,1/2-x 1/2-z,-y,1/2+x " "1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2+z,1/2+x,y " "1/2+z,1/2-x,-y 1/2-z,1/2-x,y 1/2-z,1/2+x,-y 1/2+y,1/2+z,x 1/2-y,1/2+z,-x " "1/2+y,1/2-z,-x 1/2-y,1/2-z,x 1/2+y,1/2+x,z 1/2-y,1/2-x,z 1/2+y,1/2-x,-z " "1/2-y,1/2+x,-z 1/2+x,1/2+z,y 1/2-x,1/2+z,-y 1/2-x,1/2-z,y 1/2+x,1/2-z,-y " "1/2+z,1/2+y,x 1/2+z,1/2-y,-x 1/2-z,1/2+y,-x 1/2-z,1/2-y,x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x y,x,z -y,-x,z y,-x,-z -y,x,-z x,z,y -x,z,-y -x,-z,y x,-z,-y " "z,y,x z,-y,-x -z,y,-x -z,-y,x 1/2+x,1/2+y,1/2+z 1/2-x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2-z 1/2+x,1/2-y,1/2-z 1/2+z,1/2+x,1/2+y 1/2+z,1/2-x,1/2-y " "1/2-z,1/2-x,1/2+y 1/2-z,1/2+x,1/2-y 1/2+y,1/2+z,1/2+x 1/2-y,1/2+z,1/2-x " "1/2+y,1/2-z,1/2-x 1/2-y,1/2-z,1/2+x 1/2+y,1/2+x,1/2+z 1/2-y,1/2-x,1/2+z " "1/2+y,1/2-x,1/2-z 1/2-y,1/2+x,1/2-z 1/2+x,1/2+z,1/2+y 1/2-x,1/2+z,1/2-y " "1/2-x,1/2-z,1/2+y 1/2+x,1/2-z,1/2-y 1/2+z,1/2+y,1/2+x 1/2+z,1/2-y,1/2-x " "1/2-z,1/2+y,1/2-x 1/2-z,1/2-y,1/2+x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x 1/2+y,1/2+x,1/2+z 1/2-y,1/2-x,1/2+z 1/2+y,1/2-x,1/2-z " "1/2-y,1/2+x,1/2-z 1/2+x,1/2+z,1/2+y 1/2-x,1/2+z,1/2-y 1/2-x,1/2-z,1/2+y " "1/2+x,1/2-z,1/2-y 1/2+z,1/2+y,1/2+x 1/2+z,1/2-y,1/2-x 1/2-z,1/2+y,1/2-x " "1/2-z,1/2-y,1/2+x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x 1/2+y,1/2+x,1/2+z 1/2-y,1/2-x,1/2+z 1/2+y,1/2-x,1/2-z " "1/2-y,1/2+x,1/2-z 1/2+x,1/2+z,1/2+y 1/2-x,1/2+z,1/2-y 1/2-x,1/2-z,1/2+y " "1/2+x,1/2-z,1/2-y 1/2+z,1/2+y,1/2+x 1/2+z,1/2-y,1/2-x 1/2-z,1/2+y,1/2-x " "1/2-z,1/2-y,1/2+x x,1/2+y,1/2+z -x,1/2-y,1/2+z -x,1/2+y,1/2-z x,1/2-y,1/2-z " "z,1/2+x,1/2+y z,1/2-x,1/2-y -z,1/2-x,1/2+y -z,1/2+x,1/2-y y,1/2+z,1/2+x " "-y,1/2+z,1/2-x y,1/2-z,1/2-x -y,1/2-z,1/2+x 1/2+y,x,z 1/2-y,-x,z " "1/2+y,-x,-z 1/2-y,x,-z 1/2+x,z,y 1/2-x,z,-y 1/2-x,-z,y 1/2+x,-z,-y " "1/2+z,y,x 1/2+z,-y,-x 1/2-z,y,-x 1/2-z,-y,x 1/2+x,y,1/2+z 1/2-x,-y,1/2+z " "1/2-x,y,1/2-z 1/2+x,-y,1/2-z 1/2+z,x,1/2+y 1/2+z,-x,1/2-y 1/2-z,-x,1/2+y " "1/2-z,x,1/2-y 1/2+y,z,1/2+x 1/2-y,z,1/2-x 1/2+y,-z,1/2-x 1/2-y,-z,1/2+x " "y,1/2+x,z -y,1/2-x,z y,1/2-x,-z -y,1/2+x,-z x,1/2+z,y -x,1/2+z,-y " "-x,1/2-z,y x,1/2-z,-y z,1/2+y,x z,1/2-y,-x -z,1/2+y,-x -z,1/2-y,x " "1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2+z,1/2+x,y " "1/2+z,1/2-x,-y 1/2-z,1/2-x,y 1/2-z,1/2+x,-y 1/2+y,1/2+z,x 1/2-y,1/2+z,-x " "1/2+y,1/2-z,-x 1/2-y,1/2-z,x y,x,1/2+z -y,-x,1/2+z y,-x,1/2-z -y,x,1/2-z " "x,z,1/2+y -x,z,1/2-y -x,-z,1/2+y x,-z,1/2-y z,y,1/2+x z,-y,1/2-x -z,y,1/2-x " "-z,-y,1/2+x", "x,y,z 1/2-x,-y,1/2+z -x,1/2+y,1/2-z 1/2+x,1/2-y,-z z,x,y 1/2+z,1/2-x,-y " "1/2-z,-x,1/2+y -z,1/2+x,1/2-y y,z,x -y,1/2+z,1/2-x 1/2+y,1/2-z,-x " "1/2-y,-z,1/2+x 1/4+y,1/4+x,1/4+z 1/4-y,3/4-x,3/4+z 3/4+y,1/4-x,3/4-z " "3/4-y,3/4+x,1/4-z 1/4+x,1/4+z,1/4+y 3/4-x,3/4+z,1/4-y 1/4-x,3/4-z,3/4+y " "3/4+x,1/4-z,3/4-y 1/4+z,1/4+y,1/4+x 3/4+z,1/4-y,3/4-x 3/4-z,3/4+y,1/4-x " "1/4-z,3/4-y,3/4+x 1/2+x,1/2+y,1/2+z -x,1/2-y,z 1/2-x,y,-z x,-y,1/2-z " "1/2+z,1/2+x,1/2+y z,-x,1/2-y -z,1/2-x,y 1/2-z,x,-y 1/2+y,1/2+z,1/2+x " "1/2-y,z,-x y,-z,1/2-x -y,1/2-z,x 3/4+y,3/4+x,3/4+z 3/4-y,1/4-x,1/4+z " "1/4+y,3/4-x,1/4-z 1/4-y,1/4+x,3/4-z 3/4+x,3/4+z,3/4+y 1/4-x,1/4+z,3/4-y " "3/4-x,1/4-z,1/4+y 1/4+x,3/4-z,1/4-y 3/4+z,3/4+y,3/4+x 1/4+z,3/4-y,1/4-x " "1/4-z,1/4+y,3/4-x 3/4-z,1/4-y,1/4+x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x y,x,-z -y,-x,-z y,-x,z -y,x,z x,z,-y -x,z,y -x,-z,-y x,-z,y " "z,y,-x z,-y,x -z,y,x -z,-y,-x -x,-y,-z x,y,-z x,-y,z -x,y,z -z,-x,-y -z,x,y " "z,x,-y z,-x,y -y,-z,-x y,-z,x -y,z,x y,z,-x -y,-x,z y,x,z -y,x,-z y,-x,-z " "-x,-z,y x,-z,-y x,z,y -x,z,-y -z,-y,x -z,y,-x z,-y,-x z,y,x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x y,x,-z -y,-x,-z y,-x,z -y,x,z x,z,-y -x,z,y -x,-z,-y x,-z,y " "z,y,-x z,-y,x -z,y,x -z,-y,-x -x+1/2,-y+1/2,-z+1/2 x+1/2,y+1/2,-z+1/2 " "x+1/2,-y+1/2,z+1/2 -x+1/2,y+1/2,z+1/2 -z+1/2,-x+1/2,-y+1/2 " "-z+1/2,x+1/2,y+1/2 z+1/2,x+1/2,-y+1/2 z+1/2,-x+1/2,y+1/2 " "-y+1/2,-z+1/2,-x+1/2 y+1/2,-z+1/2,x+1/2 -y+1/2,z+1/2,x+1/2 " "y+1/2,z+1/2,-x+1/2 -y+1/2,-x+1/2,z+1/2 y+1/2,x+1/2,z+1/2 " "-y+1/2,x+1/2,-z+1/2 y+1/2,-x+1/2,-z+1/2 -x+1/2,-z+1/2,y+1/2 " "x+1/2,-z+1/2,-y+1/2 x+1/2,z+1/2,y+1/2 -x+1/2,z+1/2,-y+1/2 " "-z+1/2,-y+1/2,x+1/2 -z+1/2,y+1/2,-x+1/2 z+1/2,-y+1/2,-x+1/2 " "z+1/2,y+1/2,x+1/2", "x,y,z 1/2-x,1/2-y,z 1/2-x,y,1/2-z x,1/2-y,1/2-z z,x,y z,1/2-x,1/2-y " "1/2-z,1/2-x,y 1/2-z,x,1/2-y y,z,x 1/2-y,z,1/2-x y,1/2-z,1/2-x 1/2-y,1/2-z,x " "y,x,1/2-z 1/2-y,1/2-x,1/2-z y,1/2-x,z 1/2-y,x,z x,z,1/2-y 1/2-x,z,y " "1/2-x,1/2-z,1/2-y x,1/2-z,y z,y,1/2-x z,1/2-y,x 1/2-z,y,x 1/2-z,1/2-y,1/2-x " "-x,-y,-z 1/2+x,1/2+y,-z 1/2+x,-y,1/2+z -x,1/2+y,1/2+z -z,-x,-y " "-z,1/2+x,1/2+y 1/2+z,1/2+x,-y 1/2+z,-x,1/2+y -y,-z,-x 1/2+y,-z,1/2+x " "-y,1/2+z,1/2+x 1/2+y,1/2+z,-x -y,-x,1/2+z 1/2+y,1/2+x,1/2+z -y,1/2+x,-z " "1/2+y,-x,-z -x,-z,1/2+y 1/2+x,-z,-y 1/2+x,1/2+z,1/2+y -x,1/2+z,-y " "-z,-y,1/2+x -z,1/2+y,-x 1/2+z,-y,-x 1/2+z,1/2+y,1/2+x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x 1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z 1/2+y,1/2-x,1/2+z " "1/2-y,1/2+x,1/2+z 1/2+x,1/2+z,1/2-y 1/2-x,1/2+z,1/2+y 1/2-x,1/2-z,1/2-y " "1/2+x,1/2-z,1/2+y 1/2+z,1/2+y,1/2-x 1/2+z,1/2-y,1/2+x 1/2-z,1/2+y,1/2+x " "1/2-z,1/2-y,1/2-x -x,-y,-z x,y,-z x,-y,z -x,y,z -z,-x,-y -z,x,y z,x,-y " "z,-x,y -y,-z,-x y,-z,x -y,z,x y,z,-x 1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z " "1/2-y,1/2+x,1/2-z 1/2+y,1/2-x,1/2-z 1/2-x,1/2-z,1/2+y 1/2+x,1/2-z,1/2-y " "1/2+x,1/2+z,1/2+y 1/2-x,1/2+z,1/2-y 1/2-z,1/2-y,1/2+x 1/2-z,1/2+y,1/2-x " "1/2+z,1/2-y,1/2-x 1/2+z,1/2+y,1/2+x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x 1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z 1/2+y,1/2-x,1/2+z " "1/2-y,1/2+x,1/2+z 1/2+x,1/2+z,1/2-y 1/2-x,1/2+z,1/2+y 1/2-x,1/2-z,1/2-y " "1/2+x,1/2-z,1/2+y 1/2+z,1/2+y,1/2-x 1/2+z,1/2-y,1/2+x 1/2-z,1/2+y,1/2+x " "1/2-z,1/2-y,1/2-x 1/2-x,1/2-y,1/2-z 1/2+x,1/2+y,1/2-z 1/2+x,1/2-y,1/2+z " "1/2-x,1/2+y,1/2+z 1/2-z,1/2-x,1/2-y 1/2-z,1/2+x,1/2+y 1/2+z,1/2+x,1/2-y " "1/2+z,1/2-x,1/2+y 1/2-y,1/2-z,1/2-x 1/2+y,1/2-z,1/2+x 1/2-y,1/2+z,1/2+x " "1/2+y,1/2+z,1/2-x -y,-x,z y,x,z -y,x,-z y,-x,-z -x,-z,y x,-z,-y x,z,y " "-x,z,-y -z,-y,x -z,y,-x z,-y,-x z,y,x", "x,y,z 1/2-x,1/2-y,z 1/2-x,y,1/2-z x,1/2-y,1/2-z z,x,y z,1/2-x,1/2-y " "1/2-z,1/2-x,y 1/2-z,x,1/2-y y,z,x 1/2-y,z,1/2-x y,1/2-z,1/2-x 1/2-y,1/2-z,x " "1/2+y,1/2+x,-z -y,-x,-z 1/2+y,-x,1/2+z -y,1/2+x,1/2+z 1/2+x,1/2+z,-y " "-x,1/2+z,1/2+y -x,-z,-y 1/2+x,-z,1/2+y 1/2+z,1/2+y,-x 1/2+z,-y,1/2+x " "-z,1/2+y,1/2+x -z,-y,-x -x,-y,-z 1/2+x,1/2+y,-z 1/2+x,-y,1/2+z " "-x,1/2+y,1/2+z -z,-x,-y -z,1/2+x,1/2+y 1/2+z,1/2+x,-y 1/2+z,-x,1/2+y " "-y,-z,-x 1/2+y,-z,1/2+x -y,1/2+z,1/2+x 1/2+y,1/2+z,-x 1/2-y,1/2-x,z y,x,z " "1/2-y,x,1/2-z y,1/2-x,1/2-z 1/2-x,1/2-z,y x,1/2-z,1/2-y x,z,y 1/2-x,z,1/2-y " "1/2-z,1/2-y,x 1/2-z,y,1/2-x z,1/2-y,1/2-x z,y,x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x y,x,-z -y,-x,-z y,-x,z -y,x,z x,z,-y -x,z,y -x,-z,-y x,-z,y " "z,y,-x z,-y,x -z,y,x -z,-y,-x -x,-y,-z x,y,-z x,-y,z -x,y,z -z,-x,-y -z,x,y " "z,x,-y z,-x,y -y,-z,-x y,-z,x -y,z,x y,z,-x -y,-x,z y,x,z -y,x,-z y,-x,-z " "-x,-z,y x,-z,-y x,z,y -x,z,-y -z,-y,x -z,y,-x z,-y,-x z,y,x x,1/2+y,1/2+z " "-x,1/2-y,1/2+z -x,1/2+y,1/2-z x,1/2-y,1/2-z z,1/2+x,1/2+y z,1/2-x,1/2-y " "-z,1/2-x,1/2+y -z,1/2+x,1/2-y y,1/2+z,1/2+x -y,1/2+z,1/2-x y,1/2-z,1/2-x " "-y,1/2-z,1/2+x y,1/2+x,1/2-z -y,1/2-x,1/2-z y,1/2-x,1/2+z -y,1/2+x,1/2+z " "x,1/2+z,1/2-y -x,1/2+z,1/2+y -x,1/2-z,1/2-y x,1/2-z,1/2+y z,1/2+y,1/2-x " "z,1/2-y,1/2+x -z,1/2+y,1/2+x -z,1/2-y,1/2-x -x,1/2-y,1/2-z x,1/2+y,1/2-z " "x,1/2-y,1/2+z -x,1/2+y,1/2+z -z,1/2-x,1/2-y -z,1/2+x,1/2+y z,1/2+x,1/2-y " "z,1/2-x,1/2+y -y,1/2-z,1/2-x y,1/2-z,1/2+x -y,1/2+z,1/2+x y,1/2+z,1/2-x " "-y,1/2-x,1/2+z y,1/2+x,1/2+z -y,1/2+x,1/2-z y,1/2-x,1/2-z -x,1/2-z,1/2+y " "x,1/2-z,1/2-y x,1/2+z,1/2+y -x,1/2+z,1/2-y -z,1/2-y,1/2+x -z,1/2+y,1/2-x " "z,1/2-y,1/2-x z,1/2+y,1/2+x 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2-x,y,1/2-z " "1/2+x,-y,1/2-z 1/2+z,x,1/2+y 1/2+z,-x,1/2-y 1/2-z,-x,1/2+y 1/2-z,x,1/2-y " "1/2+y,z,1/2+x 1/2-y,z,1/2-x 1/2+y,-z,1/2-x 1/2-y,-z,1/2+x 1/2+y,x,1/2-z " "1/2-y,-x,1/2-z 1/2+y,-x,1/2+z 1/2-y,x,1/2+z 1/2+x,z,1/2-y 1/2-x,z,1/2+y " "1/2-x,-z,1/2-y 1/2+x,-z,1/2+y 1/2+z,y,1/2-x 1/2+z,-y,1/2+x 1/2-z,y,1/2+x " "1/2-z,-y,1/2-x 1/2-x,-y,1/2-z 1/2+x,y,1/2-z 1/2+x,-y,1/2+z 1/2-x,y,1/2+z " "1/2-z,-x,1/2-y 1/2-z,x,1/2+y 1/2+z,x,1/2-y 1/2+z,-x,1/2+y 1/2-y,-z,1/2-x " "1/2+y,-z,1/2+x 1/2-y,z,1/2+x 1/2+y,z,1/2-x 1/2-y,-x,1/2+z 1/2+y,x,1/2+z " "1/2-y,x,1/2-z 1/2+y,-x,1/2-z 1/2-x,-z,1/2+y 1/2+x,-z,1/2-y 1/2+x,z,1/2+y " "1/2-x,z,1/2-y 1/2-z,-y,1/2+x 1/2-z,y,1/2-x 1/2+z,-y,1/2-x 1/2+z,y,1/2+x " "1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z 1/2+z,1/2+x,y " "1/2+z,1/2-x,-y 1/2-z,1/2-x,y 1/2-z,1/2+x,-y 1/2+y,1/2+z,x 1/2-y,1/2+z,-x " "1/2+y,1/2-z,-x 1/2-y,1/2-z,x 1/2+y,1/2+x,-z 1/2-y,1/2-x,-z 1/2+y,1/2-x,z " "1/2-y,1/2+x,z 1/2+x,1/2+z,-y 1/2-x,1/2+z,y 1/2-x,1/2-z,-y 1/2+x,1/2-z,y " "1/2+z,1/2+y,-x 1/2+z,1/2-y,x 1/2-z,1/2+y,x 1/2-z,1/2-y,-x 1/2-x,1/2-y,-z " "1/2+x,1/2+y,-z 1/2+x,1/2-y,z 1/2-x,1/2+y,z 1/2-z,1/2-x,-y 1/2-z,1/2+x,y " "1/2+z,1/2+x,-y 1/2+z,1/2-x,y 1/2-y,1/2-z,-x 1/2+y,1/2-z,x 1/2-y,1/2+z,x " "1/2+y,1/2+z,-x 1/2-y,1/2-x,z 1/2+y,1/2+x,z 1/2-y,1/2+x,-z 1/2+y,1/2-x,-z " "1/2-x,1/2-z,y 1/2+x,1/2-z,-y 1/2+x,1/2+z,y 1/2-x,1/2+z,-y 1/2-z,1/2-y,x " "1/2-z,1/2+y,-x 1/2+z,1/2-y,-x 1/2+z,1/2+y,x", "x,y,z -x,-y,z -x,y,-z x,-y,-z z,x,y z,-x,-y -z,-x,y -z,x,-y y,z,x -y,z,-x " "y,-z,-x -y,-z,x 1/2+y,1/2+x,1/2-z 1/2-y,1/2-x,1/2-z 1/2+y,1/2-x,1/2+z " "1/2-y,1/2+x,1/2+z 1/2+x,1/2+z,1/2-y 1/2-x,1/2+z,1/2+y 1/2-x,1/2-z,1/2-y " "1/2+x,1/2-z,1/2+y 1/2+z,1/2+y,1/2-x 1/2+z,1/2-y,1/2+x 1/2-z,1/2+y,1/2+x " "1/2-z,1/2-y,1/2-x -x,-y,-z x,y,-z x,-y,z -x,y,z -z,-x,-y -z,x,y z,x,-y " "z,-x,y -y,-z,-x y,-z,x -y,z,x y,z,-x 1/2-y,1/2-x,1/2+z 1/2+y,1/2+x,1/2+z " "1/2-y,1/2+x,1/2-z 1/2+y,1/2-x,1/2-z 1/2-x,1/2-z,1/2+y 1/2+x,1/2-z,1/2-y " "1/2+x,1/2+z,1/2+y 1/2-x,1/2+z,1/2-y 1/2-z,1/2-y,1/2+x 1/2-z,1/2+y,1/2-x " "1/2+z,1/2-y,1/2-x 1/2+z,1/2+y,1/2+x x,1/2+y,1/2+z -x,1/2-y,1/2+z " "-x,1/2+y,1/2-z x,1/2-y,1/2-z z,1/2+x,1/2+y z,1/2-x,1/2-y -z,1/2-x,1/2+y " "-z,1/2+x,1/2-y y,1/2+z,1/2+x -y,1/2+z,1/2-x y,1/2-z,1/2-x -y,1/2-z,1/2+x " "1/2+y,x,-z 1/2-y,-x,-z 1/2+y,-x,z 1/2-y,x,z 1/2+x,z,-y 1/2-x,z,y " "1/2-x,-z,-y 1/2+x,-z,y 1/2+z,y,-x 1/2+z,-y,x 1/2-z,y,x 1/2-z,-y,-x " "-x,1/2-y,1/2-z x,1/2+y,1/2-z x,1/2-y,1/2+z -x,1/2+y,1/2+z -z,1/2-x,1/2-y " "-z,1/2+x,1/2+y z,1/2+x,1/2-y z,1/2-x,1/2+y -y,1/2-z,1/2-x y,1/2-z,1/2+x " "-y,1/2+z,1/2+x y,1/2+z,1/2-x 1/2-y,-x,z 1/2+y,x,z 1/2-y,x,-z 1/2+y,-x,-z " "1/2-x,-z,y 1/2+x,-z,-y 1/2+x,z,y 1/2-x,z,-y 1/2-z,-y,x 1/2-z,y,-x " "1/2+z,-y,-x 1/2+z,y,x 1/2+x,y,1/2+z 1/2-x,-y,1/2+z 1/2-x,y,1/2-z " "1/2+x,-y,1/2-z 1/2+z,x,1/2+y 1/2+z,-x,1/2-y 1/2-z,-x,1/2+y 1/2-z,x,1/2-y " "1/2+y,z,1/2+x 1/2-y,z,1/2-x 1/2+y,-z,1/2-x 1/2-y,-z,1/2+x y,1/2+x,-z " "-y,1/2-x,-z y,1/2-x,z -y,1/2+x,z x,1/2+z,-y -x,1/2+z,y -x,1/2-z,-y " "x,1/2-z,y z,1/2+y,-x z,1/2-y,x -z,1/2+y,x -z,1/2-y,-x 1/2-x,-y,1/2-z " "1/2+x,y,1/2-z 1/2+x,-y,1/2+z 1/2-x,y,1/2+z 1/2-z,-x,1/2-y 1/2-z,x,1/2+y " "1/2+z,x,1/2-y 1/2+z,-x,1/2+y 1/2-y,-z,1/2-x 1/2+y,-z,1/2+x 1/2-y,z,1/2+x " "1/2+y,z,1/2-x -y,1/2-x,z y,1/2+x,z -y,1/2+x,-z y,1/2-x,-z -x,1/2-z,y " "x,1/2-z,-y x,1/2+z,y -x,1/2+z,-y -z,1/2-y,x -z,1/2+y,-x z,1/2-y,-x " "z,1/2+y,x 1/2+x,1/2+y,z 1/2-x,1/2-y,z 1/2-x,1/2+y,-z 1/2+x,1/2-y,-z " "1/2+z,1/2+x,y 1/2+z,1/2-x,-y 1/2-z,1/2-x,y 1/2-z,1/2+x,-y 1/2+y,1/2+z,x " "1/2-y,1/2+z,-x 1/2+y,1/2-z,-x 1/2-y,1/2-z,x y,x,1/2-z -y,-x,1/2-z " "y,-x,1/2+z -y,x,1/2+z x,z,1/2-y -x,z,1/2+y -x,-z,1/2-y x,-z,1/2+y z,y,1/2-x " "z,-y,1/2+x -z,y,1/2+x -z,-y,1/2-x 1/2-x,1/2-y,-z 1/2+x,1/2+y,-z " "1/2+x,1/2-y,z 1/2-x,1/2+y,z 1/2-z,1/2-x,-y 1/2-z,1/2+x,y 1/2+z,1/2+x,-y " "1/2+z,1/2-x,y 1/2-y,1/2-z,-x 1/2+y,1/2-z,x 1/2-y,1/2+z,x 1/2+y,1/2+z,-x " "-y,-x,1/2+z y,x,1/2+z -y,x,1/2-z y,-x,1/2-z -x,-z,1/2+y x,-z,1/2-y " "x,z,1/2+y -x,z,1/2-y -z,-y,1/2+x -z,y,1/2-x z,-y,1/2-x z,y,1/2+x", "x,y,z -x,1/2-y,1/2+z 1/2-x,1/2+y,-z 1/2+x,-y,1/2-z z,x,y 1/2+z,-x,1/2-y " "-z,1/2-x,1/2+y 1/2-z,1/2+x,-y y,z,x 1/2-y,1/2+z,-x 1/2+y,-z,1/2-x " "-y,1/2-z,1/2+x 3/4+y,1/4+x,3/4-z 1/4-y,1/4-x,1/4-z 1/4+y,3/4-x,3/4+z " "3/4-y,3/4+x,1/4+z 3/4+x,1/4+z,3/4-y 3/4-x,3/4+z,1/4+y 1/4-x,1/4-z,1/4-y " "1/4+x,3/4-z,3/4+y 3/4+z,1/4+y,3/4-x 1/4+z,3/4-y,3/4+x 3/4-z,3/4+y,1/4+x " "1/4-z,1/4-y,1/4-x 1/4-x,1/4-y,1/4-z 1/4+x,3/4+y,3/4-z 3/4+x,3/4-y,1/4+z " "3/4-x,1/4+y,3/4+z 1/4-z,1/4-x,1/4-y 3/4-z,1/4+x,3/4+y 1/4+z,3/4+x,3/4-y " "3/4+z,3/4-x,1/4+y 1/4-y,1/4-z,1/4-x 3/4+y,3/4-z,1/4+x 3/4-y,1/4+z,3/4+x " "1/4+y,3/4+z,3/4-x 1/2-y,-x,1/2+z y,x,z -y,1/2+x,1/2-z 1/2+y,1/2-x,-z " "1/2-x,-z,1/2+y 1/2+x,1/2-z,-y x,z,y -x,1/2+z,1/2-y 1/2-z,-y,1/2+x " "-z,1/2+y,1/2-x 1/2+z,1/2-y,-x z,y,x x,1/2+y,1/2+z -x,-y,z 1/2-x,y,1/2-z " "1/2+x,1/2-y,-z z,1/2+x,1/2+y 1/2+z,1/2-x,-y -z,-x,y 1/2-z,x,1/2-y " "y,1/2+z,1/2+x 1/2-y,z,1/2-x 1/2+y,1/2-z,-x -y,-z,x 3/4+y,3/4+x,1/4-z " "1/4-y,3/4-x,3/4-z 1/4+y,1/4-x,1/4+z 3/4-y,1/4+x,3/4+z 3/4+x,3/4+z,1/4-y " "3/4-x,1/4+z,3/4+y 1/4-x,3/4-z,3/4-y 1/4+x,1/4-z,1/4+y 3/4+z,3/4+y,1/4-x " "1/4+z,1/4-y,1/4+x 3/4-z,1/4+y,3/4+x 1/4-z,3/4-y,3/4-x 1/4-x,3/4-y,3/4-z " "1/4+x,1/4+y,1/4-z 3/4+x,1/4-y,3/4+z 3/4-x,3/4+y,1/4+z 1/4-z,3/4-x,3/4-y " "3/4-z,3/4+x,1/4+y 1/4+z,1/4+x,1/4-y 3/4+z,1/4-x,3/4+y 1/4-y,3/4-z,3/4-x " "3/4+y,1/4-z,3/4+x 3/4-y,3/4+z,1/4+x 1/4+y,1/4+z,1/4-x 1/2-y,1/2-x,z " "y,1/2+x,1/2+z -y,x,-z 1/2+y,-x,1/2-z 1/2-x,1/2-z,y 1/2+x,-z,1/2-y " "x,1/2+z,1/2+y -x,z,-y 1/2-z,1/2-y,x -z,y,-x 1/2+z,-y,1/2-x z,1/2+y,1/2+x " "1/2+x,y,1/2+z 1/2-x,1/2-y,z -x,1/2+y,1/2-z x,-y,-z 1/2+z,x,1/2+y z,-x,-y " "1/2-z,1/2-x,y -z,1/2+x,1/2-y 1/2+y,z,1/2+x -y,1/2+z,1/2-x y,-z,-x " "1/2-y,1/2-z,x 1/4+y,1/4+x,1/4-z 3/4-y,1/4-x,3/4-z 3/4+y,3/4-x,1/4+z " "1/4-y,3/4+x,3/4+z 1/4+x,1/4+z,1/4-y 1/4-x,3/4+z,3/4+y 3/4-x,1/4-z,3/4-y " "3/4+x,3/4-z,1/4+y 1/4+z,1/4+y,1/4-x 3/4+z,3/4-y,1/4+x 1/4-z,3/4+y,3/4+x " "3/4-z,1/4-y,3/4-x 3/4-x,1/4-y,3/4-z 3/4+x,3/4+y,1/4-z 1/4+x,3/4-y,3/4+z " "1/4-x,1/4+y,1/4+z 3/4-z,1/4-x,3/4-y 1/4-z,1/4+x,1/4+y 3/4+z,3/4+x,1/4-y " "1/4+z,3/4-x,3/4+y 3/4-y,1/4-z,3/4-x 1/4+y,3/4-z,3/4+x 1/4-y,1/4+z,1/4+x " "3/4+y,3/4+z,1/4-x -y,-x,z 1/2+y,x,1/2+z 1/2-y,1/2+x,-z y,1/2-x,1/2-z " "-x,-z,y x,1/2-z,1/2-y 1/2+x,z,1/2+y 1/2-x,1/2+z,-y -z,-y,x 1/2-z,1/2+y,-x " "z,1/2-y,1/2-x 1/2+z,y,1/2+x 1/2+x,1/2+y,z 1/2-x,-y,1/2+z -x,y,-z " "x,1/2-y,1/2-z 1/2+z,1/2+x,y z,1/2-x,1/2-y 1/2-z,-x,1/2+y -z,x,-y " "1/2+y,1/2+z,x -y,z,-x y,1/2-z,1/2-x 1/2-y,-z,1/2+x 1/4+y,3/4+x,3/4-z " "3/4-y,3/4-x,1/4-z 3/4+y,1/4-x,3/4+z 1/4-y,1/4+x,1/4+z 1/4+x,3/4+z,3/4-y " "1/4-x,1/4+z,1/4+y 3/4-x,3/4-z,1/4-y 3/4+x,1/4-z,3/4+y 1/4+z,3/4+y,3/4-x " "3/4+z,1/4-y,3/4+x 1/4-z,1/4+y,1/4+x 3/4-z,3/4-y,1/4-x 3/4-x,3/4-y,1/4-z " "3/4+x,1/4+y,3/4-z 1/4+x,1/4-y,1/4+z 1/4-x,3/4+y,3/4+z 3/4-z,3/4-x,1/4-y " "1/4-z,3/4+x,3/4+y 3/4+z,1/4+x,3/4-y 1/4+z,1/4-x,1/4+y 3/4-y,3/4-z,1/4-x " "1/4+y,1/4-z,1/4+x 1/4-y,3/4+z,3/4+x 3/4+y,1/4+z,3/4-x -y,1/2-x,1/2+z " "1/2+y,1/2+x,z 1/2-y,x,1/2-z y,-x,-z -x,1/2-z,1/2+y x,-z,-y 1/2+x,1/2+z,y " "1/2-x,z,1/2-y -z,1/2-y,1/2+x 1/2-z,y,1/2-x z,-y,-x 1/2+z,1/2+y,x", "x,y,z 3/4-x,1/4-y,1/2+z 1/4-x,1/2+y,3/4-z 1/2+x,3/4-y,1/4-z z,x,y " "1/2+z,3/4-x,1/4-y 3/4-z,1/4-x,1/2+y 1/4-z,1/2+x,3/4-y y,z,x " "1/4-y,1/2+z,3/4-x 1/2+y,3/4-z,1/4-x 3/4-y,1/4-z,1/2+x 3/4+y,1/4+x,1/2-z " "-y,-x,-z 1/4+y,1/2-x,3/4+z 1/2-y,3/4+x,1/4+z 3/4+x,1/4+z,1/2-y " "1/2-x,3/4+z,1/4+y -x,-z,-y 1/4+x,1/2-z,3/4+y 3/4+z,1/4+y,1/2-x " "1/4+z,1/2-y,3/4+x 1/2-z,3/4+y,1/4+x -z,-y,-x -x,-y,-z 1/4+x,3/4+y,1/2-z " "3/4+x,1/2-y,1/4+z 1/2-x,1/4+y,3/4+z -z,-x,-y 1/2-z,1/4+x,3/4+y " "1/4+z,3/4+x,1/2-y 3/4+z,1/2-x,1/4+y -y,-z,-x 3/4+y,1/2-z,1/4+x " "1/2-y,1/4+z,3/4+x 1/4+y,3/4+z,1/2-x 1/4-y,3/4-x,1/2+z y,x,z " "3/4-y,1/2+x,1/4-z 1/2+y,1/4-x,3/4-z 1/4-x,3/4-z,1/2+y 1/2+x,1/4-z,3/4-y " "x,z,y 3/4-x,1/2+z,1/4-y 1/4-z,3/4-y,1/2+x 3/4-z,1/2+y,1/4-x " "1/2+z,1/4-y,3/4-x z,y,x x,1/2+y,1/2+z 3/4-x,3/4-y,z 1/4-x,y,1/4-z " "1/2+x,1/4-y,3/4-z z,1/2+x,1/2+y 1/2+z,1/4-x,3/4-y 3/4-z,3/4-x,y " "1/4-z,x,1/4-y y,1/2+z,1/2+x 1/4-y,z,1/4-x 1/2+y,1/4-z,3/4-x 3/4-y,3/4-z,x " "3/4+y,3/4+x,-z -y,1/2-x,1/2-z 1/4+y,-x,1/4+z 1/2-y,1/4+x,3/4+z " "3/4+x,3/4+z,-y 1/2-x,1/4+z,3/4+y -x,1/2-z,1/2-y 1/4+x,-z,1/4+y " "3/4+z,3/4+y,-x 1/4+z,-y,1/4+x 1/2-z,1/4+y,3/4+x -z,1/2-y,1/2-x " "-x,1/2-y,1/2-z 1/4+x,1/4+y,-z 3/4+x,-y,3/4+z 1/2-x,3/4+y,1/4+z " "-z,1/2-x,1/2-y 1/2-z,3/4+x,1/4+y 1/4+z,1/4+x,-y 3/4+z,-x,3/4+y " "-y,1/2-z,1/2-x 3/4+y,-z,3/4+x 1/2-y,3/4+z,1/4+x 1/4+y,1/4+z,-x " "1/4-y,1/4-x,z y,1/2+x,1/2+z 3/4-y,x,3/4-z 1/2+y,3/4-x,1/4-z 1/4-x,1/4-z,y " "1/2+x,3/4-z,1/4-y x,1/2+z,1/2+y 3/4-x,z,3/4-y 1/4-z,1/4-y,x 3/4-z,y,3/4-x " "1/2+z,3/4-y,1/4-x z,1/2+y,1/2+x 1/2+x,y,1/2+z 1/4-x,1/4-y,z " "3/4-x,1/2+y,1/4-z x,3/4-y,3/4-z 1/2+z,x,1/2+y z,3/4-x,3/4-y 1/4-z,1/4-x,y " "3/4-z,1/2+x,1/4-y 1/2+y,z,1/2+x 3/4-y,1/2+z,1/4-x y,3/4-z,3/4-x " "1/4-y,1/4-z,x 1/4+y,1/4+x,-z 1/2-y,-x,1/2-z 3/4+y,1/2-x,1/4+z " "-y,3/4+x,3/4+z 1/4+x,1/4+z,-y -x,3/4+z,3/4+y 1/2-x,-z,1/2-y " "3/4+x,1/2-z,1/4+y 1/4+z,1/4+y,-x 3/4+z,1/2-y,1/4+x -z,3/4+y,3/4+x " "1/2-z,-y,1/2-x 1/2-x,-y,1/2-z 3/4+x,3/4+y,-z 1/4+x,1/2-y,3/4+z " "-x,1/4+y,1/4+z 1/2-z,-x,1/2-y -z,1/4+x,1/4+y 3/4+z,3/4+x,-y " "1/4+z,1/2-x,3/4+y 1/2-y,-z,1/2-x 1/4+y,1/2-z,3/4+x -y,1/4+z,1/4+x " "3/4+y,3/4+z,-x 3/4-y,3/4-x,z 1/2+y,x,1/2+z 1/4-y,1/2+x,3/4-z y,1/4-x,1/4-z " "3/4-x,3/4-z,y x,1/4-z,1/4-y 1/2+x,z,1/2+y 1/4-x,1/2+z,3/4-y 3/4-z,3/4-y,x " "1/4-z,1/2+y,3/4-x z,1/4-y,1/4-x 1/2+z,y,1/2+x 1/2+x,1/2+y,z " "1/4-x,3/4-y,1/2+z 3/4-x,y,3/4-z x,1/4-y,1/4-z 1/2+z,1/2+x,y z,1/4-x,1/4-y " "1/4-z,3/4-x,1/2+y 3/4-z,x,3/4-y 1/2+y,1/2+z,x 3/4-y,z,3/4-x y,1/4-z,1/4-x " "1/4-y,3/4-z,1/2+x 1/4+y,3/4+x,1/2-z 1/2-y,1/2-x,-z 3/4+y,-x,3/4+z " "-y,1/4+x,1/4+z 1/4+x,3/4+z,1/2-y -x,1/4+z,1/4+y 1/2-x,1/2-z,-y " "3/4+x,-z,3/4+y 1/4+z,3/4+y,1/2-x 3/4+z,-y,3/4+x -z,1/4+y,1/4+x " "1/2-z,1/2-y,-x 1/2-x,1/2-y,-z 3/4+x,1/4+y,1/2-z 1/4+x,-y,1/4+z " "-x,3/4+y,3/4+z 1/2-z,1/2-x,-y -z,3/4+x,3/4+y 3/4+z,1/4+x,1/2-y " "1/4+z,-x,1/4+y 1/2-y,1/2-z,-x 1/4+y,-z,1/4+x -y,3/4+z,3/4+x " "3/4+y,1/4+z,1/2-x 3/4-y,1/4-x,1/2+z 1/2+y,1/2+x,z 1/4-y,x,1/4-z " "y,3/4-x,3/4-z 3/4-x,1/4-z,1/2+y x,3/4-z,3/4-y 1/2+x,1/2+z,y 1/4-x,z,1/4-y " "3/4-z,1/4-y,1/2+x 1/4-z,y,1/4-x z,3/4-y,3/4-x 1/2+z,1/2+y,x", "x,y,z -x,1/2-y,1/2+z 1/2-x,1/2+y,-z 1/2+x,-y,1/2-z z,x,y 1/2+z,-x,1/2-y " "-z,1/2-x,1/2+y 1/2-z,1/2+x,-y y,z,x 1/2-y,1/2+z,-x 1/2+y,-z,1/2-x " "-y,1/2-z,1/2+x 3/4+y,1/4+x,3/4-z 1/4-y,1/4-x,1/4-z 1/4+y,3/4-x,3/4+z " "3/4-y,3/4+x,1/4+z 3/4+x,1/4+z,3/4-y 3/4-x,3/4+z,1/4+y 1/4-x,1/4-z,1/4-y " "1/4+x,3/4-z,3/4+y 3/4+z,1/4+y,3/4-x 1/4+z,3/4-y,3/4+x 3/4-z,3/4+y,1/4+x " "1/4-z,1/4-y,1/4-x 3/4-x,3/4-y,3/4-z 3/4+x,1/4+y,1/4-z 1/4+x,1/4-y,3/4+z " "1/4-x,3/4+y,1/4+z 3/4-z,3/4-x,3/4-y 1/4-z,3/4+x,1/4+y 3/4+z,1/4+x,1/4-y " "1/4+z,1/4-x,3/4+y 3/4-y,3/4-z,3/4-x 1/4+y,1/4-z,3/4+x 1/4-y,3/4+z,1/4+x " "3/4+y,1/4+z,1/4-x -y,1/2-x,z 1/2+y,1/2+x,1/2+z 1/2-y,x,-z y,-x,1/2-z " "-x,1/2-z,y x,-z,1/2-y 1/2+x,1/2+z,1/2+y 1/2-x,z,-y -z,1/2-y,x 1/2-z,y,-x " "z,-y,1/2-x 1/2+z,1/2+y,1/2+x x,1/2+y,1/2+z -x,-y,z 1/2-x,y,1/2-z " "1/2+x,1/2-y,-z z,1/2+x,1/2+y 1/2+z,1/2-x,-y -z,-x,y 1/2-z,x,1/2-y " "y,1/2+z,1/2+x 1/2-y,z,1/2-x 1/2+y,1/2-z,-x -y,-z,x 3/4+y,3/4+x,1/4-z " "1/4-y,3/4-x,3/4-z 1/4+y,1/4-x,1/4+z 3/4-y,1/4+x,3/4+z 3/4+x,3/4+z,1/4-y " "3/4-x,1/4+z,3/4+y 1/4-x,3/4-z,3/4-y 1/4+x,1/4-z,1/4+y 3/4+z,3/4+y,1/4-x " "1/4+z,1/4-y,1/4+x 3/4-z,1/4+y,3/4+x 1/4-z,3/4-y,3/4-x 3/4-x,1/4-y,1/4-z " "3/4+x,3/4+y,3/4-z 1/4+x,3/4-y,1/4+z 1/4-x,1/4+y,3/4+z 3/4-z,1/4-x,1/4-y " "1/4-z,1/4+x,3/4+y 3/4+z,3/4+x,3/4-y 1/4+z,3/4-x,1/4+y 3/4-y,1/4-z,1/4-x " "1/4+y,3/4-z,1/4+x 1/4-y,1/4+z,3/4+x 3/4+y,3/4+z,3/4-x -y,-x,1/2+z 1/2+y,x,z " "1/2-y,1/2+x,1/2-z y,1/2-x,-z -x,-z,1/2+y x,1/2-z,-y 1/2+x,z,y " "1/2-x,1/2+z,1/2-y -z,-y,1/2+x 1/2-z,1/2+y,1/2-x z,1/2-y,-x 1/2+z,y,x " "1/2+x,y,1/2+z 1/2-x,1/2-y,z -x,1/2+y,1/2-z x,-y,-z 1/2+z,x,1/2+y z,-x,-y " "1/2-z,1/2-x,y -z,1/2+x,1/2-y 1/2+y,z,1/2+x -y,1/2+z,1/2-x y,-z,-x " "1/2-y,1/2-z,x 1/4+y,1/4+x,1/4-z 3/4-y,1/4-x,3/4-z 3/4+y,3/4-x,1/4+z " "1/4-y,3/4+x,3/4+z 1/4+x,1/4+z,1/4-y 1/4-x,3/4+z,3/4+y 3/4-x,1/4-z,3/4-y " "3/4+x,3/4-z,1/4+y 1/4+z,1/4+y,1/4-x 3/4+z,3/4-y,1/4+x 1/4-z,3/4+y,3/4+x " "3/4-z,1/4-y,3/4-x 1/4-x,3/4-y,1/4-z 1/4+x,1/4+y,3/4-z 3/4+x,1/4-y,1/4+z " "3/4-x,3/4+y,3/4+z 1/4-z,3/4-x,1/4-y 3/4-z,3/4+x,3/4+y 1/4+z,1/4+x,3/4-y " "3/4+z,1/4-x,1/4+y 1/4-y,3/4-z,1/4-x 3/4+y,1/4-z,1/4+x 3/4-y,3/4+z,3/4+x " "1/4+y,1/4+z,3/4-x 1/2-y,1/2-x,1/2+z y,1/2+x,z -y,x,1/2-z 1/2+y,-x,-z " "1/2-x,1/2-z,1/2+y 1/2+x,-z,-y x,1/2+z,y -x,z,1/2-y 1/2-z,1/2-y,1/2+x " "-z,y,1/2-x 1/2+z,-y,-x z,1/2+y,x 1/2+x,1/2+y,z 1/2-x,-y,1/2+z -x,y,-z " "x,1/2-y,1/2-z 1/2+z,1/2+x,y z,1/2-x,1/2-y 1/2-z,-x,1/2+y -z,x,-y " "1/2+y,1/2+z,x -y,z,-x y,1/2-z,1/2-x 1/2-y,-z,1/2+x 1/4+y,3/4+x,3/4-z " "3/4-y,3/4-x,1/4-z 3/4+y,1/4-x,3/4+z 1/4-y,1/4+x,1/4+z 1/4+x,3/4+z,3/4-y " "1/4-x,1/4+z,1/4+y 3/4-x,3/4-z,1/4-y 3/4+x,1/4-z,3/4+y 1/4+z,3/4+y,3/4-x " "3/4+z,1/4-y,3/4+x 1/4-z,1/4+y,1/4+x 3/4-z,3/4-y,1/4-x 1/4-x,1/4-y,3/4-z " "1/4+x,3/4+y,1/4-z 3/4+x,3/4-y,3/4+z 3/4-x,1/4+y,1/4+z 1/4-z,1/4-x,3/4-y " "3/4-z,1/4+x,1/4+y 1/4+z,3/4+x,1/4-y 3/4+z,3/4-x,3/4+y 1/4-y,1/4-z,3/4-x " "3/4+y,3/4-z,3/4+x 3/4-y,1/4+z,1/4+x 1/4+y,3/4+z,1/4-x 1/2-y,-x,z y,x,1/2+z " "-y,1/2+x,-z 1/2+y,1/2-x,1/2-z 1/2-x,-z,y 1/2+x,1/2-z,1/2-y x,z,1/2+y " "-x,1/2+z,-y 1/2-z,-y,x -z,1/2+y,-x 1/2+z,1/2-y,1/2-x z,y,1/2+x", "x,y,z 1/4-x,3/4-y,1/2+z 3/4-x,1/2+y,1/4-z 1/2+x,1/4-y,3/4-z z,x,y " "1/2+z,1/4-x,3/4-y 1/4-z,3/4-x,1/2+y 3/4-z,1/2+x,1/4-y y,z,x " "3/4-y,1/2+z,1/4-x 1/2+y,1/4-z,3/4-x 1/4-y,3/4-z,1/2+x 3/4+y,1/4+x,-z " "1/2-y,1/2-x,1/2-z 1/4+y,-x,3/4+z -y,3/4+x,1/4+z 3/4+x,1/4+z,-y " "-x,3/4+z,1/4+y 1/2-x,1/2-z,1/2-y 1/4+x,-z,3/4+y 3/4+z,1/4+y,-x " "1/4+z,-y,3/4+x -z,3/4+y,1/4+x 1/2-z,1/2-y,1/2-x -x,-y,-z 3/4+x,1/4+y,1/2-z " "1/4+x,1/2-y,3/4+z 1/2-x,3/4+y,1/4+z -z,-x,-y 1/2-z,3/4+x,1/4+y " "3/4+z,1/4+x,1/2-y 1/4+z,1/2-x,3/4+y -y,-z,-x 1/4+y,1/2-z,3/4+x " "1/2-y,3/4+z,1/4+x 3/4+y,1/4+z,1/2-x 1/4-y,3/4-x,z 1/2+y,1/2+x,1/2+z " "3/4-y,x,1/4-z y,1/4-x,3/4-z 1/4-x,3/4-z,y x,1/4-z,3/4-y 1/2+x,1/2+z,1/2+y " "3/4-x,z,1/4-y 1/4-z,3/4-y,x 3/4-z,y,1/4-x z,1/4-y,3/4-x 1/2+z,1/2+y,1/2+x " "x,1/2+y,1/2+z 1/4-x,1/4-y,z 3/4-x,y,3/4-z 1/2+x,3/4-y,1/4-z z,1/2+x,1/2+y " "1/2+z,3/4-x,1/4-y 1/4-z,1/4-x,y 3/4-z,x,3/4-y y,1/2+z,1/2+x 3/4-y,z,3/4-x " "1/2+y,3/4-z,1/4-x 1/4-y,1/4-z,x 3/4+y,3/4+x,1/2-z 1/2-y,-x,-z " "1/4+y,1/2-x,1/4+z -y,1/4+x,3/4+z 3/4+x,3/4+z,1/2-y -x,1/4+z,3/4+y " "1/2-x,-z,-y 1/4+x,1/2-z,1/4+y 3/4+z,3/4+y,1/2-x 1/4+z,1/2-y,1/4+x " "-z,1/4+y,3/4+x 1/2-z,-y,-x -x,1/2-y,1/2-z 3/4+x,3/4+y,-z 1/4+x,-y,1/4+z " "1/2-x,1/4+y,3/4+z -z,1/2-x,1/2-y 1/2-z,1/4+x,3/4+y 3/4+z,3/4+x,-y " "1/4+z,-x,1/4+y -y,1/2-z,1/2-x 1/4+y,-z,1/4+x 1/2-y,1/4+z,3/4+x " "3/4+y,3/4+z,-x 1/4-y,1/4-x,1/2+z 1/2+y,x,z 3/4-y,1/2+x,3/4-z y,3/4-x,1/4-z " "1/4-x,1/4-z,1/2+y x,3/4-z,1/4-y 1/2+x,z,y 3/4-x,1/2+z,3/4-y " "1/4-z,1/4-y,1/2+x 3/4-z,1/2+y,3/4-x z,3/4-y,1/4-x 1/2+z,y,x 1/2+x,y,1/2+z " "3/4-x,3/4-y,z 1/4-x,1/2+y,3/4-z x,1/4-y,1/4-z 1/2+z,x,1/2+y z,1/4-x,1/4-y " "3/4-z,3/4-x,y 1/4-z,1/2+x,3/4-y 1/2+y,z,1/2+x 1/4-y,1/2+z,3/4-x " "y,1/4-z,1/4-x 3/4-y,3/4-z,x 1/4+y,1/4+x,1/2-z -y,1/2-x,-z 3/4+y,-x,1/4+z " "1/2-y,3/4+x,3/4+z 1/4+x,1/4+z,1/2-y 1/2-x,3/4+z,3/4+y -x,1/2-z,-y " "3/4+x,-z,1/4+y 1/4+z,1/4+y,1/2-x 3/4+z,-y,1/4+x 1/2-z,3/4+y,3/4+x " "-z,1/2-y,-x 1/2-x,-y,1/2-z 1/4+x,1/4+y,-z 3/4+x,1/2-y,1/4+z -x,3/4+y,3/4+z " "1/2-z,-x,1/2-y -z,3/4+x,3/4+y 1/4+z,1/4+x,-y 3/4+z,1/2-x,1/4+y " "1/2-y,-z,1/2-x 3/4+y,1/2-z,1/4+x -y,3/4+z,3/4+x 1/4+y,1/4+z,-x " "3/4-y,3/4-x,1/2+z y,1/2+x,z 1/4-y,x,3/4-z 1/2+y,1/4-x,1/4-z " "3/4-x,3/4-z,1/2+y 1/2+x,1/4-z,1/4-y x,1/2+z,y 1/4-x,z,3/4-y " "3/4-z,3/4-y,1/2+x 1/4-z,y,3/4-x 1/2+z,1/4-y,1/4-x z,1/2+y,x 1/2+x,1/2+y,z " "3/4-x,1/4-y,1/2+z 1/4-x,y,1/4-z x,3/4-y,3/4-z 1/2+z,1/2+x,y z,3/4-x,3/4-y " "3/4-z,1/4-x,1/2+y 1/4-z,x,1/4-y 1/2+y,1/2+z,x 1/4-y,z,1/4-x y,3/4-z,3/4-x " "3/4-y,1/4-z,1/2+x 1/4+y,3/4+x,-z -y,-x,1/2-z 3/4+y,1/2-x,3/4+z " "1/2-y,1/4+x,1/4+z 1/4+x,3/4+z,-y 1/2-x,1/4+z,1/4+y -x,-z,1/2-y " "3/4+x,1/2-z,3/4+y 1/4+z,3/4+y,-x 3/4+z,1/2-y,3/4+x 1/2-z,1/4+y,1/4+x " "-z,-y,1/2-x 1/2-x,1/2-y,-z 1/4+x,3/4+y,1/2-z 3/4+x,-y,3/4+z -x,1/4+y,1/4+z " "1/2-z,1/2-x,-y -z,1/4+x,1/4+y 1/4+z,3/4+x,1/2-y 3/4+z,-x,3/4+y " "1/2-y,1/2-z,-x 3/4+y,-z,3/4+x -y,1/4+z,1/4+x 1/4+y,3/4+z,1/2-x " "3/4-y,1/4-x,z y,x,1/2+z 1/4-y,1/2+x,1/4-z 1/2+y,3/4-x,3/4-z 3/4-x,1/4-z,y " "1/2+x,3/4-z,3/4-y x,z,1/2+y 1/4-x,1/2+z,1/4-y 3/4-z,1/4-y,x " "1/4-z,1/2+y,1/4-x 1/2+z,3/4-y,3/4-x z,y,1/2+x", "x,y,z -y,x,z -x,-y,z y,-x,z x,-y,-z y,x,-z -x,y,-z -y,-x,-z z,x,y -x,z,y " "-z,-x,y x,-z,y z,-x,-y x,z,-y -z,x,-y -x,-z,-y y,z,x y,-z,-x z,y,-x -y,z,-x " "-z,-y,-x -y,-z,x z,-y,x -z,y,x -x,-y,-z y,-x,-z x,y,-z -y,x,-z -x,y,z " "-y,-x,z x,-y,z y,x,z -z,-x,-y x,-z,-y z,x,-y -x,z,-y -z,x,y -x,-z,y z,-x,y " "x,z,y -y,-z,-x -y,z,x -z,-y,x y,-z,x z,y,x y,z,-x -z,y,-x z,-y,-x " "x+1/2,y+1/2,z+1/2 -y+1/2,x+1/2,z+1/2 -x+1/2,-y+1/2,z+1/2 y+1/2,-x+1/2,z+1/2 " "x+1/2,-y+1/2,-z+1/2 y+1/2,x+1/2,-z+1/2 -x+1/2,y+1/2,-z+1/2 " "-y+1/2,-x+1/2,-z+1/2 z+1/2,x+1/2,y+1/2 -x+1/2,z+1/2,y+1/2 " "-z+1/2,-x+1/2,y+1/2 x+1/2,-z+1/2,y+1/2 z+1/2,-x+1/2,-y+1/2 " "x+1/2,z+1/2,-y+1/2 -z+1/2,x+1/2,-y+1/2 -x+1/2,-z+1/2,-y+1/2 " "y+1/2,z+1/2,x+1/2 y+1/2,-z+1/2,-x+1/2 z+1/2,y+1/2,-x+1/2 " "-y+1/2,z+1/2,-x+1/2 -z+1/2,-y+1/2,-x+1/2 -y+1/2,-z+1/2,x+1/2 " "z+1/2,-y+1/2,x+1/2 -z+1/2,y+1/2,x+1/2 -x+1/2,-y+1/2,-z+1/2 " "y+1/2,-x+1/2,-z+1/2 x+1/2,y+1/2,-z+1/2 -y+1/2,x+1/2,-z+1/2 " "-x+1/2,y+1/2,z+1/2 -y+1/2,-x+1/2,z+1/2 x+1/2,-y+1/2,z+1/2 y+1/2,x+1/2,z+1/2 " "-z+1/2,-x+1/2,-y+1/2 x+1/2,-z+1/2,-y+1/2 z+1/2,x+1/2,-y+1/2 " "-x+1/2,z+1/2,-y+1/2 -z+1/2,x+1/2,y+1/2 -x+1/2,-z+1/2,y+1/2 " "z+1/2,-x+1/2,y+1/2 x+1/2,z+1/2,y+1/2 -y+1/2,-z+1/2,-x+1/2 " "-y+1/2,z+1/2,x+1/2 -z+1/2,-y+1/2,x+1/2 y+1/2,-z+1/2,x+1/2 z+1/2,y+1/2,x+1/2 " "y+1/2,z+1/2,-x+1/2 -z+1/2,y+1/2,-x+1/2 z+1/2,-y+1/2,-x+1/2", "x,y,z 1/2+x,1/2+y,1/2+z z,1/2-x,1/2+y 1/2+z,-x,y -y,1/2+z,1/2-x 1/2-y,z,-x " "x,1/2-y,1/2+z 1/2+x,-y,z -z,1/2+x,1/2-y 1/2-z,x,-y y,1/2-z,1/2+x 1/2+y,-z,x " "-x,1/2+y,1/2-z 1/2-x,y,-z 3/4+x,1/4-z,3/4-y 1/4+x,3/4-z,1/4-y " "3/4-z,1/4+y,3/4+x 1/4-z,3/4+y,1/4+x 3/4+y,1/4-x,3/4-z 1/4+y,3/4-x,1/4-z " "3/4-x,1/4+z,3/4+y 1/4-x,3/4+z,1/4+y 3/4+z,1/4-y,3/4-x 1/4+z,3/4-y,1/4-x " "3/4-y,1/4+x,3/4+z 1/4-y,3/4+x,1/4+z 1/4+x,1/4+z,1/4+y 3/4+x,3/4+z,3/4+y " "1/4-z,1/4-y,1/4-x 3/4-z,3/4-y,3/4-x 1/4+y,1/4+x,1/4+z 3/4+y,3/4+x,3/4+z " "1/4-x,1/4-z,1/4-y 3/4-x,3/4-z,3/4-y 1/4+z,1/4+y,1/4+x 3/4+z,3/4+y,3/4+x " "1/4-y,1/4-x,1/4-z 3/4-y,3/4-x,3/4-z 1/2+z,x,1/2-y z,1/2+x,-y 1/2-y,-z,1/2+x " "-y,1/2-z,x 1/2+x,y,1/2-z x,1/2+y,-z 1/2-z,-x,1/2+y -z,1/2-x,y 1/2+y,z,1/2-x " "y,1/2+z,-x 1/2-x,-y,1/2+z -x,1/2-y,z 1/2-z,1/2+x,y -z,x,1/2+y " "1/2+y,1/2-z,-x y,-z,1/2-x 1/2-x,1/2+y,z -x,y,1/2+z 1/2+z,1/2-x,-y " "z,-x,1/2-y 1/2-y,1/2+z,x -y,z,1/2+x 1/2+x,1/2-y,-z x,-y,1/2-z " "3/4-x,3/4+z,1/4-y 1/4-x,1/4+z,3/4-y 3/4+z,3/4-y,1/4+x 1/4+z,1/4-y,3/4+x " "3/4-y,3/4+x,1/4-z 1/4-y,1/4+x,3/4-z 3/4+x,3/4-z,1/4+y 1/4+x,1/4-z,3/4+y " "3/4-z,3/4+y,1/4-x 1/4-z,1/4+y,3/4-x 3/4+y,3/4-x,1/4+z 1/4+y,1/4-x,3/4+z " "1/4-x,3/4-z,3/4+y 3/4-x,1/4-z,1/4+y 1/4+z,3/4+y,3/4-x 3/4+z,1/4+y,1/4-x " "1/4-y,3/4-x,3/4+z 3/4-y,1/4-x,1/4+z 1/4+x,3/4+z,3/4-y 3/4+x,1/4+z,1/4-y " "1/4-z,3/4-y,3/4+x 3/4-z,1/4-y,1/4+x 1/4+y,3/4+x,3/4-z 3/4+y,1/4+x,1/4-z " "-z,-x,-y 1/2-z,1/2-x,1/2-y y,z,x 1/2+y,1/2+z,1/2+x -x,-y,-z " "1/2-x,1/2-y,1/2-z z,x,y 1/2+z,1/2+x,1/2+y -y,-z,-x 1/2-y,1/2-z,1/2-x" }; } // Core } // Avogadro #endif // AVOGADRO_CORE_SPACE_GROUP_DATA avogadrolibs-1.93.0/avogadro/core/spacegroups.cpp000066400000000000000000000232751360735163600220740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include // for std::count() #include #include // for isdigit() #include #include "array.h" #include "crystaltools.h" #include "molecule.h" #include "spacegroupdata.h" #include "unitcell.h" #include "utilities.h" #include "vector.h" #include "spacegroups.h" namespace Avogadro { namespace Core { SpaceGroups::SpaceGroups() { } SpaceGroups::~SpaceGroups() { } CrystalSystem SpaceGroups::crystalSystem(unsigned short hallNumber) { if (hallNumber == 1 || hallNumber == 2) return Triclinic; if (hallNumber >= 3 && hallNumber <= 107) return Monoclinic; if (hallNumber >= 108 && hallNumber <= 348) return Orthorhombic; if (hallNumber >= 349 && hallNumber <= 429) return Tetragonal; if (hallNumber >= 430 && hallNumber <= 461) { // 14 of these are rhombohedral and the rest are trigonal switch (hallNumber) { case 433: case 434: case 436: case 437: case 444: case 445: case 450: case 451: case 452: case 453: case 458: case 459: case 460: case 461: return Rhombohedral; default: return Trigonal; } } if (hallNumber >= 462 && hallNumber <= 488) return Hexagonal; if (hallNumber >= 489 && hallNumber <= 530) return Cubic; // hallNumber must be 0 or > 531 return None; // for (unsigned short i = 0; i < hallNumberCount; ++i) } unsigned short SpaceGroups::internationalNumber(unsigned short hallNumber) { if (hallNumber <= 530) return space_group_international_number[hallNumber]; else return space_group_international_number[0]; } const char* SpaceGroups::schoenflies(unsigned short hallNumber) { if (hallNumber <= 530) return space_group_schoenflies[hallNumber]; else return space_group_schoenflies[0]; } const char* SpaceGroups::hallSymbol(unsigned short hallNumber) { if (hallNumber <= 530) return space_group_hall_symbol[hallNumber]; else return space_group_hall_symbol[0]; } const char* SpaceGroups::international(unsigned short hallNumber) { if (hallNumber <= 530) return space_group_international[hallNumber]; else return space_group_international[0]; } const char* SpaceGroups::internationalFull(unsigned short hallNumber) { if (hallNumber <= 530) return space_group_international_full[hallNumber]; else return space_group_international_full[0]; } const char* SpaceGroups::internationalShort(unsigned short hallNumber) { if (hallNumber <= 530) return space_group_international_short[hallNumber]; else return space_group_international_short[0]; } const char* SpaceGroups::setting(unsigned short hallNumber) { if (hallNumber <= 530) return space_group_setting[hallNumber]; else return space_group_setting[0]; } unsigned short SpaceGroups::transformsCount(unsigned short hallNumber) { if (hallNumber <= 530) { std::string s = transformsString(hallNumber); return std::count(s.begin(), s.end(), ' ') + 1; } else { return 0; } } Real readTransformCoordinate(const std::string& coordinate, const Vector3& v) { // The coordinate should be at least 1 character assert(coordinate.size() != 0); Real ret = 0.0; Index i = 0; while (i < coordinate.size()) { bool isNeg = false; if (coordinate[i] == '-') { isNeg = true; ++i; assert(i < coordinate.size()); } // We assume we are adding, so no need for a boolean here else if (coordinate[i] == '+') { ++i; assert(i < coordinate.size()); } // Check to see if we have a digit if (isdigit(coordinate[i])) { // We SHOULD have a fraction. Also, we SHOULD only deal with single // digit numbers. Add assertions to make sure this is the case. assert(i + 2 < coordinate.size()); assert(coordinate[i + 1] == '/'); assert(isdigit(coordinate[i + 2])); // Assert that this is a single digit number if (coordinate.size() > i + 3) assert(!isdigit(coordinate[i + 3])); // Ancient methods used by our forefathers to cast a char to an int Real numerator = coordinate[i] - '0'; Real denominator = coordinate[i + 2] - '0'; Real fraction = numerator / denominator; fraction *= (isNeg) ? -1.0 : 1.0; ret += fraction; i += 3; } else if (coordinate[i] == 'x') { ret += (isNeg) ? -1.0 * v[0] : v[0]; ++i; } else if (coordinate[i] == 'y') { ret += (isNeg) ? -1.0 * v[1] : v[1]; ++i; } else if (coordinate[i] == 'z') { ret += (isNeg) ? -1.0 * v[2] : v[2]; ++i; } else { std::cerr << "In " << __FUNCTION__ << ", error reading string: '" << coordinate << "'\n"; return 0; } } return ret; } Vector3 getSingleTransform(const std::string& transform, const Vector3& v) { Vector3 ret; std::vector coordinates = split(transform, ','); // This should be 3 in size. Something very bad happened if it is not. assert(coordinates.size() == 3); ret[0] = readTransformCoordinate(coordinates[0], v); ret[1] = readTransformCoordinate(coordinates[1], v); ret[2] = readTransformCoordinate(coordinates[2], v); return ret; } Array SpaceGroups::getTransforms(unsigned short hallNumber, const Vector3& v) { if (hallNumber == 0 || hallNumber > 530) return Array(); Array ret; std::string transformsStr = transformsString(hallNumber); // These transforms are separated by spaces std::vector transforms = split(transformsStr, ' '); for (Index i = 0; i < transforms.size(); ++i) ret.push_back(getSingleTransform(transforms[i], v)); return ret; } void SpaceGroups::fillUnitCell(Molecule& mol, unsigned short hallNumber, double cartTol) { if (!mol.unitCell()) return; UnitCell* uc = mol.unitCell(); Array atomicNumbers = mol.atomicNumbers(); Array positions = mol.atomPositions3d(); Index numAtoms = mol.atomCount(); // We are going to loop through the original atoms. That is why // we have numAtoms cached instead of using atomCount(). for (Index i = 0; i < numAtoms; ++i) { unsigned char atomicNum = atomicNumbers[i]; Vector3 pos = uc->toFractional(positions[i]); Array newAtoms = getTransforms(hallNumber, pos); // We skip 0 because it is the original atom. for (Index j = 1; j < newAtoms.size(); ++j) { // The new atoms are in fractional coordinates. Convert to cartesian. Vector3 newCandidate = uc->toCartesian(newAtoms[j]); // If there is already an atom in this location within a // certain tolerance, do not add the atom. bool atomAlreadyPresent = false; for (Index k = 0; k < mol.atomCount(); k++) { // If it does not have the same atomic number, skip over it. if (mol.atomicNumber(k) != atomicNum) continue; Real distance = uc->distance(mol.atomPosition3d(k), newCandidate); if (distance <= cartTol) atomAlreadyPresent = true; } // If there is already an atom present here, just continue if (atomAlreadyPresent) continue; // If we got this far, add the atom! Atom newAtom = mol.addAtom(atomicNum); newAtom.setPosition3d(newCandidate); } } CrystalTools::wrapAtomsToUnitCell(mol); } void SpaceGroups::reduceToAsymmetricUnit(Molecule& mol, unsigned short hallNumber, double cartTol) { if (!mol.unitCell()) return; UnitCell* uc = mol.unitCell(); // The number of atoms may change as we remove atoms, so don't cache // the number of atoms, atomic positions, or atomic numbers // There's no point in looking at the last atom for (Index i = 0; i + 1 < mol.atomCount(); ++i) { unsigned char atomicNum = mol.atomicNumber(i); Vector3 pos = uc->toFractional(mol.atomPosition3d(i)); Array transformAtoms = getTransforms(hallNumber, pos); // Loop through the rest of the atoms in this crystal and see if any match // up with a transform for (Index j = i + 1; j < mol.atomCount(); ++j) { // If the atomic number does not match, skip over it if (mol.atomicNumber(j) != atomicNum) continue; Vector3 trialPos = mol.atomPosition3d(j); // Loop through the transform atoms // We skip 0 because it is the original atom. for (Index k = 1; k < transformAtoms.size(); ++k) { // The transform atoms are in fractional coordinates. Convert to // cartesian. Vector3 transformPos = uc->toCartesian(transformAtoms[k]); Real distance = uc->distance(trialPos, transformPos); // Is the atom within the cartesian tolerance distance? if (distance <= cartTol) { // Remove this atom and adjust the index mol.removeAtom(j); --j; break; } } } } } const char* SpaceGroups::transformsString(unsigned short hallNumber) { if (hallNumber <= 530) return space_group_transforms[hallNumber]; else return ""; } } // end Core namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/core/spacegroups.h000066400000000000000000000113071360735163600215320ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_SPACE_GROUPS_H #define AVOGADRO_CORE_SPACE_GROUPS_H #include "avogadrocore.h" namespace Avogadro { namespace Core { /** * Enumeration of the crystal system. */ enum CrystalSystem { None, Triclinic, Monoclinic, Orthorhombic, Tetragonal, Trigonal, Rhombohedral, Hexagonal, Cubic }; /** * @class SpaceGroups spacegroups.h * @brief The Spacegroups class stores basic data about crystal spacegroups. * * The spacegroups class gives a simple interface to basic data about crystal * spacegroups. The data is generated from information in spglib. */ class AVOGADROCORE_EXPORT SpaceGroups { public: SpaceGroups(); ~SpaceGroups(); /** * Get an enum representing the crystal system for a given hall number. * If an invalid hall number is given, None will be returned. */ static CrystalSystem crystalSystem(unsigned short hallNumber); /** * Get the international number for a given hall number. * If an invalid hall number is given, 0 will be returned. */ static unsigned short internationalNumber(unsigned short hallNumber); /** * Get the Schoenflies symbol for a given hall number. * If an invalid hall number is given, an empty string will be returned. */ static const char* schoenflies(unsigned short hallNumber); /** * Get the Hall symbol for a given hall number. '=' is used instead of '"'. * If an invalid hall number is given, an empty string will be returned. */ static const char* hallSymbol(unsigned short hallNumber); /** * Get the international symbol for a given hall number. * If an invalid hall number is given, an empty string will be returned. */ static const char* international(unsigned short hallNumber); /** * Get the full international symbol for a given hall number. * If an invalid hall number is given, an empty string will be returned. */ static const char* internationalFull(unsigned short hallNumber); /** * Get the short international symbol for a given hall number. * If an invalid hall number is given, an empty string will be returned. */ static const char* internationalShort(unsigned short hallNumber); /** * Get the setting for a given hall number. * If an invalid hall number is given, an empty string will be returned. * An empty string may also be returned if there are no settings for this * space group. */ static const char* setting(unsigned short hallNumber); /** * Get the number of transforms for a given hall number. * If an invalid hall number is given, 0 will be returned. */ static unsigned short transformsCount(unsigned short hallNumber); /** * Get an array of transforms for a given hall number and a vector v. * The vector should be in fractional coordinates. * If an invalid hall number is given, an empty array will be returned. */ static Array getTransforms(unsigned short hallNumber, const Vector3& v); /** * Fill a crystal with atoms by using transforms from a hall number. * Nothing will be done if the molecule does not have a unit cell. * The cartesian tolerance is used to check if an atom is already * present at that location. If there is another atom within that * distance, the new atom will not be placed there. */ static void fillUnitCell(Molecule& mol, unsigned short hallNumber, double cartTol = 1e-5); /** * Reduce a cell to its asymmetric unit. * Nothing will be done if the molecule does not have a unit cell. * The cartesian tolerance is used to check if an atom is present * at a location within the tolerance distance. * If an atom is present, the atom gets removed. */ static void reduceToAsymmetricUnit(Molecule& mol, unsigned short hallNumber, double cartTol = 1e-5); private: /** * Get the transforms string stored in the database. */ static const char* transformsString(unsigned short hallNumber); }; } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_SPACE_GROUPS_H avogadrolibs-1.93.0/avogadro/core/symbolatomtyper.cpp000066400000000000000000000020241360735163600230000ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "symbolatomtyper.h" #include "atom.h" #include "elements.h" namespace Avogadro { namespace Core { SymbolAtomTyper::SymbolAtomTyper(const Molecule* mol) : AtomTyper(mol) { } SymbolAtomTyper::~SymbolAtomTyper() { } std::string SymbolAtomTyper::type(const Atom& atom) { return std::string(Elements::symbol(atom.atomicNumber())); } } // namespace Core } // namespace Avogadro avogadrolibs-1.93.0/avogadro/core/symbolatomtyper.h000066400000000000000000000025401360735163600224500ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_SYMBOLATOMTYPER_H #define AVOGADRO_CORE_SYMBOLATOMTYPER_H #include "avogadrocore.h" #include #include namespace Avogadro { namespace Core { /** * @class SymbolAtomTyper symbolatomtyper.h * @brief The SymbolAtomTyper class is a simple implementation of AtomTyper that * assigns element symbols to each atom. */ class AVOGADROCORE_EXPORT SymbolAtomTyper : public AtomTyper { public: explicit SymbolAtomTyper(const Molecule* mol = nullptr); ~SymbolAtomTyper() override; protected: std::string type(const Atom& atom) override; }; } // namespace Core } // namespace Avogadro #endif // AVOGADRO_CORE_SYMBOLATOMTYPER_H avogadrolibs-1.93.0/avogadro/core/types.h000066400000000000000000000044251360735163600203460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_TYPES_H #define AVOGADRO_CORE_TYPES_H #include "avogadrocoreexport.h" namespace Avogadro { /** Symbolic constants representing various built-in C++ types. */ enum Type { UnknownType = -1, CharType, UCharType, ShortType, UShortType, IntType, UIntType, FloatType, DoubleType }; template class TypeTraits { public: enum { EnumValue = -1 }; static const char* name() { return "Unsupported type."; } }; template <> class TypeTraits { public: enum { EnumValue = CharType }; static const char* name() { return "char"; } }; template <> class TypeTraits { public: enum { EnumValue = UCharType }; static const char* name() { return "unsigned char"; } }; template <> class TypeTraits { public: enum { EnumValue = ShortType }; static const char* name() { return "short"; } }; template <> class TypeTraits { public: enum { EnumValue = UShortType }; static const char* name() { return "unsigned short"; } }; template <> class TypeTraits { public: enum { EnumValue = IntType }; static const char* name() { return "int"; } }; template <> class TypeTraits { public: enum { EnumValue = UIntType }; static const char* name() { return "unsigned int"; } }; template <> class TypeTraits { public: enum { EnumValue = FloatType }; static const char* name() { return "float"; } }; template <> class TypeTraits { public: enum { EnumValue = DoubleType }; static const char* name() { return "double"; } }; } // end Avogadro namespace #endif // AVOGADRO_CORE_H avogadrolibs-1.93.0/avogadro/core/unitcell.cpp000066400000000000000000000043641360735163600213560ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "unitcell.h" #include namespace Avogadro { namespace Core { void UnitCell::setCellParameters(Real a_, Real b_, Real c_, Real al, Real be, Real ga) { // Convert parameters to matrix. See "Appendix 2: Coordinate Systems and // Transformations" of the PDB guide (ref v2.2, 4/23/13, // http://www.bmsc.washington.edu/CrystaLinks/man/pdb/guide2.2_frame.html) const Real cosAlpha = std::cos(al); const Real cosBeta = std::cos(be); const Real cosGamma = std::cos(ga); const Real sinGamma = std::sin(ga); m_cellMatrix(0, 0) = a_; m_cellMatrix(1, 0) = static_cast(0.0); m_cellMatrix(2, 0) = static_cast(0.0); m_cellMatrix(0, 1) = b_ * cosGamma; m_cellMatrix(1, 1) = b_ * sinGamma; m_cellMatrix(2, 1) = static_cast(0.0); m_cellMatrix(0, 2) = c_ * cosBeta; m_cellMatrix(1, 2) = c_ * (cosAlpha - cosBeta * cosGamma) / sinGamma; m_cellMatrix(2, 2) = (c_ / sinGamma) * std::sqrt( static_cast(1.0) - ((cosAlpha * cosAlpha) + (cosBeta * cosBeta) + (cosGamma * cosGamma)) + (static_cast(2.0) * cosAlpha * cosBeta * cosGamma)); computeFractionalMatrix(); } Real UnitCell::signedAngleRadians(const Vector3& v1, const Vector3& v2, const Vector3& axis) { const Vector3 crossProduct(v1.cross(v2)); const Real crossProductNorm(crossProduct.norm()); const Real dotProduct(v1.dot(v2)); const Real signDet(crossProduct.dot(axis)); const Real angle(std::atan2(crossProductNorm, dotProduct)); return signDet > 0.f ? angle : -angle; } } // end namespace Core } // end namespace Avogadro avogadrolibs-1.93.0/avogadro/core/unitcell.h000066400000000000000000000226511360735163600210220ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_UNITCELL_H #define AVOGADRO_CORE_UNITCELL_H #include "avogadrocore.h" #include "matrix.h" #include "vector.h" namespace Avogadro { namespace Core { /** * @class UnitCell unitcell.h * @brief The UnitCell class provides a representation of a crystal's unit cell. */ class AVOGADROCORE_EXPORT UnitCell { public: UnitCell(); UnitCell(Real a, Real b, Real c, Real alpha, Real beta, Real gamma); UnitCell(const Vector3& a, const Vector3& b, const Vector3& c); explicit UnitCell(const Matrix3& cellMatrix); UnitCell(const UnitCell& other); ~UnitCell(); UnitCell& operator=(UnitCell other); friend void swap(UnitCell& lhs, UnitCell& rhs); /** The lattice vector in the unit cell. Units: Angstrom @{ */ Vector3 aVector() const { return m_cellMatrix.col(0); } Vector3 bVector() const { return m_cellMatrix.col(1); } Vector3 cVector() const { return m_cellMatrix.col(2); } void setAVector(const Vector3& v); void setBVector(const Vector3& v); void setCVector(const Vector3& v); /** @} */ /** The length of the lattice vector in the unit cell. Units: Angstrom @{ */ Real a() const { return m_cellMatrix.col(0).norm(); } Real b() const { return m_cellMatrix.col(1).norm(); } Real c() const { return m_cellMatrix.col(2).norm(); } /** @} */ /** The angle (radians) between the 'b' and 'c' lattice vectors. */ Real alpha() const; /** The angle (radians) between the 'c' and 'a' lattice vectors. */ Real beta() const; /** The angle (radians) between the 'a' and 'b' lattice vectors. */ Real gamma() const; /** * Set the cell parameters defining the unit cell. @a a, @a b, and @a c are * in Angstrom, @a alpha, @a beta, and @a gamma are in radians. */ void setCellParameters(Real a, Real b, Real c, Real alpha, Real beta, Real gamma); /** * The volume of the unit cell in cubic Angstroms. */ Real volume() const; /** * @return A vector pointing to the origin of the translational image that is * @a i images in the a() direction, @a j images in the b() direction, and * @a k images in the c() direction. */ Vector3 imageOffset(int i, int j, int k) const; /** * The cell matrix with lattice vectors as columns. Units: Angstrom @{ */ const Matrix3& cellMatrix() const; void setCellMatrix(const Matrix3& m); /** @} */ /** * The matrix used to convert cartesian to fractional coordinates. */ const Matrix3& fractionalMatrix() const; void setFractionalMatrix(const Matrix3& m); /** @} */ /** * Convert the cartesian coordinate @a cart to fractional (lattice) units. @{ */ Vector3 toFractional(const Vector3& cart) const; void toFractional(const Vector3& cart, Vector3& frac) const; /** * Convert the fractional (lattice) coordinate @a frac to cartesian units. @{ */ Vector3 toCartesian(const Vector3& frac) const; void toCartesian(const Vector3& frac, Vector3& cart) const; /** @} */ /** * Adjust the fractional (lattice) coordinate @a frac so that it lies within * the unit cell. @{ */ Vector3 wrapFractional(const Vector3& frac) const; void wrapFractional(const Vector3& frac, Vector3& wrapped) const; /** @} */ /** * Adjust the cartesian coordinate @a cart so that it lies within the unit * cell. @{ */ Vector3 wrapCartesian(const Vector3& cart) const; void wrapCartesian(const Vector3& cart, Vector3& wrapped) const; /** @} */ /** * Find the minimum fractional image of a fractional vector @a v. * A minimum image has all fractional coordinates between -0.5 and 0.5. */ static Vector3 minimumImageFractional(const Vector3& v); /** * Find the minimum image of a Cartesian vector @a v. * A minimum image has all fractional coordinates between -0.5 and 0.5 */ Vector3 minimumImage(const Vector3& v) const; /** * Find the shortest distance between vectors @a v1 and @a v2. */ Real distance(const Vector3& v1, const Vector3& v2) const; private: static Real signedAngleRadians(const Vector3& v1, const Vector3& v2, const Vector3& axis); void computeCellMatrix() { m_cellMatrix = m_fractionalMatrix.inverse(); } void computeFractionalMatrix() { m_fractionalMatrix = m_cellMatrix.inverse(); } Matrix3 m_cellMatrix; Matrix3 m_fractionalMatrix; }; inline UnitCell::UnitCell() : m_cellMatrix(Matrix3::Identity()), m_fractionalMatrix(Matrix3::Identity()) { } inline UnitCell::UnitCell(Real a_, Real b_, Real c_, Real alpha_, Real beta_, Real gamma_) { setCellParameters(a_, b_, c_, alpha_, beta_, gamma_); } inline UnitCell::UnitCell(const Vector3& a_, const Vector3& b_, const Vector3& c_) { m_cellMatrix.col(0) = a_; m_cellMatrix.col(1) = b_; m_cellMatrix.col(2) = c_; computeFractionalMatrix(); } inline UnitCell::UnitCell(const Matrix3& cellMatrix_) { m_cellMatrix = cellMatrix_; computeFractionalMatrix(); } inline UnitCell::UnitCell(const UnitCell& other) : m_cellMatrix(other.m_cellMatrix), m_fractionalMatrix(other.m_fractionalMatrix) { } inline UnitCell::~UnitCell() { } inline UnitCell& UnitCell::operator=(UnitCell other) { using std::swap; swap(*this, other); return *this; } inline void swap(UnitCell& lhs, UnitCell& rhs) { using std::swap; swap(lhs.m_cellMatrix, rhs.m_cellMatrix); swap(lhs.m_fractionalMatrix, rhs.m_fractionalMatrix); } inline void UnitCell::setAVector(const Vector3& v) { m_cellMatrix.col(0) = v; computeFractionalMatrix(); } inline void UnitCell::setBVector(const Vector3& v) { m_cellMatrix.col(1) = v; computeFractionalMatrix(); } inline void UnitCell::setCVector(const Vector3& v) { m_cellMatrix.col(2) = v; computeFractionalMatrix(); } inline Real UnitCell::alpha() const { return signedAngleRadians(bVector(), cVector(), aVector()); } inline Real UnitCell::beta() const { return signedAngleRadians(cVector(), aVector(), bVector()); } inline Real UnitCell::gamma() const { return signedAngleRadians(aVector(), bVector(), cVector()); } inline Real UnitCell::volume() const { return std::fabs(aVector().cross(bVector()).dot(cVector())); } inline Vector3 UnitCell::imageOffset(int i, int j, int k) const { return (static_cast(i) * m_cellMatrix.col(0) + static_cast(j) * m_cellMatrix.col(1) + static_cast(k) * m_cellMatrix.col(2)); } inline const Matrix3& UnitCell::cellMatrix() const { return m_cellMatrix; } inline void UnitCell::setCellMatrix(const Matrix3& m) { m_cellMatrix = m; computeFractionalMatrix(); } inline const Matrix3& UnitCell::fractionalMatrix() const { return m_fractionalMatrix; } inline void UnitCell::setFractionalMatrix(const Matrix3& m) { m_fractionalMatrix = m; computeCellMatrix(); } inline Vector3 UnitCell::toFractional(const Vector3& cart) const { return m_fractionalMatrix * cart; } inline void UnitCell::toFractional(const Vector3& cart, Vector3& frac) const { frac = m_fractionalMatrix * cart; } inline Vector3 UnitCell::toCartesian(const Vector3& f) const { return m_cellMatrix * f; } inline void UnitCell::toCartesian(const Vector3& frac, Vector3& cart) const { cart = m_cellMatrix * frac; } inline Vector3 UnitCell::wrapFractional(const Vector3& f) const { const Real one = static_cast(1.0); Vector3 result(std::fmod(f[0], one), std::fmod(f[1], one), std::fmod(f[2], one)); if (result[0] < static_cast(0.0)) ++result[0]; if (result[1] < static_cast(0.0)) ++result[1]; if (result[2] < static_cast(0.0)) ++result[2]; return result; } inline void UnitCell::wrapFractional(const Vector3& f, Vector3& wrapped) const { const Real one = static_cast(1.0); wrapped = Vector3(std::fmod(f[0], one), std::fmod(f[1], one), std::fmod(f[2], one)); if (wrapped[0] < static_cast(0.0)) ++wrapped[0]; if (wrapped[1] < static_cast(0.0)) ++wrapped[1]; if (wrapped[2] < static_cast(0.0)) ++wrapped[2]; } inline Vector3 UnitCell::wrapCartesian(const Vector3& cart) const { Vector3 result = toFractional(cart); wrapFractional(result, result); toCartesian(result, result); return result; } inline void UnitCell::wrapCartesian(const Vector3& cart, Vector3& wrapped) const { toFractional(cart, wrapped); wrapFractional(wrapped, wrapped); toCartesian(wrapped, wrapped); } inline Vector3 UnitCell::minimumImageFractional(const Vector3& v) { Real x = v[0] - rint(v[0]); Real y = v[1] - rint(v[1]); Real z = v[2] - rint(v[2]); return Vector3(x, y, z); } inline Vector3 UnitCell::minimumImage(const Vector3& v) const { return toCartesian(minimumImageFractional(toFractional(v))); } inline Real UnitCell::distance(const Vector3& v1, const Vector3& v2) const { return std::fabs(minimumImage(v1 - v2).norm()); } } // namespace Core } // namespace Avogadro #endif // AVOGADRO_CORE_UNITCELL_H avogadrolibs-1.93.0/avogadro/core/utilities.h000066400000000000000000000065221360735163600212150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_UTILITIES_H #define AVOGADRO_CORE_UTILITIES_H #include #include #include namespace Avogadro { namespace Core { /** * @brief Split the supplied @p string by the @p delimiter. * @param string The string to be split up. * @param delimiter The delimiter to split the string by. * @param skipEmpty If true any empty items will be skipped. * @return A vector containing the items. */ inline std::vector split(const std::string& string, char delimiter, bool skipEmpty = true) { std::vector elements; std::stringstream stringStream(string); std::string item; while (std::getline(stringStream, item, delimiter)) { if (skipEmpty && item.empty()) continue; elements.push_back(item); } return elements; } /** * @brief Search the input string for the search string. * @param input String to be examined. * @param search String that will be searched for. * @return True if the string contains search, false otherwise. */ inline bool contains(const std::string& input, const std::string& search) { size_t found = input.find(search); return found != std::string::npos; } /** * @brief Efficient method to confirm input starts with the search string. * @param input String to be examined. * @param search String that will be searched for. * @return True if the string starts with search, false otherwise. */ inline bool startsWith(const std::string& input, const std::string& search) { return input.size() >= search.size() && input.compare(0, search.size(), search) == 0; } /** * @brief Trim a string of whitespace from the left and right. */ inline std::string trimmed(const std::string& input) { size_t start = input.find_first_not_of(" \n\r\t"); size_t end = input.find_last_not_of(" \n\r\t"); if (start == std::string::npos && end == std::string::npos) return ""; return input.substr(start, end - start + 1); } /** * @brief Cast the inputString to the specified type. * @param inputString String to cast to the specified type. */ template T lexicalCast(const std::string& inputString) { T value; std::istringstream(inputString) >> value; return value; } /** * @brief Cast the inputString to the specified type. * @param inputString String to cast to the specified type. * @param ok Set to true on success, and false if the string could not be * converted to the specified type. */ template T lexicalCast(const std::string& inputString, bool& ok) { T value; std::istringstream stream(inputString); stream >> value; ok = !stream.fail(); return value; } } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_UTILITIES_H avogadrolibs-1.93.0/avogadro/core/variant-inline.h000066400000000000000000000175341360735163600221270ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_VARIANT_INLINE_H #define AVOGADRO_CORE_VARIANT_INLINE_H #include "variant.h" #include namespace Avogadro { namespace Core { inline Variant::Variant() : m_type(Null) { } template inline Variant::Variant(T v) : m_type(Null) { setValue(v); } inline Variant::Variant(const Variant& variant) : m_type(variant.type()) { if (m_type == String) m_value.string = new std::string(variant.toString()); else if (m_type == Matrix) m_value.matrix = new MatrixX(*variant.m_value.matrix); else if (m_type != Null) m_value = variant.m_value; } inline Variant::~Variant() { clear(); } inline Variant::Type Variant::type() const { return m_type; } inline bool Variant::isNull() const { return m_type == Null; } template inline bool Variant::setValue(T v) { AVO_UNUSED(v); clear(); return false; } template <> inline bool Variant::setValue(bool v) { clear(); m_type = Bool; m_value._bool = v; return true; } template <> inline bool Variant::setValue(char v) { clear(); m_type = Int; m_value._int = v; return true; } template <> inline bool Variant::setValue(short v) { clear(); m_type = Int; m_value._int = v; return true; } template <> inline bool Variant::setValue(int v) { clear(); m_type = Int; m_value._int = v; return true; } template <> inline bool Variant::setValue(long v) { clear(); m_type = Long; m_value._long = v; return true; } template <> inline bool Variant::setValue(float v) { clear(); m_type = Float; m_value._float = v; return true; } template <> inline bool Variant::setValue(double v) { clear(); m_type = Double; m_value._double = v; return true; } template <> inline bool Variant::setValue(std::string string) { clear(); m_type = String; m_value.string = new std::string(string); return true; } template <> inline bool Variant::setValue(const char* string) { return setValue(std::string(string)); } template <> inline bool Variant::setValue(void* pointer) { clear(); m_type = Pointer; m_value.pointer = pointer; return true; } template <> inline bool Variant::setValue(MatrixX matrix) { clear(); m_type = Matrix; m_value.matrix = new MatrixX(matrix); return true; } template inline T Variant::value() const { return 0; } template <> inline bool Variant::value() const { if (m_type == Bool) return m_value._bool; else if (m_type == Int) return m_value._int != 0; return false; } template <> inline char Variant::value() const { if (m_type == Int) return static_cast(m_value._int); else if (m_type == String && !m_value.string->empty()) return m_value.string->at(0); return '\0'; } template <> inline short Variant::value() const { if (m_type == Int) return static_cast(m_value._int); else if (m_type == String) return lexical_cast(*m_value.string); return 0; } template <> inline int Variant::value() const { if (m_type == Int) return m_value._int; else if (m_type == Bool) return static_cast(m_value._bool); else if (m_type == Float) return static_cast(m_value._float); else if (m_type == Double) return static_cast(m_value._double); else if (m_type == String) return lexical_cast(*m_value.string); return 0; } template <> inline long Variant::value() const { if (m_type == Long) return m_value._long; else if (m_type == Int) return static_cast(m_value._int); else if (m_type == String) return lexical_cast(*m_value.string); return 0; } template <> inline float Variant::value() const { if (m_type == Float) return m_value._float; else if (m_type == Double) return static_cast(m_value._double); else if (m_type == Int) return static_cast(m_value._int); else if (m_type == String) return lexical_cast(*m_value.string); return 0; } template <> inline double Variant::value() const { if (m_type == Double) return m_value._double; else if (m_type == Float) return static_cast(m_value._float); else if (m_type == Int) return static_cast(m_value._int); else if (m_type == String) return lexical_cast(*m_value.string); return 0; } template <> inline void* Variant::value() const { if (m_type == Pointer) return m_value.pointer; return 0; } template <> inline std::string Variant::value() const { if (m_type == String) return *m_value.string; std::stringstream string; if (m_type == Int) string << m_value._int; else if (m_type == Float) string << m_value._float; else if (m_type == Double) string << m_value._double; return string.str(); } template <> inline MatrixX Variant::value() const { if (m_type == Matrix) return *m_value.matrix; return MatrixX(); } template <> inline const MatrixX& Variant::value() const { if (m_type == Matrix) return *m_value.matrix; // Use a static null matrix for the reference. static MatrixX nullMatrix(0, 0); return nullMatrix; } inline void Variant::clear() { if (m_type == String) { delete m_value.string; m_value.string = 0; } else if (m_type == Matrix) { delete m_value.matrix; m_value.matrix = 0; } m_type = Null; } inline bool Variant::toBool() const { return value(); } inline char Variant::toChar() const { return value(); } inline unsigned char Variant::toUChar() const { return value(); } inline short Variant::toShort() const { return value(); } inline unsigned short Variant::toUShort() const { return value(); } inline int Variant::toInt() const { return value(); } inline unsigned int Variant::toUInt() const { return value(); } inline long Variant::toLong() const { return value(); } inline unsigned long Variant::toULong() const { return value(); } inline float Variant::toFloat() const { return value(); } inline double Variant::toDouble() const { return value(); } inline Real Variant::toReal() const { return value(); } inline void* Variant::toPointer() const { return value(); } inline std::string Variant::toString() const { return value(); } inline MatrixX Variant::toMatrix() const { return value(); } inline const MatrixX& Variant::toMatrixRef() const { return value(); } // --- Operators ----------------------------------------------------------- // inline Variant& Variant::operator=(const Variant& variant) { if (this != &variant) { // Clear previous data, clear(); // Set the new type. m_type = variant.m_type; // Set the new value, if (m_type == String) m_value.string = new std::string(variant.toString()); else if (m_type == Matrix) m_value.matrix = new MatrixX(*variant.m_value.matrix); else if (m_type != Null) m_value = variant.m_value; } return *this; } // --- Internal Methods ---------------------------------------------------- // template inline T Variant::lexical_cast(const std::string& str) { T value; std::istringstream(str) >> value; return value; } } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_VARIANT_INLINE_H avogadrolibs-1.93.0/avogadro/core/variant.h000066400000000000000000000101041360735163600206350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_VARIANT_H #define AVOGADRO_CORE_VARIANT_H #include "avogadrocore.h" #include "matrix.h" #include namespace Avogadro { namespace Core { /** * @class Variant variant.h * @brief The Variant class represents a union of data values. * * Variant objects allow for the storage of and conversion between a variety of * different data types. */ class AVOGADROCORE_EXPORT Variant { public: // enumerations enum Type { Null, Bool, Int, Long, Float, Double, Pointer, String, Matrix }; /** Creates a null variant. */ inline Variant(); /** Creates a variant to store @p value. */ template Variant(T value); /** Creates a new copy of @p variant. */ inline Variant(const Variant& variant); /** Destroys the variant object. */ inline ~Variant(); /** Returns variant's type. */ inline Type type() const; /** Returns \c true if the variant is null. */ inline bool isNull() const; /** Sets the value of the variant to @p value. */ template bool setValue(T value); /** Returns the value of the variant in the type given by \c T. */ template T value() const; /** Clears the variant's data and sets the variant to null. */ inline void clear(); /** Returns the value of the variant as a \c bool. */ inline bool toBool() const; /** Returns the value of the variant as a \c char. */ inline char toChar() const; /** Returns the value of the variant as an \c unsigned \c char. */ inline unsigned char toUChar() const; /** Returns the value of the variant as a \c short. */ inline short toShort() const; /** Returns the value of the variant as an \c unsigned \c short. */ inline unsigned short toUShort() const; /** Returns the value of the variant as an \c int. */ inline int toInt() const; /** Returns the value of the variant as an \c unsigned \c int. */ inline unsigned int toUInt() const; /** Returns the value of the variant as a \c long. */ inline long toLong() const; /** Returns the value of the variant as an \c unsigned \c long. */ inline unsigned long toULong() const; /** Returns the value of the variant as a \c float. */ inline float toFloat() const; /** Returns the value of the variant as a \c double. */ inline double toDouble() const; /** Returns the value of the variant as a \c Real. */ inline Real toReal() const; /** Returns the value of the variant as a pointer. */ inline void* toPointer() const; /** Returns the value of the variant as a string. */ inline std::string toString() const; /** Returns the value of the variant as a MatrixX. */ inline MatrixX toMatrix() const; /** * Returns a reference to the value of the variant as a MatrixX. * This method will not perform any casting -- if type() is not exactly * MatrixX, the function will fail and return a reference to an empty MatrixX. */ inline const MatrixX& toMatrixRef() const; // operators inline Variant& operator=(const Variant& variant); private: template static T lexical_cast(const std::string& string); private: Type m_type; union { bool _bool; char _char; int _int; long _long; float _float; double _double; void* pointer; std::string* string; MatrixX* matrix; } m_value; }; } // end Core namespace } // end Avogadro namespace #include "variant-inline.h" #endif // AVOGADRO_CORE_VARIANT_H avogadrolibs-1.93.0/avogadro/core/variantmap.cpp000066400000000000000000000040211360735163600216670ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "variantmap.h" namespace Avogadro { namespace Core { VariantMap::VariantMap() { } VariantMap::~VariantMap() { } size_t VariantMap::size() const { return m_map.size(); } bool VariantMap::isEmpty() const { return m_map.empty(); } std::vector VariantMap::names() const { std::vector result; result.reserve(size()); for (const_iterator it = constBegin(), itEnd = constEnd(); it != itEnd; ++it) result.push_back((*it).first); return result; } void VariantMap::setValue(const std::string& name, const Variant& v) { m_map[name] = v; } Variant VariantMap::value(const std::string& name) const { std::map::const_iterator iter = m_map.find(name); if (iter == m_map.end()) return Variant(); return iter->second; } bool VariantMap::hasValue(const std::string& name) const { return m_map.find(name) != m_map.end(); } VariantMap::iterator VariantMap::begin() { return m_map.begin(); } VariantMap::const_iterator VariantMap::begin() const { return m_map.begin(); } VariantMap::const_iterator VariantMap::constBegin() const { return m_map.begin(); } VariantMap::iterator VariantMap::end() { return m_map.end(); } VariantMap::const_iterator VariantMap::end() const { return m_map.end(); } VariantMap::const_iterator VariantMap::constEnd() const { return m_map.end(); } } // end Core namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/core/variantmap.h000066400000000000000000000050111360735163600213340ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_VARIANTMAP_H #define AVOGADRO_CORE_VARIANTMAP_H #include "avogadrocore.h" #include "variant.h" #include #include #include namespace Avogadro { namespace Core { /** * @class VariantMap variantmap.h * @brief The VariantMap class provides a map between string keys and variant * values. */ class AVOGADROCORE_EXPORT VariantMap { public: typedef std::map::iterator iterator; typedef std::map::const_iterator const_iterator; /** Creates a new variant map object. */ VariantMap(); /** Destroys the variant map. */ ~VariantMap(); /** Returns the size of the variant map. */ size_t size() const; /** Returns \c true if the variant map is empty (i.e. size() == \c 0). */ bool isEmpty() const; /** Returns the names of the entries in the map. */ std::vector names() const; /** Sets the value of @p name to @p v. */ void setValue(const std::string& name, const Variant& v); /** * Returns the value for @p name. If @p name is not found a null variant is * returned. */ Variant value(const std::string& name) const; /** * Returns true if the key exists in the map. */ bool hasValue(const std::string& name) const; /** Return an iterator pointing to the beginning of the map. */ iterator begin(); /** \overload */ const_iterator begin() const; /** Return a const_iterator pointing to the beginning of the map. */ const_iterator constBegin() const; /** Return an iterator pointing to the end of the map. */ iterator end(); /** \overload */ const_iterator end() const; /** Return a const_iterator pointing to the end of the map. */ const_iterator constEnd() const; private: std::map m_map; }; } // end Core namespace } // end Avogadro namespace #endif // AVOGADRO_CORE_VARIANTMAP_H avogadrolibs-1.93.0/avogadro/core/vector.h000066400000000000000000000030331360735163600204760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_CORE_VECTOR_H #define AVOGADRO_CORE_VECTOR_H #include "avogadrocore.h" #include namespace Avogadro { /** Typedefs for vector types. */ typedef Eigen::Matrix Vector2; typedef Eigen::Matrix Vector3; typedef Eigen::Matrix Vector4; typedef Eigen::Matrix Vector2f; typedef Eigen::Matrix Vector3f; typedef Eigen::Matrix Vector4f; typedef Eigen::Matrix Vector2i; typedef Eigen::Matrix Vector3i; typedef Eigen::Matrix Vector4i; typedef Eigen::Matrix Vector2ub; typedef Eigen::Matrix Vector3ub; typedef Eigen::Matrix Vector4ub; /** A simple struct composed of Vector3f to represent a frustrum. */ struct Frustrum { Vector3f points[8]; Vector3f planes[4]; }; } // end Avogadro namespace #endif // AVOGADRO_CORE_VECTOR_H avogadrolibs-1.93.0/avogadro/core/version.cpp000066400000000000000000000014071360735163600212170ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "version.h" namespace Avogadro { const char* version() { return AvogadroLibs_VERSION; } } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/io/000077500000000000000000000000001360735163600165035ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/io/CMakeLists.txt000066400000000000000000000036411360735163600212470ustar00rootroot00000000000000find_package(Eigen3 REQUIRED) if(USE_MMTF) find_package(MMTF REQUIRED) include_directories(SYSTEM "${MMTF_INCLUDE_DIRS}") add_definitions(-DAVO_USE_MMTF) endif() if(USE_HDF5) find_package(HDF5 REQUIRED COMPONENTS C) # HDF5 is built in two ways (CMake or its default build system). If we are # using the CMake version it makes use of exported targets, hence this check. if(NOT DEFINED HDF5_LIBRARIES) set(HDF5_LIBRARIES "hdf5") endif() include_directories(SYSTEM "${HDF5_INCLUDE_DIRS}") add_definitions(-DAVO_USE_HDF5) endif() # Add as "system headers" to avoid warnings generated by them with # compilers that support that notion. include_directories(SYSTEM "${EIGEN3_INCLUDE_DIR}" "${AvogadroLibs_SOURCE_DIR}/thirdparty/pugixml" "${AvogadroLibs_SOURCE_DIR}/thirdparty/struct" "${AvogadroLibs_SOURCE_DIR}/thirdparty") if(DEFINED AvogadroLibs_MEMORY_INCLUDE_DIRS) # The smart pointer classes just require headers. include_directories(SYSTEM ${AvogadroLibs_MEMORY_INCLUDE_DIRS}) endif() set(HEADERS cjsonformat.h cmlformat.h dcdformat.h fileformat.h fileformatmanager.h gromacsformat.h mdlformat.h vaspformat.h pdbformat.h xyzformat.h trrformat.h lammpsformat.h ) set(SOURCES cjsonformat.cpp cmlformat.cpp dcdformat.cpp fileformat.cpp fileformatmanager.cpp gromacsformat.cpp mdlformat.cpp vaspformat.cpp pdbformat.cpp xyzformat.cpp trrformat.cpp lammpsformat.cpp ) if(USE_HDF5) list(APPEND HEADERS hdf5dataformat.h) list(APPEND SOURCES hdf5dataformat.cpp) endif() if(USE_MMTF) list(APPEND HEADERS mmtfformat.h) list(APPEND SOURCES mmtfformat.cpp) endif() avogadro_add_library(AvogadroIO ${HEADERS} ${SOURCES}) target_link_libraries(AvogadroIO LINK_PUBLIC AvogadroCore LINK_PRIVATE struct) if(USE_HDF5) target_link_libraries(AvogadroIO LINK_PRIVATE ${HDF5_LIBRARIES}) endif() if(WIN32) target_link_libraries(AvogadroIO LINK_PRIVATE ws2_32) endif() avogadrolibs-1.93.0/avogadro/io/cjsonformat.cpp000066400000000000000000000600651360735163600215430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. This source code is released under the 3-Clause BSD License, (see "LICENSE"). ******************************************************************************/ #include "cjsonformat.h" #include #include #include #include #include #include #include #include #include #include using json = nlohmann::json; namespace Avogadro { namespace Io { using std::string; using std::vector; using Core::Array; using Core::Atom; using Core::BasisSet; using Core::Bond; using Core::CrystalTools; using Core::Cube; using Core::Elements; using Core::GaussianSet; using Core::lexicalCast; using Core::Molecule; using Core::split; using Core::Variant; CjsonFormat::CjsonFormat() = default; CjsonFormat::~CjsonFormat() = default; bool setJsonKey(json& j, Molecule& m, const std::string& key) { if (j.count(key) && j.find(key)->is_string()) { m.setData(key, j.value(key, "undefined")); return true; } return false; } bool isNumericArray(json& j) { if (j.is_array() && j.size() > 0) { for (unsigned int i = 0; i < j.size(); ++i) { json v = j[i]; if (!v.is_number()) { return false; } } return true; } return false; } bool isBooleanArray(json& j) { if (j.is_array() && j.size() > 0) { for (unsigned int i = 0; i < j.size(); ++i) { json v = j[i]; if (!v.is_boolean()) { return false; } } return true; } return false; } bool CjsonFormat::read(std::istream& file, Molecule& molecule) { json jsonRoot = json::parse(file, nullptr, false); if (jsonRoot.is_discarded()) { appendError("Error parsing JSON."); return false; } if (!jsonRoot.is_object()) { appendError("Error: Input is not a JSON object."); return false; } auto jsonValue = jsonRoot.find("chemicalJson"); if (jsonValue == jsonRoot.end()) jsonValue = jsonRoot.find("chemical json"); if (jsonValue == jsonRoot.end()) { appendError("Error: no \"chemical json\" key found."); return false; } if (*jsonValue != 0 && *jsonValue != 1) { appendError("Warning: chemical json version is not 0 or 1."); } // Read some basic key-value pairs (all strings). setJsonKey(jsonRoot, molecule, "name"); setJsonKey(jsonRoot, molecule, "inchi"); setJsonKey(jsonRoot, molecule, "formula"); // Read in the atoms. json atoms = jsonRoot["atoms"]; if (!atoms.is_object()) { appendError("The 'atoms' key does not contain an object."); return false; } json atomicNumbers = atoms["elements"]["number"]; // This represents our minimal spec for a molecule - atoms that have an // atomic number. if (isNumericArray(atomicNumbers) && atomicNumbers.size() > 0) { for (unsigned int i = 0; i < atomicNumbers.size(); ++i) molecule.addAtom(atomicNumbers[i]); } else { appendError("Malformed array for in atoms.elements.number"); return false; } Index atomCount = molecule.atomCount(); // 3d coordinates if available for our atoms json atomicCoords = atoms["coords"]["3d"]; if (isNumericArray(atomicCoords) && atomicCoords.size() == 3 * atomCount) { for (Index i = 0; i < atomCount; ++i) { auto a = molecule.atom(i); a.setPosition3d(Vector3(atomicCoords[3 * i], atomicCoords[3 * i + 1], atomicCoords[3 * i + 2])); } } // Check for coordinate sets, and read them in if found, e.g. trajectories. json coordSets = atoms["coords"]["3dSets"]; if (coordSets.is_array() && coordSets.size()) { for (unsigned int i = 0; i < coordSets.size(); ++i) { Array setArray; json set = coordSets[i]; if (isNumericArray(set)) { for (unsigned int j = 0; j < set.size() / 3; ++j) { setArray.push_back( Vector3(set[3 * j], set[3 * j + 1], set[3 * j + 2])); } molecule.setCoordinate3d(setArray, i); } } // Make sure the first step is active once we are done loading the sets. molecule.setCoordinate3d(0); } // Selection is optional, but if present should be loaded. json selection = atoms["selected"]; if (isBooleanArray(selection) && selection.size() == atomCount) for (Index i = 0; i < atomCount; ++i) molecule.setAtomSelected(i, selection[i]); else if (isNumericArray(selection) && selection.size() == atomCount) for (Index i = 0; i < atomCount; ++i) molecule.setAtomSelected(i, selection[i] != 0); // Bonds are optional, but if present should be loaded. json bonds = jsonRoot["bonds"]; if (bonds.is_object() && isNumericArray(bonds["connections"]["index"])) { json connections = bonds["connections"]["index"]; for (unsigned int i = 0; i < connections.size() / 2; ++i) { molecule.addBond(static_cast(connections[2 * i]), static_cast(connections[2 * i + 1]), 1); } json order = bonds["order"]; if (isNumericArray(order)) { for (unsigned int i = 0; i < molecule.bondCount() && i < order.size(); ++i) { molecule.bond(i).setOrder(static_cast(order[i])); } } } json unitCell = jsonRoot["unitCell"]; if (!unitCell.is_object()) unitCell = jsonRoot["unit cell"]; if (unitCell.is_object()) { Core::UnitCell* unitCellObject = nullptr; // read in cell vectors in preference to a, b, c parameters json cellVectors = unitCell["cellVectors"]; if (cellVectors.is_array() && cellVectors.size() == 9 && isNumericArray(cellVectors)) { Vector3 aVector(cellVectors[0], cellVectors[1], cellVectors[2]); Vector3 bVector(cellVectors[3], cellVectors[4], cellVectors[5]); Vector3 cVector(cellVectors[6], cellVectors[7], cellVectors[8]); unitCellObject = new Core::UnitCell(aVector, bVector, cVector); } else if (unitCell["a"].is_number() && unitCell["b"].is_number() && unitCell["c"].is_number() && unitCell["alpha"].is_number() && unitCell["beta"].is_number() && unitCell["gamma"].is_number()) { Real a = static_cast(unitCell["a"]); Real b = static_cast(unitCell["b"]); Real c = static_cast(unitCell["c"]); Real alpha = static_cast(unitCell["alpha"]) * DEG_TO_RAD; Real beta = static_cast(unitCell["beta"]) * DEG_TO_RAD; Real gamma = static_cast(unitCell["gamma"]) * DEG_TO_RAD; unitCellObject = new Core::UnitCell(a, b, c, alpha, beta, gamma); } if (unitCellObject != nullptr) molecule.setUnitCell(unitCellObject); } json fractional = atoms["coords"]["3dFractional"]; if (!fractional.is_array()) fractional = atoms["coords"]["3d fractional"]; if (fractional.is_array() && fractional.size() == 3 * atomCount && isNumericArray(fractional) && molecule.unitCell()) { Array fcoords; fcoords.reserve(atomCount); for (Index i = 0; i < atomCount; ++i) { fcoords.push_back(Vector3(static_cast(fractional[i * 3 + 0]), static_cast(fractional[i * 3 + 1]), static_cast(fractional[i * 3 + 2]))); } CrystalTools::setFractionalCoordinates(molecule, fcoords); } // Basis set is optional, if present read it in. json basisSet = jsonRoot["basisSet"]; if (basisSet.is_object()) { GaussianSet* basis = new GaussianSet; basis->setMolecule(&molecule); // Gather the relevant pieces together so that they can be read in. json shellTypes = basisSet["shellTypes"]; json primitivesPerShell = basisSet["primitivesPerShell"]; json shellToAtomMap = basisSet["shellToAtomMap"]; json exponents = basisSet["exponents"]; json coefficients = basisSet["coefficients"]; int nGTO = 0; for (unsigned int i = 0; i < shellTypes.size(); ++i) { GaussianSet::orbital type; switch (static_cast(shellTypes[i])) { case 0: type = GaussianSet::S; break; case 1: type = GaussianSet::P; break; case 2: type = GaussianSet::D; break; case -2: type = GaussianSet::D5; break; default: // If we encounter GTOs we do not understand, the basis is likely // invalid type = GaussianSet::UU; } if (type != GaussianSet::UU) { int b = basis->addBasis(static_cast(shellToAtomMap[i]), type); for (int j = 0; j < static_cast(primitivesPerShell[i]); ++j) { basis->addGto(b, coefficients[nGTO], exponents[nGTO]); ++nGTO; } } } json orbitals = jsonRoot["orbitals"]; if (orbitals.is_object() && basis->isValid()) { basis->setElectronCount(orbitals["electronCount"]); json occupations = orbitals["occupations"]; if (isNumericArray(occupations)) { std::vector occs; for (unsigned int i = 0; i < occupations.size(); ++i) occs.push_back(static_cast(occupations[i])); basis->setMolecularOrbitalOccupancy(occupations); } json energies = orbitals["energies"]; if (isNumericArray(energies)) { std::vector energyArray; for (unsigned int i = 0; i < energies.size(); ++i) energyArray.push_back(static_cast(energies[i])); basis->setMolecularOrbitalEnergy(energyArray); } json numbers = orbitals["numbers"]; if (isNumericArray(numbers)) { std::vector numArray; for (unsigned int i = 0; i < numbers.size(); ++i) numArray.push_back(static_cast(numbers[i])); basis->setMolecularOrbitalNumber(numArray); } json moCoefficients = orbitals["moCoefficients"]; json moCoefficientsA = orbitals["alphaCoefficients"]; json moCoefficientsB = orbitals["betaCoefficients"]; if (isNumericArray(moCoefficients)) { std::vector coeffs; for (unsigned int i = 0; i < moCoefficients.size(); ++i) coeffs.push_back(static_cast(moCoefficients[i])); basis->setMolecularOrbitals(coeffs); } else if (isNumericArray(moCoefficientsA) && isNumericArray(moCoefficientsB)) { std::vector coeffsA; for (unsigned int i = 0; i < moCoefficientsA.size(); ++i) coeffsA.push_back(static_cast(moCoefficientsA[i])); std::vector coeffsB; for (unsigned int i = 0; i < moCoefficientsB.size(); ++i) coeffsB.push_back(static_cast(moCoefficientsB[i])); basis->setMolecularOrbitals(coeffsA, BasisSet::Alpha); basis->setMolecularOrbitals(coeffsB, BasisSet::Beta); } else { std::cout << "No orbital cofficients found!" << std::endl; } // Check for orbital coefficient sets, these are paired with coordinates // when they exist, but have constant basis set, atom types, etc. if (orbitals["sets"].is_array() && orbitals["sets"].size()) { json orbSets = orbitals["sets"]; for (unsigned int idx = 0; idx < orbSets.size(); ++idx) { moCoefficients = orbSets[idx]["moCoefficients"]; moCoefficientsA = orbSets[idx]["alphaCoefficients"]; moCoefficientsB = orbSets[idx]["betaCoefficients"]; if (isNumericArray(moCoefficients)) { std::vector coeffs; for (unsigned int i = 0; i < moCoefficients.size(); ++i) coeffs.push_back(static_cast(moCoefficients[i])); basis->setMolecularOrbitals(coeffs, BasisSet::Paired, idx); } else if (isNumericArray(moCoefficientsA) && isNumericArray(moCoefficientsB)) { std::vector coeffsA; for (unsigned int i = 0; i < moCoefficientsA.size(); ++i) coeffsA.push_back(static_cast(moCoefficientsA[i])); std::vector coeffsB; for (unsigned int i = 0; i < moCoefficientsB.size(); ++i) coeffsB.push_back(static_cast(moCoefficientsB[i])); basis->setMolecularOrbitals(coeffsA, BasisSet::Alpha, idx); basis->setMolecularOrbitals(coeffsB, BasisSet::Beta, idx); } } // Set the first step as active. basis->setActiveSetStep(0); } } molecule.setBasisSet(basis); } // See if there is any vibration data, load it if so. json vibrations = jsonRoot["vibrations"]; if (vibrations.is_object()) { json frequencies = vibrations["frequencies"]; if (isNumericArray(frequencies)) { Array freqs; for (unsigned int i = 0; i < frequencies.size(); ++i) { freqs.push_back(static_cast(frequencies[i])); } molecule.setVibrationFrequencies(freqs); } json intensities = vibrations["intensities"]; if (isNumericArray(intensities)) { Array intens; for (unsigned int i = 0; i < intensities.size(); ++i) { intens.push_back(static_cast(intensities[i])); } molecule.setVibrationIntensities(intens); } json displacements = vibrations["eigenVectors"]; if (displacements.is_array()) { Array> disps; for (unsigned int i = 0; i < displacements.size(); ++i) { json arr = displacements[i]; if (isNumericArray(arr)) { Array mode; mode.resize(arr.size() / 3); double* ptr = &mode[0][0]; for (unsigned int j = 0; j < arr.size(); ++j) { *(ptr++) = static_cast(arr[j]); } disps.push_back(mode); } } molecule.setVibrationLx(disps); } } return true; } bool CjsonFormat::write(std::ostream& file, const Molecule& molecule) { json opts; if (!options().empty()) opts = json::parse(options(), nullptr, false); else opts = json::object(); json root; root["chemicalJson"] = 1; if (opts.value("properties", true)) { if (molecule.data("name").type() == Variant::String) root["name"] = molecule.data("name").toString().c_str(); if (molecule.data("inchi").type() == Variant::String) root["inchi"] = molecule.data("inchi").toString().c_str(); } if (molecule.unitCell()) { json unitCell; unitCell["a"] = molecule.unitCell()->a(); unitCell["b"] = molecule.unitCell()->b(); unitCell["c"] = molecule.unitCell()->c(); unitCell["alpha"] = molecule.unitCell()->alpha() * RAD_TO_DEG; unitCell["beta"] = molecule.unitCell()->beta() * RAD_TO_DEG; unitCell["gamma"] = molecule.unitCell()->gamma() * RAD_TO_DEG; json vectors; vectors.push_back(molecule.unitCell()->aVector().x()); vectors.push_back(molecule.unitCell()->aVector().y()); vectors.push_back(molecule.unitCell()->aVector().z()); vectors.push_back(molecule.unitCell()->bVector().x()); vectors.push_back(molecule.unitCell()->bVector().y()); vectors.push_back(molecule.unitCell()->bVector().z()); vectors.push_back(molecule.unitCell()->cVector().x()); vectors.push_back(molecule.unitCell()->cVector().y()); vectors.push_back(molecule.unitCell()->cVector().z()); unitCell["cellVectors"] = vectors; root["unitCell"] = unitCell; } // Create a basis set/MO matrix we can round trip. if (molecule.basisSet() && dynamic_cast(molecule.basisSet())) { json basis; auto gaussian = dynamic_cast(molecule.basisSet()); // Map the shell types from enumeration to integer values. auto symmetry = gaussian->symmetry(); json shellTypes; for (size_t i = 0; i < symmetry.size(); ++i) { switch (symmetry[i]) { case GaussianSet::S: shellTypes.push_back(0); break; case GaussianSet::P: shellTypes.push_back(1); break; case GaussianSet::D: shellTypes.push_back(2); break; case GaussianSet::D5: shellTypes.push_back(-2); break; default: // Something bad, put in a silly number... shellTypes.push_back(426942); } } basis["shellTypes"] = shellTypes; // This bit is slightly tricky, map from our index to primitives per shell. if (gaussian->gtoIndices().size() && gaussian->atomIndices().size()) { auto gtoIndices = gaussian->gtoIndices(); auto gtoA = gaussian->gtoA(); json primitivesPerShell; for (size_t i = 0; i < gtoIndices.size() - 1; ++i) primitivesPerShell.push_back(gtoIndices[i + 1] - gtoIndices[i]); primitivesPerShell.push_back(gtoA.size() - gtoIndices.back()); basis["primitivesPerShell"] = primitivesPerShell; auto atomIndices = gaussian->atomIndices(); json shellToAtomMap; std::cout << "atomIndices " << atomIndices.size() << std::endl; for (size_t i = 0; i < atomIndices.size(); ++i) shellToAtomMap.push_back(atomIndices[i]); basis["shellToAtomMap"] = shellToAtomMap; auto gtoC = gaussian->gtoC(); json exponents; json coefficients; for (size_t i = 0; i < gtoA.size(); ++i) { exponents.push_back(gtoA[i]); coefficients.push_back(gtoC[i]); } basis["exponents"] = exponents; basis["coefficients"] = coefficients; // Write out the basis set if a valid one exists. root["basisSet"] = basis; } // Now get the MO matrix, potentially other things. Need to get a handle on // when we have just one (paired), or two (alpha and beta) to write. auto moMatrix = gaussian->moMatrix(); auto betaMatrix = gaussian->moMatrix(BasisSet::Beta); json moCoefficients; for (int j = 0; j < moMatrix.cols(); ++j) for (int i = 0; i < moMatrix.rows(); ++i) moCoefficients.push_back(moMatrix(i, j)); if (betaMatrix.cols() > 0 && betaMatrix.rows() > 0) { json moBeta; for (int j = 0; j < moMatrix.cols(); ++j) for (int i = 0; i < moMatrix.rows(); ++i) moBeta.push_back(moMatrix(i, j)); root["orbitals"]["alphaCoefficients"] = moCoefficients; root["orbitals"]["betaCoefficients"] = moBeta; } else { root["orbitals"]["moCoefficients"] = moCoefficients; } // Some energy, occupation, and number data potentially. auto energies = gaussian->moEnergy(); if (energies.size() > 0) { json energyData; for (auto it = energies.begin(), itEnd = energies.end(); it != itEnd; ++it) { energyData.push_back(*it); } root["orbitals"]["energies"] = energyData; } auto occ = gaussian->moOccupancy(); if (occ.size() > 0) { json occData; for (auto it = occ.begin(), itEnd = occ.end(); it != itEnd; ++it) occData.push_back(static_cast(*it)); root["orbitals"]["occupations"] = occData; } auto num = gaussian->moNumber(); if (num.size() > 0) { json numData; for (auto it = num.begin(), itEnd = num.end(); it != itEnd; ++it) numData.push_back(*it); root["orbitals"]["numbers"] = numData; } root["orbitals"]["electronCount"] = gaussian->electronCount(); } // Write out any cubes that are present in the molecule. if (molecule.cubeCount() > 0) { const Cube* cube = molecule.cube(0); json cubeData; for (vector::const_iterator it = cube->data()->begin(), itEnd = cube->data()->end(); it != itEnd; ++it) { cubeData.push_back(*it); } // Get the origin, max, spacing, and dimensions to place in the object. json cubeObj; json cubeMin; cubeMin.push_back(cube->min().x()); cubeMin.push_back(cube->min().y()); cubeMin.push_back(cube->min().z()); cubeObj["origin"] = cubeMin; json cubeSpacing; cubeSpacing.push_back(cube->spacing().x()); cubeSpacing.push_back(cube->spacing().y()); cubeSpacing.push_back(cube->spacing().z()); cubeObj["spacing"] = cubeSpacing; json cubeDims; cubeDims.push_back(cube->dimensions().x()); cubeDims.push_back(cube->dimensions().y()); cubeDims.push_back(cube->dimensions().z()); cubeObj["dimensions"] = cubeDims; cubeObj["scalars"] = cubeData; root["cube"] = cubeObj; } // Create and populate the atom arrays. if (molecule.atomCount()) { json elements; json selected; for (Index i = 0; i < molecule.atomCount(); ++i) { elements.push_back(molecule.atom(i).atomicNumber()); selected.push_back(molecule.atomSelected(i)); } root["atoms"]["elements"]["number"] = elements; root["atoms"]["selected"] = selected; // 3d positions: if (molecule.atomPositions3d().size() == molecule.atomCount()) { // everything gets real-space Cartesians json coords3d; for (vector::const_iterator it = molecule.atomPositions3d().begin(), itEnd = molecule.atomPositions3d().end(); it != itEnd; ++it) { coords3d.push_back(it->x()); coords3d.push_back(it->y()); coords3d.push_back(it->z()); } root["atoms"]["coords"]["3d"] = coords3d; // if the unit cell exists, also write fractional coords if (molecule.unitCell()) { json coordsFractional; Array fcoords; CrystalTools::fractionalCoordinates( *molecule.unitCell(), molecule.atomPositions3d(), fcoords); for (vector::const_iterator it = fcoords.begin(), itEnd = fcoords.end(); it != itEnd; ++it) { coordsFractional.push_back(it->x()); coordsFractional.push_back(it->y()); coordsFractional.push_back(it->z()); } root["atoms"]["coords"]["3dFractional"] = coordsFractional; } } // 2d positions: if (molecule.atomPositions2d().size() == molecule.atomCount()) { json coords2d; for (vector::const_iterator it = molecule.atomPositions2d().begin(), itEnd = molecule.atomPositions2d().end(); it != itEnd; ++it) { coords2d.push_back(it->x()); coords2d.push_back(it->y()); } root["atoms"]["coords"]["2d"] = coords2d; } } // Create and populate the bond arrays. if (molecule.bondCount()) { json connections; json order; for (Index i = 0; i < molecule.bondCount(); ++i) { Bond bond = molecule.bond(i); connections.push_back(bond.atom1().index()); connections.push_back(bond.atom2().index()); order.push_back(bond.order()); } root["bonds"]["connections"]["index"] = connections; root["bonds"]["order"] = order; } // If there is vibrational data write this out too. if (molecule.vibrationFrequencies().size() > 0) { // A few sanity checks before we begin. assert(molecule.vibrationFrequencies().size() == molecule.vibrationIntensities().size()); json modes; json freqs; json inten; json eigenVectors; for (size_t i = 0; i < molecule.vibrationFrequencies().size(); ++i) { modes.push_back(static_cast(i) + 1); freqs.push_back(molecule.vibrationFrequencies()[i]); inten.push_back(molecule.vibrationIntensities()[i]); Core::Array atomDisplacements = molecule.vibrationLx(i); json eigenVector; for (size_t j = 0; j < atomDisplacements.size(); ++j) { Vector3 pos = atomDisplacements[j]; eigenVector.push_back(pos[0]); eigenVector.push_back(pos[1]); eigenVector.push_back(pos[2]); } eigenVectors.push_back(eigenVector); } root["vibrations"]["modes"] = modes; root["vibrations"]["frequencies"] = freqs; root["vibrations"]["intensities"] = inten; root["vibrations"]["eigenVectors"] = eigenVectors; } // Write out the file, use a two space indent to "pretty print". file << std::setw(2) << root; return true; } vector CjsonFormat::fileExtensions() const { vector ext; ext.push_back("cjson"); return ext; } vector CjsonFormat::mimeTypes() const { vector mime; mime.push_back("chemical/x-cjson"); return mime; } } // namespace Io } // namespace Avogadro avogadrolibs-1.93.0/avogadro/io/cjsonformat.h000066400000000000000000000032271360735163600212050ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. This source code is released under the 3-Clause BSD License, (see "LICENSE"). ******************************************************************************/ #ifndef AVOGADRO_IO_CJSONFORMAT_H #define AVOGADRO_IO_CJSONFORMAT_H #include "fileformat.h" namespace Avogadro { namespace Core { class GaussianSet; } namespace Io { /** * @class CjsonFormat cjsonformat.h * @brief Implementation of the Chemical JSON format. */ class AVOGADROIO_EXPORT CjsonFormat : public FileFormat { public: CjsonFormat(); ~CjsonFormat() override; Operations supportedOperations() const override { return ReadWrite | File | Stream | String; } FileFormat* newInstance() const override { return new CjsonFormat; } std::string identifier() const override { return "Avogadro: CJSON"; } std::string name() const override { return "Chemical JSON"; } std::string description() const override { return "CJSON format is a lightweight intermediate format used to exchange " "information between Avogadro and other data parsing applications"; } std::string specificationUrl() const override { return "http://wiki.openchemistry.org/Chemical_JSON"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream& out, const Core::Molecule& molecule) override; }; } // end Io namespace } // end Avogadro namespace #endif // AVOGADRO_IO_CJSONFORMAT_H avogadrolibs-1.93.0/avogadro/io/cmlformat.cpp000066400000000000000000000476271360735163600212130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "cmlformat.h" #ifdef AVO_USE_HDF5 #include "hdf5dataformat.h" #endif #include #include #include #include #include #include #include #include #include #include #include #include #ifndef M_PI #define M_PI 3.14159265358979323846 #endif namespace Avogadro { namespace Io { namespace { const Real DEG_TO_RAD = static_cast(M_PI / 180.0); const Real RAD_TO_DEG = static_cast(180.0 / M_PI); } using std::string; using pugi::xml_document; using pugi::xml_node; using pugi::xml_attribute; using namespace Core; namespace { class CmlFormatPrivate { public: CmlFormatPrivate(Molecule* mol, xml_document& document, std::string filename_) : success(false), molecule(mol), moleculeNode(nullptr), filename(filename_) { // Parse the CML document, and create molecules/elements as necessary. moleculeNode = document.child("molecule"); xml_node cmlNode = document.child("cml"); if (cmlNode) moleculeNode = cmlNode.child("molecule"); if (moleculeNode) { // Parse the various components we know about. #ifdef AVO_USE_HDF5 data(); #endif success = properties(); if (success) success = atoms(); if (success) success = bonds(); } else { error += "Error, no molecule node found."; success = false; } } bool properties() { xml_attribute attribute; xml_node node; node = moleculeNode.child("name"); if (node && node.value()) molecule->setData("name", std::string(node.child_value())); node = moleculeNode.child("identifier"); if (node && node.value()) { attribute = node.attribute("convention"); if (attribute && std::string(attribute.value()) == "iupac:inchi") { attribute = node.attribute("value"); if (attribute && std::string(attribute.name()) == "value") molecule->setData("inchi", std::string(attribute.value())); } } // Unit cell: node = moleculeNode.child("crystal"); if (node) { float a(0); float b(0); float c(0); float alpha(0); float beta(0); float gamma(0); enum { CellA = 0, CellB, CellC, CellAlpha, CellBeta, CellGamma }; std::bitset<6> parsedValues; for (pugi::xml_node scalar = node.child("scalar"); scalar; scalar = scalar.next_sibling("scalar")) { pugi::xml_attribute title = scalar.attribute("title"); const float degToRad(static_cast(M_PI) / 180.0f); if (title) { std::string titleStr(title.value()); if (titleStr == "a") { a = scalar.text().as_float(); parsedValues.set(CellA); } else if (titleStr == "b") { b = scalar.text().as_float(); parsedValues.set(CellB); } else if (titleStr == "c") { c = scalar.text().as_float(); parsedValues.set(CellC); } else if (titleStr == "alpha") { alpha = scalar.text().as_float() * degToRad; parsedValues.set(CellAlpha); } else if (titleStr == "beta") { beta = scalar.text().as_float() * degToRad; parsedValues.set(CellBeta); } else if (titleStr == "gamma") { gamma = scalar.text().as_float() * degToRad; parsedValues.set(CellGamma); } } } if (parsedValues.count() != 6) { error += "Incomplete unit cell description."; return false; } UnitCell* cell = new UnitCell; cell->setCellParameters(a, b, c, alpha, beta, gamma); molecule->setUnitCell(cell); } return true; } bool atoms() { xml_node atomArray = moleculeNode.child("atomArray"); if (!atomArray) return false; xml_node node = atomArray.child("atom"); Atom atom; while (node) { // Step through all of the atom attributes and store them. xml_attribute attribute = node.attribute("elementType"); if (attribute) { unsigned char atomicNumber = Elements::atomicNumberFromSymbol(attribute.value()); atom = molecule->addAtom(atomicNumber); } else { // There is no element data, this atom node is corrupt. error += "Warning, corrupt element node found."; return false; } attribute = node.attribute("id"); if (attribute) atomIds[std::string(attribute.value())] = atom.index(); else // Atom nodes must have IDs - bail. return false; // Check for 3D geometry. attribute = node.attribute("x3"); if (attribute) { xml_attribute y3 = node.attribute("y3"); xml_attribute z3 = node.attribute("z3"); if (y3 && z3) { // It looks like we have a valid 3D position. Vector3 position(lexicalCast(attribute.value()), lexicalCast(y3.value()), lexicalCast(z3.value())); atom.setPosition3d(position); } else { // Corrupt 3D position supplied for atom. return false; } } else if ((attribute = node.attribute("xFract"))) { if (!molecule->unitCell()) { error += "No unit cell defined. " "Cannot interpret fractional coordinates."; return false; } xml_attribute& xF = attribute; xml_attribute yF = node.attribute("yFract"); xml_attribute zF = node.attribute("zFract"); if (yF && zF) { Vector3 coord(static_cast(xF.as_float()), static_cast(yF.as_float()), static_cast(zF.as_float())); molecule->unitCell()->toCartesian(coord, coord); atom.setPosition3d(coord); } else { error += "Missing y or z fractional coordinate on atom."; return false; } } // Check for 2D geometry. attribute = node.attribute("x2"); if (attribute) { xml_attribute y2 = node.attribute("y2"); if (y2) { Vector2 position(lexicalCast(attribute.value()), lexicalCast(y2.value())); atom.setPosition2d(position); } else { // Corrupt 2D position supplied for atom. return false; } } // Move on to the next atom node (if there is one). node = node.next_sibling("atom"); } return true; } bool bonds() { xml_node bondArray = moleculeNode.child("bondArray"); if (!bondArray) return true; xml_node node = bondArray.child("bond"); while (node) { xml_attribute attribute = node.attribute("atomRefs2"); Bond bond; if (attribute) { // Should contain two elements separated by a space. std::string refs(attribute.value()); std::vector tokens = split(refs, ' '); if (tokens.size() != 2) // Corrupted file/input we don't understand return false; std::map::const_iterator begin, end; begin = atomIds.find(tokens[0]); end = atomIds.find(tokens[1]); if (begin != atomIds.end() && end != atomIds.end() && begin->second < molecule->atomCount() && end->second < molecule->atomCount()) { bond = molecule->addBond(molecule->atom(begin->second), molecule->atom(end->second)); } else { // Couldn't parse the bond begin and end. return false; } } attribute = node.attribute("order"); if (attribute && strlen(attribute.value()) == 1) { char o = attribute.value()[0]; switch (o) { case '1': case 'S': case 's': bond.setOrder(1); break; case '2': case 'D': case 'd': bond.setOrder(2); break; case '3': case 'T': case 't': bond.setOrder(3); break; case '4': bond.setOrder(4); break; case '5': bond.setOrder(5); break; case '6': bond.setOrder(6); break; default: bond.setOrder(1); } } else { bond.setOrder(1); } // Move on to the next bond node (if there is one). node = node.next_sibling("bond"); } return true; } #ifdef AVO_USE_HDF5 bool data() { xml_node dataNode = moleculeNode.child("dataMap").first_child(); if (!dataNode) return true; Hdf5DataFormat hdf5; hdf5.openFile(filename + ".h5", Hdf5DataFormat::ReadOnly); do { std::string dataNodeName = dataNode.name(); std::string dataName = dataNode.attribute("name").as_string(); std::string dataType = dataNode.attribute("dataType").as_string(); std::stringstream dataStream(dataNode.text().as_string()); Variant variant; // Read data from HDF5? if (dataNodeName == "hdf5data") { if (!hdf5.isOpen()) { error += "CmlFormatPrivate::data: Cannot read data member '" + dataName + "'. Cannot open file " + filename + ".h5."; continue; } if (dataType != "xsd:double") { error += "CmlFormatPrivate::data: Cannot read data member '" + dataName + "'. Data type is not 'double'."; continue; } MatrixX matrix; if (!hdf5.readDataset(dataStream.str(), matrix)) { error += "CmlFormatPrivate::data: Cannot read data member '" + dataName + "': Unable to read data set '" + dataStream.str() + "' from " + filename + ".h5"; continue; } variant.setValue(matrix); } // or read data from CML? else if (dataNodeName == "scalar") { if (dataType == "xsd:boolean") { bool tmp; dataStream >> tmp; variant.setValue(tmp); } else if (dataType == "xsd:int") { int tmp; dataStream >> tmp; variant.setValue(tmp); } else if (dataType == "xsd:long") { long tmp; dataStream >> tmp; variant.setValue(tmp); } else if (dataType == "xsd:float") { float tmp; dataStream >> tmp; variant.setValue(tmp); } else if (dataType == "xsd:double") { double tmp; dataStream >> tmp; variant.setValue(tmp); } else if (dataType == "xsd:string") { string tmp; dataStream >> tmp; variant.setValue(tmp); } else { error += "CmlFormatPrivate::data: handled scalar data type: " + dataType; continue; } } molecule->setData(dataName, variant); } while ((dataNode = dataNode.next_sibling())); hdf5.closeFile(); return true; } #endif bool success; Molecule* molecule; xml_node moleculeNode; std::map atomIds; string filename; string error; }; } CmlFormat::CmlFormat() { } CmlFormat::~CmlFormat() { } bool CmlFormat::read(std::istream& file, Core::Molecule& mol) { xml_document document; pugi::xml_parse_result result = document.load(file); if (!result) { appendError("Error parsing XML: " + std::string(result.description())); return false; } CmlFormatPrivate parser(&mol, document, fileName()); if (!parser.success) appendError(parser.error); return parser.success; } bool CmlFormat::write(std::ostream& out, const Core::Molecule& mol) { xml_document document; // Add a custom declaration node. xml_node declaration = document.prepend_child(pugi::node_declaration); declaration.append_attribute("version") = "1.0"; declaration.append_attribute("encoding") = "UTF-8"; xml_node moleculeNode = document.append_child("molecule"); // Standard XML namespaces for CML. moleculeNode.append_attribute("xmlns") = "http://www.xml-cml.org/schema"; moleculeNode.append_attribute("xmlns:cml") = "http://www.xml-cml.org/dict/cml"; moleculeNode.append_attribute("xmlns:units") = "http://www.xml-cml.org/units/units"; moleculeNode.append_attribute("xmlns:xsd") = "http://www.w3c.org/2001/XMLSchema"; moleculeNode.append_attribute("xmlns:iupac") = "http://www.iupac.org"; // Save the name if present into the file. if (mol.data("name").type() == Variant::String) { xml_node node = moleculeNode.append_child("name"); node.text() = mol.data("name").toString().c_str(); } // If the InChI is available, embed that in the CML file. if (mol.data("inchi").type() == Variant::String) { xml_node node = moleculeNode.append_child("identifier"); node.append_attribute("convention") = "iupac:inchi"; node.append_attribute("value") = mol.data("inchi").toString().c_str(); } // Cell specification const UnitCell* cell = mol.unitCell(); if (cell) { xml_node crystalNode = moleculeNode.append_child("crystal"); xml_node crystalANode = crystalNode.append_child("scalar"); xml_node crystalBNode = crystalNode.append_child("scalar"); xml_node crystalCNode = crystalNode.append_child("scalar"); xml_node crystalAlphaNode = crystalNode.append_child("scalar"); xml_node crystalBetaNode = crystalNode.append_child("scalar"); xml_node crystalGammaNode = crystalNode.append_child("scalar"); crystalANode.append_attribute("title") = "a"; crystalBNode.append_attribute("title") = "b"; crystalCNode.append_attribute("title") = "c"; crystalAlphaNode.append_attribute("title") = "alpha"; crystalBetaNode.append_attribute("title") = "beta"; crystalGammaNode.append_attribute("title") = "gamma"; crystalANode.append_attribute("units") = "units:angstrom"; crystalBNode.append_attribute("units") = "units:angstrom"; crystalCNode.append_attribute("units") = "units:angstrom"; crystalAlphaNode.append_attribute("units") = "units:degree"; crystalBetaNode.append_attribute("units") = "units:degree"; crystalGammaNode.append_attribute("units") = "units:degree"; crystalANode.text() = static_cast(cell->a()); crystalBNode.text() = static_cast(cell->b()); crystalCNode.text() = static_cast(cell->c()); crystalAlphaNode.text() = static_cast(cell->alpha() * RAD_TO_DEG); crystalBetaNode.text() = static_cast(cell->beta() * RAD_TO_DEG); crystalGammaNode.text() = static_cast(cell->gamma() * RAD_TO_DEG); } xml_node atomArrayNode = moleculeNode.append_child("atomArray"); for (Index i = 0; i < mol.atomCount(); ++i) { xml_node atomNode = atomArrayNode.append_child("atom"); std::ostringstream index; index << 'a' << i + 1; atomNode.append_attribute("id") = index.str().c_str(); Atom a = mol.atom(i); atomNode.append_attribute("elementType") = Elements::symbol(a.atomicNumber()); if (cell) { Vector3 fracPos = cell->toFractional(a.position3d()); atomNode.append_attribute("xFract") = fracPos.x(); atomNode.append_attribute("yFract") = fracPos.y(); atomNode.append_attribute("zFract") = fracPos.z(); } else { atomNode.append_attribute("x3") = a.position3d().x(); atomNode.append_attribute("y3") = a.position3d().y(); atomNode.append_attribute("z3") = a.position3d().z(); } } xml_node bondArrayNode = moleculeNode.append_child("bondArray"); for (Index i = 0; i < mol.bondCount(); ++i) { xml_node bondNode = bondArrayNode.append_child("bond"); Bond b = mol.bond(i); std::ostringstream index; index << "a" << b.atom1().index() + 1 << " a" << b.atom2().index() + 1; bondNode.append_attribute("atomRefs2") = index.str().c_str(); bondNode.append_attribute("order") = b.order(); } #ifdef AVO_USE_HDF5 Hdf5DataFormat hdf5; bool openFile = true; xml_node dataMapNode = moleculeNode.append_child("dataMap"); VariantMap dataMap = mol.dataMap(); for (VariantMap::const_iterator it = dataMap.constBegin(), itEnd = dataMap.constEnd(); it != itEnd; ++it) { const std::string& name_ = (*it).first; // Skip names that are handled elsewhere: if (name_ == "inchi") continue; const Variant& var = (*it).second; if (var.type() == Variant::Null) { appendError("CmlFormat::writeFile: skipping null dataMap member '" + name_ + "'."); continue; } xml_node dataNode = dataMapNode.append_child(); dataNode.append_attribute("name") = name_.c_str(); switch (var.type()) { case Variant::Null: // Already skipped above break; case Variant::Bool: dataNode.set_name("scalar"); dataNode.append_attribute("dataType") = "xsd:boolean"; dataNode.text() = var.toBool(); break; case Variant::Int: dataNode.set_name("scalar"); dataNode.append_attribute("dataType") = "xsd:int"; dataNode.text() = var.toInt(); break; case Variant::Long: dataNode.set_name("scalar"); dataNode.append_attribute("dataType") = "xsd:long"; dataNode.text() = var.toString().c_str(); break; case Variant::Float: dataNode.set_name("scalar"); dataNode.append_attribute("dataType") = "xsd:float"; dataNode.text() = var.toFloat(); break; case Variant::Double: dataNode.set_name("scalar"); dataNode.append_attribute("dataType") = "xsd:double"; dataNode.text() = var.toDouble(); break; case Variant::Pointer: appendError( "CmlFormat::writeFile: Skipping void* molecule data member '" + name_ + "'"); break; case Variant::String: dataNode.set_name("scalar"); dataNode.append_attribute("dataType") = "xsd:string"; dataNode.text() = var.toString().c_str(); break; case Variant::Matrix: { if (openFile) { if (!hdf5.openFile(fileName() + ".h5", Hdf5DataFormat::ReadWriteAppend)) { appendError("CmlFormat::writeFile: Cannot open file: " + fileName() + ".h5"); } openFile = false; } dataNode.set_name("hdf5data"); dataNode.append_attribute("dataType") = "xsd:double"; dataNode.append_attribute("ndims") = "2"; const MatrixX& matrix = var.toMatrixRef(); std::stringstream stream; stream << matrix.rows() << " " << matrix.cols(); dataNode.append_attribute("dims") = stream.str().c_str(); std::string h5Path = std::string("molecule/dataMap/") + name_; dataNode.text() = h5Path.c_str(); hdf5.writeDataset(h5Path, matrix); } break; default: appendError("CmlFormat::writeFile: Unrecognized type for member '" + name_ + "'."); break; } } hdf5.closeFile(); #endif document.save(out, " "); return true; } std::vector CmlFormat::fileExtensions() const { std::vector ext; ext.push_back("cml"); return ext; } std::vector CmlFormat::mimeTypes() const { std::vector mime; mime.push_back("chemical/x-cml"); return mime; } } // end Io namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/io/cmlformat.h000066400000000000000000000035411360735163600206430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_CMLFORMAT_H #define AVOGADRO_IO_CMLFORMAT_H #include "fileformat.h" namespace Avogadro { namespace Io { /** * @class CmlFormat cmlformat.h * @brief Implementation of the Chemical Markup Language format. * @author Marcus D. Hanwell */ class AVOGADROIO_EXPORT CmlFormat : public FileFormat { public: CmlFormat(); ~CmlFormat() override; Operations supportedOperations() const override { return ReadWrite | File | Stream | String; } FileFormat* newInstance() const override { return new CmlFormat; } std::string identifier() const override { return "Avogadro: CML"; } std::string name() const override { return "Chemical Markup Language"; } std::string description() const override { return "TODO: Describe the format."; } std::string specificationUrl() const override { return "http://www.xml-cml.org/schema/schema3/"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream& out, const Core::Molecule& molecule) override; }; } // end Io namespace } // end Avogadro namespace #endif // CMLFORMAT_H avogadrolibs-1.93.0/avogadro/io/dcdformat.cpp000066400000000000000000000312741360735163600211610ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "dcdformat.h" #include "struct.h" #include #include #include #include #include #include #include #include #include #include #include using std::endl; using std::getline; using std::map; using std::pair; using std::string; using std::to_string; using std::vector; namespace Avogadro { namespace Io { using Core::Array; using Core::Atom; using Core::Elements; using Core::lexicalCast; using Core::Molecule; using Core::split; using Core::trimmed; using Core::UnitCell; #ifndef _WIN32 using std::isalpha; #endif #define DCD_EOF -1 #define DCD_MAGIC 84 #define DCD_IS_CHARMM 0x01 #define DCD_HAS_4DIMS 0x02 #define DCD_HAS_EXTRA_BLOCK 0x04 int swap_integer(int inp) { return (((inp << 24) & 0xff000000) | ((inp << 8) & 0x00ff0000) | ((inp >> 8) & 0x0000ff00) | ((inp >> 24) & 0x000000ff)); } char swap_endian(char endian) { if (endian == '>') return '<'; else return '>'; } DcdFormat::DcdFormat() {} DcdFormat::~DcdFormat() {} bool DcdFormat::read(std::istream& inStream, Core::Molecule& mol) { /** Endian type, Buffer and Format char containers for unpacking and storing * data using struct library */ char endian = '>'; char buff[BUFSIZ]; char fmt[BUFSIZ]; /** Variables to store various components from the binary data unpacked using * the struct library */ char raw[84]; char* remarks; double DELTA; int magic; int charmm; int NAMNF; int NTITLE; int lenRemarks; int NATOMS; int blockSize; // Determining size of file inStream.seekg(0, inStream.end); int fileLen = inStream.tellg(); inStream.seekg(0, inStream.beg); // Reading magic number snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &magic); if (magic != DCD_MAGIC) { magic = swap_integer(magic); endian = swap_endian(endian); if (magic != DCD_MAGIC) { appendError("File does not start with magic number 84."); return false; } } // CORD snprintf(fmt, sizeof(fmt), "%c%ds", endian, magic); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, raw); if (raw[0] != 'C' || raw[1] != 'O' || raw[2] != 'R' || raw[3] != 'D') { appendError("Keyword CORD not found."); return false; } // Determining whether the trajectory file is from CHARMM or not if (*(reinterpret_cast(raw + 80)) != 0) { charmm = DCD_IS_CHARMM; if (*(reinterpret_cast(raw + 44)) != 0) charmm |= DCD_HAS_EXTRA_BLOCK; if (*(reinterpret_cast(raw + 48)) == 1) charmm |= DCD_HAS_4DIMS; } else { charmm = 0; } // number of fixed atoms NAMNF = *(reinterpret_cast(raw + 36)); // DELTA (timestep) is stored as a double with X-PLOR but as a float with // CHARMM if (charmm & DCD_IS_CHARMM) { float ftmp; ftmp = *(reinterpret_cast(raw + 40)); DELTA = static_cast(ftmp); } else { (DELTA) = *(reinterpret_cast(raw + 40)); } snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &magic); snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &blockSize); if (((blockSize - 4) % 80) == 0) { // Read NTITLE, the number of 80 character title strings snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &NTITLE); lenRemarks = NTITLE * 80; remarks = reinterpret_cast(malloc(lenRemarks)); snprintf(fmt, sizeof(fmt), "%c%ds", endian, lenRemarks); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, remarks); snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); int endSize; struct_unpack(buff, fmt, &endSize); } else { appendError("Block size must be 4 plus a multiple of 80."); return false; } snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); int fourInput; struct_unpack(buff, fmt, &fourInput); if (fourInput != 4) { // Error } snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &NATOMS); snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &fourInput); if (fourInput != 4) { appendError("Expected token 4. Read token " + to_string(fourInput)); return false; } if (NAMNF != 0) { int** FREEINDEXES = reinterpret_cast(calloc((NATOMS - NAMNF), sizeof(int))); if (*FREEINDEXES == NULL) { appendError("MALLOC failed."); return false; } /* Read in index array size */ snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); int arrSize; struct_unpack(buff, fmt, &arrSize); if (arrSize != (NATOMS - NAMNF) * 4) { appendError("DCD file contains bad format."); return false; } snprintf(fmt, sizeof(fmt), "%c%di", endian, (NATOMS - NAMNF)); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, *FREEINDEXES); snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &arrSize); if (arrSize != (NATOMS - NAMNF) * 4) { appendError("DCD file contains bad format."); return false; } } // CHARMM trajectories have an extra block to be read, that contains // information about the unit cell if ((charmm & DCD_IS_CHARMM) && (charmm & DCD_HAS_EXTRA_BLOCK)) { snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); int leadingNum; struct_unpack(buff, fmt, &leadingNum); if (leadingNum == 48) { double unitcell[6]; for (int aa = 0; aa < 6; ++aa) { snprintf(fmt, sizeof(fmt), "%c%dd", endian, 1); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &unitcell[aa]); } if (unitcell[1] >= -1.0 && unitcell[1] <= 1.0 && unitcell[3] >= -1.0 && unitcell[3] <= 1.0 && unitcell[4] >= -1.0 && unitcell[4] <= 1.0) { // CHARMM and certain NAMD files have the cosines instead of angles // This formulation improves rounding behavior for orthogonal cells // so that the angles end up at precisely 90 degrees, unlike acos() unitcell[4] = M_PI_2 - asin(unitcell[4]); /* cosBC */ unitcell[3] = M_PI_2 - asin(unitcell[3]); /* cosAC */ unitcell[1] = M_PI_2 - asin(unitcell[1]); /* cosAB */ } mol.setUnitCell(new UnitCell(unitcell[0], unitcell[2], unitcell[5], unitcell[4], unitcell[3], unitcell[1])); } else { inStream.read(buff, leadingNum); } inStream.read(buff, sizeof(int)); } // Reading the atom coordinates int formatint[6]; Array cx, cy, cz; cx.reserve(NATOMS); cy.reserve(NATOMS); cz.reserve(NATOMS); snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &formatint[0]); for (int i = 0; i < NATOMS; ++i) { // X coordinates snprintf(fmt, sizeof(fmt), "%c%df", endian, 1); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &cx[i]); /* code */ } snprintf(fmt, sizeof(fmt), "%c2i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &formatint[1], &formatint[2]); for (int i = 0; i < NATOMS; ++i) { // Y coordinates snprintf(fmt, sizeof(fmt), "%c%df", endian, 1); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &cy[i]); } snprintf(fmt, sizeof(fmt), "%c2i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &formatint[3], &formatint[4]); for (int i = 0; i < NATOMS; ++i) { // Z coordinates snprintf(fmt, sizeof(fmt), "%c%df", endian, 1); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &cz[i]); } snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &formatint[5]); typedef map AtomTypeMap; AtomTypeMap atomTypes; unsigned char customElementCounter = CustomElementMin; for (int i = 0; i < NATOMS; ++i) { Vector3 pos(cx[i], cy[i], cz[i]); AtomTypeMap::const_iterator it; atomTypes.insert(std::make_pair(to_string(i), customElementCounter++)); it = atomTypes.find(to_string(i)); // if (customElementCounter > CustomElementMax) { // appendError("Custom element type limit exceeded."); // return false; // } Atom newAtom = mol.addAtom(it->second); newAtom.setPosition3d(pos); } mol.setTimeStep(0, 0); // Skipping fourth dimension block if ((charmm & DCD_IS_CHARMM) && (charmm & DCD_HAS_EXTRA_BLOCK)) { snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); int sizeToRead; struct_unpack(buff, fmt, &sizeToRead); inStream.read(buff, sizeToRead); inStream.read(buff, sizeof(int)); } // Set the custom element map if needed if (!atomTypes.empty()) { Molecule::CustomElementMap elementMap; for (AtomTypeMap::const_iterator it = atomTypes.begin(), itEnd = atomTypes.end(); it != itEnd; ++it) { elementMap.insert(std::make_pair(it->second, "Atom " + it->first)); } mol.setCustomElementMap(elementMap); } mol.setCoordinate3d(mol.atomPositions3d(), 0); // Do we have an animation? int coordSet = 1; while ((static_cast(inStream.tellg()) != fileLen) && (static_cast(inStream.tellg()) != DCD_EOF)) { // Reading the atom coordinates Array positions; positions.reserve(NATOMS); snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &formatint[0]); for (int i = 0; i < NATOMS; ++i) { // X coordinates snprintf(fmt, sizeof(fmt), "%c%df", endian, 1); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &cx[i]); } snprintf(fmt, sizeof(fmt), "%c2i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &formatint[1], &formatint[2]); for (int i = 0; i < NATOMS; ++i) { // Y coordinates snprintf(fmt, sizeof(fmt), "%c%df", endian, 1); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &cy[i]); } snprintf(fmt, sizeof(fmt), "%c2i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &formatint[3], &formatint[4]); for (int i = 0; i < NATOMS; ++i) { // Z coordinates snprintf(fmt, sizeof(fmt), "%c%df", endian, 1); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &cz[i]); } snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &formatint[5]); for (int i = 0; i < NATOMS; ++i) { Vector3 pos(cx[i], cy[i], cz[i]); positions.push_back(pos); } mol.setTimeStep(DELTA * coordSet, coordSet); // Skipping fourth dimension block if ((charmm & DCD_IS_CHARMM) && (charmm & DCD_HAS_EXTRA_BLOCK)) { snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); int sizeToRead; struct_unpack(buff, fmt, &sizeToRead); inStream.read(buff, sizeToRead); inStream.read(buff, sizeof(int)); } mol.setCoordinate3d(positions, coordSet++); } return true; } bool DcdFormat::write(std::ostream& outStream, const Core::Molecule& mol) { return false; } std::vector DcdFormat::fileExtensions() const { std::vector ext; ext.push_back("dcd"); return ext; } std::vector DcdFormat::mimeTypes() const { std::vector mime; mime.push_back("application/octet-stream"); return mime; } } // end Io namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/io/dcdformat.h000066400000000000000000000035121360735163600206200ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_DCDFORMAT_H #define AVOGADRO_IO_DCDFORMAT_H #include "fileformat.h" namespace Avogadro { namespace Io { /** * @class DcdFormat dcdformat.h * @brief Implementation of the generic dcd trajectory format. * @author Adarsh B */ class AVOGADROIO_EXPORT DcdFormat : public FileFormat { public: DcdFormat(); ~DcdFormat() override; Operations supportedOperations() const override { return ReadWrite | MultiMolecule | File | Stream | String; } FileFormat* newInstance() const override { return new DcdFormat; } std::string identifier() const override { return "Avogadro: DCD"; } std::string name() const override { return "DCD"; } std::string description() const override { return "CHARMM/NAMD/LAMMPS DCD Trajectory format."; } std::string specificationUrl() const override { return ""; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& inStream, Core::Molecule& molecule) override; bool write(std::ostream& outStream, const Core::Molecule& molecule) override; }; } // end Io namespace } // end Avogadro namespace #endif // AVOGADRO_IO_DCDFORMAT_H avogadrolibs-1.93.0/avogadro/io/fileformat.cpp000066400000000000000000000070341360735163600213430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "fileformat.h" #include #include #include namespace Avogadro { namespace Io { using std::ifstream; using std::locale; using std::ofstream; FileFormat::FileFormat() : m_mode(None), m_in(nullptr), m_out(nullptr) { } FileFormat::~FileFormat() { delete m_in; delete m_out; } bool FileFormat::open(const std::string& fileName_, Operation mode_) { close(); m_fileName = fileName_; m_mode = mode_; if (!m_fileName.empty()) { // Imbue the standard C locale. locale cLocale("C"); if (m_mode & Read) { ifstream* file = new ifstream(m_fileName.c_str(), std::ifstream::binary); m_in = file; if (file->is_open()) { m_in->imbue(cLocale); return true; } else { appendError("Error opening file: " + fileName_); return false; } } else if (m_mode & Write) { ofstream* file = new ofstream(m_fileName.c_str(), std::ofstream::binary); m_out = file; if (file->is_open()) { m_out->imbue(cLocale); return true; } else { appendError("Error opening file: " + fileName_); return false; } } } return false; } void FileFormat::close() { if (m_in) { delete m_in; m_in = nullptr; } if (m_out) { delete m_out; m_out = nullptr; } m_mode = None; } bool FileFormat::readMolecule(Core::Molecule& molecule) { if (!m_in) return false; return read(*m_in, molecule); } bool FileFormat::writeMolecule(const Core::Molecule& molecule) { if (!m_out) return false; return write(*m_out, molecule); } bool FileFormat::readFile(const std::string& fileName_, Core::Molecule& molecule) { bool result = open(fileName_, Read); if (!result) return false; result = readMolecule(molecule); close(); return result; } bool FileFormat::writeFile(const std::string& fileName_, const Core::Molecule& molecule) { bool result = open(fileName_, Write); if (!result) return false; result = writeMolecule(molecule); close(); return result; } bool FileFormat::readString(const std::string& string, Core::Molecule& molecule) { std::istringstream stream(string, std::istringstream::in); // Imbue the standard C locale. locale cLocale("C"); stream.imbue(cLocale); return read(stream, molecule); } bool FileFormat::writeString(std::string& string, const Core::Molecule& molecule) { std::ostringstream stream(string, std::ostringstream::out); // Imbue the standard C locale. locale cLocale("C"); stream.imbue(cLocale); bool result = write(stream, molecule); string = stream.str(); return result; } void FileFormat::clear() { m_fileName.clear(); m_error.clear(); } void FileFormat::appendError(const std::string& errorString, bool newLine) { m_error += errorString; if (newLine) m_error += "\n"; } } // namespace Io } // namespace Avogadro avogadrolibs-1.93.0/avogadro/io/fileformat.h000066400000000000000000000202641360735163600210100ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_FILEFORMAT_H #define AVOGADRO_IO_FILEFORMAT_H #include "avogadroioexport.h" #include #include #include #include #include namespace Avogadro { namespace Core { class Molecule; } namespace Io { /** * @class FileFormat fileformat.h * @brief General API for file formats. * @author Marcus D. Hanwell * * This serves as the common base class for chemical file formats. Classes * deriving from this one override the read and write virtual methods and * operate on the given streams. Several other signatures are available for * convenience. If there is an error reading or writing a file the string * returned by error() will give more details. */ class AVOGADROIO_EXPORT FileFormat { public: FileFormat(); virtual ~FileFormat(); /** * @brief Flags defining supported operations. */ enum Operation { None = 0x0, Read = 0x1, Write = 0x2, ReadWrite = Read | Write, MultiMolecule = 0x4, Stream = 0x10, String = 0x20, File = 0x40, All = ReadWrite | MultiMolecule | Stream | String | File }; typedef int Operations; /** * @return Operation flags defining the capabilities of this format. */ virtual Operations supportedOperations() const = 0; /** * @brief Open the specified file in Read or Write mode. * @return True on success, false on failure. */ bool open(const std::string& fileName, Operation mode); /** * @brief The mode the format is currently operating in. * @return The mode the format is in. */ Operation mode() { return m_mode; } /** * @brief Check if the supplied mode(s) is being used. * @param isInMode The mode(s) to test against * @return True if the format is currently in the supplied mode(s). */ bool isMode(Operation isInMode) { return (m_mode & isInMode) != None; } /** * @brief Close any opened file handles. */ void close(); /** * @brief Read in a molecule, if there are no molecules to read molecule will * be empty. This can be used to read in one or more molecules from a given * file using repeated calls for each molecule. * @param molecule The molecule the data will be read into. * @return True on success, false on failure. */ bool readMolecule(Core::Molecule& molecule); /** * @brief Write out a molecule. This can be used to write one or more * molecules to a given file using repeated calls for each molecule. * @param molecule The molecule the data will be written from. * @return True on success, false on failure. */ bool writeMolecule(const Core::Molecule& molecule); /** * @brief Read the given @p in stream and load it into @p molecule. * @param in The input file stream. * @param molecule The molecule the data will be read into. * @return True on success, false on failure. */ virtual bool read(std::istream& in, Core::Molecule& molecule) = 0; /** * @brief Write to the given @p out stream the contents of @p molecule. * @param out The output stream to write the data to. * @param molecule The contents of this molecule will be written to output. * @return True on success, false on failure. */ virtual bool write(std::ostream& out, const Core::Molecule& molecule) = 0; /** * @brief Read the given @p fileName and load it into @p molecule. * @param fileName The full path to the file to be read in. * @param molecule The molecule the data will be read into. * @return True on success, false on failure. */ bool readFile(const std::string& fileName, Core::Molecule& molecule); /** * @brief Write to the given @p fileName the contents of @p molecule. * @param fileName The full path to the file to be written. * @param molecule The contents of this molecule will be written to the file. * @return True on success, false on failure. */ bool writeFile(const std::string& fileName, const Core::Molecule& molecule); /** * @brief Read the given @p string and load it into @p molecule. * @param string The string containing the molecule file contents. * @param molecule The molecule the data will be read into. * @return True on success, false on failure. */ bool readString(const std::string& string, Core::Molecule& molecule); /** * @brief Write to the given @p string the contents of @p molecule. * @param string The string to write the contents of the molecule into. * @param molecule The contents of this molecule will be written to the * string. * @return True on success, false on failure. */ bool writeString(std::string& string, const Core::Molecule& molecule); /** * @brief Get the error string, contains errors/warnings encountered. * @return String containing any errors or warnings encountered. */ std::string error() const { return m_error; } /** * @brief Get the file name (if known). * @return The full path to the file name as supplied, can be empty. */ std::string fileName() const { return m_fileName; } /** * @brief Set options for the file reader. * @param options The options, each reader chooses how to use/interpret them. */ void setOptions(const std::string& options) { m_options = options; } /** * @brief Get the file format options, can be used to change file IO. * @return The options set for the reader (defaults to empty). */ std::string options() const { return m_options; } /** * Clear the format and reset all state. */ virtual void clear(); /** * Create a new instance of the file format class. Ownership passes to the * caller. */ virtual FileFormat* newInstance() const = 0; /** * @brief A unique identifier, used to retrieve formats programatically. * CML, XYZ, PDB etc. A runtime warning will be generated if the identifier * is not unique. */ virtual std::string identifier() const = 0; /** * @brief The name of the format, should be short such as Chemical Markup * Language, XYZ format, Protein Databank etc. */ virtual std::string name() const = 0; /** * A description of the format, along with any relevant help text for users. */ virtual std::string description() const = 0; /** * The URL of the format specification if available (relevant web page/wiki * otherwise). */ virtual std::string specificationUrl() const = 0; /** * @brief Get the file name extension(s) that the format supports reading. * @return A vector containing a list of extensions (in lower case). */ virtual std::vector fileExtensions() const = 0; /** * @brief Get the MIME type(s) that the format supports reading. * @return A vector containing a list of MIME type(s) (in lower case). */ virtual std::vector mimeTypes() const = 0; protected: /** * @brief Append an error to the error string for the format. * @param errorString The error to be added. * @param newLine Add a new line after the error string? */ void appendError(const std::string& errorString, bool newLine = true); private: std::string m_error; std::string m_fileName; std::string m_options; // Streams for reading/writing data, especially streaming data in/out. Operation m_mode; std::istream* m_in; std::ostream* m_out; }; inline FileFormat::Operation operator|(FileFormat::Operation a, FileFormat::Operation b) { return static_cast(static_cast(a) | static_cast(b)); } } // end Io namespace } // end Avogadro namespace #endif // AVOGADRO_IO_FILEFORMAT_H avogadrolibs-1.93.0/avogadro/io/fileformatmanager.cpp000066400000000000000000000303521360735163600226750ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "fileformatmanager.h" #include "fileformat.h" #include "cjsonformat.h" #include "cmlformat.h" #include "dcdformat.h" #include "gromacsformat.h" #include "lammpsformat.h" #include "mdlformat.h" #include "pdbformat.h" #include "trrformat.h" #include "vaspformat.h" #include "xyzformat.h" #ifdef AVO_USE_MMTF #include "mmtfformat.h" #endif #include #include using std::unique_ptr; namespace Avogadro { namespace Io { FileFormatManager& FileFormatManager::instance() { static FileFormatManager instance; return instance; } bool FileFormatManager::readFile(Core::Molecule& molecule, const std::string& fileName, const std::string& fileExtension, const std::string& options) const { FileFormat* format(nullptr); if (fileExtension.empty()) { // We need to guess the file extension. size_t pos = fileName.find_last_of('.'); format = filteredFormatFromFormatMap(fileName.substr(pos + 1), FileFormat::Read | FileFormat::File, m_fileExtensions); } else { format = filteredFormatFromFormatMap( fileExtension, FileFormat::Read | FileFormat::File, m_fileExtensions); } if (!format) return false; unique_ptr formatInstance(format->newInstance()); formatInstance->setOptions(options); return formatInstance->readFile(fileName, molecule); } bool FileFormatManager::writeFile(const Core::Molecule& molecule, const std::string& fileName, const std::string& fileExtension, const std::string& options) const { FileFormat* format(nullptr); if (fileExtension.empty()) { // We need to guess the file extension. size_t pos = fileName.find_last_of('.'); format = filteredFormatFromFormatMap(fileName.substr(pos + 1), FileFormat::Write | FileFormat::File, m_fileExtensions); } else { format = filteredFormatFromFormatMap( fileExtension, FileFormat::Write | FileFormat::File, m_fileExtensions); } if (!format) return false; unique_ptr formatInstance(format->newInstance()); formatInstance->setOptions(options); return formatInstance->writeFile(fileName, molecule); } bool FileFormatManager::readString(Core::Molecule& molecule, const std::string& string, const std::string& fileExtension, const std::string& options) const { FileFormat* format(filteredFormatFromFormatMap( fileExtension, FileFormat::Read | FileFormat::String, m_fileExtensions)); if (!format) return false; unique_ptr formatInstance(format->newInstance()); formatInstance->setOptions(options); return formatInstance->readString(string, molecule); } bool FileFormatManager::writeString(const Core::Molecule& molecule, std::string& string, const std::string& fileExtension, const std::string& options) const { FileFormat* format(filteredFormatFromFormatMap( fileExtension, FileFormat::Write | FileFormat::String, m_fileExtensions)); if (!format) return false; unique_ptr formatInstance(format->newInstance()); formatInstance->setOptions(options); return formatInstance->writeString(string, molecule); } bool FileFormatManager::registerFormat(FileFormat* format) { return instance().addFormat(format); } bool FileFormatManager::unregisterFormat(const std::string& identifier) { return instance().removeFormat(identifier); } bool FileFormatManager::addFormat(FileFormat* format) { if (!format) { appendError("Supplied format was null."); return false; } if (m_identifiers.count(format->identifier()) > 0) { appendError("Format " + format->identifier() + " already loaded."); return false; } for (std::vector::const_iterator it = m_formats.begin(); it != m_formats.end(); ++it) { if (*it == format) { appendError("The format object was already loaded."); return false; } } // If we got here then the format is unique enough to be added. size_t index = m_formats.size(); m_formats.push_back(format); m_identifiers[format->identifier()].push_back(index); std::vector mimes = format->mimeTypes(); for (std::vector::const_iterator it = mimes.begin(); it != mimes.end(); ++it) { m_mimeTypes[*it].push_back(index); } std::vector extensions = format->fileExtensions(); for (std::vector::const_iterator it = extensions.begin(); it != extensions.end(); ++it) { m_fileExtensions[*it].push_back(index); } return true; } namespace { // Lookup each key from "keys" in "map", and remove "val" from the Map's // data value (which is a vector of ValueType) template void removeFromMap(Map& map, const VectorOfKeys& keys, const ValueType& val) { typedef typename VectorOfKeys::const_iterator KeysIter; for (KeysIter key = keys.begin(), keyEnd = keys.end(); key != keyEnd; ++key) { typename Map::iterator mapMatch = map.find(*key); if (mapMatch == map.end()) continue; typename Map::mapped_type& vec = mapMatch->second; if (vec.size() <= 1) { map.erase(*key); } else { typename Map::mapped_type::iterator newEnd = std::remove(vec.begin(), vec.end(), val); vec.resize(newEnd - vec.begin()); } } } } bool FileFormatManager::removeFormat(const std::string& identifier) { FormatIdVector ids = m_identifiers[identifier]; m_identifiers.erase(identifier); if (ids.empty()) return false; for (FormatIdVector::const_iterator it = ids.begin(), itEnd = ids.end(); it != itEnd; ++it) { FileFormat* fmt = m_formats[*it]; if (fmt == nullptr) continue; removeFromMap(m_mimeTypes, fmt->mimeTypes(), *it); removeFromMap(m_fileExtensions, fmt->fileExtensions(), *it); m_formats[*it] = nullptr; delete fmt; } return true; } FileFormat* FileFormatManager::newFormatFromIdentifier( const std::string& id, FileFormat::Operations filter) const { FileFormat* format(filteredFormatFromFormatMap(id, filter, m_identifiers)); return format ? format->newInstance() : nullptr; } FileFormat* FileFormatManager::newFormatFromMimeType( const std::string& mime, FileFormat::Operations filter) const { FileFormat* format(filteredFormatFromFormatMap(mime, filter, m_mimeTypes)); return format ? format->newInstance() : nullptr; } FileFormat* FileFormatManager::newFormatFromFileExtension( const std::string& extension, FileFormat::Operations filter) const { FileFormat* format( filteredFormatFromFormatMap(extension, filter, m_fileExtensions)); return format ? format->newInstance() : nullptr; } std::vector FileFormatManager::identifiers( FileFormat::Operations filter) const { return filteredKeysFromFormatMap(filter, m_identifiers); } std::vector FileFormatManager::mimeTypes( FileFormat::Operations filter) const { return filteredKeysFromFormatMap(filter, m_mimeTypes); } std::vector FileFormatManager::fileExtensions( FileFormat::Operations filter) const { return filteredKeysFromFormatMap(filter, m_fileExtensions); } std::vector FileFormatManager::fileFormats( FileFormat::Operations filter) const { std::vector result; for (std::vector::const_iterator it = m_formats.begin(), itEnd = m_formats.end(); it != itEnd; ++it) { if (filter == FileFormat::None || (filter & (*it)->supportedOperations()) == filter) { result.push_back(*it); } } return result; } std::vector FileFormatManager::fileFormatsFromMimeType( const std::string& mimeType, FileFormat::Operations filter) const { std::vector matches = filteredFormatsFromFormatMap(mimeType, filter, m_mimeTypes); return std::vector(matches.begin(), matches.end()); } std::vector FileFormatManager::fileFormatsFromFileExtension( const std::string& extension, FileFormat::Operations filter) const { std::vector matches = filteredFormatsFromFormatMap(extension, filter, m_fileExtensions); return std::vector(matches.begin(), matches.end()); } std::string FileFormatManager::error() const { return m_error; } FileFormatManager::FileFormatManager() { addFormat(new CmlFormat); addFormat(new CjsonFormat); addFormat(new GromacsFormat); addFormat(new MdlFormat); addFormat(new OutcarFormat); addFormat(new PdbFormat); addFormat(new PoscarFormat); addFormat(new TrrFormat); addFormat(new XyzFormat); addFormat(new DcdFormat); addFormat(new LammpsTrajectoryFormat); addFormat(new LammpsDataFormat); #ifdef AVO_USE_MMTF addFormat(new MMTFFormat); #endif } FileFormatManager::~FileFormatManager() { // Delete the file formats that were loaded. for (std::vector::const_iterator it = m_formats.begin(); it != m_formats.end(); ++it) { delete (*it); } m_formats.clear(); } std::vector FileFormatManager::filteredKeysFromFormatMap( FileFormat::Operations filter, const FileFormatManager::FormatIdMap& fmap) const { std::vector result; for (FormatIdMap::const_iterator it = fmap.begin(); it != fmap.end(); ++it) { for (std::vector::const_iterator formatIt = it->second.begin(); formatIt != it->second.end(); ++formatIt) { if (filter == FileFormat::None || (m_formats[*formatIt]->supportedOperations() & filter) == filter) { result.push_back(it->first); break; } } } return result; } std::vector FileFormatManager::filteredFormatsFromFormatMap( const std::string& key, FileFormat::Operations filter, const FileFormatManager::FormatIdMap& fmap) const { std::vector result; FormatIdMap::const_iterator it = fmap.find(key); if (it != fmap.end()) result = filteredFormatsFromFormatVector(filter, it->second); return result; } FileFormat* FileFormatManager::filteredFormatFromFormatMap( const std::string& key, FileFormat::Operations filter, const FileFormatManager::FormatIdMap& fmap) const { FormatIdMap::const_iterator it = fmap.find(key); if (it != fmap.end()) return filteredFormatFromFormatVector(filter, it->second); return nullptr; } std::vector FileFormatManager::filteredFormatsFromFormatVector( FileFormat::Operations filter, const FileFormatManager::FormatIdVector& v) const { std::vector result; for (FormatIdVector::const_iterator it = v.begin(); it != v.end(); ++it) { if (filter == FileFormat::None || (m_formats[*it]->supportedOperations() & filter) == filter) { result.push_back(m_formats[*it]); } } return result; } FileFormat* FileFormatManager::filteredFormatFromFormatVector( FileFormat::Operations filter, const FileFormatManager::FormatIdVector& v) const { for (FormatIdVector::const_iterator it = v.begin(); it != v.end(); ++it) { if (filter == FileFormat::None || (m_formats[*it]->supportedOperations() & filter) == filter) { return m_formats[*it]; } } return nullptr; } void FileFormatManager::appendError(const std::string& errorMessage) { m_error += errorMessage + "\n"; } } // end Io namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/io/fileformatmanager.h000066400000000000000000000307151360735163600223450ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_FILEFORMATMANAGER_H #define AVOGADRO_IO_FILEFORMATMANAGER_H #include "avogadroioexport.h" #include "fileformat.h" // For FileFormat::Operation enum. #include #include #include namespace Avogadro { namespace Core { class Molecule; } namespace Io { /** * @class FileFormatManager fileformatmanager.h * * @brief Class to manage registration, searching and creation of file formats. * @author Marcus D. Hanwell * * The file format manager is a singleton class that handles the runtime * registration, search, creation and eventual destruction of file formats. It * can be used to gain a listing of available formats, register new formats and * retrieve the correct format to facilitate file IO. * * All files IO can take place independent of this manager, but for automated * registration and look up this is the preferred API. It is possible to use * the convenience API without ever dealing directly with a format class. */ class AVOGADROIO_EXPORT FileFormatManager { public: /** * Get the singleton instance of the file format manager. This instance should * not be deleted. */ static FileFormatManager& instance(); /** * Load @p molecule with the @p fileName contents supplied, inferring the * @p fileExtension if it is empty. The @p options can be used to modify * the behavior of the file format. * @return True on success, false on failure. */ bool readFile(Core::Molecule& molecule, const std::string& fileName, const std::string& fileExtension = std::string(), const std::string& options = std::string()) const; /** * Write @p molecule to the @p fileName supplied, inferring the * @p fileExtension if it is empty. The @p options can be used to modify * the behavior of the file format. * @return True on success, false on failure. */ bool writeFile(const Core::Molecule& molecule, const std::string& fileName, const std::string& fileExtension = std::string(), const std::string& options = std::string()) const; /** * Load @p molecule with the contents of @p string, using the supplied * @p fileExtension to determine the format. The @p options can be used to * modify the behavior of the file format. * @return True on success, false on failure. */ bool readString(Core::Molecule& molecule, const std::string& string, const std::string& fileExtension, const std::string& options = std::string()) const; /** * Write @p molecule to the @p string, using the supplied @p fileExtension * to determine the format. The @p options can be used to modify the behavior * of the file format. * @return True on success, false on failure. */ bool writeString(const Core::Molecule& molecule, std::string& string, const std::string& fileExtension, const std::string& options = std::string()) const; /** * @brief Register a new file format with the format manager. * @param format An instance of the format to manage, the manager assumes * ownership of the object passed in. * @return True on success, false on failure. */ static bool registerFormat(FileFormat* format); /** * @brief Unregister a file format from the format manager. * @param identifier The identifier for the format to remove. * @return True on success, false on failure. */ static bool unregisterFormat(const std::string& identifier); /** * Add the supplied @p format to the manager, registering its ID, MIME type, * file extension and other relevant data for later lookup. The manager * assumes ownership of the supplied object. * @return True on success, false on failure. */ bool addFormat(FileFormat* format); /** * Remove the format with the identifier @a identifier from the manager. * @return True on success, false on failure. */ bool removeFormat(const std::string& identifier); /** * New instance of the format for the specified @p identifier. Ownership * is passed to the caller. * @param identifier The unique identifier of the format. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. * @return Instance of the format, nullptr if not found. Ownership passes to * the * caller. */ FileFormat* newFormatFromIdentifier( const std::string& identifier, FileFormat::Operations filter = FileFormat::None) const; /** * New instance of the format for the specified @p mimeType. Ownership * is passed to the caller. * @param mimeType The MIME type (in lower case). * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. * @return Instance of the format, nullptr if not found. Ownership passes to * the * caller. */ FileFormat* newFormatFromMimeType( const std::string& mimeType, FileFormat::Operations filter = FileFormat::None) const; /** * New instance of the format for the specified file @p extension. Ownership * is passed to the caller. * @param extension The file extension (in lower case). * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. * @return Instance of the format, nullptr if not found. Ownership passes to * the * caller. */ FileFormat* newFormatFromFileExtension( const std::string& extension, FileFormat::Operations filter = FileFormat::None) const; /** * Get a list of all loaded identifiers, optionally matching the specified * filter. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. */ std::vector identifiers( FileFormat::Operations filter = FileFormat::None) const; /** * Get a list of all loaded MIME types, optionally matching the specified * filter. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. */ std::vector mimeTypes( FileFormat::Operations filter = FileFormat::None) const; /** * Get a list of the file extensions supported, optionally matching the * specified filter. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. */ std::vector fileExtensions( FileFormat::Operations filter = FileFormat::None) const; /** * Get a list of known FileFormat objects, optionally matching the * specified filter. * @warning The objects in the returned list are owned by the * FileFormatManager and cannot be modified. Use FileFormat::newInstance() * to create mutable copies. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. */ std::vector fileFormats( FileFormat::Operations filter = FileFormat::None) const; /** * Get a list of known FileFormat objects that handle the specified MIME type, * optionally matching a filter. * @warning The objects in the returned list are owned by the * FileFormatManager and cannot be modified. Use FileFormat::newInstance() * to create mutable copies. * @param mimeType MIME type. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. */ std::vector fileFormatsFromMimeType( const std::string& mimeType, FileFormat::Operations filter = FileFormat::None) const; /** * Get a list of known FileFormat objects that handle the specified file * extension, optionally matching a filter. * @warning The objects in the returned list are owned by the * FileFormatManager and cannot be modified. Use FileFormat::newInstance() * to create mutable copies. * @param extension File extension. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. */ std::vector fileFormatsFromFileExtension( const std::string& extension, FileFormat::Operations filter = FileFormat::None) const; /** * Get any errors that have been logged when loading formats. */ std::string error() const; private: typedef std::vector FormatIdVector; typedef std::map FormatIdMap; FileFormatManager(); ~FileFormatManager(); FileFormatManager(const FileFormatManager&); // Not implemented. FileFormatManager& operator=(const FileFormatManager&); // Not implemented. /** * @brief Return keys from a map that have formats matching the supplied * operation filter. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. * @param fmap The FormatMap to operate on. */ std::vector filteredKeysFromFormatMap( FileFormat::Operations filter, const FormatIdMap& fmap) const; /** * @brief Return formats from a map that match the supplied key and operation * filter. * @note Ownership of the format filter(s) remains with the FileFormatManager. * Use FileFormat::newInstance to clone each format before use. * @param key The map key. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. * @param fmap The FormatIdMap to operate on. */ std::vector filteredFormatsFromFormatMap( const std::string& key, FileFormat::Operations filter, const FormatIdMap& fmap) const; /** * @brief Return a format from a map that matches the supplied key and * operation filter. * @note Ownership of the format filter(s) remains with the FileFormatManager. * Use FileFormat::newInstance to clone each format before use. * @param key The map key. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. * @param fmap The FormatIdMap to operate on. */ FileFormat* filteredFormatFromFormatMap(const std::string& key, FileFormat::Operations filter, const FormatIdMap& fmap) const; /** * @brief Return formats from a vector that match the supplied operation * filter. * @note Ownership of the format filter(s) remains with the FileFormatManager. * Use FileFormat::newInstance to clone each format before use. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. * @param fvec The FormatIdVector to operate on. */ std::vector filteredFormatsFromFormatVector( FileFormat::Operations filter, const FormatIdVector& fvec) const; /** * @brief Return the first format from a vector that matches the supplied * operation filter. * @note Ownership of the format filter(s) remains with the FileFormatManager. * Use FileFormat::newInstance to clone each format before use. * @param filter Bitwise combination of FileFormat::Operation values that * represents the minimum required capabilities. * @param fmap The FormatIdVector to operate on. */ FileFormat* filteredFormatFromFormatVector(FileFormat::Operations filter, const FormatIdVector& fvec) const; /** * @brief Append warnings/errors to the error message string. * @param errorMessage The error message to append. */ void appendError(const std::string& errorMessage); std::vector m_formats; FormatIdMap m_identifiers; FormatIdMap m_mimeTypes; FormatIdMap m_fileExtensions; std::string m_error; }; } // end Io namespace } // end Avogadro namespace #endif // AVOGADRO_IO_FILEFORMATMANAGER_H avogadrolibs-1.93.0/avogadro/io/gromacsformat.cpp000066400000000000000000000166611360735163600220650ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gromacsformat.h" #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace Io { using Core::Atom; using Core::Elements; using Core::lexicalCast; using Core::Molecule; using Core::Residue; using Core::split; using Core::trimmed; using Core::UnitCell; using std::getline; using std::map; using std::string; using std::vector; GromacsFormat::GromacsFormat() {} GromacsFormat::~GromacsFormat() {} std::vector GromacsFormat::fileExtensions() const { return std::vector(1, std::string("gro")); } std::vector GromacsFormat::mimeTypes() const { return std::vector(1, std::string("chemical/x-gro")); } bool GromacsFormat::read(std::istream& in, Molecule& molecule) { string buffer; string value; Residue* r; size_t currentResidueId = 0; // Title getline(in, buffer); if (!buffer.empty()) molecule.setData("name", trimmed(buffer)); // Atom count getline(in, buffer); buffer = trimmed(buffer); bool ok; size_t numAtoms = lexicalCast(buffer, ok); if (buffer.empty() || !ok) { appendError("Number of atoms (line 2) invalid."); return false; } // read atom info: typedef map AtomTypeMap; AtomTypeMap atomTypes; unsigned char customElementCounter = CustomElementMin; Vector3 pos; while (numAtoms-- > 0) { getline(in, buffer); // Figure out the distance between decimal points, implement support for // variable precision as specified: // "any number of decimal places, the format will then be n+5 positions with // n decimal places (n+1 for velocities) in stead of 8 with 3 (with 4 for // velocities)". size_t decimal1 = buffer.find(".", 20); size_t decimal2 = string::npos; int decimalSep = 0; if (decimal1 != string::npos) decimal2 = buffer.find(".", decimal1 + 1); if (decimal2 != string::npos) decimalSep = decimal2 - decimal1; if (decimalSep == 0) { appendError("Decimal separation of 0 found in atom positions: " + buffer); return false; } if (buffer.size() < static_cast(20 + 3 * decimalSep)) { appendError("Error reading atom specification -- line too short: " + buffer); return false; } // Format of buffer is: (all indices start at 1, variable dp throws this). // Offset: 0 format: %5i value: Residue number // Offset: 5 format: %-5s value: Residue name // Offset: 10 format: %5s value: Atom name // Offset: 15 format: %5i value: Atom number // Offset: 20 format: %8.3f value: x coordinate (nm) // Offset: 28 format: %8.3f value: y coordinate (nm) // Offset: 36 format: %8.3f value: z coordinate (nm) // Offset: 44 format: %8.4f value: x velocity (nm/ps, a.k.a. km/s) // Offset: 52 format: %8.4f value: y velocity (nm/ps, a.k.a. km/s) // Offset: 60 format: %8.4f value: z velocity (nm/ps, a.k.a. km/s) size_t residueId = lexicalCast(buffer.substr(0, 5), ok); if (!ok) { appendError("Failed to parse residue sequence number: " + buffer.substr(0, 5)); return false; } if (residueId != currentResidueId) { currentResidueId = residueId; string residueName = lexicalCast(buffer.substr(5, 5), ok); if (!ok) { appendError("Failed to parse residue name: " + buffer.substr(5, 5)); return false; } // gro files do not have a chain ID. So we use a makeshift dummy ID char dummyChainId = '0'; r = &molecule.addResidue(residueName, currentResidueId, dummyChainId); } // Atom name: value = trimmed(buffer.substr(10, 5)); Atom atom; int atomicNum = r->getAtomicNumber(value); if (atomicNum) { atom = molecule.addAtom(atomicNum); } else { unsigned char atomicNumFromSymbol = Elements::atomicNumberFromSymbol(value); if (atomicNumFromSymbol != 255) { atom = molecule.addAtom(atomicNumFromSymbol); } else { AtomTypeMap::const_iterator it = atomTypes.find(value); if (it == atomTypes.end()) { atomTypes.insert(std::make_pair(value, customElementCounter++)); it = atomTypes.find(value); if (customElementCounter > CustomElementMax) { appendError("Custom element type limit exceeded."); return false; } } atom = molecule.addAtom(it->second); } } // Coords for (int i = 0; i < 3; ++i) { value = trimmed(buffer.substr(20 + i * decimalSep, decimalSep)); pos[i] = lexicalCast(value, ok); if (!ok || value.empty()) { appendError( "Error reading atom specification -- invalid coordinate: '" + buffer + "' (bad coord: '" + value + "')"); return false; } } atom.setPosition3d(pos * static_cast(10.0)); // nm --> Angstrom if (r) { r->addResidueAtom(value, atom); } } // Set the custom element map if needed: if (!atomTypes.empty()) { Molecule::CustomElementMap elementMap; for (AtomTypeMap::const_iterator it = atomTypes.begin(), itEnd = atomTypes.end(); it != itEnd; ++it) { elementMap.insert(std::make_pair(it->second, it->first)); } molecule.setCustomElementMap(elementMap); } // Box description: // v1(x) v2(y) v3(z) [v1(y) v1(z) v2(x) v2(z) v3(x) v3(y)] // The last six values may be omitted, set all non-specified values to 0. // v1(y) == v1(z) == v2(z) == 0 always. getline(in, buffer); vector tokens(split(buffer, ' ', true)); if (tokens.size() > 0) { if (tokens.size() != 3 && tokens.size() != 9) { appendError("Invalid box specification -- need either 3 or 9 values: '" + buffer + "'"); return false; } // Index arrays for parsing loop: const int rows[] = { 0, 1, 2, 1, 2, 0, 2, 0, 1 }; const int cols[] = { 0, 1, 2, 0, 0, 1, 1, 2, 2 }; Matrix3 cellMatrix = Matrix3::Zero(); for (size_t i = 0; i < tokens.size(); ++i) { cellMatrix(rows[i], cols[i]) = lexicalCast(tokens[i], ok); if (!ok || tokens[i].empty()) { appendError("Invalid box specification -- bad value: '" + tokens[i] + "'"); return false; } } UnitCell* cell = new UnitCell; cell->setCellMatrix(cellMatrix * static_cast(10)); // nm --> Angstrom molecule.setUnitCell(cell); } return true; } bool GromacsFormat::write(std::ostream&, const Core::Molecule&) { return false; } } // namespace Io } // namespace Avogadro avogadrolibs-1.93.0/avogadro/io/gromacsformat.h000066400000000000000000000036411360735163600215240ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_GROMACSFORMAT_H #define AVOGADRO_IO_GROMACSFORMAT_H #include "avogadroioexport.h" #include "fileformat.h" #include namespace Avogadro { namespace Io { /** * @class GromacsFormat gromacsformat.h * @brief Simple GROMACS .gro file reader. */ class AVOGADROIO_EXPORT GromacsFormat : public FileFormat { public: GromacsFormat(); ~GromacsFormat() override; Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new GromacsFormat; } std::string identifier() const override { return "Avogadro: GROMACS"; } std::string name() const override { return "GROMACS"; } std::string description() const override { return "Read GROMACS .gro files."; } std::string specificationUrl() const override { return "http://www.gromacs.org/Documentation/File_Formats/.gro_File"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream& out, const Core::Molecule& molecule) override; }; } // namespace Io } // namespace Avogadro #endif // AVOGADRO_IO_GROMACSFORMAT_H avogadrolibs-1.93.0/avogadro/io/hdf5dataformat.cpp000066400000000000000000000307641360735163600221120ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "hdf5dataformat.h" #include "hdf5.h" #include #include #include namespace Avogadro { namespace Io { // Exclude from Doxygen: /// @cond class Hdf5DataFormat::ResizeContainer { public: virtual ~ResizeContainer(){}; virtual bool resize(const std::vector& dims) = 0; virtual void* dataPointer() = 0; protected: int dimsToNumberOfElements(const std::vector& vec) { if (vec.empty()) return 0; int result = vec.front(); for (size_t i = 1; i < vec.size(); ++i) result *= vec[i]; return result; } }; // Internal storage. Used to keep HDF5 stuff out of the header. class Hdf5DataFormat::Private { public: Private() : fileId(H5I_INVALID_HID), threshold(1024) {} std::string filename; hid_t fileId; size_t threshold; }; namespace { // Build up a list of absolute paths to all datasets in the file. To be used // with H5Ovisit (see Hdf5DataFormat::datasets()). class ListDatasetsVisitor { public: std::vector datasets; static herr_t operation(hid_t /*o_id*/, const char* name, const H5O_info_t* object_info, void* op_data) { // If this object isn't a dataset, continue if (object_info->type != H5O_TYPE_DATASET) return 0; ListDatasetsVisitor* self = reinterpret_cast(op_data); self->datasets.push_back(std::string(name)); return 0; } }; class ResizeMatrixX : public Avogadro::Io::Hdf5DataFormat::ResizeContainer { MatrixX& m_data; public: ResizeMatrixX(MatrixX& data) : m_data(data) {} bool resize(const std::vector& dims) { if (dims.size() != 2) return false; m_data.resize(dims[0], dims[1]); return true; } void* dataPointer() { return m_data.data(); } }; class ResizeVector : public Avogadro::Io::Hdf5DataFormat::ResizeContainer { std::vector& m_data; public: ResizeVector(std::vector& data) : m_data(data) {} bool resize(const std::vector& dims) { m_data.resize(dimsToNumberOfElements(dims)); return true; } void* dataPointer() { return &m_data[0]; } }; class ResizeArray : public Avogadro::Io::Hdf5DataFormat::ResizeContainer { Avogadro::Core::Array& m_data; public: ResizeArray(Avogadro::Core::Array& data) : m_data(data) {} bool resize(const std::vector& dims) { m_data.resize(dimsToNumberOfElements(dims)); return true; } void* dataPointer() { return &m_data[0]; } }; } // end unnamed namespace // end doxygen exclude: /// @endcond Hdf5DataFormat::Hdf5DataFormat() : d(new Private()) { } Hdf5DataFormat::~Hdf5DataFormat() { if (isOpen()) closeFile(); delete d; } bool Hdf5DataFormat::isOpen() const { return d->fileId != H5I_INVALID_HID; } bool Hdf5DataFormat::openFile(const std::string& filename_, Hdf5DataFormat::OpenMode mode) { // File already open? if (isOpen()) return false; switch (mode) { case ReadOnly: // File must exist -- use open d->fileId = H5Fopen(filename_.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT); break; case ReadWriteTruncate: // Create new file: d->fileId = H5Fcreate(filename_.c_str(), H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); break; case ReadWriteAppend: // Test if the file exists: if (FILE* handle = fopen(filename_.c_str(), "r")) { // Exists! Use open fclose(handle); d->fileId = H5Fopen(filename_.c_str(), H5F_ACC_RDWR, H5P_DEFAULT); } else { // File doesn't exist yet. Create it. d->fileId = H5Fcreate(filename_.c_str(), H5F_ACC_EXCL, H5P_DEFAULT, H5P_DEFAULT); } break; } // Error opening if file id is negative if (d->fileId < 0) { d->fileId = H5I_INVALID_HID; return false; } d->filename = filename_; return true; } std::string Hdf5DataFormat::filename() const { return d->filename; } bool Hdf5DataFormat::closeFile() { // Is there a file open? if (!isOpen()) return false; herr_t err = H5Fclose(d->fileId); if (err < 0) return false; d->fileId = H5I_INVALID_HID; d->filename.clear(); return true; } void Hdf5DataFormat::setThreshold(size_t bytes) { d->threshold = bytes; } size_t Hdf5DataFormat::threshold() const { return d->threshold; } bool Hdf5DataFormat::exceedsThreshold(size_t bytes) const { return bytes > d->threshold; } bool Hdf5DataFormat::exceedsThreshold(const MatrixX& data) const { return exceedsThreshold(data.rows() * data.cols() * sizeof(double)); } bool Hdf5DataFormat::exceedsThreshold(const std::vector& data) const { return exceedsThreshold(data.size() * sizeof(double)); } bool Hdf5DataFormat::exceedsThreshold(const Core::Array& data) const { return exceedsThreshold(data.size() * sizeof(double)); } bool Hdf5DataFormat::datasetExists(const std::string& path) const { if (!isOpen()) return false; // "/" cannot be a valid dataset, and this function must take an absolute path if (path.size() < 2) return false; // Verify that all paths leading to the target exist, one by one (grr...) size_t slashIndex = 0; do { slashIndex = path.find('/', slashIndex + 1); if (slashIndex != std::string::npos) { htri_t exists = H5Lexists(d->fileId, path.substr(0, slashIndex).c_str(), H5P_DEFAULT); if (exists != 1) return false; } } while (slashIndex != std::string::npos); // Verify that the deepest link exists if (H5Lexists(d->fileId, path.c_str(), H5P_DEFAULT) != 1) return false; // Verify that the deepest link resolves to an object if (H5Oexists_by_name(d->fileId, path.c_str(), H5P_DEFAULT) != 1) return false; // See if the object is a dataset H5O_info_t info; if (H5Oget_info_by_name(d->fileId, path.c_str(), &info, H5P_DEFAULT) < 0) return false; return info.type == H5O_TYPE_DATASET; } bool Hdf5DataFormat::removeDataset(const std::string& path) const { if (!isOpen()) return false; return H5Ldelete(d->fileId, path.c_str(), H5P_DEFAULT) >= 0; } std::vector Hdf5DataFormat::datasetDimensions( const std::string& path) const { std::vector result; if (!isOpen()) return result; if (!datasetExists(path)) return result; // Open dataset hid_t dataset_id = H5Dopen(d->fileId, path.c_str(), H5P_DEFAULT); if (dataset_id < 0) return result; // Lookup dimensions // Get dataspace for dataset hid_t dataspace_id = H5Dget_space(dataset_id); if (dataset_id < 0) { H5Dclose(dataset_id); return result; } // Get number of dimensions. int ndims = H5Sget_simple_extent_ndims(dataspace_id); if (ndims <= 0) { H5Sclose(dataspace_id); H5Dclose(dataset_id); return result; } // Get actual dimensions. hsize_t* hdims = new hsize_t[ndims]; int checkDims = H5Sget_simple_extent_dims(dataspace_id, hdims, nullptr); // Copy dimensions if successful. if (checkDims == ndims) { result.resize(ndims); std::copy(hdims, hdims + ndims, result.begin()); } // Cleanup. delete[] hdims; H5Sclose(dataspace_id); H5Dclose(dataset_id); return result; } bool Hdf5DataFormat::writeRawDataset(const std::string& path, const double data[], int ndims, size_t dims[]) const { if (!isOpen()) return false; // Remove old data set if it exists. if (datasetExists(path)) { if (!removeDataset(path)) return false; } // Get dimensions of data. hsize_t* hdims = new hsize_t[ndims]; for (int i = 0; i < ndims; ++i) { hdims[i] = static_cast(dims[i]); } // Create a dataspace description. hid_t dataspace_id = H5Screate_simple(ndims, hdims, nullptr); delete[] hdims; if (dataspace_id < 0) return false; // Create any intermediate groups if needed: hid_t lcpl_id = H5Pcreate(H5P_LINK_CREATE); if (lcpl_id == -1 || H5Pset_create_intermediate_group(lcpl_id, 1) < 0) { H5Sclose(dataspace_id); return false; } // Create the dataset. hid_t dataset_id = H5Dcreate(d->fileId, path.c_str(), H5T_NATIVE_DOUBLE, dataspace_id, lcpl_id, H5P_DEFAULT, H5P_DEFAULT); if (dataset_id < 0) { H5Sclose(dataspace_id); return false; } // Write the actual data. herr_t err = H5Dwrite(dataset_id, H5T_NATIVE_DOUBLE, H5S_ALL, dataspace_id, H5P_DEFAULT, data); // Cleanup. H5Dclose(dataset_id); H5Sclose(dataspace_id); if (err < 0) return false; return true; } bool Hdf5DataFormat::writeDataset(const std::string& path, const MatrixX& data) const { size_t dims[2] = { static_cast(data.rows()), static_cast(data.cols()) }; // Transpose data -- Eigen uses column-major ordering. return this->writeRawDataset(path, data.transpose().data(), 2, dims); } bool Hdf5DataFormat::writeDataset(const std::string& path, const std::vector& data, int ndims, size_t* dims) const { size_t size = data.size(); return this->writeRawDataset(path, &(data[0]), ndims, dims ? dims : &size); } bool Hdf5DataFormat::writeDataset(const std::string& path, const Core::Array& data, int ndims, size_t* dims) const { size_t size = data.size(); return this->writeRawDataset(path, &(data[0]), ndims, dims ? dims : &size); } std::vector Hdf5DataFormat::readRawDataset( const std::string& path, ResizeContainer& container) const { std::vector result; if (!isOpen()) return result; if (!datasetExists(path)) return result; // Open dataset hid_t dataset_id = H5Dopen(d->fileId, path.c_str(), H5P_DEFAULT); if (dataset_id < 0) return result; // Lookup dimensions // Get dataspace for dataset hid_t dataspace_id = H5Dget_space(dataset_id); if (dataset_id < 0) { H5Dclose(dataset_id); return result; } // Get number of dimensions. int ndims = H5Sget_simple_extent_ndims(dataspace_id); if (ndims <= 0) { H5Sclose(dataspace_id); H5Dclose(dataset_id); return result; } // Get actual dimensions. hsize_t* hdims = new hsize_t[ndims]; if (H5Sget_simple_extent_dims(dataspace_id, hdims, nullptr) != ndims) { delete[] hdims; H5Sclose(dataspace_id); H5Dclose(dataset_id); return result; } result.reserve(ndims); for (int i = 0; i < ndims; ++i) { result.push_back(static_cast(hdims[i])); } // Allocate and read into data. if (!container.resize(result)) { result.clear(); H5Sclose(dataspace_id); H5Dclose(dataset_id); return result; } if (H5Dread(dataset_id, H5T_NATIVE_DOUBLE, H5S_ALL, dataspace_id, H5P_DEFAULT, container.dataPointer()) < 0) { result.clear(); H5Sclose(dataspace_id); H5Dclose(dataset_id); return result; } // Cleanup H5Sclose(dataspace_id); H5Dclose(dataset_id); return result; } bool Hdf5DataFormat::readDataset(const std::string& path, MatrixX& data) const { ResizeMatrixX container(data); return !readRawDataset(path, container).empty(); } std::vector Hdf5DataFormat::readDataset(const std::string& path, std::vector& data) const { ResizeVector container(data); return readRawDataset(path, container); } std::vector Hdf5DataFormat::readDataset(const std::string& path, Core::Array& data) const { ResizeArray container(data); return readRawDataset(path, container); } std::vector Hdf5DataFormat::datasets() const { if (!isOpen()) return std::vector(); ListDatasetsVisitor visitor; herr_t code = H5Ovisit(d->fileId, H5_INDEX_NAME, H5_ITER_INC, &visitor.operation, &visitor); if (code < 0) return std::vector(); return visitor.datasets; } } // namespace Io } // namespace Avogadro avogadrolibs-1.93.0/avogadro/io/hdf5dataformat.h000066400000000000000000000336011360735163600215500ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_HDF5DATAFORMAT_H #define AVOGADRO_HDF5DATAFORMAT_H #include "avogadroioexport.h" #include // can't forward declare eigen types #include #include #include namespace Avogadro { namespace Core { template class Array; } namespace Io { /** * @class Hdf5DataFormat hdf5dataformat.h * @brief The Hdf5DataFormat class provides access to data stored in HDF5 files. * @author David C. Lonie * * This class is intended to supplement an existing format reader/writer by * providing the option to write large data to an HDF5 file store. The purpose * is to keep text format files at a managable size. * * To use this class, open or create an HDF5 file with the openFile method, * using the appropriate OpenMode for the intended operation. Data can be * written to the file using the writeDataset methods and retrieved using the * readDataset methods. When finished, call closeFile to release the file * resources from the HDF5 library. * * A complete set of datasets available in an open file can be retrieved with * the datasets() method, and the existence of a particular dataset can be * tested with datasetExists(). removeDataset() can be used to unlink an * existing dataset from the file, though this will not free any space on disk. * The space occupied by an unlinked dataset may be reclaimed by new write * operations, but only if they occur before the file is closed. * * A convenient thresholding system is implemented to help the accompanying text * format writer determine which data is "large" enough to be stored in HDF5. A * size threshold (in bytes) may be set with the setThreshold() function (the * default is 1KB). A data object may be passed to the exceedsThreshold method * to see if the size of the data in the container exceeds the currently set * threshold. If so, it should be written into the HDF5 file by writeDataset. * If not, it should be serialized into the text file in a suitable format. The * thresholding operations are optional; the threshold size does not affect the * behavior of the read/write methods and are only for user convenience. */ class AVOGADROIO_EXPORT Hdf5DataFormat { public: Hdf5DataFormat(); /** Destructor. Closes any open file before freeing memory. */ ~Hdf5DataFormat(); /** Open modes for use with openFile(). */ enum OpenMode { /** Open an existing file in read-only mode. The file must exist. */ ReadOnly = 0, /** * Create a file in read/write mode, removing any existing file with the * same name. */ ReadWriteTruncate, /** * Open an file in read/write mode. If the file exist, its contents will be * preserved. If it does not, a new file will be created. */ ReadWriteAppend }; /** @return true if a file is open. */ bool isOpen() const; /** * @brief openFile Open a file for use by this reader/writer. * @param filename_ Name of the file to open. * @param mode OpenMode for the file. Default is ReadWriteAppend. * @note Only a single file may be opened at a time. Attempting to open * multiple files without calling closeFile() will fail. * @return True if the file is successfully opened/create by the HDF5 * subsystem, false otherwise. */ bool openFile(const std::string& filename_, OpenMode mode = ReadWriteAppend); /** * @return The name of the open file, or an empty string if no file is open. */ std::string filename() const; /** * @brief closeFile Close the file and reset the reader/writer. Another file * may be opened after calling this function. * @return true if the file is successfully released by the HDF5 subsystem. */ bool closeFile(); /** * @brief setThreshold Set the threshold size in bytes that will be used in * the exceedsThreshold functions. The threshold can be used to determine * which * data is considered "large enough" to be stored in HDF5, rather than an * accompanying format. * @param bytes The size in bytes for the threshold. Default: 1KB. */ void setThreshold(size_t bytes); /** @return The current threshold size in bytes. Default: 1KB. */ size_t threshold() const; /** * @brief exceedsThreshold Test if a data set is "large enough" to be stored * in HDF5 format. If this function returns true, the number of bytes tested * is larger than the threshold and the data should be written into the HDF5 * file. If false, the data should be written into the accompanying format. * @param bytes The size of the dataset in bytes * @return true if the size exceeds the threshold set by setThreshold. */ bool exceedsThreshold(size_t bytes) const; /** * @brief exceedsThreshold Test if a data set is "large enough" to be stored * in HDF5 format. If this function returns true, the size of the data in the * object is larger than the threshold and should be written into the HDF5 * file. If false, the data should be written into the accompanying format. * @param data Data object to test. * @return true if the size of the serializable data in @a data exceeds the * threshold set by setThreshold. */ bool exceedsThreshold(const MatrixX& data) const; /** * @brief exceedsThreshold Test if a data set is "large enough" to be stored * in HDF5 format. If this function returns true, the size of the data in the * object is larger than the threshold and should be written into the HDF5 * file. If false, the data should be written into the accompanying format. * @param data Data object to test. * @return true if the size of the serializable data in @a data exceeds the * threshold set by setThreshold. */ bool exceedsThreshold(const std::vector& data) const; /** * @brief exceedsThreshold Test if a data set is "large enough" to be stored * in HDF5 format. If this function returns true, the size of the data in the * object is larger than the threshold and should be written into the HDF5 * file. If false, the data should be written into the accompanying format. * @param data Data object to test. * @return true if the size of the serializable data in @a data exceeds the * threshold set by setThreshold. */ bool exceedsThreshold(const Core::Array& data) const; /** * @brief datasetExists Test if the currently open file contains a dataset at * the HDF5 absolute path @a path. * @param path An absolute path into the HDF5 data. * @return true if the object at @a path both exists and is a dataset, false * otherwise. */ bool datasetExists(const std::string& path) const; /** * @brief removeDataset Remove a dataset from the currently opened file. * @param path An absolute path into the HDF5 data. * @return true if the dataset exists and has been successfully removed. * \warning Removing datasets can be expensive in terms of filesize, as * deleted space cannot be reclaimed by HDF5 once the file is closed, and the * file will not decrease in size as datasets are removed. For details, see * http://www.hdfgroup.org/HDF5/doc/H5.user/Performance.html#Freespace. */ bool removeDataset(const std::string& path) const; /** * @brief datasetDimensions Find the dimensions of a dataset. * @param path An absolute path into the HDF5 data. * @return A vector containing the dimensionality of the data, major dimension * first. If an error is encountered, an empty vector is returned. */ std::vector datasetDimensions(const std::string& path) const; /** * @brief writeDataset Write the data to the currently opened file at the * specified absolute HDF5 path. * @param path An absolute path into the HDF5 data. * @param data The data container to serialize to HDF5. * @return true if the data is successfully written, false otherwise. */ bool writeDataset(const std::string& path, const MatrixX& data) const; /** * @brief writeDataset Write the data to the currently opened file at the * specified absolute HDF5 path. * @param path An absolute path into the HDF5 data. * @param data The data container to serialize to HDF5. * @param ndims The number of dimensions in the data. Default: 1. * @param dims The dimensionality of the data, major dimension first. Default: * data.size(). * @note Since std::vector is a flat container, the dimensionality data is * only used to set up the dataset metadata in the HDF5 container. Omitting * the dimensionality parameters will write a flat array. * @return true if the data is successfully written, false otherwise. */ bool writeDataset(const std::string& path, const std::vector& data, int ndims = 1, size_t* dims = nullptr) const; /** * @brief writeDataset Write the data to the currently opened file at the * specified absolute HDF5 path. * @param path An absolute path into the HDF5 data. * @param data The data container to serialize to HDF5. * @param ndims The number of dimensions in the data. Default: 1. * @param dims The dimensionality of the data, major dimension first. Default: * data.size(). * @note Since this is a flat container, the dimensionality data is * only used to set up the dataset metadata in the HDF5 container. Omitting * the dimensionality parameters will write a flat array. * @return true if the data is successfully written, false otherwise. */ bool writeDataset(const std::string& path, const Core::Array& data, int ndims = 1, size_t* dims = nullptr) const; /** * @brief readDataset Populate the data container @data with data at from the * specified path in the currently opened HDF5 file. * @param path An absolute path into the HDF5 data. * @param data The data container to into which the HDF5 data shall be * deserialized. @a data will be resized to fit the data. * @return true if the data is successfully read, false otherwise. If the * read fails, the @a data object may be left in an unpredictable state. */ bool readDataset(const std::string& path, MatrixX& data) const; /** * @brief readDataset Populate the data container @data with data at from the * specified path in the currently opened HDF5 file. * @param path An absolute path into the HDF5 data. * @param data The data container to into which the HDF5 data shall be * deserialized. @a data will be resized to fit the data. * @return A vector containing the dimensionality of the dataset, major * dimension first. If an error occurs, an empty vector is returned and *data * will be set to nullptr. */ std::vector readDataset(const std::string& path, std::vector& data) const; /** * @brief readDataset Populate the data container @data with data at from the * specified path in the currently opened HDF5 file. * @param path An absolute path into the HDF5 data. * @param data The data container to into which the HDF5 data shall be * deserialized. @a data will be resized to fit the data. * @return A vector containing the dimensionality of the dataset, major * dimension first. If an error occurs, an empty vector is returned and *data * will be set to nullptr. */ std::vector readDataset(const std::string& path, Core::Array& data) const; /** * @brief datasets Traverse the currently opened file and return a list of all * dataset objects in the file. * @return A list of datasets in the current file. * \warning The list is not cached internal and is recalculated on each call. * This may be expensive on large HDF5 files, so external caching is * recommended if this data is frequently needed. */ std::vector datasets() const; /** Used to abstract details of container resizing. */ class ResizeContainer; private: /** * @brief writeRawDataset Write the data to the currently opened file at the * specified absolute HDF5 path. * @param path An absolute path into the HDF5 data. * @param data The data container to serialize to HDF5. * @param ndims The number of dimensions in the data. * @param dims The data dimensions, major dimension first. * @note Since a double[] is a flat container, the dimensionality data is * only used to set up the dataset metadata in the HDF5 container. The result * of multiplying all values in @a dims must equal the length of the @a data. * @return true if the data is successfully written, false otherwise. */ bool writeRawDataset(const std::string& path, const double data[], int ndims, size_t dims[]) const; /** * @brief readRawDataset Populate the data container @data with data from the * specified path in the currently opened HDF5 file. * @param path An absolute path into the HDF5 data. * @param container A subclass of ResizeContainer with the container to read * data into. * @return A vector containing the dimensionality of the dataset, major * dimension first. If an error occurs, an empty vector is returned. */ std::vector readRawDataset(const std::string& path, ResizeContainer& container) const; class Private; /** Internal storage, used to encapsulate HDF5 data. */ Private* const d; }; } // namespace Io } // namespace Avogadro #endif // AVOGADRO_HDF5DATAFORMAT_H avogadrolibs-1.93.0/avogadro/io/lammpsformat.cpp000066400000000000000000000473001360735163600217150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "lammpsformat.h" #include #include #include #include #include #include #include #include #include #include #include using std::endl; using std::getline; using std::map; using std::string; using std::to_string; using std::vector; namespace Avogadro { namespace Io { using Core::Array; using Core::Atom; using Core::Bond; using Core::CrystalTools; using Core::Elements; using Core::lexicalCast; using Core::Molecule; using Core::split; using Core::trimmed; using Core::UnitCell; #ifndef _WIN32 using std::isalpha; #endif LammpsTrajectoryFormat::LammpsTrajectoryFormat() {} LammpsTrajectoryFormat::~LammpsTrajectoryFormat() {} bool LammpsTrajectoryFormat::read(std::istream& inStream, Core::Molecule& mol) { size_t numAtoms = 0, timestep = 0, x_idx = -1, y_idx = -1, z_idx = -1, type_idx = -1, id_idx = -1; double x_min = 0, x_max = 0, y_min = 0, y_max = 0, z_min = 0, z_max = 0, tilt_xy = 0, tilt_xz = 0, tilt_yz = 0, scale_x = 0., scale_y = 0., scale_z = 0.; string buffer; getline(inStream, buffer); // Finish the first line buffer = trimmed(buffer); if (buffer != "ITEM: TIMESTEP") { appendError("No timestep item found."); return false; } getline(inStream, buffer); if (!buffer.empty()) { timestep = lexicalCast(buffer); mol.setTimeStep(timestep, 0); } getline(inStream, buffer); buffer = trimmed(buffer); if (buffer != "ITEM: NUMBER OF ATOMS") { appendError("No number of atoms item found."); return false; } getline(inStream, buffer); if (!buffer.empty()) numAtoms = lexicalCast(buffer); // If unit cell is triclinic, tilt factors are needed to define the supercell getline(inStream, buffer); if (buffer.find("ITEM: BOX BOUNDS xy xz yz") == 0) { // Read x_min, x_max, tiltfactor_xy getline(inStream, buffer); vector box_bounds_x(split(buffer, ' ')); x_min = lexicalCast(box_bounds_x.at(0)); x_max = lexicalCast(box_bounds_x.at(1)); tilt_xy = lexicalCast(box_bounds_x.at(2)); // Read y_min, y_max, tiltfactor_xz getline(inStream, buffer); vector box_bounds_y(split(buffer, ' ')); y_min = lexicalCast(box_bounds_y.at(0)); y_max = lexicalCast(box_bounds_y.at(1)); tilt_xz = lexicalCast(box_bounds_y.at(2)); getline(inStream, buffer); // Read z_min, z_max, tiltfactor_yz vector box_bounds_z(split(buffer, ' ')); z_min = lexicalCast(box_bounds_z.at(0)); z_max = lexicalCast(box_bounds_z.at(1)); tilt_yz = lexicalCast(box_bounds_z.at(2)); x_min -= std::min(std::min(std::min(tilt_xy, tilt_xz), tilt_xy + tilt_xz), (double)0); x_max -= std::max(std::max(std::max(tilt_xy, tilt_xz), tilt_xy + tilt_xz), (double)0); y_min -= std::min(tilt_yz, (double)0); y_max -= std::max(tilt_yz, (double)0); } // Else if unit cell is orthogonal, tilt factors are zero else if (buffer.find("ITEM: BOX BOUNDS") == 0) { // Read x_min, x_max getline(inStream, buffer); vector box_bounds_x(split(buffer, ' ')); x_min = lexicalCast(box_bounds_x.at(0)); x_max = lexicalCast(box_bounds_x.at(1)); // Read y_min, y_max getline(inStream, buffer); vector box_bounds_y(split(buffer, ' ')); y_min = lexicalCast(box_bounds_y.at(0)); y_max = lexicalCast(box_bounds_y.at(1)); // Read z_min, z_max getline(inStream, buffer); vector box_bounds_z(split(buffer, ' ')); z_min = lexicalCast(box_bounds_z.at(0)); z_max = lexicalCast(box_bounds_z.at(1)); } typedef map AtomTypeMap; AtomTypeMap atomTypes; unsigned char customElementCounter = CustomElementMin; // x,y,z stand for the coordinate axes // s stands for scaled coordinates // u stands for unwrapped coordinates // scale_x = 0. if coordinates are cartesian and 1 if fractional (scaled) getline(inStream, buffer); vector labels(split(buffer, ' ')); for (size_t i = 0; i < labels.size(); i++) { if (labels[i] == "x" || labels[i] == "xu") { x_idx = i; scale_x = 0.; } else if (labels[i] == "xs" || labels[i] == "xsu") { x_idx = i; scale_x = 1.; } else if (labels[i] == "y" || labels[i] == "yu") { y_idx = i; scale_y = 0.; } else if (labels[i] == "ys" || labels[i] == "ysu") { y_idx = i; scale_y = 1.; } else if (labels[i] == "z" || labels[i] == "zu") { z_idx = i; scale_z = 0.; } else if (labels[i] == "zs" || labels[i] == "zsu") { z_idx = i; scale_z = 1.; } else if (labels[i] == "type") type_idx = i; else if (labels[i] == "id") id_idx = i; } // Parse atoms for (size_t i = 0; i < numAtoms; ++i) { getline(inStream, buffer); vector tokens(split(buffer, ' ')); if (tokens.size() < labels.size() - 2) { appendError("Not enough tokens in this line: " + buffer); return false; } unsigned char atomicNum(0); atomicNum = lexicalCast(tokens[type_idx - 2]); // If parsed coordinates are fractional, the corresponding unscaling is // done. Else the positions are assigned as parsed. Vector3 pos((1 - scale_x) * lexicalCast(tokens[x_idx - 2]) + scale_x * (x_min + (x_max - x_min) * lexicalCast(tokens[x_idx - 2])), (1 - scale_y) * lexicalCast(tokens[y_idx - 2]) + scale_y * (y_min + (y_max - y_min) * lexicalCast(tokens[y_idx - 2])), (1 - scale_z) * lexicalCast(tokens[z_idx - 2]) + scale_z * (z_min + (z_max - z_min) * lexicalCast(tokens[z_idx - 2]))); AtomTypeMap::const_iterator it = atomTypes.find(to_string(atomicNum)); if (it == atomTypes.end()) { atomTypes.insert( std::make_pair(to_string(atomicNum), customElementCounter++)); it = atomTypes.find(to_string(atomicNum)); if (customElementCounter > CustomElementMax) { appendError("Custom element type limit exceeded."); return false; } } Atom newAtom = mol.addAtom(it->second); newAtom.setPosition3d(pos); } // Set the custom element map if needed: if (!atomTypes.empty()) { Molecule::CustomElementMap elementMap; for (AtomTypeMap::const_iterator it = atomTypes.begin(), itEnd = atomTypes.end(); it != itEnd; ++it) { elementMap.insert(std::make_pair(it->second, it->first)); } mol.setCustomElementMap(elementMap); } // Check that all atoms were handled. if (mol.atomCount() != numAtoms) { std::ostringstream errorStream; errorStream << "Error parsing atom at index " << mol.atomCount() << " (line " << 10 + mol.atomCount() << ").\n" << buffer; appendError(errorStream.str()); return false; } mol.setCoordinate3d(mol.atomPositions3d(), 0); mol.setUnitCell(new UnitCell(Vector3(x_max - x_min, 0, 0), Vector3(tilt_xy, y_max - y_min, 0), Vector3(tilt_xz, tilt_yz, z_max - z_min))); // Do we have an animation? size_t numAtoms2; int coordSet = 1; while (getline(inStream, buffer) && trimmed(buffer) == "ITEM: TIMESTEP") { x_idx = -1; y_idx = -1; z_idx = -1; type_idx = -1; id_idx = -1; x_min = 0; x_max = 0; y_min = 0; y_max = 0; z_min = 0; z_max = 0; tilt_xy = 0; tilt_xz = 0; tilt_yz = 0; scale_x = 0.; scale_y = 0.; scale_z = 0.; getline(inStream, buffer); if (!buffer.empty()) { timestep = lexicalCast(buffer); mol.setTimeStep(timestep, coordSet); } getline(inStream, buffer); buffer = trimmed(buffer); if (buffer != "ITEM: NUMBER OF ATOMS") { appendError("No number of atoms item found."); return false; } getline(inStream, buffer); if (!buffer.empty()) numAtoms2 = lexicalCast(buffer); if (numAtoms2 != numAtoms) { appendError("Number of atoms isn't constant in the trajectory."); } // If unit cell is triclinic, tilt factors are needed to define the // supercell getline(inStream, buffer); if (buffer.find("ITEM: BOX BOUNDS xy xz yz") == 0) { // Read x_min, x_max, tiltfactor_xy getline(inStream, buffer); vector box_bounds_x(split(buffer, ' ')); x_min = lexicalCast(box_bounds_x.at(0)); x_max = lexicalCast(box_bounds_x.at(1)); tilt_xy = lexicalCast(box_bounds_x.at(2)); // Read y_min, y_max, tiltfactor_xz getline(inStream, buffer); vector box_bounds_y(split(buffer, ' ')); y_min = lexicalCast(box_bounds_y.at(0)); y_max = lexicalCast(box_bounds_y.at(1)); tilt_xz = lexicalCast(box_bounds_y.at(2)); getline(inStream, buffer); // Read z_min, z_max, tiltfactor_yz vector box_bounds_z(split(buffer, ' ')); z_min = lexicalCast(box_bounds_z.at(0)); z_max = lexicalCast(box_bounds_z.at(1)); tilt_yz = lexicalCast(box_bounds_z.at(2)); x_min -= std::min(std::min(std::min(tilt_xy, tilt_xz), tilt_xy + tilt_xz), (double)0); x_max -= std::max(std::max(std::max(tilt_xy, tilt_xz), tilt_xy + tilt_xz), (double)0); y_min -= std::min(tilt_yz, (double)0); y_max -= std::max(tilt_yz, (double)0); } // Else if unit cell is orthogonal, tilt factors are zero else if (buffer.find("ITEM: BOX BOUNDS") == 0) { // Read x_min, x_max getline(inStream, buffer); vector box_bounds_x(split(buffer, ' ')); x_min = lexicalCast(box_bounds_x.at(0)); x_max = lexicalCast(box_bounds_x.at(1)); // Read y_min, y_max getline(inStream, buffer); vector box_bounds_y(split(buffer, ' ')); y_min = lexicalCast(box_bounds_y.at(0)); y_max = lexicalCast(box_bounds_y.at(1)); // Read z_min, z_max getline(inStream, buffer); vector box_bounds_z(split(buffer, ' ')); z_min = lexicalCast(box_bounds_z.at(0)); z_max = lexicalCast(box_bounds_z.at(1)); } // x,y,z stand for the coordinate axes // s stands for scaled coordinates // u stands for unwrapped coordinates // scale_x = 0. if coordinates are cartesian and 1 if fractional (scaled) getline(inStream, buffer); labels = vector(split(buffer, ' ')); for (size_t i = 0; i < labels.size(); ++i) { if (labels[i] == "x" || labels[i] == "xu") { x_idx = i; scale_x = 0.; } else if (labels[i] == "xs" || labels[i] == "xsu") { x_idx = i; scale_x = 1.; } else if (labels[i] == "y" || labels[i] == "yu") { y_idx = i; scale_y = 0.; } else if (labels[i] == "ys" || labels[i] == "ysu") { y_idx = i; scale_y = 1.; } else if (labels[i] == "z" || labels[i] == "zu") { z_idx = i; scale_z = 0.; } else if (labels[i] == "zs" || labels[i] == "zsu") { z_idx = i; scale_z = 1.; } else if (labels[i] == "type") type_idx = i; else if (labels[i] == "id") id_idx = i; } Array positions; positions.reserve(numAtoms); for (size_t i = 0; i < numAtoms; ++i) { getline(inStream, buffer); vector tokens(split(buffer, ' ')); if (tokens.size() < 5) { appendError("Not enough tokens in this line: " + buffer); return false; } // If parsed coordinates are fractional, the corresponding unscaling is // done. Else the positions are assigned as parsed. Vector3 pos( (1 - scale_x) * lexicalCast(tokens[x_idx - 2]) + scale_x * (x_min + (x_max - x_min) * lexicalCast(tokens[x_idx - 2])), (1 - scale_y) * lexicalCast(tokens[y_idx - 2]) + scale_y * (y_min + (y_max - y_min) * lexicalCast(tokens[y_idx - 2])), (1 - scale_z) * lexicalCast(tokens[z_idx - 2]) + scale_z * (z_min + (z_max - z_min) * lexicalCast(tokens[z_idx - 2]))); positions.push_back(pos); } mol.setCoordinate3d(positions, coordSet++); mol.setUnitCell(new UnitCell(Vector3(x_max - x_min, 0, 0), Vector3(tilt_xy, y_max - y_min, 0), Vector3(tilt_xz, tilt_yz, z_max - z_min))); } return true; } bool LammpsTrajectoryFormat::write(std::ostream& outStream, const Core::Molecule& mol) { return false; } std::vector LammpsTrajectoryFormat::fileExtensions() const { std::vector ext; ext.push_back("dump"); return ext; } std::vector LammpsTrajectoryFormat::mimeTypes() const { std::vector mime; mime.push_back("text/lammps"); return mime; } LammpsDataFormat::LammpsDataFormat() {} LammpsDataFormat::~LammpsDataFormat() {} bool LammpsDataFormat::read(std::istream& inStream, Core::Molecule& mol) { return false; } bool LammpsDataFormat::write(std::ostream& outStream, const Core::Molecule& mol) { Core::Molecule mol2(mol); CrystalTools::rotateToStandardOrientation(mol2, CrystalTools::TransformAtoms); // Title if (mol2.data("name").toString().length()) outStream << mol2.data("name").toString() << std::endl; else outStream << "LAMMPS data file generated by Avogadro" << std::endl; std::ostringstream massStream, atomStream, bondStream; double xmin, xmax, ymin, ymax, zmin, zmax; size_t numAtoms = mol2.atomCount(); outStream << to_string(numAtoms) << " atoms\n"; size_t numBonds = mol2.bondCount(); outStream << to_string(numBonds) << " bonds\n"; // A map of atomic symbols to their quantity. size_t idx = 1; Array atomicNumbers = mol2.atomicNumbers(); std::map composition; for (Array::const_iterator it = atomicNumbers.begin(), itEnd = atomicNumbers.end(); it != itEnd; ++it) { if (composition.find(*it) == composition.end()) { composition[*it] = idx++; } } outStream << composition.size() << " atom types\n"; // Masses massStream << "Masses\n\n"; std::map::iterator iter = composition.begin(); while (iter != composition.end()) { massStream << iter->second << " " << Elements::mass(iter->first) << "\n"; ++iter; } massStream << std::endl << std::endl << std::endl; if (numAtoms) { // Atomic coordinates atomStream << "Atoms\n\n"; for (Index i = 0; i < numAtoms; ++i) { Atom atom = mol2.atom(i); if (!atom.isValid()) { appendError("Internal error: Atom invalid."); return false; } Vector3 coords = atom.position3d(); if (i == 0) { xmin = coords[0]; xmax = coords[0]; ymin = coords[1]; ymax = coords[1]; zmin = coords[2]; zmax = coords[2]; } else { xmin = std::min(coords[0], xmin); xmax = std::max(coords[0], xmax); ymin = std::min(coords[1], ymin); ymax = std::max(coords[1], ymax); zmin = std::min(coords[2], zmin); zmax = std::max(coords[2], zmax); } char atomline[200]; sprintf(atomline, "%-*d %d %10f %10f %10f\n", static_cast(log(numAtoms)) + 1, static_cast(i + 1), static_cast(composition[atomicNumbers[i]]), coords.x(), coords.y(), coords.z()); atomStream << atomline; } atomStream << std::endl << std::endl; } if (numBonds) { // Bonds std::map, int> bondIds; int bondItr = 1; bondStream << "Bonds\n\n"; for (Index i = 0; i < numBonds; ++i) { char bondline[200]; Bond b = mol2.bond(i); if (bondIds.find(std::make_pair(b.atom1().atomicNumber(), b.atom2().atomicNumber())) != bondIds.end()) { sprintf(bondline, "%-*d %7d %7d %7d\n", static_cast(log(numAtoms) + 1), static_cast(i + 1), bondIds[std::make_pair(b.atom1().atomicNumber(), b.atom2().atomicNumber())], static_cast(b.atom1().index() + 1), static_cast(b.atom2().index() + 1)); bondStream << bondline; } else if (bondIds.find(std::make_pair(b.atom2().atomicNumber(), b.atom1().atomicNumber())) != bondIds.end()) { sprintf(bondline, "%-*d %7d %7d %7d\n", static_cast(log(numAtoms) + 1), static_cast(i + 1), bondIds[std::make_pair(b.atom1().atomicNumber(), b.atom2().atomicNumber())], static_cast(b.atom2().index() + 1), static_cast(b.atom1().index() + 1)); bondStream << bondline; } else { bondIds.insert(std::make_pair( std::make_pair(b.atom1().atomicNumber(), b.atom2().atomicNumber()), bondItr++)); sprintf(bondline, "%-*d %7d %7d %7d\n", static_cast(log(numAtoms) + 1), static_cast(i + 1), bondIds[std::make_pair(b.atom1().atomicNumber(), b.atom2().atomicNumber())], static_cast(b.atom1().index() + 1), static_cast(b.atom2().index() + 1)); bondStream << bondline; } } } UnitCell* unitcell = mol2.unitCell(); char simBoxBlock[200]; if (unitcell) { const Matrix3& mat = unitcell->cellMatrix().transpose(); sprintf(simBoxBlock, "%10f %10f xlo xhi\n%10f %10f ylo yhi\n%10f %10f zlo zhi\n%10f " "%10f %10f xy xz yz", 0.0, mat(0, 0), 0.0, mat(1, 1), 0.0, mat(2, 2), mat(1, 0), mat(2, 0), mat(2, 1)); outStream << simBoxBlock; } else { sprintf(simBoxBlock, "%10f %10f xlo xhi\n%10f %10f ylo yhi\n%10f %10f zlo zhi\n%10f " "%10f %10f xy xz yz", xmin - 0.5, xmax - 0.5, ymin - 0.5, ymax - 0.5, zmin - 0.5, zmax - 0.5, 0.0, 0.0, 0.0); outStream << simBoxBlock; } outStream << std::endl << std::endl << std::endl; outStream << massStream.str(); outStream << atomStream.str(); outStream << bondStream.str(); return true; } std::vector LammpsDataFormat::fileExtensions() const { std::vector ext; ext.push_back("lmpdat"); return ext; } std::vector LammpsDataFormat::mimeTypes() const { std::vector mime; mime.push_back("N/A"); return mime; } } // end Io namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/io/lammpsformat.h000066400000000000000000000055661360735163600213720ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_LAMMPSFORMAT_H #define AVOGADRO_IO_LAMMPSFORMAT_H #include "fileformat.h" namespace Avogadro { namespace Io { /** * @class LammpsTrajectoryFormat lammpsformat.h * @brief Implementation of the generic lammps trajectory format. * @author Adarsh B */ class AVOGADROIO_EXPORT LammpsTrajectoryFormat : public FileFormat { public: LammpsTrajectoryFormat(); ~LammpsTrajectoryFormat() override; Operations supportedOperations() const override { return ReadWrite | MultiMolecule | File | Stream | String; } FileFormat* newInstance() const override { return new LammpsTrajectoryFormat; } std::string identifier() const override { return "Avogadro: LAMMPS Trajectory dump"; } std::string name() const override { return "LAMMPS"; } std::string description() const override { return "Generic LAMMPS Trajectory format."; } std::string specificationUrl() const override { return "http://lammps.sandia.gov/"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& inStream, Core::Molecule& molecule) override; bool write(std::ostream& outStream, const Core::Molecule& molecule) override; }; class AVOGADROIO_EXPORT LammpsDataFormat : public FileFormat { public: LammpsDataFormat(); ~LammpsDataFormat() override; Operations supportedOperations() const override { return ReadWrite | MultiMolecule | File | Stream | String; } FileFormat* newInstance() const override { return new LammpsDataFormat; } std::string identifier() const override { return "Avogadro: LAMMPS Data"; } std::string name() const override { return "LAMMPS"; } std::string description() const override { return "Generic LAMMPS Data format."; } std::string specificationUrl() const override { return "http://lammps.sandia.gov/"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& inStream, Core::Molecule& molecule) override; bool write(std::ostream& outStream, const Core::Molecule& molecule) override; }; } // end Io namespace } // end Avogadro namespace #endif // AVOGADRO_IO_LAMMPSFORMAT_H avogadrolibs-1.93.0/avogadro/io/mdlformat.cpp000066400000000000000000000161161360735163600212010ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "mdlformat.h" #include #include #include #include #include #include #include #include #include using Avogadro::Core::Atom; using Avogadro::Core::Bond; using Avogadro::Core::Elements; using Avogadro::Core::Molecule; using Avogadro::Core::lexicalCast; using Avogadro::Core::startsWith; using Avogadro::Core::trimmed; using std::string; using std::istringstream; using std::getline; using std::setw; using std::setprecision; namespace Avogadro { namespace Io { MdlFormat::MdlFormat() { } MdlFormat::~MdlFormat() { } bool MdlFormat::read(std::istream& in, Core::Molecule& mol) { string buffer; // The first line is the molecule name. getline(in, buffer); buffer = trimmed(buffer); // Check for the record separator in SDF, and skip if found. if (buffer == "$$$$") { getline(in, buffer); buffer = trimmed(buffer); } if (!buffer.empty()) mol.setData("name", buffer); // Skip the next two lines (generator, and comment). getline(in, buffer); getline(in, buffer); // The counts line, and version identifier. getline(in, buffer); bool ok(false); int numAtoms(lexicalCast(buffer.substr(0, 3), ok)); if (!ok) { appendError("Error parsing number of atoms."); return false; } int numBonds(lexicalCast(buffer.substr(3, 3), ok)); if (!ok) { appendError("Error parsing number of bonds."); return false; } string mdlVersion(trimmed(buffer.substr(33))); if (mdlVersion != "V2000") { appendError("Unsupported file format version encountered: " + mdlVersion); return false; } // Parse the atom block. for (int i = 0; i < numAtoms; ++i) { Vector3 pos; getline(in, buffer); pos.x() = lexicalCast(buffer.substr(0, 10), ok); if (!ok) { appendError("Failed to parse x coordinate: " + buffer.substr(0, 10)); return false; } pos.y() = lexicalCast(buffer.substr(10, 10), ok); if (!ok) { appendError("Failed to parse y coordinate: " + buffer.substr(10, 10)); return false; } pos.z() = lexicalCast(buffer.substr(20, 10), ok); if (!ok) { appendError("Failed to parse z coordinate: " + buffer.substr(20, 10)); return false; } string element(trimmed(buffer.substr(31, 3))); if (!buffer.empty()) { unsigned char atomicNum = Elements::atomicNumberFromSymbol(element); Atom newAtom = mol.addAtom(atomicNum); newAtom.setPosition3d(pos); continue; } else { appendError("Error parsing atom block: " + buffer); return false; } } // Parse the bond block. for (int i = 0; i < numBonds; ++i) { // Bond atom indices start at 1, -1 for C++. getline(in, buffer); int begin(lexicalCast(buffer.substr(0, 3), ok) - 1); if (!ok) { appendError("Error parsing beginning bond index:" + buffer.substr(0, 3)); return false; } int end(lexicalCast(buffer.substr(3, 3), ok) - 1); if (!ok) { appendError("Error parsing end bond index:" + buffer.substr(3, 3)); return false; } int order(lexicalCast(buffer.substr(6, 3), ok)); if (!ok) { appendError("Error parsing bond order:" + buffer.substr(6, 3)); return false; } if (begin < 0 || begin >= numAtoms || end < 0 || end >= numAtoms) { appendError("Bond read in with out of bounds index."); return false; } mol.addBond(mol.atom(begin), mol.atom(end), static_cast(order)); } // Look for the end tag. bool foundEnd(false); while (getline(in, buffer)) { if (trimmed(buffer) == "M END") { foundEnd = true; break; } } if (!foundEnd) { appendError("Error, ending tag for file not found."); return false; } // Check that all atoms were handled. if (mol.atomCount() != static_cast(numAtoms) || mol.bondCount() != static_cast(numBonds)) { std::ostringstream errorStream; errorStream << "Error parsing file, got " << mol.atomCount() << "atoms, expected " << numAtoms << ", got " << mol.bondCount() << ", expected " << numBonds << "."; appendError(errorStream.str()); return false; } // Now parse the data block. bool inValue(false); string dataName; string dataValue; while (getline(in, buffer)) { if (trimmed(buffer) == "$$$$") return true; if (inValue) { if (buffer.empty() && dataName.length() > 0) { mol.setData(dataName, dataValue); dataName.clear(); dataValue.clear(); inValue = false; } else { if (dataValue.length()) dataValue += "\n"; dataValue += buffer; } } else if (startsWith(buffer, "> <")) { // This is a data header, read the name of the entry, and the value on the // following lines. dataName = trimmed(buffer).substr(3, buffer.length() - 4); inValue = true; } } return true; } bool MdlFormat::write(std::ostream& out, const Core::Molecule& mol) { // Header lines. out << mol.data("name").toString() << "\n Avogadro\n\n"; // Counts line. out << setw(3) << std::right << mol.atomCount() << setw(3) << mol.bondCount() << " 0 0 0 0 0 0 0 0999 V2000\n"; // Atom block. for (size_t i = 0; i < mol.atomCount(); ++i) { Atom atom = mol.atom(i); out << setw(10) << std::right << std::fixed << setprecision(4) << atom.position3d().x() << setw(10) << atom.position3d().y() << setw(10) << atom.position3d().z() << " " << setw(3) << std::left << Elements::symbol(atom.atomicNumber()) << " 0 0 0 0 0 0 0 0 0 0 0 0\n"; } // Bond block. for (size_t i = 0; i < mol.bondCount(); ++i) { Bond bond = mol.bond(i); out.unsetf(std::ios::floatfield); out << setw(3) << std::right << bond.atom1().index() + 1 << setw(3) << bond.atom2().index() + 1 << setw(3) << static_cast(bond.order()) << " 0 0 0 0\n"; } out << "M END\n"; if (isMode(FileFormat::MultiMolecule)) out << "$$$$\n"; return true; } std::vector MdlFormat::fileExtensions() const { std::vector ext; ext.push_back("mol"); ext.push_back("sdf"); return ext; } std::vector MdlFormat::mimeTypes() const { std::vector mime; mime.push_back("chemical/x-mdl-molfile"); return mime; } } // end Io namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/io/mdlformat.h000066400000000000000000000037301360735163600206440ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_MDLFORMAT_H #define AVOGADRO_IO_MDLFORMAT_H #include "fileformat.h" namespace Avogadro { namespace Io { /** * @class MdlFormat mdlformat.h * @brief Implementation of the generic MDL format. * @author Marcus D. Hanwell * * Currently just supports V2000 of the format. */ class AVOGADROIO_EXPORT MdlFormat : public FileFormat { public: MdlFormat(); ~MdlFormat() override; Operations supportedOperations() const override { return ReadWrite | MultiMolecule | File | Stream | String; } FileFormat* newInstance() const override { return new MdlFormat; } std::string identifier() const override { return "Avogadro: MDL"; } std::string name() const override { return "MDL"; } std::string description() const override { return "Generic format that contains atoms, bonds, positions."; } std::string specificationUrl() const override { return "http://download.accelrys.com/freeware/ctfile-formats/" "ctfile-formats.zip"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream& out, const Core::Molecule& molecule) override; }; } // end Io namespace } // end Avogadro namespace #endif // AVOGADRO_IO_MDLFORMAT_H avogadrolibs-1.93.0/avogadro/io/mmtfformat.cpp000066400000000000000000000134351360735163600213710ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "mmtfformat.h" #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace Io { using std::string; using std::vector; using Core::Array; using Core::Atom; using Core::BasisSet; using Core::Bond; using Core::CrystalTools; using Core::Cube; using Core::Elements; using Core::GaussianSet; using Core::lexicalCast; using Core::Molecule; using Core::Residue; using Core::split; using Core::Variant; MMTFFormat::MMTFFormat() = default; MMTFFormat::~MMTFFormat() = default; bool MMTFFormat::read(std::istream& file, Molecule& molecule) { mmtf::StructureData structure; mmtf::decodeFromStream(structure, file); // This controls which model we load, currently just the first? size_t modelIndex = 0; size_t atomSkip = 0; size_t chainIndex = 0; size_t groupIndex = 0; size_t atomIndex = 0; molecule.setData("name", structure.title); if (structure.unitCell.size() == 6) { Real a = static_cast(structure.unitCell[0]); Real b = static_cast(structure.unitCell[1]); Real c = static_cast(structure.unitCell[2]); Real alpha = static_cast(structure.unitCell[3]) * DEG_TO_RAD; Real beta = static_cast(structure.unitCell[4]) * DEG_TO_RAD; Real gamma = static_cast(structure.unitCell[5]) * DEG_TO_RAD; Core::UnitCell* unitCellObject = new Core::UnitCell(a, b, c, alpha, beta, gamma); molecule.setUnitCell(unitCellObject); } Index modelChainCount = static_cast(structure.chainsPerModel[modelIndex]); for (Index j = 0; j < modelChainCount; j++) { Index chainGroupCount = static_cast(structure.groupsPerChain[chainIndex]); bool ok; std::string chainid_string = structure.chainIdList[chainIndex]; char chainid = lexicalCast(chainid_string.substr(0, 1), ok); // A group is like a residue or other molecule in a PDB file. for (size_t k = 0; k < chainGroupCount; k++) { Index groupType = static_cast(structure.groupTypeList[groupIndex]); const auto& group = structure.groupList[groupType]; Index groupId = static_cast(structure.groupIdList[groupIndex]); auto resname = group.groupName; auto& residue = molecule.addResidue(resname, groupId, chainid); // Save the offset before we go changing it Index atomOffset = atomIndex - atomSkip; Index groupSize = group.atomNameList.size(); for (Index l = 0; l < groupSize; l++) { auto atom = molecule.addAtom( Elements::atomicNumberFromSymbol(group.elementList[l])); // Not supported by Avogadro? // const auto& altLocList = structure.altLocList; atom.setFormalCharge(group.formalChargeList[l]); atom.setPosition3d( Vector3(static_cast(structure.xCoordList[atomIndex]), static_cast(structure.yCoordList[atomIndex]), static_cast(structure.zCoordList[atomIndex]))); // Stores if the compounds is a heteroatom // mmtf::is_hetatm(group.chemCompType.c_str()); std::string atomName = group.atomNameList[l]; residue.addResidueAtom(atomName, atom); atomIndex++; } // Intra-resiude bonds for (size_t l = 0; l < group.bondOrderList.size(); l++) { auto atom1 = static_cast(group.bondAtomList[l * 2]); auto atom2 = static_cast(group.bondAtomList[l * 2 + 1]); char bo = static_cast(group.bondOrderList[l]); molecule.addBond(atomOffset + atom1, atomOffset + atom2, bo); } // This is the origianl PDB Chain name // if (!structure_.chainNameList.empty()) { // structure.chainNameList[chainIndex_]; //} groupIndex++; } chainIndex++; } // Use this eventually for multi-model formats modelIndex++; // These are for inter-residue bonds for (size_t i = 0; i < structure.bondAtomList.size() / 2; i++) { auto atom1 = static_cast(structure.bondAtomList[i * 2]); auto atom2 = static_cast(structure.bondAtomList[i * 2 + 1]); /* Code for multiple models // We are below the atoms we care about if (atom1 < atomSkip || atom2 < atomSkip) { continue; } // We are above the atoms we care about if (atom1 > atomIndex || atom2 > atomIndex) { continue; } */ size_t atom_idx1 = atom1 - atomSkip; // atomSkip = 0 for us (1 model) size_t atom_idx2 = atom2 - atomSkip; molecule.addBond(atom_idx1, atom_idx2, 1); // Always a single bond } return true; } bool MMTFFormat::write(std::ostream& out, const Core::Molecule& molecule) { return false; } vector MMTFFormat::fileExtensions() const { vector ext; ext.push_back("mmtf"); return ext; } vector MMTFFormat::mimeTypes() const { vector mime; mime.push_back("chemical/x-mmtf"); return mime; } } // namespace Io } // namespace Avogadro avogadrolibs-1.93.0/avogadro/io/mmtfformat.h000066400000000000000000000036501360735163600210340ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_MMTFFORMAT_H #define AVOGADRO_IO_MMTFFORMAT_H #include "fileformat.h" namespace Avogadro { namespace Core { class GaussianSet; } namespace Io { /** * @class MMTFFormat mmtfformat.h * @brief Implementation of the MMTF format. */ class AVOGADROIO_EXPORT MMTFFormat : public FileFormat { public: MMTFFormat(); ~MMTFFormat() override; Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new MMTFFormat; } std::string identifier() const override { return "Avogadro: MMTF"; } std::string name() const override { return "MacroMolecular Transmission Format"; } std::string description() const override { return "MMTF is a format used to express MacroMolecular data in a " "compressed binary format."; } std::string specificationUrl() const override { return "http://mmtf.rcsb.org/"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream& out, const Core::Molecule& molecule) override; }; } // namespace Io } // namespace Avogadro #endif // AVOGADRO_IO_MMTFFORMAT_H avogadrolibs-1.93.0/avogadro/io/pdbformat.cpp000066400000000000000000000127211360735163600211700ustar00rootroot00000000000000#include "pdbformat.h" #include #include #include #include #include #include #include using Avogadro::Core::Array; using Avogadro::Core::Atom; using Avogadro::Core::Bond; using Avogadro::Core::Elements; using Avogadro::Core::lexicalCast; using Avogadro::Core::Molecule; using Avogadro::Core::Residue; using Avogadro::Core::startsWith; using Avogadro::Core::trimmed; using std::getline; using std::istringstream; using std::string; using std::vector; namespace Avogadro { namespace Io { PdbFormat::PdbFormat() {} PdbFormat::~PdbFormat() {} bool PdbFormat::read(std::istream& in, Core::Molecule& mol) { string buffer; std::vector terList; Residue* r; size_t currentResidueId = 0; bool ok(false); int coordSet = 0; Array positions; while (getline(in, buffer)) { // Read Each line one by one if (startsWith(buffer, "ENDMDL")) { if (coordSet == 0) { mol.setCoordinate3d(mol.atomPositions3d(), coordSet++); positions.reserve(mol.atomCount()); } else { mol.setCoordinate3d(positions, coordSet++); positions.clear(); } } else if (startsWith(buffer, "ATOM") || startsWith(buffer, "HETATM")) { // First we initialize the residue instance size_t residueId = lexicalCast(buffer.substr(22, 4), ok); if (!ok) { appendError("Failed to parse residue sequence number: " + buffer.substr(22, 4)); return false; } if (residueId != currentResidueId) { currentResidueId = residueId; string residueName = lexicalCast(buffer.substr(17, 3), ok); if (!ok) { appendError("Failed to parse residue name: " + buffer.substr(17, 3)); return false; } char chainId = lexicalCast(buffer.substr(21, 1), ok); if (!ok) { appendError("Failed to parse chain identifier: " + buffer.substr(21, 1)); return false; } r = &mol.addResidue(residueName, currentResidueId, chainId); } string atomName = lexicalCast(buffer.substr(12, 4), ok); if (!ok) { appendError("Failed to parse atom name: " + buffer.substr(12, 4)); return false; } Vector3 pos; // Coordinates pos.x() = lexicalCast(buffer.substr(30, 8), ok); if (!ok) { appendError("Failed to parse x coordinate: " + buffer.substr(30, 8)); return false; } pos.y() = lexicalCast(buffer.substr(38, 8), ok); if (!ok) { appendError("Failed to parse y coordinate: " + buffer.substr(38, 8)); return false; } pos.z() = lexicalCast(buffer.substr(46, 8), ok); if (!ok) { appendError("Failed to parse z coordinate: " + buffer.substr(46, 8)); return false; } string element; // Element symbol, right justified element = buffer.substr(76, 2); element = trimmed(element); if (element == "SE") // For Sulphur element = 'S'; unsigned char atomicNum = Elements::atomicNumberFromSymbol(element); if (atomicNum == 255) appendError("Invalid element"); if (coordSet == 0) { Atom newAtom = mol.addAtom(atomicNum); newAtom.setPosition3d(pos); if (r) { r->addResidueAtom(atomName, newAtom); } } else { positions.push_back(pos); } } else if (startsWith(buffer, "TER")) { // This is very important, each TER // record also counts in the serial. // Need to account for that when comparing with CONECT terList.push_back(lexicalCast(buffer.substr(6, 5), ok)); if (!ok) { appendError("Failed to parse TER serial"); return false; } } else if (startsWith(buffer, "CONECT")) { int a = lexicalCast(buffer.substr(6, 5), ok); if (!ok) { appendError("Failed to parse coordinate a " + buffer.substr(6, 5)); return false; } --a; size_t terCount; for (terCount = 0; terCount < terList.size() && a > terList[terCount]; ++terCount) ; // semicolon is intentional a = a - terCount; int bCoords[] = { 11, 16, 21, 26 }; for (int i = 0; i < 4; i++) { if (trimmed(buffer.substr(bCoords[i], 5)) == "") break; else { int b = lexicalCast(buffer.substr(bCoords[i], 5), ok) - 1; if (!ok) { appendError("Failed to parse coordinate b" + std::to_string(i) + " " + buffer.substr(bCoords[i], 5)); return false; } for (terCount = 0; terCount < terList.size() && b > terList[terCount]; ++terCount) ; // semicolon is intentional b = b - terCount; if (a < b) { mol.Avogadro::Core::Molecule::addBond(a, b, 1); } } } } } // End while loop mol.perceiveBondsSimple(); mol.perceiveBondsFromResidueData(); return true; } // End read std::vector PdbFormat::fileExtensions() const { std::vector ext; ext.push_back("pdb"); return ext; } std::vector PdbFormat::mimeTypes() const { std::vector mime; mime.push_back("chemical/x-pdb"); return mime; } } // namespace Io } // namespace Avogadro avogadrolibs-1.93.0/avogadro/io/pdbformat.h000066400000000000000000000037541360735163600206430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_PDBFORMAT_H #define AVOGADRO_IO_PDBFORMAT_H #include "fileformat.h" namespace Avogadro { namespace Io { /** * @class PdbFormat pdbformat.h * @brief Parser for the PDB format. * @author Tanuj Kumar */ class AVOGADROIO_EXPORT PdbFormat : public FileFormat { public: PdbFormat(); ~PdbFormat() override; Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new PdbFormat; } std::string identifier() const override { return "Avogadro: PDB"; } std::string name() const override { return "PDB"; } std::string description() const override { return "Format that contains atoms, bonds, positions and secondary" "structures of proteins."; } std::string specificationUrl() const override { return "http://www.wwpdb.org/documentation/file-format-content/" "format33/v3.3.html"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream& out, const Core::Molecule& molecule) override { // Writing a PDB file is not currently supported return false; } }; } // namespace Io } // namespace Avogadro #endif // AVOGADRO_IO_PDBFORMAT_Havogadrolibs-1.93.0/avogadro/io/trrformat.cpp000066400000000000000000000371311360735163600212340ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "trrformat.h" #include "struct.h" #include #include #include #include #include #include #include #include #include #include using std::endl; using std::getline; using std::map; using std::pair; using std::string; using std::to_string; using std::vector; namespace Avogadro { namespace Io { using Core::Array; using Core::Atom; using Core::Elements; using Core::Molecule; using Core::split; using Core::trimmed; using Core::UnitCell; #ifndef _WIN32 using std::isalpha; #endif #define GROMACS_MAGIC 1993 #define DIM 3 #define NM_TO_ANGSTROM 10.0 string TRRVERSION = "GMX_trn_file"; string HEADITEMS[] = { "ir_size", "e_size", "box_size", "vir_size", "pres_size", "top_size", "sym_size", "x_size", "v_size", "f_size", "natoms", "step", "nre", "time", "lambda" }; int swapInteger(int inp) { return (((inp << 24) & 0xff000000) | ((inp << 8) & 0x00ff0000) | ((inp >> 8) & 0x0000ff00) | ((inp >> 24) & 0x000000ff)); } char swapEndian(char endian) { if (endian == '>') return '<'; else return '>'; } /* Checks whether the data stored in the binary file is of float or double type */ int isDouble(map& header) { int SIZE_DOUBLE = struct_calcsize("d"); int size = 0; string headerKeys[] = { "box_size", "x_size", "v_size", "f_size" }; for (int i = 0; i < (int)(sizeof(headerKeys) / sizeof(*headerKeys)); i++) { if (header[headerKeys[i]] != 0) { if (headerKeys[i] == "box_size") { size = (int)(header[headerKeys[i]] / DIM * DIM); break; } else { size = (int)(header[headerKeys[i]] / (header["natoms"] * DIM)); break; } } } return size == SIZE_DOUBLE; } TrrFormat::TrrFormat() {} TrrFormat::~TrrFormat() {} bool TrrFormat::read(std::istream& inStream, Core::Molecule& mol) { bool doubleStatus; char endian = '>', buff[BUFSIZ], fmt[BUFSIZ], raw[1000]; int magic, natoms, slen0, slen1, headval[13]; string subs, keyCheck[] = { "box_size", "vir_size", "pres_size" }, keyCheck2[] = { "x_size", "v_size", "f_size" }; map header; // Determining size of file inStream.seekg(0, inStream.end); int fileLen = inStream.tellg(); inStream.seekg(0, inStream.beg); // Binary file must start with 1993 snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &magic); if (magic != GROMACS_MAGIC) { // Endian conversion magic = swapInteger(magic); endian = swapEndian(endian); if (magic != GROMACS_MAGIC) { appendError("Frame does not start with magic number 1993."); return false; } } snprintf(fmt, sizeof(fmt), "%c2i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &slen0, &slen1); // Reading trajectory version string snprintf(fmt, sizeof(fmt), "%c%ds", endian, slen0 - 1); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, raw); subs = string(raw).substr(0, 12); if (subs != TRRVERSION) { appendError("Gromacs version string mismatch."); return false; } // "ir_size", "e_size", "box_size", "vir_size", "pres_size", // "top_size", "sym_size", "x_size", "v_size", "f_size", // "natoms", "step", "nre" snprintf(fmt, sizeof(fmt), "%c13i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &headval[0], &headval[1], &headval[2], &headval[3], &headval[4], &headval[5], &headval[6], &headval[7], &headval[8], &headval[9], &headval[10], &headval[11], &headval[12]); for (int i = 0; i < 13; ++i) { header.insert(pair(HEADITEMS[i], headval[i])); } // Reading timestep and lambda doubleStatus = isDouble(header); if (doubleStatus) { double header0, header1; snprintf(fmt, sizeof(fmt), "%c2d", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &header0, &header1); header.insert(pair("time", header0)); header.insert(pair("lambda", header1)); } else { float header0, header1; snprintf(fmt, sizeof(fmt), "%c2f", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &header0, &header1); header.insert(pair("time", header0)); header.insert(pair("lambda", header1)); } // Reading matrices corresponding to "box_size", "vir_size", "pres_size" for (int _kid = 0; _kid < 3; ++_kid) { if (header[keyCheck[_kid]] != 0) { if (doubleStatus) { snprintf(fmt, sizeof(fmt), "%c%dd", endian, DIM * DIM); double mat[DIM][DIM]; inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &mat[0][0], &mat[0][1], &mat[0][2], &mat[1][0], &mat[1][1], &mat[1][2], &mat[2][0], &mat[2][1], &mat[2][2]); if (keyCheck[_kid] == "box_size") { mol.setUnitCell(new UnitCell( Vector3(mat[0][0] * NM_TO_ANGSTROM, mat[0][1] * NM_TO_ANGSTROM, mat[0][2] * NM_TO_ANGSTROM), Vector3(mat[1][0] * NM_TO_ANGSTROM, mat[1][1] * NM_TO_ANGSTROM, mat[1][2] * NM_TO_ANGSTROM), Vector3(mat[2][0] * NM_TO_ANGSTROM, mat[2][1] * NM_TO_ANGSTROM, mat[2][2] * NM_TO_ANGSTROM))); } } else { snprintf(fmt, sizeof(fmt), "%c%df", endian, DIM * DIM); float mat[DIM][DIM]; inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &mat[0][0], &mat[0][1], &mat[0][2], &mat[1][0], &mat[1][1], &mat[1][2], &mat[2][0], &mat[2][1], &mat[2][2]); if (keyCheck[_kid] == "box_size") { mol.setUnitCell(new UnitCell( Vector3(mat[0][0] * NM_TO_ANGSTROM, mat[0][1] * NM_TO_ANGSTROM, mat[0][2] * NM_TO_ANGSTROM), Vector3(mat[1][0] * NM_TO_ANGSTROM, mat[1][1] * NM_TO_ANGSTROM, mat[1][2] * NM_TO_ANGSTROM), Vector3(mat[2][0] * NM_TO_ANGSTROM, mat[2][1] * NM_TO_ANGSTROM, mat[2][2] * NM_TO_ANGSTROM))); } } } } typedef map AtomTypeMap; AtomTypeMap atomTypes; unsigned char customElementCounter = CustomElementMin; // Reading the coordinates of positions, velocities and forces for (int _kid = 0; _kid < 3; ++_kid) { natoms = header["natoms"]; double coordsDouble[DIM]; float coordsFloat[DIM]; for (int i = 0; i < natoms; ++i) { if (header[keyCheck2[_kid]] != 0) { memset(coordsDouble, 0, sizeof(coordsDouble)); memset(coordsFloat, 0, sizeof(coordsFloat)); if (doubleStatus) { snprintf(fmt, sizeof(fmt), "%c%dd", endian, DIM); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &coordsDouble[0], &coordsDouble[1], &coordsDouble[2]); } else { snprintf(fmt, sizeof(fmt), "%c%df", endian, DIM); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &coordsFloat[0], &coordsFloat[1], &coordsFloat[2]); } if (keyCheck2[_kid] == "x_size") { // If parsed coordinates are fractional, the corresponding unscaling // is done. Else the positions are assigned as parsed. Vector3 pos( coordsDouble[0] * NM_TO_ANGSTROM + coordsFloat[0] * NM_TO_ANGSTROM, coordsDouble[1] * NM_TO_ANGSTROM + coordsFloat[1] * NM_TO_ANGSTROM, coordsDouble[2] * NM_TO_ANGSTROM + coordsFloat[2] * NM_TO_ANGSTROM); AtomTypeMap::const_iterator it; // if (it == atomTypes.end()) { atomTypes.insert( std::make_pair(to_string(i), customElementCounter++)); it = atomTypes.find(to_string(i)); // if (customElementCounter > CustomElementMax) { // appendError("Custom element type limit exceeded."); // return false; // } Atom newAtom = mol.addAtom(it->second); newAtom.setPosition3d(pos); } } } // Set the custom element map if needed if (!atomTypes.empty()) { Molecule::CustomElementMap elementMap; for (AtomTypeMap::const_iterator it = atomTypes.begin(), itEnd = atomTypes.end(); it != itEnd; ++it) { elementMap.insert(std::make_pair(it->second, "Atom " + it->first)); } mol.setCustomElementMap(elementMap); } } mol.setCoordinate3d(mol.atomPositions3d(), 0); // Do we have an animation? // EOF check int coordSet = 1; while (static_cast(inStream.tellg()) != fileLen) { // Binary header must start with 1993 snprintf(fmt, sizeof(fmt), "%c1i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &magic); if (magic != GROMACS_MAGIC) { // Endian conversion magic = swapInteger(magic); endian = swapEndian(endian); if (magic != GROMACS_MAGIC) { appendError("Frame does not start with magic number 1993."); return false; } } snprintf(fmt, sizeof(fmt), "%c2i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &slen0, &slen1); // Reading trajectory version string snprintf(fmt, sizeof(fmt), "%c%ds", endian, slen0 - 1); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, raw); subs = string(raw).substr(0, 12); if (subs != TRRVERSION) { appendError("Gromacs version string mismatch."); return false; } // "ir_size", "e_size", "box_size", "vir_size", "pres_size", // "top_size", "sym_size", "x_size", "v_size", "f_size", // "natoms", "step", "nre" snprintf(fmt, sizeof(fmt), "%c13i", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &headval[0], &headval[1], &headval[2], &headval[3], &headval[4], &headval[5], &headval[6], &headval[7], &headval[8], &headval[9], &headval[10], &headval[11], &headval[12]); for (int i = 0; i < 13; ++i) { header.insert(pair(HEADITEMS[i], headval[i])); } // Reading timestep and lambda doubleStatus = isDouble(header); if (doubleStatus) { double header0, header1; snprintf(fmt, sizeof(fmt), "%c2d", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &header0, &header1); header.insert(pair("time", header0)); header.insert(pair("lambda", header1)); } else { float header0, header1; snprintf(fmt, sizeof(fmt), "%c2f", endian); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &header0, &header1); header.insert(pair("time", header0)); header.insert(pair("lambda", header1)); } // Reading matrices corresponding to "box_size", "vir_size", "pres_size" for (int _kid = 0; _kid < 3; ++_kid) { if (header[keyCheck[_kid]] != 0) { natoms = header["natoms"]; if (doubleStatus) { snprintf(fmt, sizeof(fmt), "%c%dd", endian, DIM * DIM); double mat[DIM][DIM]; inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &mat[0][0], &mat[0][1], &mat[0][2], &mat[1][0], &mat[1][1], &mat[1][2], &mat[2][0], &mat[2][1], &mat[2][2]); if (keyCheck[_kid] == "box_size") { mol.setUnitCell(new UnitCell( Vector3(mat[0][0] * NM_TO_ANGSTROM, mat[0][1] * NM_TO_ANGSTROM, mat[0][2] * NM_TO_ANGSTROM), Vector3(mat[1][0] * NM_TO_ANGSTROM, mat[1][1] * NM_TO_ANGSTROM, mat[1][2] * NM_TO_ANGSTROM), Vector3(mat[2][0] * NM_TO_ANGSTROM, mat[2][1] * NM_TO_ANGSTROM, mat[2][2] * NM_TO_ANGSTROM))); } } else { snprintf(fmt, sizeof(fmt), "%c%df", endian, DIM * DIM); float mat[DIM][DIM]; inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &mat[0][0], &mat[0][1], &mat[0][2], &mat[1][0], &mat[1][1], &mat[1][2], &mat[2][0], &mat[2][1], &mat[2][2]); if (keyCheck[_kid] == "box_size") { mol.setUnitCell(new UnitCell( Vector3(mat[0][0] * NM_TO_ANGSTROM, mat[0][1] * NM_TO_ANGSTROM, mat[0][2] * NM_TO_ANGSTROM), Vector3(mat[1][0] * NM_TO_ANGSTROM, mat[1][1] * NM_TO_ANGSTROM, mat[1][2] * NM_TO_ANGSTROM), Vector3(mat[2][0] * NM_TO_ANGSTROM, mat[2][1] * NM_TO_ANGSTROM, mat[2][2] * NM_TO_ANGSTROM))); } } } } natoms = header["natoms"]; Array positions; positions.reserve(natoms); // Reading the coordinates of positions, velocities and forces for (int _kid = 0; _kid < 3; ++_kid) { double coordsDouble[DIM]; float coordsFloat[DIM]; for (int i = 0; i < natoms; ++i) { if (header[keyCheck2[_kid]] != 0) { memset(coordsDouble, 0, sizeof(coordsDouble)); memset(coordsFloat, 0, sizeof(coordsFloat)); if (doubleStatus) { snprintf(fmt, sizeof(fmt), "%c%dd", endian, DIM); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &coordsDouble[0], &coordsDouble[1], &coordsDouble[2]); } else { snprintf(fmt, sizeof(fmt), "%c%df", endian, DIM); inStream.read(buff, struct_calcsize(fmt)); struct_unpack(buff, fmt, &coordsFloat[0], &coordsFloat[1], &coordsFloat[2]); } if (keyCheck2[_kid] == "x_size") { // If parsed coordinates are fractional, the corresponding unscaling // is done. Else the positions are assigned as parsed. Vector3 pos(coordsDouble[0] * NM_TO_ANGSTROM + coordsFloat[0] * NM_TO_ANGSTROM, coordsDouble[1] * NM_TO_ANGSTROM + coordsFloat[1] * NM_TO_ANGSTROM, coordsDouble[2] * NM_TO_ANGSTROM + coordsFloat[2] * NM_TO_ANGSTROM); positions.push_back(pos); } } } } mol.setCoordinate3d(positions, coordSet++); positions.clear(); } return true; } bool TrrFormat::write(std::ostream& outStream, const Core::Molecule& mol) { return false; } std::vector TrrFormat::fileExtensions() const { std::vector ext; ext.push_back("trr"); return ext; } std::vector TrrFormat::mimeTypes() const { std::vector mime; mime.push_back("application/octet-stream"); return mime; } } // end Io namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/io/trrformat.h000066400000000000000000000036001360735163600206730ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_TRRFORMAT_H #define AVOGADRO_IO_TRRFORMAT_H #include "fileformat.h" namespace Avogadro { namespace Io { /** * @class TrrFormat trrformat.h * @brief Implementation of the generic trr trajectory format. * @author Adarsh B */ class AVOGADROIO_EXPORT TrrFormat : public FileFormat { public: TrrFormat(); ~TrrFormat() override; Operations supportedOperations() const override { return ReadWrite | MultiMolecule | File | Stream | String; } FileFormat* newInstance() const override { return new TrrFormat; } std::string identifier() const override { return "Avogadro: GROMACS TRR"; } std::string name() const override { return "TRR"; } std::string description() const override { return "Generic TRR Trajectory format."; } std::string specificationUrl() const override { return "http://manual.gromacs.org/current/online/trr.html"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& inStream, Core::Molecule& molecule) override; bool write(std::ostream& outStream, const Core::Molecule& molecule) override; }; } // end Io namespace } // end Avogadro namespace #endif // AVOGADRO_IO_TRRFORMAT_H avogadrolibs-1.93.0/avogadro/io/vaspformat.cpp000066400000000000000000000371701360735163600214010ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "vaspformat.h" #include // for atomicNumberFromSymbol() #include // for matrix3 #include #include #include // for split(), trimmed(), lexicalCast() #include // for Vector3 #include // for std::count() #include #include namespace Avogadro { namespace Io { using std::getline; using std::map; using std::string; using std::vector; using Core::Array; using Core::Atom; using Core::Elements; using Core::lexicalCast; using Core::Molecule; using Core::split; using Core::trimmed; using Core::UnitCell; PoscarFormat::PoscarFormat() {} PoscarFormat::~PoscarFormat() {} bool PoscarFormat::read(std::istream& inStream, Core::Molecule& mol) { size_t numLines = std::count(std::istreambuf_iterator(inStream), std::istreambuf_iterator(), '\n'); // There must be at least 7 "\n"'s to have a minimum crystal (including 1 // atom) if (numLines < 7) { appendError("Error: POSCAR file is 7 or fewer lines long"); return false; } // We have to go back to the beginning if we are going to read again inStream.clear(); inStream.seekg(0, std::ios::beg); // We'll use these throughout bool ok; string line; vector stringSplit; // First line is comment line getline(inStream, line); line = trimmed(line); string title = " "; if (!line.empty()) title = line; // Next line is scaling factor getline(inStream, line); double scalingFactor = lexicalCast(line, ok); if (!ok) { appendError("Error: Could not convert scaling factor to double in POSCAR"); return false; } Matrix3 cellMat; // Next comes the matrix for (size_t i = 0; i < 3; ++i) { getline(inStream, line); stringSplit = split(line, ' '); // If this is not three, then there is some kind of error in the line if (stringSplit.size() != 3) { appendError("Error reading lattice vectors in POSCAR"); return false; } // UnitCell expects a matrix of this form cellMat(0, i) = lexicalCast(stringSplit.at(0)) * scalingFactor; cellMat(1, i) = lexicalCast(stringSplit.at(1)) * scalingFactor; cellMat(2, i) = lexicalCast(stringSplit.at(2)) * scalingFactor; } // Sometimes, atomic symbols go here. getline(inStream, line); stringSplit = split(line, ' '); if (stringSplit.empty()) { appendError("Error reading numbers of atom types in POSCAR"); return false; } // Try a lexical cast here. If it fails, assume we have an atomic symbols list lexicalCast(trimmed(stringSplit.at(0)), ok); vector symbolsList; vector atomicNumbers; if (!ok) { // Assume atomic symbols are here and store them symbolsList = split(line, ' '); // Store atomic nums for (size_t i = 0; i < symbolsList.size(); ++i) atomicNumbers.push_back(Elements::atomicNumberFromSymbol(symbolsList[i])); // This next one should be atom types getline(inStream, line); } // If the atomic symbols aren't here, try to find them in the title // In Vasp 4.x, symbols are in the title like so: " O4H2 " else { stringSplit = split(title, ' '); if (stringSplit.size() != 0) { string trimmedFormula = trimmed(stringSplit.at(0)); // Let's replace all numbers with spaces for (size_t i = 0; i < trimmedFormula.size(); ++i) { if (isdigit(trimmedFormula.at(i))) trimmedFormula[i] = ' '; } // Now get the symbols with a simple space split symbolsList = split(trimmedFormula, ' '); for (size_t i = 0; i < symbolsList.size(); ++i) atomicNumbers.push_back( Elements::atomicNumberFromSymbol(symbolsList.at(i))); } } stringSplit = split(line, ' '); vector atomCounts; for (size_t i = 0; i < stringSplit.size(); ++i) { unsigned int atomCount = lexicalCast(stringSplit.at(i)); atomCounts.push_back(atomCount); } // If we never filled up the atomic numbers, fill them up // now with "1, 2, 3..." if (atomicNumbers.size() == 0) for (size_t i = 1; i <= atomCounts.size(); ++i) atomicNumbers.push_back(i); if (atomicNumbers.size() != atomCounts.size()) { appendError("Error: numSymbols and numTypes are not equal in POSCAR!"); return false; } // Starts with either [Ss]elective dynamics, [KkCc]artesian, or // other for fractional coords. getline(inStream, line); line = trimmed(line); // If selective dynamics, get the next line if (line.empty() || line.at(0) == 'S' || line.at(0) == 's') getline(inStream, line); line = trimmed(line); if (line.empty()) { appendError("Error determining Direct or Cartesian in POSCAR"); return false; } bool cart; // Check if we're using cartesian or fractional coordinates: if (line.at(0) == 'K' || line.at(0) == 'k' || line.at(0) == 'C' || line.at(0) == 'c') { cart = true; } // Assume direct if one of these was not found else { cart = false; } vector atoms; for (size_t i = 0; i < atomCounts.size(); ++i) { for (size_t j = 0; j < atomCounts.at(i); ++j) { getline(inStream, line); stringSplit = split(line, ' '); // This may be greater than 3 with selective dynamics if (stringSplit.size() < 3) { appendError("Error reading atomic coordinates in POSCAR"); return false; } Vector3 tmpAtom(lexicalCast(stringSplit.at(0)), lexicalCast(stringSplit.at(1)), lexicalCast(stringSplit.at(2))); atoms.push_back(tmpAtom); } } // Let's make a unit cell UnitCell* cell = new UnitCell(cellMat); // If our atomic coordinates are fractional, convert them to Cartesian if (!cart) { for (size_t i = 0; i < atoms.size(); ++i) atoms[i] = cell->toCartesian(atoms.at(i)); } // If they're cartesian, we just need to apply the scaling factor else { for (size_t i = 0; i < atoms.size(); ++i) atoms[i] *= scalingFactor; } // If we made it this far, the read was a success! // Delete the current molecule. Add the new title and unit cell mol.clearAtoms(); mol.setData("name", title); mol.setUnitCell(cell); // Now add the atoms size_t k = 0; for (size_t i = 0; i < atomCounts.size(); ++i) { unsigned char atomicNum = atomicNumbers.at(i); for (size_t j = 0; j < atomCounts.at(i); ++j) { Atom newAtom = mol.addAtom(atomicNum); newAtom.setPosition3d(atoms.at(k)); ++k; } } return true; } bool PoscarFormat::write(std::ostream& outStream, const Core::Molecule& mol) { // Title if (mol.data("name").toString().length()) outStream << mol.data("name").toString() << std::endl; else outStream << "POSCAR" << std::endl; // Scaling factor outStream << " 1.00000000" << std::endl; // 3x3 matrix. Transpose is needed to orient the matrix correctly. const Matrix3& mat = mol.unitCell()->cellMatrix().transpose(); for (size_t i = 0; i < 3; ++i) { for (size_t j = 0; j < 3; ++j) { outStream << " " << std::setw(10) << std::right << std::fixed << std::setprecision(8) << mat(i, j); } outStream << std::endl; } // Adapted from chemkit: // A map of atomic symbols to their quantity. Array atomicNumbers = mol.atomicNumbers(); std::map composition; for (Array::const_iterator it = atomicNumbers.begin(), itEnd = atomicNumbers.end(); it != itEnd; ++it) { composition[*it]++; } // Atom symbols std::map::iterator iter = composition.begin(); while (iter != composition.end()) { outStream << " " << Elements::symbol(iter->first); ++iter; } outStream << std::endl; // Numbers of each type iter = composition.begin(); while (iter != composition.end()) { outStream << " " << iter->second; ++iter; } outStream << std::endl; // Direct or cartesian? outStream << "Direct" << std::endl; // Final section is atomic coordinates size_t numAtoms = mol.atomCount(); // We need to make sure we that group the atomic numbers together. // The outer loop is for grouping them. iter = composition.begin(); while (iter != composition.end()) { unsigned char currentAtomicNum = iter->first; for (size_t i = 0; i < numAtoms; ++i) { // We need to group atomic numbers together. If this one is not // the current atomic number, skip over it. if (atomicNumbers.at(i) != currentAtomicNum) continue; Atom atom = mol.atom(i); if (!atom.isValid()) { appendError("Internal error: Atom invalid."); return false; } Vector3 fracCoords = mol.unitCell()->toFractional(atom.position3d()); outStream << " " << std::setw(10) << std::right << std::fixed << std::setprecision(8) << fracCoords.x() << " " << std::setw(10) << std::right << std::fixed << std::setprecision(8) << fracCoords.y() << " " << std::setw(10) << std::right << std::fixed << std::setprecision(8) << fracCoords.z() << "\n"; } ++iter; } return true; } std::vector PoscarFormat::fileExtensions() const { std::vector ext; ext.push_back("POSCAR"); return ext; } std::vector PoscarFormat::mimeTypes() const { std::vector mime; mime.push_back("N/A"); return mime; } OutcarFormat::OutcarFormat() {} OutcarFormat::~OutcarFormat() {} bool OutcarFormat::read(std::istream& inStream, Core::Molecule& mol) { std::string buffer, dashedStr, positionStr, latticeStr; positionStr = " POSITION"; latticeStr = " Lattice vectors:"; dashedStr = " -----------"; std::vector stringSplit; int coordSet = 0, natoms = 0; Array positions; Vector3 ax1, ax2, ax3; bool ax1Set = false, ax2Set = false, ax3Set = false; typedef map AtomTypeMap; AtomTypeMap atomTypes; unsigned char customElementCounter = CustomElementMin; while (getline(inStream, buffer)) { // Checks whether the buffer object contains the lattice vectors keyword if (strncmp(buffer.c_str(), latticeStr.c_str(), latticeStr.size()) == 0) { // Checks whether lattice vectors have been already set. Reason being that // only the first occurrence denotes the true lattice vectors, and the // ones following these are vectors of the primitive cell. if (!(ax1Set && ax2Set && ax3Set)) { getline(inStream, buffer); for (int i = 0; i < 3; ++i) { getline(inStream, buffer); stringSplit = split(buffer, ' '); if (stringSplit[0] == "A1") { ax1 = Vector3(lexicalCast(stringSplit.at(3).substr( 0, stringSplit.at(3).size() - 1)), lexicalCast(stringSplit.at(4).substr( 0, stringSplit.at(4).size() - 1)), lexicalCast(stringSplit.at(5).substr( 0, stringSplit.at(5).size() - 1))); ax1Set = true; } else if (stringSplit[0] == "A2") { ax2 = Vector3(lexicalCast(stringSplit.at(3).substr( 0, stringSplit.at(3).size() - 1)), lexicalCast(stringSplit.at(4).substr( 0, stringSplit.at(4).size() - 1)), lexicalCast(stringSplit.at(5).substr( 0, stringSplit.at(5).size() - 1))); ax2Set = true; } else if (stringSplit[0] == "A3") { ax3 = Vector3(lexicalCast(stringSplit.at(3).substr( 0, stringSplit.at(3).size() - 1)), lexicalCast(stringSplit.at(4).substr( 0, stringSplit.at(4).size() - 1)), lexicalCast(stringSplit.at(5).substr( 0, stringSplit.at(5).size() - 1))); ax3Set = true; } } // Checks whether all the three axis vectors have been read if (ax1Set && ax2Set && ax3Set) { mol.setUnitCell(new UnitCell(ax1, ax2, ax3)); } } } // Checks whether the buffer object contains the POSITION keyword else if (strncmp(buffer.c_str(), positionStr.c_str(), positionStr.size()) == 0) { getline(inStream, buffer); // Double checks whether the succeeding line is a sequence of dashes if (strncmp(buffer.c_str(), dashedStr.c_str(), dashedStr.size()) == 0) { // natoms is not known, so the loop proceeds till the bottom dashed line // is encountered while (true) { getline(inStream, buffer); // Condition for encountering dashed line if (strncmp(buffer.c_str(), dashedStr.c_str(), dashedStr.size()) == 0) { if (coordSet == 0) { mol.setCoordinate3d(mol.atomPositions3d(), coordSet++); positions.reserve(natoms); } else { mol.setCoordinate3d(positions, coordSet++); positions.clear(); } break; } // Parsing the coordinates stringSplit = split(buffer, ' '); Vector3 tmpAtom(lexicalCast(stringSplit.at(0)), lexicalCast(stringSplit.at(1)), lexicalCast(stringSplit.at(2))); if (coordSet == 0) { AtomTypeMap::const_iterator it; atomTypes.insert( std::make_pair(std::to_string(natoms), customElementCounter++)); it = atomTypes.find(std::to_string(natoms)); // if (customElementCounter > CustomElementMax) { // appendError("Custom element type limit exceeded."); // return false; // } Atom newAtom = mol.addAtom(it->second); newAtom.setPosition3d(tmpAtom); natoms++; } else { positions.push_back(tmpAtom); } } } } } // Set the custom element map if needed: if (!atomTypes.empty()) { Molecule::CustomElementMap elementMap; for (AtomTypeMap::const_iterator it = atomTypes.begin(), itEnd = atomTypes.end(); it != itEnd; ++it) { elementMap.insert(std::make_pair(it->second, "Atom " + it->first)); } mol.setCustomElementMap(elementMap); } return true; } bool OutcarFormat::write(std::ostream& outStream, const Core::Molecule& mol) { return false; } std::vector OutcarFormat::fileExtensions() const { std::vector ext; ext.push_back("OUTCAR"); return ext; } std::vector OutcarFormat::mimeTypes() const { std::vector mime; mime.push_back("N/A"); return mime; } } // end Io namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/io/vaspformat.h000066400000000000000000000055041360735163600210420ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_VASPFORMAT_H #define AVOGADRO_IO_VASPFORMAT_H #include "fileformat.h" namespace Avogadro { namespace Io { /** * @class PoscarFormat vaspformat.h * @brief Implementation of the generic POSCAR format. * @author Patrick S. Avery */ class AVOGADROIO_EXPORT PoscarFormat : public FileFormat { public: PoscarFormat(); ~PoscarFormat() override; Operations supportedOperations() const override { return ReadWrite | File | Stream | String; } FileFormat* newInstance() const override { return new PoscarFormat; } std::string identifier() const override { return "Avogadro: POSCAR"; } std::string name() const override { return "POSCAR"; } std::string description() const override { return "Format used by VASP that contains crystal cell and atom info."; } std::string specificationUrl() const override { return "http://cms.mpi.univie.ac.at/vasp/guide/node59.html"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& inStream, Core::Molecule& mol) override; bool write(std::ostream& outStream, const Core::Molecule& mol) override; }; class AVOGADROIO_EXPORT OutcarFormat : public FileFormat { public: OutcarFormat(); ~OutcarFormat() override; Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new OutcarFormat; } std::string identifier() const override { return "Avogadro: OUTCAR"; } std::string name() const override { return "OUTCAR"; } std::string description() const override { return "Format used by VASP that contains trajectory output of a DFT/MD " "calculation."; } std::string specificationUrl() const override { return "https://cms.mpi.univie.ac.at/wiki/index.php/OUTCAR"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& inStream, Core::Molecule& mol); bool write(std::ostream& outStream, const Core::Molecule& mol); }; } // end Io namespace } // end Avogadro namespace #endif // AVOGADRO_IO_VASPFORMAT_H avogadrolibs-1.93.0/avogadro/io/xyzformat.cpp000066400000000000000000000125441360735163600212600ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "xyzformat.h" #include #include #include #include #include #include #include #include #include #include using json = nlohmann::json; using std::string; using std::endl; using std::getline; using std::string; using std::vector; namespace Avogadro { namespace Io { using Core::Array; using Core::Atom; using Core::Elements; using Core::Molecule; using Core::lexicalCast; using Core::split; using Core::trimmed; #ifndef _WIN32 using std::isalpha; #endif XyzFormat::XyzFormat() { } XyzFormat::~XyzFormat() { } bool XyzFormat::read(std::istream& inStream, Core::Molecule& mol) { json opts; if (!options().empty()) opts = json::parse(options(), nullptr, false); else opts = json::object(); size_t numAtoms = 0; if (!(inStream >> numAtoms)) { appendError("Error parsing number of atoms."); return false; } string buffer; getline(inStream, buffer); // Finish the first line getline(inStream, buffer); if (!buffer.empty()) mol.setData("name", trimmed(buffer)); // Parse atoms for (size_t i = 0; i < numAtoms; ++i) { getline(inStream, buffer); vector tokens(split(buffer, ' ')); if (tokens.size() < 4) { appendError("Not enough tokens in this line: " + buffer); return false; } unsigned char atomicNum(0); if (isalpha(tokens[0][0])) atomicNum = Elements::atomicNumberFromSymbol(tokens[0]); else atomicNum = static_cast(lexicalCast(tokens[0])); Vector3 pos(lexicalCast(tokens[1]), lexicalCast(tokens[2]), lexicalCast(tokens[3])); Atom newAtom = mol.addAtom(atomicNum); newAtom.setPosition3d(pos); } // Check that all atoms were handled. if (mol.atomCount() != numAtoms) { std::ostringstream errorStream; errorStream << "Error parsing atom at index " << mol.atomCount() << " (line " << 3 + mol.atomCount() << ").\n" << buffer; appendError(errorStream.str()); return false; } // Do we have an animation? size_t numAtoms2; if (getline(inStream, buffer) && (numAtoms2 = lexicalCast(buffer)) && numAtoms == numAtoms2) { getline(inStream, buffer); // Skip the blank mol.setCoordinate3d(mol.atomPositions3d(), 0); int coordSet = 1; while (numAtoms == numAtoms2) { Array positions; positions.reserve(numAtoms); for (size_t i = 0; i < numAtoms; ++i) { getline(inStream, buffer); vector tokens(split(buffer, ' ')); if (tokens.size() < 4) { appendError("Not enough tokens in this line: " + buffer); return false; } Vector3 pos(lexicalCast(tokens[1]), lexicalCast(tokens[2]), lexicalCast(tokens[3])); positions.push_back(pos); } mol.setCoordinate3d(positions, coordSet++); if (!getline(inStream, buffer)) { numAtoms2 = lexicalCast(buffer); if (numAtoms == numAtoms2) break; } std::getline(inStream, buffer); // Skip the blank positions.clear(); } } // This format has no connectivity information, so perceive basics at least. if (opts.value("perceiveBonds", true)) mol.perceiveBondsSimple(); return true; } bool XyzFormat::write(std::ostream& outStream, const Core::Molecule& mol) { size_t numAtoms = mol.atomCount(); outStream << numAtoms << std::endl; if (mol.data("name").toString().length()) outStream << mol.data("name").toString() << endl; else outStream << "XYZ file generated by Avogadro.\n"; for (size_t i = 0; i < numAtoms; ++i) { Atom atom = mol.atom(i); if (!atom.isValid()) { appendError("Internal error: Atom invalid."); return false; } outStream << std::setw(3) << std::left << Elements::symbol(atom.atomicNumber()) << " " << std::setw(10) << std::right << std::fixed << std::setprecision(5) << atom.position3d().x() << " " << std::setw(10) << std::right << std::fixed << std::setprecision(5) << atom.position3d().y() << " " << std::setw(10) << std::right << std::fixed << std::setprecision(5) << atom.position3d().z() << "\n"; } return true; } std::vector XyzFormat::fileExtensions() const { std::vector ext; ext.push_back("xyz"); return ext; } std::vector XyzFormat::mimeTypes() const { std::vector mime; mime.push_back("chemical/x-xyz"); return mime; } } // end Io namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/io/xyzformat.h000066400000000000000000000035771360735163600207330ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_IO_XYZFORMAT_H #define AVOGADRO_IO_XYZFORMAT_H #include "fileformat.h" namespace Avogadro { namespace Io { /** * @class XyzFormat xyzformat.h * @brief Implementation of the generic xyz format. * @author David C. Lonie */ class AVOGADROIO_EXPORT XyzFormat : public FileFormat { public: XyzFormat(); ~XyzFormat() override; Operations supportedOperations() const override { return ReadWrite | MultiMolecule | File | Stream | String; } FileFormat* newInstance() const override { return new XyzFormat; } std::string identifier() const override { return "Avogadro: XYZ"; } std::string name() const override { return "XYZ"; } std::string description() const override { return "Generic format that tabulates atomic symbols and 3D positions."; } std::string specificationUrl() const override { return "http://openbabel.org/wiki/XYZ"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& inStream, Core::Molecule& molecule) override; bool write(std::ostream& outStream, const Core::Molecule& molecule) override; }; } // end Io namespace } // end Avogadro namespace #endif // AVOGADRO_IO_XYZFORMAT_H avogadrolibs-1.93.0/avogadro/molequeue/000077500000000000000000000000001360735163600200755ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/molequeue/CMakeLists.txt000066400000000000000000000021571360735163600226420ustar00rootroot00000000000000# Pull in MoleQueue find_package(MoleQueue REQUIRED NO_MODULE) include_directories(${MoleQueue_INCLUDE_DIRS}) find_package(Eigen3 REQUIRED) # Add as "system headers" to avoid warnings generated by them with # compilers that support that notion. include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) find_package(Qt5 COMPONENTS Widgets Network REQUIRED) set(HEADERS batchjob.h inputgenerator.h inputgeneratordialog.h inputgeneratorwidget.h molequeuedialog.h molequeuemanager.h molequeuequeuelistmodel.h molequeuewidget.h ) set(SOURCES batchjob.cpp inputgenerator.cpp inputgeneratordialog.cpp inputgeneratorwidget.cpp molequeuedialog.cpp molequeuemanager.cpp molequeuequeuelistmodel.cpp molequeuewidget.cpp ) set(UIS inputgeneratordialog.ui inputgeneratorwidget.ui molequeuedialog.ui molequeuewidget.ui ) qt5_wrap_ui(UI_SOURCES ${UIS}) list(APPEND SOURCES ${UI_SOURCES}) avogadro_add_library(AvogadroMoleQueue ${HEADERS} ${SOURCES}) set_target_properties(AvogadroMoleQueue PROPERTIES AUTOMOC TRUE) target_link_libraries(AvogadroMoleQueue AvogadroQtGui MoleQueueClient Qt5::Widgets Qt5::Network) avogadrolibs-1.93.0/avogadro/molequeue/batchjob.cpp000066400000000000000000000163261360735163600223650ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "batchjob.h" #include "molequeuemanager.h" #include #include using MoleQueue::JobObject; namespace Avogadro { namespace MoleQueue { // initialize statics const BatchJob::BatchId BatchJob::InvalidBatchId = -1; const BatchJob::RequestId BatchJob::InvalidRequestId = -1; const BatchJob::ServerId BatchJob::InvalidServerId = std::numeric_limits::max(); BatchJob::BatchJob(QObject* par) : QObject(par) { setup(); } BatchJob::BatchJob(const QString& scriptFilePath, QObject* par) : QObject(par), m_inputGenerator(scriptFilePath) { setup(); } BatchJob::~BatchJob() { } BatchJob::BatchId BatchJob::submitNextJob(const Core::Molecule& mol) { // Is everything configured? if (!m_inputGenerator.isValid() || m_inputGeneratorOptions.empty() || m_moleQueueOptions.empty()) { return InvalidBatchId; } // Verify that molequeue is running: MoleQueueManager& mqManager = MoleQueueManager::instance(); if (!mqManager.connectIfNeeded()) return InvalidBatchId; // Generate the input: if (!m_inputGenerator.generateInput(m_inputGeneratorOptions, mol)) { if (!m_inputGenerator.errorList().isEmpty()) { qWarning() << "BatchJob::submitNextJob() error:\n\t" << m_inputGenerator.errorList().join("\n\t"); } return InvalidBatchId; } // Warnings are non-fatal -- just print them for now: if (!m_inputGenerator.warningList().isEmpty()) { qWarning() << "BatchJob::submitNextJob() warning:\n\t" << m_inputGenerator.warningList().join("\n\t"); } BatchId bId = m_jobObjects.size(); // Create the job object: ::MoleQueue::JobObject job; job.fromJson(m_moleQueueOptions); job.setDescription( tr("Batch Job #%L1 (%2)").arg(bId + 1).arg(job.description())); // Main input file: const QString mainFileName = m_inputGenerator.mainFileName(); job.setInputFile(mainFileName, m_inputGenerator.fileContents(mainFileName)); // Any additional input files: QStringList fileNames = m_inputGenerator.fileNames(); fileNames.removeOne(mainFileName); foreach (const QString& fn, fileNames) job.appendAdditionalInputFile(fn, m_inputGenerator.fileContents(fn)); // Submit the job RequestId rId = mqManager.client().submitJob(job); // Was submission successful? if (rId < 0) return InvalidBatchId; // Register the job and assign the ID. m_jobObjects.push_back(job); m_states.push_back(None); m_requests.insert(rId, Request(Request::SubmitJob, bId)); return bId; } bool BatchJob::lookupJob(BatchId bId) { ServerId sId = serverId(static_cast(bId)); if (sId == InvalidServerId) return false; // Verify that molequeue is running: MoleQueueManager& mqManager = MoleQueueManager::instance(); if (!mqManager.connectIfNeeded()) return false; ::MoleQueue::Client& client = mqManager.client(); RequestId rId = client.lookupJob(sId); m_requests.insert(rId, Request(Request::LookupJob, bId)); return true; } void BatchJob::handleSubmissionReply(int rId, unsigned int sId) { Request req = m_requests.value(rId); if (req.isValid()) { m_requests.remove(rId); if (req.batchId >= m_jobObjects.size()) { qWarning() << "BatchJob::handleSubmissionReply(): batchID out of range."; return; } m_jobObjects[req.batchId].setValue("moleQueueId", QVariant(static_cast(sId))); m_serverIds.insert(sId, req.batchId); // Request full job details: lookupJob(req.batchId); } } void BatchJob::handleJobStateChange(unsigned int sId, const QString&, const QString&) { BatchId bId = m_serverIds.value(static_cast(sId), InvalidBatchId); if (bId == InvalidBatchId) return; // Update full job details: lookupJob(bId); } void BatchJob::handleLookupJobReply(int rId, const QJsonObject& jobInfo) { Request req = m_requests.value(rId); if (req.isValid()) { m_requests.remove(rId); if (req.batchId >= m_jobObjects.size()) { qWarning() << "BatchJob::handleSubmissionReply(): batchID out of range."; return; } JobObject& job(m_jobObjects[req.batchId]); job.fromJson(jobInfo); JobState oldState = m_states[req.batchId]; JobState newState = stringToState(job.value("jobState").toString()); m_states[req.batchId] = newState; emit jobUpdated(req.batchId, true); if (!isTerminal(oldState) && isTerminal(newState)) emit jobCompleted(req.batchId, newState); } } void BatchJob::handleErrorResponse(int requestId, int errorCode, const QString& errorMessage, const QJsonValue& errorData) { qDebug() << "Error rcv'd: {" << "requestId:" << requestId << "errorCode:" << errorCode << "errorMessage:" << errorMessage << "errorData:" << errorData << "}"; Request req = m_requests.value(requestId); if (!req.isValid()) return; m_requests.remove(requestId); if (req.batchId < m_jobObjects.size()) return; switch (req.type) { case Request::SubmitJob: // The job was rejected: qDebug() << "Batch job" << req.batchId << "was rejected by MoleQueue."; m_states[req.batchId] = Rejected; m_jobObjects[req.batchId].fromJson(QJsonObject()); break; case Request::LookupJob: qDebug() << "Batch job" << req.batchId << "failed to update."; emit jobUpdated(req.batchId, false); break; default: case Request::InvalidType: break; } } void BatchJob::setup() { static bool metaTypesRegistered = false; if (!metaTypesRegistered) { qRegisterMetaType("Avogadro::QtGui::BatchJob::BatchId"); qRegisterMetaType("BatchId"); qRegisterMetaType("Avogadro::QtGui::BatchJob::ServerId"); qRegisterMetaType("ServerId"); qRegisterMetaType("Avogadro::QtGui::BatchJob::RequestId"); qRegisterMetaType("RequestId"); metaTypesRegistered = true; } MoleQueueManager& mqManager = MoleQueueManager::instance(); ::MoleQueue::Client& client = mqManager.client(); connect(&client, SIGNAL(submitJobResponse(int, uint)), SLOT(handleSubmissionReply(int, uint))); connect(&client, SIGNAL(lookupJobResponse(int, QJsonObject)), SLOT(handleLookupJobReply(int, QJsonObject))); connect(&client, SIGNAL(jobStateChanged(uint, QString, QString)), SLOT(handleJobStateChange(uint, QString, QString))); connect(&client, SIGNAL(errorReceived(int, int, QString, QJsonValue)), SLOT(handleErrorResponse(int, int, QString, QJsonValue))); } } // namespace MoleQueue } // namespace Avogadro avogadrolibs-1.93.0/avogadro/molequeue/batchjob.h000066400000000000000000000253341360735163600220310ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_BATCHJOB_H #define AVOGADRO_QTGUI_BATCHJOB_H #include #include "inputgenerator.h" #include #include #include #include #include namespace Avogadro { namespace Core { class Molecule; } // end namespace Core namespace MoleQueue { /** * @brief The BatchJob class manages a collection of jobs that are configured * using the same InputGenerator and MoleQueue options. For use with * InputGeneratorDialog::configureBatchJob(BatchJob&). */ class AVOGADROMOLEQUEUE_EXPORT BatchJob : public QObject { Q_OBJECT public: /** * Job status. Same as those defined in molequeueglobal.h. The 'Rejected' * state is added to identify jobs that rejected by molequeue prior to having * a MoleQueue id (ServerId) set. */ enum JobState { Rejected = -2, Unknown = -1, None = 0, Accepted, QueuedLocal, Submitted, QueuedRemote, RunningLocal, RunningRemote, Finished, Canceled, Error }; /** * Type used to identify a job within this batch. Unique to this object. */ typedef int BatchId; static const BatchId InvalidBatchId; /** * Type used to identify requests sent to the MoleQueue server. */ typedef int RequestId; static const RequestId InvalidRequestId; /** * Type used by MoleQueue to identify jobs. Unique across the connected * MoleQueue server. */ typedef unsigned int ServerId; static const ServerId InvalidServerId; /** * Construct a new BatchJob object. If provided, ese scriptFilePath to setup * the input generator. */ explicit BatchJob(QObject* parent = nullptr); explicit BatchJob(const QString& scriptFilePath, QObject* parent = nullptr); ~BatchJob() override; /** * Options for the input generator. * @{ */ void setInputGeneratorOptions(const QJsonObject& opts); QJsonObject inputGeneratorOptions() const; /**@}*/ /** * Options for MoleQueue. * @{ */ void setMoleQueueOptions(const QJsonObject& opts); QJsonObject moleQueueOptions() const; ::MoleQueue::JobObject moleQueueJobTemplate() const; /**@}*/ /** * The internal InputGenerator. * @{ */ const InputGenerator& inputGenerator() const; InputGenerator& inputGenerator(); /**@}*/ /** * A string that will be used in the MoleQueue interface to identify this * batch job. Taken from the InputGenerator configured title. */ QString description() const; /** * @return The state of the job with the batch id @a batchId. */ JobState jobState(BatchId batchId) const; /** * @return The server id of the job with the batch id @a batchId. */ ServerId serverId(BatchId batchId) const; /** * @return The most recent JobObject for the job with the batch id @a batchId. * These are updated for each change in job state. */ ::MoleQueue::JobObject jobObject(BatchId batchId) const; /** * @return True if @a state corresponds to a job that is finished running. */ static bool isTerminal(JobState state); /** * @return True if there are still running jobs. */ bool hasUnfinishedJobs() const; /** * @return The number of jobs that are running. */ int unfinishedJobCount() const; /** * @return The number of completed jobs. */ int finishedJobCount() const; /** * @return The total number of jobs in the batch. */ int jobCount() const; public slots: /** * Submit a job using the current configuration for @a mol. * @return The BatchId of the job, or InvalidBatchId if there was an error. */ virtual BatchId submitNextJob(const Core::Molecule& mol); /** * Request updated job details from the MoleQueue server for the job with * the batch id @a batchId. * * jobUpdated is emitted when the request is complete. * * @return True if the request is sent. */ bool lookupJob(BatchId batchId); signals: /** * Emitted when the reply from lookupJob is received. @a success will be false * if MoleQueue sends an error response (likely because the job was removed * from the job manager). */ void jobUpdated(Avogadro::MoleQueue::BatchJob::BatchId batchId, bool success); /** * Emitted when the job associated with @a batchId completes. @a status * is the final state of the jobs and can be used to determine whether or not * the job finished successfully. */ void jobCompleted(Avogadro::MoleQueue::BatchJob::BatchId batchId, Avogadro::MoleQueue::BatchJob::JobState status); private slots: void handleSubmissionReply(int requestId, unsigned int serverId); void handleJobStateChange(unsigned int serverId, const QString& oldState, const QString& newState); void handleLookupJobReply(int requestId, const QJsonObject& jobInfo); void handleErrorResponse(int requestId, int errorCode, const QString& errorMessage, const QJsonValue& errorData); private: // structs /** * Internal struct for tracking request metadata. */ struct Request { enum Type { InvalidType, SubmitJob, LookupJob }; explicit Request(Type t = InvalidType, BatchId b = InvalidBatchId); bool isValid() const { return type != InvalidType; } Type type; BatchId batchId; }; private: // methods void setup(); static JobState stringToState(const QString& string); static QString stateToString(JobState state); private: // variables InputGenerator m_inputGenerator; QJsonObject m_inputGeneratorOptions; QJsonObject m_moleQueueOptions; /// Cached job states. QList<::MoleQueue::JobObject> m_jobObjects; /// Lookup batch ids from server ids. QMap m_serverIds; /// Job states. For fast lookups without string conversions. QVector m_states; /// Pending requests. QMap m_requests; }; inline BatchJob::Request::Request(Type t, BatchId b) : type(t), batchId(b) { } inline void BatchJob::setInputGeneratorOptions(const QJsonObject& opts) { m_inputGeneratorOptions = opts; } inline QJsonObject BatchJob::inputGeneratorOptions() const { return m_inputGeneratorOptions; } inline void BatchJob::setMoleQueueOptions(const QJsonObject& opts) { m_moleQueueOptions = opts; } inline QJsonObject BatchJob::moleQueueOptions() const { return m_moleQueueOptions; } inline ::MoleQueue::JobObject BatchJob::moleQueueJobTemplate() const { ::MoleQueue::JobObject result; result.fromJson(m_moleQueueOptions); return result; } inline const InputGenerator& BatchJob::inputGenerator() const { return m_inputGenerator; } inline InputGenerator& BatchJob::inputGenerator() { return m_inputGenerator; } inline QString BatchJob::description() const { return moleQueueJobTemplate().description(); } inline BatchJob::JobState BatchJob::jobState(BatchJob::BatchId id) const { return id < m_states.size() ? m_states[id] : Unknown; } inline BatchJob::ServerId BatchJob::serverId(BatchJob::BatchId id) const { return id < m_jobObjects.size() ? m_jobObjects[id] .value("moleQueueId", InvalidServerId) .value() : InvalidServerId; } inline ::MoleQueue::JobObject BatchJob::jobObject(BatchJob::BatchId id) const { return id < m_jobObjects.size() ? m_jobObjects[id] : ::MoleQueue::JobObject(); } inline bool BatchJob::isTerminal(BatchJob::JobState state) { switch (state) { case Rejected: case Finished: case Canceled: case Error: return true; default: return false; } } inline bool BatchJob::hasUnfinishedJobs() const { for (QVector::const_iterator it = m_states.begin(), itEnd = m_states.end(); it != itEnd; ++it) { if (!isTerminal(*it)) return true; } return false; } inline int BatchJob::unfinishedJobCount() const { int result = 0; for (QVector::const_iterator it = m_states.begin(), itEnd = m_states.end(); it != itEnd; ++it) { if (!isTerminal(*it)) ++result; } return result; } inline int BatchJob::finishedJobCount() const { int result = 0; for (QVector::const_iterator it = m_states.begin(), itEnd = m_states.end(); it != itEnd; ++it) { if (isTerminal(*it)) ++result; } return result; } inline int BatchJob::jobCount() const { return m_serverIds.size(); } inline BatchJob::JobState BatchJob::stringToState(const QString& str) { if (str == QLatin1String("None")) return None; else if (str == QLatin1String("Rejected")) return Rejected; else if (str == QLatin1String("Accepted")) return Accepted; else if (str == QLatin1String("QueuedLocal")) return QueuedLocal; else if (str == QLatin1String("Submitted")) return Submitted; else if (str == QLatin1String("QueuedRemote")) return QueuedRemote; else if (str == QLatin1String("RunningLocal")) return RunningLocal; else if (str == QLatin1String("RunningRemote")) return RunningRemote; else if (str == QLatin1String("Finished")) return Finished; else if (str == QLatin1String("Canceled")) return Canceled; else if (str == QLatin1String("Error")) return Error; else return Unknown; } inline QString BatchJob::stateToString(BatchJob::JobState state) { switch (state) { case None: return QString("None"); case Accepted: return QString("Accepted"); case Rejected: return QString("Rejected"); case QueuedLocal: return QString("QueuedLocal"); case Submitted: return QString("Submitted"); case QueuedRemote: return QString("QueuedRemote"); case RunningLocal: return QString("RunningLocal"); case RunningRemote: return QString("RunningRemote"); case Finished: return QString("Finished"); case Canceled: return QString("Canceled"); case Error: return QString("Error"); default: case Unknown: return QString("Unknown"); } } } // namespace MoleQueue } // namespace Avogadro #endif // AVOGADRO_MOLEQUEUE_BATCHJOB_H avogadrolibs-1.93.0/avogadro/molequeue/inputgenerator.cpp000066400000000000000000000524741360735163600236630ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "inputgenerator.h" #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace MoleQueue { using QtGui::PythonScript; using QtGui::GenericHighlighter; InputGenerator::InputGenerator(const QString& scriptFilePath_, QObject* parent_) : QObject(parent_), m_interpreter(new PythonScript(scriptFilePath_, this)), m_moleculeExtension("Unknown") { } InputGenerator::InputGenerator(QObject* parent_) : QObject(parent_), m_interpreter(new PythonScript(this)), m_moleculeExtension("Unknown") { } InputGenerator::~InputGenerator() { } bool InputGenerator::debug() const { return m_interpreter->debug(); } QJsonObject InputGenerator::options() const { m_errors.clear(); if (m_options.isEmpty()) { qDeleteAll(m_highlightStyles.values()); m_highlightStyles.clear(); // Retrieve/set options QByteArray json = m_interpreter->execute(QStringList() << "--print-options"); if (m_interpreter->hasErrors()) { m_errors << m_interpreter->errorList(); return m_options; } QJsonDocument doc; if (!parseJson(json, doc)) return m_options; if (!doc.isObject()) { m_errors << tr("script --print-options output must be an JSON object " "at top level. Received:\n%1") .arg(json.constData()); return m_options; } m_options = doc.object(); // Check if the generator needs to read a molecule. m_moleculeExtension = "None"; if (m_options.contains("inputMoleculeFormat") && m_options["inputMoleculeFormat"].isString()) { m_moleculeExtension = m_options["inputMoleculeFormat"].toString(); } if (m_options.contains("highlightStyles") && m_options.value("highlightStyles").isArray()) { if (!parseHighlightStyles(m_options.value("highlightStyles").toArray())) { qDebug() << "Failed to parse highlighting styles."; } } } return m_options; } QString InputGenerator::displayName() const { m_errors.clear(); if (m_displayName.isEmpty()) { m_displayName = QString(m_interpreter->execute(QStringList() << "--display-name")); m_errors << m_interpreter->errorList(); m_displayName = m_displayName.trimmed(); } return m_displayName; } QString InputGenerator::scriptFilePath() const { return m_interpreter->scriptFilePath(); } void InputGenerator::setScriptFilePath(const QString& scriptFile) { reset(); m_interpreter->setScriptFilePath(scriptFile); } void InputGenerator::reset() { m_interpreter->setDefaultPythonInterpretor(); m_interpreter->setScriptFilePath(QString()); m_moleculeExtension = "Unknown"; m_displayName = QString(); m_options = QJsonObject(); m_warnings.clear(); m_errors.clear(); m_filenames.clear(); m_mainFileName.clear(); m_files.clear(); m_fileHighlighters.clear(); m_highlightStyles.clear(); } bool InputGenerator::generateInput(const QJsonObject& options_, const Core::Molecule& mol) { m_errors.clear(); m_warnings.clear(); m_filenames.clear(); qDeleteAll(m_fileHighlighters.values()); m_fileHighlighters.clear(); m_mainFileName.clear(); m_files.clear(); // Add the molecule file to the options QJsonObject allOptions(options_); if (!insertMolecule(allOptions, mol)) return false; QByteArray json(m_interpreter->execute(QStringList() << "--generate-input", QJsonDocument(allOptions).toJson())); if (m_interpreter->hasErrors()) { m_errors << m_interpreter->errorList(); return false; } QJsonDocument doc; if (!parseJson(json, doc)) return false; // Update cache bool result = true; if (doc.isObject()) { QJsonObject obj = doc.object(); // Check for any warnings: if (obj.contains("warnings")) { if (obj["warnings"].isArray()) { foreach (const QJsonValue& warning, obj["warnings"].toArray()) { if (warning.isString()) m_warnings << warning.toString(); else m_errors << tr("Non-string warning returned."); } } else { m_errors << tr("'warnings' member is not an array."); } } // Extract input file text: if (obj.contains("files")) { if (obj["files"].isArray()) { foreach (const QJsonValue& file, obj["files"].toArray()) { if (file.isObject()) { QJsonObject fileObj = file.toObject(); if (fileObj["filename"].isString()) { QString fileName = fileObj["filename"].toString(); QString contents; if (fileObj["contents"].isString()) { contents = fileObj["contents"].toString(); } else if (fileObj["filePath"].isString()) { QFile refFile(fileObj["filePath"].toString()); if (refFile.exists() && refFile.open(QFile::ReadOnly)) { contents = QString(refFile.readAll()); } else { contents = tr("Reference file '%1' does not exist.") .arg(refFile.fileName()); m_warnings << tr("Error populating file %1: %2") .arg(fileName, contents); } } else { m_errors << tr("File '%1' poorly formed. Missing string " "'contents' or 'filePath' members.") .arg(fileName); contents = m_errors.back(); result = false; } replaceKeywords(contents, mol); m_filenames << fileName; m_files.insert(fileObj["filename"].toString(), contents); // Concatenate the requested styles for this input file. if (fileObj["highlightStyles"].isArray()) { GenericHighlighter* highlighter(new GenericHighlighter(this)); foreach (const QJsonValue& styleVal, fileObj["highlightStyles"].toArray()) { if (styleVal.isString()) { QString styleName(styleVal.toString()); if (m_highlightStyles.contains(styleName)) { *highlighter += *m_highlightStyles[styleName]; } else { qDebug() << "Cannot find highlight style '" << styleName << "' for file '" << fileName << "'"; } } } if (highlighter->ruleCount() > 0) m_fileHighlighters[fileName] = highlighter; else highlighter->deleteLater(); } } else { result = false; m_errors << tr("Malformed file entry: filename/contents missing" " or not strings:\n%1") .arg(QString(QJsonDocument(fileObj).toJson())); } // end if/else filename and contents are strings } else { result = false; m_errors << tr("Malformed file entry at index %1: Not an object.") .arg(m_filenames.size()); } // end if/else file is JSON object } // end foreach file } else { result = false; m_errors << tr("'files' member not an array."); } // end if obj["files"] is JSON array } else { result = false; m_errors << tr("'files' member missing."); } // end if obj contains "files" // Extract main input filename: if (obj.contains("mainFile")) { if (obj["mainFile"].isString()) { QString mainFile = obj["mainFile"].toString(); if (m_filenames.contains(mainFile)) { m_mainFileName = mainFile; } else { result = false; m_errors << tr("'mainFile' member does not refer to an entry in " "'files'."); } // end if/else mainFile is known } else { result = false; m_errors << tr("'mainFile' member must be a string."); } // end if/else mainFile is string } else { // If no mainFile is specified and there is only one file, use it as the // main file. Otherwise, don't set a main input file -- all files will // be treated as supplemental input files if (m_filenames.size() == 1) m_mainFileName = m_filenames.first(); } // end if/else object contains mainFile } else { result = false; m_errors << tr("Response must be a JSON object at top-level."); } if (result == false) m_errors << tr("Script output:\n%1").arg(QString(json)); return result; } int InputGenerator::numberOfInputFiles() const { return m_filenames.size(); } QStringList InputGenerator::fileNames() const { return m_filenames; } QString InputGenerator::mainFileName() const { return m_mainFileName; } QString InputGenerator::fileContents(const QString& fileName) const { return m_files.value(fileName, QString()); } GenericHighlighter* InputGenerator::createFileHighlighter( const QString& fileName) const { GenericHighlighter* toClone(m_fileHighlighters.value(fileName, nullptr)); return toClone ? new GenericHighlighter(*toClone) : toClone; } void InputGenerator::setDebug(bool d) { m_interpreter->setDebug(d); } bool InputGenerator::parseJson(const QByteArray& json, QJsonDocument& doc) const { QJsonParseError error; doc = QJsonDocument::fromJson(json, &error); if (error.error != QJsonParseError::NoError) { m_errors << tr("Parse error at offset %L1: '%2'\nRaw JSON:\n\n%3") .arg(error.offset) .arg(error.errorString()) .arg(QString(json)); return false; } return true; } bool InputGenerator::insertMolecule(QJsonObject& json, const Core::Molecule& mol) const { // Update the cached options if the format is not set if (m_moleculeExtension == "Unknown") options(); if (m_moleculeExtension == "None") return true; Io::FileFormatManager& formats = Io::FileFormatManager::instance(); QScopedPointer format( formats.newFormatFromFileExtension(m_moleculeExtension.toStdString())); if (format.isNull()) { m_errors << tr("Error writing molecule representation to string: " "Unrecognized file format: %1") .arg(m_moleculeExtension); return false; } std::string str; if (!format->writeString(str, mol)) { m_errors << tr("Error writing molecule representation to string: %1") .arg(QString::fromStdString(format->error())); return false; } if (m_moleculeExtension != "cjson") { json.insert(m_moleculeExtension, QJsonValue(QString::fromStdString(str))); } else { // If cjson was requested, embed the actual JSON, rather than the string. QJsonParseError error; QJsonDocument doc = QJsonDocument::fromJson(str.c_str(), &error); if (error.error != QJsonParseError::NoError) { m_errors << tr("Error generating cjson object: Parse error at offset %1: " "%2\nRaw JSON:\n\n%3") .arg(error.offset) .arg(error.errorString()) .arg(QString::fromStdString(str)); return false; } if (!doc.isObject()) { m_errors << tr("Error generator cjson object: Parsed JSON is not an " "object:\n%1") .arg(QString::fromStdString(str)); return false; } json.insert(m_moleculeExtension, doc.object()); } return true; } QString InputGenerator::generateCoordinateBlock(const QString& spec, const Core::Molecule& mol) const { Core::CoordinateBlockGenerator gen; gen.setMolecule(&mol); gen.setSpecification(spec.toStdString()); std::string tmp(gen.generateCoordinateBlock()); if (!tmp.empty()) tmp.resize(tmp.size() - 1); // Pop off the trailing newline return QString::fromStdString(tmp); } void InputGenerator::replaceKeywords(QString& str, const Core::Molecule& mol) const { // Simple keywords: str.replace("$$atomCount$$", QString::number(mol.atomCount())); str.replace("$$bondCount$$", QString::number(mol.bondCount())); // Find each coordinate block keyword in the file, then generate and replace // it with the appropriate values. QRegExp coordParser("\\$\\$coords:([^\\$]*)\\$\\$"); int ind = 0; while ((ind = coordParser.indexIn(str, ind)) != -1) { // Extract spec and prepare the replacement const QString keyword = coordParser.cap(0); const QString spec = coordParser.cap(1); // Replace all blocks with this signature str.replace(keyword, generateCoordinateBlock(spec, mol)); } // end for coordinate block } bool InputGenerator::parseHighlightStyles(const QJsonArray& json) const { bool result(true); foreach (QJsonValue styleVal, json) { if (!styleVal.isObject()) { qDebug() << "Non-object in highlightStyles array."; result = false; continue; } QJsonObject styleObj(styleVal.toObject()); if (!styleObj.contains("style")) { qDebug() << "Style object missing 'style' member."; result = false; continue; } if (!styleObj.value("style").isString()) { qDebug() << "Style object contains non-string 'style' member."; result = false; continue; } QString styleName(styleObj.value("style").toString()); if (m_highlightStyles.contains(styleName)) { qDebug() << "Duplicate highlight style: " << styleName; result = false; continue; } if (!styleObj.contains("rules")) { qDebug() << "Style object" << styleName << "missing 'rules' member."; result = false; continue; } if (!styleObj.value("rules").isArray()) { qDebug() << "Style object" << styleName << "contains non-array 'rules' member."; result = false; continue; } QJsonArray rulesArray(styleObj.value("rules").toArray()); GenericHighlighter* highlighter( new GenericHighlighter(const_cast(this))); if (!parseRules(rulesArray, *highlighter)) { qDebug() << "Error parsing style" << styleName << endl << QString(QJsonDocument(styleObj).toJson()); highlighter->deleteLater(); result = false; continue; } m_highlightStyles.insert(styleName, highlighter); } return result; } bool InputGenerator::parseRules(const QJsonArray& json, GenericHighlighter& highligher) const { bool result(true); foreach (QJsonValue ruleVal, json) { if (!ruleVal.isObject()) { qDebug() << "Rule is not an object."; result = false; continue; } QJsonObject ruleObj(ruleVal.toObject()); if (!ruleObj.contains("patterns")) { qDebug() << "Rule missing 'patterns' array:" << endl << QString(QJsonDocument(ruleObj).toJson()); result = false; continue; } if (!ruleObj.value("patterns").isArray()) { qDebug() << "Rule 'patterns' member is not an array:" << endl << QString(QJsonDocument(ruleObj).toJson()); result = false; continue; } QJsonArray patternsArray(ruleObj.value("patterns").toArray()); if (!ruleObj.contains("format")) { qDebug() << "Rule missing 'format' object:" << endl << QString(QJsonDocument(ruleObj).toJson()); result = false; continue; } if (!ruleObj.value("format").isObject()) { qDebug() << "Rule 'format' member is not an object:" << endl << QString(QJsonDocument(ruleObj).toJson()); result = false; continue; } QJsonObject formatObj(ruleObj.value("format").toObject()); GenericHighlighter::Rule& rule = highligher.addRule(); foreach (QJsonValue patternVal, patternsArray) { QRegExp pattern; if (!parsePattern(patternVal, pattern)) { qDebug() << "Error while parsing pattern:" << endl << QString(QJsonDocument(patternVal.toObject()).toJson()); result = false; continue; } rule.addPattern(pattern); } QTextCharFormat format; if (!parseFormat(formatObj, format)) { qDebug() << "Error while parsing format:" << endl << QString(QJsonDocument(formatObj).toJson()); result = false; } rule.setFormat(format); } return result; } bool InputGenerator::parseFormat(const QJsonObject& json, QTextCharFormat& format) const { // Check for presets first: if (json.contains("preset")) { if (!json["preset"].isString()) { qDebug() << "Preset is not a string."; return false; } QString preset(json["preset"].toString()); /// @todo Store presets in a singleton that can be configured in the GUI, /// rather than hardcoding them. if (preset == "title") { format.setFontFamily("serif"); format.setForeground(Qt::darkGreen); format.setFontWeight(QFont::Bold); } else if (preset == "keyword") { format.setFontFamily("mono"); format.setForeground(Qt::darkBlue); } else if (preset == "property") { format.setFontFamily("mono"); format.setForeground(Qt::darkRed); } else if (preset == "literal") { format.setFontFamily("mono"); format.setForeground(Qt::darkMagenta); } else if (preset == "comment") { format.setFontFamily("serif"); format.setForeground(Qt::darkGreen); format.setFontItalic(true); } else { qDebug() << "Invalid style preset: " << preset; return false; } return true; } // Extract an RGB tuple from 'array' as a QBrush: struct { QBrush operator()(const QJsonArray& array, bool* ok) { *ok = false; QBrush result; if (array.size() != 3) return result; int rgb[3]; for (int i = 0; i < 3; ++i) { if (!array.at(i).isDouble()) return result; rgb[i] = static_cast(array.at(i).toDouble()); if (rgb[i] < 0 || rgb[i] > 255) { qDebug() << "Warning: Color component value invalid: " << rgb[i] << " (Valid range is 0-255)."; } } result.setColor(QColor(rgb[0], rgb[1], rgb[2])); result.setStyle(Qt::SolidPattern); *ok = true; return result; } } colorParser; if (json.contains("foreground") && json.value("foreground").isArray()) { QJsonArray foregroundArray(json.value("foreground").toArray()); bool ok; format.setForeground(colorParser(foregroundArray, &ok)); if (!ok) return false; } if (json.contains("background") && json.value("background").isArray()) { QJsonArray backgroundArray(json.value("background").toArray()); bool ok; format.setBackground(colorParser(backgroundArray, &ok)); if (!ok) return false; } if (json.contains("attributes") && json.value("attributes").isArray()) { QJsonArray attributesArray(json.value("attributes").toArray()); format.setFontWeight(attributesArray.contains(QLatin1String("bold")) ? QFont::Bold : QFont::Normal); format.setFontItalic(attributesArray.contains(QLatin1String("italic"))); format.setFontUnderline( attributesArray.contains(QLatin1String("underline"))); } if (json.contains("family") && json.value("family").isString()) { format.setFontFamily(json.value("family").toString()); } return true; } bool InputGenerator::parsePattern(const QJsonValue& json, QRegExp& pattern) const { if (!json.isObject()) return false; QJsonObject patternObj(json.toObject()); if (patternObj.contains("regexp") && patternObj.value("regexp").isString()) { pattern.setPatternSyntax(QRegExp::RegExp2); pattern.setPattern(patternObj.value("regexp").toString()); } else if (patternObj.contains("wildcard") && patternObj.value("wildcard").isString()) { pattern.setPatternSyntax(QRegExp::WildcardUnix); pattern.setPattern(patternObj.value("wildcard").toString()); } else if (patternObj.contains("string") && patternObj.value("string").isString()) { pattern.setPatternSyntax(QRegExp::FixedString); pattern.setPattern(patternObj.value("string").toString()); } else { return false; } if (patternObj.contains("caseSensitive")) { pattern.setCaseSensitivity(patternObj.value("caseSensitive").toBool(true) ? Qt::CaseSensitive : Qt::CaseInsensitive); } return true; } } // namespace MoleQueue } // namespace Avogadro avogadrolibs-1.93.0/avogadro/molequeue/inputgenerator.h000066400000000000000000000525521360735163600233250ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_MOLEQUEUE_INPUTGENERATOR_H #define AVOGADRO_MOLEQUEUE_INPUTGENERATOR_H #include "avogadromolequeueexport.h" #include #include #include #include #include class QJsonDocument; class QProcess; class QTextCharFormat; namespace Avogadro { namespace Core { class Molecule; } namespace QtGui { class GenericHighlighter; class PythonScript; } namespace MoleQueue { /** * @class InputGenerator inputgenerator.h * @brief The InputGenerator class provides an interface to input generator * scripts. * @sa InputGeneratorWidget * * The QuantumInput extension provides a scriptable method for users to add * custom input generators to Avogadro. By writing an executable that implements * the interface defined below, new input generators can be created faster and * easier than writing full Avogadro extensions. * * Script Entry Points * =================== * * The script must handle the following command-line arguments: * - `--debug` Enable extra debugging output. Used with other commands. * It is not required that the script support extra debugging, but it should * not crash when this option is passed. * - `--print-options` Print the available options supported by the * script, e.g. simulation parameters, etc. See below for more details. * - `--generate-input` Read an option block from stdin and print * input files to stdout. See below for more details. * - `--display-name` Print a user-friendly name for the input generator. * This is used in the GUI for menu entries, window titles, etc. * * Specifying parameters with `--print-options` * ============================================ * * The format of the `--print-options` output must be a JSON object of * the following form: ~~~{.js} { "userOptions": { ... }, "highlightStyles": [ { "style": "Descriptive name", "rules": [ { "patterns": [ ... ], "format": { ... } }, ... ], }, ... ], "inputMoleculeFormat": "cjson" } ~~~ * The `userOptions` block contains a JSON object keyed with option names * (e.g. "First option name"), which are used in the GUI to label simulation * parameter settings. Various parameter types are supported: * * Fixed Mutually-Exclusive Parameter Lists * ---------------------------------------- * * Parameters that have a fixed number of mutually-exclusive string values will * be presented using a QComboBox. Such a parameter can be specified in the * `userOptions` block as: ~~~{.js} { "userOptions": { "Parameter Name": { "type": "stringList", "values": ["Option 1", "Option 2", "Option 3"], "default": 0 } } } ~~~ * Here, `Parameter Name` is the label that will be displayed in the GUI as a * label next to the combo box. * The array of strings in `values` will be used as the available entries in * the combo box in the order they are written. * `default` is a zero-based index into the `values` array and indicates * which value should be initially selected by default. * * Short Free-Form Text Parameters * ------------------------------- * * A short text string can be requested (e.g. for the "title" of an * optimization) via: ~~~{.js} { "userOptions": { "Parameter Name": { "type": "string", "default": "blah blah blah" } } } ~~~ * This will add a QLineEdit to the GUI, initialized with the text specified by * `default`. * * Existing files * -------------- * * An input generator can ask for the absolute path to an existing file using * the following option block: ~~~{.js} { "userOptions": { "Parameter Name": { "type": "filePath", "default": "/path/to/some/file" } } } ~~~ * This will add an Avogadro::QtGui::FileBrowseWidget to the GUI, initialized to * the file pointed to by default. * * Clamped Integer Values * ---------------------- * * Scripts may request integer values from a specified range by adding a * user-option of the following form: ~~~{.js} { "userOptions": { "Parameter Name": { "type": "integer", "minimum": -5, "maximum": 5, "default": 0, "prefix": "some text ", "suffix": " units" } } } ~~~ * This block will result in a QSpinBox, configured as follows: * - `minimum` and `maximum` indicate the valid range of integers for the * parameter. * - `default` is the integer value that will be shown initially. * - (optional) `prefix` and `suffix` are used to insert text before or * after the integer value in the spin box. * This is handy for specifying units. * Note that any prefix or suffix will be stripped out of the corresponding * entry in the call to `--generate-input`, and just the raw integer value * will be sent. * * Boolean Parameters * ------------------ * * If a simple on/off value is needed, a boolean type option can be requested: ~~~{.js} { "userOptions": { "Parameter Name": { "type": "boolean", "default": true, } } } ~~~ * This will result in a QCheckBox in the dynamically generated GUI, with * the inital check state shown in `default`. * * Special Parameters * ------------------ * * Some parameters are common to most calculation codes. * If the following parameter names are found, they will be handled specially * while creating the GUI. * It is recommended to use the names below for these options to provide a * consistent interface and ensure that MoleQueue job staging uses correct * values where appropriate. * * | Option name | type | description | * | :----------------: | :--------: | :------------------------------------------------------------------ | * | "Title" | string | Input file title comment, MoleQueue job description. | * | "Filename Base" | string | Input file base name, e.g. "job" in "job.inp". | * | "Processor Cores" | integer | Number of cores to use. Will be passed to MoleQueue. | * | "Calculation Type" | stringList | Type of calculation, e.g. "Single Point" or "Equilibrium Geometry". | * | "Theory" | stringList | Levels of QM theory, e.g. "RHF", "B3LYP", "MP2", "CCSD", etc. | * | "Basis" | stringList | Available basis sets, e.g. "STO-3G", "6-31G**", etc. | * | "Charge" | integer | Charge on the system. | * | "Multiplicity" | integer | Spin multiplicity of the system. | * * Syntax Highlighting * ------------------- * * Rules for syntax highlighting can be specified as a collection of regular * expressions or wildcard patterns and text format specifications in the * "highlightRules" array. The `highlightRules` format is: ~~~{.js} "highlightStyles": [ { "style": "Style 1", "rules": [ (list of highlight rules, see below) ], }, { "style": "Style 2", "rules": [ (list of highlight rules, see below) ], }, ... ], ~~~ * The `style` name is unique to the style object, and used to associate a * set of highlighting rules with particular output files. See the * `--generate-input` documentation for more details. * * The general form of a highlight rule is: ~~~{.js} { "patterns": [ { "regexp": "^Some regexp?$" }, { "wildcard": "A * wildcard expression" }, { "string": "An exact string to match.", "caseSensitive": false }, ... ], "format": { "preset": "" } } ~~~ * * or, * ~~~{.js} { "patterns": [ ... ], "format": { "foreground": [ 255, 128, 64 ], "background": [ 0, 128, 128 ], "attributes": ["bold", "italic", "underline"], "family": "serif" } } ~~~ * * The `patterns` array contains a collection of fixed strings, wildcard * expressions, and regular expressions (using the QRegExp syntax flavor, see * the QRegExp documentation) that are used to identify strings that should be * formatted. * There must be one of the following members present in each pattern object: * - `regexp` A QRegExp-style regular expression. If no capture groups ("(...)") * are defined, the entire match is formatted. If one or more capture groups, * only the captured texts will be marked. * - `wildcard` A wildcard expression * - `string` An exact string to match. * * Any pattern object may also set a boolean `caseSensitive` member to indicate * whether the match should consider character case. If omitted, a * case-sensitive match is assumed. * * The preferred form of the `format` member is simply a specification of a * preset format. * This allows for consistent color schemes across input generators. * The recognized presets are: * - `"title"`: A human readable title string. * - `"keyword"`: directives defined by the target input format specification * to have special meaning, such as tags indicating where coordinates are * to be found. * - `"property"`: A property of the simulation, such as level of theory, basis * set, minimization method, etc. * - `"literal"`: A numeric literal (i.e. a raw number, such as a coordinate). * - `"comment"`: Sections of the input that are ignored by the simulation code. * * If advanced formatting is desired, the second form of the `format` member * allows fine-tuning of the font properties: * - `foreground` color as an RGB tuple, ranged 0-255 * - `background` color as an RGB tuple, ranged 0-255 * - `attributes` array of font attributes, valid strings are `"bold"`, * `"italic"`, or `"underline"` * - `family` of font. Valid values are `"serif"`, `"sans"`, or `"mono"` * * Any of the font property members may be omitted and default QTextCharFormat * settings will be substituted. * * The input generator extension will apply the entries in the `highlightRules` * object to the text in the order they appear. Thus, later rules will * override the formatting of earlier rules should a conflict arise. * * Requesting Full Structure of Current Molecule * --------------------------------------------- * * The `inputMoleculeFormat` is optional, and can be used to request a * representation of the current molecule's geometry when * `--generate-input` is called. The corresponding value * indicates the format of the molecule that the script expects. If this value * is omitted, no representation of the structure will be provided. * * @note Currently valid options for inputMoleculeFormat are "cjson" for * Chemical JSON or "cml" for Chemical Markup Language. * * Handling User Selections: `--generate-input` * ============================================ * * When `--generate-input` is passed, the information needed to generate * the input file will be written to the script's standard input * channel as JSON string of the following form: ~~~{.js} { "cjson": {...}, "options": { "First option name": "Value 2", "Second option name": "Value 1", ... } } ~~~ * The `cjson` entry will contain a Chemical JSON representation * of the molecule if `inputMoleculeFormat` is set to "cjson" in the * `--print-options` output. * Similarly, a `cml` entry and CML string will exist if a Chemical Markup * Language representation was requested. * It will be omitted entirely if `inputMoleculeFormat` is not set. * The `options` block contains key/value * pairs for each of the options specified in the `userOptions` block of the * `--print-options` output. * * If the script is called with `--generate-input`, it must write a JSON * string to standard output with the following format: ~~~{.js} { "files": [ { "filename": "file1.ext", "contents": "...", "highlightStyles": [ ... ] }, { "filename": "file2.ext", "filePath": "/path/to/file/on/local/filesystem" }, ... ], "warnings": ["First warning.", "Second warning.", ... ], "mainFile": "file2.ext" } ~~~ * The `files` block is an array of objects, which define the actual input * files. The `filename` member provides the name of the file, and * either `contents` or `filePath` provide the text that goes into the file. * The `contents` string will be used as the file contents, and `filePath` * should contain an absolute path to a file on the filesystem to read and use * as the input file contents. * The optional `highlightStyles` member is an array of strings describing any * highlight styles to apply to the file (see `--print-options` documentation). * Each string in this array must match a `style` description in a highlighting * rule in the `--print-options` output. * Zero or more highlighting styles may be applied to any file. * The order of the files in the * GUI will match the order of the files in the array, and the first file will * be displayed first. * * The `warnings` member provides an array of strings that describe non-fatal * warnings to be shown to the users. This is useful for describing * the resolution of conflicting options, e.g. "Ignoring basis set for * semi-empirical calculation.". This member is optional and should be omitted * if no warnings are present. * * The `mainFile` member points to the primary input file for a calculation. * This is the file that will be used as a command line argument when executing * the simulation code (if applicable), and used by MoleQueue to set the * `$$inputFileName$$` and `$$inputFileBaseName$$` input template keywords. * This is optional; if present, the filename must exist in the `files` array. * If absent and only one file is specified in `files`, the single input file * will be used. Otherwise, the main file will be left unspecified. * * Automatic Generation of Geometry * ================================ * * The generation of molecular geometry descriptions may be skipped in the * script and deferred to the InputGenerator class by use of a special keyword. * The "contents" string may contain a keyword of the form ~~~ $$coords:[coordSpec]$$ ~~~ * where `[coordSpec]` is a sequence of characters. * The characters in `[coordSpec]` indicate the information needed about each * atom in the coordinate block. * See the CoordinateBlockGenerator documentation for a list of recognized * characters. * * Other keywords that can be used in the input files are: * - `$$atomCount$$`: Number of atoms in the molecule. * - `$$bondCount$$`: Number of bonds in the molecule. * * Error Handling * ============== * * In general, these scripts should be written robustly so that they will not * fail under normal circumstances. However, if for some reason an error * occurs that must be reported to the user, simply write the error message to * standard output as plain text (i.e. not JSON), and it will be shown to the * user. * * Debugging * ========= * * Debugging may be enabled by defining AVO_QM_INPUT_DEBUG in the process's * environment. This will cause the --debug option to be passed in * all calls to generator scripts, and will print extra information to the * qDebug() stream from within avogadro. The script is free to handle the * debug flag as the author wishes. */ class AVOGADROMOLEQUEUE_EXPORT InputGenerator : public QObject { Q_OBJECT public: /** * Constructor * @param scriptFilePath_ Absolute path to generator script. */ explicit InputGenerator(const QString& scriptFilePath_, QObject* parent_ = nullptr); explicit InputGenerator(QObject* parent_ = nullptr); ~InputGenerator() override; /** * @return True if debugging is enabled. */ bool debug() const; /** * @return True if the generator is configured with a valid script. */ bool isValid() const; /** * Query the script for the available options (--generate-options) * and return the output as a JSON object. * @note The results will be cached the first time this function is called * and reused in subsequent calls. * @note If an error occurs, the error string will be set. Call hasErrors() * to check for success, and errorString() or errorList() to get a * user-friendly description of the error. */ QJsonObject options() const; /** * Query the script for a user-friendly name (--display-name). * @note The results will be cached the first time this function is called * and reused in subsequent calls. * @note If an error occurs, the error string will be set. Call hasErrors() * to check for success, and errorString() or errorList() to get a * user-friendly description of the error. */ QString displayName() const; /** * @return The path to the generator file. */ QString scriptFilePath() const; /** * Set the path to the input generator script file. This will reset any * cached data held by this class. */ void setScriptFilePath(const QString& scriptFile); /** * Clear any cached data and return to an uninitialized state. */ void reset(); /** * Request input files from the script using the supplied options object and * molecule. See the class documentation for details on the @p options_ * object format. * * If the files are generated successfully, use the functions * numberOfInputFiles(), fileNames(), and fileContents() to retrieve them. * * @return true on success and false on failure. * @note If an error occurs, the error string will be set. Call hasErrors() * to check for success, and errorString() or errorList() to get a * user-friendly description of the error. */ bool generateInput(const QJsonObject& options_, const Core::Molecule& mol); /** * @return The number of input files stored by generateInput(). * @note This function is only valid after a successful call to * generateInput(). */ int numberOfInputFiles() const; /** * @return A list of filenames created by generateInput(). * @note This function is only valid after a successful call to * generateInput(). */ QStringList fileNames() const; /** * @return The "main" input file of the collection. This is the input file * used by MoleQueue to determine the $$inputFileName$$ and * $$inputFileBaseName$$ keywords. * @note This function is only valid after a successful call to * generateInput(). */ QString mainFileName() const; /** * @return A file contents corresponding to @p fileName. Must call * generateInput() first. * @sa fileNames */ QString fileContents(const QString& fileName) const; /** * @return A syntax highlighter for the file @a fileName. Must call * generateInput() first. The caller takes ownership of the returned object. * If no syntax highlighter is defined, this function returns nullptr. * @sa fileNames */ QtGui::GenericHighlighter* createFileHighlighter( const QString& fileName) const; /** * @return True if an error is set. */ bool hasErrors() const { return !m_errors.isEmpty(); } /** * Reset the error counter. */ void clearErrors() { m_errors.clear(); } /** * @return A QStringList containing all errors that occurred in the last call * to the input generator script. */ QStringList errorList() const { return m_errors; } /** * @return A QStringList containing all warnings returned by the input * generator script in the last call to generateInput. These are * script-specific warnings. */ QStringList warningList() const { return m_warnings; } public slots: /** * Enable/disable debugging. */ void setDebug(bool d); private: QtGui::PythonScript* m_interpreter; void setDefaultPythonInterpretor(); QByteArray execute(const QStringList& args, const QByteArray& scriptStdin = QByteArray()) const; bool parseJson(const QByteArray& json, QJsonDocument& doc) const; QString processErrorString(const QProcess& proc) const; bool insertMolecule(QJsonObject& json, const Core::Molecule& mol) const; QString generateCoordinateBlock(const QString& spec, const Core::Molecule& mol) const; void replaceKeywords(QString& str, const Core::Molecule& mol) const; bool parseHighlightStyles(const QJsonArray& json) const; bool parseRules(const QJsonArray& json, QtGui::GenericHighlighter& highligher) const; bool parseFormat(const QJsonObject& json, QTextCharFormat& format) const; bool parsePattern(const QJsonValue& json, QRegExp& pattern) const; // File extension of requested molecule format mutable QString m_moleculeExtension; mutable QString m_displayName; mutable QJsonObject m_options; mutable QStringList m_warnings; mutable QStringList m_errors; QStringList m_filenames; QString m_mainFileName; QMap m_files; QMap m_fileHighlighters; mutable QMap m_highlightStyles; }; inline bool InputGenerator::isValid() const { displayName(); return !hasErrors(); } } // namespace MoleQueue } // namespace Avogadro #endif // AVOGADRO_MOLEQUEUE_INPUTGENERATOR_H avogadrolibs-1.93.0/avogadro/molequeue/inputgeneratordialog.cpp000066400000000000000000000044651360735163600250400ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "inputgeneratordialog.h" #include "ui_inputgeneratordialog.h" #include "inputgeneratorwidget.h" namespace Avogadro { namespace MoleQueue { using QtGui::Molecule; InputGeneratorDialog::InputGeneratorDialog(QWidget* parent_) : QDialog(parent_), ui(new Ui::InputGeneratorDialog) { ui->setupUi(this); connect(ui->widget, SIGNAL(closeClicked()), SLOT(accept())); } InputGeneratorDialog::InputGeneratorDialog(const QString& scriptFileName, QWidget* parent_) : QDialog(parent_), ui(new Ui::InputGeneratorDialog) { ui->setupUi(this); connect(ui->widget, SIGNAL(closeClicked()), SLOT(accept())); this->setInputGeneratorScript(scriptFileName); } InputGeneratorDialog::~InputGeneratorDialog() { delete ui; } void InputGeneratorDialog::setInputGeneratorScript(const QString& scriptFile) { ui->widget->setInputGeneratorScript(scriptFile); QString displayName(ui->widget->inputGenerator().displayName()); if (ui->widget->inputGenerator().hasErrors()) setWindowTitle(tr("Input Generator (error)").arg(displayName)); else setWindowTitle(tr("%1 Input Generator").arg(displayName)); } InputGeneratorWidget& InputGeneratorDialog::widget() { return *ui->widget; } const InputGeneratorWidget& InputGeneratorDialog::widget() const { return *ui->widget; } bool InputGeneratorDialog::configureBatchJob(BatchJob& batch) { ui->widget->setBatchMode(true); DialogCode reply = static_cast(exec()); if (reply != Accepted) return false; return ui->widget->configureBatchJob(batch); } void InputGeneratorDialog::setMolecule(Molecule* mol) { ui->widget->setMolecule(mol); } } // namespace MoleQueue } // namespace Avogadro avogadrolibs-1.93.0/avogadro/molequeue/inputgeneratordialog.h000066400000000000000000000062221360735163600244760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_MOLEQUEUE_INPUTGENERATORDIALOG_H #define AVOGADRO_MOLEQUEUE_INPUTGENERATORDIALOG_H #include "avogadromolequeueexport.h" #include "inputgeneratorwidget.h" #include #include namespace Avogadro { namespace QtGui { class Molecule; } namespace MoleQueue { class BatchJob; namespace Ui { class InputGeneratorDialog; } class InputGeneratorWidget; /** * @class InputGeneratorDialog inputgeneratordialog.h * * @brief The InputGeneratorDialog class provides a thin wrapper around * InputGeneratorWidget for standalone use. * @sa InputGenerator InputGeneratorWidget */ class AVOGADROMOLEQUEUE_EXPORT InputGeneratorDialog : public QDialog { Q_OBJECT public: explicit InputGeneratorDialog(QWidget* parent_ = 0); explicit InputGeneratorDialog(const QString& scriptFileName, QWidget* parent_ = 0); ~InputGeneratorDialog() override; /** * Use the input generator script pointed to by scriptFilePath. * @param scriptFilePath Absolute path to generator script. */ void setInputGeneratorScript(const QString& scriptFilePath); /** * @return A reference to the internal InputGeneratorWidget. * @{ */ InputGeneratorWidget& widget(); const InputGeneratorWidget& widget() const; /** @} */ /** * Used to configure batch jobs. * * When performing the same calculation on a number of molecules, this method * will ask the user to configure a calculation using the current molecule and * input generator settings. After the calculation settings are accepted, a * MoleQueueDialog is used to set job options. Both calculation and job * options are stored in the supplied BatchJob object. * * Errors are handled internally. User cancellation is indicated by this * method returning false. * * To submit jobs using the configured options, call BatchJob::submitNextJob * for each molecule. * * Typical usage: ~~~ BatchJob *batch = ...; InputGeneratorDialog dlg(scriptFilePath, windowParent); dlg.setMolecule(&refMol); // Representative molecule as placeholder in GUI. dlg.configureBatchJob(*batch); foreach(mol) batch->submitNextJob(mol); ~~~ */ bool configureBatchJob(BatchJob& batch); public slots: /** * Set the molecule used in the simulation. */ void setMolecule(QtGui::Molecule* mol); private: Ui::InputGeneratorDialog* ui; }; } // namespace MoleQueue } // namespace Avogadro #endif // AVOGADRO_MOLEQUEUE_INPUTGENERATORDIALOG_H avogadrolibs-1.93.0/avogadro/molequeue/inputgeneratordialog.ui000066400000000000000000000015771360735163600246740ustar00rootroot00000000000000 Avogadro::MoleQueue::InputGeneratorDialog 0 0 750 650 Dialog Avogadro::MoleQueue::InputGeneratorWidget QWidget
avogadro/molequeue/inputgeneratorwidget.h
1
avogadrolibs-1.93.0/avogadro/molequeue/inputgeneratorwidget.cpp000066400000000000000000001076411360735163600250640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "inputgeneratorwidget.h" #include "batchjob.h" #include "molequeuedialog.h" #include "molequeuemanager.h" #include "ui_inputgeneratorwidget.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace MoleQueue { using ::MoleQueue::JobObject; InputGeneratorWidget::InputGeneratorWidget(QWidget* parent_) : QWidget(parent_), m_ui(new Ui::InputGeneratorWidget), m_molecule(nullptr), m_updatePending(false), m_batchMode(false), m_inputGenerator(QString()) { m_ui->setupUi(this); m_ui->warningTextButton->setIcon(QIcon::fromTheme("dialog-warning")); connectButtons(); } InputGeneratorWidget::~InputGeneratorWidget() { delete m_ui; } void InputGeneratorWidget::setInputGeneratorScript(const QString& scriptFile) { m_inputGenerator.setScriptFilePath(scriptFile); m_ui->debugCheckBox->setChecked(m_inputGenerator.debug()); updateOptions(); resetWarningDisplay(); } void InputGeneratorWidget::setMolecule(QtGui::Molecule* mol) { if (mol == m_molecule) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (mol) { connect(mol, SIGNAL(changed(unsigned int)), SLOT(updatePreviewText())); connect(mol, SIGNAL(changed(unsigned int)), SLOT(updateTitlePlaceholder())); } updateTitlePlaceholder(); updatePreviewTextImmediately(); } bool InputGeneratorWidget::configureBatchJob(BatchJob& batch) const { if (!m_batchMode) return false; QJsonObject mqOpts = promptForBatchJobOptions(); if (mqOpts.empty()) return false; MoleQueue::JobObject job; job.fromJson(mqOpts); QJsonObject calcOpts; calcOpts[QLatin1String("options")] = collectOptions(); // Set job description from title: QString description; if (!optionString("Title", description) || description.isEmpty()) description = generateJobTitle(); job.setDescription(description); mqOpts = job.json(); batch.setInputGeneratorOptions(calcOpts); batch.setMoleQueueOptions(mqOpts); return true; } void InputGeneratorWidget::setBatchMode(bool m) { if (m_batchMode != m) { m_batchMode = m; foreach (QTextEdit* edit, m_textEdits) edit->setReadOnly(m_batchMode); m_ui->computeButton->setVisible(!m_batchMode); m_ui->generateButton->setVisible(!m_batchMode); m_ui->closeButton->setText(m_batchMode ? tr("Continue") : tr("Close")); updateTitlePlaceholder(); } } void InputGeneratorWidget::showEvent(QShowEvent* e) { QWidget::showEvent(e); // Update the preview text if an update was requested while hidden. Use a // single shot to allow the dialog to show before popping up any warnings. if (m_updatePending) QTimer::singleShot(0, this, SLOT(updatePreviewTextImmediately())); } void InputGeneratorWidget::updatePreviewText() { if (m_updatePending) return; m_updatePending = true; QTimer::singleShot(250, this, SLOT(updatePreviewTextImmediately())); } void InputGeneratorWidget::updatePreviewTextImmediately() { // If the dialog is not shown, delay the update in case we need to prompt the // user to overwrite changes. Set the m_updatePending flag to true so we'll // know to update in the show event. if (!isVisible()) { m_updatePending = true; return; } // Reset the update throttling m_updatePending = false; // Have any buffers been modified? if (!m_dirtyTextEdits.isEmpty()) { QStringList buffers; foreach (QTextEdit* edit, m_dirtyTextEdits) buffers << m_textEdits.key(edit, tr("Unknown")); QString message = tr("The following file(s) have been modified:\n\n%1\n\n" "Would you like to overwrite your changes to reflect " "the new geometry or job options?", "", buffers.size()) .arg(buffers.join("\n")); int response = QMessageBox::question( this, tr("Overwrite modified input files?"), message, QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (static_cast(response) != QMessageBox::Yes) { // Prevent updates while restoring the option cache: bool oldUpdatePending = m_updatePending; m_updatePending = true; // Restore cached options. applyOptions(m_optionCache); m_updatePending = oldUpdatePending; return; } } if (!m_molecule) return; // Generate the input files QJsonObject inputOptions; inputOptions["options"] = collectOptions(); bool success = m_inputGenerator.generateInput(inputOptions, *m_molecule); if (!m_inputGenerator.warningList().isEmpty()) { QString warningHtml; warningHtml += ""; warningHtml += "

" + tr("Problems occured during input generation:") + "

"; warningHtml += "
    "; foreach (const QString& warning, m_inputGenerator.warningList()) warningHtml += QString("
  • %1
  • ").arg(warning); warningHtml += "
"; setWarning(warningHtml); } else { resetWarningDisplay(); } if (!success) { showError(m_inputGenerator.errorList().join("\n\n")); m_inputGenerator.clearErrors(); return; } // Store the currently displayed tab QPointer currentWidget(m_ui->tabWidget->currentWidget()); // Ensure that the correct tabs are shown: QStringList fileNames = m_inputGenerator.fileNames(); // Remove unneeded tabs foreach (const QString& tabName, m_textEdits.keys()) { if (!fileNames.contains(tabName)) { QTextEdit* edit = m_textEdits.value(tabName); int index = m_ui->tabWidget->indexOf(edit); m_ui->tabWidget->removeTab(index); m_textEdits.remove(tabName); delete edit; } } // Add new tabs foreach (const QString& fileName, fileNames) { if (m_textEdits.contains(fileName)) continue; QTextEdit* edit = new QTextEdit(this); edit->setObjectName(fileName); edit->setFontFamily("monospace"); connect(edit, SIGNAL(textChanged()), this, SLOT(textEditModified())); m_ui->tabWidget->addTab(edit, fileName); m_textEdits.insert(fileName, edit); } // Sort and update int index = 0; foreach (const QString& fileName, fileNames) { QTextEdit* edit = m_textEdits.value(fileName); int tabIndex = m_ui->tabWidget->indexOf(edit); if (tabIndex != index) { m_ui->tabWidget->removeTab(tabIndex); m_ui->tabWidget->insertTab(index, edit, fileName); } QtGui::GenericHighlighter* highlighter = m_inputGenerator.createFileHighlighter(fileName); if (highlighter) { highlighter->setParent(this); highlighter->setDocument(edit->document()); } edit->setText(m_inputGenerator.fileContents(fileName)); edit->document()->setModified(false); ++index; } // Reset dirty buffer list and cached option list m_dirtyTextEdits.clear(); m_optionCache = collectOptions(); // Restore current tab if (!currentWidget.isNull()) m_ui->tabWidget->setCurrentWidget(currentWidget); } void InputGeneratorWidget::defaultsClicked() { setOptionDefaults(); updatePreviewTextImmediately(); } void InputGeneratorWidget::generateClicked() { if (m_textEdits.size() == 1) saveSingleFile(m_textEdits.keys().first()); else if (m_textEdits.size() > 1) saveDirectory(); else showError(tr("No input files to save!")); } void InputGeneratorWidget::computeClicked() { // Verify that molequeue is running: MoleQueueManager& mqManager = MoleQueueManager::instance(); if (!mqManager.connectIfNeeded()) { QMessageBox::information(this, tr("Cannot connect to MoleQueue"), tr("Cannot connect to MoleQueue server. Please " "ensure that it is running and try again.")); return; } // Collect info for the MoleQueueDialog: const QString mainFileName = m_inputGenerator.mainFileName(); QString description; if (!optionString("Title", description) || description.isEmpty()) description = generateJobTitle(); QString coresString; int numCores = optionString("Processor Cores", coresString) ? coresString.toInt() : 1; JobObject job; job.setProgram(m_inputGenerator.displayName()); job.setDescription(description); job.setValue("numberOfCores", numCores); for (QMap::const_iterator it = m_textEdits.constBegin(), itEnd = m_textEdits.constEnd(); it != itEnd; ++it) { QString fileName = it.key(); if (fileName != mainFileName) job.appendAdditionalInputFile(fileName, it.value()->toPlainText()); else job.setInputFile(fileName, it.value()->toPlainText()); } MoleQueueDialog::SubmitStatus result = MoleQueueDialog::submitJob( this, tr("Submit %1 Calculation").arg(m_inputGenerator.displayName()), job, MoleQueueDialog::WaitForSubmissionResponse | MoleQueueDialog::SelectProgramFromTemplate); switch (result) { default: case MoleQueueDialog::SubmissionSuccessful: case MoleQueueDialog::SubmissionFailed: case MoleQueueDialog::SubmissionAttempted: case MoleQueueDialog::SubmissionAborted: // The dialog handles these cases adequately, we don't need to do // anything. break; case MoleQueueDialog::JobFailed: // Inform the user: QMessageBox::information(this, tr("Job Failed"), tr("The job did not complete successfully."), QMessageBox::Ok); break; case MoleQueueDialog::JobFinished: // Let the world know that the job is ready to open. job has been // overwritten with the final job details. emit openJobOutput(job); // Hide the parent if it's a dialog: if (QDialog* dlg = qobject_cast(parent())) dlg->hide(); break; } } void InputGeneratorWidget::setWarning(const QString& warn) { qWarning() << tr("Script returns warnings:\n") << warn; m_ui->warningText->setText(warn); m_ui->warningBox->show(); } void InputGeneratorWidget::toggleWarningText() { if (m_ui->warningText->isVisible()) hideWarningText(); else showWarningText(); } void InputGeneratorWidget::showWarningText() { m_ui->warningText->show(); m_ui->warningTextButton->setText(tr("Hide &Warnings")); } void InputGeneratorWidget::hideWarningText() { m_ui->warningText->hide(); m_ui->warningTextButton->setText(tr("Show &Warnings")); } void InputGeneratorWidget::resetWarningDisplay() { m_ui->warningBox->hide(); showWarningText(); } void InputGeneratorWidget::showError(const QString& err) { qWarning() << err; QWidget* theParent = this->isVisible() ? this : qobject_cast(parent()); QDialog dlg(theParent); QVBoxLayout* vbox = new QVBoxLayout(); QLabel* label = new QLabel(tr("An error has occurred:")); vbox->addWidget(label); QTextBrowser* textBrowser = new QTextBrowser(); // adjust the size of the text browser to ~80 char wide, ~20 lines high QSize theSize = textBrowser->sizeHint(); QFontMetrics metrics(textBrowser->currentFont()); int charWidth = metrics.width("i7OPlmWn9/") / 10; int charHeight = metrics.lineSpacing(); theSize.setWidth(80 * charWidth); theSize.setHeight(20 * charHeight); textBrowser->setMinimumSize(theSize); textBrowser->setText(err); vbox->addWidget(textBrowser); dlg.setLayout(vbox); dlg.exec(); } void InputGeneratorWidget::textEditModified() { if (QTextEdit* edit = qobject_cast(sender())) { if (edit->document()->isModified()) { if (!m_dirtyTextEdits.contains(edit)) m_dirtyTextEdits << edit; } else { m_dirtyTextEdits.removeOne(edit); } } } void InputGeneratorWidget::updateTitlePlaceholder() { if (QLineEdit* titleEdit = qobject_cast(m_widgets.value("Title", nullptr))) { titleEdit->setPlaceholderText(generateJobTitle()); } } QString InputGeneratorWidget::settingsKey(const QString& identifier) const { return QString("quantumInput/%1/%2") .arg(m_inputGenerator.displayName(), identifier); } void InputGeneratorWidget::saveSingleFile(const QString& fileName) { QSettings settings; QString filePath = settings.value(settingsKey("outputDirectory")).toString(); if (filePath.isEmpty()) filePath = QDir::homePath(); filePath = QFileDialog::getSaveFileName(this, tr("Select output filename"), filePath + "/" + fileName); // User cancel: if (filePath.isNull()) return; settings.setValue(settingsKey("outputDirectory"), QFileInfo(filePath).absoluteDir().absolutePath()); QFileInfo info(filePath); // Don't check for overwrite: the file save dialog takes care of this. // Attempt to open the file for writing if (!QFile(fileName).open(QFile::WriteOnly)) { showError(tr("%1: File exists and is not writable.").arg(fileName)); return; } QTextEdit* edit = m_textEdits.value(fileName, nullptr); if (!edit) { showError(tr("Internal error: could not find text widget for filename '%1'") .arg(fileName)); return; } QFile file(filePath); bool success = false; if (file.open(QFile::WriteOnly | QFile::Text)) { if (file.write(edit->toPlainText().toLocal8Bit()) > 0) { success = true; } file.close(); } if (!success) { QMessageBox::critical( this, tr("Output Error"), tr("Failed to write to file %1.").arg(file.fileName())); } } void InputGeneratorWidget::saveDirectory() { QSettings settings; QString directory = settings.value(settingsKey("outputDirectory")).toString(); if (directory.isEmpty()) directory = QDir::homePath(); directory = QFileDialog::getExistingDirectory( this, tr("Select output directory"), directory); // User cancel: if (directory.isNull()) return; settings.setValue(settingsKey("outputDirectory"), directory); QDir dir(directory); QStringList fileNames = m_textEdits.keys(); // Check for problems: QStringList errors; bool fatalError = false; do { // Do/while to break on fatal errors if (!dir.exists()) { errors << tr("%1: Directory does not exist!").arg(dir.absolutePath()); fatalError = true; break; } if (!dir.isReadable()) { errors << tr("%1: Directory cannot be read!").arg(dir.absolutePath()); fatalError = true; break; } foreach (const QString& fileName, fileNames) { QFileInfo info(dir.absoluteFilePath(fileName)); if (info.exists()) { errors << tr("%1: File will be overwritten.").arg(info.absoluteFilePath()); } // Attempt to open the file for writing if (!QFile(info.absoluteFilePath()).open(QFile::WriteOnly)) { errors << tr("%1: File is not writable.").arg(info.absoluteFilePath()); fatalError = true; break; } } } while (false); // only run once // Handle fatal errors: if (fatalError) { QString formattedError; switch (errors.size()) { case 0: formattedError = tr("The input files cannot be written due to an unknown error."); break; case 1: formattedError = tr("The input files cannot be written:\n\n%1").arg(errors.first()); break; default: { // If a fatal error occured, it will be last one in the list. Pop it off // and tell the user that it was the reason we had to stop. QString fatal = errors.last(); QStringList tmp(errors); tmp.pop_back(); formattedError = tr("The input files cannot be written:\n\n%1\n\nWarnings:\n\n%2") .arg(fatal, tmp.join("\n")); break; } } showError(formattedError); return; } // Non-fatal errors: if (!errors.isEmpty()) { QString formattedError = tr("Warning:\n\n%1\n\nWould you like to continue?") .arg(errors.join("\n")); QMessageBox::StandardButton reply = QMessageBox::warning(this, tr("Write input files"), formattedError, QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (reply != QMessageBox::Yes) return; } foreach (const QString& fileName, fileNames) { QTextEdit* edit = m_textEdits.value(fileName); QFile file(dir.absoluteFilePath(fileName)); bool success = false; if (file.open(QFile::WriteOnly | QFile::Text)) { if (file.write(edit->toPlainText().toLocal8Bit()) > 0) { success = true; } file.close(); } if (!success) { QMessageBox::critical( this, tr("Output Error"), tr("Failed to write to file %1.").arg(file.fileName())); } } } QJsonObject InputGeneratorWidget::promptForBatchJobOptions() const { // Verify that molequeue is running: MoleQueueManager& mqManager = MoleQueueManager::instance(); if (!mqManager.connectIfNeeded()) { QMessageBox::information(this->parentWidget(), tr("Cannot connect to MoleQueue"), tr("Cannot connect to MoleQueue server. Please " "ensure that it is running and try again.")); return QJsonObject(); } QString coresString; int numCores = optionString("Processor Cores", coresString) ? coresString.toInt() : 1; MoleQueue::JobObject job; job.setProgram(m_inputGenerator.displayName()); job.setValue("numberOfCores", numCores); if (!MoleQueueDialog::promptForJobOptions(this->parentWidget(), tr("Configure Job"), job)) { return QJsonObject(); } return job.json(); } void InputGeneratorWidget::connectButtons() { connect(m_ui->debugCheckBox, SIGNAL(toggled(bool)), &m_inputGenerator, SLOT(setDebug(bool))); connect(m_ui->debugCheckBox, SIGNAL(toggled(bool)), SLOT(updatePreviewText())); connect(m_ui->defaultsButton, SIGNAL(clicked()), SLOT(defaultsClicked())); connect(m_ui->generateButton, SIGNAL(clicked()), SLOT(generateClicked())); connect(m_ui->computeButton, SIGNAL(clicked()), SLOT(computeClicked())); connect(m_ui->closeButton, SIGNAL(clicked()), SIGNAL(closeClicked())); connect(m_ui->warningTextButton, SIGNAL(clicked()), SLOT(toggleWarningText())); } QString InputGeneratorWidget::lookupOptionType(const QString& name) const { if (!m_options.contains("userOptions") || !m_options["userOptions"].isObject()) { qWarning() << tr("'userOptions' missing, or not an object."); return QString(); } QJsonObject userOptions = m_options["userOptions"].toObject(); if (!userOptions.contains(name)) { qWarning() << tr("Option '%1' not found in userOptions.").arg(name); return QString(); } if (!userOptions.value(name).isObject()) { qWarning() << tr("Option '%1' does not refer to an object."); return QString(); } QJsonObject obj = userOptions[name].toObject(); if (!obj.contains("type") || !obj.value("type").isString()) { qWarning() << tr("'type' is not a string for option '%1'.").arg(name); return QString(); } return obj["type"].toString(); } void InputGeneratorWidget::updateOptions() { m_options = m_inputGenerator.options(); if (m_inputGenerator.hasErrors()) { showError(m_inputGenerator.errorList().join("\n\n")); m_inputGenerator.clearErrors(); } // Create the widgets, etc for the gui buildOptionGui(); setOptionDefaults(); } void InputGeneratorWidget::buildOptionGui() { // Clear old widgets from the layout m_widgets.clear(); delete m_ui->optionsWidget->layout(); QFormLayout* form = new QFormLayout; m_ui->optionsWidget->setLayout(form); if (!m_options.contains("userOptions") || !m_options["userOptions"].isObject()) { showError(tr("'userOptions' missing, or not an object:\n%1") .arg(QString(QJsonDocument(m_options).toJson()))); return; } QJsonObject userOptions = m_options.value("userOptions").toObject(); // Title first if (userOptions.contains("Title")) addOptionRow(tr("Title"), userOptions.take("Title")); // File basename next: if (userOptions.contains("Filename Base")) addOptionRow(tr("Filename Base"), userOptions.take("Filename Base")); // Number of cores next: if (userOptions.contains("Processor Cores")) addOptionRow(tr("Processor Cores"), userOptions.take("Processor Cores")); // Calculation Type next: if (userOptions.contains("Calculation Type")) addOptionRow(tr("Calculation Type"), userOptions.take("Calculation Type")); // Theory/basis next. Combine into one row if both present. bool hasTheory = userOptions.contains("Theory"); bool hasBasis = userOptions.contains("Basis"); if (hasTheory && hasBasis) { QWidget* theoryWidget = createOptionWidget(userOptions.take("Theory")); QWidget* basisWidget = createOptionWidget(userOptions.take("Basis")); QHBoxLayout* hbox = new QHBoxLayout; if (theoryWidget) { theoryWidget->setObjectName("Theory"); hbox->addWidget(theoryWidget); m_widgets.insert("Theory", theoryWidget); } if (basisWidget) { basisWidget->setObjectName("Basis"); hbox->addWidget(basisWidget); m_widgets.insert("Basis", basisWidget); } hbox->addStretch(); form->addRow(tr("Theory:"), hbox); } else { if (hasTheory) addOptionRow(tr("Theory"), userOptions.take("Theory")); if (hasBasis) addOptionRow(tr("Basis"), userOptions.take("Basis")); } // Other special cases: if (userOptions.contains("Charge")) addOptionRow(tr("Charge"), userOptions.take("Charge")); if (userOptions.contains("Multiplicity")) addOptionRow(tr("Multiplicity"), userOptions.take("Multiplicity")); // Add remaining keys at bottom. for (QJsonObject::const_iterator it = userOptions.constBegin(), itEnd = userOptions.constEnd(); it != itEnd; ++it) { addOptionRow(it.key(), it.value()); } // Make connections for standard options: if (QComboBox* combo = qobject_cast( m_widgets.value("Calculation Type", nullptr))) { connect(combo, SIGNAL(currentIndexChanged(int)), SLOT(updateTitlePlaceholder())); } if (QComboBox* combo = qobject_cast(m_widgets.value("Theory", nullptr))) { connect(combo, SIGNAL(currentIndexChanged(int)), SLOT(updateTitlePlaceholder())); } if (QComboBox* combo = qobject_cast(m_widgets.value("Basis", nullptr))) { connect(combo, SIGNAL(currentIndexChanged(int)), SLOT(updateTitlePlaceholder())); } } void InputGeneratorWidget::addOptionRow(const QString& label, const QJsonValue& option) { QWidget* widget = createOptionWidget(option); if (!widget) return; QFormLayout* form = qobject_cast(m_ui->optionsWidget->layout()); if (!form) { qWarning() << "Cannot add option" << label << "to GUI -- layout is not a form."; widget->deleteLater(); return; } // For lookups during unit testing: widget->setObjectName(label); form->addRow(label + ":", widget); m_widgets.insert(label, widget); } QWidget* InputGeneratorWidget::createOptionWidget(const QJsonValue& option) { if (!option.isObject()) return nullptr; QJsonObject obj = option.toObject(); if (!obj.contains("type") || !obj.value("type").isString()) return nullptr; QString type = obj["type"].toString(); if (type == "stringList") return createStringListWidget(obj); else if (type == "string") return createStringWidget(obj); else if (type == "filePath") return createFilePathWidget(obj); else if (type == "integer") return createIntegerWidget(obj); else if (type == "float") return createFloatWidget(obj); else if (type == "boolean") return createBooleanWidget(obj); qDebug() << "Unrecognized option type:" << type; return nullptr; } QWidget* InputGeneratorWidget::createStringListWidget(const QJsonObject& obj) { if (!obj.contains("values") || !obj["values"].isArray()) { qDebug() << "QuantumInputDialog::createStringListWidget()" "values missing, or not array!"; return nullptr; } QJsonArray valueArray = obj["values"].toArray(); QComboBox* combo = new QComboBox(this); for (QJsonArray::const_iterator vit = valueArray.constBegin(), vitEnd = valueArray.constEnd(); vit != vitEnd; ++vit) { if ((*vit).isString()) combo->addItem((*vit).toString()); else qDebug() << "Cannot convert value to string for stringList:" << *vit; } connect(combo, SIGNAL(currentIndexChanged(int)), SLOT(updatePreviewText())); return combo; } QWidget* InputGeneratorWidget::createStringWidget(const QJsonObject& obj) { Q_UNUSED(obj); QLineEdit* edit = new QLineEdit(this); connect(edit, SIGNAL(textChanged(QString)), SLOT(updatePreviewText())); return edit; } QWidget* InputGeneratorWidget::createFilePathWidget(const QJsonObject& obj) { Q_UNUSED(obj); QtGui::FileBrowseWidget* fileBrowse = new QtGui::FileBrowseWidget(this); connect(fileBrowse, SIGNAL(fileNameChanged(QString)), SLOT(updatePreviewText())); return fileBrowse; } QWidget* InputGeneratorWidget::createIntegerWidget(const QJsonObject& obj) { QSpinBox* spin = new QSpinBox(this); if (obj.contains("minimum") && obj.value("minimum").isDouble()) { spin->setMinimum(static_cast(obj["minimum"].toDouble() + 0.5)); } if (obj.contains("maximum") && obj.value("maximum").isDouble()) { spin->setMaximum(static_cast(obj["maximum"].toDouble() + 0.5)); } if (obj.contains("prefix") && obj.value("prefix").isString()) { spin->setPrefix(obj["prefix"].toString()); } if (obj.contains("suffix") && obj.value("suffix").isString()) { spin->setSuffix(obj["suffix"].toString()); } connect(spin, SIGNAL(valueChanged(int)), SLOT(updatePreviewText())); return spin; } QWidget* InputGeneratorWidget::createFloatWidget(const QJsonObject& obj) { QDoubleSpinBox* spin = new QDoubleSpinBox(this); if (obj.contains("minimum") && obj.value("minimum").isDouble()) { spin->setMinimum(obj["minimum"].toDouble()); } if (obj.contains("maximum") && obj.value("maximum").isDouble()) { spin->setMaximum(obj["maximum"].toDouble()); } if (obj.contains("precision") && obj.value("precision").isDouble()) { spin->setDecimals(static_cast(obj["precision"].toDouble())); } if (obj.contains("prefix") && obj.value("prefix").isString()) { spin->setPrefix(obj["prefix"].toString()); } if (obj.contains("suffix") && obj.value("suffix").isString()) { spin->setSuffix(obj["suffix"].toString()); } connect(spin, SIGNAL(valueChanged(double)), SLOT(updatePreviewText())); return spin; } QWidget* InputGeneratorWidget::createBooleanWidget(const QJsonObject& obj) { Q_UNUSED(obj); QCheckBox* checkBox = new QCheckBox(this); connect(checkBox, SIGNAL(toggled(bool)), SLOT(updatePreviewText())); return checkBox; } void InputGeneratorWidget::setOptionDefaults() { if (!m_options.contains("userOptions") || !m_options["userOptions"].isObject()) { showError(tr("'userOptions' missing, or not an object:\n%1") .arg(QString(QJsonDocument(m_options).toJson()))); return; } QJsonObject userOptions = m_options["userOptions"].toObject(); for (QJsonObject::ConstIterator it = userOptions.constBegin(), itEnd = userOptions.constEnd(); it != itEnd; ++it) { QString label = it.key(); QJsonValue val = it.value(); if (!val.isObject()) { qWarning() << tr("Error: value must be object for key '%1'.").arg(label); continue; } QJsonObject obj = val.toObject(); if (obj.contains("default")) setOption(label, obj["default"]); else if (m_inputGenerator.debug()) qWarning() << tr("Default value missing for option '%1'.").arg(label); } } void InputGeneratorWidget::setOption(const QString& name, const QJsonValue& defaultValue) { QString type = lookupOptionType(name); if (type == "stringList") return setStringListOption(name, defaultValue); else if (type == "string") return setStringOption(name, defaultValue); else if (type == "filePath") return setFilePathOption(name, defaultValue); else if (type == "integer") return setIntegerOption(name, defaultValue); else if (type == "boolean") return setBooleanOption(name, defaultValue); qWarning() << tr("Unrecognized option type '%1' for option '%2'.").arg(type).arg(name); return; } void InputGeneratorWidget::setStringListOption(const QString& name, const QJsonValue& value) { QComboBox* combo = qobject_cast(m_widgets.value(name, nullptr)); if (!combo) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isDouble() && !value.isString()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } int index = -1; if (value.isDouble()) index = static_cast(value.toDouble() + 0.5); else if (value.isString()) index = combo->findText(value.toString()); if (index < 0) { qWarning() << tr("Error setting default for option '%1'. " "Could not find valid combo entry index from value:") .arg(name) << value; return; } combo->setCurrentIndex(index); } void InputGeneratorWidget::setStringOption(const QString& name, const QJsonValue& value) { QLineEdit* lineEdit = qobject_cast(m_widgets.value(name, nullptr)); if (!lineEdit) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isString()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } lineEdit->setText(value.toString()); } void InputGeneratorWidget::setFilePathOption(const QString& name, const QJsonValue& value) { QtGui::FileBrowseWidget* fileBrowse = qobject_cast(m_widgets.value(name, nullptr)); if (!fileBrowse) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isString()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } fileBrowse->setFileName(value.toString()); } void InputGeneratorWidget::setIntegerOption(const QString& name, const QJsonValue& value) { QSpinBox* spin = qobject_cast(m_widgets.value(name, nullptr)); if (!spin) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isDouble()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } int intVal = static_cast(value.toDouble() + 0.5); spin->setValue(intVal); } void InputGeneratorWidget::setBooleanOption(const QString& name, const QJsonValue& value) { QCheckBox* checkBox = qobject_cast(m_widgets.value(name, nullptr)); if (!checkBox) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isBool()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } checkBox->setChecked(value.toBool()); } bool InputGeneratorWidget::optionString(const QString& option, QString& value) const { QWidget* widget = m_widgets.value(option, nullptr); bool retval = false; value.clear(); if (QLineEdit* edit = qobject_cast(widget)) { retval = true; value = edit->text(); } else if (QComboBox* combo = qobject_cast(widget)) { retval = true; value = combo->currentText(); } else if (QSpinBox* spinbox = qobject_cast(widget)) { retval = true; value = QString::number(spinbox->value()); } else if (QDoubleSpinBox* dspinbox = qobject_cast(widget)) { retval = true; value = QString::number(dspinbox->value()); } else if (QtGui::FileBrowseWidget* fileBrowse = qobject_cast(widget)) { retval = true; value = fileBrowse->fileName(); } return retval; } QJsonObject InputGeneratorWidget::collectOptions() const { QJsonObject ret; foreach (QString label, m_widgets.keys()) { QWidget* widget = m_widgets.value(label, nullptr); if (QComboBox* combo = qobject_cast(widget)) { ret.insert(label, combo->currentText()); } else if (QLineEdit* lineEdit = qobject_cast(widget)) { QString value(lineEdit->text()); if (value.isEmpty() && label == "Title") value = generateJobTitle(); ret.insert(label, value); } else if (QSpinBox* spinBox = qobject_cast(widget)) { ret.insert(label, spinBox->value()); } else if (QCheckBox* checkBox = qobject_cast(widget)) { ret.insert(label, checkBox->isChecked()); } else if (QtGui::FileBrowseWidget* fileBrowse = qobject_cast(widget)) { ret.insert(label, fileBrowse->fileName()); } else { qWarning() << tr("Unhandled widget in collectOptions for option '%1'.").arg(label); } } return ret; } void InputGeneratorWidget::applyOptions(const QJsonObject& opts) { foreach (const QString& label, opts.keys()) setOption(label, opts[label]); } QString InputGeneratorWidget::generateJobTitle() const { QString calculation; bool haveCalculation(optionString("Calculation Type", calculation)); QString theory; bool haveTheory(optionString("Theory", theory)); QString basis; bool haveBasis(optionString("Basis", basis)); // Merge theory/basis into theory if (haveBasis) { if (haveTheory) theory += "/"; theory += basis; theory.replace(QRegExp("\\s+"), ""); haveTheory = true; } if (m_batchMode) { QString result; result = haveCalculation ? calculation : QString(); result += haveTheory ? (result.size() != 0 ? " | " : QString()) + theory : QString(); return result; } QString formula(m_molecule ? QString::fromStdString(m_molecule->formula()) : tr("[no molecule]")); return QString("%1%2%3") .arg(formula) .arg(haveCalculation ? " | " + calculation : QString()) .arg(haveTheory ? " | " + theory : QString()); } } // namespace MoleQueue } // namespace Avogadro avogadrolibs-1.93.0/avogadro/molequeue/inputgeneratorwidget.h000066400000000000000000000210051360735163600245160ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_MOLEQUEUE_INPUTGENERATORWIDGET_H #define AVOGADRO_MOLEQUEUE_INPUTGENERATORWIDGET_H #include #include "inputgenerator.h" #include class QJsonValue; class QTextEdit; class QWidget; namespace MoleQueue { class JobObject; } namespace Avogadro { namespace QtGui { class Molecule; } namespace MoleQueue { namespace Ui { class InputGeneratorWidget; } class BatchJob; /** * @class InputGeneratorWidget inputgeneratorwidget.h * * @brief The InputGeneratorWidget class provides a user interface for * configuring, saving, editing, and running input files produced by * InputGenerator scripts. * @sa InputGenerator InputGeneratorDialog * * The InputGeneratorWidget creates a GUI to represent the options given by an * input generator script, and has some utilities for job submission through * MoleQueue. * * By default, the widget will configure input files for a single molecule, * which can be either written to disk or submitted for processing with * MoleQueue. * * By enabling batch mode (setBatchMode()), the current molecule is used to * configure a calculation for submission to MoleQueue, and the parameters are * saved. These may be used to configure and submit jobs for other molecules. */ class AVOGADROMOLEQUEUE_EXPORT InputGeneratorWidget : public QWidget { Q_OBJECT public: /** * Construct a widget that dynamically generates a GUI to configure the * InputGenerator script specified by scriptFilePath. */ explicit InputGeneratorWidget(QWidget* parent_ = 0); ~InputGeneratorWidget() override; /** * Use the input generator script pointed to by scriptFilePath. * @param scriptFilePath Absolute path to generator script. */ void setInputGeneratorScript(const QString& scriptFilePath); /** * Set the molecule used in the simulation. */ void setMolecule(QtGui::Molecule* mol); /** * Access to the underlying input generator object. @{ */ const InputGenerator& inputGenerator() const { return m_inputGenerator; } /** * @return True if the widget is in batch mode. See the class documentation * for details. Default is false. */ bool batchMode() const { return m_batchMode; } /** * Collect the current calculation parameters and prompt for MoleQueue * options. Both option sets are stored in @a batch. */ bool configureBatchJob(BatchJob& batch) const; public slots: /** * Enable/disable 'template mode'. See the class documentation for details. * Default is off. */ void setBatchMode(bool m); signals: /** * @brief closeClicked is emitted when the close button is clicked. */ void closeClicked(); /** * Emitted when the user requests that a job's output be loaded in Avogadro. */ void openJobOutput(const ::MoleQueue::JobObject& job); protected: /** * Reimplemented to update preview text. Hidden dialogs will wait until they * are reshown to update the text to prevent overwriting any modified buffers. */ void showEvent(QShowEvent* e) override; private slots: /** * Update the input files. This method is throttled, and will only call the * generator script once every 250 milliseconds. */ void updatePreviewText(); /** * Immediately update the input files, bypassing (and resetting) the throttle * mechanism. */ void updatePreviewTextImmediately(); /** * Triggered when the user resets the default values. */ void defaultsClicked(); /** * Triggered when the user requests that the files are written to disk. */ void generateClicked(); /** * Triggered when the user requests that the simulation is submitted to * MoleQueue. */ void computeClicked(); /** * Show the user an warning. These are messages returned by the input * generator script. */ void setWarning(const QString& warn); /** * Toggle the visibility of the warning text. */ void toggleWarningText(); /** * Show the warning text. */ void showWarningText(); /** * Hide the warning text. */ void hideWarningText(); /** * Hide the warning widget. */ void resetWarningDisplay(); /** * Show the user an error message. These are errors that have occurred * in this extension, not necessarily in the input generator script. */ void showError(const QString& err); /** * Triggered when an input file's text edit is modified. */ void textEditModified(); /** * Generate a job title automatically. */ void updateTitlePlaceholder(); private: /** * Generate a QSettings key with the given identifier that is unique to this * input generator's display name. * @param identifier Setting key, e.g. "outputPath" * @return Script-specific key, e.g. "quantumInput/GAMESS/outputPath" * @todo Display names are not necessarily unique, but paths are too long. * Maybe add a namespace qualifier to the script display names? */ QString settingsKey(const QString& identifier) const; /** * Write the input file(s) to disk. Prompts user for target location. * @{ */ void saveSingleFile(const QString& fileName); void saveDirectory(); /**@}*/ /** Get batch job options from MoleQueueDialog. */ QJsonObject promptForBatchJobOptions() const; /** * Make signal/slot connections. */ void connectButtons(); /** * Given the name of a user-option in m_options, return the type string. * If an error occurs, an empty string will be returned. */ QString lookupOptionType(const QString& name) const; /** * Used to construct the script-specific GUI. * @{ */ void updateOptions(); void buildOptionGui(); void addOptionRow(const QString& label, const QJsonValue& option); QWidget* createOptionWidget(const QJsonValue& option); QWidget* createStringListWidget(const QJsonObject& obj); QWidget* createStringWidget(const QJsonObject& obj); QWidget* createFilePathWidget(const QJsonObject& obj); QWidget* createIntegerWidget(const QJsonObject& obj); QWidget* createFloatWidget(const QJsonObject& obj); QWidget* createBooleanWidget(const QJsonObject& obj); /**@}*/ /** * Set the simulation settings to their default values. * @{ */ void setOptionDefaults(); void setOption(const QString& name, const QJsonValue& defaultValue); void setStringListOption(const QString& name, const QJsonValue& value); void setStringOption(const QString& name, const QJsonValue& value); void setFilePathOption(const QString& name, const QJsonValue& value); void setIntegerOption(const QString& name, const QJsonValue& value); void setBooleanOption(const QString& name, const QJsonValue& value); /**@}*/ /** * @brief Search for an option named @a option and convert its value to a * string. * @param option The name of the option. * @param value String to overwrite with option value. * @return True if value is overwritten, false if the option is not found or * cannot be converted to a string. */ bool optionString(const QString& option, QString& value) const; /** * Collect all of the user-specified options into a JSON object, to be sent * to the generator script. */ QJsonObject collectOptions() const; /** * Apply the options in the passed QJsonObject to the GUI. Any widgets changed * by this method will have their signals blocked while modifying their * values. */ void applyOptions(const QJsonObject& opts); /** * Update the autogenerated job title in the GUI. */ QString generateJobTitle() const; Ui::InputGeneratorWidget* m_ui; QtGui::Molecule* m_molecule; QJsonObject m_options; QJsonObject m_optionCache; // For reverting changes bool m_updatePending; bool m_batchMode; QList m_dirtyTextEdits; InputGenerator m_inputGenerator; QMap m_widgets; QMap m_textEdits; }; } // namespace MoleQueue } // namespace Avogadro #endif // AVOGADRO_MOLEQUEUE_INPUTGENERATORWIDGET_H avogadrolibs-1.93.0/avogadro/molequeue/inputgeneratorwidget.ui000066400000000000000000000071341360735163600247130ustar00rootroot00000000000000 Avogadro::MoleQueue::InputGeneratorWidget 0 0 813 650 Form 0 0 Calculation Settings 0 0 Qt::Horizontal 40 20 Placeholder text... Reset to Default Values Debug script... Qt::Horizontal QSizePolicy::MinimumExpanding 13 20 Submit Calculation... Write files to disk... Close avogadrolibs-1.93.0/avogadro/molequeue/molequeuedialog.cpp000066400000000000000000000155631360735163600237740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "molequeuedialog.h" #include "molequeuewidget.h" #include "ui_molequeuedialog.h" #include #include #include #include #include namespace Avogadro { namespace MoleQueue { using ::MoleQueue::JobObject; MoleQueueDialog::MoleQueueDialog(QWidget* parent_) : QDialog(parent_), m_ui(new Ui::MoleQueueDialog) { m_ui->setupUi(this); } MoleQueueDialog::~MoleQueueDialog() { delete m_ui; } MoleQueueDialog::SubmitStatus MoleQueueDialog::submitJob( QWidget* parent_, const QString& caption, JobObject& jobTemplate, SubmitOptions options, unsigned int* moleQueueId, int* submissionRequestId) { // initialize return args if (moleQueueId) *moleQueueId = MoleQueueWidget::InvalidMoleQueueId; if (submissionRequestId) *submissionRequestId = -1; MoleQueueDialog dlg(parent_); dlg.setWindowTitle(caption); dlg.widget().setJobTemplate(jobTemplate); if (options & SelectProgramFromTemplate) dlg.widget().showAndSelectProgram(jobTemplate.program()); for (;;) { int dlgResult = dlg.exec(); if (dlgResult != QDialog::Accepted) return SubmissionAborted; int requestId = dlg.widget().submitJobRequest(); if (options & WaitForSubmissionResponse || dlg.widget().openOutput()) { QProgressDialog progress; progress.setCancelButton(nullptr); progress.setLabelText(tr("Submitting job to MoleQueue...")); progress.setRange(0, 0); progress.setValue(0); progress.show(); QList submittedSignal; submittedSignal << MetaMethod(&dlg.widget(), SIGNAL(jobSubmitted(bool))); if (!dlg.waitForSignal(submittedSignal)) { progress.hide(); QMessageBox::information(&dlg, tr("Job Submission Timeout"), tr("Avogadro timed out waiting for a reply " "from MoleQueue.")); continue; } if (dlg.widget().submissionSuccess()) { if (submissionRequestId != nullptr) *submissionRequestId = dlg.widget().requestId(); if (moleQueueId != nullptr) *moleQueueId = dlg.widget().moleQueueId(); // Do we need to wait for the job to finish? if (!dlg.widget().openOutput()) return SubmissionSuccessful; // Update progress dialog progress.setLabelText(tr("Waiting for job %1 '%2' to finish...") .arg(dlg.widget().moleQueueId()) .arg(jobTemplate.description())); progress.setCancelButtonText(tr("Stop waiting")); // Wait for job completion or progress bar cancellation. QList completionSignals; completionSignals << MetaMethod(&dlg.widget(), SIGNAL(jobFinished(bool))) << MetaMethod(&progress, SIGNAL(canceled())); dlg.waitForSignal(completionSignals, -1); // Did the user cancel? if (progress.wasCanceled()) return SubmissionSuccessful; // Error occurred: if (!dlg.widget().jobSuccess()) return JobFailed; // Update progress bar: progress.setLabelText(tr("Fetching completed job information...")); progress.setCancelButton(nullptr); // Job completed -- overwrite job template with updated job details. connect(&dlg.widget(), SIGNAL(jobUpdated(MoleQueue::JobObject)), &dlg.widget(), SLOT(setJobTemplate(MoleQueue::JobObject))); QList lookupSignal; lookupSignal << MetaMethod(&dlg.widget(), SIGNAL(jobUpdated(MoleQueue::JobObject))); dlg.widget().requestJobLookup(); if (!dlg.waitForSignal(lookupSignal)) { progress.hide(); QMessageBox::information(&dlg, tr("Job Retrieval Timeout"), tr("Avogadro timed out waiting for the " "finished job details from MoleQueue.")); return JobFailed; } jobTemplate = dlg.widget().jobTemplate(); return JobFinished; } else { progress.hide(); QMessageBox::warning(&dlg, tr("Error Submitting Job"), tr("The job has been rejected by MoleQueue: %1") .arg(dlg.widget().submissionError())); continue; } } else { if (requestId >= 0) { if (submissionRequestId != nullptr) *submissionRequestId = requestId; return SubmissionAttempted; } else { return SubmissionFailed; } } } } bool MoleQueueDialog::promptForJobOptions(QWidget* windowParent, const QString& caption, MoleQueue::JobObject& jobTemplate) { MoleQueueDialog dlg(windowParent); dlg.setWindowTitle(caption); dlg.widget().setBatchMode(true); dlg.widget().setJobTemplate(jobTemplate); if (!jobTemplate.program().isEmpty()) dlg.widget().showAndSelectProgram(jobTemplate.program()); if (static_cast(dlg.exec()) != Accepted) return false; jobTemplate = dlg.widget().configuredJob(); return true; } MoleQueueWidget& MoleQueueDialog::widget() { return *m_ui->widget; } const MoleQueueWidget& MoleQueueDialog::widget() const { return *m_ui->widget; } bool MoleQueueDialog::waitForSignal(const QList& signalList, int msTimeout) const { QEventLoop waiter; foreach (const MetaMethod& sig, signalList) connect(sig.first, sig.second, &waiter, SLOT(quit())); QTimer limiter; if (msTimeout >= 0) { limiter.setSingleShot(true); connect(&limiter, SIGNAL(timeout()), &waiter, SLOT(quit())); limiter.start(msTimeout); } waiter.exec(); return limiter.isActive(); } void MoleQueueDialog::done(int r) { if (r == QDialog::Accepted && !widget().programSelected()) { QMessageBox::information(parentWidget(), tr("No program selected."), tr("Please select the target program from the " "\"Queue and Program\" list.")); } else { QDialog::done(r); } } } // namespace MoleQueue } // namespace Avogadro avogadrolibs-1.93.0/avogadro/molequeue/molequeuedialog.h000066400000000000000000000143101360735163600234260ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_MOLEQUEUE_MOLEQUEUEDIALOG_H #define AVOGADRO_MOLEQUEUE_MOLEQUEUEDIALOG_H #include "avogadromolequeueexport.h" #include #include namespace MoleQueue { class JobObject; } namespace Avogadro { namespace MoleQueue { class MoleQueueWidget; namespace Ui { class MoleQueueDialog; } /** * @class MoleQueueDialog molequeuedialog.h * * @brief The MoleQueueDialog class provides a thin wrapper around * MoleQueueWidget for standalone use. * @sa MoleQueueWidget MoleQueueManager */ class AVOGADROMOLEQUEUE_EXPORT MoleQueueDialog : public QDialog { Q_OBJECT public: explicit MoleQueueDialog(QWidget* parent_ = 0); ~MoleQueueDialog() override; /** * @brief Options controlling job submission behavior in the submitJob method. */ enum SubmitOption { /** * Keep the dialog open until MoleQueue replies to the submission request. * If a submission error occurs, the user will have to opportunity to fix * it. */ WaitForSubmissionResponse = 0x1, /** * Use the program in the template job to initialize the queue/program view. * All queues containing a matching program will be expanded, and the first * match will be selected. * To match, an existing program must contain the template program string, * and comparisons are case insensitive. */ SelectProgramFromTemplate = 0x2 }; Q_DECLARE_FLAGS(SubmitOptions, SubmitOption) /** * @brief Return values from submitJob indicating result. */ enum SubmitStatus { /** * The job was accepted by MoleQueue. * This can only be returned when WaitForSubmissionResponse IS set as an * option. */ SubmissionSuccessful = 0, /** * The job was not submitted to MoleQueue, likely due to a disconnected * server. * This can only be returned when WaitForSubmissionResponse IS NOT * set as an option. */ SubmissionFailed, /** * The job was submitted to MoleQueue. This can only be returned when * WaitForSubmissionResponse is NOT set as an option. */ SubmissionAttempted, /** * The user canceled the submission. */ SubmissionAborted, /** * The user requested that the job output be opened when finished, but * the job did not finish successfully (the job was either canceled or * failed). */ JobFailed, /** * The user requested that the job output be opened when finished, and * the job completed without error. The jobTemplate argument of * submitJob will be overwritten with the current job details, fetched * from the server after the job enters the "Finished" state. */ JobFinished }; /** * Show a job configuration dialog and let the user submit the job to * MoleQueue. * @param parent_ The parent widget for parenting/layout purposes. * @param caption The dialog title. * @param jobTemplate A template job, used to initialize GUI options. If * the user requests that the job output is opened and the job finishes * successfully, this will be overwritten with the current job details, and * JobFinished is returned. * @param options Bitwise combination of flags that control dialog behavior. * @param moleQueueId If not nullptr, the variable referenced by this pointer * will be overwritten by the MoleQueue Id of the submitted job when the * option WaitForSubmissionResponse is set. * If an error occurs or the required option is not set, this value will be * set to MoleQueueWidget::InvalidMoleQueueId. * @param submissionRequestId If not nullptr, the variable referenced by this * pointer will be overwritten by the submitJob JSON-RPC 2.0 request id. * If an error occurs, this value will be set to -1. * @return A SubmitStatus enum value indicating the result of the submission. */ static SubmitStatus submitJob(QWidget* parent_, const QString& caption, ::MoleQueue::JobObject& jobTemplate, SubmitOptions options, unsigned int* moleQueueId = nullptr, int* submissionRequestId = nullptr); /** * Show a job configuration dialog and collect the user's selected options. * @param windowParent The parent of the dialog window. * @param caption Title of the dialog window. * @param jobTemplate JobObject with initial options. Will be overwritten * with the configured job options. * @return True on success, false otherwise. */ static bool promptForJobOptions(QWidget* windowParent, const QString& caption, ::MoleQueue::JobObject& jobTemplate); /** * @return A reference to the internal MoleQueueWidget instance. * @{ */ MoleQueueWidget& widget(); const MoleQueueWidget& widget() const; /** @} */ public slots: void done(int r) override; private: typedef QPair MetaMethod; /** * Wait @a timeout milliseconds for @a source to emit @a signal. * @param signalList List of QObject* and const char* (signals) to listen for. * @param msTimeout Timeout in milliseconds. A negative value will wait * forever. * @return True if a signal in @a signalList is received, false on timeout. */ bool waitForSignal(const QList& signalList, int msTimeout = 5000) const; Ui::MoleQueueDialog* m_ui; }; Q_DECLARE_OPERATORS_FOR_FLAGS(MoleQueueDialog::SubmitOptions) } // namespace MoleQueue } // namespace Avogadro #endif // AVOGADRO_MOLEQUEUE_MOLEQUEUEDIALOG_H avogadrolibs-1.93.0/avogadro/molequeue/molequeuedialog.ui000066400000000000000000000035401360735163600236170ustar00rootroot00000000000000 Avogadro::MoleQueue::MoleQueueDialog 0 0 400 300 Dialog Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok Avogadro::MoleQueue::MoleQueueWidget QWidget
avogadro/molequeue/molequeuewidget.h
1
buttonBox accepted() Avogadro::MoleQueue::MoleQueueDialog accept() 248 254 157 274 buttonBox rejected() Avogadro::MoleQueue::MoleQueueDialog reject() 316 260 286 274
avogadrolibs-1.93.0/avogadro/molequeue/molequeuemanager.cpp000066400000000000000000000042401360735163600241350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "molequeuemanager.h" namespace Avogadro { namespace MoleQueue { MoleQueueManager* MoleQueueManager::m_instance = nullptr; MoleQueueManager::MoleQueueManager(QObject* parent_) : QObject(parent_), m_client(this), m_queueModel(this) { connect(&m_client, SIGNAL(queueListReceived(QJsonObject)), SLOT(updateQueueModel(QJsonObject))); } MoleQueueManager::~MoleQueueManager() { } MoleQueueManager& MoleQueueManager::instance() { return m_instance ? *m_instance : *(m_instance = new MoleQueueManager()); } bool MoleQueueManager::connectIfNeeded() { return m_client.isConnected() || m_client.connectToServer(); } ::MoleQueue::Client& MoleQueueManager::client() { return m_client; } const ::MoleQueue::Client& MoleQueueManager::client() const { return m_client; } MoleQueueQueueListModel& MoleQueueManager::queueListModel() { return m_queueModel; } bool MoleQueueManager::requestQueueList() { return m_client.isConnected() && m_client.requestQueueList() >= 0; } void MoleQueueManager::updateQueueModel(const QJsonObject& json) { QList queueList; QList programList; foreach (const QString& queue, json.keys()) { queueList.append(queue); programList.append(QStringList()); QStringList& progs = programList.back(); foreach (const QJsonValue& program, json.value(queue).toArray()) { if (program.isString()) progs << program.toString(); } } m_queueModel.setQueueList(queueList, programList); emit queueListUpdated(); } } // namespace MoleQueue } // namespace Avogadro avogadrolibs-1.93.0/avogadro/molequeue/molequeuemanager.h000066400000000000000000000054101360735163600236020ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_MOLEQUEUE_MOLEQUEUEMANAGER_H #define AVOGADRO_MOLEQUEUE_MOLEQUEUEMANAGER_H #include #include "molequeuequeuelistmodel.h" #include #include namespace Avogadro { namespace MoleQueue { /** * @class MoleQueueManager molequeuemanager.h * * @brief The MoleQueueManager class provides access to a MoleQueue server. * * This singleton class provides access to a single MoleQueue::Client instance * that can be used to communicate with the server. The available queues and * programs are cached in a MoleQueueQueueListModel (queueListModel()). The * connectIfNeeded convenience function can be used to ensure that the client * is connected before use. */ class AVOGADROMOLEQUEUE_EXPORT MoleQueueManager : public QObject { Q_OBJECT public: explicit MoleQueueManager(QObject* parent_ = 0); ~MoleQueueManager() override; /** * @return The singleton instance. */ static MoleQueueManager& instance(); /** * Test if the client is connected, and if not, attempt a connection. * @return True if the client is already connected or a new connection has * been successfully created. False if the new connection failed. */ bool connectIfNeeded(); /** * @return A reference to the managed MoleQueue::Client instance. * @{ */ ::MoleQueue::Client& client(); const ::MoleQueue::Client& client() const; /** @} */ /** * @return A QAbstractItemModel subclass representing the queue/program tree. */ MoleQueueQueueListModel& queueListModel(); public slots: /** * Request that the cached queue list is updated. * @return True if the request is send successfully. */ bool requestQueueList(); signals: /** * Emitted when the internal queue list is updated. */ void queueListUpdated(); private slots: void updateQueueModel(const QJsonObject& queueList); private: static MoleQueueManager* m_instance; ::MoleQueue::Client m_client; MoleQueueQueueListModel m_queueModel; }; } // namespace MoleQueue } // namespace Avogadro #endif // AVOGADRO_MOLEQUEUE_MOLEQUEUEMANAGER_H avogadrolibs-1.93.0/avogadro/molequeue/molequeuequeuelistmodel.cpp000066400000000000000000000255431360735163600255750ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "molequeuequeuelistmodel.h" #include #include namespace Avogadro { namespace MoleQueue { namespace { // Internal id used for queue model indices static const quint32 QueueInternalId(std::numeric_limits::max()); // Internal id used for invalid indices static const quint32 InvalidInternalId(std::numeric_limits::max() - 1); // Maximum assignable internal id. Must be last: static const quint32 MaxInternalId(std::numeric_limits::max() - 2); } MoleQueueQueueListModel::MoleQueueQueueListModel(QObject* parent_) : QAbstractItemModel(parent_), m_uidCounter(0) { } MoleQueueQueueListModel::~MoleQueueQueueListModel() { } void MoleQueueQueueListModel::setQueueList(QList queueList, QList programList) { const int numQueues = queueList.size(); if (numQueues != programList.size()) { qWarning() << "Error setting molequeue queuelist data in model: " "number of queues does not match size of program table."; return; } // Sync our data structures with the arguments: int newInd = 0; int oldInd = 0; while (newInd < queueList.size() && oldInd < m_queueList.size()) { const QString& newQueue = queueList[newInd]; const QString& oldQueue = m_queueList[oldInd]; if (newQueue < oldQueue) { const QStringList& newProgs = programList[newInd]; insertQueue(oldInd, newQueue, newProgs); ++oldInd; ++newInd; } else if (oldQueue < newQueue) { removeQueue(oldInd); } else { // newQueue == oldQueue const QStringList& newProgs = programList[newInd]; mergeQueue(oldInd, newProgs); ++oldInd; ++newInd; } } // Add any remaining new queues for (; newInd < queueList.size(); ++newInd, ++oldInd) insertQueue(m_queueList.size(), queueList[newInd], programList[newInd]); // or remove any stale old queues. while (oldInd < m_queueList.size()) removeQueue(oldInd); } QStringList MoleQueueQueueListModel::queues() const { return m_queueList; } QStringList MoleQueueQueueListModel::programs(const QString& queue) const { int ind = m_queueList.indexOf(queue); return ind >= 0 ? m_programList[ind] : QStringList(); } QModelIndexList MoleQueueQueueListModel::findQueueIndices( const QString& filter) const { return match(index(0, 0), Qt::DisplayRole, filter, -1, Qt::MatchContains); } QModelIndexList MoleQueueQueueListModel::findProgramIndices( const QString& programFilter, const QString& queueFilter) const { QModelIndexList result; foreach (const QModelIndex& idx, findQueueIndices(queueFilter)) { result << match(index(0, 0, idx), Qt::DisplayRole, programFilter, -1, Qt::MatchContains); } return result; } bool MoleQueueQueueListModel::lookupProgram(const QModelIndex& idx, QString& queueName, QString& programName) const { QVariant resultVariant = data(idx, QueueProgramRole); if (resultVariant.type() == QVariant::StringList) { QStringList resultList(resultVariant.toStringList()); if (resultList.size() == 2) { queueName = resultList[0]; programName = resultList[1]; return true; } } queueName.clear(); programName.clear(); return false; } QVariant MoleQueueQueueListModel::data(const QModelIndex& idx, int role) const { if (!idx.isValid() || (role != Qt::DisplayRole && role != QueueProgramRole)) { return QVariant(); } if (isQueueIndex(idx)) { if (role == Qt::DisplayRole) { return m_queueList[idx.row()]; } } else { const int queueIndex(idx.parent().row()); if (queueIndex < m_queueList.size()) { const QStringList& progs(m_programList[queueIndex]); if (idx.row() < progs.size()) { const QString& prog(progs[idx.row()]); switch (role) { case Qt::DisplayRole: return prog; case QueueProgramRole: { QStringList result = m_uidLookup.value( static_cast(idx.internalId()), QStringList()); if (result.size() == 2) return result; break; } default: break; } } } } return QVariant(); } Qt::ItemFlags MoleQueueQueueListModel::flags(const QModelIndex& idx) const { if (!idx.isValid()) return Qt::NoItemFlags; if (isQueueIndex(idx)) return Qt::ItemIsEnabled; else return Qt::ItemIsSelectable | Qt::ItemIsEnabled; } QVariant MoleQueueQueueListModel::headerData(int, Qt::Orientation, int) const { return QVariant(); } QModelIndex MoleQueueQueueListModel::index(int row, int column, const QModelIndex& parent_) const { if (!hasIndex(row, column, parent_)) return QModelIndex(); // Queue Index -- parent is invalid. if (!parent_.isValid() && row < m_queueList.size() && column == 0) { return createIndex(row, column, QueueInternalId); } // Program index else if (isQueueIndex(parent_)) { const QStringList& progs(m_programList[parent_.row()]); if (row < progs.size() && column == 0) { const QString& queue(m_queueList[parent_.row()]); const QString& prog(progs[row]); QStringList val = QStringList() << queue << prog; quint32 key = m_uidLookup.key(val, InvalidInternalId); if (key != InvalidInternalId) return createIndex(row, column, key); } } // fail. return QModelIndex(); } QModelIndex MoleQueueQueueListModel::parent(const QModelIndex& child) const { if (child.isValid()) { const quint32 childId = static_cast(child.internalId()); // Child is queue -- return invalid parent. if (childId == QueueInternalId) return QModelIndex(); // Child is program -- lookup and return queue index. const int queueRow = programUidToQueueRow(childId); if (queueRow >= 0) return createIndex(queueRow, 0, QueueInternalId); } return QModelIndex(); } int MoleQueueQueueListModel::rowCount(const QModelIndex& parent_) const { // Queue count: if (!parent_.isValid()) return m_queueList.size(); else if (isQueueIndex(parent_)) return m_programList[parent_.row()].size(); return 0; } int MoleQueueQueueListModel::columnCount(const QModelIndex& parent_) const { return (!parent_.isValid() || isQueueIndex(parent_)) ? 1 : 0; } void MoleQueueQueueListModel::insertQueue(int row, const QString& queue, const QStringList& progs) { beginInsertRows(QModelIndex(), row, row); m_queueList.insert(row, queue); m_programList.insert(row, QStringList()); endInsertRows(); beginInsertRows(createIndex(row, 0, QueueInternalId), 0, progs.size() - 1); m_programList[row] = progs; foreach (const QString& progName, progs) m_uidLookup.insert(nextUid(), QStringList() << queue << progName); endInsertRows(); } void MoleQueueQueueListModel::removeQueue(int row) { const QString queue(m_queueList[row]); QStringList& progs = m_programList[row]; beginRemoveRows(createIndex(row, 0, QueueInternalId), 0, progs.size() - 1); foreach (const QString& prog, progs) m_uidLookup.remove(lookupUid(queue, prog)); progs.clear(); endRemoveRows(); beginRemoveRows(QModelIndex(), row, row); m_queueList.removeAt(row); m_programList.removeAt(row); endRemoveRows(); } void MoleQueueQueueListModel::mergeQueue(int row, const QStringList& newProgs) { QStringList& oldProgs(m_programList[row]); int oldInd = 0; int newInd = 0; while (oldInd < oldProgs.size() && newInd < newProgs.size()) { const QString& oldProg(oldProgs[oldInd]); const QString& newProg(newProgs[newInd]); if (newProg < oldProg) { insertProgram(row, oldInd, newProg); ++newInd; ++oldInd; } else if (oldProg < newProg) { removeProgram(row, oldInd); } else { // Program exists ++newInd; ++oldInd; } } // Add any remaining new programs for (; newInd < newProgs.size(); ++newInd, ++oldInd) insertProgram(row, m_programList[row].size(), newProgs[newInd]); // Or remove any old programs. while (oldInd < m_programList[row].size()) removeProgram(row, oldInd); } void MoleQueueQueueListModel::insertProgram(int queueRow, int progRow, const QString& progName) { beginInsertRows(createIndex(queueRow, 0, QueueInternalId), progRow, progRow); m_programList[queueRow].insert(progRow, progName); m_uidLookup.insert(nextUid(), QStringList() << m_queueList[queueRow] << progName); endInsertRows(); } void MoleQueueQueueListModel::removeProgram(int queueRow, int progRow) { beginRemoveRows(createIndex(queueRow, 0, QueueInternalId), progRow, progRow); m_uidLookup.remove(lookupUid(queueRow, progRow)); m_programList[queueRow].removeAt(progRow); endRemoveRows(); } bool MoleQueueQueueListModel::isQueueIndex(const QModelIndex& i) const { if (i.isValid() && static_cast(i.internalId()) == QueueInternalId && i.row() < m_queueList.size() && i.column() == 0) { return true; } return false; } bool MoleQueueQueueListModel::isProgramIndex(const QModelIndex& i) const { return i.isValid() && m_uidLookup.contains(static_cast(i.internalId())); } quint32 MoleQueueQueueListModel::lookupUid(const QString& queue, const QString& prog) { return m_uidLookup.key(QStringList() << queue << prog, InvalidInternalId); } quint32 MoleQueueQueueListModel::lookupUid(const int queueRow, const int progRow) { if (queueRow < m_queueList.size()) { QStringList& progs = m_programList[queueRow]; if (progRow < progs.size()) return lookupUid(m_queueList[queueRow], progs[progRow]); } return InvalidInternalId; } int MoleQueueQueueListModel::programUidToQueueRow(quint32 uid) const { const QStringList val(m_uidLookup.value(uid, QStringList())); if (val.size() == 2) { const QString& queue = val[0]; const int queueRow = m_queueList.indexOf(queue); if (queueRow >= 0) return queueRow; } return -1; } quint32 MoleQueueQueueListModel::nextUid() { if (m_uidCounter++ >= MaxInternalId) m_uidCounter = 0; return m_uidCounter; } } // namespace MoleQueue } // namespace Avogadro avogadrolibs-1.93.0/avogadro/molequeue/molequeuequeuelistmodel.h000066400000000000000000000126541360735163600252410ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_MOLEQUEUE_MOLEQUEUEQUEUELISTMODEL_H #define AVOGADRO_MOLEQUEUE_MOLEQUEUEQUEUELISTMODEL_H #include "avogadromolequeueexport.h" #include #include // for gtest unit testing access class MoleQueueQueueListModelTestBridge; namespace Avogadro { namespace MoleQueue { class MoleQueueManager; /** * @class MoleQueueQueueListModel molequeuequeuelistmodel.h * * @brief The MoleQueueQueueListModel class is Qt item model representing the * tree of available queues and programs in a running MoleQueue process. * * This class provides access to the available MoleQueue queues and programs in * a convenient tree item model. Resources can be queried directly using the * queues() and programs() methods, or this item model may be used with a Qt * model view class, such a QTreeView. * * QModelIndex objects that match a queue or program node may be found using the * findQueueIndices() and findProgramIndices() methods. A program model index * may be translated into queue and program strings using the lookupProgram() * method. * * An instance of this class is obtained by calling * MoleQueueManager::instance().queueListModel(), and can be updated by calling * MoleQueueManager::instance().requestQueueList() and waiting for the * MoleQueueManager::queueListUpdated() signal. */ class AVOGADROMOLEQUEUE_EXPORT MoleQueueQueueListModel : public QAbstractItemModel { Q_OBJECT public: ~MoleQueueQueueListModel() override; /** * @return A list of the available queues. */ QStringList queues() const; /** * @return A list of programs belonging to @a queue. */ QStringList programs(const QString& queue) const; /** * @return A QModelIndexList containing indices for queues that contain the * string @a filter. Matches are case-insensitive. */ QModelIndexList findQueueIndices(const QString& filter = QString()) const; /** * @return A QModelIndexList containing indices for programs that contain the * string @a programFilter and belong to queues that contain @a queueFilter. * Matches are case-insensitive. */ QModelIndexList findProgramIndices( const QString& programFilter = QString(), const QString& queueFilter = QString()) const; /** * Translate a QModelIndex for a program node into queue and program strings. * @param idx The model index. * @param queueName String reference to be overwritten with the queue name. * @param programName String reference to be overwritten with the queue name. * @return True if the index matched a program node, false otherwise. */ bool lookupProgram(const QModelIndex& idx, QString& queueName, QString& programName) const; // QAbstractItemModel virtuals QVariant data(const QModelIndex& idx, int role) const override; Qt::ItemFlags flags(const QModelIndex& idx = QModelIndex()) const override; QVariant headerData(int section, Qt::Orientation orientation, int role) const override; QModelIndex index(int row, int column, const QModelIndex& parent_ = QModelIndex()) const override; QModelIndex parent(const QModelIndex& child) const override; int rowCount(const QModelIndex& parent_ = QModelIndex()) const override; int columnCount(const QModelIndex& parent_ = QModelIndex()) const override; protected: friend class MoleQueueManager; friend class ::MoleQueueQueueListModelTestBridge; /** * Protected constructor. Keeps objects isolated to MoleQueueManager ivars. */ explicit MoleQueueQueueListModel(QObject* parent_ = 0); /** * Used to retrieve a QStringList with [queueName, programName] from data() * given a program model index. */ enum { QueueProgramRole = Qt::UserRole }; /** * Merge the queue and program lists with the existing model. */ void setQueueList(QList queueList, QList programList); private: void insertQueue(int row, const QString& queue, const QStringList& progs); void removeQueue(int row); void mergeQueue(int row, const QStringList& newProgs); void insertProgram(int queueRow, int progRow, const QString& progName); void removeProgram(int queueRow, int progRow); bool isQueueIndex(const QModelIndex& i) const; bool isProgramIndex(const QModelIndex& i) const; quint32 lookupUid(const QString& queue, const QString& prog); quint32 lookupUid(const int queueRow, const int progRow); int programUidToQueueRow(quint32 uid) const; quint32 nextUid(); QList m_queueList; QList m_programList; // maps program index internal id to [queueName, programName] QStringList QMap m_uidLookup; quint32 m_uidCounter; }; } // namespace MoleQueue } // namespace Avogadro #endif // AVOGADRO_MOLEQUEUE_MOLEQUEUEQUEUELISTMODEL_H avogadrolibs-1.93.0/avogadro/molequeue/molequeuewidget.cpp000066400000000000000000000225521360735163600240140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "molequeuewidget.h" #include "ui_molequeuewidget.h" #include "molequeuemanager.h" #include #include #include namespace Avogadro { namespace MoleQueue { using ::MoleQueue::JobObject; using ::MoleQueue::Client; const unsigned int MoleQueueWidget::InvalidMoleQueueId( std::numeric_limits::max()); MoleQueueWidget::MoleQueueWidget(QWidget* parent_) : QWidget(parent_), m_ui(new Ui::MoleQueueWidget), m_jobState("Unknown"), m_requestId(-1), m_moleQueueId(InvalidMoleQueueId) { m_ui->setupUi(this); connect(m_ui->refreshProgramsButton, SIGNAL(clicked()), SLOT(refreshPrograms())); MoleQueueManager& mqManager = MoleQueueManager::instance(); m_ui->queueListView->setModel(&mqManager.queueListModel()); if (mqManager.connectIfNeeded()) mqManager.requestQueueList(); } MoleQueueWidget::~MoleQueueWidget() { delete m_ui; } JobObject& MoleQueueWidget::jobTemplate() { return m_jobTemplate; } const JobObject& MoleQueueWidget::jobTemplate() const { return m_jobTemplate; } void MoleQueueWidget::setJobTemplate(const JobObject& job) { m_jobTemplate = job; m_ui->numberOfCores->setValue(job.value("numberOfCores", 1).toInt()); m_ui->cleanRemoteFiles->setChecked( job.value("cleanRemoteFiles", false).toBool()); m_ui->hideFromGui->setChecked(job.value("hideFromGui", false).toBool()); m_ui->popupOnStateChange->setChecked( job.value("popupOnStateChange", false).toBool()); } void MoleQueueWidget::refreshPrograms() { MoleQueueManager& mqManager = MoleQueueManager::instance(); if (!mqManager.connectIfNeeded()) { QMessageBox::information(this, tr("Cannot connect to MoleQueue"), tr("Cannot connect to MoleQueue server. Please " "ensure that it is running and try again.")); return; } mqManager.requestQueueList(); } int MoleQueueWidget::submitJobRequest() { m_submissionError.clear(); m_jobState = "Unknown"; m_requestId = -1; m_moleQueueId = InvalidMoleQueueId; MoleQueueManager& mqManager = MoleQueueManager::instance(); if (!mqManager.connectIfNeeded()) return -1; MoleQueue::JobObject job(configuredJob()); if (job.queue().isEmpty()) // if the queue is not set, the job config failed. return -1; m_requestId = mqManager.client().submitJob(job); if (m_requestId >= 0) { listenForJobSubmitReply(); listenForJobStateChange(); } else { m_submissionError = tr("Client failed to submit job to MoleQueue."); // Single shot ensures that this signal is emitted after control returns // to the event loop QTimer::singleShot(0, this, SIGNAL(jobSubmitted(false))); } return m_requestId; } void MoleQueueWidget::showAndSelectProgram(const QString& programName) { MoleQueueManager& mqManager = MoleQueueManager::instance(); setProperty("selectProgramName", programName); connect(&mqManager, SIGNAL(queueListUpdated()), SLOT(showAndSelectProgramHandler())); if (mqManager.connectIfNeeded()) mqManager.requestQueueList(); } bool MoleQueueWidget::openOutput() const { return m_ui->openOutput->isChecked(); } bool MoleQueueWidget::requestJobLookup() { MoleQueueManager& mqManager = MoleQueueManager::instance(); if (m_moleQueueId != InvalidMoleQueueId && mqManager.connectIfNeeded()) { listenForLookupJobReply(); int reqId = mqManager.client().lookupJob(m_moleQueueId); setProperty("lookupJobRequestId", reqId); return true; } return false; } MoleQueue::JobObject MoleQueueWidget::configuredJob() const { MoleQueueManager& mqManager = MoleQueueManager::instance(); // get queue/program QModelIndexList sel(m_ui->queueListView->selectionModel()->selectedIndexes()); if (sel.size() < 1) { QMessageBox::information(parentWidget(), tr("No program selected."), tr("Please select the target program from the " "\"Queue and Program\" list.")); return MoleQueue::JobObject(); } QString queue; QString program; if (!mqManager.queueListModel().lookupProgram(sel.first(), queue, program)) { QMessageBox::critical(parentWidget(), tr("Internal error."), tr("Unable to resolve program selection. This is " "a bug.")); return MoleQueue::JobObject(); } MoleQueue::JobObject job(m_jobTemplate); job.setQueue(queue); job.setProgram(program); job.setValue("numberOfCores", m_ui->numberOfCores->value()); job.setValue("cleanRemoteFiles", m_ui->cleanRemoteFiles->isChecked()); job.setValue("hideFromGui", m_ui->hideFromGui->isChecked()); job.setValue("popupOnStateChange", m_ui->popupOnStateChange->isChecked()); return job; } void MoleQueueWidget::setBatchMode(bool batch) { m_ui->openOutput->setHidden(batch); m_ui->openOutputLabel->setHidden(batch); } bool MoleQueueWidget::batchMode() const { return m_ui->openOutput->isHidden(); } void MoleQueueWidget::showAndSelectProgramHandler() { MoleQueueManager& mqManager = MoleQueueManager::instance(); const QString program(property("selectProgramName").toString()); setProperty("selectProgramName", QVariant()); disconnect(&mqManager, SIGNAL(queueListUpdated()), this, SLOT(showAndSelectProgramHandler())); // Get all program nodes that match the name QModelIndexList list(mqManager.queueListModel().findProgramIndices(program)); // Expand the corresponding queues foreach (const QModelIndex& mi, list) m_ui->queueListView->expand(mi.parent()); // Select the first entry if (!list.isEmpty()) { m_ui->queueListView->selectionModel()->select( list.first(), QItemSelectionModel::ClearAndSelect); m_ui->queueListView->scrollTo(list.first()); } } void MoleQueueWidget::onLookupJobReply(int reqId, const QJsonObject& result) { QVariant reqIdVariant(property("lookupJobRequestId")); bool ok; int myReqId = reqIdVariant.toInt(&ok); if (ok && reqId == myReqId) { setProperty("lookupJobRequestId", QVariant()); listenForLookupJobReply(false); MoleQueue::JobObject job; job.fromJson(result); emit jobUpdated(job); } } void MoleQueueWidget::onSubmissionSuccess(int localId, unsigned int mqId) { if (localId != m_requestId) return; listenForJobSubmitReply(false); m_moleQueueId = mqId; emit jobSubmitted(true); } void MoleQueueWidget::onSubmissionFailure(int localId, unsigned int, const QString& error) { if (localId != m_requestId) return; listenForJobSubmitReply(false); m_submissionError = error; emit jobSubmitted(false); } void MoleQueueWidget::onJobStateChange(unsigned int mqId, const QString&, const QString& newState) { if (mqId != m_moleQueueId) return; m_jobState = newState; if (m_jobState == QLatin1String("Finished")) { listenForJobStateChange(false); emit jobFinished(true); } else if (m_jobState == QLatin1String("Error") || m_jobState == QLatin1String("Canceled")) { listenForJobStateChange(false); emit jobFinished(false); } } void MoleQueueWidget::listenForLookupJobReply(bool listen) { Client& mqClient(MoleQueueManager::instance().client()); if (listen) { connect(&mqClient, SIGNAL(lookupJobResponse(int, QJsonObject)), this, SLOT(onLookupJobReply(int, QJsonObject))); } else { disconnect(&mqClient, SIGNAL(lookupJobResponse(int, QJsonObject)), this, SLOT(onLookupJobReply(int, QJsonObject))); } } void MoleQueueWidget::listenForJobSubmitReply(bool listen) { MoleQueue::Client& mqClient(MoleQueueManager::instance().client()); if (listen) { connect(&mqClient, SIGNAL(submitJobResponse(int, uint)), this, SLOT(onSubmissionSuccess(int, uint))); connect(&mqClient, SIGNAL(errorReceived(int, uint, QString)), this, SLOT(onSubmissionFailure(int, uint, QString))); } else { disconnect(&mqClient, SIGNAL(submitJobResponse(int, uint)), this, SLOT(onSubmissionSuccess(int, uint))); disconnect(&mqClient, SIGNAL(errorReceived(int, uint, QString)), this, SLOT(onSubmissionFailure(int, uint, QString))); } } void MoleQueueWidget::listenForJobStateChange(bool listen) { MoleQueue::Client& mqClient(MoleQueueManager::instance().client()); if (listen) { connect(&mqClient, SIGNAL(jobStateChanged(uint, QString, QString)), this, SLOT(onJobStateChange(uint, QString, QString))); } else { disconnect(&mqClient, SIGNAL(jobStateChanged(uint, QString, QString)), this, SLOT(onJobStateChange(uint, QString, QString))); } } bool MoleQueueWidget::programSelected() { QModelIndexList sel(m_ui->queueListView->selectionModel()->selectedIndexes()); return sel.size() > 0; } } // namespace MoleQueue } // namespace Avogadro avogadrolibs-1.93.0/avogadro/molequeue/molequeuewidget.h000066400000000000000000000144201360735163600234540ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_MOLEQUEUE_MOLEQUEUEWIDGET_H #define AVOGADRO_MOLEQUEUE_MOLEQUEUEWIDGET_H #include "avogadromolequeueexport.h" #include #include #include namespace Avogadro { namespace MoleQueue { namespace Ui { class MoleQueueWidget; } /** * @class MoleQueueWidget molequeuewidget.h * * @brief The MoleQueueWidget class provides a widget for configuring and * submitting a MoleQueue::JobObject. */ class AVOGADROMOLEQUEUE_EXPORT MoleQueueWidget : public QWidget { Q_OBJECT public: explicit MoleQueueWidget(QWidget* parent_ = 0); ~MoleQueueWidget() override; /** * A "template" MoleQueue::JobObject that is used to initialize the GUI. * Should be fully configured to submit, as this is used to initialize job * that will be submitted by submitJobRequest. * @{ */ ::MoleQueue::JobObject& jobTemplate(); const ::MoleQueue::JobObject& jobTemplate() const; public slots: void setJobTemplate(const ::MoleQueue::JobObject& job); public: /** @} */ /** * Expand all queue nodes that contain a program that matches @a programName * and select the first matching program node. * Matches are case insensitive. */ void showAndSelectProgram(const QString& programName); /** * @return True if the last submission was successful. Only valid after * jobSubmitted has been emitted. */ bool submissionSuccess() const { return m_moleQueueId != InvalidMoleQueueId; } /** * @return True if the last submission was successful. Only valid after * jobSubmitted has been emitted. */ QString jobState() const { return m_jobState; } /** * @return True if the job has finished running. */ bool jobCompleted() const { return (m_jobState == QLatin1String("Finished") || m_jobState == QLatin1String("Error") || m_jobState == QLatin1String("Canceled")); } /** * @return true if the job completed without error. */ bool jobSuccess() const { return m_jobState == QLatin1String("Finished"); } /** * @return The request id associated with the last call to submitJobRequest. * -1 if there was a submission error. */ int requestId() const { return m_requestId; } /** * Indicates an invalid MoleQueue ID in the moleQueueId() result. */ static const unsigned int InvalidMoleQueueId; /** * @return The MoleQueue ID associated with the last submitJobRequest() call. * Only valid after jobSubmitted has been emitted. * @note If an error occurs, InvalidMoleQueueId will be returned. */ unsigned int moleQueueId() const { return m_moleQueueId; } /** * @return A string describing the submission error when submissionSuccess() * return false. */ QString submissionError() const { return m_submissionError; } /** * @return True if the user has requested that the output file be opened when * the calculation completes. */ bool openOutput() const; /** * @brief Request the current state of the job identified by moleQueueId() * from the server. The result will be emitted in the jobUpdated() signal. * @return True if moleQueueId() is valid and the server is connected, false * if the request cannot be sent. */ bool requestJobLookup(); /** * If the widget is in 'batch mode', options that don't make sense are hidden * (such as 'open output when finished'). */ void setBatchMode(bool batch); bool batchMode() const; /**@}*/ /** * @return True if the user has selected a program, false otherwise. */ bool programSelected(); /** * @return A JobObject with the GUI options. Any settings in jobTemplate that * are not handled by the GUI are passed through untouched to the new object. */ ::MoleQueue::JobObject configuredJob() const; public slots: /** * Query the MoleQueue server (if available) for the list of available queues * and programs. */ void refreshPrograms(); /** * Submit the job returned by configuredJob() to MoleQueue. * @return The request id associated with the submission, or -1 on error. * @note The result of the submission request can be checked by monitoring * jobSubmitted, which will always be emitted after this slot is called. */ int submitJobRequest(); signals: /** * Emitted after a call to submitJobRequest * @param success True if the job has been accepted by MoleQueue. */ void jobSubmitted(bool success); /** * Emitted after jobSubmitted is emitted and the job completes. * @param success True if the job enters the "Finished" state. False if the * job enters the "Canceled" or "Error" states. */ void jobFinished(bool success); /** * Emitted after a successful call to requestJobLookup(). * @param job The result of the lookupJob() RPC query. */ void jobUpdated(const ::MoleQueue::JobObject& job); private slots: void showAndSelectProgramHandler(); void onLookupJobReply(int reqId, const QJsonObject& result); void onSubmissionSuccess(int localId, unsigned int moleQueueId); void onSubmissionFailure(int localId, unsigned int, const QString& error); void onJobStateChange(unsigned int mqId, const QString& oldState, const QString& newState); private: void listenForLookupJobReply(bool listen = true); void listenForJobSubmitReply(bool listen = true); void listenForJobStateChange(bool listen = true); Ui::MoleQueueWidget* m_ui; ::MoleQueue::JobObject m_jobTemplate; QString m_jobState; QString m_submissionError; int m_requestId; unsigned int m_moleQueueId; }; } // namespace MoleQueue } // namespace Avogadro #endif // AVOGADRO_MOLEQUEUE_MOLEQUEUEWIDGET_H avogadrolibs-1.93.0/avogadro/molequeue/molequeuewidget.ui000066400000000000000000000150541360735163600236460ustar00rootroot00000000000000 Avogadro::MoleQueue::MoleQueueWidget 0 0 618 300 Form 0 0 Queue and Program: Qt::Horizontal 40 20 Refresh 0 0 QFormLayout::AllNonFixedFieldsGrow Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 0 0 <html><head/><body><p>Number of processor cores to reserve for this job.</p></body></html> Processor cores: numberOfCores 1 65536 Qt::Horizontal 40 20 <html><head/><body><p>Delete remote working files upon job completion. Results will still be copied to the local MoleQueue job cache first.</p></body></html> Delete remote files when finished: cleanRemoteFiles <html><head/><body><p>Check to prevent this job from showing up in the MoleQueue GUI by default.</p></body></html> Hide job in MoleQueue: hideFromGui <html><head/><body><p>Show a system popup notification when the job's status changes.</p></body></html> Show progress notifications: popupOnStateChange Open output when finished: openOutput refreshProgramsButton queueListView numberOfCores cleanRemoteFiles hideFromGui popupOnStateChange openOutput avogadrolibs-1.93.0/avogadro/protocall/000077500000000000000000000000001360735163600200735ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/protocall/CMakeLists.txt000066400000000000000000000011071360735163600226320ustar00rootroot00000000000000find_package(Eigen3 REQUIRED) include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) find_package(protobuf REQUIRED NO_MODULE) include_directories(SYSTEM ${protobuf_INCLUDE_DIRS}) find_package(ProtoCall REQUIRED NO_MODULE) include_directories(SYSTEM ${ProtoCall_INCLUDE_DIRS}) set(HEADERS moleculeserializer.h moleculedeserializer.h matrixserialization.h ) set(SOURCES moleculeserializer.cpp moleculedeserializer.cpp matrixserialization.cpp ) avogadro_add_library(AvogadroProtoCall ${HEADERS} ${SOURCES}) target_link_libraries(AvogadroProtoCall AvogadroIO protobuf) avogadrolibs-1.93.0/avogadro/protocall/matrixserialization.cpp000066400000000000000000000115001360735163600246760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "matrixserialization.h" #include #include #include #include "utils.h" namespace Avogadro { namespace ProtoCall { namespace MatrixSerialization { using google::protobuf::uint32; using google::protobuf::uint64; using google::protobuf::io::CodedInputStream; using google::protobuf::io::CodedOutputStream; using google::protobuf::io::ArrayInputStream; using google::protobuf::io::ArrayOutputStream; size_t sizeOf(const Avogadro::Vector2& vec2) { AVO_UNUSED(vec2); return 2 * sizeof(uint64); } size_t sizeOf(const Avogadro::Vector3& vec3) { AVO_UNUSED(vec3); return 3 * sizeof(uint64); } size_t sizeOf(const Avogadro::MatrixX& matrix) { // TODO varint encode the size ? ... return (2 * sizeof(uint32)) + (matrix.rows() * matrix.cols() * sizeof(uint64)); } bool serializeInternal(const Avogadro::MatrixX& matrix, google::protobuf::io::CodedOutputStream* stream) { for (int row = 0; row < matrix.rows(); row++) { for (int col = 0; col < matrix.cols(); col++) { uint64 value = Utils::encodeDouble(matrix(row, col)); stream->WriteLittleEndian64(value); if (stream->HadError()) return false; } } return true; } bool serialize(const Avogadro::Vector2& vec2, void* data, size_t size) { ArrayOutputStream aos(data, size); CodedOutputStream cos(&aos); return serialize(vec2, &cos); } bool serialize(const Avogadro::Vector3& vec3, void* data, size_t size) { ArrayOutputStream aos(data, size); CodedOutputStream cos(&aos); return serialize(vec3, &cos); } bool serialize(const Avogadro::MatrixX& matrix, void* data, size_t size) { ArrayOutputStream aos(data, size); CodedOutputStream cos(&aos); return serialize(matrix, &cos); } bool serialize(const Avogadro::Vector2& vec2, google::protobuf::io::CodedOutputStream* stream) { return serializeInternal(vec2, stream); } bool serialize(const Avogadro::Vector3& vec3, google::protobuf::io::CodedOutputStream* stream) { return serializeInternal(vec3, stream); } bool serialize(const Avogadro::MatrixX& matrix, google::protobuf::io::CodedOutputStream* stream) { stream->WriteLittleEndian32(matrix.rows()); if (stream->HadError()) return false; stream->WriteLittleEndian32(matrix.cols()); if (stream->HadError()) return false; return serializeInternal(matrix, stream); } bool deserialize(Avogadro::Vector2& vec2, const void* data) { size_t size = sizeOf(vec2); ArrayInputStream ais(data, size); CodedInputStream cis(&ais); return deserialize(vec2, &cis); } bool deserialize(Avogadro::Vector3& vec3, const void* data) { size_t size = sizeOf(vec3); ArrayInputStream ais(data, size); CodedInputStream cis(&ais); return deserialize(vec3, &cis); } bool deserialize(Avogadro::MatrixX& matrix, const void* data, size_t size) { ArrayInputStream ais(data, size); CodedInputStream cis(&ais); return deserialize(matrix, &cis); } bool deserialize(Avogadro::Vector2& vec2, google::protobuf::io::CodedInputStream* stream) { for (int row = 0; row < 2; row++) { uint64 tmp; if (!stream->ReadLittleEndian64(&tmp)) return false; vec2[row] = Utils::decodeDouble(tmp); } return true; } bool deserialize(Avogadro::Vector3& vec3, google::protobuf::io::CodedInputStream* stream) { for (int row = 0; row < 3; row++) { uint64 tmp; if (!stream->ReadLittleEndian64(&tmp)) return false; vec3[row] = Utils::decodeDouble(tmp); } return true; } bool deserialize(Avogadro::MatrixX& matrix, google::protobuf::io::CodedInputStream* stream) { uint32 rows; uint32 cols; if (!stream->ReadLittleEndian32(&rows)) { return false; } if (!stream->ReadLittleEndian32(&cols)) return false; matrix.resize(rows, cols); for (uint32 row = 0; row < rows; row++) { for (uint32 col = 0; col < cols; col++) { uint64 tmp; if (!stream->ReadLittleEndian64(&tmp)) return false; matrix(row, col) = Utils::decodeDouble(tmp); } } return true; } } // namespace MatrixSerialization } // namespace ProtoCall } // namespace Avogadro avogadrolibs-1.93.0/avogadro/protocall/matrixserialization.h000066400000000000000000000134251360735163600243530ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "avogadroprotocallexport.h" #include #include #include #ifndef AVOGADRO_PROTOCALL_MATRIXSERIALIZATION_H #define AVOGADRO_PROTOCALL_MATRIXSERIALIZATION_H namespace google { namespace protobuf { namespace io { class CodedOutputStream; class CodedInputStream; } } } /** * Namespace contain utility methods to serialize and deserialize vectors and * matrixes */ namespace Avogadro { namespace ProtoCall { namespace MatrixSerialization { /** * @return the size of Avogadro::Vector2 within byte stream. */ AVOGADROPROTOCALL_EXPORT size_t sizeOf(const Avogadro::Vector2& vec2); /** * @return the size of Avogadro::Vector3 within byte stream. */ AVOGADROPROTOCALL_EXPORT size_t sizeOf(const Avogadro::Vector3& vec3); /** * @return the size of Avogadro::MatrixX within byte stream. */ AVOGADROPROTOCALL_EXPORT size_t sizeOf(const Avogadro::MatrixX& matrix); /** * Serialize Avogadro::Vector2 instance to buffer. * * @param vec2 The vector to serialize. * @param data The buffer to serialize into. * @param size The buffer size. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool serialize(const Avogadro::Vector2& vec2, void* data, size_t size); /** * Serialize Avogadro::Vector3 instance to buffer. * * @param vec3 The vector to serialize. * @param data The buffer to serialize into. * @param size The buffer size. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool serialize(const Avogadro::Vector3& vec3, void* data, size_t size); /** * Serialize Avogadro::MatrixX instance to buffer. * * @param matrix The matrix to serialize. * @param data The buffer to serialize into. * @param size The buffer size. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool serialize(const Avogadro::MatrixX& matrix, void* data, size_t size); /** * Serialize Avogadro::Vector2 instance to stream. * * @param vec2 The vector to serialize. * @param stream The stream to serialize into. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool serialize( const Avogadro::Vector2& vec2, google::protobuf::io::CodedOutputStream* stream); /** * Serialize Avogadro::Vector3 instance to stream. * * @param vec3 The vector to serialize. * @param stream The stream to serialize into. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool serialize( const Avogadro::Vector3& vec3, google::protobuf::io::CodedOutputStream* stream); /** * Serialize Avogadro::MatrixX instance to stream. * * @param matrix The matrix to serialize. * @param stream The stream to serialize into. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool serialize( const Avogadro::MatrixX& matrix, google::protobuf::io::CodedOutputStream* stream); /** * Deserialize Avogadro::Vector2 instance from buffer. * * @param vec2 The vector to deserialize into. * @param data The buffer to read the instance from. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool deserialize(Avogadro::Vector2& vec2, const void* data); /** * Deserialize Avogadro::Vector3 instance from buffer. * * @param vec3 The vector to deserialize into. * @param data The buffer to read the instance from. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool deserialize(Avogadro::Vector3& vec3, const void* data); /** * Deserialize Avogadro::MatrixX instance from buffer. * * @param matrix The matrix to deserialize into. * @param data The buffer to read the instance from. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool deserialize(Avogadro::MatrixX& matrix, const void* data, size_t size); /** * Deserialize Avogadro::Vector2 instance from stream. * * @param vec2 The vector to deserialize into. * @param stream The stream to read the instance from. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool deserialize( Avogadro::Vector2& vec2, google::protobuf::io::CodedInputStream* stream); /** * Deserialize Avogadro::Vector3 instance from stream. * * @param vec3 The vector to deserialize into. * @param stream The stream to read the instance from. * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool deserialize( Avogadro::Vector3& vec3, google::protobuf::io::CodedInputStream* stream); /** * Deserialize Avogadro::MatrixX instance from stream. * * @param matrix The matrix to deserialize into. * @param stream The stream to read the instance from. * * * @return true if successful, false otherwise. */ AVOGADROPROTOCALL_EXPORT bool deserialize( Avogadro::MatrixX& matrix, google::protobuf::io::CodedInputStream* stream); } // namespace MatrixSerialization } // namespace ProtoCall } // namespace Avogadro #endif /* MATRIXSERIALIZATION_H_ */ avogadrolibs-1.93.0/avogadro/protocall/moleculedeserializer.cpp000066400000000000000000000106351360735163600250140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "moleculedeserializer.h" #include "matrixserialization.h" #include #include #include #include using Avogadro::Core::Molecule; using Avogadro::Io::FileFormat; using Avogadro::Io::FileFormatManager; using google::protobuf::io::ArrayOutputStream; using google::protobuf::io::CodedOutputStream; using google::protobuf::io::ArrayInputStream; using google::protobuf::io::CodedInputStream; using google::protobuf::uint32; using google::protobuf::uint8; namespace Avogadro { namespace Core { MoleculeDeserializer::MoleculeDeserializer(Molecule* molecule) : m_molecule(molecule) { } bool MoleculeDeserializer::deserialize(const void* data, size_t size) { ArrayInputStream ais(data, size); CodedInputStream cis(&ais); // Read the atoms if (!this->deserializeAtomicNumbers(&cis)) return false; // Read the positions2d if (!this->deserializePositions2d(&cis)) return false; // Read the positions3d if (!this->deserializePostions3d(&cis)) return false; // Read bond pairs if (!this->deserializeBondPairs(&cis)) return false; // Read bond orders if (!this->deserializeBondOrders(&cis)) return false; return true; } bool MoleculeDeserializer::deserializeAtomicNumbers( google::protobuf::io::CodedInputStream* stream) { // Read the atoms m_molecule->clearAtoms(); uint32 numberOfAtoms; if (!stream->ReadLittleEndian32(&numberOfAtoms)) return false; for (uint32 i = 0; i < numberOfAtoms; i++) { unsigned char atom; if (!stream->ReadRaw(&atom, sizeof(unsigned char))) return false; m_molecule->addAtom(atom); } return true; } bool MoleculeDeserializer::deserializePositions2d( google::protobuf::io::CodedInputStream* stream) { // Get the count uint32 posCount; if (!stream->ReadLittleEndian32(&posCount)) return false; // Clear an current positions m_molecule->atomPositions2d().clear(); for (uint32 i = 0; i < posCount; i++) { Avogadro::Vector2 vec2; if (!ProtoCall::MatrixSerialization::deserialize(vec2, stream)) return false; m_molecule->atomPositions2d().push_back(vec2); } return true; } bool MoleculeDeserializer::deserializePostions3d( google::protobuf::io::CodedInputStream* stream) { // Get the count uint32 posCount; if (!stream->ReadLittleEndian32(&posCount)) return false; // Clear an current positions m_molecule->atomPositions3d().clear(); for (uint32 i = 0; i < posCount; i++) { Avogadro::Vector3 vec3; if (!ProtoCall::MatrixSerialization::deserialize(vec3, stream)) return false; m_molecule->atomPositions3d().push_back(vec3); } return true; } bool MoleculeDeserializer::deserializeBondPairs( google::protobuf::io::CodedInputStream* stream) { uint32 bondCount; if (!stream->ReadLittleEndian32(&bondCount)) return false; // Clear and bond pairs m_molecule->bondPairs().clear(); for (uint32 i = 0; i < bondCount; i++) { uint32 from, to; if (!stream->ReadLittleEndian32(&from)) return false; if (!stream->ReadLittleEndian32(&to)) return false; std::pair bond; bond.first = from; bond.second = to; m_molecule->bondPairs().push_back(bond); } return true; } bool MoleculeDeserializer::deserializeBondOrders( google::protobuf::io::CodedInputStream* stream) { uint32 bondOrderCount; if (!stream->ReadLittleEndian32(&bondOrderCount)) return false; // Clear bond order m_molecule->bondOrders().clear(); for (uint32 i = 0; i < bondOrderCount; i++) { unsigned char bond; if (!stream->ReadRaw(&bond, sizeof(unsigned char))) return false; m_molecule->bondOrders().push_back(bond); } return true; } } // namespace Core } // namespace Avogadro avogadrolibs-1.93.0/avogadro/protocall/moleculedeserializer.h000066400000000000000000000051401360735163600244540ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_PROTOCALL_MOLECULEDESERIALIZER_H #define AVOGADRO_PROTOCALL_MOLECULEDESERIALIZER_H #include "avogadro/core/molecule.h" #include "avogadroprotocallexport.h" #include #include namespace Avogadro { namespace Core { /** * @class MoleculeDeserializer moleculedeserializer.h * * @brief Implementation of ProtoCall::Serialization::Deserializer * */ class AVOGADROPROTOCALL_EXPORT MoleculeDeserializer : public ProtoCall::Serialization::Deserializer { public: /** * @param molecule The molecule to deserialize into. */ MoleculeDeserializer(Molecule* molecule); /** * Deserialize buffer into molecules. * * @param data The buffer containing the molecule byte stream. * @param size The size of the buffer. * * @return true if successful, false otherwise. */ bool deserialize(const void* data, size_t size); private: /** * Deserialize bond pairs from stream. * * @return true if successful, false otherwise. */ bool deserializeBondPairs(google::protobuf::io::CodedInputStream* stream); /** * * Deserialize bond order from stream. * * @return true if successful, false otherwise. */ bool deserializeBondOrders(google::protobuf::io::CodedInputStream* stream); /** * Deserialize atomic numbers from stream. * * @return true if successful, false otherwise. */ bool deserializeAtomicNumbers(google::protobuf::io::CodedInputStream* stream); /** * Deserialize 2d positions from stream. * * @return true if successful, false otherwise. */ bool deserializePositions2d(google::protobuf::io::CodedInputStream* stream); /** * Deserialize 3d positions from stream. * * @return true if successful, false otherwise. */ bool deserializePostions3d(google::protobuf::io::CodedInputStream* stream); Molecule* m_molecule; }; } // namespace Core } // namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/protocall/moleculeserializer.cpp000066400000000000000000000126641360735163600245070ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "moleculeserializer.h" #include "matrixserialization.h" #include #include #include #include namespace Avogadro { namespace Core { using Avogadro::Io::FileFormat; using Avogadro::Io::FileFormatManager; using google::protobuf::io::ArrayOutputStream; using google::protobuf::io::CodedOutputStream; using google::protobuf::io::ArrayInputStream; using google::protobuf::io::CodedInputStream; using google::protobuf::uint32; using google::protobuf::uint8; MoleculeSerializer::MoleculeSerializer(const Avogadro::Core::Molecule* molecule) : m_molecule(molecule) { } bool MoleculeSerializer::serialize(void* data, size_t size_) { ArrayOutputStream aos(data, size_); CodedOutputStream cos(&aos); // Write atomic numbers if (!this->serializeAtomicNumbers(&cos)) return false; // Write position2d if (!this->serializePositons2d(&cos)) return false; // Write position3d if (!this->serializePostions3d(&cos)) return false; // Write bondPairs if (!this->serializeBondPairs(&cos)) return false; // Write bondOrders if (!this->serializeBondOrders(&cos)) return false; return true; } size_t MoleculeSerializer::size() { // atomicNumbers size_t moleSize = sizeof(uint32) + m_molecule->atomicNumbers().size() * sizeof(unsigned char); // positions2d moleSize += sizeof(uint32); std::vector pos2d = m_molecule->atomPositions2d(); for (std::vector::iterator it = pos2d.begin(); it != pos2d.end(); ++it) { moleSize += ProtoCall::MatrixSerialization::sizeOf(*it); } // positions3d moleSize += sizeof(uint32); std::vector pos3d = m_molecule->atomPositions3d(); for (std::vector::iterator it = pos3d.begin(); it != pos3d.end(); ++it) { moleSize += ProtoCall::MatrixSerialization::sizeOf(*it); } // bondPairs moleSize += this->sizeOfBondPairs(); // bondOrder moleSize += this->sizeOfBondOrders(); return moleSize; } bool MoleculeSerializer::serializeAtomicNumbers( google::protobuf::io::CodedOutputStream* stream) { // Write atomic numbers uint32 numberOfAtoms = m_molecule->atomicNumbers().size(); stream->WriteLittleEndian32(numberOfAtoms); if (stream->HadError()) return false; std::vector atomicNumbers = m_molecule->atomicNumbers(); stream->WriteRaw(&atomicNumbers[0], numberOfAtoms * sizeof(unsigned char)); if (stream->HadError()) return false; return true; } bool MoleculeSerializer::serializePositons2d( google::protobuf::io::CodedOutputStream* stream) { std::vector pos2d = m_molecule->atomPositions2d(); stream->WriteLittleEndian32(pos2d.size()); if (stream->HadError()) return false; for (std::vector::iterator it = pos2d.begin(); it != pos2d.end(); ++it) { if (!ProtoCall::MatrixSerialization::serialize(*it, stream)) return false; } return true; } bool MoleculeSerializer::serializePostions3d( google::protobuf::io::CodedOutputStream* stream) { // position3d std::vector pos3d = m_molecule->atomPositions3d(); stream->WriteLittleEndian32(pos3d.size()); if (stream->HadError()) return false; for (std::vector::iterator it = pos3d.begin(); it != pos3d.end(); ++it) { if (!ProtoCall::MatrixSerialization::serialize(*it, stream)) return false; } return true; } size_t MoleculeSerializer::sizeOfBondPairs() { return sizeof(uint32) + m_molecule->bondPairs().size() * (2 * sizeof(uint32)); } bool MoleculeSerializer::serializeBondPairs( google::protobuf::io::CodedOutputStream* stream) { // Write the number of pairs stream->WriteLittleEndian32(m_molecule->bondPairs().size()); if (stream->HadError()) return false; for (std::vector>::const_iterator it = m_molecule->bondPairs().begin(); it != m_molecule->bondPairs().end(); ++it) { std::pair bond = *it; stream->WriteLittleEndian32(bond.first); if (stream->HadError()) return false; stream->WriteLittleEndian32(bond.second); if (stream->HadError()) return false; } return true; } size_t MoleculeSerializer::sizeOfBondOrders() { return sizeof(uint32) + m_molecule->bondOrders().size() * sizeof(unsigned char); } bool MoleculeSerializer::serializeBondOrders( google::protobuf::io::CodedOutputStream* stream) { stream->WriteLittleEndian32(m_molecule->bondOrders().size()); if (stream->HadError()) return false; stream->WriteRaw(&m_molecule->bondOrders()[0], m_molecule->bondOrders().size()); if (stream->HadError()) return false; return true; } } // namespace Core } // namespace Avogadro avogadrolibs-1.93.0/avogadro/protocall/moleculeserializer.h000066400000000000000000000057121360735163600241500ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_PROTOCALL_MOLECULESERIALIZER_H #define AVOGADRO_PROTOCALL_MOLECULESERIALIZER_H #include "avogadro/core/molecule.h" #include "avogadroprotocallexport.h" #include #include namespace Avogadro { namespace Core { /** * @class MoleculeSerializer moleculeserializer.h * * @brief Implementation of ProtoCall::Serialization::Serializer * */ class AVOGADROPROTOCALL_EXPORT MoleculeSerializer : public ProtoCall::Serialization::Serializer { public: /** * @param molecule The molecule being serialized */ MoleculeSerializer(const Avogadro::Core::Molecule* molecule); /** * Serialize the molecule to that buffer provided. * * @param data The buffer to serialize the molecule into. * @param size The size of the buffer. * * @return true if successful, false otherwise. */ bool serialize(void* data, size_t size); /** * @return The size of the serialized molecule when written to byte stream. */ size_t size(); private: /** * @return The size of the bond pairs will take in the byte stream. */ size_t sizeOfBondPairs(); /** * Serialize the bond pairs to the stream. * * @return true if successful, false otherwise. */ bool serializeBondPairs(google::protobuf::io::CodedOutputStream* stream); /** * @return The size of the bond orders will take in the byte stream. */ size_t sizeOfBondOrders(); /** * Serialize the bond pairs to the stream. * * @return true if successful, false otherwise. */ bool serializeBondOrders(google::protobuf::io::CodedOutputStream* stream); /** * Serialize the atomic numbers to the stream. * * @return true if successful, false otherwise. */ bool serializeAtomicNumbers(google::protobuf::io::CodedOutputStream* stream); /** * Serialize the 2d positions to the stream. * * @return true if successful, false otherwise. */ bool serializePositons2d(google::protobuf::io::CodedOutputStream* stream); /** * Serialize the 3d positions to the stream. * * @return true if successful, false otherwise. */ bool serializePostions3d(google::protobuf::io::CodedOutputStream* stream); const Avogadro::Core::Molecule* m_molecule; }; } // namespace Core } // namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/protocall/utils.h000066400000000000000000000014351360735163600214070ustar00rootroot00000000000000#include /** * namespace containing utility functions for encoding and decoding * floats and doubles. */ namespace Avogadro { namespace ProtoCall { namespace Utils { using google::protobuf::uint32; using google::protobuf::uint64; inline uint32 encodeFloat(float value) { union { float f; uint32 i; }; f = value; return i; } inline float decodeFloat(uint32 value) { union { float f; uint32 i; }; i = value; return f; } inline uint64 encodeDouble(double value) { union { double f; uint64 i; }; f = value; return i; } inline double decodeDouble(uint64 value) { union { double f; uint64 i; }; i = value; return f; } } // Utils namespace } // ProtoCall namespace } // Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/000077500000000000000000000000001360735163600172255ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtgui/CMakeLists.txt000066400000000000000000000045531360735163600217740ustar00rootroot00000000000000find_package(Eigen3 REQUIRED) # Add as "system headers" to avoid warnings generated by them with # compilers that support that notion. include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) find_package(Qt5 COMPONENTS Widgets REQUIRED) # Provide some simple API to find the plugins, scripts, etc. if(APPLE) # It is a special case, the app bundle logic breaks the relative pathing. add_definitions(-DAvogadroLibs_LIB_DIR=\"lib\") else() add_definitions(-DAvogadroLibs_LIB_DIR=\"${INSTALL_LIBRARY_DIR}\") endif() if(USE_SPGLIB) add_definitions(-DUSE_SPGLIB) endif() # Find python2 for input generator scripts: find_package(PythonInterp 2) if(PYTHON_EXECUTABLE) set(PYTHON2_EXECUTABLE "${PYTHON_EXECUTABLE}") endif() file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/avogadropython.h.in" "namespace Avogadro { static const char *pythonInterpreterPath = \"${PYTHON2_EXECUTABLE}\"; } ") configure_file("${CMAKE_CURRENT_BINARY_DIR}/avogadropython.h.in" "${CMAKE_CURRENT_BINARY_DIR}/avogadropython.h") set(HEADERS backgroundfileformat.h containerwidget.h customelementdialog.h elementtranslator.h extensionplugin.h filebrowsewidget.h fileformatdialog.h generichighlighter.h hydrogentools.h interfacescript.h interfacewidget.h meshgenerator.h molecule.h moleculemodel.h multiviewwidget.h periodictableview.h persistentatom.h persistentbond.h pythonscript.h rwmolecule.h sceneplugin.h scenepluginmodel.h scriptloader.h toolplugin.h utilities.h viewfactory.h ) set(SOURCES backgroundfileformat.cpp containerwidget.cpp customelementdialog.cpp elementdetail_p.cpp elementitem_p.cpp elementtranslator.cpp extensionplugin.cpp filebrowsewidget.cpp fileformatdialog.cpp generichighlighter.cpp hydrogentools.cpp interfacescript.cpp interfacewidget.cpp meshgenerator.cpp molecule.cpp moleculemodel.cpp multiviewwidget.cpp periodictablescene_p.cpp periodictableview.cpp pythonscript.cpp rwmolecule.cpp sceneplugin.cpp scenepluginmodel.cpp scriptloader.cpp toolplugin.cpp utilities.cpp viewfactory.cpp ) set(UIS customelementdialog.ui ) qt5_wrap_ui(UI_SOURCES ${UIS}) list(APPEND SOURCES ${UI_SOURCES}) set(RCS qtgui.qrc ) qt5_add_resources(RC_SOURCES ${RCS}) list(APPEND SOURCES ${RC_SOURCES}) avogadro_add_library(AvogadroQtGui ${HEADERS} ${SOURCES}) target_link_libraries(AvogadroQtGui AvogadroIO Qt5::Widgets) avogadrolibs-1.93.0/avogadro/qtgui/backgroundfileformat.cpp000066400000000000000000000042261360735163600241250ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "backgroundfileformat.h" #include namespace Avogadro { namespace QtGui { BackgroundFileFormat::BackgroundFileFormat(Io::FileFormat* format, QObject* aparent) : QObject(aparent), m_format(format), m_molecule(nullptr), m_success(false) {} BackgroundFileFormat::~BackgroundFileFormat() { delete m_format; } void BackgroundFileFormat::read() { m_success = false; m_error.clear(); if (!m_molecule) m_error = tr("No molecule set in BackgroundFileFormat!"); if (!m_format) m_error = tr("No Io::FileFormat set in BackgroundFileFormat!"); if (m_fileName.isEmpty()) m_error = tr("No file name set in BackgroundFileFormat!"); if (m_error.isEmpty()) { m_success = m_format->readFile(m_fileName.toLocal8Bit().data(), *m_molecule); if (!m_success) m_error = QString::fromStdString(m_format->error()); } emit finished(); } void BackgroundFileFormat::write() { m_success = false; m_error.clear(); if (!m_molecule) m_error = tr("No molecule set in BackgroundFileFormat!"); if (!m_format) m_error = tr("No Io::FileFormat set in BackgroundFileFormat!"); if (m_fileName.isEmpty()) m_error = tr("No file name set in BackgroundFileFormat!"); if (m_error.isEmpty()) { m_success = m_format->writeFile(m_fileName.toLocal8Bit().data(), *m_molecule); if (!m_success) m_error = QString::fromStdString(m_format->error()); } emit finished(); } } // namespace QtGui } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/backgroundfileformat.h000066400000000000000000000050031360735163600235640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_BACKGROUNDFILEFORMAT_H #define AVOGADRO_QTGUI_BACKGROUNDFILEFORMAT_H #include "avogadroqtguiexport.h" #include #include namespace Avogadro { namespace Core { class Molecule; } namespace Io { class FileFormat; } namespace QtGui { /** * @brief The BackgroundFileFormat class provides a thin QObject wrapper around * an instance of Io::FileFormat. */ class AVOGADROQTGUI_EXPORT BackgroundFileFormat : public QObject { Q_OBJECT public: /** * This class takes ownership of @a format and will delete it when destructed. */ explicit BackgroundFileFormat(Io::FileFormat* format, QObject* aparent = 0); ~BackgroundFileFormat(); /** * The molecule instance to read/write. * @{ */ void setMolecule(Core::Molecule* mol) { m_molecule = mol; } Core::Molecule* molecule() const { return m_molecule; } /**@}*/ /** * The name of the file to read/write. * @{ */ void setFileName(const QString& filename) { m_fileName = filename; } QString fileName() const { return m_fileName; } /**@}*/ /** * The Io::FileFormat to use. */ Io::FileFormat* fileFormat() const { return m_format; } /** * @return True if the operation was successful. */ bool success() const { return m_success; } /** * @return An error string, set if success() is false. */ QString error() const { return m_error; } signals: /** * Emitted when a call to read or write is called. */ void finished(); public slots: /** * Use the fileFormat() to read fileName() into molecule(). */ void read(); /** * Use the fileFormat() to write fileName() from molecule(). */ void write(); private: Io::FileFormat* m_format; Core::Molecule* m_molecule; QString m_fileName; QString m_error; bool m_success; }; } // namespace QtGui } // namespace Avogadro #endif // AVOGADRO_BACKGROUNDFILEFORMAT_H avogadrolibs-1.93.0/avogadro/qtgui/containerwidget.cpp000066400000000000000000000042051360735163600231200ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "containerwidget.h" #include #include #include #include namespace Avogadro { namespace QtGui { ContainerWidget::ContainerWidget(QWidget* p, Qt::WindowFlags f) : QWidget(p, f) , m_viewWidget(nullptr) , m_label(new QLabel(QStringLiteral(" "), this)) , m_active(false) { QHBoxLayout* h = new QHBoxLayout; h->setContentsMargins(0, 0, 0, 0); QVBoxLayout* v = new QVBoxLayout; v->setContentsMargins(0, 0, 0, 0); v->setSpacing(0); h->addWidget(m_label); h->addStretch(); QPushButton* button = new QPushButton(tr("Split Horizontal"), this); connect(button, SIGNAL(clicked()), SIGNAL(splitHorizontal())); h->addWidget(button); button = new QPushButton(tr("Split Vertical"), this); connect(button, SIGNAL(clicked()), SIGNAL(splitVertical())); h->addWidget(button); button = new QPushButton(tr("Close"), this); connect(button, SIGNAL(clicked()), SIGNAL(closeView())); h->addWidget(button); v->addLayout(h); setLayout(v); } ContainerWidget::~ContainerWidget() {} void ContainerWidget::setViewWidget(QWidget* widget) { if (m_viewWidget) m_viewWidget->deleteLater(); m_viewWidget = widget; layout()->addWidget(widget); } QWidget* ContainerWidget::viewWidget() { return m_viewWidget; } void ContainerWidget::setActive(bool active) { if (m_active != active) { m_active = active; m_label->setText(active ? " * " : " "); } } } // End QtGui namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/containerwidget.h000066400000000000000000000031741360735163600225710ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_CONTAINERWIDGET_H #define AVOGADRO_QTGUI_CONTAINERWIDGET_H #include "avogadroqtguiexport.h" #include class QLabel; namespace Avogadro { namespace QtGui { /** * @class ContainerWidget containerwidget.h * @brief A widget that contains a single view widget, along with standard * buttons for splitting, maximizing, closing. * @author Marcus D. Hanwell */ class AVOGADROQTGUI_EXPORT ContainerWidget : public QWidget { Q_OBJECT public: explicit ContainerWidget(QWidget* parent = 0, Qt::WindowFlags f = 0); ~ContainerWidget() override; void setViewWidget(QWidget* widget); QWidget* viewWidget(); void setActive(bool active); bool isActive() const { return m_active; } signals: void splitVertical(); void splitHorizontal(); void closeView(); private: QWidget* m_viewWidget; QLabel* m_label; bool m_active; }; } // End QtGui namespace } // End Avogadro namespace #endif // AVOGADRO_QTGUI_CONTAINERWIDGET_H avogadrolibs-1.93.0/avogadro/qtgui/customelementdialog.cpp000066400000000000000000000115131360735163600237760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "customelementdialog.h" #include "ui_customelementdialog.h" #include "elementtranslator.h" #include "molecule.h" #include #include #include using Avogadro::Core::Elements; namespace Avogadro { namespace QtGui { CustomElementDialog::CustomElementDialog(Molecule& mol, QWidget* p) : QDialog(p), m_ui(new Ui::CustomElementDialog), m_molecule(mol) { m_ui->setupUi(this); prepareElements(); prepareForm(); } CustomElementDialog::~CustomElementDialog() { delete m_ui; } void CustomElementDialog::resolve(QWidget* p, Molecule& mol) { CustomElementDialog dlg(mol, p); int reply = dlg.exec(); if (static_cast(reply) == Accepted) dlg.apply(); } namespace { struct RemapAtomicNumbers { typedef std::map MapType; const MapType& map; RemapAtomicNumbers(const MapType& m) : map(m) {} RemapAtomicNumbers(const RemapAtomicNumbers& o) : map(o.map) {} unsigned char operator()(unsigned char old) const { if (Core::isCustomElement(old)) { MapType::const_iterator it = map.find(old); return it == map.end() ? old : it->second; } return old; } }; } void CustomElementDialog::apply() { RemapAtomicNumbers::MapType oldToNew; Molecule::CustomElementMap newMap; const Molecule::CustomElementMap& oldMap = m_molecule.customElementMap(); unsigned char newIdGenerator = CustomElementMin; foreach (QComboBox* combo, findChildren()) { unsigned char oldId = static_cast(combo->property("id").toUInt()); int currentIndex = combo->currentIndex(); if (currentIndex == 0) { // Reuse old name: unsigned char newId = newIdGenerator++; Molecule::CustomElementMap::const_iterator it = oldMap.find(oldId); newMap.insert(std::make_pair(newId, it->second)); oldToNew.insert(std::make_pair(oldId, newId)); } else { // New element assigned: unsigned char newId = static_cast(currentIndex); oldToNew.insert(std::make_pair(oldId, newId)); } } if (newMap.size() != oldMap.size()) { Core::Array& atomicNumbers = m_molecule.atomicNumbers(); std::transform(atomicNumbers.begin(), atomicNumbers.end(), atomicNumbers.begin(), RemapAtomicNumbers(oldToNew)); m_molecule.setCustomElementMap(newMap); m_molecule.emitChanged(Molecule::Atoms | Molecule::Modified); } } void CustomElementDialog::prepareElements() { int maxNumber = ElementTranslator::numberOfElements(); m_elements.reserve(maxNumber); for (int i = 1; i <= maxNumber; ++i) m_elements.append(ElementTranslator::name(i)); } namespace { struct CustomElementFilter { std::set customElements; void operator()(unsigned char atomicNumber) { if (Core::isCustomElement(atomicNumber)) customElements.insert(atomicNumber); } operator std::set() const { return customElements; } }; } void CustomElementDialog::prepareForm() { const Molecule::CustomElementMap& map = m_molecule.customElementMap(); const Core::Array& atomicNumbers = m_molecule.atomicNumbers(); std::set customElements = std::for_each( atomicNumbers.begin(), atomicNumbers.end(), CustomElementFilter()); Molecule::CustomElementMap::const_iterator match; for (std::set::const_iterator it = customElements.begin(), itEnd = customElements.end(); it != itEnd; ++it) { if ((match = map.find(*it)) != map.end()) addRow(*it, QString::fromStdString(match->second)); else addRow(*it, QString::fromStdString(Elements::name(*it))); } } void CustomElementDialog::addRow(unsigned char elementId, const QString& name) { QComboBox* combo = new QComboBox(this); combo->setProperty("id", static_cast(elementId)); combo->addItem(name); combo->addItems(m_elements); unsigned int atomicNumber = Elements::guessAtomicNumber(name.toStdString()); if (atomicNumber != InvalidElement) combo->setCurrentIndex(static_cast(atomicNumber)); else combo->setCurrentIndex(0); m_ui->form->addRow(name + ":", combo); } } // namespace QtGui } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/customelementdialog.h000066400000000000000000000035251360735163600234470ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_CUSTOMELEMENTDIALOG_H #define AVOGADRO_QTGUI_CUSTOMELEMENTDIALOG_H #include "avogadroqtguiexport.h" #include #include namespace Avogadro { namespace QtGui { class Molecule; namespace Ui { class CustomElementDialog; } /** * @class CustomElementDialog customelementdialog.h * * @brief Dialog window for mapping custom elements into elemental types. */ class AVOGADROQTGUI_EXPORT CustomElementDialog : public QDialog { Q_OBJECT public: explicit CustomElementDialog(Molecule& mol, QWidget* parent = 0); ~CustomElementDialog() override; /** * Static entry point for using this dialog. @a parent is the parent of the * dialog, @a mol is the molecule to operate on. */ static void resolve(QWidget* parent, Molecule& mol); public slots: /** Apply the changes to the molecule. */ void apply(); private: Ui::CustomElementDialog* m_ui; Molecule& m_molecule; QStringList m_elements; void prepareElements(); void prepareForm(); void addRow(unsigned char customElementId, const QString& name); }; } // namespace QtGui } // namespace Avogadro #endif // AVOGADRO_QTGUI_CUSTOMELEMENTDIALOG_H avogadrolibs-1.93.0/avogadro/qtgui/customelementdialog.ui000066400000000000000000000043111360735163600236270ustar00rootroot00000000000000 Avogadro::QtGui::CustomElementDialog 0 0 197 73 Rename Elements QFormLayout::AllNonFixedFieldsGrow Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Vertical 20 40 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() Avogadro::QtGui::CustomElementDialog accept() 248 254 157 274 buttonBox rejected() Avogadro::QtGui::CustomElementDialog reject() 316 260 286 274 avogadrolibs-1.93.0/avogadro/qtgui/elementdetail_p.cpp000066400000000000000000000110371360735163600230660ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007-2009 by Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "elementdetail_p.h" #include "elementtranslator.h" #include #include #include #include #include #include namespace Avogadro { namespace QtGui { using Core::Elements; ElementDetail::ElementDetail(int elementNumber) : m_width(100) , m_height(70) , m_element(elementNumber) {} QRectF ElementDetail::boundingRect() const { return QRectF(-m_width / 2, -m_height / 2, m_width, m_height); } QPainterPath ElementDetail::shape() const { QPainterPath path; path.addRect(-m_width / 2, -m_height / 2, m_width, m_height); return path; } void ElementDetail::paint(QPainter* painter, const QStyleOptionGraphicsItem*, QWidget*) { // Set up a font object and get its height QFont font(QStringLiteral("sans-serif")); font.setPixelSize(12); painter->setFont(font); QFontMetrics fm(font); int pixelHeight = fm.height(); QString symbol = Elements::symbol(static_cast(m_element)); QString name(ElementTranslator::name(m_element)); QString mass = QStringLiteral("%L1").arg( Elements::mass(static_cast(m_element)), 0, 'f', 3); const unsigned char* colorTmp = Elements::color(static_cast(m_element)); QColor color(Qt::white); if (colorTmp) { color.setRgb(static_cast(colorTmp[0]), static_cast(colorTmp[1]), static_cast(colorTmp[2])); } // Draw the element detail border and fill with the element colour painter->setBrush(color); painter->setPen(Qt::black); QRectF rect(-m_width / 2, -m_height / 2, m_width, m_height); painter->drawRect(rect); // Draw the element symbol bigger than everything else font.setPixelSize(24); QFontMetrics fm2(font); pixelHeight = fm2.height(); int pixelWidth = fm2.width(symbol); painter->setFont(font); QRectF symbolRect(-10, -m_height / 2 + 8, pixelWidth, pixelHeight); painter->drawText(symbolRect, Qt::AlignCenter, symbol); // Reduce the font size to draw the other parts font.setPixelSize(12); int pixelHeight2 = fm.height(); painter->setFont(font); // I don't seem to be able to get a nice, cross platform layout working here // I would really like to figure out how to make this more portable - ideas? #ifdef Q_OS_MAC // Draw the proton number QRectF protonNumberRect(-m_width / 2 - 10, -m_height / 2 + 8, m_width / 2, pixelHeight2); painter->drawText(protonNumberRect, Qt::AlignRight, QString::number(m_element)); // Draw the mass QRectF massNumberRect(-m_width / 2, -m_height / 2 + 8 + pixelHeight * 1.1, m_width, pixelHeight2); painter->drawText(massNumberRect, Qt::AlignCenter, mass); // Finally the full element name QRectF nameRect(-m_width / 2, -m_height / 2 + 4 + pixelHeight * 1.1 + pixelHeight2, m_width, pixelHeight); painter->drawText(nameRect, Qt::AlignCenter, name); #else // Draw the proton number QRectF protonNumberRect(-m_width / 2 - 10, -m_height / 2 + 16, m_width / 2, pixelHeight2); painter->drawText(protonNumberRect, Qt::AlignRight, QString::number(m_element)); // Draw the mass QRectF massNumberRect(-m_width / 2, -m_height / 2 + 4 + pixelHeight, m_width, pixelHeight2); painter->drawText(massNumberRect, Qt::AlignCenter, mass); // Finally the full element name QRectF nameRect(-m_width / 2, -m_height / 2 + pixelHeight + 0.8 * pixelHeight2, m_width, pixelHeight); painter->drawText(nameRect, Qt::AlignCenter, name); #endif } void ElementDetail::setElement(int element) { if (m_element != element) { m_element = element; update(boundingRect()); } } } // End QtGui namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/elementdetail_p.h000066400000000000000000000043271360735163600225370ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007-2009 by Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_ELEMENTDETAIL_P_H #define AVOGADRO_QTGUI_ELEMENTDETAIL_P_H #include namespace Avogadro { namespace QtGui { /** * @class ElementDetail * @internal * @author Marcus D. Hanwell * @brief An item box displaying more detailed information on the element. * * This class implements a QGraphicsItem for displaying a larger box that * gives greater detail about the selected element such as its full name, * proton number and average atomic mass. */ class ElementDetail : public QGraphicsItem { public: /** * Constructor. Should be called with the element number for this item. */ explicit ElementDetail(int elementNumber = 0); /** * @return the bounding rectangle of the element item. */ QRectF boundingRect() const override; /** * @return the painter path which is also a rectangle in this case. */ QPainterPath shape() const override; /** * This is where most of the action takes place. The element box is drawn * along with its symbol, proton number, mass and full name. */ void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) override; /** * Change the element displayed in the detail object. */ void setElement(int element); private: /** * Width and height of the item. */ int m_width, m_height; /** * The proton number of the item - all other attributes are derived from this. */ int m_element; }; } // End namespace QtGui } // End namespace Avogadro #endif // AVOGADRO_QTGUI_ELEMENTDETAIL_P_H avogadrolibs-1.93.0/avogadro/qtgui/elementitem_p.cpp000066400000000000000000000053501360735163600225630ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007-2009 by Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "elementitem_p.h" #include "elementtranslator.h" #include #include #include #include #include #include namespace Avogadro { namespace QtGui { using Core::Elements; ElementItem::ElementItem(int elementNumber) : m_valid(false), m_color(Qt::white), m_width(26), m_height(26), m_element(elementNumber) { // Want these items to be selectable setFlags(QGraphicsItem::ItemIsSelectable); m_symbol = Elements::symbol(static_cast(m_element)); if (!m_symbol.isEmpty()) m_valid = true; const unsigned char* color = Elements::color(static_cast(m_element)); if (color) { m_color.setRgb(static_cast(color[0]), static_cast(color[1]), static_cast(color[2])); } // Set some custom data to make it easy to figure out which element we are setData(0, m_element); } ElementItem::~ElementItem() { } QRectF ElementItem::boundingRect() const { return QRectF(-m_width / 2, -m_height / 2, m_width, m_height); } QPainterPath ElementItem::shape() const { QPainterPath path; path.addRect(-m_width / 2, -m_height / 2, m_width, m_height); return path; } void ElementItem::paint(QPainter* painter, const QStyleOptionGraphicsItem*, QWidget*) { if (!m_valid) return; // Fill the rectangle with the element colour QColor bgColor; QPen pen; if (isSelected()) { bgColor = QColor(m_color).lighter(150); pen.setColor(QColor(m_color).darker(150)); pen.setWidth(4); } else { bgColor = QColor(m_color); } painter->setPen(pen); painter->setBrush(bgColor); QRectF rect(-m_width / 2, -m_height / 2, m_width, m_height); painter->drawRect(rect); // Handle the case where the item is selected if (bgColor.value() < 150) pen.setColor(Qt::white); else pen.setColor(Qt::black); painter->setPen(pen); painter->drawText(rect, Qt::AlignCenter, m_symbol); } } // End namespace QtGui } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/elementitem_p.h000066400000000000000000000050231360735163600222250ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007-2009 by Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_ELEMENTITEM_P_H #define AVOGADRO_QTGUI_ELEMENTITEM_P_H #include namespace Avogadro { namespace QtGui { /** * @class ElementItem * @internal * @author Marcus D. Hanwell * @brief An element item, intended to display a single element. * * This class implements a QGraphicsItem for displaying single elements in a * periodic table. It currently allows the setting of the proton number and * gets all other information from OpenBabel. */ class ElementItem : public QGraphicsItem { public: /** * Constructor. Should be called with the element number for this item. The * constructor uses setData to set the element number using the key 0. This * is then used by PeriodicTable to figure out which element was clicked on. */ ElementItem(int elementNumber = 0); ~ElementItem() override; /** * @return the bounding rectangle of the element item. */ QRectF boundingRect() const override; /** * @return the painter path which is also a rectangle in this case. */ QPainterPath shape() const override; /** * This is where most of the action takes place. The element box is drawn * along with its symbol. */ void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) override; private: /** Indicates if element is well-formed (e.g., has non-empty symbol). */ bool m_valid; /** The element numbers symbol. */ QString m_symbol; /** * The color of the element which will also be used as the background color * for the item box. */ QColor m_color; /** * Width and height of the elements. */ int m_width, m_height; /** * The proton number of the item - all other attributes are derived from this. */ int m_element; }; } // End namespace QtGui } // End namespace Avogadro #endif // AVOGADRO_QTGUI_ELEMENTITEM_P_H avogadrolibs-1.93.0/avogadro/qtgui/elementtranslator.cpp000066400000000000000000000171551360735163600235050ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007 Geoffrey R. Hutchison Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "elementtranslator.h" namespace Avogadro { namespace QtGui { ElementTranslator::ElementTranslator() : QObject() { } QString ElementTranslator::name(int element) { QString result; switch (element) { case 1: result = tr("Hydrogen"); break; case 2: result = tr("Helium"); break; case 3: result = tr("Lithium"); break; case 4: result = tr("Beryllium"); break; case 5: result = tr("Boron"); break; case 6: result = tr("Carbon"); break; case 7: result = tr("Nitrogen"); break; case 8: result = tr("Oxygen"); break; case 9: result = tr("Fluorine"); break; case 10: result = tr("Neon"); break; case 11: result = tr("Sodium"); break; case 12: result = tr("Magnesium"); break; case 13: result = tr("Aluminum"); break; case 14: result = tr("Silicon"); break; case 15: result = tr("Phosphorus"); break; case 16: result = tr("Sulfur"); break; case 17: result = tr("Chlorine"); break; case 18: result = tr("Argon"); break; case 19: result = tr("Potassium"); break; case 20: result = tr("Calcium"); break; case 21: result = tr("Scandium"); break; case 22: result = tr("Titanium"); break; case 23: result = tr("Vanadium"); break; case 24: result = tr("Chromium"); break; case 25: result = tr("Manganese"); break; case 26: result = tr("Iron"); break; case 27: result = tr("Cobalt"); break; case 28: result = tr("Nickel"); break; case 29: result = tr("Copper"); break; case 30: result = tr("Zinc"); break; case 31: result = tr("Gallium"); break; case 32: result = tr("Germanium"); break; case 33: result = tr("Arsenic"); break; case 34: result = tr("Selenium"); break; case 35: result = tr("Bromine"); break; case 36: result = tr("Krypton"); break; case 37: result = tr("Rubidium"); break; case 38: result = tr("Strontium"); break; case 39: result = tr("Yttrium"); break; case 40: result = tr("Zirconium"); break; case 41: result = tr("Niobium"); break; case 42: result = tr("Molybdenum"); break; case 43: result = tr("Technetium"); break; case 44: result = tr("Ruthenium"); break; case 45: result = tr("Rhodium"); break; case 46: result = tr("Palladium"); break; case 47: result = tr("Silver"); break; case 48: result = tr("Cadmium"); break; case 49: result = tr("Indium"); break; case 50: result = tr("Tin"); break; case 51: result = tr("Antimony"); break; case 52: result = tr("Tellurium"); break; case 53: result = tr("Iodine"); break; case 54: result = tr("Xenon"); break; case 55: result = tr("Cesium"); break; case 56: result = tr("Barium"); break; case 57: result = tr("Lanthanum"); break; case 58: result = tr("Cerium"); break; case 59: result = tr("Praseodymium"); break; case 60: result = tr("Neodymium"); break; case 61: result = tr("Promethium"); break; case 62: result = tr("Samarium"); break; case 63: result = tr("Europium"); break; case 64: result = tr("Gadolinium"); break; case 65: result = tr("Terbium"); break; case 66: result = tr("Dysprosium"); break; case 67: result = tr("Holmium"); break; case 68: result = tr("Erbium"); break; case 69: result = tr("Thulium"); break; case 70: result = tr("Ytterbium"); break; case 71: result = tr("Lutetium"); break; case 72: result = tr("Hafnium"); break; case 73: result = tr("Tantalum"); break; case 74: result = tr("Tungsten"); break; case 75: result = tr("Rhenium"); break; case 76: result = tr("Osmium"); break; case 77: result = tr("Iridium"); break; case 78: result = tr("Platinum"); break; case 79: result = tr("Gold"); break; case 80: result = tr("Mercury"); break; case 81: result = tr("Thallium"); break; case 82: result = tr("Lead"); break; case 83: result = tr("Bismuth"); break; case 84: result = tr("Polonium"); break; case 85: result = tr("Astatine"); break; case 86: result = tr("Radon"); break; case 87: result = tr("Francium"); break; case 88: result = tr("Radium"); break; case 89: result = tr("Actinium"); break; case 90: result = tr("Thorium"); break; case 91: result = tr("Protactinium"); break; case 92: result = tr("Uranium"); break; case 93: result = tr("Neptunium"); break; case 94: result = tr("Plutonium"); break; case 95: result = tr("Americium"); break; case 96: result = tr("Curium"); break; case 97: result = tr("Berkelium"); break; case 98: result = tr("Californium"); break; case 99: result = tr("Einsteinium"); break; case 100: result = tr("Fermium"); break; case 101: result = tr("Mendelevium"); break; case 102: result = tr("Nobelium"); break; case 103: result = tr("Lawrencium"); break; case 104: result = tr("Rutherfordium"); break; case 105: result = tr("Dubnium"); break; case 106: result = tr("Seaborgium"); break; case 107: result = tr("Bohrium"); break; case 108: result = tr("Hassium"); break; case 109: result = tr("Meitnerium"); break; case 110: result = tr("Darmstadtium"); break; case 111: result = tr("Roentgenium"); break; case 112: result = tr("Copernicium"); break; case 113: result = tr("Nihonium"); break; case 114: result = tr("Flerovium"); break; case 115: result = tr("Moscovium"); break; case 116: result = tr("Livermorium"); break; case 117: result = tr("Tennessine"); break; case 118: result = tr("Oganesson"); break; default: result = tr("Unknown"); } return result; } int ElementTranslator::numberOfElements() { return 118; } } // End namespace QtGui } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/elementtranslator.h000066400000000000000000000034131360735163600231420ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007 Geoffrey R. Hutchison Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_ELEMENTTRANSLATOR_H #define AVOGADRO_QTGUI_ELEMENTTRANSLATOR_H #include "avogadroqtguiexport.h" #include namespace Avogadro { namespace QtGui { /** * @class ElementTranslator elementtranslator.h * * @brief Internationalization of element names. * @author Geoff Hutchison * * This class provides for translation of element names: e.g., tr("Carbon") * To use the global translator: * @code * #include * ... * Avogadro::elementTranslator.name(6); // Return "carbon" in English * @endcode */ class AVOGADROQTGUI_EXPORT ElementTranslator : public QObject { Q_OBJECT public: ElementTranslator(); /** * Translate element names. * @param element The atomic number of the element to be translated. * @return a QString with the appropriate translation for the current locale. */ static QString name(int element); /** * @return The highest atomic number supported by this class. */ static int numberOfElements(); }; } // End namespace QtGui } // End namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/qtgui/extensionplugin.cpp000066400000000000000000000024001360735163600231600ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "extensionplugin.h" namespace Avogadro { namespace QtGui { ExtensionPlugin::ExtensionPlugin(QObject* parent_) : QObject(parent_) { } ExtensionPlugin::~ExtensionPlugin() { } QList ExtensionPlugin::fileFormats() const { return QList(); } ExtensionPluginFactory::~ExtensionPluginFactory() { } bool ExtensionPlugin::readMolecule(Molecule&) { return false; } void ExtensionPlugin::setScene(Rendering::Scene*) { } void ExtensionPlugin::setCamera(Rendering::Camera* camera) { } void ExtensionPlugin::setActiveWidget(QWidget* widget) { } } // End QtGui namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/extensionplugin.h000066400000000000000000000111051360735163600226270ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_EXTENSIONPLUGIN_H #define AVOGADRO_QTGUI_EXTENSIONPLUGIN_H #include "avogadroqtguiexport.h" #include #include class QAction; namespace Avogadro { namespace QtGui { class Molecule; } namespace Rendering { class Camera; class Scene; } namespace Io { class FileFormat; } namespace QtGui { /** * @class ExtensionPlugin extensionplugin.h * @brief The base class for extension plugin factories in Avogadro. * @author Marcus D. Hanwell */ class AVOGADROQTGUI_EXPORT ExtensionPlugin : public QObject { Q_OBJECT public: explicit ExtensionPlugin(QObject* parent = 0); ~ExtensionPlugin() override; /** * The name of the extension plugin, will be displayed in the user interface. */ virtual QString name() const = 0; /** * A description of the extension plugin, may be displayed in the user * interface. */ virtual QString description() const = 0; /** * @return The QActions for this extension (should be at least one). */ virtual QList actions() const = 0; /** * @return The menu path of the supplied action. This can be empty if the * action was not recognized, or contain two or more strings (top level, plus * name, e.g. File, &Open). */ virtual QStringList menuPath(QAction* action = 0) const = 0; /** * @return A list of file format readers/writers. * * The caller takes ownership of the objects in the returned list. */ virtual QList fileFormats() const; public slots: /** * Called when the current molecule changes. */ virtual void setMolecule(QtGui::Molecule* mol) = 0; /** * Call this slot when the moleculeReady signal indicated that a molecule is * ready to be read. The @p molecule will have the data read into it. The slot * will @return true if a molecule was successfully read in. */ virtual bool readMolecule(QtGui::Molecule& mol); /** * Called when the current scene changes. */ virtual void setScene(Rendering::Scene* scene); /** * Called when the active camera for the view changes. */ virtual void setCamera(Rendering::Camera* camera); /** * Called when the active widget changes. This must be used carefully, and * should check that the widget has been cast if used. */ virtual void setActiveWidget(QWidget* widget); signals: /** * Signal that the extension has a new molecule that is ready to be loaded. * The application must call readMolecule in order to actually read the * molecule(s). */ void moleculeReady(int numberOfMolecules); /** * Signal that the extension has file formats that are ready to be registered. * If emitted the application should call fileFormats to get the formats the * extension is registering. */ void fileFormatsReady(); /** * Signal to request a particular tool is set as the active tool. This is * useful when loading a structure outside of the normal file API and setting * "Navigator" to active instead of "Editor" (the default). */ void requestActiveTool(QString toolName); /** * Request a specific display type (or types) are active, and all others are * disabled. This can be useful when loading a specific type of data that * would be most readily viewed with a specialized view. */ void requestActiveDisplayTypes(QStringList displayTypes); }; /** * @class ExtensionPluginFactory extensionplugin.h * * @brief The base class for extension plugin factories in Avogadro. * @author Marcus D. Hanwell */ class AVOGADROQTGUI_EXPORT ExtensionPluginFactory : public QtPlugins::PluginFactory { public: ~ExtensionPluginFactory() override; }; } // End QtGui namespace } // End Avogadro namespace Q_DECLARE_INTERFACE(Avogadro::QtGui::ExtensionPluginFactory, "org.openchemistry.avogadro.ExtensionPluginFactory") #endif // AVOGADRO_QTGUI_EXTENSIONPLUGIN_H avogadrolibs-1.93.0/avogadro/qtgui/filebrowsewidget.cpp000066400000000000000000000125071360735163600233030ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "filebrowsewidget.h" #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtGui { FileBrowseWidget::FileBrowseWidget(QWidget* theParent) : QWidget(theParent) , m_mode() , // use the setter to initialize filters. m_valid(false) , m_fileSystemModel(new QFileSystemModel(this)) , m_button(new QPushButton(tr("Browse"))) , m_edit(new QLineEdit) { QHBoxLayout* hbox = new QHBoxLayout; hbox->addWidget(m_edit); hbox->addWidget(m_button); setLayout(hbox); // Focus config setFocusPolicy(Qt::StrongFocus); setFocusProxy(m_edit); setTabOrder(m_edit, m_button); // Setup completion m_fileSystemModel->setRootPath(QDir::rootPath()); QCompleter* fsCompleter = new QCompleter(m_fileSystemModel, this); m_edit->setCompleter(fsCompleter); // Connections: connect(m_button, SIGNAL(clicked()), SLOT(browse())); connect(m_edit, SIGNAL(textChanged(QString)), SLOT(testFileName())); connect(m_edit, SIGNAL(textChanged(QString)), SIGNAL(fileNameChanged(QString))); setMode(ExistingFile); } FileBrowseWidget::~FileBrowseWidget() {} QString FileBrowseWidget::fileName() const { return m_edit->text(); } QPushButton* FileBrowseWidget::browseButton() const { return m_button; } QLineEdit* FileBrowseWidget::lineEdit() const { return m_edit; } void FileBrowseWidget::setFileName(const QString& fname) { m_edit->setText(fname); } void FileBrowseWidget::browse() { QString fname(fileName()); QFileInfo info(fname); QString initialFilePath; if (info.isAbsolute()) { initialFilePath = info.absolutePath(); } else if (m_mode == ExecutableFile) { initialFilePath = searchSystemPathForFile(fname); if (!initialFilePath.isEmpty()) initialFilePath = QFileInfo(initialFilePath).absolutePath(); } if (initialFilePath.isEmpty()) initialFilePath = QDir::homePath(); initialFilePath += "/" + info.fileName(); info = QFileInfo(initialFilePath); QFileDialog dlg(this); switch (m_mode) { default: case ExistingFile: dlg.setWindowTitle(tr("Select file:")); break; case ExecutableFile: dlg.setWindowTitle(tr("Select executable:")); dlg.setFilter(QDir::Executable); break; } dlg.setFileMode(QFileDialog::ExistingFile); dlg.setDirectory(info.absolutePath()); dlg.selectFile(info.fileName()); if (static_cast(dlg.exec()) == QFileDialog::Accepted && !dlg.selectedFiles().isEmpty()) setFileName(dlg.selectedFiles().first()); } void FileBrowseWidget::testFileName() { QFileInfo info(fileName()); if (info.isAbsolute()) { if (info.exists()) { if (m_mode != ExecutableFile || info.isExecutable()) { fileNameMatch(); return; } } } else if (m_mode == ExecutableFile) { // for non-absolute executables, search PATH QString absoluteFilePath = searchSystemPathForFile(fileName()); if (!absoluteFilePath.isNull()) { fileNameMatch(); return; } } fileNameNoMatch(); } void FileBrowseWidget::fileNameMatch() { QPalette pal; pal.setColor(QPalette::Text, Qt::black); m_edit->setPalette(pal); m_valid = true; } void FileBrowseWidget::fileNameNoMatch() { QPalette pal; pal.setColor(QPalette::Text, Qt::red); m_edit->setPalette(pal); m_valid = false; } QString FileBrowseWidget::searchSystemPathForFile(const QString& exec) { QString result; QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); if (!env.contains(QStringLiteral("PATH"))) return result; static QRegExp pathSplitter = QRegExp( #ifdef Q_OS_WIN32 ";" #else // WIN32 ":" #endif // WIN32 ); QStringList paths = env.value(QStringLiteral("PATH")) .split(pathSplitter, QString::SkipEmptyParts); foreach (const QString& path, paths) { QFileInfo info(path + "/" + exec); if (!info.exists() || !info.isFile()) { continue; } result = info.absoluteFilePath(); break; } return result; } void FileBrowseWidget::setMode(FileBrowseWidget::Mode m) { m_mode = m; QDir::Filters modelFilters = QDir::Files | QDir::AllDirs | QDir::NoDot | QDir::Drives; // This should go here, but unfortunately this also filters out a ton of // directories as well... // if (m_mode == ExecutableFile) // modelFilters |= QDir::Executable; m_fileSystemModel->setFilter(modelFilters); testFileName(); } FileBrowseWidget::Mode FileBrowseWidget::mode() const { return m_mode; } } // namespace QtGui } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/filebrowsewidget.h000066400000000000000000000040111360735163600227370ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_FILEBROWSEWIDGET_H #define AVOGADRO_QTGUI_FILEBROWSEWIDGET_H #include "avogadroqtguiexport.h" #include class QFileSystemModel; class QLineEdit; class QPushButton; namespace Avogadro { namespace QtGui { class AVOGADROQTGUI_EXPORT FileBrowseWidget : public QWidget { Q_OBJECT public: enum Mode { ExistingFile = 0, ExecutableFile }; explicit FileBrowseWidget(QWidget* theParent = 0); ~FileBrowseWidget() override; QString fileName() const; bool validFileName() const { return m_valid; } QPushButton* browseButton() const; QLineEdit* lineEdit() const; void setMode(Mode m); Mode mode() const; signals: void fileNameChanged(const QString& filename); public slots: void setFileName(const QString& fname); private slots: void browse(); void testFileName(); void fileNameMatch(); void fileNameNoMatch(); private: /** * @brief Search the environment variable PATH for a file with the specified * name. * @param exec The name of the file. * @return The absolute path to the file on the system, or a null QString if * not found. */ static QString searchSystemPathForFile(const QString& exec); Mode m_mode; bool m_valid; QFileSystemModel* m_fileSystemModel; QPushButton* m_button; QLineEdit* m_edit; }; } // namespace QtGui } // namespace Avogadro #endif // AVOGADRO_QTGUI_FILEBROWSEWIDGET_H avogadrolibs-1.93.0/avogadro/qtgui/fileformatdialog.cpp000066400000000000000000000241661360735163600232520ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "fileformatdialog.h" #include #include #include #include #include #include using Avogadro::Io::FileFormat; using Avogadro::Io::FileFormatManager; using std::vector; namespace Avogadro { namespace QtGui { FileFormatDialog::FileFormatDialog(QWidget* parentW) : QFileDialog(parentW) {} FileFormatDialog::~FileFormatDialog() {} FileFormatDialog::FormatFilePair FileFormatDialog::fileToRead( QWidget* parent, const QString& caption, const QString& dir, const QString& filter) { FormatFilePair result(nullptr, QString()); // Use the default read filter if none specified: const QString realFilter = filter.isEmpty() ? readFileFilter() : filter; bool done = false; do { // jump point for continue statements on retry QString fileName = QFileDialog::getOpenFileName(parent, caption, dir, realFilter); if (fileName.isEmpty()) // user cancel return result; const Io::FileFormat* format = findFileFormat( parent, caption, fileName, FileFormat::File | FileFormat::Read); // If none found, give user the option to retry. if (!format) { QMessageBox::StandardButton reply = QMessageBox::question( parent, caption, tr("Unable to find a suitable file reader for " "the selected file."), QMessageBox::Abort | QMessageBox::Retry, QMessageBox::Retry); switch (reply) { default: case QMessageBox::Retry: continue; case QMessageBox::Abort: return result; } } result.first = format; result.second = fileName; done = true; } while (!done); return result; } FileFormatDialog::FormatFilePair FileFormatDialog::fileToWrite( QWidget* parentWidget, const QString& caption, const QString& dir, const QString& filter) { FormatFilePair result(nullptr, QString()); // Use the default read filter if none specified: const QString realFilter = filter.isEmpty() ? writeFileFilter() : filter; do { // jump point for continue statements on retry QString fileName = QFileDialog::getSaveFileName(parentWidget, caption, dir, realFilter); if (fileName.isEmpty()) // user cancel return result; const Io::FileFormat* format = findFileFormat( parentWidget, caption, fileName, FileFormat::File | FileFormat::Write); // If none found, give user the option to retry. if (!format) { QMessageBox::StandardButton reply = QMessageBox::question( parentWidget, caption, tr("Unable to find a suitable file writer for " "the selected format."), QMessageBox::Abort | QMessageBox::Retry, QMessageBox::Retry); switch (reply) { default: case QMessageBox::Retry: continue; case QMessageBox::Abort: return result; } } result.first = format; result.second = fileName; } while (true); return result; } const Io::FileFormat* FileFormatDialog::findFileFormat( QWidget* parentWidget, const QString& caption, const QString& fileName, const FileFormat::Operations formatFlags, const QString& formatPrefix) { if (fileName.isEmpty()) return nullptr; // Extract extension from filename. QFileInfo fileInfo(fileName); QString extension = fileInfo.suffix(); if (extension.isEmpty()) extension = fileInfo.fileName(); // Lookup matching file formats. vector matches( FileFormatManager::instance().fileFormatsFromFileExtension( extension.toStdString(), formatFlags)); // Prepare the strings for selectFileFormat: QString noun; QString verb; QString key; if ((formatFlags & FileFormat::Read && formatFlags & FileFormat::Write) || ((formatFlags & FileFormat::Read) == 0 && (formatFlags & FileFormat::Write) == 0)) { // Both or neither read/write noun = tr("handlers", "File handlers"); verb = tr("handle", "e.g. file handlers that can 'handle' this file."); key = QLatin1String("fileToWrite"); // Just use the write settings } else if (formatFlags & FileFormat::Read) { // Read noun = tr("readers", "File readers"); verb = tr("read", "e.g. file readers that can 'read' this file."); key = QLatin1String("fileToRead"); } else if (formatFlags & FileFormat::Write) { // Write noun = tr("writers", "File writers"); verb = tr("write", "e.g. file writers that can 'write' this file."); key = QLatin1String("fileToWrite"); } return selectFileFormat(parentWidget, matches, caption, tr("Multiple %1 found that can %2 this format. " "Which should be used?") .arg(noun, verb), QString("FileFormatDialog/%1/%2" "/lastUsed") .arg(key, extension), formatPrefix); } const QString FileFormatDialog::readFileFilter() { static QString readFilter; if (readFilter.isEmpty()) { vector formats = FileFormatManager::instance().fileFormats(FileFormat::Read | FileFormat::File); readFilter = generateFilterString(formats, AllFiles | AllFormats); } return readFilter; } const QString FileFormatDialog::writeFileFilter() { static QString writeFilter; if (writeFilter.isEmpty()) { vector formats = FileFormatManager::instance().fileFormats(FileFormat::Write | FileFormat::File); writeFilter = generateFilterString(formats, AllFiles); } return writeFilter; } QString FileFormatDialog::generateFilterString( const std::vector& ffs, FileFormatDialog::FilterStringOptions options) { QString filterString; // Create a map that groups the file extensions by name: QMap formatMap; for (std::vector::const_iterator it = ffs.begin(), itEnd = ffs.end(); it != itEnd; ++it) { QString name(QString::fromStdString((*it)->name())); std::vector exts = (*it)->fileExtensions(); for (std::vector::const_iterator eit = exts.begin(), eitEnd = exts.end(); eit != eitEnd; ++eit) { QString ext(QString::fromStdString(*eit)); if (!formatMap.values(name).contains(ext)) { formatMap.insertMulti(name, ext); } } } // This is a list of "extensions" returned by OB that are not actually // file extensions, but rather the full filename of the file. These // will be used as-is in the filter string, while others will be prepended // with "*.". QStringList nonExtensions; nonExtensions << QStringLiteral("POSCAR") // VASP input geometry << QStringLiteral("CONTCAR") // VASP output geometry << QStringLiteral("HISTORY") // DL-POLY history file << QStringLiteral("CONFIG") // DL-POLY config file ; // This holds all known extensions: QStringList allExtensions; foreach (const QString& desc, formatMap.uniqueKeys()) { QStringList extensions; foreach (QString extension, formatMap.values(desc)) { if (!nonExtensions.contains(extension)) extension.prepend("*."); extensions << extension; } if (options & AllFormats) allExtensions << extensions; filterString += QStringLiteral("%1 (%2);;") .arg(desc, extensions.join(QStringLiteral(" "))); } if (options & AllFiles) filterString.prepend(tr("All files (*);;")); if (options & AllFormats) { filterString.prepend(tr("All supported formats (%1);;") .arg(allExtensions.join(QStringLiteral(" ")))); } return filterString; } const Io::FileFormat* FileFormatDialog::selectFileFormat( QWidget* parentWidget, const std::vector& ffs, const QString& caption, const QString& prompt, const QString& settingsKey, const QString& formatPrefix) { if (ffs.empty()) return nullptr; else if (ffs.size() == 1) return ffs[0]; // If more than one format found, prompt user to select one. QStringList idents; for (std::vector::const_iterator it = ffs.begin(), itEnd = ffs.end(); it != itEnd; ++it) { idents << QString::fromStdString((*it)->identifier()); } // If there is a format prefix, see if that can reduce the results down. QStringList preferred; foreach (const QString& id, idents) if (id.startsWith(formatPrefix)) preferred << id; if (preferred.size() == 1) return ffs[idents.indexOf(preferred.first())]; // See if they used one before: QString lastIdent = settingsKey.isNull() ? QString() : QSettings().value(settingsKey).toString(); int lastIdentIndex = idents.indexOf(lastIdent); if (lastIdentIndex < 0) lastIdentIndex = 0; bool ok; QString item = QInputDialog::getItem(parentWidget, caption, prompt, idents, lastIdentIndex, false, &ok); int index = idents.indexOf(item); // user cancel if (!ok || index < 0 || index + 1 > static_cast(ffs.size())) return nullptr; // Store chosen reader for next time if (!settingsKey.isNull()) QSettings().setValue(settingsKey, item); return ffs[index]; } } // namespace QtGui } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/fileformatdialog.h000066400000000000000000000156241360735163600227160ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_FILEFORMATDIALOG_H #define AVOGADRO_QTGUI_FILEFORMATDIALOG_H #include "avogadroqtguiexport.h" #include #include #include namespace Avogadro { namespace Core { class Molecule; } namespace QtGui { /** * @class FileFormatDialog fileformatdialog.h * * * Allow users to select save/open filenames that can be handled by registered * FileFormats. */ class AVOGADROQTGUI_EXPORT FileFormatDialog : private QFileDialog { Q_OBJECT public: /** * Container for a filename and a compatible file format, used as return * values in static functions. * @note The FileFormat will be set to nullptr to indicate an error. * @note The FileFormat points to the reference instance held by the * FileFormatManager. Use FileFormat::newInstance() to create a usable copy. */ typedef QPair FormatFilePair; /** * @brief Show a QFileDialog to prompt the user for a file to open and resolve * any file format conflicts. This method returns the selected file and * FileFormat reader. * @param parent The parent of the dialog windows. * @param caption The dialog window titles. * @param dir The initial directory shown to the user. * @param filter A list of filters for limiting the files shown to the user. * See the QFileDialog documentation for format. If the string is empty, a * default list of all suitable registered formats will be used. * @return A FormatFilePair object containing the absolute file path and a * compatible file reader. If an error occurs, the format pointer will be * nullptr. */ static FormatFilePair fileToRead(QWidget* parent, const QString& caption = QString(), const QString& dir = QString(), const QString& filter = QString()); /** * @brief Show a QFileDialog to prompt the user for a file to save and resolve * any file format conflicts. This method returns the selected file and * FileFormat writer. * @param parent The parent of the dialog windows. * @param caption The dialog window titles. * @param dir The initial directory shown to the user. * @param filter A list of filters for limiting the files shown to the user. * See the QFileDialog documentation for format. If the string is empty, a * default list of all suitable registered formats will be used. * @return A FormatFilePair object containing the absolute file path and a * compatible file writer. If an error occurs, the format pointer will be * nullptr. */ static FormatFilePair fileToWrite(QWidget* parent, const QString& caption = QString(), const QString& dir = QString(), const QString& filter = QString()); /** * Given a filename and a set of Io::FileFormat::Operation flags, find a * suitable file format from the FileFormatManager. If multiple readers are * found, ask the user to select one. If no suitable format is found, return * nullptr. * @param parentWidget Parent for any dialog windows that will appear. * @param caption Window title for any dialog windows. * @param fileName Filename to use when searching for a format. Formats are * chosen based on the file extension. * @param formatFlags Operations that the format must support. Most likely * (Io::FileFormat::)Read | File or Write | File. * @param formatPrefix Filter on the supplied prefix (default to none). * @return The selected matching reader, or nullptr if no reader is found. */ static const Io::FileFormat* findFileFormat( QWidget* parentWidget, const QString& caption, const QString& fileName, const Io::FileFormat::Operations formatFlags, const QString& formatPrefix = QString()); private: /** * Constructor is private for now to force use of static methods. This * may be made public at some point if additional API is needed or more * complex use cases arise. */ explicit FileFormatDialog(QWidget* parent = nullptr); ~FileFormatDialog() override; /** * @return A filter string for use with a QFileDialog, containing entries * for all file extensions registered with FileFormatManager, as well as a * "catch-all" entry with all known formats, and an "All files (*)" entry. * Only formats registered with (Read | File) will be used. */ static const QString readFileFilter(); /** * @return A filter string for use with a QFileDialog, containing entries * for all file extensions registered with FileFormatManager. An * "All files (*)" entry is added as well. * Only formats registered with (Write | File) will be used. */ static const QString writeFileFilter(); /** * Used internally by readFileFilter() and writeFileFilter(). * @{ */ public: // Must be public for operator declarations enum FilterStringOption { NoFilterStringOption = 0x0, AllFormats = 0x1, AllFiles = 0x2 }; Q_DECLARE_FLAGS(FilterStringOptions, FilterStringOption) private: static QString generateFilterString( const std::vector& ffs, FilterStringOptions options); /** @} */ /** * Show a dialog to resolve file format conflicts. This allows the user to * select between multiple instances of FileFormat that can handle their * chosen file extension. * @param parentWidget Widget to use as dialog parent. * @param ffs Conflicting FileFormats that the user should choose from. * @param caption The title of the dialog window. * @param prompt The text in the dialog window. * @param settingsKey An optional QSettings key that will be used to * store the user's choice for initializing the dialog next time. * @return The selected FileFormat instance. */ static const Io::FileFormat* selectFileFormat( QWidget* parentWidget, const std::vector& ffs, const QString& caption, const QString& prompt, const QString& settingsKey = QString(), const QString& formatPrefix = QString()); }; } // namespace QtGui } // namespace Avogadro Q_DECLARE_OPERATORS_FOR_FLAGS( Avogadro::QtGui::FileFormatDialog::FilterStringOptions) #endif // AVOGADRO_QTGUI_FILEFORMATDIALOG_H avogadrolibs-1.93.0/avogadro/qtgui/generichighlighter.cpp000066400000000000000000000066411360735163600235730ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "generichighlighter.h" #include namespace Avogadro { namespace QtGui { GenericHighlighter::GenericHighlighter(QObject* parent_) : QSyntaxHighlighter(parent_) { } GenericHighlighter::~GenericHighlighter() { } GenericHighlighter::GenericHighlighter(const GenericHighlighter& other) : QSyntaxHighlighter(static_cast(nullptr)) { m_rules = other.m_rules; } GenericHighlighter& GenericHighlighter::operator=(GenericHighlighter other) { swap(*this, other); return *this; } GenericHighlighter& GenericHighlighter::operator+=( const GenericHighlighter& other) { m_rules.append(other.m_rules); return *this; } GenericHighlighter::Rule& GenericHighlighter::addRule() { m_rules.push_back(Rule()); return m_rules.back(); } int GenericHighlighter::ruleCount() const { return m_rules.size(); } GenericHighlighter::Rule& GenericHighlighter::rule(int idx) { assert("idx in bounds" && idx < m_rules.size()); return m_rules[idx]; } const GenericHighlighter::Rule& GenericHighlighter::rule(int idx) const { assert("idx in bounds" && idx < m_rules.size()); return m_rules[idx]; } QList GenericHighlighter::rules() const { return m_rules; } void GenericHighlighter::highlightBlock(const QString& text) { typedef QList::iterator RuleIter; for (RuleIter it = m_rules.begin(), end = m_rules.end(); it != end; ++it) it->apply(text, *this); } void GenericHighlighter::Rule::apply(const QString& text, GenericHighlighter& highlighter) { typedef QList::iterator PatternIter; for (PatternIter it = m_patterns.begin(), end = m_patterns.end(); it != end; ++it) { int index = it->indexIn(text); while (index >= 0) { // If using a regex with capture groups defined, only highlight the // capture groups. if (it->captureCount() > 0) { QStringList capturedTexts(it->capturedTexts()); QString match(capturedTexts.takeFirst()); foreach (const QString& capture, capturedTexts) { int capOffset(match.indexOf(capture)); while (capOffset > 0) { int capLength(capture.size()); highlighter.setFormat(index + capOffset, capLength, m_format); capOffset = match.indexOf(capture, capOffset + capLength); } } index = it->indexIn(text, index + match.size()); } else { int length(it->matchedLength()); highlighter.setFormat(index, length, m_format); index = it->indexIn(text, index + length); } } } } void GenericHighlighter::Rule::addPattern(const QRegExp& regexp) { m_patterns.append(regexp); } void GenericHighlighter::Rule::setFormat(const QTextCharFormat& format) { m_format = format; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/generichighlighter.h000066400000000000000000000061501360735163600232330ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_GENERICHIGHLIGHTER_H #define AVOGADRO_QTPLUGINS_GENERICHIGHLIGHTER_H #include "avogadroqtguiexport.h" #include #include #include class QRegExp; namespace Avogadro { namespace QtGui { /** * @brief The GenericHighlighter class provides a regexp-based programmable * syntax highlighter. */ class AVOGADROQTGUI_EXPORT GenericHighlighter : public QSyntaxHighlighter { Q_OBJECT public: /** * @brief The Rule class stores a syntax highlighting rule as a set of QRegExp * patterns and a text format. */ class AVOGADROQTGUI_EXPORT Rule { public: Rule() {} ~Rule() {} /** Add the pattern @a regexp to this Rule. */ void addPattern(const QRegExp& regexp); /** Set this Rule's text format. */ void setFormat(const QTextCharFormat& format); /** Apply this rule to the string of text, updating the highlighter if any * matches are found. */ void apply(const QString& text, GenericHighlighter& highlighter); private: QList m_patterns; QTextCharFormat m_format; }; /** Construct a highlighter with an empty rule set. */ explicit GenericHighlighter(QObject* parent_ = 0); ~GenericHighlighter() override; /** Construct a new highlighter using the rule set of @a other. */ GenericHighlighter(const GenericHighlighter& other); /** Replace this highlighter's rule set with that of @a other. */ GenericHighlighter& operator=(GenericHighlighter other); /** Concatenate @a other's rule set with this highlighter's rule set. */ GenericHighlighter& operator+=(const GenericHighlighter& other); /** Add a new rule to this highlighter, returning a reference to the new * rule. */ Rule& addRule(); /** @return The number of rules in this highlighter. */ int ruleCount() const; /** @return A reference to the rule at the specified zero-based index. */ Rule& rule(int idx); /** @return A reference to the rule at the specified zero-based index. */ const Rule& rule(int idx) const; /** @return An ordered list of this highlighter's rules. */ QList rules() const; friend void swap(GenericHighlighter& first, GenericHighlighter& second) { using std::swap; swap(first.m_rules, second.m_rules); } protected: void highlightBlock(const QString& text) override; private: QList m_rules; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_GENERICHIGHLIGHTER_H avogadrolibs-1.93.0/avogadro/qtgui/hydrogentools.cpp000066400000000000000000000367651360735163600226520ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "hydrogentools.h" #include "../core/mdlvalence_p.h" #include #include #include #include #include #include // C'mon windows.... #ifndef M_PI #define M_PI 3.14159265358979323846 #endif // Angle of tetrahedron #define M_TETRAHED 109.47122063449069389 using Avogadro::Vector3; using Avogadro::Core::Array; using Avogadro::Core::atomValence; using Avogadro::QtGui::RWAtom; using Avogadro::QtGui::RWBond; using Avogadro::QtGui::RWMolecule; namespace { typedef Avogadro::Core::Array NeighborListType; // Return the other atom in the bond. inline RWAtom getOtherAtom(const RWAtom& atom, const RWBond& bond) { return bond.atom1().index() != atom.index() ? bond.atom1() : bond.atom2(); } inline unsigned int countExistingBonds(const NeighborListType& bonds) { unsigned int result(0); for (NeighborListType::const_iterator it = bonds.begin(), itEnd = bonds.end(); it != itEnd; ++it) { result += static_cast(it->order()); } return result; } inline unsigned int lookupValency(const RWAtom& atom, unsigned int numExistingBonds) { signed char charge = atom.formalCharge(); return atomValence(atom.atomicNumber(), charge, numExistingBonds); } inline float hydrogenBondDistance(unsigned char otherAtomicNumber) { static double hCovRadius(Avogadro::Core::Elements::radiusCovalent(1)); double covRadius = Avogadro::Core::Elements::radiusCovalent(otherAtomicNumber); return static_cast(hCovRadius + covRadius); } } // end anon namespace namespace Avogadro { namespace QtGui { void HydrogenTools::removeAllHydrogens(RWMolecule& molecule) { const Array atomicNums(molecule.atomicNumbers()); size_t atomIndex = molecule.atomCount() - 1; for (Array::const_reverse_iterator it = atomicNums.rbegin(), itEnd = atomicNums.rend(); it != itEnd; ++it, --atomIndex) { if (*it == 1) molecule.removeAtom(atomIndex); } } void HydrogenTools::adjustHydrogens(RWMolecule& molecule, Adjustment adjustment) { // This vector stores indices of hydrogens that need to be removed. Additions // are made first, followed by removals to keep indexing sane. std::vector badHIndices; // Temporary container for calls to generateNewHydrogenPositions. std::vector newHPos; // Convert the adjustment option to a couple of booleans bool doAdd(adjustment == Add || adjustment == AddAndRemove); bool doRemove(adjustment == Remove || adjustment == AddAndRemove); // Limit to only the original atoms: const size_t numAtoms = molecule.atomCount(); // Iterate through all atoms in the molecule, adding hydrogens as needed // and building up a list of hydrogens that should be removed. for (size_t atomIndex = 0; atomIndex < numAtoms; ++atomIndex) { const RWAtom atom(molecule.atom(atomIndex)); int hDiff = valencyAdjustment(atom); // Add hydrogens: if (doAdd && hDiff > 0) { newHPos.clear(); generateNewHydrogenPositions(atom, hDiff, newHPos); for (std::vector::const_iterator it = newHPos.begin(), itEnd = newHPos.end(); it != itEnd; ++it) { RWAtom newH(molecule.addAtom(1)); newH.setPosition3d(*it); molecule.addBond(atom, newH, 1); } } // Add bad hydrogens to our list of hydrogens to remove: else if (doRemove && hDiff < 0) { extraHydrogenIndices(atom, -hDiff, badHIndices); } } // Remove dead hydrogens now. Remove them in reverse-index order to keep // indexing sane. if (doRemove && !badHIndices.empty()) { std::sort(badHIndices.begin(), badHIndices.end()); std::vector::iterator newEnd( std::unique(badHIndices.begin(), badHIndices.end())); badHIndices.resize(std::distance(badHIndices.begin(), newEnd)); for (std::vector::const_reverse_iterator it = badHIndices.rbegin(), itEnd = badHIndices.rend(); it != itEnd; ++it) { molecule.removeAtom(*it); } } } void HydrogenTools::adjustHydrogens(RWAtom& atom, Adjustment adjustment) { // Convert the adjustment option to a couple of booleans bool doAdd(adjustment == Add || adjustment == AddAndRemove); bool doRemove(adjustment == Remove || adjustment == AddAndRemove); // convenience RWMolecule* molecule = atom.molecule(); if (doRemove) { // get the list of hydrogens connected to this std::vector badHIndices; const NeighborListType bonds(molecule->bonds(atom)); for (NeighborListType::const_iterator it = bonds.begin(), itEnd = bonds.end(); it != itEnd; ++it) { const RWAtom otherAtom = getOtherAtom(atom, *it); if (otherAtom.atomicNumber() == 1) { badHIndices.push_back(otherAtom.index()); } } // end loop through bonds std::sort(badHIndices.begin(), badHIndices.end()); std::vector::iterator newEnd( std::unique(badHIndices.begin(), badHIndices.end())); badHIndices.resize(std::distance(badHIndices.begin(), newEnd)); for (std::vector::const_reverse_iterator it = badHIndices.rbegin(), itEnd = badHIndices.rend(); it != itEnd; ++it) { molecule->removeAtom(*it); } } // end removing H atoms on this one int hDiff = valencyAdjustment(atom); // Add hydrogens: if (doAdd && hDiff > 0) { // Temporary container for calls to generateNewHydrogenPositions. std::vector newHPos; generateNewHydrogenPositions(atom, hDiff, newHPos); for (std::vector::const_iterator it = newHPos.begin(), itEnd = newHPos.end(); it != itEnd; ++it) { RWAtom newH(molecule->addAtom(1)); newH.setPosition3d(*it); molecule->addBond(atom, newH, 1); } } } int HydrogenTools::valencyAdjustment(const RWAtom& atom) { int result = 0; if (atom.isValid()) { const NeighborListType bonds(atom.molecule()->bonds(atom)); // sum of bond orders const unsigned int numberOfBonds(countExistingBonds(bonds)); const unsigned int valency(lookupValency(atom, numberOfBonds)); result = static_cast(valency) - static_cast(numberOfBonds); } // qDebug() << " valence adjustment " << result; return result; } int HydrogenTools::extraHydrogenIndices(const RWAtom& atom, int numberOfHydrogens, std::vector& indices) { if (!atom.isValid()) return 0; int result = 0; const NeighborListType bonds(atom.molecule()->bonds(atom)); for (NeighborListType::const_iterator it = bonds.begin(), itEnd = bonds.end(); it != itEnd && result < numberOfHydrogens; ++it) { const RWAtom otherAtom = getOtherAtom(atom, *it); if (otherAtom.atomicNumber() == 1) { indices.push_back(otherAtom.index()); ++result; } } return result; } Core::AtomHybridization HydrogenTools::perceiveHybridization(const RWAtom& atom) { const NeighborListType bonds(atom.molecule()->bonds(atom)); const unsigned int numberOfBonds(countExistingBonds(bonds)); // bond order sum Core::AtomHybridization hybridization = Core::SP3; // default to sp3 // TODO: Handle hypervalent species, SO3, SO4, lone pairs, etc. if (numberOfBonds > 4) { // hybridization = numberOfBonds; // e.g., octahedral, trig. bipyr., // etc. } else { // Count multiple bonds unsigned int numTripleBonds = 0; unsigned int numDoubleBonds = 0; for (NeighborListType::const_iterator it = bonds.begin(), itEnd = bonds.end(); it != itEnd; ++it) { if (it->order() == 2) numDoubleBonds++; else if (it->order() == 3) numTripleBonds++; } if (numTripleBonds > 0 || numDoubleBonds > 1) hybridization = Core::SP; // sp else if (numDoubleBonds > 0) hybridization = Core::SP2; // sp2 } return hybridization; } void HydrogenTools::generateNewHydrogenPositions( const RWAtom& atom, int numberOfHydrogens, std::vector& positions) { if (!atom.isValid()) return; // Get the hybridization Core::AtomHybridization hybridization = atom.hybridization(); if (hybridization == Core::HybridizationUnknown) { // Perceive it hybridization = perceiveHybridization(atom); } const Avogadro::Real bondLength = hydrogenBondDistance(atom.atomicNumber()); // Get a list of all bond vectors (normalized, pointing away from 'atom') std::vector allVectors; const NeighborListType bonds(atom.molecule()->bonds(atom)); const int explicitBonds = bonds.size(); allVectors.reserve(bonds.size() + static_cast(numberOfHydrogens)); for (NeighborListType::const_iterator it = bonds.begin(), itEnd = bonds.end(); it != itEnd; ++it) { RWAtom otherAtom = getOtherAtom(atom, *it); Vector3 delta = otherAtom.position3d() - atom.position3d(); if (!delta.isZero(1e-5)) { allVectors.push_back(delta.normalized()); } } for (int impHIndex = 0; impHIndex < numberOfHydrogens; ++impHIndex) { // First try to derive the bond vector based on the hybridization // Fallback will be to a random vector Vector3 newPos = generateNewBondVector(atom, allVectors, hybridization); allVectors.push_back(newPos); positions.push_back(atom.position3d() + (newPos * bondLength)); } } // Generate bond geometries // First, the default fallback (random vectors) // Also applies when you have a linear geometry and just need one new vector // (it doesn't matter where it goes). Vector3 HydrogenTools::generateNewBondVector( const RWAtom& atom, std::vector& allVectors, Core::AtomHybridization hybridization) { Vector3 newPos; bool success = false; int currentValence = allVectors.size(); // No bonded atoms, just pick a random vector if (currentValence == 0) { newPos = Vector3::Random().normalized(); return newPos; } else if (currentValence == 1) { // One bonded atom Vector3 bond1 = allVectors[0]; // Check what's attached to our neighbor -- we want to set trans to the // neighbor Vector3 bond2(0.0, 0.0, 0.0); const NeighborListType bonds(atom.molecule()->bonds(atom)); for (NeighborListType::const_iterator it = bonds.begin(), itEnd = bonds.end(); it != itEnd; ++it) { RWAtom a1 = getOtherAtom(atom, *it); const NeighborListType nbrBonds(atom.molecule()->bonds(a1)); for (NeighborListType::const_iterator nbIt = nbrBonds.begin(), nbItEnd = nbrBonds.end(); nbIt != nbItEnd; ++nbIt) { RWAtom a2 = getOtherAtom(a1, *nbIt); if (a2.index() == atom.index()) continue; // we want a *new* atom Vector3 delta = a2.position3d() - a1.position3d(); if (!delta.isZero(1e-5)) bond2 = delta.normalized(); // Check for carboxylate (CO2) if ((atom.atomicNumber() == 8) // atom for H is O && (a1.atomicNumber() == 6) // central atom is C && (nbIt->order() == 2) && (a2.atomicNumber() == 8)) break; // make sure the H will be trans to the C=O } } Vector3 v1, v2; v1 = bond1.cross(bond2); bool noA2 = false; if (bond2.norm() < 1.0e-5 || v1.norm() < 1.0e-5) { // std::cout << " creating a random paired atom " << std::endl; // there is no a-2 atom noA2 = true; v2 = Vector3::Random().normalized(); double angle = fabs(acos(bond1.dot(v2))); while (angle < 45.0 * DEG_TO_RAD || angle > 135.0 * DEG_TO_RAD) { v2 = Vector3::Random().normalized(); angle = fabs(acos(bond1.dot(v2))); // std::cout << "angle = " << angle*RAD_TO_DEG << std::endl; } v1 = bond1.cross(v2); // so find a perpendicular, given the random vector v2 = bond1.cross(v1); } else { // std::cout << " found a neighbor for trans " << std::endl; v1 = bond1.cross(bond2); v2 = -1.0 * bond1.cross(v1); } v2.normalize(); switch (hybridization) { case Core::SP: case Core::SquarePlanar: case Core::TrigonalBipyramidal: newPos = bond1; // 180 degrees away from the current neighbor break; case Core::SP2: // sp2 newPos = bond1 - v2 * tan(DEG_TO_RAD * 120.0); break; case Core::Octahedral: // octahedral newPos = bond1 - v2 * tan(DEG_TO_RAD * 90.0); break; case Core::SP3: default: newPos = (bond1 - v2 * tan(DEG_TO_RAD * M_TETRAHED)); break; } // std::cout << " one bond " << newPos.normalized() << std::endl; return -1.0 * newPos.normalized(); } // end one bond else if (currentValence == 2) { Vector3 bond1 = allVectors[0]; Vector3 bond2 = allVectors[1]; Vector3 v1 = bond1 + bond2; v1.normalize(); switch (hybridization) { case Core::SP: // shouldn't happen, but maybe with metal atoms? case Core::SP2: newPos = v1; // point away from the two existing bonds break; case Core::SP3: default: Vector3 v2 = bond1.cross(bond2); // find the perpendicular v2.normalize(); newPos = bond1 - v2 * tan(DEG_TO_RAD * (M_TETRAHED)); newPos = v2 + v1 * (sqrt(2.0) / 2.0); } // std::cout << " two bonds " << newPos.normalized() << std::endl; return -1.0 * newPos.normalized(); } // end two bonds else if (currentValence == 3) { Vector3 bond1 = allVectors[0]; Vector3 bond2 = allVectors[1]; Vector3 bond3 = allVectors[2]; // need to handle different hybridizations here // since the base of the tetrahedron should be symmetric // the sum of the three bond vectors should cancel the angular parts // and point in the new direction.. just need to normalize and rescale newPos = -1.0 * (bond1 + bond2 + bond3); // std::cout << " three bonds " << newPos.normalized() << std::endl; return newPos.normalized(); } // Fallback: // Try 10 times to generate a random vector that doesn't overlap with // an existing bond. If we can't, just give up and let the overlap occur. // Tolerance for two vectors being "too close" in radians (pi/8). const Avogadro::Real cosRadTol = cos(static_cast(M_PI) / static_cast(8.)); for (int attempt = 0; !success && attempt < 10; ++attempt) { newPos = Vector3::Random().normalized(); success = true; for (std::vector::const_iterator it = allVectors.begin(), itEnd = allVectors.end(); success && it != itEnd; ++it) { success = newPos.dot(*it) < cosRadTol; } } return newPos; } } // namespace QtGui } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/hydrogentools.h000066400000000000000000000101531360735163600222760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the MoleQueue project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_HYDROGENTOOLS_H #define AVOGADRO_QTGUI_HYDROGENTOOLS_H #include "avogadroqtguiexport.h" #include #include #include namespace Avogadro { namespace QtGui { class RWAtom; class RWMolecule; class AVOGADROQTGUI_EXPORT HydrogenTools { public: /** * Remove all hydrogen atoms from @a molecule. */ static void removeAllHydrogens(RWMolecule& molecule); /** * Enum values that control the adjustHydrogen function's behavior. */ enum Adjustment { /** Only add hydrogens to underbonded atoms. */ Add = 0, /** Only remove hydrogens from overbonded atoms. */ Remove, /** Add hydrogens to underbonded atoms and remove hydrogens from * overbonded atoms. */ AddAndRemove }; /** * Add/remove hydrogens on @a molecule to satisfy valency. */ static void adjustHydrogens(RWMolecule& molecule, Adjustment adjustment = AddAndRemove); /** * Add/remove hydrogens on @a atom to satisfy valency. */ static void adjustHydrogens(RWAtom& atom, Adjustment adjustment = AddAndRemove); /** * @return The number of bonds that need to be added or removed from * @a atom to satisfy valency. A positive number indicates the number of * bonds to add, a negative number indicates the number of bonds that need to * be removed. */ static int valencyAdjustment(const RWAtom& atom); /** * Obtain the indices of hydrogens that can be removed from @a atom. * @param atom The atom from which to prune hydrogens. * @param numberOfHydrogens The maximum number of hydrogens to prune. * @param indices A vector that will be appended with the indices of the * hydrogens to remove. * @return The number of hydrogen indices appended to @a indices. * @note This function modifies neither @a atom nor its parent molecule. It * only pushes the indices of hydrogens to remove to the end of @a indices. */ static int extraHydrogenIndices(const RWAtom& atom, int numberOfHydrogens, std::vector& indices); /** * Generate positions for @a numberOfHydrogens hydrogens bonded to @a atom. * @param positions Vector of positions that will be appended with @a * numberOfHydrogens hydrogen locations. * @note There is nothing intelligent going on here. The new positions are * randomly oriented and have a length that is the sum of @a atom's and * hydrogen's covalent radii. Effort is made to prevent overlap with other * bonded atoms, but this is not guaranteed. */ static void generateNewHydrogenPositions(const RWAtom& atom, int numberOfHydrogens, std::vector& positions); /** * Perceive the geometry / hybridization bonded to @a atom. * Ideally, the client should cache the hybridization number * by calling setHybridization() later */ static Core::AtomHybridization perceiveHybridization(const RWAtom& atom); /** * Generate a new bond vector (unit length) */ static Vector3 generateNewBondVector(const RWAtom& atom, std::vector& currentVectors, Core::AtomHybridization hybridization); private: HydrogenTools(); // Not implemented ~HydrogenTools(); // Not implemented }; } // namespace QtGui } // namespace Avogadro #endif // AVOGADRO_QTGUI_HYDROGENTOOLS_H avogadrolibs-1.93.0/avogadro/qtgui/icons/000077500000000000000000000000001360735163600203405ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/000077500000000000000000000000001360735163600220775ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/000077500000000000000000000000001360735163600226605ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/document-export.png000066400000000000000000000013041360735163600265210ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<fIDATxkAǿi6ҀU 9"7{͓7cS9֞/EP(iXHMbj̆fvݝ]gS0;o޼7, NZ6A$r  #DD4zUS m^?o ٔ Y-;=!+egؿWA4u${=pb[E#,OKnj0"gҟٷOBm!ܰR:臤A( Uy+Vt(^ wBw'|\B_s_EØcjv7XSS)Bc =sJ10հ bUZ">ІSʪN!@ճ2Yqx>Yq8<`mȥM\VxSuE|Vě8 KR~}'lqg_ ΏDv ,\,62UUqkb\d26|fkyT*aΤ q8.hr9LߔEޖÏԃ//H$^}k\v!vz.6?:";.xIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/document-import.png000066400000000000000000000012601360735163600265130ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<RIDATxb?@&,0###vpplp.\dcDq2pw`00Ч(uHr@ֹ o(\AUGuTsYi@ 舒m] ū'R(fͰl7?}v 3:a)r1̽ sj(w@c1o>zm 7ÏccgaR s2aَ;@VPLQ7^79`ax/Û?db_J3lz!LG W B@#G NGA3}*.q$"~ x!D݅:\l8`k43e7- !UgE4@, ?/^`عs'&Y|<g9/V˖pN(A:u* (J߿3lXr8diS?<~r;rGZc9B' -M}rعsŋȲT\|9hBG| k?ٍۣIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/document-new.png000066400000000000000000000017371360735163600260030ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxW[HQfvv5/Y[kRhY*EQ[EeңOJ"D e=XAe]zkPHh|45WksuggfL猻e̹ۗ|3M4UNk{"|TQM ^% G$C':F! bLJn8 h&nMG |zb'?ݛP _N)r3VANW88p}<%d NLmzxw Xfr4cpM.ƞm?tgi5\l!  ;!-Dͽ7&ҭуG;1]-Rk$Om] 4p):uk WPFLh.E) & ȈgxY\L1P DKQE SKvy|L ѶD" n( uhGCpiQo.ROaa!k/cǠ:H`L.`4z@:yR_===hooZIB())Ep8W*<4+#5H'rÇAabP~b>EQpbCDy##K #SCCCx->oAE,˳r?!с;o1 ֟ '3 ?rD& \sTߎS0~0ЖIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/document-open-recent.png000066400000000000000000000020231360735163600274160ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxWmHSQ~tV^P2HO(W?B#) _!$7'}PʑXd_w1FN70{;ֵ]۟s<9{;F$DZ̛Ə9Ч8wL٣̧ghS\\, "s>j8DO`> tcc1{)""& Y&r iR/uWd@C%[DZޞS("pmך;X;/h}݄ y3Q}!&!uR""M{LHU0n/wy yMDPf32'O]^ewT`1g~睖Y%}oo/ʯdr^,ț2 q~_y#ZZ?/?"ZSrZp⥲* cCVT?nK nţW.cգju (,>TcaVz2Fsx܁V4yiQ%dGXwݏʷ^Tۑ8"دۂڳ vx`{ZC4X<3Xu>?糈0 U"W_nV.;z;zLϠ;p )!%';G>$(~{I(Åj'!wm==hr2B\w "vIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/document-open.png000066400000000000000000000015071360735163600261460ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxkAǿ٤[ -HQZ/=ŋAY<7wR4+^"Rk5̌M6tktN{of9:Y$t!dsvvOMMMI"1L&ۗnH$%/v.y ?<%a%wkJrx@b/n\8ƒ[NX8.J\+V}lR_ so `G*H(sx4wiOB1: A—oTLd3#F>l0G) û#J?~c&&+ !vHԘ` bpЭmsqB c]R4 T4(eL. (*aO_RAN]@2O֒Q Fe l{O-a(U$eMж@~KruUR bWrneԪ"nI@D11P(Գԕ7heXY%ĞI)"GZhp@v]})7M!i bX\IăܭU چ ^,f0``[ǂΑ<+j?8 Aؙ|@up ̐|${S^1`= ϭ~ΎIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/document-save-all.png000066400000000000000000000017461360735163600267160ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxWOA~j)&x@#hr6^=x ѨzbZMtw[4ngw|}ߛ7p$ 'tRsf&866>CiBr0 Ljwah(#w;k#FoXp]V܀Cx,d-8S9#Cg5<zfmRpج]07&>﹩_r?A.ُ51OQ4Nt|\YGOÞfv&‹'TJp@@.'Urݯl1`~oQsU1qL1g͕F1-Լm%8`ڦaiw/D=nP9&{JnLfK $hO`4.wC'`P"f,e =H0y: 5 C.,L?ĀrL9%i(IH$كA2bj5bU ,A<~jL;օd6Y 渆'#z0C @Ӵ&Xu@,7gg۱Jͭpr[Yh2OuD"། ]I2 4$zzR裵>! =5bZDO hEl :IENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/document-save-as.png000066400000000000000000000027711360735163600265500ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxW{lSUmݮ؆ 5!͹PD-&*HРAI&M@D#ddFF!1 @Aacĭ{Ю9ki8/==}=ι }zc烎A<:c{δ!18X2^¢'a?w&< '|G9/CWG{.!Zcl lhw:(F2nPvхtΐow9ɸi PvP(B`6+f/Eޛ7eRQS,ܹm&\i-%FM:az8̚Ёf-(ل⩣pTaypwPOWdq[wai:TVHb$fP*:]طy"UA͆֗a]hMrɸE7_Uևgg᢭?@CWbE?D%s:;FfT *ZA0ğ=,mrŊ<\GHW'MK)'`2@եTbEqS)+@D"\.dvp`%FM?v V#c GJS'(V7lbF}Jb[i8y==.0 \ĈZF5J%wK3uj" XaJQB|˲>:hG~E\>7]uUDH,AM~ /c ­M#dP:,a~ ,âqIc!5 xT+}aRRkb>WA\DFBX>ްo=gepR%SM x\>SRvJucp?aJlb6[׎'JkQSS#mh8\G~5BrT>K`Qh8cqiR,Y?qoTXt\ܘjTW/*,++eoFi1gΡ8nk1}4(r%r#Gb^ÔWÇIEP__/S*pī3s\mCD9ɵ{B >w]VLP)?≐<8߯0@IENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/document-save.png000066400000000000000000000014031360735163600261360ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxW;oA;84v]@P"=*[ !ZBDw>Μ .Hi{os.2 XN?xvh1ܾ9S]v{>y {vٹUظqQ8rC8VeKp9gF@p9 `t,C$ MIDƱG&bD CxذMH+\o@E΅ BaM~FY"0 ɠ%Q)yd„-Fj LXH$~x?"J:[1P-AzWxLhiin^[[˸j w(ټCyHzB0m9 K =o<`tllq9w~g MS`/2Lfs4"7q\KwJtYRMn`Џ#+Xp B$W#ؒ]TlR |u|<M1>OJys1y ![Rw_dz'7}Е%%ÙzX-)a@C!}CbooZw 7WT LM=f_^! %jjuȘo~P}vb*[J$Eb]2NBW4O0,d~k%ˈB)f0g\'&ې6 aU@b&*.5=l!SCscoQ]=I,2RQUc3E:=qLX IM0P$C8 =N$x ]9 |DP OL,Q^qnrM4VB#@^^ey׊2G<]zcf82R~;# I \礘^:w'5X"`YmRwNt!ѷ;'Ҩ2wvvbzfvsGJVp87 no =;o%];x!<O3%#߉Sh3 Pe SrIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/edit-cut.png000066400000000000000000000025051360735163600251060ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxW]LSg~JO TX !3[Q~vc^.3o]o %[24^lWk,2A)+m-:ŋ9}}"Jy^yxs@~ ņGq " zp#)+h>:>䂽)pN%PȄ(** m k: )j*͜IB֒kPTP]Ca&vIdffs@iIl~[|6 @Ei(C8] V(Y?UW,~}$IPq>8C6J#(!;O\bU[DO4RDUiBgv<((~}wwlﲥZL*=_ڒ2~r4 u%=Z[ t; dӨQa<aytݼ):ֆuuJ48G(UnACGǡj;M%H$QtL0f+ {Nyc6&H|OB`b6h/ի1]IYv;= N 2 [>y5kty՝aqMA|AK8h*mmBC=L1R49Tj05nj҄ rv;Kk_-C!1O=D-AHHȉ4P8=fhhLƽ{8~{՗_`<0_hS  ҖG%T@Ew|Л[Ja7PXgcVhaj-}ww5Ba ݀ygVtxs{BZ v&RMsZr~$Kv{)J Wx.Q5^r/ay<&s@ox 扟9wHG{+EQgfT)X\ /:_>ViŹau!JNuZ5Q}\DF0m9h>11#Yw,"$d]Y5|]Rc3t5`hp =7S ӁǻGyC'Gb%Ey=_%dywABE_WSg찹 0Fe8x: IENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/edit-delete.png000066400000000000000000000023411360735163600255530ustar00rootroot00000000000000PNG  IHDR szzgAMA abKGD pHYs  tIME*(2^IDATx=lE]߿}g'v@(R[9БH'![$PQ,BH LI @(G*DŽN >~DE|~pCZ`ۅ[뎳ꍻm>qa, |dsLSJ@~b qD4WMA\WDa]Z\4꺔ked>y3&\gb]BnJ:-,bQRQRR>*bJ,O$@"́ӧS((Bxt$DU)ʮцkV@I%jb݊XJ}" xYc'an@"'c)n/.\QR+)3fJ$ҷ}Uj5 nB)Җy='W]‹G׀J Pu`v^U:oC>U_3{y1b-6ӄwUwhvpeJ!TOђmeI;2> DHHEd)F>/FgF  #'ڙ?Z|4|uϓOn#+IGǂ_JPnprوycd\ɠx{S!T&Hbim%p(Vx;S*T ѩQ"̱rww>JE Q0µdEv Y~Mݭ nb{5A913P9+X:V(J ݽeޑ޹C5( sB+.jy s{Y;_zwZ-6 */itE_11ׄ_>)u_ƗDuು!(6/([BHʃV\SYK2.nj%s$͖ٝlG} EyYzT3j /Dݧ|~mS-;#C_mpFhN=/H{>./oί9]3'A]8#75bf\o 8|K 8ruwc!:͇ؐ'}ɭIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/edit-paste.png000066400000000000000000000014141360735163600254250ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxb?@ȈSc?@ݻw=(qF,~0p28:0lټAZZ!>>aB?P1V ?y`=: pɯ1LAKDŽAYE߿ j rrr  'Nb̐!bpMRB L7#oA8 BBB AA  <}Ubش^d@_crp|(zr(:A&PP0el1?!8pëy7h @G?28x%Ucٹsxy )/EhB$ O=#b!AA`"% '-2H>?#I!o/_lX!#~ZiQ@ M0 `' AH CMꘁF- .b>~7GzzzPN:pԩ :hn.u''' A }D L @{{R /[a9YNcrs a|r"s .$ZӧOA@& zWoIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/32x32/help-about.png000066400000000000000000000030721360735163600254300ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxWKoU>vĤN"DPpєbS` +XE,iH!+QHUZ%4i~ܙ{scό {|uGs]O3?Mzc>?L4Sn2k!So^,3H?P/l>ɗNG1[5]H M-y4sUk#x7ZM F* @"B';{o.@wl* H:L_=[Iu6$<fskǓIHX. ;P$|JcCs"1X9BzƷp8PhLgRI5 `@W#'߀JWdVCf .>>xd:yB* dd,Q$F+Fkpހ b3 ^ؘ6VJ.Bz'噁)rГGKE  ѭČg'@u fPLTE (@@Ay15r37OSVtRNSKF(IDATxڴQ0 D_GQm#_d6&%g'M_LXJg@-M%,6M"ᡇF ON/F`M8SN&p'EटN'?DŽn(!J"aDha!B&%BN.4찲&K,.KQH+N2'tB&7*B% >VwctMerv ŵ4T][w/js/Wzw q,sMյm.O+5 ;IENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/64x64/document-export.png000066400000000000000000000043531360735163600265420ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp APLTEWWXHKNEM>L6K9I,JVv%H؜`S#zQ~Јy\h߹ܧ౧ԒӌsjUUQnWQP[ReTrXTTU9aqAǶFj]]^uD~DJJKEIIJ;bUUVȶrBBBCLLMRRS:bKKLqfzlnl7HFLDJAK͌"zOILVVW)xQ6I!yODjRs\\]%iFmrFᆫ=dsBǵwLqnu~>IpwjpvFtDxKxJQrQQRwGLLNrApHHI yMo[{uuv@@A;Ii~BwJi&HHMvE>bQD#ENOPƑttvY]vF&vNKLM%|Q!EmkSSTNNOzz|!yNQsm/Hn{DwIdji: FwH&FMOrA||}o>uD{𓓔^^_pxLetRNS[rIDATxba$8\Fr0 Rh@m eo3@(2^2'SfY(3%L2xj Rf|OwR6s8 4j3|eL XԼ.+'w;Nxyon 6b2 rR*J"jʪ0M@&Pb @F"tt) ~J k@|pIJbhhx.?e~r`+It\:RTFQ~ʉ2q%E%B(\neu()Ղ{ H1 &]'ۀLLvoSC]jqʌ\Ā )1:%L0N]ĀӮSb5cpxuJ pMN˗NAK]_NC]i1qpB`gI8IENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/64x64/document-import.png000066400000000000000000000035341360735163600265330ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp WPLTEKKLHƴKOGM?L8K۷0Ffgh|.J'HC$}Rty]sXӃhVQqE޹ܧfTjVRPnW؜\R~`SщԓyLIIJ%}R@@ANc/G5JCVOsC yM0VE'~T~DJJKF[8K,HTk]t?JPPQ"E?Q`yv>,E;MccdJ_ k=3Id~1Ik7J&}R/HgɸUkRg(FopqjjlLLMTUV]]_SSTZ[\FFG𠠡«VVWUVW[[[%}Q&}QLMNHHJEEFHHIppqwwxhijQQRGGIsst`ab炙tRNSetIDATxWAp\;aE11;Y(}{sfvY9bPʊH(w`XU: j0 @߃| mc0ZPK  vB'8oad4w  nQ;AV2 K@7Q3 >e6Mռ`9$eiCx2J@/?/K|:YDR /sPLTEcddT\Z-JUM1zFEMJRNσ\RuXINZQdjeTP6cE$GEB~bz||8Ky](Iujf[+G֖5KcR,H'IڋzLM}B}HCsKrtsVQIIJUUVbie?Lq;JekjOOGIH\OڢDLDJGMMN@LԑBJFqWaTJmJ HQyM@KZR6\EsЇABBlVJNOSP0J~9{GRRRݪAECъJLLTRGC0J΁DHCrX0tRNSS%IDATxbO4z0| D+c~ana{b}sӖ)+#A&rĶ}sׁUEXKҔ<vY(Ăx/p=盛ƻ4'ʩg)#K~%ZY}vsϘA!8ě%. v]a]U5_ЃcڌLfb X[۰C +}O@hNfr&F] n@ ?Uټy p _D؀Z0DwZTl+X@7)jcTW˚RByoL077OxydeCJ! x57eqL(H8; &dTؤzE -9vzE x rBAb d6 (8 \666~aBR5a6͎e:0A! z`B )Y<' fe橦 B hYϗ:CYYcE~U4Ba||||\x@T8؁ -O8mtǡ.#H]f 3f 0mP`%Pe12399;J*AVXCd83L513-$^XtA@[[x%ZS$LU ߄uCZLJ,[TnB<_.^i@UC]HY7'n]M7[dk0j4:J}`Y ԉlSbJ O;:Sbߎy)1?%q|>ـ)0 M=??;{:)0*U)0@c POϐE83(`I kfrIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/64x64/document-open-recent.png000066400000000000000000000056621360735163600274440ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp {fPLTEH|TQwwxHj7 NpIUUVe{@@AQZ j%p+ffg U;cuǞid"T~F aRIIJZY On$޻ PLMN႕mmna۶ROru$WSʚ܍[w UOf~.lX O]_[[\^Z2\S XS\]iwhW]YYWOj_yRRSVXNOPWWXkkloopɴKKLPn4_`lwkiij`ۉZl_z 0 T`h`u ~``a]x󦦨5϶tp.p@|TTUpfx_ g[P.ٸ8ֻ˾v"a X c \HHI&d%h SVsZq̛“,Z2`CBtRNSS% IDATxbO4(е25vE2tb7zj`cͦ\T!܀ĀUM:/o`Z["Ԁ|"@x3YYWfVߑzV{c P}ǷMuۦW:iJwĤ㬅9Ced;-_Y /sΞ=Qr8/r2 aKL7qyY^s:1̷:SOiMU&OXq xP,ݫYEiG6 DwWYNd@'9aiSvV!fm]!s>&Mpsf"dM[҄_4i ؄) p~Sea 苈t98twwc?oCȀeWg 0a"(̟UXZLߜԫG 'l5 `kp)[lALxF\ .[ EseBf; >IxB],3&̙=Q`8&Hd%vyW_vBߴ T He P7`K[bvЈ>H:^iODRs%)w^$DdgzjS;.d t@=*.cq\hQEڷBf?ϟ=}?P$% UT2݋KM]4u"CI`gf3/ ? e},e%^;K3/ooJbi=H$LNNN)ن5`uR w%nv:^xJr V@`\O Yp0" PGH1KT0'ɀV`i*'Ā]&)0 JyJ 8LĀ}K?%(p)0 Q?9dUȁ|D?qݧgi#Y ʥRIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/64x64/document-open.png000066400000000000000000000053421360735163600261610ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp dPLTEkgZ}MsgJwٯb~KJH׼tWpf^E󓑐}~KJJWrh=qĬa\܆_HFCɾb[WCRFEE֫ezsLꈩlbeVQEZjƹ_QQQմtBBBJIIM՚OŢR]ҍiqdcaqȿ^agzIHHfcZbܾeǾ^^aۺeފٷf]cd|uŴ_ZYQʿ`RRMEDB_bXVR[_NLBHHGAAAOKDXjYڏݏ֏KKLʏ^}YZ[[\]^^͏ҏ_``db[߁bcXgfcifgijkj߲dԫ\ǿ^Ӯt|sjܰb׭_?Zϵq`_Ulkec_ϧX\`ҪZqkILuLLIv=UWQŞabDCB_^X|vt]Aͻ^zhTV{pwSadZ`[G^QcسeڌiNNN˥VϨYׂi‚֌c~{`||vDH`om[b\Ʃb]?rrq`{zyJGCj`sM~_Tڽd_tsmc`Ek`Kǽ]Lƻ^n\tRNSS%:IDATxb YDHj@a4ѠpԀQF f?H!ހ9`-j.4@xxZظG Bl0G+߿x,Q _[6.J2DP eL"> nɓťpZT~y}1k"L4I͙=h׀OgO";OIIw(J%WRS 07_k=dqMN>6lq أ|\SR :u~k4m?m;4`= DCP IO 4IEA(h dL22|̛wfOPnA{5 ''$Ѐib~ X߳^' Jʫnt ׶ZO`˻dMAA Xp֏Rx+ ?2@w cs3^4Ap0].Q46c'4 ZLRAq_ sGzrq 7p TV6B|2 2҂JXDzrEC+pT6`wDYY!(Czr{ TmJсܢO ,7.))ot 'wAƒⰫSbL'2 RP&)v-Tl"9@On9 $bzr].8@ue`,A P"`"?QOiYr]`b_r rbN"%RX- J "!mɌPQd` 2IENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/64x64/document-save-all.png000066400000000000000000000062171360735163600267260ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp ?PLTEkkkKLM緷bce|}mnq}efh_`bdeg[\^WXY}~yz}wx{cdfUVXtSTVnnoOPR@@AHHIGGH\]_fgiaac^_aAABCCENOPLLNFFHMMOZZ\PPRSSUAACOOQXXZWWYTUWCBDJJLHHJGGIEEGDCENNPRRTKKMBBCijllmoghjqrustwtuxvwzjknCCDoprxy{ϰȟĻQQS{|~z{~~|}qrtZ[]KMODDEabd]^``acPPQIIKEEFFFGllmTTUFGIxy|\\]BBDBACnorpqsSSTYY[VVWVWYcilYZ\UUW@@BMNONNO]]_VVXDDFXYZTUVuvxrsu{{}EFGQRTUVWggiRSTXXYKKLPQSMMNJJKVWXWWXTTVYYZZZ[IJKFGHSVXBCDejl__b[[]YZ[PQRQQRYchA@B``b㨪WZ\IIJ\\^ABC\]^ffh浶DEG^^`^_`__am4tRNSS%IDATxڜwXwB@ArE. Ě[ڲ!@WqKn1 "вFŽj{Ov~…>ޓ<~ɗ<0N!}^Ak ބ̟\ŒbZQWUGky6dQr>WZB---+y v ܉CPAFkh $!!"%a [ 9SBhhGBi+imQ^%|>w_? ZI1*K;SѭAASah݀ p38e ^镴hG& `$f:ᤚ~6Z[Qo >GEr>-0}hH}B/Zw>9SnAf_5^ @a(h~ Q!plCBGZqp!]ԀB9tQ*hU']TYkd0W ]qf.R0S8vAt*ZWU)@ ظ`Lj袌'Z[[+̂A\PtQf_aZs]U"Ez C"Ep i]\!]TYhm; q^[{R̈ct^Ӽgp?/Xv\:@ p )GԦ"zMJCBf $yQ"#Mgԅ%{flM|OM!QI]\II9&M!P .otLu}Ff9钝s#:8'M{e)> O2{[B / TeS}c܎f=MSem9i%̉ii%r{y=+!`Eȓ#W'KmY!ɋ$)U/qF=[GS&Tpҕ&BWV˅94r h+ض/< 嶻׸FgLIS}|\+0HSy%n]_kK嶺z\ȺtؚRmk/d ᷽d\htT|M45M5tU|5tmnG>3ރ=O7& ʃWolDy\;}(4YIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/64x64/document-save-as.png000066400000000000000000000062521360735163600265600ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp Pb5PLTEUVXMMOAgMJE\]_CBDXXZ{kR|~PQReRMF=<=423EEFd^;WhOijmGGHhikKKLHHJ^_aù]yz}RRTLKH9FNNPqSBˣcffhTUVNqruZ[]`acjINLHbcelmoi_׭^^ĴJ2dfhdegca^UUUɹMoaM֬]IGDQOK8Dstwdb_AABFECXXXŝSSUլ]wTQPPVWYGHI@@@AoQɉfc`TTOZZ[jeHHI[\^abd2emnqevwzxy{|}opr{|tux~BBCij֫eѧdifjiԫ\CCEVVWfԫ[JJKŞahcdf_`b̴DCBghjBIIK>=?CEYY[WVQGznoItRNSS%IDATxڤ\uq~9Z.?\E`K+?:dcX?GE߬PA0k%a~nn4ޟ'=n!& &=4W~`:2nxٺ3jifOUyT1+L}pObwSv,PAb}T}, Y˶9 < sH@SUp^Y< p[(k7| J8GA28dy}vR}Gɯ09 j`S;}+f\ TJ wI$< ʙ(.. gp8'ˁshp{_5#¦Dt:p,uϻn5"hmQ`$Sʹb}:"so;z7'|z/p55z_AGԈs9 hTb4FiH% h 0cu%P8?+ZFxGpo r%~]T6.g쾡@86O墀'03Bo9RBx ~Uw_ o#h9|,>GB0pt t0oPgR #-Bfr™p'DG1Ej>Xo]-#\ oZބ- - \ORAxLܢe0`…@­$0>p|6ew)u{ \VUBMRk+ @xUP@G^bf!G4t"=梒:AI* "cCp,_Z@7'Kjy,Av{Z  wTUPQDr'F/\Tu҄$]CؒmxH2E|dD/@JpB3#/X =l9 yVd;q9Y.?60fS: ±PLTEhikttvYZ\VXZghk@@AfgiҸ\]__`bZ[]abdaac^_a[\^cdfdegAABFGHDCEAACMMOBBCCBDOOQKKMPPRNNPLLNEEGJJLSTVFFHQQSSSUTUWIIKVWYGGIHHJWWYYY[XXZ}~ijlϸѳmnpĩlmoyz}|}jknxy|qruwx{uvytuxopr~{|stw[[\DDEqrtmnqKKLCCDRRTjjlEEFLMOGGHBBDDDFBAC]^`LLMXY[defJJKnorVVXVVWbcejkmCCEHHIUVX~KLMnoq`acFFGZZ\Z[\UVWefhIIJpqtrsuRSU__az|}~PPQZZ[TUVhilWXYMNO𤥦LMNMMNڷNOPYZ[XYZggi@@B}]^_VWXccd[[]ddgkln``bffi^^`l{\\^xz|yz|{|~jkl_`aSSTUUWbbdbbeOPQNSUUXZx tRNSS%"IDATxڬwTSgqD}KT_kkڑܴ6J(-m 4JIJq/ܫ{i{=v7\=9r|c χivp1m X}1t~fsieA˵+Wm!|$ojjj<1 USm1m#BXcf/f;e;hV[B2 Ѭ-lCR@mJ("y"T Pu6F6UTB|$XT#PSDѦ*ƜoGh6WCb$/a4m6#PY" IJ61J5>EMtTW(=.땏r@`؎c5[;mV"P2~fWM ALu<@rzŷלkU PT76EĖٿE HM pft[G֍@(ݒHH-ɺmE5AVStG 1^DbF7Q7/ygR>3Cdp=^[YW5Ӷ\a?o`[>-h^29}RC~  hq`K =;s [,-1候 ҽ3u-{`ʍo{#6 4{D{Eˁfܷ/t0>4vhƅ La,8|<*ށ@Cf{ +(CYf `>#^T!A'"+sSr|{wĠswsN2Kخ)*t߬v;A;~.P5(v?~)  n2^ &7ړ{ֶ|i=s)_'W ^xjh_p- OkKIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/64x64/edit-copy.png000066400000000000000000000051671360735163600253060ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp 2 PLTEɩV˪GMbdgyVTTUiJMMNIGi?iijQOƤTiSwNN^^_ȦUNKIIJWWXoopJJKji󄄅jjjhUgj^jsjƾȥв]jqºhjfzgihfehk׾fhivflgjiiihkfhEEFsKKL׿NNRg~Ql^ήX햸NdejktZgͳOOOgũTvGRwWk@GEߵnHq]tٲJgmy}gdeefdieջֽXşoMqrsyy{kkloooJHHI\\hhù}heMRZZ[guyfṮceBBCjpsLQ1k0tRNSS%IDATxuXqQ*X( pY b`"bbww`www_aCn~wvLYkZO=5+'v$䓓@T3zg8r ̾@{h`F"{}&8?"}v/i}~`h})ZĥA?WsK^)CZ$9_"tЉqz3VZ8!%EkpR祑p^AߨIm; (ik軷4%pXP߲ ޷M> }ʜ/@m)w;LTjހň_ewGX<^+*wPX }1j6 (yupQzW4{(`nfX( n p_P1,]"JzZj%_5D3bOoSߋ-g~ro%w8[oTIvыsF^yGNdw4**yNKWL=A``RpBY-]Js pB+ L'!@2"$l#@r"f<=cn@k|5{aTIENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/64x64/edit-cut.png000066400000000000000000000065721360735163600251300ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp APLTE\cgʭ5yz}hnquvyڌ쵶jkl%{}~ϦױFeƝQtശBSZ+dzLLMvy{e0-Zp i9fuGjuBHMzpFNQR\WltLRUpWz򷷹$qyj~ХDW_\\^U^bK]dkuzb庼`inUUV;l3JXrrunyӚuIMPPPQ@BDTY]ZZuFPT~eefYYZ^t쎐4[lLUYΝkqv}:CJppqTWYSST:Zeuuvq檫:UcBPVu}bcdnz:މCMSaabw1Pb|^__OX\sfqvwDFH?T]˫Բ􃄅rtw[[\ nl v ~ٌ{ikN}KqY\_d}Y#{2v[u~k `q|b <`lwewDP$n#1`tLmfghMai.l瓓yDKOtRNSS%IDATxbO!`lp_PU:WlN(MLW YL%3 %  2j%L 2kQZEi ɋ\Z!.KYKg"ޠ!LeB䥃Sg=7jW E$gP$& T\.FbfgPSVuU6y'?qYҲX~B JK?Nfv.%3,Yh2MvYZZSބπTYϭ#gEܤ*avu! ڙ?_zd/H#X|ʳ>{. ]Mb5rՉ Mg gXlyΓ̓q]U¯8W&Tәa%$OΔrꖍP f& qrt =4 {~]h:dʱ b} k|k ~Ι9 == &lzHKpNNvv%ULIǹ E[ʩ SE*IOOύү \E̝@sgGqעs'rᦽHxݞEFIFۙ$CUReJ&ůK:3W"jƍ6G3Xk\4Kե>Q!1AuVh.o:`E5)#6Ā7i~ixt0mOJK˙h{QX1~竣-r1`@zPJu˭{ +&J%&q s/޸ m uδo eg)_7NPJd?Q% PLTEZZ[cb^ѫ[̱aꔖë[ϿaιaQQRJJKz{}QPL҄ͷavvwefgLLMaackjjWWXjjijiiihihih듑Ã~\WTQKKLï^iigjjjjjjjIHHgԫ[WUQKJHhhhgg[ool``aWVQonl[[kklIIJNNOˊΩ[ihclkfHHI~[ʹapni񸹼Z]\WאŰWVRVVWe__`λa˶`fbO\rsupmTYĶ]c{QJIH\abaԒYhgbsrlǺ^EEEfe`g`_Z̯aݎ򞠣[ˤYQGGHWWYOMH]]^rpW{wXkjf]eqpjoprvto˓_]Pо`_^YSQKԽbμ`NML[YRQNRRMzzvﴶzxsijlwvrU)tRNSS%IDATxeTSa) t Ě9De[M@) %ewx<\ߗ|ιF!N~;"2wŽn{ㅨ}.fA&M#cm\W,WePvCmOmVyJZ?~1q[3c<'"^q-ljM3Yk*bJ1\6Sx$!ksg!dM"N?ժP쌛}*4,fSfF En- \%Bg9?`Q=f*ɂdȂ2d d@9`,YA.Q89fJa۵INa ɢJQn ǔ 9@IL@\514 1xML<); `  4t bf$U\HE`.Jc0@E0`J5W$ ` ?^:Ρ1= ~+3M_s_(Fܖrkate־CN $ۃHNoDBHAB(< v穘]M%IENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/64x64/help-about.png000066400000000000000000000101561360735163600254430ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp kPLTER\Ii ~Kze#Ih!@@A-GZ-Vg:DJdhjvCV^)B>ADHMR{YJZ`dUl1.hKr$x(z|[UVZ|(cwf:O!jؕjU[^CQY`St&b:Zc3DRZ #sCX^ RlopČۃmrt cCJNP;W^b z d_}5hvOY@FJn>@C4HT:T] r'VKQU~Qq|`ܟ ZMYqsuq=KQ N?DF+U:IOV1LZ9anwsyrpauvn6?NWk=e4yWciSE∉pw.X,(r; Z:lp)4a۹G>P2dA@O/@6)Է4lj빹~8(ӏq\A%MRlZvq`+nDݢXNq Yy ?ՉtDTrEJ8z A)@#2|pFn(UͽA|DP 5g2FOa[=爤|R?'_i"kɄMH"<}L AN~@(YbCk7`b}<_vu+£+D?yLF1Gߒ R Tʗ\ieXTm5qRdHrqD o=Q1Gˎ*D)p%).BF6 O`@[n~SWؑʇ+ wVtsē\-e`BK`_:%;r~hj辡+ZXR: p]Og\jLf=]Q aV.\{ZSv! ٔ?4~ 3+tjZSSS@ښM2GX/Uq+j:{5,,7)q<*@=z񊊚|TT=27#6&VCCCVzJOzp;qtJc>< rzPODNO4T䃃<љ \>4' nD߄pj><ɪC)T0|NXؾԇ'~R;=d(y4K̏x5ikw?>uMw,,גd3??z? 0J0- IENDB`avogadrolibs-1.93.0/avogadro/qtgui/icons/fallback/index.theme000066400000000000000000000002371360735163600242340ustar00rootroot00000000000000[Icon Theme] Name=Avogadro Fallback Comment=Fallback icons for use in Avogadro Directories=32x32,64x64 [32x32] Size=32 Type=Fixed [64x64] Size=64 Type=Fixed avogadrolibs-1.93.0/avogadro/qtgui/interfacescript.cpp000066400000000000000000000635211360735163600231250ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. This source code is released under the New BSD License, (the "License"). ******************************************************************************/ #include "interfacescript.h" #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtGui { using QtGui::GenericHighlighter; using QtGui::PythonScript; InterfaceScript::InterfaceScript(const QString& scriptFilePath_, QObject* parent_) : QObject(parent_), m_interpreter(new PythonScript(scriptFilePath_, this)), m_moleculeExtension(QStringLiteral("Unknown")) {} InterfaceScript::InterfaceScript(QObject* parent_) : QObject(parent_), m_interpreter(new PythonScript(this)), m_moleculeExtension(QStringLiteral("Unknown")) {} InterfaceScript::~InterfaceScript() {} bool InterfaceScript::debug() const { return m_interpreter->debug(); } QJsonObject InterfaceScript::options() const { m_errors.clear(); if (m_options.isEmpty()) { qDeleteAll(m_highlightStyles.values()); m_highlightStyles.clear(); // Retrieve/set options QByteArray json = m_interpreter->execute( QStringList() << QStringLiteral("--print-options")); if (m_interpreter->hasErrors()) { m_errors << m_interpreter->errorList(); return m_options; } QJsonDocument doc; if (!parseJson(json, doc)) return m_options; if (!doc.isObject()) { m_errors << tr("script --print-options output must be an JSON object " "at top level. Received:\n%1") .arg(json.constData()); return m_options; } m_options = doc.object(); if (m_options.contains(QStringLiteral("highlightStyles")) && m_options.value(QStringLiteral("highlightStyles")).isArray()) { if (!parseHighlightStyles( m_options.value(QStringLiteral("highlightStyles")).toArray())) { qDebug() << "Failed to parse highlighting styles."; } } } // Check if the generator needs to read a molecule. m_moleculeExtension = QLatin1String("cjson"); if (m_options.contains(QStringLiteral("inputMoleculeFormat")) && m_options[QStringLiteral("inputMoleculeFormat")].isString()) { m_moleculeExtension = m_options[QStringLiteral("inputMoleculeFormat")].toString(); } return m_options; } QString InterfaceScript::displayName() const { m_errors.clear(); if (m_displayName.isEmpty()) { m_displayName = QString(m_interpreter->execute( QStringList() << QStringLiteral("--display-name"))); m_errors << m_interpreter->errorList(); m_displayName = m_displayName.trimmed(); } return m_displayName; } QString InterfaceScript::menuPath() const { m_errors.clear(); if (m_menuPath.isEmpty()) { m_menuPath = QString( m_interpreter->execute(QStringList() << QStringLiteral("--menu-path"))); m_errors << m_interpreter->errorList(); m_menuPath = m_menuPath.trimmed(); } return m_menuPath; } QString InterfaceScript::scriptFilePath() const { return m_interpreter->scriptFilePath(); } void InterfaceScript::setScriptFilePath(const QString& scriptFile) { reset(); m_interpreter->setScriptFilePath(scriptFile); } void InterfaceScript::reset() { m_interpreter->setDefaultPythonInterpretor(); m_interpreter->setScriptFilePath(QString()); m_moleculeExtension = QLatin1String("Unknown"); m_displayName = QString(); m_options = QJsonObject(); m_warnings.clear(); m_errors.clear(); m_filenames.clear(); m_mainFileName.clear(); m_files.clear(); m_fileHighlighters.clear(); m_highlightStyles.clear(); } bool InterfaceScript::runCommand(const QJsonObject& options_, Core::Molecule* mol) { m_errors.clear(); m_warnings.clear(); m_filenames.clear(); qDeleteAll(m_fileHighlighters.values()); m_fileHighlighters.clear(); m_mainFileName.clear(); m_files.clear(); // Add the molecule file to the options QJsonObject allOptions(options_); if (!insertMolecule(allOptions, *mol)) return false; QByteArray json( m_interpreter->execute(QStringList() << QStringLiteral("--run-command"), QJsonDocument(allOptions).toJson())); if (m_interpreter->hasErrors()) { m_errors << m_interpreter->errorList(); return false; } QJsonDocument doc; if (!parseJson(json, doc)) { return false; } // Update cache bool result = true; if (doc.isObject()) { QJsonObject obj = doc.object(); // Check for any warnings: if (obj.contains(QStringLiteral("warnings"))) { if (obj[QStringLiteral("warnings")].isArray()) { foreach (const QJsonValue& warning, obj["warnings"].toArray()) { if (warning.isString()) m_warnings << warning.toString(); else m_errors << tr("Non-string warning returned."); } } else { m_errors << tr("'warnings' member is not an array."); } } m_moleculeExtension = "cjson"; if (obj.contains("moleculeFormat") && obj["moleculeFormat"].isString()) { m_moleculeExtension = obj["moleculeFormat"].toString(); } Io::FileFormatManager& formats = Io::FileFormatManager::instance(); QScopedPointer format( formats.newFormatFromFileExtension(m_moleculeExtension.toStdString())); if (format.isNull()) { m_errors << tr("Error reading molecule representation: " "Unrecognized file format: %1") .arg(m_moleculeExtension); return false; } QtGui::Molecule* guiMol = static_cast(mol); QtGui::Molecule newMol(guiMol->parent()); if (m_moleculeExtension == "cjson") { // convert the "cjson" field to a string QJsonObject cjsonObj = obj["cjson"].toObject(); QJsonDocument doc(cjsonObj); QString strCJSON(doc.toJson(QJsonDocument::Compact)); if (!strCJSON.isEmpty()) { result = format->readString(strCJSON.toStdString(), newMol); } } else if (obj.contains(m_moleculeExtension) && obj[m_moleculeExtension].isString()) { QString strFile = obj[m_moleculeExtension].toString(); result = format->readString(strFile.toStdString(), newMol); } // check if the script wants us to perceive bonds first if (obj["bond"].toBool()) { newMol.perceiveBondsSimple(); } if (obj["append"].toBool()) { // just append some new bits guiMol->undoMolecule()->appendMolecule(newMol, m_displayName); } else { // replace the whole molecule Molecule::MoleculeChanges changes = (Molecule::Atoms | Molecule::Bonds | Molecule::Added | Molecule::Removed); guiMol->undoMolecule()->modifyMolecule(newMol, changes, m_displayName); } } return result; } bool InterfaceScript::generateInput(const QJsonObject& options_, const Core::Molecule& mol) { m_errors.clear(); m_warnings.clear(); m_filenames.clear(); qDeleteAll(m_fileHighlighters.values()); m_fileHighlighters.clear(); m_mainFileName.clear(); m_files.clear(); // Add the molecule file to the options QJsonObject allOptions(options_); if (!insertMolecule(allOptions, mol)) return false; QByteArray json( m_interpreter->execute(QStringList() << QStringLiteral("--generate-input"), QJsonDocument(allOptions).toJson())); if (m_interpreter->hasErrors()) { m_errors << m_interpreter->errorList(); return false; } QJsonDocument doc; if (!parseJson(json, doc)) return false; // Update cache bool result = true; if (doc.isObject()) { QJsonObject obj = doc.object(); // Check for any warnings: if (obj.contains(QStringLiteral("warnings"))) { if (obj[QStringLiteral("warnings")].isArray()) { foreach (const QJsonValue& warning, obj["warnings"].toArray()) { if (warning.isString()) m_warnings << warning.toString(); else m_errors << tr("Non-string warning returned."); } } else { m_errors << tr("'warnings' member is not an array."); } } // Extract input file text: if (obj.contains(QStringLiteral("files"))) { if (obj[QStringLiteral("files")].isArray()) { foreach (const QJsonValue& file, obj["files"].toArray()) { if (file.isObject()) { QJsonObject fileObj = file.toObject(); if (fileObj[QStringLiteral("filename")].isString()) { QString fileName = fileObj[QStringLiteral("filename")].toString(); QString contents; if (fileObj[QStringLiteral("contents")].isString()) { contents = fileObj[QStringLiteral("contents")].toString(); } else if (fileObj[QStringLiteral("filePath")].isString()) { QFile refFile(fileObj[QStringLiteral("filePath")].toString()); if (refFile.exists() && refFile.open(QFile::ReadOnly)) { contents = QString(refFile.readAll()); } else { contents = tr("Reference file '%1' does not exist.") .arg(refFile.fileName()); m_warnings << tr("Error populating file %1: %2") .arg(fileName, contents); } } else { m_errors << tr("File '%1' poorly formed. Missing string " "'contents' or 'filePath' members.") .arg(fileName); contents = m_errors.back(); result = false; } replaceKeywords(contents, mol); m_filenames << fileName; m_files.insert(fileObj[QStringLiteral("filename")].toString(), contents); // Concatenate the requested styles for this input file. if (fileObj[QStringLiteral("highlightStyles")].isArray()) { GenericHighlighter* highlighter(new GenericHighlighter(this)); foreach (const QJsonValue& styleVal, fileObj["highlightStyles"].toArray()) { if (styleVal.isString()) { QString styleName(styleVal.toString()); if (m_highlightStyles.contains(styleName)) { *highlighter += *m_highlightStyles[styleName]; } else { qDebug() << "Cannot find highlight style '" << styleName << "' for file '" << fileName << "'"; } } } if (highlighter->ruleCount() > 0) m_fileHighlighters[fileName] = highlighter; else highlighter->deleteLater(); } } else { result = false; m_errors << tr("Malformed file entry: filename/contents missing" " or not strings:\n%1") .arg(QString(QJsonDocument(fileObj).toJson())); } // end if/else filename and contents are strings } else { result = false; m_errors << tr("Malformed file entry at index %1: Not an object.") .arg(m_filenames.size()); } // end if/else file is JSON object } // end foreach file } else { result = false; m_errors << tr("'files' member not an array."); } // end if obj["files"] is JSON array } else { result = false; m_errors << tr("'files' member missing."); } // end if obj contains "files" // Extract main input filename: if (obj.contains(QStringLiteral("mainFile"))) { if (obj[QStringLiteral("mainFile")].isString()) { QString mainFile = obj[QStringLiteral("mainFile")].toString(); if (m_filenames.contains(mainFile)) { m_mainFileName = mainFile; } else { result = false; m_errors << tr("'mainFile' member does not refer to an entry in " "'files'."); } // end if/else mainFile is known } else { result = false; m_errors << tr("'mainFile' member must be a string."); } // end if/else mainFile is string } else { // If no mainFile is specified and there is only one file, use it as the // main file. Otherwise, don't set a main input file -- all files will // be treated as supplemental input files if (m_filenames.size() == 1) m_mainFileName = m_filenames.first(); } // end if/else object contains mainFile } else { result = false; m_errors << tr("Response must be a JSON object at top-level."); } if (result == false) m_errors << tr("Script output:\n%1").arg(QString(json)); return result; } int InterfaceScript::numberOfInputFiles() const { return m_filenames.size(); } QStringList InterfaceScript::fileNames() const { return m_filenames; } QString InterfaceScript::mainFileName() const { return m_mainFileName; } QString InterfaceScript::fileContents(const QString& fileName) const { return m_files.value(fileName, QString()); } GenericHighlighter* InterfaceScript::createFileHighlighter( const QString& fileName) const { GenericHighlighter* toClone(m_fileHighlighters.value(fileName, nullptr)); return toClone ? new GenericHighlighter(*toClone) : toClone; } void InterfaceScript::setDebug(bool d) { m_interpreter->setDebug(d); } bool InterfaceScript::parseJson(const QByteArray& json, QJsonDocument& doc) const { QJsonParseError error; doc = QJsonDocument::fromJson(json, &error); if (error.error != QJsonParseError::NoError) { m_errors << tr("Parse error at offset %L1: '%2'\nRaw JSON:\n\n%3") .arg(error.offset) .arg(error.errorString()) .arg(QString(json)); return false; } return true; } bool InterfaceScript::insertMolecule(QJsonObject& json, const Core::Molecule& mol) const { // Update the cached options if the format is not set if (m_moleculeExtension == QLatin1String("Unknown")) options(); if (m_moleculeExtension == QLatin1String("None")) return true; Io::FileFormatManager& formats = Io::FileFormatManager::instance(); QScopedPointer format( formats.newFormatFromFileExtension(m_moleculeExtension.toStdString())); if (format.isNull()) { m_errors << tr("Error writing molecule representation to string: " "Unrecognized file format: %1") .arg(m_moleculeExtension); return false; } std::string str; if (!format->writeString(str, mol)) { m_errors << tr("Error writing molecule representation to string: %1") .arg(QString::fromStdString(format->error())); return false; } if (m_moleculeExtension != QLatin1String("cjson")) { json.insert(m_moleculeExtension, QJsonValue(QString::fromStdString(str))); } else { // If cjson was requested, embed the actual JSON, rather than the string. QJsonParseError error; QJsonDocument doc = QJsonDocument::fromJson(str.c_str(), &error); if (error.error != QJsonParseError::NoError) { m_errors << tr("Error generating cjson object: Parse error at offset %1: " "%2\nRaw JSON:\n\n%3") .arg(error.offset) .arg(error.errorString()) .arg(QString::fromStdString(str)); return false; } if (!doc.isObject()) { m_errors << tr("Error generator cjson object: Parsed JSON is not an " "object:\n%1") .arg(QString::fromStdString(str)); return false; } json.insert(m_moleculeExtension, doc.object()); } return true; } QString InterfaceScript::generateCoordinateBlock( const QString& spec, const Core::Molecule& mol) const { Core::CoordinateBlockGenerator gen; gen.setMolecule(&mol); gen.setSpecification(spec.toStdString()); std::string tmp(gen.generateCoordinateBlock()); if (!tmp.empty()) tmp.resize(tmp.size() - 1); // Pop off the trailing newline return QString::fromStdString(tmp); } void InterfaceScript::replaceKeywords(QString& str, const Core::Molecule& mol) const { // Simple keywords: str.replace(QLatin1String("$$atomCount$$"), QString::number(mol.atomCount())); str.replace(QLatin1String("$$bondCount$$"), QString::number(mol.bondCount())); // Find each coordinate block keyword in the file, then generate and replace // it with the appropriate values. QRegExp coordParser("\\$\\$coords:([^\\$]*)\\$\\$"); int ind = 0; while ((ind = coordParser.indexIn(str, ind)) != -1) { // Extract spec and prepare the replacement const QString keyword = coordParser.cap(0); const QString spec = coordParser.cap(1); // Replace all blocks with this signature str.replace(keyword, generateCoordinateBlock(spec, mol)); } // end for coordinate block } bool InterfaceScript::parseHighlightStyles(const QJsonArray& json) const { bool result(true); foreach (QJsonValue styleVal, json) { if (!styleVal.isObject()) { qDebug() << "Non-object in highlightStyles array."; result = false; continue; } QJsonObject styleObj(styleVal.toObject()); if (!styleObj.contains(QStringLiteral("style"))) { qDebug() << "Style object missing 'style' member."; result = false; continue; } if (!styleObj.value(QStringLiteral("style")).isString()) { qDebug() << "Style object contains non-string 'style' member."; result = false; continue; } QString styleName(styleObj.value(QStringLiteral("style")).toString()); if (m_highlightStyles.contains(styleName)) { qDebug() << "Duplicate highlight style: " << styleName; result = false; continue; } if (!styleObj.contains(QStringLiteral("rules"))) { qDebug() << "Style object" << styleName << "missing 'rules' member."; result = false; continue; } if (!styleObj.value(QStringLiteral("rules")).isArray()) { qDebug() << "Style object" << styleName << "contains non-array 'rules' member."; result = false; continue; } QJsonArray rulesArray(styleObj.value(QStringLiteral("rules")).toArray()); GenericHighlighter* highlighter( new GenericHighlighter(const_cast(this))); if (!parseRules(rulesArray, *highlighter)) { qDebug() << "Error parsing style" << styleName << endl << QString(QJsonDocument(styleObj).toJson()); highlighter->deleteLater(); result = false; continue; } m_highlightStyles.insert(styleName, highlighter); } return result; } bool InterfaceScript::parseRules(const QJsonArray& json, GenericHighlighter& highligher) const { bool result(true); foreach (QJsonValue ruleVal, json) { if (!ruleVal.isObject()) { qDebug() << "Rule is not an object."; result = false; continue; } QJsonObject ruleObj(ruleVal.toObject()); if (!ruleObj.contains(QStringLiteral("patterns"))) { qDebug() << "Rule missing 'patterns' array:" << endl << QString(QJsonDocument(ruleObj).toJson()); result = false; continue; } if (!ruleObj.value(QStringLiteral("patterns")).isArray()) { qDebug() << "Rule 'patterns' member is not an array:" << endl << QString(QJsonDocument(ruleObj).toJson()); result = false; continue; } QJsonArray patternsArray( ruleObj.value(QStringLiteral("patterns")).toArray()); if (!ruleObj.contains(QStringLiteral("format"))) { qDebug() << "Rule missing 'format' object:" << endl << QString(QJsonDocument(ruleObj).toJson()); result = false; continue; } if (!ruleObj.value(QStringLiteral("format")).isObject()) { qDebug() << "Rule 'format' member is not an object:" << endl << QString(QJsonDocument(ruleObj).toJson()); result = false; continue; } QJsonObject formatObj(ruleObj.value(QStringLiteral("format")).toObject()); GenericHighlighter::Rule& rule = highligher.addRule(); foreach (QJsonValue patternVal, patternsArray) { QRegExp pattern; if (!parsePattern(patternVal, pattern)) { qDebug() << "Error while parsing pattern:" << endl << QString(QJsonDocument(patternVal.toObject()).toJson()); result = false; continue; } rule.addPattern(pattern); } QTextCharFormat format; if (!parseFormat(formatObj, format)) { qDebug() << "Error while parsing format:" << endl << QString(QJsonDocument(formatObj).toJson()); result = false; } rule.setFormat(format); } return result; } bool InterfaceScript::parseFormat(const QJsonObject& json, QTextCharFormat& format) const { // Check for presets first: if (json.contains(QStringLiteral("preset"))) { if (!json[QStringLiteral("preset")].isString()) { qDebug() << "Preset is not a string."; return false; } QString preset(json[QStringLiteral("preset")].toString()); /// @todo Store presets in a singleton that can be configured in the GUI, /// rather than hardcoding them. if (preset == QLatin1String("title")) { format.setFontFamily(QStringLiteral("serif")); format.setForeground(Qt::darkGreen); format.setFontWeight(QFont::Bold); } else if (preset == QLatin1String("keyword")) { format.setFontFamily(QStringLiteral("mono")); format.setForeground(Qt::darkBlue); } else if (preset == QLatin1String("property")) { format.setFontFamily(QStringLiteral("mono")); format.setForeground(Qt::darkRed); } else if (preset == QLatin1String("literal")) { format.setFontFamily(QStringLiteral("mono")); format.setForeground(Qt::darkMagenta); } else if (preset == QLatin1String("comment")) { format.setFontFamily(QStringLiteral("serif")); format.setForeground(Qt::darkGreen); format.setFontItalic(true); } else { qDebug() << "Invalid style preset: " << preset; return false; } return true; } // Extract an RGB tuple from 'array' as a QBrush: struct { QBrush operator()(const QJsonArray& array, bool* ok) { *ok = false; QBrush result; if (array.size() != 3) return result; int rgb[3]; for (int i = 0; i < 3; ++i) { if (!array.at(i).isDouble()) return result; rgb[i] = static_cast(array.at(i).toDouble()); if (rgb[i] < 0 || rgb[i] > 255) { qDebug() << "Warning: Color component value invalid: " << rgb[i] << " (Valid range is 0-255)."; } } result.setColor(QColor(rgb[0], rgb[1], rgb[2])); result.setStyle(Qt::SolidPattern); *ok = true; return result; } } colorParser; if (json.contains(QStringLiteral("foreground")) && json.value(QStringLiteral("foreground")).isArray()) { QJsonArray foregroundArray( json.value(QStringLiteral("foreground")).toArray()); bool ok; format.setForeground(colorParser(foregroundArray, &ok)); if (!ok) return false; } if (json.contains(QStringLiteral("background")) && json.value(QStringLiteral("background")).isArray()) { QJsonArray backgroundArray( json.value(QStringLiteral("background")).toArray()); bool ok; format.setBackground(colorParser(backgroundArray, &ok)); if (!ok) return false; } if (json.contains(QStringLiteral("attributes")) && json.value(QStringLiteral("attributes")).isArray()) { QJsonArray attributesArray( json.value(QStringLiteral("attributes")).toArray()); format.setFontWeight(attributesArray.contains(QLatin1String("bold")) ? QFont::Bold : QFont::Normal); format.setFontItalic(attributesArray.contains(QLatin1String("italic"))); format.setFontUnderline( attributesArray.contains(QLatin1String("underline"))); } if (json.contains(QStringLiteral("family")) && json.value(QStringLiteral("family")).isString()) { format.setFontFamily(json.value(QStringLiteral("family")).toString()); } return true; } bool InterfaceScript::parsePattern(const QJsonValue& json, QRegExp& pattern) const { if (!json.isObject()) return false; QJsonObject patternObj(json.toObject()); if (patternObj.contains(QStringLiteral("regexp")) && patternObj.value(QStringLiteral("regexp")).isString()) { pattern.setPatternSyntax(QRegExp::RegExp2); pattern.setPattern(patternObj.value(QStringLiteral("regexp")).toString()); } else if (patternObj.contains(QStringLiteral("wildcard")) && patternObj.value(QStringLiteral("wildcard")).isString()) { pattern.setPatternSyntax(QRegExp::WildcardUnix); pattern.setPattern(patternObj.value(QStringLiteral("wildcard")).toString()); } else if (patternObj.contains(QStringLiteral("string")) && patternObj.value(QStringLiteral("string")).isString()) { pattern.setPatternSyntax(QRegExp::FixedString); pattern.setPattern(patternObj.value(QStringLiteral("string")).toString()); } else { return false; } if (patternObj.contains(QStringLiteral("caseSensitive"))) { pattern.setCaseSensitivity( patternObj.value(QStringLiteral("caseSensitive")).toBool(true) ? Qt::CaseSensitive : Qt::CaseInsensitive); } return true; } } // namespace QtGui } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/interfacescript.h000066400000000000000000000543471360735163600226000ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_INTERFACESCRIPT_H #define AVOGADRO_QTGUI_INTERFACESCRIPT_H #include #include "avogadroqtguiexport.h" #include #include #include #include class QJsonDocument; class QProcess; class QTextCharFormat; namespace Avogadro { namespace Core { class Molecule; } namespace QtGui { class GenericHighlighter; class PythonScript; /** * @class InterfaceScript interfacescript.h * @brief The Interface class provides an interface to external scripts * @sa InterfaceWidget * * The QuantumInput extension provides a scriptable method for users to add * custom input generators to Avogadro. By writing an executable that implements * the interface defined below, new input generators can be created faster and * easier than writing full Avogadro extensions. * * Script Entry Points * =================== * * The script must handle the following command-line arguments: * - `--debug` Enable extra debugging output. Used with other commands. * It is not required that the script support extra debugging, but it should * not crash when this option is passed. * - `--print-options` Print the available options supported by the * script, e.g. simulation parameters, etc. See below for more details. * - `--generate-input` Read an option block from stdin and print * input files to stdout. See below for more details. * - `--display-name` Print a user-friendly name for the input generator. * This is used in the GUI for menu entries, window titles, etc. * * Specifying parameters with `--print-options` * ============================================ * * The format of the `--print-options` output must be a JSON object of * the following form: ~~~{.js} { "userOptions": { ... }, "highlightStyles": [ { "style": "Descriptive name", "rules": [ { "patterns": [ ... ], "format": { ... } }, ... ], }, ... ], "inputMoleculeFormat": "cjson" } ~~~ * The `userOptions` block contains a JSON object keyed with option names * (e.g. "First option name"), which are used in the GUI to label simulation * parameter settings. Various parameter types are supported: * * Fixed Mutually-Exclusive Parameter Lists * ---------------------------------------- * * Parameters that have a fixed number of mutually-exclusive string values will * be presented using a QComboBox. Such a parameter can be specified in the * `userOptions` block as: ~~~{.js} { "userOptions": { "Parameter Name": { "type": "stringList", "values": ["Option 1", "Option 2", "Option 3"], "default": 0 } } } ~~~ * Here, `Parameter Name` is the label that will be displayed in the GUI as a * label next to the combo box. * The array of strings in `values` will be used as the available entries in * the combo box in the order they are written. * `default` is a zero-based index into the `values` array and indicates * which value should be initially selected by default. * * Short Free-Form Text Parameters * ------------------------------- * * A short text string can be requested (e.g. for the "title" of an * optimization) via: ~~~{.js} { "userOptions": { "Parameter Name": { "type": "string", "default": "blah blah blah" } } } ~~~ * This will add a QLineEdit to the GUI, initialized with the text specified by * `default`. * * Existing files * -------------- * * An input generator can ask for the absolute path to an existing file using * the following option block: ~~~{.js} { "userOptions": { "Parameter Name": { "type": "filePath", "default": "/path/to/some/file" } } } ~~~ * This will add an Avogadro::QtGui::FileBrowseWidget to the GUI, initialized to * the file pointed to by default. * * Clamped Integer Values * ---------------------- * * Scripts may request integer values from a specified range by adding a * user-option of the following form: ~~~{.js} { "userOptions": { "Parameter Name": { "type": "integer", "minimum": -5, "maximum": 5, "default": 0, "prefix": "some text ", "suffix": " units" } } } ~~~ * This block will result in a QSpinBox, configured as follows: * - `minimum` and `maximum` indicate the valid range of integers for the * parameter. * - `default` is the integer value that will be shown initially. * - (optional) `prefix` and `suffix` are used to insert text before or * after the integer value in the spin box. * This is handy for specifying units. * Note that any prefix or suffix will be stripped out of the corresponding * entry in the call to `--generate-input`, and just the raw integer value * will be sent. * * Boolean Parameters * ------------------ * * If a simple on/off value is needed, a boolean type option can be requested: ~~~{.js} { "userOptions": { "Parameter Name": { "type": "boolean", "default": true, } } } ~~~ * This will result in a QCheckBox in the dynamically generated GUI, with * the inital check state shown in `default`. * * Special Parameters * ------------------ * * Some parameters are common to most calculation codes. * If the following parameter names are found, they will be handled specially * while creating the GUI. * It is recommended to use the names below for these options to provide a * consistent interface and ensure that MoleQueue job staging uses correct * values where appropriate. * * | Option name | type | description | * | :----------------: | :--------: | :------------------------------------------------------------------ | * | "Title" | string | Input file title comment, MoleQueue job description. | * | "Filename Base" | string | Input file base name, e.g. "job" in "job.inp". | * | "Processor Cores" | integer | Number of cores to use. Will be passed to MoleQueue. | * | "Calculation Type" | stringList | Type of calculation, e.g. "Single Point" or "Equilibrium Geometry". | * | "Theory" | stringList | Levels of QM theory, e.g. "RHF", "B3LYP", "MP2", "CCSD", etc. | * | "Basis" | stringList | Available basis sets, e.g. "STO-3G", "6-31G**", etc. | * | "Charge" | integer | Charge on the system. | * | "Multiplicity" | integer | Spin multiplicity of the system. | * * Syntax Highlighting * ------------------- * * Rules for syntax highlighting can be specified as a collection of regular * expressions or wildcard patterns and text format specifications in the * "highlightRules" array. The `highlightRules` format is: ~~~{.js} "highlightStyles": [ { "style": "Style 1", "rules": [ (list of highlight rules, see below) ], }, { "style": "Style 2", "rules": [ (list of highlight rules, see below) ], }, ... ], ~~~ * The `style` name is unique to the style object, and used to associate a * set of highlighting rules with particular output files. See the * `--generate-input` documentation for more details. * * The general form of a highlight rule is: ~~~{.js} { "patterns": [ { "regexp": "^Some regexp?$" }, { "wildcard": "A * wildcard expression" }, { "string": "An exact string to match.", "caseSensitive": false }, ... ], "format": { "preset": "" } } ~~~ * * or, * ~~~{.js} { "patterns": [ ... ], "format": { "foreground": [ 255, 128, 64 ], "background": [ 0, 128, 128 ], "attributes": ["bold", "italic", "underline"], "family": "serif" } } ~~~ * * The `patterns` array contains a collection of fixed strings, wildcard * expressions, and regular expressions (using the QRegExp syntax flavor, see * the QRegExp documentation) that are used to identify strings that should be * formatted. * There must be one of the following members present in each pattern object: * - `regexp` A QRegExp-style regular expression. If no capture groups ("(...)") * are defined, the entire match is formatted. If one or more capture groups, * only the captured texts will be marked. * - `wildcard` A wildcard expression * - `string` An exact string to match. * * Any pattern object may also set a boolean `caseSensitive` member to indicate * whether the match should consider character case. If omitted, a * case-sensitive match is assumed. * * The preferred form of the `format` member is simply a specification of a * preset format. * This allows for consistent color schemes across input generators. * The recognized presets are: * - `"title"`: A human readable title string. * - `"keyword"`: directives defined by the target input format specification * to have special meaning, such as tags indicating where coordinates are * to be found. * - `"property"`: A property of the simulation, such as level of theory, basis * set, minimization method, etc. * - `"literal"`: A numeric literal (i.e. a raw number, such as a coordinate). * - `"comment"`: Sections of the input that are ignored by the simulation code. * * If advanced formatting is desired, the second form of the `format` member * allows fine-tuning of the font properties: * - `foreground` color as an RGB tuple, ranged 0-255 * - `background` color as an RGB tuple, ranged 0-255 * - `attributes` array of font attributes, valid strings are `"bold"`, * `"italic"`, or `"underline"` * - `family` of font. Valid values are `"serif"`, `"sans"`, or `"mono"` * * Any of the font property members may be omitted and default QTextCharFormat * settings will be substituted. * * The input generator extension will apply the entries in the `highlightRules` * object to the text in the order they appear. Thus, later rules will * override the formatting of earlier rules should a conflict arise. * * Requesting Full Structure of Current Molecule * --------------------------------------------- * * The `inputMoleculeFormat` is optional, and can be used to request a * representation of the current molecule's geometry when * `--generate-input` is called. The corresponding value * indicates the format of the molecule that the script expects. If this value * is omitted, no representation of the structure will be provided. * * @note Currently valid options for inputMoleculeFormat are "cjson" for * Chemical JSON or "cml" for Chemical Markup Language. * * Handling User Selections: `--generate-input` * ============================================ * * When `--generate-input` is passed, the information needed to generate * the input file will be written to the script's standard input * channel as JSON string of the following form: ~~~{.js} { "cjson": {...}, "options": { "First option name": "Value 2", "Second option name": "Value 1", ... } } ~~~ * The `cjson` entry will contain a Chemical JSON representation * of the molecule if `inputMoleculeFormat` is set to "cjson" in the * `--print-options` output. * Similarly, a `cml` entry and CML string will exist if a Chemical Markup * Language representation was requested. * It will be omitted entirely if `inputMoleculeFormat` is not set. * The `options` block contains key/value * pairs for each of the options specified in the `userOptions` block of the * `--print-options` output. * * If the script is called with `--generate-input`, it must write a JSON * string to standard output with the following format: ~~~{.js} { "files": [ { "filename": "file1.ext", "contents": "...", "highlightStyles": [ ... ] }, { "filename": "file2.ext", "filePath": "/path/to/file/on/local/filesystem" }, ... ], "warnings": ["First warning.", "Second warning.", ... ], "mainFile": "file2.ext" } ~~~ * The `files` block is an array of objects, which define the actual input * files. The `filename` member provides the name of the file, and * either `contents` or `filePath` provide the text that goes into the file. * The `contents` string will be used as the file contents, and `filePath` * should contain an absolute path to a file on the filesystem to read and use * as the input file contents. * The optional `highlightStyles` member is an array of strings describing any * highlight styles to apply to the file (see `--print-options` documentation). * Each string in this array must match a `style` description in a highlighting * rule in the `--print-options` output. * Zero or more highlighting styles may be applied to any file. * The order of the files in the * GUI will match the order of the files in the array, and the first file will * be displayed first. * * The `warnings` member provides an array of strings that describe non-fatal * warnings to be shown to the users. This is useful for describing * the resolution of conflicting options, e.g. "Ignoring basis set for * semi-empirical calculation.". This member is optional and should be omitted * if no warnings are present. * * The `mainFile` member points to the primary input file for a calculation. * This is the file that will be used as a command line argument when executing * the simulation code (if applicable), and used by MoleQueue to set the * `$$inputFileName$$` and `$$inputFileBaseName$$` input template keywords. * This is optional; if present, the filename must exist in the `files` array. * If absent and only one file is specified in `files`, the single input file * will be used. Otherwise, the main file will be left unspecified. * * Automatic Generation of Geometry * ================================ * * The generation of molecular geometry descriptions may be skipped in the * script and deferred to the InterfaceScript class by use of a special keyword. * The "contents" string may contain a keyword of the form ~~~ $$coords:[coordSpec]$$ ~~~ * where `[coordSpec]` is a sequence of characters. * The characters in `[coordSpec]` indicate the information needed about each * atom in the coordinate block. * See the CoordinateBlockGenerator documentation for a list of recognized * characters. * * Other keywords that can be used in the input files are: * - `$$atomCount$$`: Number of atoms in the molecule. * - `$$bondCount$$`: Number of bonds in the molecule. * * Error Handling * ============== * * In general, these scripts should be written robustly so that they will not * fail under normal circumstances. However, if for some reason an error * occurs that must be reported to the user, simply write the error message to * standard output as plain text (i.e. not JSON), and it will be shown to the * user. * * Debugging * ========= * * Debugging may be enabled by defining AVO_QM_INPUT_DEBUG in the process's * environment. This will cause the --debug option to be passed in * all calls to generator scripts, and will print extra information to the * qDebug() stream from within avogadro. The script is free to handle the * debug flag as the author wishes. */ class AVOGADROQTGUI_EXPORT InterfaceScript : public QObject { Q_OBJECT public: /** * Constructor * @param scriptFilePath_ Absolute path to generator script. */ explicit InterfaceScript(const QString& scriptFilePath_, QObject* parent_ = nullptr); explicit InterfaceScript(QObject* parent_ = nullptr); ~InterfaceScript() override; /** * @return True if debugging is enabled. */ bool debug() const; /** * @return True if the generator is configured with a valid script. */ bool isValid() const; /** * Query the script for the available options (--generate-options) * and return the output as a JSON object. * @note The results will be cached the first time this function is called * and reused in subsequent calls. * @note If an error occurs, the error string will be set. Call hasErrors() * to check for success, and errorString() or errorList() to get a * user-friendly description of the error. */ QJsonObject options() const; /** * Query the script for a user-friendly name (--display-name). * @note The results will be cached the first time this function is called * and reused in subsequent calls. * @note If an error occurs, the error string will be set. Call hasErrors() * to check for success, and errorString() or errorList() to get a * user-friendly description of the error. */ QString displayName() const; /** * Query the script for the menu path (--menu-path). * @note The results will be cached the first time this function is called * and reused in subsequent calls. * @note If an error occurs, the error string will be set. Call hasErrors() * to check for success, and errorString() or errorList() to get a * user-friendly description of the error. */ QString menuPath() const; /** * @return The path to the generator file. */ QString scriptFilePath() const; /** * Set the path to the input generator script file. This will reset any * cached data held by this class. */ void setScriptFilePath(const QString& scriptFile); /** * Clear any cached data and return to an uninitialized state. */ void reset(); /** * Request input files from the script using the supplied options object and * molecule. See the class documentation for details on the @p options_ * object format. * * @return true on success and false on failure. * @note If an error occurs, the error string will be set. Call hasErrors() * to check for success, and errorString() or errorList() to get a * user-friendly description of the error. */ bool runCommand(const QJsonObject& options_, Core::Molecule* mol); /** * Request input files from the script using the supplied options object and * molecule. See the class documentation for details on the @p options_ * object format. * * If the files are generated successfully, use the functions * numberOfInputFiles(), fileNames(), and fileContents() to retrieve them. * * @return true on success and false on failure. * @note If an error occurs, the error string will be set. Call hasErrors() * to check for success, and errorString() or errorList() to get a * user-friendly description of the error. */ bool generateInput(const QJsonObject& options_, const Core::Molecule& mol); /** * @return The number of input files stored by generateInput(). * @note This function is only valid after a successful call to * generateInput(). */ int numberOfInputFiles() const; /** * @return A list of filenames created by generateInput(). * @note This function is only valid after a successful call to * generateInput(). */ QStringList fileNames() const; /** * @return The "main" input file of the collection. This is the input file * used by MoleQueue to determine the $$inputFileName$$ and * $$inputFileBaseName$$ keywords. * @note This function is only valid after a successful call to * generateInput(). */ QString mainFileName() const; /** * @return A file contents corresponding to @p fileName. Must call * generateInput() first. * @sa fileNames */ QString fileContents(const QString& fileName) const; /** * @return A syntax highlighter for the file @a fileName. Must call * generateInput() first. The caller takes ownership of the returned object. * If no syntax highlighter is defined, this function returns nullptr. * @sa fileNames */ QtGui::GenericHighlighter* createFileHighlighter( const QString& fileName) const; /** * @return True if an error is set. */ bool hasErrors() const { return !m_errors.isEmpty(); } /** * Reset the error counter. */ void clearErrors() { m_errors.clear(); } /** * @return A QStringList containing all errors that occurred in the last call * to the input generator script. */ QStringList errorList() const { return m_errors; } /** * @return A QStringList containing all warnings returned by the input * generator script in the last call to generateInput. These are * script-specific warnings. */ QStringList warningList() const { return m_warnings; } public slots: /** * Enable/disable debugging. */ void setDebug(bool d); private: QtGui::PythonScript* m_interpreter; void setDefaultPythonInterpretor(); QByteArray execute(const QStringList& args, const QByteArray& scriptStdin = QByteArray()) const; bool parseJson(const QByteArray& json, QJsonDocument& doc) const; QString processErrorString(const QProcess& proc) const; bool insertMolecule(QJsonObject& json, const Core::Molecule& mol) const; QString generateCoordinateBlock(const QString& spec, const Core::Molecule& mol) const; void replaceKeywords(QString& str, const Core::Molecule& mol) const; bool parseHighlightStyles(const QJsonArray& json) const; bool parseRules(const QJsonArray& json, QtGui::GenericHighlighter& highligher) const; bool parseFormat(const QJsonObject& json, QTextCharFormat& format) const; bool parsePattern(const QJsonValue& json, QRegExp& pattern) const; // File extension of requested molecule format mutable QString m_moleculeExtension; mutable QString m_displayName; mutable QString m_menuPath; mutable QJsonObject m_options; mutable QStringList m_warnings; mutable QStringList m_errors; QStringList m_filenames; QString m_mainFileName; QMap m_files; QMap m_fileHighlighters; mutable QMap m_highlightStyles; }; inline bool InterfaceScript::isValid() const { displayName(); return !hasErrors(); } } // namespace QtGui } // namespace Avogadro #endif // AVOGADRO_MOLEQUEUE_INTERFACESCRIPT_H avogadrolibs-1.93.0/avogadro/qtgui/interfacewidget.cpp000066400000000000000000000551651360735163600231110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. This source code is released under the New BSD License, (the "License"). ******************************************************************************/ #include "interfacewidget.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtGui { InterfaceWidget::InterfaceWidget(const QString& scriptFilePath, QWidget* parent_) : QWidget(parent_), m_molecule(nullptr), m_interfaceScript(QString()) { this->setInterfaceScript(scriptFilePath); } InterfaceWidget::~InterfaceWidget() {} void InterfaceWidget::setInterfaceScript(const QString& scriptFile) { m_interfaceScript.setScriptFilePath(scriptFile); m_options = m_interfaceScript.options(); updateOptions(); } void InterfaceWidget::setMolecule(QtGui::Molecule* mol) { if (mol == m_molecule) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; } void InterfaceWidget::defaultsClicked() { setOptionDefaults(); } void InterfaceWidget::setWarningText(const QString& warn) { qWarning() << tr("Script returns warnings:\n") << warn; } QString InterfaceWidget::warningText() const { return QString(); } void InterfaceWidget::showError(const QString& err) { qWarning() << err; QWidget* theParent = this->isVisible() ? this : qobject_cast(parent()); QDialog dlg(theParent); QVBoxLayout* vbox = new QVBoxLayout(); QLabel* label = new QLabel(tr("An error has occurred:")); vbox->addWidget(label); QTextBrowser* textBrowser = new QTextBrowser(); // adjust the size of the text browser to ~80 char wide, ~20 lines high QSize theSize = textBrowser->sizeHint(); QFontMetrics metrics(textBrowser->currentFont()); int charWidth = metrics.width(QStringLiteral("i7OPlmWn9/")) / 10; int charHeight = metrics.lineSpacing(); theSize.setWidth(80 * charWidth); theSize.setHeight(20 * charHeight); textBrowser->setMinimumSize(theSize); textBrowser->setText(err); vbox->addWidget(textBrowser); dlg.setLayout(vbox); dlg.exec(); } QString InterfaceWidget::settingsKey(const QString& identifier) const { return QStringLiteral("scriptPlugin/%1/%2") .arg(m_interfaceScript.displayName(), identifier); } QString InterfaceWidget::lookupOptionType(const QString& name) const { if (!m_options.contains(QStringLiteral("userOptions")) || !m_options[QStringLiteral("userOptions")].isObject()) { qWarning() << tr("'userOptions' missing, or not an object."); return QString(); } QJsonObject userOptions = m_options[QStringLiteral("userOptions")].toObject(); if (!userOptions.contains(name)) { qWarning() << tr("Option '%1' not found in userOptions.").arg(name); return QString(); } if (!userOptions.value(name).isObject()) { qWarning() << tr("Option '%1' does not refer to an object."); return QString(); } QJsonObject obj = userOptions[name].toObject(); if (!obj.contains(QStringLiteral("type")) || !obj.value(QStringLiteral("type")).isString()) { qWarning() << tr("'type' is not a string for option '%1'.").arg(name); return QString(); } return obj[QStringLiteral("type")].toString(); } void InterfaceWidget::updateOptions() { // Create the widgets, etc for the gui buildOptionGui(); setOptionDefaults(); } void InterfaceWidget::buildOptionGui() { m_widgets.clear(); delete layout(); // kill my layout m_empty = true; if (!m_options.contains(QStringLiteral("userOptions")) || !m_options[QStringLiteral("userOptions")].isObject()) { return; } // Clear old widgets from the layout QFormLayout* form = new QFormLayout; setLayout(form); QJsonObject userOptions = m_options.value(QStringLiteral("userOptions")).toObject(); m_empty = false; // Title first if (userOptions.contains(QStringLiteral("Title"))) addOptionRow(tr("Title"), userOptions.take(QStringLiteral("Title"))); // File basename next: if (userOptions.contains(QStringLiteral("Filename Base"))) addOptionRow(tr("Filename Base"), userOptions.take(QStringLiteral("Filename Base"))); // Number of cores next: if (userOptions.contains(QStringLiteral("Processor Cores"))) addOptionRow(tr("Processor Cores"), userOptions.take(QStringLiteral("Processor Cores"))); // Calculation Type next: if (userOptions.contains(QStringLiteral("Calculation Type"))) addOptionRow(tr("Calculation Type"), userOptions.take(QStringLiteral("Calculation Type"))); // Theory/basis next. Combine into one row if both present. bool hasTheory = userOptions.contains(QStringLiteral("Theory")); bool hasBasis = userOptions.contains(QStringLiteral("Basis")); if (hasTheory && hasBasis) { QWidget* theoryWidget = createOptionWidget(userOptions.take(QStringLiteral("Theory"))); QWidget* basisWidget = createOptionWidget(userOptions.take(QStringLiteral("Basis"))); QHBoxLayout* hbox = new QHBoxLayout; if (theoryWidget) { theoryWidget->setObjectName(QStringLiteral("Theory")); hbox->addWidget(theoryWidget); m_widgets.insert(QStringLiteral("Theory"), theoryWidget); } if (basisWidget) { basisWidget->setObjectName(QStringLiteral("Basis")); hbox->addWidget(basisWidget); m_widgets.insert(QStringLiteral("Basis"), basisWidget); } hbox->addStretch(); form->addRow(tr("Theory:"), hbox); } else { if (hasTheory) addOptionRow(tr("Theory"), userOptions.take(QStringLiteral("Theory"))); if (hasBasis) addOptionRow(tr("Basis"), userOptions.take(QStringLiteral("Basis"))); } // Other special cases: if (userOptions.contains(QStringLiteral("Charge"))) addOptionRow(tr("Charge"), userOptions.take(QStringLiteral("Charge"))); if (userOptions.contains(QStringLiteral("Multiplicity"))) addOptionRow(tr("Multiplicity"), userOptions.take(QStringLiteral("Multiplicity"))); // Add remaining keys at bottom. for (QJsonObject::const_iterator it = userOptions.constBegin(), itEnd = userOptions.constEnd(); it != itEnd; ++it) { addOptionRow(it.key(), it.value()); } // Make connections for standard options: if (QComboBox* combo = qobject_cast( m_widgets.value(QStringLiteral("Calculation Type"), nullptr))) { connect(combo, SIGNAL(currentIndexChanged(int)), SLOT(updateTitlePlaceholder())); } if (QComboBox* combo = qobject_cast( m_widgets.value(QStringLiteral("Theory"), nullptr))) { connect(combo, SIGNAL(currentIndexChanged(int)), SLOT(updateTitlePlaceholder())); } if (QComboBox* combo = qobject_cast( m_widgets.value(QStringLiteral("Basis"), nullptr))) { connect(combo, SIGNAL(currentIndexChanged(int)), SLOT(updateTitlePlaceholder())); } } void InterfaceWidget::addOptionRow(const QString& name, const QJsonValue& option) { QWidget* widget = createOptionWidget(option); if (!widget) return; QFormLayout* form = qobject_cast(this->layout()); if (!form) { qWarning() << "Cannot add option" << name << "to GUI -- layout is not a form."; widget->deleteLater(); return; } // For lookups during unit testing: widget->setObjectName(name); QString label(name); QJsonObject obj = option.toObject(); if (obj.contains(QStringLiteral("label")) && obj.value(QStringLiteral("label")).isString()) { label = obj[QStringLiteral("label")].toString(); } form->addRow(label + ":", widget); m_widgets.insert(name, widget); } QWidget* InterfaceWidget::createOptionWidget(const QJsonValue& option) { if (!option.isObject()) return nullptr; QJsonObject obj = option.toObject(); if (!obj.contains(QStringLiteral("type")) || !obj.value(QStringLiteral("type")).isString()) return nullptr; QString type = obj[QStringLiteral("type")].toString(); if (type == QLatin1String("stringList")) return createStringListWidget(obj); else if (type == QLatin1String("string")) return createStringWidget(obj); else if (type == QLatin1String("filePath")) return createFilePathWidget(obj); else if (type == QLatin1String("integer")) return createIntegerWidget(obj); else if (type == QLatin1String("float")) return createFloatWidget(obj); else if (type == QLatin1String("boolean")) return createBooleanWidget(obj); qDebug() << "Unrecognized option type:" << type; return nullptr; } QWidget* InterfaceWidget::createStringListWidget(const QJsonObject& obj) { if (!obj.contains(QStringLiteral("values")) || !obj[QStringLiteral("values")].isArray()) { qDebug() << "InterfaceWidget::createStringListWidget()" "values missing, or not array!"; return nullptr; } QJsonArray valueArray = obj[QStringLiteral("values")].toArray(); QComboBox* combo = new QComboBox(this); for (QJsonArray::const_iterator vit = valueArray.constBegin(), vitEnd = valueArray.constEnd(); vit != vitEnd; ++vit) { if ((*vit).isString()) combo->addItem((*vit).toString()); else qDebug() << "Cannot convert value to string for stringList:" << *vit; } connect(combo, SIGNAL(currentIndexChanged(int)), SLOT(updatePreviewText())); if (obj.contains(QStringLiteral("toolTip")) && obj.value(QStringLiteral("toolTip")).isString()) { combo->setToolTip(obj[QStringLiteral("toolTip")].toString()); } return combo; } QWidget* InterfaceWidget::createStringWidget(const QJsonObject& obj) { QLineEdit* edit = new QLineEdit(this); // connect(edit, SIGNAL(textChanged(QString)), SLOT(updatePreviewText())); if (obj.contains(QStringLiteral("toolTip")) && obj.value(QStringLiteral("toolTip")).isString()) { edit->setToolTip(obj[QStringLiteral("toolTip")].toString()); } return edit; } QWidget* InterfaceWidget::createFilePathWidget(const QJsonObject& obj) { QtGui::FileBrowseWidget* fileBrowse = new QtGui::FileBrowseWidget(this); connect(fileBrowse, SIGNAL(fileNameChanged(QString)), SLOT(updatePreviewText())); if (obj.contains(QStringLiteral("toolTip")) && obj.value(QStringLiteral("toolTip")).isString()) { fileBrowse->setToolTip(obj[QStringLiteral("toolTip")].toString()); } return fileBrowse; } QWidget* InterfaceWidget::createIntegerWidget(const QJsonObject& obj) { QSpinBox* spin = new QSpinBox(this); if (obj.contains(QStringLiteral("minimum")) && obj.value(QStringLiteral("minimum")).isDouble()) { spin->setMinimum( static_cast(obj[QStringLiteral("minimum")].toDouble() + 0.5)); } if (obj.contains(QStringLiteral("maximum")) && obj.value(QStringLiteral("maximum")).isDouble()) { spin->setMaximum( static_cast(obj[QStringLiteral("maximum")].toDouble() + 0.5)); } if (obj.contains(QStringLiteral("prefix")) && obj.value(QStringLiteral("prefix")).isString()) { spin->setPrefix(obj[QStringLiteral("prefix")].toString()); } if (obj.contains(QStringLiteral("suffix")) && obj.value(QStringLiteral("suffix")).isString()) { spin->setSuffix(obj[QStringLiteral("suffix")].toString()); } if (obj.contains(QStringLiteral("toolTip")) && obj.value(QStringLiteral("toolTip")).isString()) { spin->setToolTip(obj[QStringLiteral("toolTip")].toString()); } connect(spin, SIGNAL(valueChanged(int)), SLOT(updatePreviewText())); return spin; } QWidget* InterfaceWidget::createFloatWidget(const QJsonObject& obj) { QDoubleSpinBox* spin = new QDoubleSpinBox(this); if (obj.contains(QStringLiteral("minimum")) && obj.value(QStringLiteral("minimum")).isDouble()) { spin->setMinimum(obj[QStringLiteral("minimum")].toDouble()); } if (obj.contains(QStringLiteral("maximum")) && obj.value(QStringLiteral("maximum")).isDouble()) { spin->setMaximum(obj[QStringLiteral("maximum")].toDouble()); } if (obj.contains(QStringLiteral("precision")) && obj.value(QStringLiteral("precision")).isDouble()) { spin->setDecimals( static_cast(obj[QStringLiteral("precision")].toDouble())); } if (obj.contains(QStringLiteral("prefix")) && obj.value(QStringLiteral("prefix")).isString()) { spin->setPrefix(obj[QStringLiteral("prefix")].toString()); } if (obj.contains(QStringLiteral("suffix")) && obj.value(QStringLiteral("suffix")).isString()) { spin->setSuffix(obj[QStringLiteral("suffix")].toString()); } if (obj.contains(QStringLiteral("toolTip")) && obj.value(QStringLiteral("toolTip")).isString()) { spin->setToolTip(obj[QStringLiteral("toolTip")].toString()); } connect(spin, SIGNAL(valueChanged(double)), SLOT(updatePreviewText())); return spin; } QWidget* InterfaceWidget::createBooleanWidget(const QJsonObject& obj) { QCheckBox* checkBox = new QCheckBox(this); connect(checkBox, SIGNAL(toggled(bool)), SLOT(updatePreviewText())); if (obj.contains(QStringLiteral("toolTip")) && obj.value(QStringLiteral("toolTip")).isString()) { checkBox->setToolTip(obj[QStringLiteral("toolTip")].toString()); } return checkBox; } void InterfaceWidget::setOptionDefaults() { if (!m_options.contains(QStringLiteral("userOptions")) || !m_options[QStringLiteral("userOptions")].isObject()) { // showError(tr("'userOptions' missing, or not an object:\n%1") // .arg(QString(QJsonDocument(m_options).toJson()))); return; } QJsonObject userOptions = m_options[QStringLiteral("userOptions")].toObject(); for (QJsonObject::ConstIterator it = userOptions.constBegin(), itEnd = userOptions.constEnd(); it != itEnd; ++it) { QString label = it.key(); QJsonValue val = it.value(); if (!val.isObject()) { qWarning() << tr("Error: value must be object for key '%1'.").arg(label); continue; } QJsonObject obj = val.toObject(); if (obj.contains(QStringLiteral("default"))) setOption(label, obj[QStringLiteral("default")]); else if (m_interfaceScript.debug()) qWarning() << tr("Default value missing for option '%1'.").arg(label); } } void InterfaceWidget::setOption(const QString& name, const QJsonValue& defaultValue) { QString type = lookupOptionType(name); if (type == QLatin1String("stringList")) return setStringListOption(name, defaultValue); else if (type == QLatin1String("string")) return setStringOption(name, defaultValue); else if (type == QLatin1String("filePath")) return setFilePathOption(name, defaultValue); else if (type == QLatin1String("integer")) return setIntegerOption(name, defaultValue); else if (type == QLatin1String("float")) return setFloatOption(name, defaultValue); else if (type == QLatin1String("boolean")) return setBooleanOption(name, defaultValue); qWarning() << tr("Unrecognized option type '%1' for option '%2'.").arg(type).arg(name); return; } void InterfaceWidget::setStringListOption(const QString& name, const QJsonValue& value) { QComboBox* combo = qobject_cast(m_widgets.value(name, nullptr)); if (!combo) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isDouble() && !value.isString()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } int index = -1; if (value.isDouble()) index = static_cast(value.toDouble() + 0.5); else if (value.isString()) index = combo->findText(value.toString()); if (index < 0) { qWarning() << tr("Error setting default for option '%1'. " "Could not find valid combo entry index from value:") .arg(name) << value; return; } combo->setCurrentIndex(index); } void InterfaceWidget::setStringOption(const QString& name, const QJsonValue& value) { QLineEdit* lineEdit = qobject_cast(m_widgets.value(name, nullptr)); if (!lineEdit) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isString()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } lineEdit->setText(value.toString()); } void InterfaceWidget::setFilePathOption(const QString& name, const QJsonValue& value) { QtGui::FileBrowseWidget* fileBrowse = qobject_cast(m_widgets.value(name, nullptr)); if (!fileBrowse) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isString()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } fileBrowse->setFileName(value.toString()); } void InterfaceWidget::setIntegerOption(const QString& name, const QJsonValue& value) { QSpinBox* spin = qobject_cast(m_widgets.value(name, nullptr)); if (!spin) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isDouble()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } int intVal = static_cast(value.toDouble() + 0.5); spin->setValue(intVal); } void InterfaceWidget::setFloatOption(const QString& name, const QJsonValue& value) { QDoubleSpinBox* spin = qobject_cast(m_widgets.value(name, nullptr)); if (!spin) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isDouble()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } spin->setValue(value.toDouble()); } void InterfaceWidget::setBooleanOption(const QString& name, const QJsonValue& value) { QCheckBox* checkBox = qobject_cast(m_widgets.value(name, nullptr)); if (!checkBox) { qWarning() << tr("Error setting default for option '%1'. " "Bad widget type.") .arg(name); return; } if (!value.isBool()) { qWarning() << tr("Error setting default for option '%1'. " "Bad default value:") .arg(name) << value; return; } checkBox->setChecked(value.toBool()); } bool InterfaceWidget::optionString(const QString& option, QString& value) const { QWidget* widget = m_widgets.value(option, nullptr); bool retval = false; value.clear(); if (QLineEdit* edit = qobject_cast(widget)) { retval = true; value = edit->text(); } else if (QComboBox* combo = qobject_cast(widget)) { retval = true; value = combo->currentText(); } else if (QSpinBox* spinbox = qobject_cast(widget)) { retval = true; value = QString::number(spinbox->value()); } else if (QDoubleSpinBox* dspinbox = qobject_cast(widget)) { retval = true; value = QString::number(dspinbox->value()); } else if (QtGui::FileBrowseWidget* fileBrowse = qobject_cast(widget)) { retval = true; value = fileBrowse->fileName(); } return retval; } QJsonObject InterfaceWidget::collectOptions() const { QJsonObject ret; foreach (QString label, m_widgets.keys()) { QWidget* widget = m_widgets.value(label, nullptr); if (QComboBox* combo = qobject_cast(widget)) { ret.insert(label, combo->currentText()); } else if (QLineEdit* lineEdit = qobject_cast(widget)) { QString value(lineEdit->text()); if (value.isEmpty() && label == QLatin1String("Title")) value = generateJobTitle(); ret.insert(label, value); } else if (QSpinBox* spinBox = qobject_cast(widget)) { ret.insert(label, spinBox->value()); } else if (QDoubleSpinBox* spinBox = qobject_cast(widget)) { ret.insert(label, spinBox->value()); } else if (QCheckBox* checkBox = qobject_cast(widget)) { ret.insert(label, checkBox->isChecked()); } else if (QtGui::FileBrowseWidget* fileBrowse = qobject_cast(widget)) { ret.insert(label, fileBrowse->fileName()); } else { qWarning() << tr("Unhandled widget in collectOptions for option '%1'.").arg(label); } } return ret; } void InterfaceWidget::applyOptions(const QJsonObject& opts) { foreach (const QString& label, opts.keys()) setOption(label, opts[label]); } QString InterfaceWidget::generateJobTitle() const { QString calculation; bool haveCalculation( optionString(QStringLiteral("Calculation Type"), calculation)); QString theory; bool haveTheory(optionString(QStringLiteral("Theory"), theory)); QString basis; bool haveBasis(optionString(QStringLiteral("Basis"), basis)); // Merge theory/basis into theory if (haveBasis) { if (haveTheory) theory += QLatin1String("/"); theory += basis; theory.replace(QRegExp("\\s+"), QLatin1String("")); haveTheory = true; } QString formula(m_molecule ? QString::fromStdString(m_molecule->formula()) : tr("[no molecule]")); return QStringLiteral("%1%2%3") .arg(formula) .arg(haveCalculation ? " | " + calculation : QString()) .arg(haveTheory ? " | " + theory : QString()); } } // namespace QtGui } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/interfacewidget.h000066400000000000000000000132761360735163600225530ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_INTERFACEWIDGET_H #define AVOGADRO_QTGUI_INTERFACEWIDGET_H #include "avogadroqtguiexport.h" #include #include #include #include "interfacescript.h" class QJsonValue; class QTextEdit; class QWidget; namespace Avogadro { namespace QtGui { class Molecule; /** * @class InterfaceWidget interfacewidget.h * * @brief The InterfaceWidget class provides a user interface for * running external scripts * @sa InterfaceScript * * The InterfaceWidget creates a GUI to represent the options given by an * script, turning JSON from the script into a form and passing the results * back to the script via command-line */ class AVOGADROQTGUI_EXPORT InterfaceWidget : public QWidget { Q_OBJECT public: /** * Construct a widget that dynamically generates a GUI to configure the * script specified by scriptFilePath. */ explicit InterfaceWidget(const QString& scriptFilePath, QWidget* parent_ = 0); ~InterfaceWidget() override; /** * Use the script pointed to by scriptFilePath. * @param scriptFilePath Absolute path to script. */ void setInterfaceScript(const QString& scriptFilePath); /** * Set the molecule used in the simulation. */ void setMolecule(QtGui::Molecule* mol); /** * Access to the underlying input generator object. */ const QtGui::InterfaceScript& interfaceScript() const { return m_interfaceScript; } /** * Collect all of the user-specified options into a JSON object, to be sent * to the generator script. */ QJsonObject collectOptions() const; /** * Apply the options in the passed QJsonObject to the GUI. Any widgets changed * by this method will have their signals blocked while modifying their * values. */ void applyOptions(const QJsonObject& opts); bool isEmpty() const { return m_empty; } private slots: /** * Triggered when the user resets the default values. */ void defaultsClicked(); /** * Show the user an warning. These are messages returned by the input * script. */ void setWarningText(const QString& warn); /** * Show the warning text. */ QString warningText() const; /** * Show the user an error message. These are errors that have occurred * in this extension, not necessarily in the input generator script. */ void showError(const QString& err); private: /** * Generate a QSettings key with the given identifier that is unique to this * input generator's display name. * @param identifier Setting key, e.g. "outputPath" * @return Script-specific key, e.g. "quantumInput/GAMESS/outputPath" * @todo Display names are not necessarily unique, but paths are too long. * Maybe add a namespace qualifier to the script display names? */ QString settingsKey(const QString& identifier) const; /** * Given the name of a user-option in m_options, return the type string. * If an error occurs, an empty string will be returned. */ QString lookupOptionType(const QString& name) const; /** * Used to construct the script-specific GUI. * @{ */ void updateOptions(); void buildOptionGui(); void addOptionRow(const QString& label, const QJsonValue& option); QWidget* createOptionWidget(const QJsonValue& option); QWidget* createStringListWidget(const QJsonObject& obj); QWidget* createStringWidget(const QJsonObject& obj); QWidget* createFilePathWidget(const QJsonObject& obj); QWidget* createIntegerWidget(const QJsonObject& obj); QWidget* createFloatWidget(const QJsonObject& obj); QWidget* createBooleanWidget(const QJsonObject& obj); /**@}*/ /** * Set the simulation settings to their default values. * @{ */ void setOptionDefaults(); void setOption(const QString& name, const QJsonValue& defaultValue); void setStringListOption(const QString& name, const QJsonValue& value); void setStringOption(const QString& name, const QJsonValue& value); void setFilePathOption(const QString& name, const QJsonValue& value); void setIntegerOption(const QString& name, const QJsonValue& value); void setFloatOption(const QString& name, const QJsonValue& value); void setBooleanOption(const QString& name, const QJsonValue& value); /**@}*/ /** * @brief Search for an option named @a option and convert its value to a * string. * @param option The name of the option. * @param value String to overwrite with option value. * @return True if value is overwritten, false if the option is not found or * cannot be converted to a string. */ bool optionString(const QString& option, QString& value) const; /** * Update the autogenerated job title in the GUI. */ QString generateJobTitle() const; QtGui::Molecule* m_molecule; QJsonObject m_options; QJsonObject m_optionCache; // For reverting changes QList m_dirtyTextEdits; bool m_empty; QMap m_widgets; QMap m_textEdits; QtGui::InterfaceScript m_interfaceScript; }; } // namespace QtGui } // namespace Avogadro #endif // AVOGADRO_QTGUI_INTERFACEWIDGET_H avogadrolibs-1.93.0/avogadro/qtgui/meshgenerator.cpp000066400000000000000000000716171360735163600226100ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "meshgenerator.h" #include #include #include #include #include namespace Avogadro { namespace QtGui { using Core::Cube; using Core::Mesh; MeshGenerator::MeshGenerator(QObject* p) : QThread(p), m_iso(0.0), m_reverseWinding(false), m_cube(0), m_mesh(0), m_stepSize(0.0, 0.0, 0.0), m_min(0.0, 0.0, 0.0), m_dim(0, 0, 0), m_progmin(0), m_progmax(0) { } MeshGenerator::MeshGenerator(const Cube* cube_, Mesh* mesh_, float iso, bool reverse, QObject* p) : QThread(p), m_iso(0.0), m_reverseWinding(reverse), m_cube(0), m_mesh(0), m_stepSize(0.0, 0.0, 0.0), m_min(0.0, 0.0, 0.0), m_dim(0, 0, 0), m_progmin(0), m_progmax(0) { initialize(cube_, mesh_, iso); } MeshGenerator::~MeshGenerator() { } bool MeshGenerator::initialize(const Cube* cube_, Mesh* mesh_, float iso, bool reverse) { if (!cube_ || !mesh_) return false; m_cube = cube_; m_mesh = mesh_; m_iso = iso; m_reverseWinding = reverse; if (!m_cube->lock()->tryLock()) { qDebug() << "Cannot get a read lock..."; return false; } for (unsigned int i = 0; i < 3; ++i) m_stepSize[i] = static_cast(m_cube->spacing()[i]); m_min = m_cube->min().cast(); m_dim = m_cube->dimensions(); m_progmax = m_dim.x(); m_cube->lock()->unlock(); return true; } void MeshGenerator::run() { if (!m_cube || !m_mesh) { qDebug() << "No mesh or cube set - nothing to find isosurface of..."; return; } // Attempt to obtain a lock, wait one second between attempts. while (!m_cube->lock()->tryLock()) sleep(1); // Mark the mesh as being worked on and clear it m_mesh->setStable(false); m_mesh->clear(); m_vertices.reserve(m_dim.x() * m_dim.y() * m_dim.z() * 3); m_normals.reserve(m_dim.x() * m_dim.y() * m_dim.z() * 3); // Now to march the cube for (int i = 0; i < m_dim.x() - 1; ++i) { for (int j = 0; j < m_dim.y() - 1; ++j) { for (int k = 0; k < m_dim.z() - 1; ++k) { marchingCube(Vector3i(i, j, k)); } } if (m_vertices.capacity() < m_vertices.size() + m_dim.y() * m_dim.x() * 3) { m_vertices.reserve(m_vertices.capacity() * 2); m_normals.reserve(m_normals.capacity() * 2); } emit progressValueChanged(i); } m_cube->lock()->unlock(); // Copy the data across m_mesh->setVertices(m_vertices); m_mesh->setNormals(m_normals); m_mesh->setStable(true); // Now we are done give all that memory back m_vertices.resize(0); m_normals.resize(0); } void MeshGenerator::clear() { m_iso = 0.0; m_cube = 0; m_mesh = 0; m_stepSize.setZero(); m_min.setZero(); m_dim.setZero(); m_progmin = 0; m_progmax = 0; } Vector3f MeshGenerator::normal(const Vector3f& pos) { Vector3f norm(m_cube->valuef(pos - Vector3f(0.01f, 0.00f, 0.00f)) - m_cube->valuef(pos + Vector3f(0.01f, 0.00f, 0.00f)), m_cube->valuef(pos - Vector3f(0.00f, 0.01f, 0.00f)) - m_cube->valuef(pos + Vector3f(0.00f, 0.01f, 0.00f)), m_cube->valuef(pos - Vector3f(0.00f, 0.00f, 0.01f)) - m_cube->valuef(pos + Vector3f(0.00f, 0.00f, 0.01f))); norm.normalize(); return norm; } inline float MeshGenerator::offset(float val1, float val2) { if (val2 - val1 < 1.0e-9f && val1 - val2 < 1.0e-9f) return 0.5; return (m_iso - val1) / (val2 - val1); } unsigned long MeshGenerator::duplicate(const Vector3i&, const Vector3f&) { // FIXME Not implemented yet. return 0; } bool MeshGenerator::marchingCube(const Vector3i& pos) { float afCubeValue[8]; Vector3f asEdgeVertex[12]; Vector3f asEdgeNorm[12]; // Calculate the position in the Cube Vector3f fPos; for (unsigned int i = 0; i < 3; ++i) fPos[i] = static_cast(pos[i]) * m_stepSize[i] + m_min[i]; // Make a local copy of the values at the cube's corners for (int i = 0; i < 8; ++i) { afCubeValue[i] = static_cast( m_cube->value(Vector3i(pos + Vector3i(a2iVertexOffset[i])))); } // Find which vertices are inside of the surface and which are outside long iFlagIndex = 0; for (int i = 0; i < 8; ++i) { if (afCubeValue[i] <= m_iso) { iFlagIndex |= 1 << i; } } // Find which edges are intersected by the surface long iEdgeFlags = aiCubeEdgeFlags[iFlagIndex]; // No intersections if the cube is entirely inside or outside of the surface if (iEdgeFlags == 0) { return false; } // Find the point of intersection of the surface with each edge // Then find the normal to the surface at those points for (int i = 0; i < 12; ++i) { // if there is an intersection on this edge if (iEdgeFlags & (1 << i)) { float fOffset = offset(afCubeValue[a2iEdgeConnection[i][0]], afCubeValue[a2iEdgeConnection[i][1]]); asEdgeVertex[i] = Vector3f(fPos.x() + (a2fVertexOffset[a2iEdgeConnection[i][0]][0] + fOffset * a2fEdgeDirection[i][0]) * m_stepSize[0], fPos.y() + (a2fVertexOffset[a2iEdgeConnection[i][0]][1] + fOffset * a2fEdgeDirection[i][1]) * m_stepSize[1], fPos.z() + (a2fVertexOffset[a2iEdgeConnection[i][0]][2] + fOffset * a2fEdgeDirection[i][2]) * m_stepSize[2]); /// FIXME Optimize this to only calculate normals when required asEdgeNorm[i] = normal(asEdgeVertex[i]); } } // Store the triangles that were found, there can be up to five per cube for (int i = 0; i < 5; ++i) { if (a2iTriangleConnectionTable[iFlagIndex][3 * i] < 0) break; int iVertex = 0; iEdgeFlags = a2iTriangleConnectionTable[iFlagIndex][3 * i]; // Make sure we get the triangle winding the right way around! if (!m_reverseWinding) { for (int j = 0; j < 3; ++j) { iVertex = a2iTriangleConnectionTable[iFlagIndex][3 * i + j]; m_indices.push_back(static_cast(m_vertices.size())); m_normals.push_back(asEdgeNorm[iVertex]); m_vertices.push_back(asEdgeVertex[iVertex]); } } else { for (int j = 2; j >= 0; --j) { iVertex = a2iTriangleConnectionTable[iFlagIndex][3 * i + j]; m_indices.push_back(static_cast(m_vertices.size())); m_normals.push_back(-asEdgeNorm[iVertex]); m_vertices.push_back(asEdgeVertex[iVertex]); } } } return true; } // Lists the positions, relative to vertex0, of the 8 vertices of a cube const float MeshGenerator::a2fVertexOffset[8][3] = { { 0.0, 0.0, 0.0 }, { 1.0, 0.0, 0.0 }, { 1.0, 1.0, 0.0 }, { 0.0, 1.0, 0.0 }, { 0.0, 0.0, 1.0 }, { 1.0, 0.0, 1.0 }, { 1.0, 1.0, 1.0 }, { 0.0, 1.0, 1.0 } }; // Integer form of the vertex offsets, more useful for Avogadro Cubes const int MeshGenerator::a2iVertexOffset[8][3] = { { 0, 0, 0 }, { 1, 0, 0 }, { 1, 1, 0 }, { 0, 1, 0 }, { 0, 0, 1 }, { 1, 0, 1 }, { 1, 1, 1 }, { 0, 1, 1 } }; // Lists the index of the endpoint vertices for the 12 edges of the cube const int MeshGenerator::a2iEdgeConnection[12][2] = { { 0, 1 }, { 1, 2 }, { 2, 3 }, { 3, 0 }, { 4, 5 }, { 5, 6 }, { 6, 7 }, { 7, 4 }, { 0, 4 }, { 1, 5 }, { 2, 6 }, { 3, 7 } }; // Lists the direction vector (vertex1-vertex0) for each edge in the cube const float MeshGenerator::a2fEdgeDirection[12][3] = { { 1.0, 0.0, 0.0 }, { 0.0, 1.0, 0.0 }, { -1.0, 0.0, 0.0 }, { 0.0, -1.0, 0.0 }, { 1.0, 0.0, 0.0 }, { 0.0, 1.0, 0.0 }, { -1.0, 0.0, 0.0 }, { 0.0, -1.0, 0.0 }, { 0.0, 0.0, 1.0 }, { 0.0, 0.0, 1.0 }, { 0.0, 0.0, 1.0 }, { 0.0, 0.0, 1.0 } }; // Lists the index of the endpoint vertices for the 6 edges of the tetrahedron const int MeshGenerator::a2iTetrahedronEdgeConnection[6][2] = { { 0, 1 }, { 1, 2 }, { 2, 0 }, { 0, 3 }, { 1, 3 }, { 2, 3 } }; // Lists the index of vertices from a cube that made up each of the six // tetrahedrons within the cube const int MeshGenerator::a2iTetrahedronsInACube[6][4] = { { 0, 5, 1, 6 }, { 0, 1, 2, 6 }, { 0, 2, 3, 6 }, { 0, 3, 7, 6 }, { 0, 7, 4, 6 }, { 0, 4, 5, 6 }, }; // For any edge, if one vertex is inside of the surface and the other // is outside of the surface then the edge intersects the surface // For each of the 4 vertices of the tetrahedron can be two possible // states : either inside or outside of the surface // For any tetrahedron the are 2^4=16 possible sets of vertex states // This table lists the edges intersected by the surface for all 16 // possible vertex states. // There are 6 edges. For each entry in the table, if edge #n is // intersected, then bit #n is set to 1 const long MeshGenerator::aiTetrahedronEdgeFlags[16] = { 0x00, 0x0d, 0x13, 0x1e, 0x26, 0x2b, 0x35, 0x38, 0x38, 0x35, 0x2b, 0x26, 0x1e, 0x13, 0x0d, 0x00, }; // For each of the possible vertex states listed in aiTetrahedronEdgeFlags // there is a specific triangulation // of the edge intersection points. a2iTetrahedronTriangles lists all of // them in the form of // 0-2 edge triples with the list terminated by the invalid value -1. // // I generated this table by hand const int MeshGenerator::a2iTetrahedronTriangles[16][7] = { { -1, -1, -1, -1, -1, -1, -1 }, { 0, 3, 2, -1, -1, -1, -1 }, { 0, 1, 4, -1, -1, -1, -1 }, { 1, 4, 2, 2, 4, 3, -1 }, { 1, 2, 5, -1, -1, -1, -1 }, { 0, 3, 5, 0, 5, 1, -1 }, { 0, 2, 5, 0, 5, 4, -1 }, { 5, 4, 3, -1, -1, -1, -1 }, { 3, 4, 5, -1, -1, -1, -1 }, { 4, 5, 0, 5, 2, 0, -1 }, { 1, 5, 0, 5, 3, 0, -1 }, { 5, 2, 1, -1, -1, -1, -1 }, { 3, 4, 2, 2, 4, 1, -1 }, { 4, 1, 0, -1, -1, -1, -1 }, { 2, 3, 0, -1, -1, -1, -1 }, { -1, -1, -1, -1, -1, -1, -1 }, }; // For any edge, if one vertex is inside of the surface and the other is // outside of the surface // then the edge intersects the surface // For each of the 8 vertices of the cube can be two possible states : // either inside or outside of the surface // For any cube the are 2^8=256 possible sets of vertex states // This table lists the edges intersected by the surface for all 256 // possible vertex states // There are 12 edges. For each entry in the table, if edge #n is // intersected, then bit #n is set to 1 const long MeshGenerator::aiCubeEdgeFlags[256] = { 0x000, 0x109, 0x203, 0x30a, 0x406, 0x50f, 0x605, 0x70c, 0x80c, 0x905, 0xa0f, 0xb06, 0xc0a, 0xd03, 0xe09, 0xf00, 0x190, 0x099, 0x393, 0x29a, 0x596, 0x49f, 0x795, 0x69c, 0x99c, 0x895, 0xb9f, 0xa96, 0xd9a, 0xc93, 0xf99, 0xe90, 0x230, 0x339, 0x033, 0x13a, 0x636, 0x73f, 0x435, 0x53c, 0xa3c, 0xb35, 0x83f, 0x936, 0xe3a, 0xf33, 0xc39, 0xd30, 0x3a0, 0x2a9, 0x1a3, 0x0aa, 0x7a6, 0x6af, 0x5a5, 0x4ac, 0xbac, 0xaa5, 0x9af, 0x8a6, 0xfaa, 0xea3, 0xda9, 0xca0, 0x460, 0x569, 0x663, 0x76a, 0x066, 0x16f, 0x265, 0x36c, 0xc6c, 0xd65, 0xe6f, 0xf66, 0x86a, 0x963, 0xa69, 0xb60, 0x5f0, 0x4f9, 0x7f3, 0x6fa, 0x1f6, 0x0ff, 0x3f5, 0x2fc, 0xdfc, 0xcf5, 0xfff, 0xef6, 0x9fa, 0x8f3, 0xbf9, 0xaf0, 0x650, 0x759, 0x453, 0x55a, 0x256, 0x35f, 0x055, 0x15c, 0xe5c, 0xf55, 0xc5f, 0xd56, 0xa5a, 0xb53, 0x859, 0x950, 0x7c0, 0x6c9, 0x5c3, 0x4ca, 0x3c6, 0x2cf, 0x1c5, 0x0cc, 0xfcc, 0xec5, 0xdcf, 0xcc6, 0xbca, 0xac3, 0x9c9, 0x8c0, 0x8c0, 0x9c9, 0xac3, 0xbca, 0xcc6, 0xdcf, 0xec5, 0xfcc, 0x0cc, 0x1c5, 0x2cf, 0x3c6, 0x4ca, 0x5c3, 0x6c9, 0x7c0, 0x950, 0x859, 0xb53, 0xa5a, 0xd56, 0xc5f, 0xf55, 0xe5c, 0x15c, 0x055, 0x35f, 0x256, 0x55a, 0x453, 0x759, 0x650, 0xaf0, 0xbf9, 0x8f3, 0x9fa, 0xef6, 0xfff, 0xcf5, 0xdfc, 0x2fc, 0x3f5, 0x0ff, 0x1f6, 0x6fa, 0x7f3, 0x4f9, 0x5f0, 0xb60, 0xa69, 0x963, 0x86a, 0xf66, 0xe6f, 0xd65, 0xc6c, 0x36c, 0x265, 0x16f, 0x066, 0x76a, 0x663, 0x569, 0x460, 0xca0, 0xda9, 0xea3, 0xfaa, 0x8a6, 0x9af, 0xaa5, 0xbac, 0x4ac, 0x5a5, 0x6af, 0x7a6, 0x0aa, 0x1a3, 0x2a9, 0x3a0, 0xd30, 0xc39, 0xf33, 0xe3a, 0x936, 0x83f, 0xb35, 0xa3c, 0x53c, 0x435, 0x73f, 0x636, 0x13a, 0x033, 0x339, 0x230, 0xe90, 0xf99, 0xc93, 0xd9a, 0xa96, 0xb9f, 0x895, 0x99c, 0x69c, 0x795, 0x49f, 0x596, 0x29a, 0x393, 0x099, 0x190, 0xf00, 0xe09, 0xd03, 0xc0a, 0xb06, 0xa0f, 0x905, 0x80c, 0x70c, 0x605, 0x50f, 0x406, 0x30a, 0x203, 0x109, 0x000 }; // For each of the possible vertex states listed in aiCubeEdgeFlags there is a // specific triangulation // of the edge intersection points. a2iTriangleConnectionTable lists all of // them in the form of // 0-5 edge triples with the list terminated by the invalid value -1. // For example: a2iTriangleConnectionTable[3] list the 2 triangles formed when // corner[0] // and corner[1] are inside of the surface, but the rest of the cube is not. // // I found this table in an example program someone wrote long ago. It was // probably generated by hand const int MeshGenerator::a2iTriangleConnectionTable[256][16] = { { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 8, 3, 9, 8, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 8, 3, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 9, 2, 10, 0, 2, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 2, 8, 3, 2, 10, 8, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1 }, { 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 11, 2, 8, 11, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 9, 0, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 11, 2, 1, 9, 11, 9, 8, 11, -1, -1, -1, -1, -1, -1, -1 }, { 3, 10, 1, 11, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 10, 1, 0, 8, 10, 8, 11, 10, -1, -1, -1, -1, -1, -1, -1 }, { 3, 9, 0, 3, 11, 9, 11, 10, 9, -1, -1, -1, -1, -1, -1, -1 }, { 9, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 4, 3, 0, 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 1, 9, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 4, 1, 9, 4, 7, 1, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 2, 10, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 3, 4, 7, 3, 0, 4, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1 }, { 9, 2, 10, 9, 0, 2, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1 }, { 2, 10, 9, 2, 9, 7, 2, 7, 3, 7, 9, 4, -1, -1, -1, -1 }, { 8, 4, 7, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 11, 4, 7, 11, 2, 4, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1 }, { 9, 0, 1, 8, 4, 7, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1 }, { 4, 7, 11, 9, 4, 11, 9, 11, 2, 9, 2, 1, -1, -1, -1, -1 }, { 3, 10, 1, 3, 11, 10, 7, 8, 4, -1, -1, -1, -1, -1, -1, -1 }, { 1, 11, 10, 1, 4, 11, 1, 0, 4, 7, 11, 4, -1, -1, -1, -1 }, { 4, 7, 8, 9, 0, 11, 9, 11, 10, 11, 0, 3, -1, -1, -1, -1 }, { 4, 7, 11, 4, 11, 9, 9, 11, 10, -1, -1, -1, -1, -1, -1, -1 }, { 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 9, 5, 4, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 5, 4, 1, 5, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 8, 5, 4, 8, 3, 5, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1 }, { 1, 2, 10, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 3, 0, 8, 1, 2, 10, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1 }, { 5, 2, 10, 5, 4, 2, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1 }, { 2, 10, 5, 3, 2, 5, 3, 5, 4, 3, 4, 8, -1, -1, -1, -1 }, { 9, 5, 4, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 11, 2, 0, 8, 11, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1 }, { 0, 5, 4, 0, 1, 5, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1 }, { 2, 1, 5, 2, 5, 8, 2, 8, 11, 4, 8, 5, -1, -1, -1, -1 }, { 10, 3, 11, 10, 1, 3, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1 }, { 4, 9, 5, 0, 8, 1, 8, 10, 1, 8, 11, 10, -1, -1, -1, -1 }, { 5, 4, 0, 5, 0, 11, 5, 11, 10, 11, 0, 3, -1, -1, -1, -1 }, { 5, 4, 8, 5, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1 }, { 9, 7, 8, 5, 7, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 9, 3, 0, 9, 5, 3, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1 }, { 0, 7, 8, 0, 1, 7, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1 }, { 1, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 9, 7, 8, 9, 5, 7, 10, 1, 2, -1, -1, -1, -1, -1, -1, -1 }, { 10, 1, 2, 9, 5, 0, 5, 3, 0, 5, 7, 3, -1, -1, -1, -1 }, { 8, 0, 2, 8, 2, 5, 8, 5, 7, 10, 5, 2, -1, -1, -1, -1 }, { 2, 10, 5, 2, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1 }, { 7, 9, 5, 7, 8, 9, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1 }, { 9, 5, 7, 9, 7, 2, 9, 2, 0, 2, 7, 11, -1, -1, -1, -1 }, { 2, 3, 11, 0, 1, 8, 1, 7, 8, 1, 5, 7, -1, -1, -1, -1 }, { 11, 2, 1, 11, 1, 7, 7, 1, 5, -1, -1, -1, -1, -1, -1, -1 }, { 9, 5, 8, 8, 5, 7, 10, 1, 3, 10, 3, 11, -1, -1, -1, -1 }, { 5, 7, 0, 5, 0, 9, 7, 11, 0, 1, 0, 10, 11, 10, 0, -1 }, { 11, 10, 0, 11, 0, 3, 10, 5, 0, 8, 0, 7, 5, 7, 0, -1 }, { 11, 10, 5, 7, 11, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 8, 3, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 9, 0, 1, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 8, 3, 1, 9, 8, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1 }, { 1, 6, 5, 2, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 6, 5, 1, 2, 6, 3, 0, 8, -1, -1, -1, -1, -1, -1, -1 }, { 9, 6, 5, 9, 0, 6, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1 }, { 5, 9, 8, 5, 8, 2, 5, 2, 6, 3, 2, 8, -1, -1, -1, -1 }, { 2, 3, 11, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 11, 0, 8, 11, 2, 0, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1 }, { 0, 1, 9, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1 }, { 5, 10, 6, 1, 9, 2, 9, 11, 2, 9, 8, 11, -1, -1, -1, -1 }, { 6, 3, 11, 6, 5, 3, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1 }, { 0, 8, 11, 0, 11, 5, 0, 5, 1, 5, 11, 6, -1, -1, -1, -1 }, { 3, 11, 6, 0, 3, 6, 0, 6, 5, 0, 5, 9, -1, -1, -1, -1 }, { 6, 5, 9, 6, 9, 11, 11, 9, 8, -1, -1, -1, -1, -1, -1, -1 }, { 5, 10, 6, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 4, 3, 0, 4, 7, 3, 6, 5, 10, -1, -1, -1, -1, -1, -1, -1 }, { 1, 9, 0, 5, 10, 6, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1 }, { 10, 6, 5, 1, 9, 7, 1, 7, 3, 7, 9, 4, -1, -1, -1, -1 }, { 6, 1, 2, 6, 5, 1, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1 }, { 1, 2, 5, 5, 2, 6, 3, 0, 4, 3, 4, 7, -1, -1, -1, -1 }, { 8, 4, 7, 9, 0, 5, 0, 6, 5, 0, 2, 6, -1, -1, -1, -1 }, { 7, 3, 9, 7, 9, 4, 3, 2, 9, 5, 9, 6, 2, 6, 9, -1 }, { 3, 11, 2, 7, 8, 4, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1 }, { 5, 10, 6, 4, 7, 2, 4, 2, 0, 2, 7, 11, -1, -1, -1, -1 }, { 0, 1, 9, 4, 7, 8, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1 }, { 9, 2, 1, 9, 11, 2, 9, 4, 11, 7, 11, 4, 5, 10, 6, -1 }, { 8, 4, 7, 3, 11, 5, 3, 5, 1, 5, 11, 6, -1, -1, -1, -1 }, { 5, 1, 11, 5, 11, 6, 1, 0, 11, 7, 11, 4, 0, 4, 11, -1 }, { 0, 5, 9, 0, 6, 5, 0, 3, 6, 11, 6, 3, 8, 4, 7, -1 }, { 6, 5, 9, 6, 9, 11, 4, 7, 9, 7, 11, 9, -1, -1, -1, -1 }, { 10, 4, 9, 6, 4, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 4, 10, 6, 4, 9, 10, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1 }, { 10, 0, 1, 10, 6, 0, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1 }, { 8, 3, 1, 8, 1, 6, 8, 6, 4, 6, 1, 10, -1, -1, -1, -1 }, { 1, 4, 9, 1, 2, 4, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1 }, { 3, 0, 8, 1, 2, 9, 2, 4, 9, 2, 6, 4, -1, -1, -1, -1 }, { 0, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 8, 3, 2, 8, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1 }, { 10, 4, 9, 10, 6, 4, 11, 2, 3, -1, -1, -1, -1, -1, -1, -1 }, { 0, 8, 2, 2, 8, 11, 4, 9, 10, 4, 10, 6, -1, -1, -1, -1 }, { 3, 11, 2, 0, 1, 6, 0, 6, 4, 6, 1, 10, -1, -1, -1, -1 }, { 6, 4, 1, 6, 1, 10, 4, 8, 1, 2, 1, 11, 8, 11, 1, -1 }, { 9, 6, 4, 9, 3, 6, 9, 1, 3, 11, 6, 3, -1, -1, -1, -1 }, { 8, 11, 1, 8, 1, 0, 11, 6, 1, 9, 1, 4, 6, 4, 1, -1 }, { 3, 11, 6, 3, 6, 0, 0, 6, 4, -1, -1, -1, -1, -1, -1, -1 }, { 6, 4, 8, 11, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 7, 10, 6, 7, 8, 10, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1 }, { 0, 7, 3, 0, 10, 7, 0, 9, 10, 6, 7, 10, -1, -1, -1, -1 }, { 10, 6, 7, 1, 10, 7, 1, 7, 8, 1, 8, 0, -1, -1, -1, -1 }, { 10, 6, 7, 10, 7, 1, 1, 7, 3, -1, -1, -1, -1, -1, -1, -1 }, { 1, 2, 6, 1, 6, 8, 1, 8, 9, 8, 6, 7, -1, -1, -1, -1 }, { 2, 6, 9, 2, 9, 1, 6, 7, 9, 0, 9, 3, 7, 3, 9, -1 }, { 7, 8, 0, 7, 0, 6, 6, 0, 2, -1, -1, -1, -1, -1, -1, -1 }, { 7, 3, 2, 6, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 2, 3, 11, 10, 6, 8, 10, 8, 9, 8, 6, 7, -1, -1, -1, -1 }, { 2, 0, 7, 2, 7, 11, 0, 9, 7, 6, 7, 10, 9, 10, 7, -1 }, { 1, 8, 0, 1, 7, 8, 1, 10, 7, 6, 7, 10, 2, 3, 11, -1 }, { 11, 2, 1, 11, 1, 7, 10, 6, 1, 6, 7, 1, -1, -1, -1, -1 }, { 8, 9, 6, 8, 6, 7, 9, 1, 6, 11, 6, 3, 1, 3, 6, -1 }, { 0, 9, 1, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 7, 8, 0, 7, 0, 6, 3, 11, 0, 11, 6, 0, -1, -1, -1, -1 }, { 7, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 3, 0, 8, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 1, 9, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 8, 1, 9, 8, 3, 1, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1 }, { 10, 1, 2, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 2, 10, 3, 0, 8, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1 }, { 2, 9, 0, 2, 10, 9, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1 }, { 6, 11, 7, 2, 10, 3, 10, 8, 3, 10, 9, 8, -1, -1, -1, -1 }, { 7, 2, 3, 6, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 7, 0, 8, 7, 6, 0, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1 }, { 2, 7, 6, 2, 3, 7, 0, 1, 9, -1, -1, -1, -1, -1, -1, -1 }, { 1, 6, 2, 1, 8, 6, 1, 9, 8, 8, 7, 6, -1, -1, -1, -1 }, { 10, 7, 6, 10, 1, 7, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1 }, { 10, 7, 6, 1, 7, 10, 1, 8, 7, 1, 0, 8, -1, -1, -1, -1 }, { 0, 3, 7, 0, 7, 10, 0, 10, 9, 6, 10, 7, -1, -1, -1, -1 }, { 7, 6, 10, 7, 10, 8, 8, 10, 9, -1, -1, -1, -1, -1, -1, -1 }, { 6, 8, 4, 11, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 3, 6, 11, 3, 0, 6, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1 }, { 8, 6, 11, 8, 4, 6, 9, 0, 1, -1, -1, -1, -1, -1, -1, -1 }, { 9, 4, 6, 9, 6, 3, 9, 3, 1, 11, 3, 6, -1, -1, -1, -1 }, { 6, 8, 4, 6, 11, 8, 2, 10, 1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 2, 10, 3, 0, 11, 0, 6, 11, 0, 4, 6, -1, -1, -1, -1 }, { 4, 11, 8, 4, 6, 11, 0, 2, 9, 2, 10, 9, -1, -1, -1, -1 }, { 10, 9, 3, 10, 3, 2, 9, 4, 3, 11, 3, 6, 4, 6, 3, -1 }, { 8, 2, 3, 8, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1 }, { 0, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 9, 0, 2, 3, 4, 2, 4, 6, 4, 3, 8, -1, -1, -1, -1 }, { 1, 9, 4, 1, 4, 2, 2, 4, 6, -1, -1, -1, -1, -1, -1, -1 }, { 8, 1, 3, 8, 6, 1, 8, 4, 6, 6, 10, 1, -1, -1, -1, -1 }, { 10, 1, 0, 10, 0, 6, 6, 0, 4, -1, -1, -1, -1, -1, -1, -1 }, { 4, 6, 3, 4, 3, 8, 6, 10, 3, 0, 3, 9, 10, 9, 3, -1 }, { 10, 9, 4, 6, 10, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 4, 9, 5, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 8, 3, 4, 9, 5, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1 }, { 5, 0, 1, 5, 4, 0, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1 }, { 11, 7, 6, 8, 3, 4, 3, 5, 4, 3, 1, 5, -1, -1, -1, -1 }, { 9, 5, 4, 10, 1, 2, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1 }, { 6, 11, 7, 1, 2, 10, 0, 8, 3, 4, 9, 5, -1, -1, -1, -1 }, { 7, 6, 11, 5, 4, 10, 4, 2, 10, 4, 0, 2, -1, -1, -1, -1 }, { 3, 4, 8, 3, 5, 4, 3, 2, 5, 10, 5, 2, 11, 7, 6, -1 }, { 7, 2, 3, 7, 6, 2, 5, 4, 9, -1, -1, -1, -1, -1, -1, -1 }, { 9, 5, 4, 0, 8, 6, 0, 6, 2, 6, 8, 7, -1, -1, -1, -1 }, { 3, 6, 2, 3, 7, 6, 1, 5, 0, 5, 4, 0, -1, -1, -1, -1 }, { 6, 2, 8, 6, 8, 7, 2, 1, 8, 4, 8, 5, 1, 5, 8, -1 }, { 9, 5, 4, 10, 1, 6, 1, 7, 6, 1, 3, 7, -1, -1, -1, -1 }, { 1, 6, 10, 1, 7, 6, 1, 0, 7, 8, 7, 0, 9, 5, 4, -1 }, { 4, 0, 10, 4, 10, 5, 0, 3, 10, 6, 10, 7, 3, 7, 10, -1 }, { 7, 6, 10, 7, 10, 8, 5, 4, 10, 4, 8, 10, -1, -1, -1, -1 }, { 6, 9, 5, 6, 11, 9, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1 }, { 3, 6, 11, 0, 6, 3, 0, 5, 6, 0, 9, 5, -1, -1, -1, -1 }, { 0, 11, 8, 0, 5, 11, 0, 1, 5, 5, 6, 11, -1, -1, -1, -1 }, { 6, 11, 3, 6, 3, 5, 5, 3, 1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 2, 10, 9, 5, 11, 9, 11, 8, 11, 5, 6, -1, -1, -1, -1 }, { 0, 11, 3, 0, 6, 11, 0, 9, 6, 5, 6, 9, 1, 2, 10, -1 }, { 11, 8, 5, 11, 5, 6, 8, 0, 5, 10, 5, 2, 0, 2, 5, -1 }, { 6, 11, 3, 6, 3, 5, 2, 10, 3, 10, 5, 3, -1, -1, -1, -1 }, { 5, 8, 9, 5, 2, 8, 5, 6, 2, 3, 8, 2, -1, -1, -1, -1 }, { 9, 5, 6, 9, 6, 0, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1 }, { 1, 5, 8, 1, 8, 0, 5, 6, 8, 3, 8, 2, 6, 2, 8, -1 }, { 1, 5, 6, 2, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 3, 6, 1, 6, 10, 3, 8, 6, 5, 6, 9, 8, 9, 6, -1 }, { 10, 1, 0, 10, 0, 6, 9, 5, 0, 5, 6, 0, -1, -1, -1, -1 }, { 0, 3, 8, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 10, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 11, 5, 10, 7, 5, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 11, 5, 10, 11, 7, 5, 8, 3, 0, -1, -1, -1, -1, -1, -1, -1 }, { 5, 11, 7, 5, 10, 11, 1, 9, 0, -1, -1, -1, -1, -1, -1, -1 }, { 10, 7, 5, 10, 11, 7, 9, 8, 1, 8, 3, 1, -1, -1, -1, -1 }, { 11, 1, 2, 11, 7, 1, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 8, 3, 1, 2, 7, 1, 7, 5, 7, 2, 11, -1, -1, -1, -1 }, { 9, 7, 5, 9, 2, 7, 9, 0, 2, 2, 11, 7, -1, -1, -1, -1 }, { 7, 5, 2, 7, 2, 11, 5, 9, 2, 3, 2, 8, 9, 8, 2, -1 }, { 2, 5, 10, 2, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1 }, { 8, 2, 0, 8, 5, 2, 8, 7, 5, 10, 2, 5, -1, -1, -1, -1 }, { 9, 0, 1, 5, 10, 3, 5, 3, 7, 3, 10, 2, -1, -1, -1, -1 }, { 9, 8, 2, 9, 2, 1, 8, 7, 2, 10, 2, 5, 7, 5, 2, -1 }, { 1, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 8, 7, 0, 7, 1, 1, 7, 5, -1, -1, -1, -1, -1, -1, -1 }, { 9, 0, 3, 9, 3, 5, 5, 3, 7, -1, -1, -1, -1, -1, -1, -1 }, { 9, 8, 7, 5, 9, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 5, 8, 4, 5, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1 }, { 5, 0, 4, 5, 11, 0, 5, 10, 11, 11, 3, 0, -1, -1, -1, -1 }, { 0, 1, 9, 8, 4, 10, 8, 10, 11, 10, 4, 5, -1, -1, -1, -1 }, { 10, 11, 4, 10, 4, 5, 11, 3, 4, 9, 4, 1, 3, 1, 4, -1 }, { 2, 5, 1, 2, 8, 5, 2, 11, 8, 4, 5, 8, -1, -1, -1, -1 }, { 0, 4, 11, 0, 11, 3, 4, 5, 11, 2, 11, 1, 5, 1, 11, -1 }, { 0, 2, 5, 0, 5, 9, 2, 11, 5, 4, 5, 8, 11, 8, 5, -1 }, { 9, 4, 5, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 2, 5, 10, 3, 5, 2, 3, 4, 5, 3, 8, 4, -1, -1, -1, -1 }, { 5, 10, 2, 5, 2, 4, 4, 2, 0, -1, -1, -1, -1, -1, -1, -1 }, { 3, 10, 2, 3, 5, 10, 3, 8, 5, 4, 5, 8, 0, 1, 9, -1 }, { 5, 10, 2, 5, 2, 4, 1, 9, 2, 9, 4, 2, -1, -1, -1, -1 }, { 8, 4, 5, 8, 5, 3, 3, 5, 1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 4, 5, 1, 0, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 8, 4, 5, 8, 5, 3, 9, 0, 5, 0, 3, 5, -1, -1, -1, -1 }, { 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 4, 11, 7, 4, 9, 11, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1 }, { 0, 8, 3, 4, 9, 7, 9, 11, 7, 9, 10, 11, -1, -1, -1, -1 }, { 1, 10, 11, 1, 11, 4, 1, 4, 0, 7, 4, 11, -1, -1, -1, -1 }, { 3, 1, 4, 3, 4, 8, 1, 10, 4, 7, 4, 11, 10, 11, 4, -1 }, { 4, 11, 7, 9, 11, 4, 9, 2, 11, 9, 1, 2, -1, -1, -1, -1 }, { 9, 7, 4, 9, 11, 7, 9, 1, 11, 2, 11, 1, 0, 8, 3, -1 }, { 11, 7, 4, 11, 4, 2, 2, 4, 0, -1, -1, -1, -1, -1, -1, -1 }, { 11, 7, 4, 11, 4, 2, 8, 3, 4, 3, 2, 4, -1, -1, -1, -1 }, { 2, 9, 10, 2, 7, 9, 2, 3, 7, 7, 4, 9, -1, -1, -1, -1 }, { 9, 10, 7, 9, 7, 4, 10, 2, 7, 8, 7, 0, 2, 0, 7, -1 }, { 3, 7, 10, 3, 10, 2, 7, 4, 10, 1, 10, 0, 4, 0, 10, -1 }, { 1, 10, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 4, 9, 1, 4, 1, 7, 7, 1, 3, -1, -1, -1, -1, -1, -1, -1 }, { 4, 9, 1, 4, 1, 7, 0, 8, 1, 8, 7, 1, -1, -1, -1, -1 }, { 4, 0, 3, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 9, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 3, 0, 9, 3, 9, 11, 11, 9, 10, -1, -1, -1, -1, -1, -1, -1 }, { 0, 1, 10, 0, 10, 8, 8, 10, 11, -1, -1, -1, -1, -1, -1, -1 }, { 3, 1, 10, 11, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 2, 11, 1, 11, 9, 9, 11, 8, -1, -1, -1, -1, -1, -1, -1 }, { 3, 0, 9, 3, 9, 11, 1, 2, 9, 2, 11, 9, -1, -1, -1, -1 }, { 0, 2, 11, 8, 0, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 2, 3, 8, 2, 8, 10, 10, 8, 9, -1, -1, -1, -1, -1, -1, -1 }, { 9, 10, 2, 0, 9, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 2, 3, 8, 2, 8, 10, 0, 1, 8, 1, 10, 8, -1, -1, -1, -1 }, { 1, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 1, 3, 8, 9, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, { 0, 3, 8, -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 } }; } // End namespace QtGui } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/meshgenerator.h000066400000000000000000000132741360735163600222500ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_MESHGENERATOR_H #define AVOGADRO_QTGUI_MESHGENERATOR_H #include "avogadroqtguiexport.h" #include #include #include namespace Avogadro { namespace Core { class Cube; class Mesh; } namespace QtGui { /** * @class MeshGenerator meshgenerator.h * @brief Class that can generate Mesh objects from Cube objects. * @author Marcus D. Hanwell * * This class implements a method of generating an isosurface Mesh from * volumetric data using the marching cubes algorithm. In the case of the * MeshGenerator class it expects a Cube as an input and an isosurface value. * The tables and the basic code is taken from the public domain code written * by Cory Bloyd (marchingsource.cpp) and available at, * http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/ * * You must first initialize the class and then call run() to actually * polygonize the isosurface. Connect to the classes finished() signal to * do something once the polygonization is complete. */ class AVOGADROQTGUI_EXPORT MeshGenerator : public QThread { Q_OBJECT public: /** * Constructor. */ explicit MeshGenerator(QObject* parent = 0); /** * Constructor. Can be used to initialize the MeshGenerator. * @param cube The source Cube with the volumetric data. * @param mesh The Mesh that will hold the isosurface. * @param iso The iso value of the surface. * @return True if the MeshGenerator was successfully initialized. */ MeshGenerator(const Core::Cube* cube, Core::Mesh* mesh, float iso, bool reverse = false, QObject* parent = 0); /** * Destructor. */ ~MeshGenerator() override; /** * Initialization function, set up the MeshGenerator ready to find an * isosurface of the supplied Cube. * @param cube The source Cube with the volumetric data. * @param mesh The Mesh that will hold the isosurface. * @param iso The iso value of the surface. */ bool initialize(const Core::Cube* cube, Core::Mesh* mesh, float iso, bool reverse = false); /** * Use this function to begin Mesh generation. Uses an asynchronous thread, * and so avoids locking the user interface while the isosurface is found. */ void run() override; /** * @return The Cube being used by the class. */ const Core::Cube* cube() const { return m_cube; } /** * @return The Mesh being generated by the class. */ Core::Mesh* mesh() const { return m_mesh; } /** * Clears the contents of the MeshGenerator. */ void clear(); /** * @return The minimum value of the progress value. */ int progressMinimum() { return m_progmin; } /** * @return The maximum value of the progress value. */ int progressMaximum() { return m_progmax; } signals: /** * The current value of the calculation's progress. */ void progressValueChanged(int); protected: /** * Get the normal to the supplied point. This operation is quite expensive * and so should be avoided wherever possible. * @param pos The position of the vertex whose normal is needed. * @return The normal vector for the supplied point. */ Vector3f normal(const Vector3f& pos); /** * Get the offset, i.e. the approximate point of intersection of the surface * between two points. * @param val1 The position of the vertex whose normal is needed. * @return The normal vector for the supplied point. */ float offset(float val1, float val2); unsigned long duplicate(const Vector3i& c, const Vector3f& pos); /** * Perform a marching cubes step on a single cube. */ bool marchingCube(const Vector3i& pos); float m_iso; /** The value of the isosurface. */ bool m_reverseWinding; /** Whether the winding and normals are reversed */ const Core::Cube* m_cube; /** The cube that we are generating a Mesh from. */ Core::Mesh* m_mesh; /** The mesh that is being generated. */ Vector3f m_stepSize; /** The step size vector for cube */ Vector3f m_min; /** The minimum point in the cube. */ Vector3i m_dim; /** The dimensions of the cube. */ Core::Array m_vertices, m_normals; Core::Array m_indices; int m_progmin; int m_progmax; /** * These are the tables of constants for the marching cubes and tetrahedra * algorithms. They are taken from the public domain source at * http://local.wasp.uwa.edu.au/~pbourke/geometry/polygonise/ */ static const float a2fVertexOffset[8][3]; static const int a2iVertexOffset[8][3]; static const int a2iEdgeConnection[12][2]; static const float a2fEdgeDirection[12][3]; static const int a2iTetrahedronEdgeConnection[6][2]; static const int a2iTetrahedronsInACube[6][4]; static const long aiTetrahedronEdgeFlags[16]; static const int a2iTetrahedronTriangles[16][7]; static const long aiCubeEdgeFlags[256]; static const int a2iTriangleConnectionTable[256][16]; }; } // End namespace QtGui } // End namespace Avogadro #endif // AVOGADRO_QTGUI_MESHGENERATOR_H avogadrolibs-1.93.0/avogadro/qtgui/molecule.cpp000066400000000000000000000202321360735163600215350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "molecule.h" #include "rwmolecule.h" namespace Avogadro { namespace QtGui { Molecule::Molecule(QObject* parent_) : QObject(parent_), m_undoMolecule(new RWMolecule(*this, this)) { m_undoMolecule->setInteractive(true); } Molecule::Molecule(const Molecule& other) : QObject(), Core::Molecule(other), m_undoMolecule(new RWMolecule(*this, this)) { m_undoMolecule->setInteractive(true); // Now assign the unique ids for (Index i = 0; i < atomCount(); i++) m_atomUniqueIds.push_back(i); for (Index i = 0; i < bondCount(); i++) m_bondUniqueIds.push_back(i); } Molecule::Molecule(const Core::Molecule& other) : QObject(), Core::Molecule(other) { // Now assign the unique ids for (Index i = 0; i < atomCount(); i++) m_atomUniqueIds.push_back(i); for (Index i = 0; i < bondCount(); i++) m_bondUniqueIds.push_back(i); } Molecule& Molecule::operator=(const Molecule& other) { // Call the base classes assignment operator Core::Molecule::operator=(other); // Copy over the unique ids m_atomUniqueIds = other.m_atomUniqueIds; m_bondUniqueIds = other.m_bondUniqueIds; return *this; } Molecule& Molecule::operator=(const Core::Molecule& other) { // Call the base classes assignment operator Core::Molecule::operator=(other); // Reset the unique ids. m_atomUniqueIds.clear(); for (Index i = 0; i < atomCount(); ++i) m_atomUniqueIds.push_back(i); m_bondUniqueIds.clear(); for (Index i = 0; i < bondCount(); ++i) m_bondUniqueIds.push_back(i); return *this; } Molecule::~Molecule() { } Molecule::AtomType Molecule::addAtom(unsigned char number) { m_atomUniqueIds.push_back(atomCount()); AtomType a = Core::Molecule::addAtom(number); return a; } Molecule::AtomType Molecule::addAtom(unsigned char number, Index uniqueId) { if (uniqueId >= static_cast(m_atomUniqueIds.size()) || m_atomUniqueIds[uniqueId] != MaxIndex) { return AtomType(); } m_atomUniqueIds[uniqueId] = atomCount(); AtomType a = Core::Molecule::addAtom(number); return a; } bool Molecule::removeAtom(Index index) { if (index >= atomCount()) return false; Index uniqueId = findAtomUniqueId(index); if (uniqueId == MaxIndex) return false; // Unique ID of an atom that was removed: m_atomUniqueIds[uniqueId] = MaxIndex; // Before removing the atom we must first remove any bonds to it. Core::Array atomBonds = Core::Molecule::bonds(atom(index)); while (atomBonds.size()) { removeBond(atomBonds.back()); atomBonds = Core::Molecule::bonds(atom(index)); } Index newSize = static_cast(m_atomicNumbers.size() - 1); if (index != newSize) { // We need to move the last atom to this position, and update its unique ID. m_atomicNumbers[index] = m_atomicNumbers.back(); if (m_positions2d.size() == m_atomicNumbers.size()) m_positions2d[index] = m_positions2d.back(); if (m_positions3d.size() == m_atomicNumbers.size()) m_positions3d[index] = m_positions3d.back(); // Find any bonds to the moved atom and update their index. atomBonds = Core::Molecule::bonds(atom(newSize)); foreach (const BondType& currentBond, atomBonds) { std::pair pair = m_bondPairs[currentBond.index()]; if (pair.first == newSize) pair.first = index; else if (pair.second == newSize) pair.second = index; m_bondPairs[currentBond.index()] = pair; } Index movedAtomUID = findAtomUniqueId(newSize); assert(movedAtomUID != MaxIndex); m_atomUniqueIds[movedAtomUID] = index; } // Resize the arrays for the smaller molecule. if (m_positions2d.size() == m_atomicNumbers.size()) m_positions2d.resize(newSize); if (m_positions3d.size() == m_atomicNumbers.size()) m_positions3d.resize(newSize); m_atomicNumbers.resize(newSize); return true; } bool Molecule::removeAtom(const AtomType& atom_) { return removeAtom(atom_.index()); } Molecule::AtomType Molecule::atomByUniqueId(Index uniqueId) { if (uniqueId >= static_cast(m_atomUniqueIds.size()) || m_atomUniqueIds[uniqueId] == MaxIndex) { return AtomType(); } else { return AtomType(this, m_atomUniqueIds[uniqueId]); } } Index Molecule::atomUniqueId(const AtomType& a) const { if (a.molecule() != this) return MaxIndex; return findAtomUniqueId(a.index()); } Index Molecule::atomUniqueId(Index a) const { return findAtomUniqueId(a); } Molecule::BondType Molecule::addBond(const AtomType& a, const AtomType& b, unsigned char order) { m_bondUniqueIds.push_back(bondCount()); assert(a.isValid() && a.molecule() == this); assert(b.isValid() && b.molecule() == this); BondType bond_ = Core::Molecule::addBond(a.index(), b.index(), order); return bond_; } Molecule::BondType Molecule::addBond(Avogadro::Index atomId1, Avogadro::Index atomId2, unsigned char order) { m_bondUniqueIds.push_back(bondCount()); return Core::Molecule::addBond(atomId1, atomId2, order); } Molecule::BondType Molecule::addBond(const AtomType& a, const AtomType& b, unsigned char order, Index uniqueId) { if (uniqueId >= static_cast(m_bondUniqueIds.size()) || m_bondUniqueIds[uniqueId] != MaxIndex) { return BondType(); } m_bondUniqueIds[uniqueId] = bondCount(); return Core::Molecule::addBond(a, b, order); } bool Molecule::removeBond(Index index) { if (index >= bondCount()) return false; Index uniqueId = findBondUniqueId(index); if (uniqueId == MaxIndex) return false; m_bondUniqueIds[uniqueId] = MaxIndex; // Unique ID of a bond that was removed. Index newSize = static_cast(m_bondOrders.size() - 1); if (index != newSize) { // We need to move the last bond to this position, and update its unique ID. m_bondOrders[index] = m_bondOrders.back(); m_bondPairs[index] = m_bondPairs.back(); Index movedBondUID = findBondUniqueId(newSize); assert(movedBondUID != MaxIndex); m_bondUniqueIds[movedBondUID] = index; } // Resize the arrays for the smaller molecule. m_bondOrders.resize(newSize); m_bondPairs.resize(newSize); return true; } bool Molecule::removeBond(const BondType& bond_) { return removeBond(bond_.index()); } bool Molecule::removeBond(const AtomType& a, const AtomType& b) { return removeBond(bond(a, b).index()); } bool Molecule::removeBond(Index a, Index b) { return removeBond(bond(a, b).index()); } Molecule::BondType Molecule::bondByUniqueId(Index uniqueId) { if (uniqueId >= static_cast(m_bondUniqueIds.size()) || m_bondUniqueIds[uniqueId] == MaxIndex) { return BondType(); } else { return BondType(this, static_cast(m_bondUniqueIds[uniqueId])); } } Index Molecule::bondUniqueId(const BondType& b) const { if (b.molecule() != this) return MaxIndex; return findBondUniqueId(b.index()); } Index Molecule::bondUniqueId(Index b) const { return findBondUniqueId(b); } void Molecule::emitChanged(unsigned int change) { if (change != NoChange) emit changed(change); } Index Molecule::findAtomUniqueId(Index index) const { for (Index i = 0; i < static_cast(m_atomUniqueIds.size()); ++i) if (m_atomUniqueIds[i] == index) return i; return MaxIndex; } Index Molecule::findBondUniqueId(Index index) const { for (Index i = 0; i < static_cast(m_bondUniqueIds.size()); ++i) if (m_bondUniqueIds[i] == index) return i; return MaxIndex; } RWMolecule* Molecule::undoMolecule() { return m_undoMolecule; } } // end QtGui namespace } // end Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/molecule.h000066400000000000000000000173061360735163600212120ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_MOLECULE_H #define AVOGADRO_QTGUI_MOLECULE_H #include "avogadroqtguiexport.h" #include "persistentatom.h" #include "persistentbond.h" #include #include #include namespace Avogadro { namespace QtGui { class Mesh; class RWMolecule; /** * @class Molecule molecule.h * @brief A QObject derived molecule object with signals/slots. */ class AVOGADROQTGUI_EXPORT Molecule : public QObject , public Core::Molecule { Q_OBJECT public: /** Typedef for Atom class. */ typedef Core::Molecule::AtomType AtomType; /** Typedef for PersistentAtom class. */ typedef PersistentAtom PersistentAtomType; /** Typedef for Bond class. */ typedef Core::Molecule::BondType BondType; /** Typedef for PersistentBond class. */ typedef PersistentBond PersistentBondType; Molecule(QObject* parent_ = 0); ~Molecule() override; /** copy constructor */ Molecule(const Molecule& other); /** copy constructor to copy data from base instance */ Molecule(const Core::Molecule& other); /** Assignment operator */ Molecule& operator=(const Molecule& other); /** Assignment operator to copy data from base instance */ Molecule& operator=(const Core::Molecule& other); /** * \enum MoleculeChange *Enumeration of change types that can be given. */ enum MoleculeChange { /** Useful for initializing MoleculeChange variables. */ NoChange = 0x0, /** Object types that can be changed. */ Atoms = 0x01, Bonds = 0x02, UnitCell = 0x04, /** Operations that can affect the above types. */ Added = 0x1024, Removed = 0x2048, Modified = 0x4096 }; Q_DECLARE_FLAGS(MoleculeChanges, MoleculeChange) /** * Add an atom with @p atomicNumber to the molecule. * @return The atom created. */ AtomType addAtom(unsigned char atomicNumber) override; /** * Add an atom with @p atomicNumber and @p uniqueId to the molecule. * @return The atom created. This can be invalid if the unique ID was already * in use. */ virtual AtomType addAtom(unsigned char atomicNumber, Index uniqueId); /** * @brief Remove the specified atom from the molecule. * @param index The index of the atom to be removed. * @return True on success, false if the atom was not found. */ bool removeAtom(Index index) override; /** * @brief Remove the specified atom from the molecule. * @param atom The atom to be removed. * @return True on success, false if the atom was not found. * @overload */ bool removeAtom(const AtomType& atom) override; /** * @brief Get the atom referenced by the @p uniqueId, the isValid method * should be queried to ensure the id still referenced a valid atom. * @param uniqueId The unique identifier for the atom. * @return An Atom object, check it is valid before using it. */ AtomType atomByUniqueId(Index uniqueId); /** * @brief Get the unique ID of the atom, this will uniquely reference the atom * as long as it exists. * @param atom The atom to obtain the unique ID of. * @return The unique identifier for the atom, MaxIndex if the atom is invalid * or does not belong to this molecule. * @{ */ Index atomUniqueId(const AtomType& atom) const; Index atomUniqueId(Index atom) const; /** @} */ Core::Array& atomUniqueIds() { return m_atomUniqueIds; } /** * @brief Add a bond between the specified atoms. * @param a The first atom in the bond. * @param b The second atom in the bond. * @param bondOrder The order of the bond. * @return The bond created. */ BondType addBond(const AtomType& a, const AtomType& b, unsigned char bondOrder = 1) override; /** * @brief Add a bond between the specified atoms. * @param atomId1 The index of the first atom in the bond. * @param atomId2 The index of the second atom in the bond. * @param bondOrder The order of the bond. * @return The bond created. */ BondType addBond(Index atomId1, Index atomId2, unsigned char bondOrder = 1) override; /** * @brief Add a bond between the specified atoms. * @param a The first atom in the bond. * @param b The second atom in the bond. * @param bondOrder The order of the bond. * @param uniqueId The unique ID to use for the bond. * @return The bond created. This can be invalid if the unique ID was already * in use. */ virtual BondType addBond(const AtomType& a, const AtomType& b, unsigned char bondOrder, Index uniqueId); /** * @brief Remove the specified bond. * @param index The index of the bond to be removed. * @return True on success, false if the bond was not found. */ bool removeBond(Index index) override; /** * @brief Remove the specified bond. * @param bond The bond to be removed. * @return True on success, false if the bond was not found. * @overload */ bool removeBond(const BondType& bond) override; /** * @brief Remove the specified bond. * @param atom1 One atom in the bond. * @param atom2 The other atom in the bond. * @return True on success, false if the bond was not found. * @overload * @{ */ bool removeBond(const AtomType& atom1, const AtomType& atom2) override; bool removeBond(Index atom1, Index atom2) override; /** @} */ /** * @brief Get the bond referenced by the @p uniqueId, the isValid method * should be queried to ensure the id still referenced a valid bond. * @param uniqueId The unique identifier for the bond. * @return A Bond object, check it is valid before using it. */ BondType bondByUniqueId(Index uniqueId); /** * @brief Get the unique ID of the bond, this will uniquely reference the bond * as long as it exists. * @param bond The bond to obtain the unique ID of. * @return The unique identifier for the bond, MaxIndex if the bond is invalid * or does not belong to this molecule. * @{ */ Index bondUniqueId(const BondType& bond) const; Index bondUniqueId(Index bond) const; /** @} */ Core::Array& bondUniqueIds() { return m_bondUniqueIds; } Index findAtomUniqueId(Index index) const; Index findBondUniqueId(Index index) const; RWMolecule* undoMolecule(); public slots: /** * @brief Force the molecule to emit the changed() signal. * @param change See changed(). */ void emitChanged(unsigned int change); signals: /** * @brief Indicates that the molecule has changed. * @param change Use the MoleculeChange enum to check what has changed. * * The @p change variable indicates what has changed, i.e. if * change & Atoms == true then atoms were changed in some way, and if * change & Removed == true then one or more atoms were removed. */ void changed(unsigned int change); private: Core::Array m_atomUniqueIds; Core::Array m_bondUniqueIds; friend class RWMolecule; RWMolecule* m_undoMolecule; }; Q_DECLARE_OPERATORS_FOR_FLAGS(Molecule::MoleculeChanges) } // end QtGui namespace } // end Avogadro namespace #endif // AVOGADRO_QTGUI_MOLECULE_H avogadrolibs-1.93.0/avogadro/qtgui/moleculemodel.cpp000066400000000000000000000134201360735163600225570ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013-2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "moleculemodel.h" #include "molecule.h" #include #include #include namespace Avogadro { namespace QtGui { MoleculeModel::MoleculeModel(QObject* p) : QAbstractItemModel(p), m_activeMolecule(nullptr) { } QModelIndex MoleculeModel::parent(const QModelIndex&) const { return QModelIndex(); } int MoleculeModel::rowCount(const QModelIndex& p) const { if (p.isValid()) return 0; else return m_molecules.size(); } int MoleculeModel::columnCount(const QModelIndex&) const { return 2; } Qt::ItemFlags MoleculeModel::flags(const QModelIndex& idx) const { if (idx.column() == 0) return static_cast(Qt::ItemIsEditable | Qt::ItemIsEnabled); else return Qt::ItemIsEnabled; } bool MoleculeModel::setData(const QModelIndex& idx, const QVariant& value, int role) { if (!idx.isValid() || idx.column() > 2) return false; QObject* object = static_cast(idx.internalPointer()); Molecule* mol = qobject_cast(object); if (!mol) return false; switch (role) { case Qt::CheckStateRole: m_activeMolecule = mol; if (value == Qt::Checked /*&& !item->isEnabled()*/) { // item->setEnabled(true); emit moleculeStateChanged(mol); } else if (value == Qt::Unchecked /*&& item->isEnabled()*/) { // item->setEnabled(false); emit moleculeStateChanged(mol); } emit dataChanged(idx, idx); return true; case Qt::EditRole: if (!value.toString().isEmpty()) { // don't set an empty name mol->setData("name", std::string(value.toString().toLatin1())); emit dataChanged(idx, idx); } return true; } return false; } QVariant MoleculeModel::data(const QModelIndex& idx, int role) const { if (!idx.isValid() || idx.column() > 2) return QVariant(); QObject* object = static_cast(idx.internalPointer()); Molecule* mol = qobject_cast(object); if (!mol) return QVariant(); if (idx.column() == 0) { switch (role) { case Qt::DisplayRole: { std::string name = tr("Untitled").toStdString(); if (mol && mol->hasData("name") && !(mol->data("name").toString().empty())) { // don't set an empty name name = mol->data("name").toString(); } else if (mol && mol->hasData("fileName")) { name = QFileInfo(mol->data("fileName").toString().c_str()) .fileName() .toStdString(); } if (mol) return (name + " (" + mol->formula() + ")").c_str(); else return "Edit molecule"; } case Qt::EditRole: return mol->data("name").toString().c_str(); case Qt::ToolTipRole: if (mol->hasData("fileName")) return mol->data("fileName").toString().c_str(); return "Not saved"; case Qt::WhatsThisRole: return mol->formula().c_str(); case Qt::ForegroundRole: if (mol == m_activeMolecule) return QVariant(QColor(Qt::red)); else return QVariant(QColor(Qt::black)); default: return QVariant(); } } else if (idx.column() == 1) { if (role == Qt::DecorationRole) return QIcon(":/icons/fallback/32x32/edit-delete.png"); } return QVariant(); } QModelIndex MoleculeModel::index(int row, int column, const QModelIndex& p) const { if (!p.isValid()) if (row >= 0 && row < m_molecules.size()) return createIndex(row, column, m_molecules[row]); return QModelIndex(); } void MoleculeModel::clear() { m_molecules.clear(); } QList MoleculeModel::molecules() const { return m_molecules; } QList MoleculeModel::activeMolecules() const { QList result; foreach (Molecule* mol, m_molecules) { if (true) result << mol; } return result; } void MoleculeModel::setActiveMolecule(QObject* active) { if (m_activeMolecule == active) return; int rowS = m_molecules.indexOf(qobject_cast(m_activeMolecule)); m_activeMolecule = active; int row = m_molecules.indexOf(qobject_cast(active)); if (rowS >= 0) emit dataChanged(createIndex(rowS, 0), createIndex(rowS, 0)); if (row >= 0) emit dataChanged(createIndex(row, 0), createIndex(row, 0)); } void MoleculeModel::addItem(Molecule* item) { if (!m_molecules.contains(item)) { int row = m_molecules.size(); beginInsertRows(QModelIndex(), row, row); m_molecules.append(item); item->setParent(this); endInsertRows(); } } void MoleculeModel::removeItem(Molecule* item) { if (m_molecules.contains(item)) { int row = m_molecules.indexOf(item); beginRemoveRows(QModelIndex(), row, row); m_molecules.removeAt(row); // Do we want strong ownership of molecules? item->deleteLater(); endRemoveRows(); } } void MoleculeModel::itemChanged() { Molecule* item = qobject_cast(sender()); if (item) { int row = m_molecules.indexOf(item); if (row >= 0) emit dataChanged(createIndex(row, 0), createIndex(row, 0)); } } } // End QtGui namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/moleculemodel.h000066400000000000000000000046741360735163600222370ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013-2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_MOLECULEMODEL_H #define AVOGADRO_QTGUI_MOLECULEMODEL_H #include "avogadroqtguiexport.h" #include #include namespace Avogadro { namespace QtGui { class Molecule; struct MoleculeSystem { MoleculeSystem() : m_molecule(nullptr) , m_dirty(false) , m_active(false) {} Molecule* m_molecule; Eigen::Affine3f m_modelView; bool m_dirty; bool m_active; }; /** * @class MoleculeModel moleculemodel.h * @brief A model containing molecules. * @author Marcus D. Hanwell */ class AVOGADROQTGUI_EXPORT MoleculeModel : public QAbstractItemModel { Q_OBJECT public: explicit MoleculeModel(QObject* p = 0); QModelIndex parent(const QModelIndex& child) const override; int rowCount(const QModelIndex& parent) const override; int columnCount(const QModelIndex& parent) const override; Qt::ItemFlags flags(const QModelIndex& index) const override; bool setData(const QModelIndex& index, const QVariant& value, int role) override; QVariant data(const QModelIndex& index, int role) const override; QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override; void clear(); QList molecules() const; QList activeMolecules() const; QObject* activeMolecule() const { return m_activeMolecule; } signals: void moleculeStateChanged(Avogadro::QtGui::Molecule*); public slots: void setActiveMolecule(QObject* active); void addItem(Avogadro::QtGui::Molecule* item); void removeItem(Avogadro::QtGui::Molecule* item); void itemChanged(); private: QList m_molecules; QObject* m_activeMolecule; }; } // End QtGui namespace } // End Avogadro namespace #endif // AVOGADRO_QTGUI_MOLECULEMODEL_H avogadrolibs-1.93.0/avogadro/qtgui/multiviewwidget.cpp000066400000000000000000000174431360735163600231730ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "multiviewwidget.h" #include "containerwidget.h" #include "viewfactory.h" #include #include #include #include #include #include namespace Avogadro { namespace QtGui { class ActiveWidgetFilter : public QObject { Q_OBJECT public: ActiveWidgetFilter(MultiViewWidget* p = 0) : QObject(p) , m_widget(p) {} signals: void activeWidget(QWidget* widget); protected: bool eventFilter(QObject* obj, QEvent* e) override { Q_ASSERT(m_widget); if (e->type() == QEvent::MouseButtonPress) { QWidget* w = qobject_cast(obj); if (w && w != m_widget->activeWidget()) { m_widget->setActiveWidget(w); return true; } } return QObject::eventFilter(obj, e); } MultiViewWidget* m_widget; }; MultiViewWidget::MultiViewWidget(QWidget* p, Qt::WindowFlags f) : QWidget(p, f) , m_factory(nullptr) , m_activeWidget(nullptr) , m_activeFilter(new ActiveWidgetFilter(this)) {} MultiViewWidget::~MultiViewWidget() {} void MultiViewWidget::addWidget(QWidget* widget) { if (widget) { ContainerWidget* container = createContainer(widget); m_children << container; if (m_children.size() == 1) { QVBoxLayout* widgetLayout = qobject_cast(layout()); if (!widgetLayout) { widgetLayout = new QVBoxLayout; widgetLayout->setContentsMargins(0, 0, 0, 0); setLayout(widgetLayout); } widgetLayout->addWidget(container); } widget->installEventFilter(m_activeFilter); setActiveWidget(widget); } } QWidget* MultiViewWidget::activeWidget() { return m_activeWidget; } void MultiViewWidget::setActiveWidget(QWidget* widget) { if (m_activeWidget != widget) { ContainerWidget* container(nullptr); if (m_activeWidget) container = qobject_cast(m_activeWidget->parentWidget()); if (container) container->setActive(false); m_activeWidget = widget; container = nullptr; if (widget) container = qobject_cast(widget->parentWidget()); if (container) container->setActive(true); emit activeWidgetChanged(widget); } } void MultiViewWidget::splitHorizontal() { ContainerWidget* container = qobject_cast(sender()); if (container) splitView(Qt::Horizontal, container); } void MultiViewWidget::splitVertical() { ContainerWidget* container = qobject_cast(sender()); if (container) splitView(Qt::Vertical, container); } void MultiViewWidget::createView() { QPushButton* button = qobject_cast(sender()); if (m_factory && button && button->parentWidget() && button->parentWidget()->parentWidget()) { QWidget* optionsWidget = button->parentWidget(); ContainerWidget* container = qobject_cast(optionsWidget->parentWidget()); if (container) { auto widget = m_factory->createView(button->property("name").toString()); if (widget) { widget->installEventFilter(m_activeFilter); container->layout()->removeWidget(optionsWidget); container->layout()->addWidget(widget); optionsWidget->deleteLater(); setActiveWidget(widget); } } } } void MultiViewWidget::removeView() { ContainerWidget* container = qobject_cast(sender()); if (container) { QSplitter* splitter = qobject_cast(container->parent()); if (splitter && splitter->count() == 2) { // Get its parent, and insert the other widget into it, delete this // widget. QSplitter* splitterParent = qobject_cast(splitter->parent()); QWidget* moveWidget = splitter->widget(0); if (moveWidget == container) moveWidget = splitter->widget(1); setActiveWidget(moveWidget); if (splitterParent) { int idx = splitterParent->indexOf(splitter); splitterParent->insertWidget(idx, moveWidget); splitter->deleteLater(); } else if (splitter->parent() == this) { // No more splits - back to single view widget. QVBoxLayout* layoutParent = qobject_cast(layout()); if (layoutParent) { layoutParent->addWidget(moveWidget); layoutParent->removeWidget(splitter); splitter->deleteLater(); } } } else if (container->parent() == this) { // Delete the current container, and create the option container. QVBoxLayout* vLayout = qobject_cast(layout()); container->deleteLater(); ContainerWidget* newContainer = createContainer(); vLayout->addWidget(newContainer); setActiveWidget(newContainer); } } } ContainerWidget* MultiViewWidget::createContainer(QWidget* widget) { ContainerWidget* container = new ContainerWidget; connect(container, SIGNAL(splitHorizontal()), SLOT(splitHorizontal())); connect(container, SIGNAL(splitVertical()), SLOT(splitVertical())); connect(container, SIGNAL(closeView()), SLOT(removeView())); if (widget) { container->setViewWidget(widget); } // If we have a factory, then create the options widget too! else if (m_factory) { QWidget* optionsWidget = new QWidget; QVBoxLayout* v = new QVBoxLayout; optionsWidget->setLayout(v); v->addStretch(); foreach (const QString& name, m_factory->views()) { QPushButton* button = new QPushButton(name); button->setProperty("name", name); button->setToolTip(tr("Create a new view")); connect(button, SIGNAL(clicked()), SLOT(createView())); QHBoxLayout* h = new QHBoxLayout; h->addStretch(); h->addWidget(button); h->addStretch(); v->addLayout(h); } v->addStretch(); container->layout()->addWidget(optionsWidget); } return container; } void MultiViewWidget::splitView(Qt::Orientation orient, ContainerWidget* container) { QVBoxLayout* widgetLayout = qobject_cast(container->parent()); QSplitter* split = qobject_cast(container->parent()); if (!widgetLayout) if (container->parent() == this) widgetLayout = qobject_cast(layout()); if (widgetLayout) { QSplitter* splitter = new QSplitter(orient, this); widgetLayout->removeWidget(container); widgetLayout->addWidget(splitter); splitter->addWidget(container); container = createContainer(); splitter->addWidget(container); QList sizes; int s = Qt::Horizontal ? splitter->size().width() / 2 : splitter->size().height() / 2; sizes << s << s; splitter->setSizes(sizes); } else if (split) { QSplitter* splitter = new QSplitter(orient, this); int idx = split->indexOf(container); splitter->addWidget(container); container = createContainer(); splitter->addWidget(container); split->insertWidget(idx, splitter); QList sizes; int s = Qt::Horizontal ? splitter->size().width() / 2 : splitter->size().height() / 2; sizes << s << s; splitter->setSizes(sizes); } } } // End QtGui namespace } // End Avogadro namespace #include "multiviewwidget.moc" avogadrolibs-1.93.0/avogadro/qtgui/multiviewwidget.h000066400000000000000000000043171360735163600226340ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_MULTIVIEWWIDGET_H #define AVOGADRO_QTGUI_MULTIVIEWWIDGET_H #include "avogadroqtguiexport.h" #include namespace Avogadro { namespace QtGui { class ContainerWidget; class ViewFactory; class ActiveWidgetFilter; /** * @class MultiViewWidget multiviewwidget.h * @brief A widget that contains other views, taking on responsibility for * defining the active view, the layout of the subviews and ownership of the * widgets. * @author Marcus D. Hanwell */ class AVOGADROQTGUI_EXPORT MultiViewWidget : public QWidget { Q_OBJECT public: explicit MultiViewWidget(QWidget* parent = 0, Qt::WindowFlags f = 0); ~MultiViewWidget() override; void addWidget(QWidget* widget); /** * @brief Get the currently active widget. * @return The active widget. */ QWidget* activeWidget(); void setActiveWidget(QWidget* widget); void setFactory(ViewFactory* factory) { m_factory = factory; } void setDefaultView(const QString& viewName) { m_defaultView = viewName; } signals: void activeWidgetChanged(QWidget* widget); public slots: void splitHorizontal(); void splitVertical(); void createView(); void removeView(); private: QList m_children; ViewFactory* m_factory; QString m_defaultView; QWidget* m_activeWidget; ActiveWidgetFilter* m_activeFilter; ContainerWidget* createContainer(QWidget* widget = 0); void splitView(Qt::Orientation orient, ContainerWidget* container); }; } // End QtGui namespace } // End Avogadro namespace #endif // AVOGADRO_QTGUI_MULTIVIEWWIDGET_H avogadrolibs-1.93.0/avogadro/qtgui/periodictablescene_p.cpp000066400000000000000000000116271360735163600241030ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007-2009 by Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "periodictablescene_p.h" #include "elementdetail_p.h" #include "elementitem_p.h" #include "elementtranslator.h" #include #include #include #include #include namespace Avogadro { namespace QtGui { PeriodicTableScene::PeriodicTableScene(QObject* parent_) : QGraphicsScene(parent_) { int width_ = 26; int height_ = 26; m_detail = new ElementDetail(1); m_detail->setPos(6.5 * width_, 0.75 * height_); addItem(m_detail); ElementItem* item = new ElementItem(1); item->setPos(0 * width_, 0 * height_); addItem(item); item = new ElementItem(2); item->setPos(17 * width_, 0 * height_); addItem(item); item = new ElementItem(3); item->setPos(0 * width_, 1 * height_); addItem(item); item = new ElementItem(4); item->setPos(1 * width_, 1 * height_); addItem(item); item = new ElementItem(5); item->setPos(12 * width_, 1 * height_); addItem(item); item = new ElementItem(6); item->setPos(13 * width_, 1 * height_); addItem(item); item = new ElementItem(7); item->setPos(14 * width_, 1 * height_); addItem(item); item = new ElementItem(8); item->setPos(15 * width_, 1 * height_); addItem(item); item = new ElementItem(9); item->setPos(16 * width_, 1 * height_); addItem(item); item = new ElementItem(10); item->setPos(17 * width_, 1 * height_); addItem(item); item = new ElementItem(11); item->setPos(0 * width_, 2 * height_); addItem(item); item = new ElementItem(12); item->setPos(1 * width_, 2 * height_); addItem(item); item = new ElementItem(13); item->setPos(12 * width_, 2 * height_); addItem(item); item = new ElementItem(14); item->setPos(13 * width_, 2 * height_); addItem(item); item = new ElementItem(15); item->setPos(14 * width_, 2 * height_); addItem(item); item = new ElementItem(16); item->setPos(15 * width_, 2 * height_); addItem(item); item = new ElementItem(17); item->setPos(16 * width_, 2 * height_); addItem(item); item = new ElementItem(18); item->setPos(17 * width_, 2 * height_); addItem(item); int element = 19; for (int i = 3; i < 5; ++i) { for (int j = 0; j < 18; ++j) { item = new ElementItem(element++); item->setPos(j * width_, i * height_); addItem(item); } } item = new ElementItem(element++); item->setPos(0 * width_, 5 * height_); addItem(item); item = new ElementItem(element++); item->setPos(1 * width_, 5 * height_); addItem(item); element = 71; for (int i = 2; i < 18; ++i) { item = new ElementItem(element++); item->setPos(i * width_, 5 * height_); addItem(item); } item = new ElementItem(element++); item->setPos(0 * width_, 6 * height_); addItem(item); item = new ElementItem(element++); item->setPos(1 * width_, 6 * height_); addItem(item); element = 103; // Goes up to element 118 for (int i = 2; i < 18; ++i) { item = new ElementItem(element++); item->setPos(i * width_, 6 * height_); addItem(item); } // Now for the weird ones at the bottom... element = 57; for (int i = 2; i < 16; ++i) { item = new ElementItem(element++); item->setPos(i * width_, 7.5 * height_); addItem(item); } element = 89; for (int i = 2; i < 16; ++i) { item = new ElementItem(element++); item->setPos(i * width_, 8.5 * height_); addItem(item); } } void PeriodicTableScene::mousePressEvent(QGraphicsSceneMouseEvent* event_) { if (event_->button() != Qt::LeftButton) return; QGraphicsItem* item = QGraphicsScene::itemAt(event_->scenePos(), QTransform()); if (item->data(0).toInt() > 0 && item->data(0).toInt() < 119) { emit(elementChanged(item->data(0).toInt())); m_detail->setElement(item->data(0).toInt()); } QGraphicsScene::mousePressEvent(event_); } void PeriodicTableScene::changeElement(int element) { // Find the item to select foreach (QGraphicsItem* item, items()) { if (item->data(0).toInt() == element) item->setSelected(true); else item->setSelected(false); } // Emit a signal the element changed, and update the detail item. emit(elementChanged(element)); m_detail->setElement(element); } } // End namespace QtGui } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/periodictablescene_p.h000066400000000000000000000035341360735163600235460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007-2009 by Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_PERIODICTABLESCENE_P_H #define AVOGADRO_QTGUI_PERIODICTABLESCENE_P_H #include namespace Avogadro { namespace QtGui { class ElementDetail; /** * @class PeriodicTableScene * @internal * @author Marcus D. Hanwell * @brief This class encapsulates the scene, all items are contained in it. * * This class implements a QGraphicsScene that holds all of the element items. * Any items owned by this class are automatically deleted by it. */ class PeriodicTableScene : public QGraphicsScene { Q_OBJECT public: /** Constructor. */ explicit PeriodicTableScene(QObject* parent = 0); signals: /** * This signal is emitted when an element item is clicked. */ void elementChanged(int element); public slots: /** * This slot is called when an element is changed (e.g., by keyboard or code). */ void changeElement(int element); protected: /** * Handles the mouse press events to change the active element. */ void mousePressEvent(QGraphicsSceneMouseEvent* event) override; private: ElementDetail* m_detail; }; } // End namespace QtGui } // End namespace Avogadro #endif // AVOGADRO_QTGUI_PERIODICTABLESCENE_P_H avogadrolibs-1.93.0/avogadro/qtgui/periodictableview.cpp000066400000000000000000000062331360735163600234360ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007-2009 by Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "periodictableview.h" #include "periodictablescene_p.h" #include #include #include namespace Avogadro { namespace QtGui { using Core::Elements; PeriodicTableView::PeriodicTableView(QWidget* parent_) : QGraphicsView(parent_), m_element(6) // Everyone loves carbon. { // Make the periodic table view a standard dialog. setWindowFlags(Qt::Dialog); PeriodicTableScene* table = new PeriodicTableScene; table->setSceneRect(-20, -20, 480, 260); table->setItemIndexMethod(QGraphicsScene::NoIndex); table->setBackgroundBrush(Qt::white); table->changeElement(m_element); setScene(table); setRenderHint(QPainter::Antialiasing); setWindowTitle(tr("Periodic Table")); resize(490, 270); connect(table, SIGNAL(elementChanged(int)), this, SLOT(elementClicked(int))); } PeriodicTableView::~PeriodicTableView() { delete scene(); } void PeriodicTableView::setElement(int element_) { m_element = element_; PeriodicTableScene* table = qobject_cast(scene()); if (table) table->changeElement(element_); } void PeriodicTableView::elementClicked(int id) { m_element = id; emit(elementChanged(id)); } void PeriodicTableView::mouseDoubleClickEvent(QMouseEvent*) { close(); } void PeriodicTableView::clearKeyPressBuffer() { m_keyPressBuffer.clear(); } void PeriodicTableView::keyPressEvent(QKeyEvent* event_) { if (m_keyPressBuffer.isEmpty()) { // This is the first character typed. // Qait for 2 seconds, then clear the buffer, // this ensures we can get multi-character elements. QTimer::singleShot(2000, this, SLOT(clearKeyPressBuffer())); } m_keyPressBuffer.append(event_->text()); // Try setting an element symbol from this string. int elem = m_keyPressBuffer.toInt(); if (elem <= 0 || elem > 119) { // Not a valid number, have we tried 2- and 3-character symbols? if (m_keyPressBuffer.length() > 3) { clearKeyPressBuffer(); } else { // try parsing as a symbol elem = static_cast( Elements::atomicNumberFromSymbol(m_keyPressBuffer.toLatin1().data())); } } // got a valid symbol if (elem > 0 && elem < 119) setElement(elem); QGraphicsView::keyPressEvent(event_); } void PeriodicTableView::resizeEvent(QResizeEvent* e) { double scale_(double(e->size().width()) / 500.0); QTransform scaleTransform(QTransform::fromScale(scale_, scale_)); setTransform(scaleTransform); } } // End QtGui namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/periodictableview.h000066400000000000000000000052131360735163600231000ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007-2009 by Marcus D. Hanwell Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_PERIODICTABLEVIEW_H #define AVOGADRO_QTGUI_PERIODICTABLEVIEW_H #include "avogadroqtguiexport.h" #include namespace Avogadro { namespace QtGui { /** * @class PeriodicTableView periodictableview.h * * @author Marcus D. Hanwell * @brief This class implements the view of the periodic table showing all * elements. * * This is the class that actually draws the widget onto screen. This is * the class that should normally be instantiated in order to display a * Periodic Table. */ class AVOGADROQTGUI_EXPORT PeriodicTableView : public QGraphicsView { Q_OBJECT public: /** * Constructor - constructs a new PeriodicTableView with an internal instance * of PeriodicTableScene. */ explicit PeriodicTableView(QWidget* parent_ = 0); ~PeriodicTableView() override; /** * @return The currently selected element. */ int element() const { return m_element; } public slots: /** * @param element_ The currently selected element. */ void setElement(int element_); /** * This slot is called to clear the key buffer (e.g. after a delay in typing). */ void clearKeyPressBuffer(); private slots: /** * Use this slot to change the active element. */ void elementClicked(int element); signals: /** * Signal emitted when the active element in the PeriodicTableView changes. */ void elementChanged(int element); protected: /** * Double click event - select an element and hide the PeriodicTableView. */ void mouseDoubleClickEvent(QMouseEvent* event) override; /** * Handles the keyboard events to change the active element. */ void keyPressEvent(QKeyEvent* event_) override; /** * Handle resize events. */ void resizeEvent(QResizeEvent* event) override; private: /** * Proton number of the active element. */ int m_element; QString m_keyPressBuffer; }; } // End of QtGui namespace } // End of Avogadro namespace #endif avogadrolibs-1.93.0/avogadro/qtgui/persistentatom.h000066400000000000000000000075361360735163600224720ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_PERSISTENTATOM_H #define AVOGADRO_QTGUI_PERSISTENTATOM_H #include namespace Avogadro { namespace QtGui { /** * @class PersistentAtom persistentatom.h * @brief The PersistentAtom object provides a container for a persistent atom * reference that can be held onto. The atom() method gets the underlying atom * using the unique ID mechanism of the molecule. */ template class PersistentAtom { public: typedef Molecule_T MoleculeType; typedef typename Molecule_T::AtomType AtomType; /** * @brief Create a persistent atom, with the specified unique id. * @param m The molecule the persistent atom belongs to. * @param uniqueId The unique identifier for the atom. */ explicit PersistentAtom(MoleculeType* m = nullptr, Index uniqueId = MaxIndex) : m_molecule(m), m_uniqueId(uniqueId) { } /** * @brief Create a persistent atom from a standard atom object. * @param a The atom that a persistent reference should be created for. */ explicit PersistentAtom(const AtomType& a); /** * @brief Set the molecule and unique ID for the persistent object. * @param m The molecule that contains the atom. * @param uniqueId The unique ID of the atom. */ void set(MoleculeType* m, Index uniqueId); /** * @brief Set the persistent atom from a standard atom object. * @param a The atom that a persistent reference should be created for. */ void set(const AtomType& a); /** * @brief Reset the object to an invalid state. */ void reset(); /** * @return True if the persistent atom is valid. */ bool isValid() const; /** * @return The molecule the atom is a part of. */ MoleculeType* molecule() const { return m_molecule; } /** * @brief The persistent unique ID of the atom. * @return The unique ID of the atom. */ Index uniqueIdentifier() const { return m_uniqueId; } /** * @brief Obtain the atom being held by the persistent object. * @return A reference to the atom held by the object. */ AtomType atom() const; private: MoleculeType* m_molecule; Index m_uniqueId; }; template PersistentAtom::PersistentAtom(const AtomType& a) : m_molecule(dynamic_cast(a.molecule())) { m_uniqueId = m_molecule ? m_molecule->atomUniqueId(a) : MaxIndex; } template void PersistentAtom::set(MoleculeType* m, Index uniqueId) { m_molecule = m; m_uniqueId = uniqueId; } template void PersistentAtom::set(const AtomType& a) { m_molecule = dynamic_cast(a.molecule()); m_uniqueId = m_molecule ? m_molecule->atomUniqueId(a) : MaxIndex; } template void PersistentAtom::reset() { set(nullptr, MaxIndex); } template bool PersistentAtom::isValid() const { return atom().isValid(); } template typename Molecule_T::AtomType PersistentAtom::atom() const { return m_molecule ? m_molecule->atomByUniqueId(m_uniqueId) : AtomType(); } } // End of QtGui namespace } // End of Avogadro namespace #endif // AVOGADRO_QTGUI_PERSISTENTATOM_H avogadrolibs-1.93.0/avogadro/qtgui/persistentbond.h000066400000000000000000000075361360735163600224540ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_PERSISTENTBOND_H #define AVOGADRO_QTGUI_PERSISTENTBOND_H #include namespace Avogadro { namespace QtGui { /** * @class PersistentBond persistentbond.h * @brief The PersistentBond object provides a container for a persistent bond * reference that can be held onto. The bond() method gets the underlying bond * using the unique ID mechanism of the molecule. */ template class PersistentBond { public: typedef Molecule_T MoleculeType; typedef typename Molecule_T::BondType BondType; /** * @brief Create a persistent bond, with the specified unique id. * @param m The molecule the persistent bond belongs to. * @param uniqueId The unique identifier for the bond. */ explicit PersistentBond(MoleculeType* m = nullptr, Index uniqueId = MaxIndex) : m_molecule(m), m_uniqueId(uniqueId) { } /** * @brief Create a persistent bond from a standard bond object. * @param b The bond that a persistent reference should be created for. */ explicit PersistentBond(const BondType& b); /** * @brief Set the molecule and unique ID for the persistent object. * @param m The molecule that contains the bond. * @param uniqueId The unique ID of the bond. */ void set(MoleculeType* m, Index uniqueId); /** * @brief Set the persistent bond from a standard bond object. * @param b The bond that a persistent reference should be created for. */ void set(const BondType& b); /** * @brief Reset the object to an invalid state. */ void reset(); /** * @return True if the persistent bond is valid. */ bool isValid() const; /** * @return The molecule the bond is a part of. */ MoleculeType* molecule() const { return m_molecule; } /** * @brief The persistent unique ID of the bond. * @return The unique ID of the bond. */ Index uniqueIdentifier() const { return m_uniqueId; } /** * @brief Obtain the bond being held by the persistent object. * @return A reference to the bond held by the object. */ BondType bond() const; private: MoleculeType* m_molecule; Index m_uniqueId; }; template PersistentBond::PersistentBond(const BondType& b) : m_molecule(dynamic_cast(b.molecule())) { m_uniqueId = m_molecule ? m_molecule->bondUniqueId(b) : MaxIndex; } template void PersistentBond::set(MoleculeType* m, Index uniqueId) { m_molecule = m; m_uniqueId = uniqueId; } template void PersistentBond::set(const BondType& b) { m_molecule = dynamic_cast(b.molecule()); m_uniqueId = m_molecule ? m_molecule->bondUniqueId(b) : MaxIndex; } template void PersistentBond::reset() { set(nullptr, MaxIndex); } template bool PersistentBond::isValid() const { return bond().isValid(); } template typename Molecule_T::BondType PersistentBond::bond() const { return m_molecule ? m_molecule->bondByUniqueId(m_uniqueId) : BondType(); } } // End of QtGui namespace } // End of Avogadro namespace #endif // AVOGADRO_QTGUI_PERSISTENTBOND_H avogadrolibs-1.93.0/avogadro/qtgui/pythonscript.cpp000066400000000000000000000117021360735163600225000ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "pythonscript.h" #include "avogadropython.h" #include #include #include #include namespace Avogadro { namespace QtGui { PythonScript::PythonScript(const QString& scriptFilePath_, QObject* parent_) : QObject(parent_) , m_debug(!qgetenv("AVO_PYTHON_SCRIPT_DEBUG").isEmpty()) , m_scriptFilePath(scriptFilePath_) { setDefaultPythonInterpretor(); } PythonScript::PythonScript(QObject* parent_) : QObject(parent_) , m_debug(!qgetenv("AVO_PYTHON_SCRIPT_DEBUG").isEmpty()) { setDefaultPythonInterpretor(); } PythonScript::~PythonScript() {} void PythonScript::setScriptFilePath(const QString& scriptFile) { m_scriptFilePath = scriptFile; } void PythonScript::setDefaultPythonInterpretor() { m_pythonInterpreter = qgetenv("AVO_PYTHON_INTERPRETER"); if (m_pythonInterpreter.isEmpty()) { m_pythonInterpreter = QSettings().value(QStringLiteral("interpreters/python")).toString(); } if (m_pythonInterpreter.isEmpty()) m_pythonInterpreter = pythonInterpreterPath; } QByteArray PythonScript::execute(const QStringList& args, const QByteArray& scriptStdin) { clearErrors(); QProcess proc; // Merge stdout and stderr proc.setProcessChannelMode(QProcess::MergedChannels); // Add debugging flag if needed. QStringList realArgs(args); if (m_debug) realArgs.prepend(QStringLiteral("--debug")); // Add the global language / locale to *all* calls realArgs.append("--lang"); realArgs.append(QLocale::system().name()); // Start script realArgs.prepend(m_scriptFilePath); if (m_debug) { qDebug() << "Executing" << m_pythonInterpreter << realArgs.join(QStringLiteral(" ")) << "<" << scriptStdin; } proc.start(m_pythonInterpreter, realArgs); // Write scriptStdin to the process's stdin if (!scriptStdin.isNull()) { if (!proc.waitForStarted(5000)) { m_errors << tr("Error running script '%1 %2': Timed out waiting for " "start (%3).") .arg(m_pythonInterpreter, realArgs.join(QStringLiteral(" ")), processErrorString(proc)); return QByteArray(); } qint64 len = proc.write(scriptStdin); if (len != static_cast(scriptStdin.size())) { m_errors << tr("Error running script '%1 %2': failed to write to stdin " "(len=%3, wrote %4 bytes, QProcess error: %5).") .arg(m_pythonInterpreter) .arg(realArgs.join(QStringLiteral(" "))) .arg(scriptStdin.size()) .arg(len) .arg(processErrorString(proc)); return QByteArray(); } proc.closeWriteChannel(); } if (!proc.waitForFinished(5000)) { m_errors << tr("Error running script '%1 %2': Timed out waiting for " "finish (%3).") .arg(m_pythonInterpreter, realArgs.join(QStringLiteral(" ")), processErrorString(proc)); return QByteArray(); } if (proc.exitStatus() != QProcess::NormalExit || proc.exitCode() != 0) { m_errors << tr("Error running script '%1 %2': Abnormal exit status %3 " "(%4: %5)\n\nOutput:\n%6") .arg(m_pythonInterpreter) .arg(realArgs.join(QStringLiteral(" "))) .arg(proc.exitCode()) .arg(processErrorString(proc)) .arg(proc.errorString()) .arg(QString(proc.readAll())); return QByteArray(); } QByteArray result(proc.readAll()); if (m_debug) qDebug() << "Output:" << result; return result; } QString PythonScript::processErrorString(const QProcess& proc) const { QString result; switch (proc.error()) { case QProcess::FailedToStart: result = tr("Script failed to start."); break; case QProcess::Crashed: result = tr("Script crashed."); break; case QProcess::Timedout: result = tr("Script timed out."); break; case QProcess::ReadError: result = tr("Read error."); break; case QProcess::WriteError: result = tr("Write error."); break; default: case QProcess::UnknownError: result = tr("Unknown error."); break; } return result; } } // namespace QtGui } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/pythonscript.h000066400000000000000000000062501360735163600221470ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_PYTHONSCRIPT_H #define AVOGADRO_QTGUI_PYTHONSCRIPT_H #include "avogadroqtguiexport.h" #include #include #include #include #include class QProcess; namespace Avogadro { namespace QtGui { /** * @brief The PythonScript class implements a interface for calling short-lived * python utility scripts. */ class AVOGADROQTGUI_EXPORT PythonScript : public QObject { Q_OBJECT public: /** * Constructors * @param scriptFilePath_ Absolute path to python script. * @{ */ explicit PythonScript(const QString& scriptFilePath_, QObject* parent_ = nullptr); explicit PythonScript(QObject* parent_ = nullptr); /**@}*/ ~PythonScript() override; /** * @return True if debugging of python I/O is enabled. */ bool debug() const { return m_debug; } /** * @return The path to the generator file. */ QString scriptFilePath() const { return m_scriptFilePath; } /** * Set the path to the input generator script file. This will reset any * cached data held by this class. */ void setScriptFilePath(const QString& scriptFile); /** * @return True if an error is set. */ bool hasErrors() const { return !m_errors.isEmpty(); } /** * Reset the error counter. */ void clearErrors() { m_errors.clear(); } /** * @return A QStringList containing all errors that occurred in the last call * to the input generator script. */ QStringList errorList() const { return m_errors; } /** * Reset the python interpretor path. The following are checked, in order: * - The AVO_PYTHON_INTERPRETER environment variable * - The "interpreters/python" QSettings value * - The path specified in avogadropython.h. */ void setDefaultPythonInterpretor(); /** * Start a new process to execute: * " [args ...]", * optionally passing scriptStdin to the processes standard input. Returns * the standard output of the process when finished. */ QByteArray execute(const QStringList& args, const QByteArray& scriptStdin = QByteArray()); public slots: /** * Enable/disable debugging. */ void setDebug(bool d) { m_debug = d; } protected: bool m_debug; QString m_pythonInterpreter; QString m_scriptFilePath; QStringList m_errors; private: QString processErrorString(const QProcess& proc) const; }; } // namespace QtGui } // namespace Avogadro #endif // AVOGADRO_QTGUI_PYTHONSCRIPT_H avogadrolibs-1.93.0/avogadro/qtgui/qtgui.qrc000066400000000000000000000031071360735163600210660ustar00rootroot00000000000000 icons/fallback/32x32/document-export.png icons/fallback/32x32/document-import.png icons/fallback/32x32/document-new.png icons/fallback/32x32/document-open-recent.png icons/fallback/32x32/document-open.png icons/fallback/32x32/document-save-all.png icons/fallback/32x32/document-save-as.png icons/fallback/32x32/document-save.png icons/fallback/32x32/edit-copy.png icons/fallback/32x32/edit-cut.png icons/fallback/32x32/edit-paste.png icons/fallback/32x32/edit-delete.png icons/fallback/32x32/help-about.png icons/fallback/64x64/document-export.png icons/fallback/64x64/document-import.png icons/fallback/64x64/document-new.png icons/fallback/64x64/document-open-recent.png icons/fallback/64x64/document-open.png icons/fallback/64x64/document-save-all.png icons/fallback/64x64/document-save-as.png icons/fallback/64x64/document-save.png icons/fallback/64x64/edit-copy.png icons/fallback/64x64/edit-cut.png icons/fallback/64x64/edit-paste.png icons/fallback/64x64/help-about.png icons/fallback/index.theme avogadrolibs-1.93.0/avogadro/qtgui/rwmolecule.cpp000066400000000000000000001230201360735163600221050ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013-2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "rwmolecule.h" #include #include #include #ifdef USE_SPGLIB #include #endif #include #include namespace Avogadro { namespace QtGui { using Core::Array; using Core::AtomHybridization; using Core::CrystalTools; using Core::UnitCell; // Base class for all undo commands used by this class. // Used to expose molecule internals without needing to add explicit friendships // between all undo commands and the container. // Subclasses that want to support automatic merging should use the // MergeUndoCommand interface below. // Subclass implementations are inline in the code below. Specific undo // operations are kept near the RWMolecule methods that use them. class RWMolecule::UndoCommand : public QUndoCommand { public: UndoCommand(RWMolecule& m) : QUndoCommand(tr("Modify Molecule")), m_mol(m) {} protected: Array& atomUniqueIds() { return m_mol.m_molecule.atomUniqueIds(); } Array& bondUniqueIds() { return m_mol.m_molecule.bondUniqueIds(); } Array& atomicNumbers() { return m_mol.m_molecule.atomicNumbers(); } Array& positions3d() { return m_mol.m_molecule.atomPositions3d(); } Array& hybridizations() { return m_mol.m_molecule.hybridizations(); } Array& formalCharges() { return m_mol.m_molecule.formalCharges(); } Array& colors() { return m_mol.m_molecule.colors(); } Array>& bondPairs() { return m_mol.m_molecule.bondPairs(); } Array& bondOrders() { return m_mol.m_molecule.bondOrders(); } Array& forceVectors() { return m_mol.m_molecule.forceVectors(); } RWMolecule& m_mol; }; namespace { enum MergeIds { SetPositions3dMergeId = 0, SetPosition3dMergeId, SetForceVectorMergeId, SetBondOrderMergeId }; // Base class for undo commands that can be merged together, overridding the // "after" state of an old command with that of the new command. // Intended for use with RWMolecule's interactive mode. // To add a new class, add a new entry to the MergeIds enum above and use that // symbolic value as the template parameter. Implement the mergeWith() method // to update the "after" state. See SetPositions3dCommand for an example. template class MergeUndoCommand : public RWMolecule::UndoCommand { bool m_canMerge; public: MergeUndoCommand(RWMolecule& m) : UndoCommand(m), m_canMerge(false) {} void setCanMerge(bool merge) { m_canMerge = merge; } bool canMerge() const { return m_canMerge; } int id() const override { return m_canMerge ? Id : -1; } }; } // namespace RWMolecule::RWMolecule(Molecule& mol, QObject* p) : QObject(p), m_molecule(mol) {} RWMolecule::~RWMolecule() {} namespace { class AddAtomCommand : public RWMolecule::UndoCommand { unsigned char m_atomicNumber; bool m_usingPositions; Index m_atomId; Index m_uniqueId; public: AddAtomCommand(RWMolecule& m, unsigned char aN, bool usingPositions, Index atomId, Index uid) : UndoCommand(m), m_atomicNumber(aN), m_usingPositions(usingPositions), m_atomId(atomId), m_uniqueId(uid) {} void redo() override { assert(atomicNumbers().size() == m_atomId); atomicNumbers().push_back(m_atomicNumber); if (m_usingPositions) positions3d().push_back(Vector3::Zero()); if (m_uniqueId >= atomUniqueIds().size()) atomUniqueIds().resize(m_uniqueId + 1, MaxIndex); atomUniqueIds()[m_uniqueId] = m_atomId; } void undo() override { assert(atomicNumbers().size() == m_atomId + 1); atomicNumbers().pop_back(); if (m_usingPositions) positions3d().resize(atomicNumbers().size(), Vector3::Zero()); atomUniqueIds()[m_uniqueId] = MaxIndex; } }; } // namespace RWMolecule::AtomType RWMolecule::addAtom(unsigned char num, bool usingPositions) { Index atomId = static_cast(m_molecule.m_atomicNumbers.size()); Index atomUid = static_cast(m_molecule.m_atomUniqueIds.size()); AddAtomCommand* comm = new AddAtomCommand(*this, num, usingPositions, atomId, atomUid); comm->setText(tr("Add Atom")); m_undoStack.push(comm); return AtomType(this, atomId); } RWMolecule::AtomType RWMolecule::addAtom(unsigned char num, const Vector3& position3d) { // We will combine the actions in this command. m_undoStack.beginMacro(tr("Add Atom")); AtomType atom = addAtom(num); setAtomPosition3d(atomCount() - 1, position3d); m_undoStack.endMacro(); return atom; } Index RWMolecule::atomCount(unsigned char num) const { return m_molecule.atomCount(num); } namespace { class RemoveAtomCommand : public RWMolecule::UndoCommand { Index m_atomId; Index m_atomUid; unsigned char m_atomicNumber; Vector3 m_position3d; public: RemoveAtomCommand(RWMolecule& m, Index atomId, Index uid, unsigned char aN, const Vector3& pos) : UndoCommand(m), m_atomId(atomId), m_atomUid(uid), m_atomicNumber(aN), m_position3d(pos) {} void redo() override { assert(m_atomUid < atomUniqueIds().size()); atomUniqueIds()[m_atomUid] = MaxIndex; // Move the last atom to the removed atom's position: Index movedId = m_mol.atomCount() - 1; if (m_atomId != movedId) { atomicNumbers()[m_atomId] = atomicNumbers().back(); if (positions3d().size() == atomicNumbers().size()) positions3d()[m_atomId] = positions3d().back(); // Update any bond pairs that have changed: Array atomBonds = m_mol.bonds(movedId); for (Array::const_iterator it = atomBonds.begin(), itEnd = atomBonds.end(); it != itEnd; ++it) { std::pair& bondPair = bondPairs()[it->index()]; if (bondPair.first == movedId) bondPair.first = m_atomId; else bondPair.second = m_atomId; } // Update the moved atom's uid Index movedUid = m_mol.atomUniqueId(movedId); assert(movedUid != MaxIndex); atomUniqueIds()[movedUid] = m_atomId; } // Resize the arrays: if (positions3d().size() == atomicNumbers().size()) positions3d().resize(movedId, Vector3::Zero()); atomicNumbers().resize(movedId, 0); } void undo() override { // Append removed atom's info to the end of the arrays: if (positions3d().size() == atomicNumbers().size()) positions3d().push_back(m_position3d); atomicNumbers().push_back(m_atomicNumber); // Swap the moved and unremoved atom data if needed Index movedId = m_mol.atomCount() - 1; if (m_atomId != movedId) { using std::swap; if (positions3d().size() == atomicNumbers().size()) swap(positions3d()[m_atomId], positions3d().back()); swap(atomicNumbers()[m_atomId], atomicNumbers().back()); // Update any bond pairs that have changed: Array atomBonds(m_mol.bonds(m_atomId)); for (Array::iterator it = atomBonds.begin(), itEnd = atomBonds.end(); it != itEnd; ++it) { std::pair& bondPair = bondPairs()[it->index()]; if (bondPair.first == m_atomId) bondPair.first = movedId; else bondPair.second = movedId; } // Update the moved atom's UID Index movedUid = m_mol.atomUniqueId(m_atomId); assert(movedUid != MaxIndex); atomUniqueIds()[movedUid] = movedId; } // Update the removed atom's UID atomUniqueIds()[m_atomUid] = m_atomId; } }; } // namespace bool RWMolecule::removeAtom(Index atomId) { if (atomId >= atomCount()) return false; Index uniqueId = findAtomUniqueId(atomId); if (uniqueId == MaxIndex) return false; // Lump all operations into a single undo command: m_undoStack.beginMacro(tr("Remove Atom")); // Remove any bonds containing this atom first. Array atomBonds = bonds(atomId); while (atomBonds.size()) { // Ensure that indices aren't invalidated as we remove them: assert("atomBonds have ascending indices" && (atomBonds.size() == 1 || ((atomBonds.end() - 2)->index() < (atomBonds.end() - 1)->index()))); removeBond(atomBonds.back()); atomBonds.pop_back(); } RemoveAtomCommand* comm = new RemoveAtomCommand( *this, atomId, uniqueId, atomicNumber(atomId), atomPosition3d(atomId)); comm->setText(tr("Remove Atom")); m_undoStack.push(comm); m_undoStack.endMacro(); return true; } void RWMolecule::clearAtoms() { m_undoStack.beginMacro(tr("Clear Atoms")); while (atomCount() != 0) removeAtom(0); m_undoStack.endMacro(); } void RWMolecule::adjustHydrogens(Index atomId) { RWAtom atom = this->atom(atomId); if (atom.isValid()) { m_undoStack.beginMacro(tr("Adjust Hydrogens")); QtGui::HydrogenTools::adjustHydrogens(atom); m_undoStack.endMacro(); } } void RWMolecule::adjustHydrogens(const Core::Array& atomIds) { m_undoStack.beginMacro(tr("Adjust Hydrogens")); for (Index i = 0; i < atomIds.size(); ++i) { adjustHydrogens(atomIds[i]); } m_undoStack.endMacro(); } namespace { class SetAtomicNumbersCommand : public RWMolecule::UndoCommand { Core::Array m_oldAtomicNumbers; Core::Array m_newAtomicNumbers; public: SetAtomicNumbersCommand(RWMolecule& m, const Core::Array& oldAtomicNumbers, const Core::Array& newAtomicNumbers) : UndoCommand(m), m_oldAtomicNumbers(oldAtomicNumbers), m_newAtomicNumbers(newAtomicNumbers) {} void redo() override { atomicNumbers() = m_newAtomicNumbers; } void undo() override { atomicNumbers() = m_oldAtomicNumbers; } }; } // namespace bool RWMolecule::setAtomicNumbers(const Core::Array& nums) { if (nums.size() != m_molecule.m_atomicNumbers.size()) return false; SetAtomicNumbersCommand* comm = new SetAtomicNumbersCommand(*this, m_molecule.m_atomicNumbers, nums); comm->setText(tr("Change Elements")); m_undoStack.push(comm); return true; } namespace { class SetAtomicNumberCommand : public RWMolecule::UndoCommand { Index m_atomId; unsigned char m_oldAtomicNumber; unsigned char m_newAtomicNumber; public: SetAtomicNumberCommand(RWMolecule& m, Index atomId, unsigned char oldAtomicNumber, unsigned char newAtomicNumber) : UndoCommand(m), m_atomId(atomId), m_oldAtomicNumber(oldAtomicNumber), m_newAtomicNumber(newAtomicNumber) {} void redo() override { atomicNumbers()[m_atomId] = m_newAtomicNumber; } void undo() override { atomicNumbers()[m_atomId] = m_oldAtomicNumber; } }; } // namespace bool RWMolecule::setAtomicNumber(Index atomId, unsigned char num) { if (atomId >= atomCount()) return false; SetAtomicNumberCommand* comm = new SetAtomicNumberCommand( *this, atomId, m_molecule.m_atomicNumbers[atomId], num); comm->setText(tr("Change Element")); m_undoStack.push(comm); return true; } namespace { class SetPositions3dCommand : public MergeUndoCommand { Core::Array m_oldPositions3d; Core::Array m_newPositions3d; public: SetPositions3dCommand(RWMolecule& m, const Core::Array& oldPositions3d, const Core::Array& newPositions3d) : MergeUndoCommand(m), m_oldPositions3d(oldPositions3d), m_newPositions3d(newPositions3d) {} void redo() override { positions3d() = m_newPositions3d; } void undo() override { positions3d() = m_oldPositions3d; } bool mergeWith(const QUndoCommand* other) override { const SetPositions3dCommand* o = dynamic_cast(other); if (o) { m_newPositions3d = o->m_newPositions3d; return true; } return false; } }; } // namespace bool RWMolecule::setAtomPositions3d(const Core::Array& pos, const QString& undoText) { if (pos.size() != m_molecule.m_atomicNumbers.size()) return false; SetPositions3dCommand* comm = new SetPositions3dCommand(*this, m_molecule.m_positions3d, pos); comm->setText(undoText); comm->setCanMerge(m_interactive); m_undoStack.push(comm); return true; } namespace { class SetPosition3dCommand : public MergeUndoCommand { Array m_atomIds; Array m_oldPosition3ds; Array m_newPosition3ds; public: SetPosition3dCommand(RWMolecule& m, Index atomId, const Vector3& oldPosition3d, const Vector3& newPosition3d) : MergeUndoCommand(m), m_atomIds(1, atomId), m_oldPosition3ds(1, oldPosition3d), m_newPosition3ds(1, newPosition3d) {} void redo() override { for (size_t i = 0; i < m_atomIds.size(); ++i) positions3d()[m_atomIds[i]] = m_newPosition3ds[i]; } void undo() override { for (size_t i = 0; i < m_atomIds.size(); ++i) positions3d()[m_atomIds[i]] = m_oldPosition3ds[i]; } bool mergeWith(const QUndoCommand* o) override { const SetPosition3dCommand* other = dynamic_cast(o); if (!other) return false; size_t numAtoms = other->m_atomIds.size(); if (numAtoms != other->m_oldPosition3ds.size() || numAtoms != other->m_newPosition3ds.size()) { return false; } for (size_t i = 0; i < numAtoms; ++i) { const Index& atomId = other->m_atomIds[i]; const Vector3& oldPos = other->m_oldPosition3ds[i]; const Vector3& newPos = other->m_newPosition3ds[i]; Array::const_iterator idsBegin = m_atomIds.begin(); Array::const_iterator idsEnd = m_atomIds.end(); Array::const_iterator match = std::find(idsBegin, idsEnd, atomId); if (match == idsEnd) { // Append a new atom: m_atomIds.push_back(atomId); m_oldPosition3ds.push_back(oldPos); m_newPosition3ds.push_back(newPos); } else { // Overwrite the existing movement: size_t offset = std::distance(idsBegin, match); assert(m_atomIds[offset] == atomId); m_newPosition3ds[offset] = newPos; } } return true; } }; } // namespace bool RWMolecule::setAtomPosition3d(Index atomId, const Vector3& pos, const QString& undoText) { if (atomId >= atomCount()) return false; if (m_molecule.m_positions3d.size() != m_molecule.m_atomicNumbers.size()) m_molecule.m_positions3d.resize(m_molecule.m_atomicNumbers.size(), Vector3::Zero()); SetPosition3dCommand* comm = new SetPosition3dCommand( *this, atomId, m_molecule.m_positions3d[atomId], pos); comm->setText(undoText); comm->setCanMerge(m_interactive); m_undoStack.push(comm); return true; } void RWMolecule::setAtomSelected(Index atomId, bool selected) { // FIXME: Add in an implementation (and use it from the selection tool). m_molecule.setAtomSelected(atomId, selected); } bool RWMolecule::atomSelected(Index atomId) const { return m_molecule.atomSelected(atomId); } namespace { class SetAtomHybridizationCommand : public RWMolecule::UndoCommand { Index m_atomId; Core::AtomHybridization m_oldHybridization; Core::AtomHybridization m_newHybridization; public: SetAtomHybridizationCommand(RWMolecule& m, Index atomId, Core::AtomHybridization oldHybridization, Core::AtomHybridization newHybridization) : UndoCommand(m), m_atomId(atomId), m_oldHybridization(oldHybridization), m_newHybridization(newHybridization) {} void redo() override { hybridizations()[m_atomId] = m_newHybridization; } void undo() override { hybridizations()[m_atomId] = m_oldHybridization; } }; } // namespace bool RWMolecule::setHybridization(Index atomId, Core::AtomHybridization hyb) { if (atomId >= atomCount()) return false; SetAtomicNumberCommand* comm = new SetAtomicNumberCommand( *this, atomId, m_molecule.hybridization(atomId), hyb); comm->setText(tr("Change Atom Hybridization")); m_undoStack.push(comm); return true; } namespace { class SetAtomFormalChargeCommand : public RWMolecule::UndoCommand { Index m_atomId; signed char m_oldCharge; signed char m_newCharge; public: SetAtomFormalChargeCommand(RWMolecule& m, Index atomId, signed char oldCharge, signed char newCharge) : UndoCommand(m), m_atomId(atomId), m_oldCharge(oldCharge), m_newCharge(newCharge) {} void redo() override { formalCharges()[m_atomId] = m_newCharge; } void undo() override { formalCharges()[m_atomId] = m_oldCharge; } }; } // namespace bool RWMolecule::setFormalCharge(Index atomId, signed char charge) { if (atomId >= atomCount()) return false; SetAtomFormalChargeCommand* comm = new SetAtomFormalChargeCommand( *this, atomId, m_molecule.formalCharge(atomId), charge); comm->setText(tr("Change Atom Formal Charge")); m_undoStack.push(comm); return true; } namespace { class SetAtomColorCommand : public RWMolecule::UndoCommand { Index m_atomId; Vector3ub m_oldColor; Vector3ub m_newColor; public: SetAtomColorCommand(RWMolecule& m, Index atomId, Vector3ub oldColor, Vector3ub newColor) : UndoCommand(m), m_atomId(atomId), m_oldColor(oldColor), m_newColor(newColor) {} void redo() override { colors()[m_atomId] = m_newColor; } void undo() override { colors()[m_atomId] = m_oldColor; } }; } // end namespace bool RWMolecule::setColor(Index atomId, Vector3ub color) { if (atomId >= atomCount()) return false; SetAtomColorCommand* comm = new SetAtomColorCommand(*this, atomId, m_molecule.color(atomId), color); comm->setText(tr("Change Atom Color")); m_undoStack.push(comm); return true; } namespace { class AddBondCommand : public RWMolecule::UndoCommand { unsigned char m_bondOrder; std::pair m_bondPair; Index m_bondId; Index m_uniqueId; public: AddBondCommand(RWMolecule& m, unsigned char order, const std::pair& bondPair, Index bondId, Index uid) : UndoCommand(m), m_bondOrder(order), m_bondPair(bondPair), m_bondId(bondId), m_uniqueId(uid) {} void redo() override { assert(bondOrders().size() == m_bondId); assert(bondPairs().size() == m_bondId); bondOrders().push_back(m_bondOrder); bondPairs().push_back(m_bondPair); if (m_uniqueId >= bondUniqueIds().size()) bondUniqueIds().resize(m_uniqueId + 1, MaxIndex); bondUniqueIds()[m_uniqueId] = m_bondId; } void undo() override { assert(bondOrders().size() == m_bondId + 1); assert(bondPairs().size() == m_bondId + 1); bondOrders().pop_back(); bondPairs().pop_back(); bondUniqueIds()[m_uniqueId] = MaxIndex; } }; // Make an std::pair where the lower index is always first in the pair. This // offers us the guarantee that any given pair of atoms will always result in // a pair that is the same no matter what the order of the atoms given. inline std::pair makeBondPair(Index a, Index b) { return a < b ? std::make_pair(a, b) : std::make_pair(b, a); } } // namespace RWMolecule::BondType RWMolecule::addBond(Index atom1, Index atom2, unsigned char order) { if (atom1 == atom2 || std::max(atom1, atom2) >= atomCount()) return BondType(); Index bondId = bondCount(); Index bondUid = static_cast(m_molecule.m_bondUniqueIds.size()); AddBondCommand* comm = new AddBondCommand( *this, order, makeBondPair(atom1, atom2), bondId, bondUid); comm->setText(tr("Add Bond")); m_undoStack.push(comm); return BondType(this, bondId); } RWMolecule::BondType RWMolecule::bond(Index atom1, Index atom2) const { Molecule::BondType b = m_molecule.bond(atom1, atom2); if (b.isValid()) return BondType(const_cast(this), b.index()); else return BondType(); } namespace { class RemoveBondCommand : public RWMolecule::UndoCommand { Index m_bondId; Index m_bondUid; std::pair m_bondPair; unsigned char m_bondOrder; public: RemoveBondCommand(RWMolecule& m, Index bondId, Index bondUid, const std::pair& bondPair, unsigned char bondOrder) : UndoCommand(m), m_bondId(bondId), m_bondUid(bondUid), m_bondPair(bondPair), m_bondOrder(bondOrder) {} void redo() override { // Clear removed bond's UID bondUniqueIds()[m_bondUid] = MaxIndex; // Move the last bond's data to the removed bond's index: Index movedId = m_mol.bondCount() - 1; if (m_bondId != movedId) { bondOrders()[m_bondId] = bondOrders().back(); bondPairs()[m_bondId] = bondPairs().back(); // Update moved bond's UID Index movedUid = m_mol.bondUniqueId(movedId); assert(movedUid != MaxIndex); bondUniqueIds()[movedUid] = m_bondId; } bondOrders().pop_back(); bondPairs().pop_back(); } void undo() override { // Push the removed bond's info to the end of the arrays: bondOrders().push_back(m_bondOrder); bondPairs().push_back(m_bondPair); // Swap with the bond that we moved in redo(): Index movedId = m_mol.bondCount() - 1; if (m_bondId != movedId) { using std::swap; swap(bondOrders()[m_bondId], bondOrders().back()); swap(bondPairs()[m_bondId], bondPairs().back()); // Update moved bond's UID Index movedUid = m_mol.bondUniqueId(m_bondId); assert(movedUid != MaxIndex); bondUniqueIds()[movedUid] = movedId; } // Restore the removed bond's UID bondUniqueIds()[m_bondUid] = m_bondId; } }; } // namespace bool RWMolecule::removeBond(Index bondId) { if (bondId >= bondCount()) return false; Index bondUid = findBondUniqueId(bondId); if (bondUid == MaxIndex) return false; RemoveBondCommand* comm = new RemoveBondCommand( *this, bondId, bondUid, m_molecule.m_bondPairs[bondId], m_molecule.m_bondOrders[bondId]); comm->setText(tr("Removed Bond")); m_undoStack.push(comm); return true; } void RWMolecule::clearBonds() { m_undoStack.beginMacro(tr("Clear Bonds")); while (bondCount() != 0) removeBond(0); m_undoStack.endMacro(); } namespace { class SetBondOrdersCommand : public RWMolecule::UndoCommand { Array m_oldBondOrders; Array m_newBondOrders; public: SetBondOrdersCommand(RWMolecule& m, const Array& oldBondOrders, const Array& newBondOrders) : UndoCommand(m), m_oldBondOrders(oldBondOrders), m_newBondOrders(newBondOrders) {} void redo() override { bondOrders() = m_newBondOrders; } void undo() override { bondOrders() = m_oldBondOrders; } }; } // namespace bool RWMolecule::setBondOrders(const Core::Array& orders) { if (orders.size() != m_molecule.m_bondOrders.size()) return false; SetBondOrdersCommand* comm = new SetBondOrdersCommand(*this, m_molecule.m_bondOrders, orders); comm->setText(tr("Set Bond Orders")); m_undoStack.push(comm); return true; } namespace { class SetBondOrderCommand : public MergeUndoCommand { Index m_bondId; unsigned char m_oldBondOrder; unsigned char m_newBondOrder; public: SetBondOrderCommand(RWMolecule& m, Index bondId, unsigned char oldBondOrder, unsigned char newBondOrder) : MergeUndoCommand(m), m_bondId(bondId), m_oldBondOrder(oldBondOrder), m_newBondOrder(newBondOrder) {} void redo() override { bondOrders()[m_bondId] = m_newBondOrder; } void undo() override { bondOrders()[m_bondId] = m_oldBondOrder; } bool mergeWith(const QUndoCommand* other) override { const SetBondOrderCommand* o = dynamic_cast(other); // Only merge when the bondIds match. if (o && o->m_bondId == this->m_bondId) { this->m_newBondOrder = o->m_newBondOrder; return true; } return false; } }; } // namespace bool RWMolecule::setBondOrder(Index bondId, unsigned char order) { if (bondId >= bondCount()) return false; SetBondOrderCommand* comm = new SetBondOrderCommand( *this, bondId, m_molecule.m_bondOrders[bondId], order); comm->setText(tr("Change Bond Order")); // Always allow merging, but only if bondId is the same. comm->setCanMerge(true); m_undoStack.push(comm); return true; } namespace { class SetBondPairsCommand : public RWMolecule::UndoCommand { Array> m_oldBondPairs; Array> m_newBondPairs; public: SetBondPairsCommand(RWMolecule& m, const Array>& oldBondPairs, const Array>& newBondPairs) : UndoCommand(m), m_oldBondPairs(oldBondPairs), m_newBondPairs(newBondPairs) {} void redo() override { bondPairs() = m_newBondPairs; } void undo() override { bondPairs() = m_oldBondPairs; } }; } // namespace bool RWMolecule::setBondPairs(const Array>& pairs) { if (pairs.size() != m_molecule.m_bondPairs.size()) return false; // Correct any pairs that are ordered improperly: typedef std::pair BondPair; Array p(pairs); // Use for reading to prevent copies unless needed (Array is copy-on-write): const Array& p_const = p; using std::swap; for (size_t i = 0; i < p.size(); ++i) if (p_const[i].first > p_const[i].second) swap(p[i].first, p[i].second); SetBondPairsCommand* comm = new SetBondPairsCommand(*this, m_molecule.m_bondPairs, p); comm->setText(tr("Update Bonds")); m_undoStack.push(comm); return true; } namespace { class SetBondPairCommand : public RWMolecule::UndoCommand { Index m_bondId; std::pair m_oldBondPair; std::pair m_newBondPair; public: SetBondPairCommand(RWMolecule& m, Index bondId, const std::pair& oldBondPair, const std::pair& newBondPair) : UndoCommand(m), m_bondId(bondId), m_oldBondPair(oldBondPair), m_newBondPair(newBondPair) {} void redo() override { bondPairs()[m_bondId] = m_newBondPair; } void undo() override { bondPairs()[m_bondId] = m_oldBondPair; } }; } // namespace bool RWMolecule::setBondPair(Index bondId, const std::pair& pair) { if (bondId >= bondCount() || pair.first == pair.second) return false; SetBondPairCommand* comm = nullptr; if (pair.first < pair.second) { comm = new SetBondPairCommand(*this, bondId, m_molecule.m_bondPairs[bondId], pair); } else { comm = new SetBondPairCommand(*this, bondId, m_molecule.m_bondPairs[bondId], makeBondPair(pair.first, pair.second)); } comm->setText(tr("Update Bond")); m_undoStack.push(comm); return true; } namespace { class AddUnitCellCommand : public RWMolecule::UndoCommand { UnitCell m_newUnitCell; public: AddUnitCellCommand(RWMolecule& m, const UnitCell& newUnitCell) : UndoCommand(m), m_newUnitCell(newUnitCell) {} void redo() override { m_mol.molecule().setUnitCell(new UnitCell(m_newUnitCell)); } void undo() override { m_mol.molecule().setUnitCell(nullptr); } }; } // namespace void RWMolecule::addUnitCell() { // If there is already a unit cell, there is nothing to do if (m_molecule.unitCell()) return; UnitCell* cell = new UnitCell; cell->setCellParameters( static_cast(3.0), static_cast(3.0), static_cast(3.0), static_cast(90.0) * DEG_TO_RAD, static_cast(90.0) * DEG_TO_RAD, static_cast(90.0) * DEG_TO_RAD); m_molecule.setUnitCell(cell); AddUnitCellCommand* comm = new AddUnitCellCommand(*this, *m_molecule.unitCell()); comm->setText(tr("Add Unit Cell")); m_undoStack.push(comm); emitChanged(Molecule::UnitCell | Molecule::Added); } namespace { class RemoveUnitCellCommand : public RWMolecule::UndoCommand { UnitCell m_oldUnitCell; public: RemoveUnitCellCommand(RWMolecule& m, const UnitCell& oldUnitCell) : UndoCommand(m), m_oldUnitCell(oldUnitCell) {} void redo() override { m_mol.molecule().setUnitCell(nullptr); } void undo() override { m_mol.molecule().setUnitCell(new UnitCell(m_oldUnitCell)); } }; } // namespace void RWMolecule::removeUnitCell() { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return; RemoveUnitCellCommand* comm = new RemoveUnitCellCommand(*this, *m_molecule.unitCell()); comm->setText(tr("Remove Unit Cell")); m_undoStack.push(comm); m_molecule.setUnitCell(nullptr); emitChanged(Molecule::UnitCell | Molecule::Removed); } namespace { class ModifyMoleculeCommand : public RWMolecule::UndoCommand { Molecule m_oldMolecule; Molecule m_newMolecule; public: ModifyMoleculeCommand(RWMolecule& m, const Molecule& oldMolecule, const Molecule& newMolecule) : UndoCommand(m), m_oldMolecule(oldMolecule), m_newMolecule(newMolecule) {} void redo() override { m_mol.molecule() = m_newMolecule; } void undo() override { m_mol.molecule() = m_oldMolecule; } }; } // namespace void RWMolecule::modifyMolecule(const Molecule& newMolecule, Molecule::MoleculeChanges changes, const QString& undoText) { ModifyMoleculeCommand* comm = new ModifyMoleculeCommand(*this, m_molecule, newMolecule); comm->setText(undoText); m_undoStack.push(comm); m_molecule = newMolecule; emitChanged(changes); } void RWMolecule::appendMolecule(const Molecule& mol, const QString& undoText) { // We add atoms and bonds, nothing else Molecule::MoleculeChanges changes = (Molecule::Atoms | Molecule::Bonds | Molecule::Added); beginMergeMode(undoText); // loop through and add the atoms Index offset = atomCount(); for (size_t i = 0; i < mol.atomCount(); ++i) { Core::Atom atom = mol.atom(i); addAtom(atom.atomicNumber(), atom.position3d()); setAtomSelected(atomCount() - 1, true); } // now loop through and add the bonds for (size_t i = 0; i < mol.bondCount(); ++i) { Core::Bond bond = mol.bond(i); addBond(bond.atom1().index() + offset, bond.atom2().index() + offset, bond.order()); } endMergeMode(); emitChanged(changes); } void RWMolecule::editUnitCell(Matrix3 cellMatrix, CrystalTools::Options options) { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return; // Make a copy of the molecule to edit so we can store the old one // If the user has "TransformAtoms" set in the options, then // the atom positions will move as well. Molecule newMolecule = m_molecule; CrystalTools::setCellMatrix(newMolecule, cellMatrix, options); // We will just modify the whole molecule since there may be many changes Molecule::MoleculeChanges changes = Molecule::UnitCell | Molecule::Modified; // If TransformAtoms is set in the options, then the atoms may be modified // as well. if (options & CrystalTools::TransformAtoms) changes |= Molecule::Atoms | Molecule::Modified; QString undoText = tr("Edit Unit Cell"); modifyMolecule(newMolecule, changes, undoText); } void RWMolecule::wrapAtomsToCell() { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return; Core::Array oldPos = m_molecule.atomPositions3d(); CrystalTools::wrapAtomsToUnitCell(m_molecule); Core::Array newPos = m_molecule.atomPositions3d(); SetPositions3dCommand* comm = new SetPositions3dCommand(*this, oldPos, newPos); comm->setText(tr("Wrap Atoms to Cell")); m_undoStack.push(comm); Molecule::MoleculeChanges changes = Molecule::Atoms | Molecule::Modified; emitChanged(changes); } void RWMolecule::setCellVolume(double newVolume, CrystalTools::Options options) { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return; // Make a copy of the molecule to edit so we can store the old one // The unit cell and atom positions may change Molecule newMolecule = m_molecule; CrystalTools::setVolume(newMolecule, newVolume, options); // We will just modify the whole molecule since there may be many changes Molecule::MoleculeChanges changes = Molecule::UnitCell | Molecule::Modified; if (options & CrystalTools::TransformAtoms) changes |= Molecule::Atoms | Molecule::Modified; QString undoText = tr("Scale Cell Volume"); modifyMolecule(newMolecule, changes, undoText); } void RWMolecule::buildSupercell(unsigned int a, unsigned int b, unsigned int c) { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return; // Make a copy of the molecule to edit so we can store the old one // The unit cell and atom positions may change Molecule newMolecule = m_molecule; CrystalTools::buildSupercell(newMolecule, a, b, c); // We will just modify the whole molecule since there may be many changes Molecule::MoleculeChanges changes = Molecule::UnitCell | Molecule::Modified | Molecule::Atoms | Molecule::Added; QString undoText = tr("Build Super Cell"); modifyMolecule(newMolecule, changes, undoText); } void RWMolecule::niggliReduceCell() { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return; // Make a copy of the molecule to edit so we can store the old one // The unit cell and atom positions may change Molecule newMolecule = m_molecule; // We need to perform all three of these operations... CrystalTools::niggliReduce(newMolecule, CrystalTools::TransformAtoms); CrystalTools::rotateToStandardOrientation(newMolecule, CrystalTools::TransformAtoms); CrystalTools::wrapAtomsToUnitCell(newMolecule); // We will just modify the whole molecule since there may be many changes Molecule::MoleculeChanges changes = Molecule::UnitCell | Molecule::Atoms | Molecule::Modified; QString undoText = tr("Niggli Reduction"); modifyMolecule(newMolecule, changes, undoText); } void RWMolecule::rotateCellToStandardOrientation() { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return; // Store a copy of the old molecule // The atom positions may move as well. Molecule newMolecule = m_molecule; CrystalTools::rotateToStandardOrientation(newMolecule, CrystalTools::TransformAtoms); // Since most components of the molecule will be modified (atom positions // and the unit cell), we will just modify the whole thing... Molecule::MoleculeChanges changes = Molecule::UnitCell | Molecule::Atoms | Molecule::Modified; QString undoText = tr("Rotate to Standard Orientation"); modifyMolecule(newMolecule, changes, undoText); } bool RWMolecule::reduceCellToPrimitive(double cartTol) { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return false; // Make a copy of the molecule to edit so we can store the old one // The unit cell, atom positions, and numbers of atoms may change Molecule newMolecule = m_molecule; #ifdef USE_SPGLIB if (!Core::AvoSpglib::reduceToPrimitive(newMolecule, cartTol)) return false; #else return false; #endif // Since most components of the molecule will be modified, // we will just modify the whole thing... Molecule::MoleculeChanges changes = Molecule::UnitCell | Molecule::Atoms | Molecule::Added; QString undoText = tr("Reduce to Primitive"); modifyMolecule(newMolecule, changes, undoText); return true; } bool RWMolecule::conventionalizeCell(double cartTol) { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return false; // Make a copy of the molecule to edit so we can store the old one // The unit cell, atom positions, and numbers of atoms may all change Molecule newMolecule = m_molecule; #ifdef USE_SPGLIB if (!Core::AvoSpglib::conventionalizeCell(newMolecule, cartTol)) return false; #else return false; #endif Molecule::MoleculeChanges changes = Molecule::UnitCell | Molecule::Atoms | Molecule::Added; QString undoText = tr("Conventionalize Cell"); modifyMolecule(newMolecule, changes, undoText); return true; } bool RWMolecule::symmetrizeCell(double cartTol) { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return false; // Make a copy of the molecule to edit so we can store the old one // The unit cell, atom positions, and numbers of atoms may all change Molecule newMolecule = m_molecule; #ifdef USE_SPGLIB if (!Core::AvoSpglib::symmetrize(newMolecule, cartTol)) return false; #else return false; #endif Molecule::MoleculeChanges changes = Molecule::UnitCell | Molecule::Atoms | Molecule::Added; QString undoText = tr("Symmetrize Cell"); modifyMolecule(newMolecule, changes, undoText); return true; } bool RWMolecule::fillUnitCell(unsigned short hallNumber, double cartTol) { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return false; // Make a copy of the molecule to edit so we can store the old one // The atom positions and numbers of atoms may change Molecule newMolecule = m_molecule; Core::SpaceGroups::fillUnitCell(newMolecule, hallNumber, cartTol); Molecule::MoleculeChanges changes = Molecule::Added | Molecule::Atoms; QString undoText = tr("Fill Unit Cell"); modifyMolecule(newMolecule, changes, undoText); return true; } bool RWMolecule::reduceCellToAsymmetricUnit(unsigned short hallNumber, double cartTol) { // If there is no unit cell, there is nothing to do if (!m_molecule.unitCell()) return false; // Make a copy of the molecule to edit so we can store the old one // The atom positions and numbers of atoms may change Molecule newMolecule = m_molecule; Core::SpaceGroups::reduceToAsymmetricUnit(newMolecule, hallNumber, cartTol); Molecule::MoleculeChanges changes = Molecule::Removed | Molecule::Atoms; QString undoText = tr("Reduce Cell to Asymmetric Unit"); modifyMolecule(newMolecule, changes, undoText); return true; } void RWMolecule::emitChanged(unsigned int change) { m_molecule.emitChanged(change); } Index RWMolecule::findAtomUniqueId(Index atomId) const { return m_molecule.findAtomUniqueId(atomId); } Index RWMolecule::findBondUniqueId(Index bondId) const { return m_molecule.findBondUniqueId(bondId); } namespace { class SetForceVectorCommand : public MergeUndoCommand { Array m_atomIds; Array m_oldForceVectors; Array m_newForceVectors; public: SetForceVectorCommand(RWMolecule& m, Index atomId, const Vector3& oldForceVector, const Vector3& newForceVector) : MergeUndoCommand(m), m_atomIds(1, atomId), m_oldForceVectors(1, oldForceVector), m_newForceVectors(1, newForceVector) {} void redo() override { for (size_t i = 0; i < m_atomIds.size(); ++i) forceVectors()[m_atomIds[i]] = m_newForceVectors[i]; } void undo() override { for (size_t i = 0; i < m_atomIds.size(); ++i) forceVectors()[m_atomIds[i]] = m_oldForceVectors[i]; } bool mergeWith(const QUndoCommand* o) override { const SetForceVectorCommand* other = dynamic_cast(o); if (!other) return false; size_t numAtoms = other->m_atomIds.size(); if (numAtoms != other->m_oldForceVectors.size() || numAtoms != other->m_newForceVectors.size()) { return false; } for (size_t i = 0; i < numAtoms; ++i) { const Index& atomId = other->m_atomIds[i]; const Vector3& oldPos = other->m_oldForceVectors[i]; const Vector3& newPos = other->m_newForceVectors[i]; Array::const_iterator idsBegin = m_atomIds.begin(); Array::const_iterator idsEnd = m_atomIds.end(); Array::const_iterator match = std::find(idsBegin, idsEnd, atomId); if (match == idsEnd) { // Append a new atom: m_atomIds.push_back(atomId); m_oldForceVectors.push_back(oldPos); m_newForceVectors.push_back(newPos); } else { // Overwrite the existing movement: size_t offset = std::distance(idsBegin, match); assert(m_atomIds[offset] == atomId); m_newForceVectors[offset] = newPos; } } return true; } }; } // namespace bool RWMolecule::setForceVector(Index atomId, const Vector3& forces, const QString& undoText) { if (atomId >= atomCount()) return false; if (m_molecule.m_positions3d.size() != m_molecule.m_atomicNumbers.size()) m_molecule.m_positions3d.resize(m_molecule.m_atomicNumbers.size(), Vector3::Zero()); SetForceVectorCommand* comm = new SetForceVectorCommand( *this, atomId, m_molecule.m_positions3d[atomId], forces); comm->setText(undoText); comm->setCanMerge(m_interactive); m_undoStack.push(comm); return true; } } // namespace QtGui } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/rwmolecule.h000066400000000000000000000660251360735163600215650ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013-2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_RWMOLECULE_H #define AVOGADRO_QTGUI_RWMOLECULE_H #include "avogadroqtguiexport.h" #include #include "molecule.h" #include "persistentatom.h" #include "persistentbond.h" #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtGui { /** Concrete atom/bond proxy classes for RWMolecule. @{ */ class RWAtom; class RWBond; /** @} */ /** * @class RWMolecule rwmolecule.h * @brief The RWMolecule class is an editable molecule class that automatically * populates an undo stack. * * This class implements the molecule API and composes a QUndoStack * (undoStack()). New undo commands are automatically generated and push each * time a non-const method is called. * * An interactive mode is supported that causes "noisy" commands, such as * atom position changes, to be merged into a single command, saving memory * keeping the stack usable during interactive editing of the molecule. Use * setInteractive(bool) to toggle interactive mode. * * Similarly, multiple sequences of commands can be compressed into a single * named action using the QUndoStack's macro capability. Call * undoStack().beginMacro(tr("User Description Of Change")) to begin a macro, * and undoStack().endMacro() when finished. */ class AVOGADROQTGUI_EXPORT RWMolecule : public QObject { Q_OBJECT public: /** Typedef for Atom class. */ typedef RWAtom AtomType; /** Typedef for PersistentAtom class. */ typedef PersistentAtom PersistentAtomType; /** Typedef for Bond class. */ typedef RWBond BondType; /** Typedef for PersistentBond class. */ typedef PersistentBond PersistentBondType; /** Construct a molecule with the atoms/bonds of mol. */ explicit RWMolecule(Molecule& mol, QObject* parent = 0); ~RWMolecule() override; Molecule& molecule() { return m_molecule; } const Molecule& molecule() const { return m_molecule; } /** * Add a new atom to the molecule. * @param atomicNumber The atomic number of the new atom. * @param usingPositions Whether or not to use positions for this atom. * Default is true. Set to false if the atom * will not be using coordinates. * @return The new Atom object. */ AtomType addAtom(unsigned char atomicNumber, bool usingPositions = true); /** * Add a new atom to the molecule and set its position. * @param atomicNumber The atomic number of the new atom. * @param position3d The position of the atom. * @return The new Atom object. */ AtomType addAtom(unsigned char atomicNumber, const Vector3& position3d); /** * Obtain an atom object. * @param atomId The index of the atom to return. * @return The requested atom object. Will be invalid if @a atomId >= @a * atomCount(). */ AtomType atom(Index atomId) const; /** * Obtain an atom object from it's unique id. * @param atomUId The unique of the requested atom. * @return The requested atom object. Will be invalid if @a atomUId is not * in use. */ AtomType atomByUniqueId(Index atomUId) const; /** * @return The unique id of the atom. * @{ */ Index atomUniqueId(Index atomId) const; Index atomUniqueId(const AtomType& atom) const; /** @} */ /** * @return The number of atoms in the molecule. */ Index atomCount() const; /** * @return The number of atoms in the molecule with the atomic number @a * atomicNumber. */ Index atomCount(unsigned char atomicNumber) const; /** * Delete the specified atom from this molecule. * @return True on success, false otherwise. * @note This also removes all bonds connected to the atom. * @{ */ bool removeAtom(Index atomId); bool removeAtom(const AtomType& atom); /** @} */ /** * Delete all atoms from this molecule. * @note This also removes all bonds. */ void clearAtoms(); /** * Adjust hydrogens for an atom. * @param atomId The index of the atom. * @note Checks to make sure the atom is valid before adjusting the hydrogens. */ void adjustHydrogens(Index atomId); /** * Adjust hydrogens for multiple atoms. * @param atomIds The indices for the atoms. * @note Checks to make sure the atoms are valid before adjusting the * hydrogens. */ void adjustHydrogens(const Core::Array& atomIds); /** * @return An array containing atomic numbers for all atoms in the molecule, * indexed by atom index. */ const Core::Array& atomicNumbers() const; /** * Get the atomic number for the requested atom. * @param atomId The index of the atom. * @return The atomic number of the atom indexed at @a atomId, or * Avogadro::InvalidElement if @a atomId is invalid. */ unsigned char atomicNumber(Index atomId) const; /** * Replace the current array of atomic numbers. * @param nums The new atomic number array. Must be of length atomCount(). * @return True on success, false otherwise. */ bool setAtomicNumbers(const Core::Array& nums); /** * Set the atomic number of a single atom. * @param atomId The index of the atom to modify. * @param atomicNumber The new atomic number. * @return True on success, false otherwise. */ bool setAtomicNumber(Index atomId, unsigned char atomicNumber); /** * @return An array containing 3D coordinates for all atoms in the molecule, * indexed by atom index. * @note May be empty if position information has not been set for any atoms. */ const Core::Array& atomPositions3d() const; /** * Get the 3D position of a single atom. * @param atomId The index of the atom. * @return The position of the atom, or Vector3::Zero() if no position * information has been set. */ Vector3 atomPosition3d(Index atomId) const; /** * Replace the current array of 3D atomic coordinates. * @param pos The new coordinate array. Must be of length atomCount(). * @param undoText The undo text to be displayed for undo commands. * @return True on success, false otherwise. */ bool setAtomPositions3d( const Core::Array& pos, const QString& undoText = QStringLiteral("Change Atom Positions")); /** * Set the 3D position of a single atom. * @param atomId The index of the atom to modify. * @param pos The new position of the atom. * @param undoText The undo text to be displayed for undo commands. * @return True on success, false otherwise. */ bool setAtomPosition3d( Index atomId, const Vector3& pos, const QString& undoText = QStringLiteral("Change Atom Position")); /** * Set whether the specified atom is selected or not. */ void setAtomSelected(Index atomId, bool selected); /** * Query whether the supplied atom index has been selected. */ bool atomSelected(Index atomId) const; bool setAtomPosition2d(Index, const Vector2&) { return false; } Vector2 atomPosition2d(Index) { return Vector2(0, 0); } const Core::Array& atomPositions2d() const { return m_molecule.m_positions2d; } /** * Get the hybridization for the requested atom. * @param atomId The index of the atom. * @return The hybridization of the atom indexed at @a atomId, or * 0 if @a atomId is invalid. */ Core::AtomHybridization hybridization(Index atomId) const; /** * Set the hybridization of a single atom. * @param atomId The index of the atom to modify. * @param hyb The new hybridization. * @return True on success, false otherwise. */ bool setHybridization(Index atomId, Core::AtomHybridization hyb); /** * Get the formal charge for the requested atom. * @param atomId The index of the atom. * @return The formal charge of the atom indexed at @a atomId, or * 0 if @a atomId is invalid. */ signed char formalCharge(Index atomId) const; /** * Set the formal charge of a single atom. * @param atomId The index of the atom to modify. * @param charge The new formal charge. * @return True on success, false otherwise. */ bool setFormalCharge(Index atomId, signed char charge); /** * Get the color for the requested atom. * @param atomId The index of the atom. * @return The color of the atom indexed at @a atomId, or * (0, 0, 0) if @a atomId is invalid. If no color is set for the * given atomId, the default color for the atomic number of * the atomId is returned. */ Vector3ub color(Index atomId) const; /** * Set the color of a single atom. * @param atomId The index of the atom to modify. * @param color The new color. * @return True on success, false otherwise. */ bool setColor(Index atomId, Vector3ub color); /** * Create a new bond in the molecule. * @param atom1 The first atom in the bond. * @param atom2 The second order in the bond. * @param order The bond order. * @return The new bond object. Will be invalid if @a atom1 or @a atom2 does * not exist. * @{ */ BondType addBond(Index atom1, Index atom2, unsigned char order = 1); BondType addBond(const AtomType& atom1, const AtomType& atom2, unsigned char order = 1); /** @} */ /** * Get a bond object. * @param bondId The index of the requested bond. * @return The requested bond object. Will be invalid if @a bondId >= * @a bondCount(). */ BondType bond(Index bondId) const; /** * Get a bond object. * @param atom1 The index of one atom in the bond. * @param atom2 The index of the other atom in bond. * @return The requested bond object. Will be invalid if @a atom1 or @a atom2 * do not exist. */ BondType bond(Index atom1, Index atom2) const; /** * Get a bond object. * @param atom1 One atom in the bond. * @param atom2 The other atom in bond. * @return The requested bond object. Will be invalid if @a atom1 or @a atom2 * are invalid. */ BondType bond(const AtomType& atom1, const AtomType& atom2) const; /** * Get a bond object from its unique id. * @param bondUid The unique id of the bond. * @return The requested bond object. Will be invalid if @a bondUid is not in * use. */ BondType bondByUniqueId(Index bondUid) const; /** * Get the unique id of a bond. * @param bondId The index of the requested bond. * @return The unique id currently assigned to the bond at index @a bondId */ Index bondUniqueId(Index bondId) const; /** * Get the unique id of a bond. * @param bond The requested bond object. * @return The unique id currently assigned to @a bond. */ Index bondUniqueId(const BondType& bond) const; /** * @return The number of bonds in the molecule. */ Index bondCount() const; /** * Remove the requested bond. * @return True on success, false otherwise. * @{ */ bool removeBond(Index bondId); bool removeBond(const BondType& bond); bool removeBond(Index atom1, Index atom2); bool removeBond(const AtomType& atom1, const AtomType& atom2); /** @} */ /** * Remove all bonds from the molecule. */ void clearBonds(); /** * Find bonds connected to an atom. * @param atom The atom of interest. * @return An array of bond objects that are attached to the specified atom. */ Core::Array bonds(const AtomType& atom) const; /** * Find bonds connected to an atom. * @param atomId The index for the atom of interest. * @return An array of bond objects that are attached to the specified atom. */ Core::Array bonds(const Index& atomId) const; /** * @return An array of bond orders for all bonds in the molecule, indexed by * bond index. */ const Core::Array& bondOrders() const; /** * Get the order of a bond. * @param bondId The id of the bond. * @return The bond order. */ unsigned char bondOrder(Index bondId) const; /** * Replace the current array of bond orders. * @param orders The new array. * @return True on success, false on failure. */ bool setBondOrders(const Core::Array& orders); /** * Set the order of a bond in the molecule. * @param bondId The bond's index. * @param order The new order of the bond. * @return True on success, false on failure. */ bool setBondOrder(Index bondId, unsigned char order); /** * @return An array of all bonded atoms in the molecule, indexed by bond * index. * Each bond pair is represented by a pair of atom indices. */ const Core::Array>& bondPairs() const; /** * Get the set of bonded atoms corresponding to @a bondId. * @param bondId The index of the requested bond. * @return The bonded atom pair, represented as a pair of atom indices. */ std::pair bondPair(Index bondId) const; /** * Replace the current array of bonded atoms. * @param pairs The array. * @return True on success, false on failure. * @note The bonded atoms are represented as a pair of bond indices. * @note If needed, the elements in @a pairs will be modified to ensure that * the first atom index is less than the second. */ bool setBondPairs(const Core::Array>& pairs); /** * Set the bonded atoms for a bond. * @param bondId The bond to modify. * @param pair The new bond pair. * @return True on success, false otherwise. * @note If needed, @a pair will be modified to ensure that the first atom * index is less than the second. */ bool setBondPair(Index bondId, const std::pair& pair); /** * Add a default unit cell to the molecule. Does nothing if there already * is a unit cell. Changes are emitted. */ void addUnitCell(); /** * Remove the unit cell from the molecule. Does nothing if there is * no unit cell. Changes are emitted. */ void removeUnitCell(); /** * Generic edit that changes the current molecule to be @a newMolecule. * Also sets the text for the undo command to be @a undoText. Changes are * emitted. * @param newMolecule The new molecule to be set. * @param changes The changes to be emitted. * @param undoText The text description for the undo command. */ void modifyMolecule( const Molecule& newMolecule, Molecule::MoleculeChanges changes, const QString& undoText = QStringLiteral("Modify Molecule")); /** * Generic edit that adds @a newMolecule to the current molecule. * Also sets the text for the undo command to be @a undoText. Changes are * emitted. * @param addMolecule The new molecule to be set. * @param undoText The text description for the undo command. */ void appendMolecule( const Molecule& addMolecule, const QString& undoText = QStringLiteral("Append Molecule")); /** * Edit the unit cell by replacing the current cell matrix with a new cell * matrix. Changes are emitted. * @param cellMatrix The new cell matrix to be set. * @param opts If TransformAtoms is specified, the atoms in @a molecule are * adjusted so that their fractional (lattice) coordinates are preserved. This * option is ignored if the input molecule has no unit cell. */ void editUnitCell(Matrix3 cellMatrix, Core::CrystalTools::Options opts); /** * Wrap atoms to the unit cell. Changes are emitted. */ void wrapAtomsToCell(); /** * Rotate cell to standard orientation. Changes are emitted. */ void rotateCellToStandardOrientation(); /** * Scale a cell's volume. Changes are emitted. * @param newVolume The new volume to be set. * @param options If CrystalTools::TransformAtoms is set, then * the atoms will be transformed during the scaling. */ void setCellVolume(double newVolume, Core::CrystalTools::Options options); /** * Build a supercell. Changes are emitted. * @param a The final number of units along the A vector (at least 1). * @param b The final number of units along the B vector (at least 1). * @param c The final number of units along the C vector (at least 1). */ void buildSupercell(unsigned int a, unsigned int b, unsigned int c); /** * Perform a Niggli reduction on the cell. Changes are emitted. */ void niggliReduceCell(); /** * Use spglib to reduce the cell to its primitive form. Changes are emitted. * @param cartTol Cartesian tolerance for primitive reduction. * @return True if the algorithm succeeded, and false if it failed. */ bool reduceCellToPrimitive(double cartTol = 1e-5); /** * Use spglib to convert the cell to its conventional form. Changes are * emitted. * @param cartTol Cartesian tolerance for conventionalization. * @return True if the algorithm succeeded, and false if it failed. */ bool conventionalizeCell(double cartTol = 1e-5); /** * Use spglib to symmetrize the cell. Changes are emitted. * @param cartTol Cartesian tolerance for symmetrization. * @return True if the algorithm succeeded, and false if it failed. */ bool symmetrizeCell(double cartTol = 1e-5); /** * Fill unit cell using transforms for the space group. Changes are emitted. * @param hallNumber The hall number to be used for transforming the cell. * @param cartTol Cartesian tolerance for comparing atom positions. * @return True if the algorithm succeeded, and false if it failed. */ bool fillUnitCell(unsigned short hallNumber, double cartTol = 1e-5); /** * Use transforms to reduce a cell to its asymmetric unit. Changes are * emitted. * @param hallNumber The hall number to be used for obtaining the transforms. * @param cartTol Cartesian tolerance for comparing atom positions. * @return True if the algorithm succeeded, and false if it failed. */ bool reduceCellToAsymmetricUnit(unsigned short hallNumber, double cartTol = 1e-5); /** * Call this function when you wish to merge all undo commands. * It turns on interactive mode to merge similar undo commands in a series * (in order to save space), and it uses QUndoStack's beginMacro() to merge * dissimilar undo commands together. You must call endMergeMode() to end * the merging section (undo and redo are unavailable while merge mode is * on). * @param undoName The name of the undo command */ void beginMergeMode(const QString& undoName = QStringLiteral("Draw")); /** * Call this function when you wish merge mode to end. This will turn off * interactive mode, and it will call QUndoStack's endMacro(). All of the * undo commands pushed between beginMergeMode() and endMergeMode() will be * merged into one undo command. beginMergeMode() should have been called * before this is called. */ void endMergeMode(); /** * @brief Begin or end an interactive edit. * * If enabled, certain undo operations will be merged together. For instance, * an editor dragging an atom through space in response to mouse movement will * only generate a single undo command containing the initial and final * positions and discard the intermediate states. If disabled, each * intermediate action will appear in the undo log. */ void setInteractive(bool b); /** * @return True if interactive mode is enabled, false otherwise. * @sa setInteractive */ bool isInteractive() const; /** * @return The QUndoStack for this molecule. * @{ */ QUndoStack& undoStack(); const QUndoStack& undoStack() const; /** @} */ class UndoCommand; friend class UndoCommand; /** Returns a vector of forces for the atoms in the molecule. */ const Core::Array& forceVectors() const; /** * Replace the current array of force vectors. * @param pos The new force vector array. Must be of length atomCount(). * @param undoText The undo text to be displayed for undo commands. * @return True on success, false otherwise. */ bool setForceVector( Index atomId, const Vector3& pos, const QString& undoText = QStringLiteral("Change Force Vectors")); public slots: /** * @brief Force the molecule to emit the changed() signal. * @param change See changed(). */ void emitChanged(unsigned int change); signals: /** * @brief Indicates that the molecule has changed. * @param change Use the MoleculeChange enum to check what has changed. * * The @p change variable indicates what has changed, i.e. if * change & Atoms == true then atoms were changed in some way, and if * change & Removed == true then one or more atoms were removed. */ void changed(unsigned int change); protected: Index findAtomUniqueId(Index atomId) const; Index findBondUniqueId(Index bondId) const; /** * @brief m_molecule still stored all data, this class acts upon it and builds * an undo/redo stack that can be used to offer undo and redo. */ Molecule& m_molecule; bool m_interactive; QUndoStack m_undoStack; friend class Molecule; }; class AVOGADROQTGUI_EXPORT RWAtom : public Core::AtomTemplate { public: RWAtom() : Core::AtomTemplate() {} RWAtom(RWMolecule* m, Index i) : Core::AtomTemplate(m, i) {} }; class AVOGADROQTGUI_EXPORT RWBond : public Core::BondTemplate { public: RWBond() : Core::BondTemplate() {} RWBond(RWMolecule* m, Index i) : Core::BondTemplate(m, i) {} }; inline RWMolecule::AtomType RWMolecule::atom(Index atomId) const { return AtomType(const_cast(this), atomId); } inline RWMolecule::AtomType RWMolecule::atomByUniqueId(Index atomUId) const { return atomUId < m_molecule.m_atomUniqueIds.size() ? AtomType(const_cast(this), m_molecule.m_atomUniqueIds[atomUId]) : AtomType(); } inline Index RWMolecule::atomUniqueId(Index atomId) const { return findAtomUniqueId(atomId); } inline Index RWMolecule::atomUniqueId(const RWMolecule::AtomType& a) const { return a.molecule() == this ? findAtomUniqueId(a.index()) : MaxIndex; } inline Index RWMolecule::atomCount() const { return m_molecule.atomCount(); } inline bool RWMolecule::removeAtom(const AtomType& a) { return a.molecule() == this ? removeAtom(a.index()) : false; } inline const Core::Array& RWMolecule::atomicNumbers() const { return m_molecule.atomicNumbers(); } inline unsigned char RWMolecule::atomicNumber(Index atomId) const { return m_molecule.atomicNumber(atomId); } inline const Core::Array& RWMolecule::atomPositions3d() const { return m_molecule.atomPositions3d(); } inline Vector3 RWMolecule::atomPosition3d(Index atomId) const { return m_molecule.atomPosition3d(atomId); } inline Core::AtomHybridization RWMolecule::hybridization(Index atomId) const { return m_molecule.hybridization(atomId); } inline signed char RWMolecule::formalCharge(Index atomId) const { return m_molecule.formalCharge(atomId); } inline Vector3ub RWMolecule::color(Index atomId) const { return m_molecule.color(atomId); } inline RWMolecule::BondType RWMolecule::addBond(const AtomType& atom1, const AtomType& atom2, unsigned char order) { if (atom1.molecule() != atom2.molecule() || atom1.molecule() != this) return BondType(); return addBond(atom1.index(), atom2.index(), order); } inline RWMolecule::BondType RWMolecule::bond(Index bondId) const { return BondType(const_cast(this), bondId); } inline RWMolecule::BondType RWMolecule::bond( const RWMolecule::AtomType& atom1, const RWMolecule::AtomType& atom2) const { if (atom1.molecule() == atom2.molecule() && atom1.molecule() == this) return bond(atom1.index(), atom2.index()); return BondType(); } inline RWMolecule::BondType RWMolecule::bondByUniqueId(Index bondUid) const { return bondUid < m_molecule.m_bondUniqueIds.size() ? BondType(const_cast(this), m_molecule.m_bondUniqueIds[bondUid]) : BondType(); } inline Index RWMolecule::bondUniqueId(Index bondId) const { return findBondUniqueId(bondId); } inline Index RWMolecule::bondUniqueId(const RWMolecule::BondType& b) const { return b.molecule() == this ? findBondUniqueId(b.index()) : MaxIndex; } inline Index RWMolecule::bondCount() const { return m_molecule.bondCount(); } inline bool RWMolecule::removeBond(const RWMolecule::BondType& b) { return b.molecule() == this ? removeBond(b.index()) : false; } inline bool RWMolecule::removeBond(Index atom1, Index atom2) { return removeBond(bond(atom1, atom2).index()); } inline bool RWMolecule::removeBond(const RWMolecule::AtomType& atom1, const RWMolecule::AtomType& atom2) { if (atom1.molecule() != atom2.molecule() || atom1.molecule() != this) return false; return removeBond(bond(atom1.index(), atom2.index()).index()); } inline Core::Array RWMolecule::bonds( const RWMolecule::AtomType& a) const { return a.molecule() == this ? bonds(a.index()) : Core::Array(); } inline Core::Array RWMolecule::bonds( const Index& atomId) const { Core::Array result; for (Index i = 0; i < m_molecule.m_bondPairs.size(); ++i) if (m_molecule.m_bondPairs[i].first == atomId || m_molecule.m_bondPairs[i].second == atomId) result.push_back(BondType(const_cast(this), i)); return result; } inline const Core::Array& RWMolecule::bondOrders() const { return m_molecule.bondOrders(); } inline unsigned char RWMolecule::bondOrder(Index bondId) const { return m_molecule.bondOrder(bondId); } inline const Core::Array>& RWMolecule::bondPairs() const { return m_molecule.bondPairs(); } inline std::pair RWMolecule::bondPair(Index bondId) const { return m_molecule.bondPair(bondId); } inline void RWMolecule::beginMergeMode(const QString& undoName) { m_interactive = true; m_undoStack.beginMacro(undoName); } inline void RWMolecule::endMergeMode() { m_interactive = false; m_undoStack.endMacro(); } inline void RWMolecule::setInteractive(bool b) { m_interactive = b; } inline bool RWMolecule::isInteractive() const { return m_interactive; } inline QUndoStack& RWMolecule::undoStack() { return m_undoStack; } inline const QUndoStack& RWMolecule::undoStack() const { return m_undoStack; } inline const Core::Array& RWMolecule::forceVectors() const { return m_molecule.forceVectors(); } } // namespace QtGui } // namespace Avogadro #endif // AVOGADRO_QTGUI_RWMOLECULE_H avogadrolibs-1.93.0/avogadro/qtgui/sceneplugin.cpp000066400000000000000000000017471360735163600222560ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "sceneplugin.h" namespace Avogadro { namespace QtGui { ScenePlugin::ScenePlugin(QObject* parent_) : QObject(parent_) { } ScenePlugin::~ScenePlugin() { } void ScenePlugin::processEditable(const RWMolecule&, Rendering::GroupNode&) { } QWidget* ScenePlugin::setupWidget() { return nullptr; } } // End QtGui namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/sceneplugin.h000066400000000000000000000053401360735163600217140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_SCENEPLUGIN_H #define AVOGADRO_QTGUI_SCENEPLUGIN_H #include "avogadroqtguiexport.h" #include #include #include namespace Avogadro { namespace Core { class Molecule; } namespace Rendering { class GroupNode; } namespace QtGui { class RWMolecule; /** * @class ScenePluginFactory sceneplugin.h * @brief The base class for scene plugin factories in Avogadro. * @author Marcus D. Hanwell */ class AVOGADROQTGUI_EXPORT ScenePlugin : public QObject { Q_OBJECT public: explicit ScenePlugin(QObject* parent = 0); ~ScenePlugin() override; /** * Process the supplied atom, and add the necessary primitives to the scene. */ virtual void process(const Core::Molecule& molecule, Rendering::GroupNode& node) = 0; virtual void processEditable(const RWMolecule& molecule, Rendering::GroupNode& node); /** * The name of the scene plugin, will be displayed in the user interface. */ virtual QString name() const = 0; /** * A description of the scene plugin, may be displayed in the user interface. */ virtual QString description() const = 0; /** * Returns true if the scene plugin has been enabled and is active. */ virtual bool isEnabled() const = 0; /** * Set the enabled state of the plugin (default should be false). */ virtual void setEnabled(bool enable) = 0; virtual QWidget* setupWidget(); signals: void drawablesChanged(); }; /** * @class ScenePluginFactory sceneplugin.h * @brief The base class for scene plugin factories in Avogadro. * @author Marcus D. Hanwell */ class AVOGADROQTGUI_EXPORT ScenePluginFactory : public Avogadro::QtPlugins::PluginFactory { public: ~ScenePluginFactory() override {} }; } // End QtGui namespace } // End Avogadro namespace Q_DECLARE_INTERFACE(Avogadro::QtGui::ScenePluginFactory, "org.openchemistry.avogadro.ScenePluginFactory") #endif // AVOGADRO_QTGUI_SCENEPLUGIN_H avogadrolibs-1.93.0/avogadro/qtgui/scenepluginmodel.cpp000066400000000000000000000100531360735163600232650ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "scenepluginmodel.h" #include "sceneplugin.h" namespace Avogadro { namespace QtGui { ScenePluginModel::ScenePluginModel(QObject* parent_) : QAbstractItemModel(parent_) { } QModelIndex ScenePluginModel::parent(const QModelIndex&) const { return QModelIndex(); } int ScenePluginModel::rowCount(const QModelIndex& parent_) const { if (parent_.isValid()) return 0; else return m_scenePlugins.size(); } int ScenePluginModel::columnCount(const QModelIndex&) const { return 1; } Qt::ItemFlags ScenePluginModel::flags(const QModelIndex& index_) const { if (index_.column() == 0) return Qt::ItemIsEditable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled; else return Qt::ItemIsEnabled; } bool ScenePluginModel::setData(const QModelIndex& index_, const QVariant& value, int role) { if (!index_.isValid() || index_.column() > 1) return false; ScenePlugin* item = qobject_cast(static_cast(index_.internalPointer())); if (!item) return false; switch (role) { case Qt::CheckStateRole: if (value == Qt::Checked && !item->isEnabled()) { item->setEnabled(true); emit pluginStateChanged(item); } else if (value == Qt::Unchecked && item->isEnabled()) { item->setEnabled(false); emit pluginStateChanged(item); } emit dataChanged(index_, index_); return true; } return false; } QVariant ScenePluginModel::data(const QModelIndex& index_, int role) const { if (!index_.isValid() || index_.column() > 1) return QVariant(); QObject* object = static_cast(index_.internalPointer()); ScenePlugin* item = qobject_cast(object); if (!item) return QVariant(); if (index_.column() == 0) { switch (role) { case Qt::DisplayRole: case Qt::EditRole: return item->name(); case Qt::CheckStateRole: if (item->isEnabled()) return Qt::Checked; else return Qt::Unchecked; case Qt::ToolTipRole: case Qt::WhatsThisRole: return item->description(); default: return QVariant(); } } return QVariant(); } QModelIndex ScenePluginModel::index(int row, int column, const QModelIndex& parent_) const { if (!parent_.isValid() && row >= 0 && row < m_scenePlugins.size()) return createIndex(row, column, m_scenePlugins[row]); else return QModelIndex(); } void ScenePluginModel::clear() { m_scenePlugins.clear(); } QList ScenePluginModel::scenePlugins() const { return m_scenePlugins; } QList ScenePluginModel::activeScenePlugins() const { QList result; foreach (ScenePlugin* plugin, m_scenePlugins) { if (plugin->isEnabled()) result << plugin; } return result; } void ScenePluginModel::addItem(ScenePlugin* item) { if (!m_scenePlugins.contains(item)) { m_scenePlugins.append(item); item->setParent(this); connect(item, SIGNAL(drawablesChanged()), SIGNAL(pluginConfigChanged())); } } void ScenePluginModel::removeItem(ScenePlugin* item) { m_scenePlugins.removeAll(item); } void ScenePluginModel::itemChanged() { ScenePlugin* item = qobject_cast(sender()); if (item) { int row = m_scenePlugins.indexOf(item); if (row >= 0) emit dataChanged(createIndex(row, 0), createIndex(row, 0)); } } } // End QtGui namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/scenepluginmodel.h000066400000000000000000000042761360735163600227440ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_SCENEPLUGINMODEL_H #define AVOGADRO_QTGUI_SCENEPLUGINMODEL_H #include "avogadroqtguiexport.h" #include namespace Avogadro { namespace QtGui { class ScenePlugin; /** * @class ScenePluginModel scenepluginmodel.h * * @brief A model containing scene plugins that will build up the scene. * @author Marcus D. Hanwell */ class AVOGADROQTGUI_EXPORT ScenePluginModel : public QAbstractItemModel { Q_OBJECT public: explicit ScenePluginModel(QObject* parent = 0); QModelIndex parent(const QModelIndex& child) const override; int rowCount(const QModelIndex& parent) const override; int columnCount(const QModelIndex& parent) const override; Qt::ItemFlags flags(const QModelIndex& index) const override; bool setData(const QModelIndex& index, const QVariant& value, int role) override; QVariant data(const QModelIndex& index, int role) const override; QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override; void clear(); QList scenePlugins() const; QList activeScenePlugins() const; signals: void pluginStateChanged(Avogadro::QtGui::ScenePlugin*); void pluginConfigChanged(); public slots: void addItem(Avogadro::QtGui::ScenePlugin* item); void removeItem(Avogadro::QtGui::ScenePlugin* item); void itemChanged(); private: QList m_scenePlugins; }; } // End QtGui namespace } // End Avogadro namespace #endif // AVOGADRO_QTGUI_SCENEPLUGINMODEL_H avogadrolibs-1.93.0/avogadro/qtgui/scriptloader.cpp000066400000000000000000000130671360735163600224330ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "scriptloader.h" #include "interfacescript.h" #include "utilities.h" #include #include #include #include #include #include #include namespace Avogadro { namespace QtGui { ScriptLoader::ScriptLoader(QObject* parent_) : QObject(parent_) {} ScriptLoader::~ScriptLoader() {} bool ScriptLoader::queryProgramName(const QString& scriptFilePath, QString& displayName) { InterfaceScript gen(scriptFilePath); displayName = gen.displayName(); if (gen.hasErrors()) { displayName.clear(); qWarning() << "ScriptLoader::queryProgramName: Unable to retrieve program " "name for" << scriptFilePath << ";" << gen.errorList().join("\n\n"); return false; } return true; } QMap ScriptLoader::scriptList(const QString& type) { // List of directories to check. /// @todo Custom script locations QStringList dirs; QMap scriptList; // add the default paths QStringList stdPaths = QStandardPaths::standardLocations(QStandardPaths::AppLocalDataLocation); foreach (const QString& dirStr, stdPaths) { QString path = dirStr + '/' + type; dirs << path; // we'll check if these exist below } dirs << QCoreApplication::applicationDirPath() + "/../" + QtGui::Utilities::libraryDirectory() + "/avogadro2/scripts/" + type; // build up a list of possible files, then we check if they're real scripts QStringList fileList; foreach (const QString& dirStr, dirs) { qDebug() << "Checking for " << type << " scripts in" << dirStr; QDir dir(dirStr); if (dir.exists() && dir.isReadable()) { foreach ( const QFileInfo& file, dir.entryInfoList(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot)) { QString filePath = file.absoluteFilePath(); if (file.isDir()) { // handle subdirectory packages with plugins.json files QFileInfo jsonManifest(filePath + "/plugin.json"); if (jsonManifest.isReadable()) { // load the JSON QFile jsonFile(jsonManifest.absoluteFilePath()); jsonFile.open(QIODevice::ReadOnly | QIODevice::Text); QByteArray data = jsonFile.readAll(); jsonFile.close(); QJsonDocument d = QJsonDocument::fromJson(data); if (!d.isNull() && d.isObject()) { /* find the "commands" array { "name": "Gaussian", "command": "gaussian" }, { "name": "MOPAC", "command": "mopac" }, { "name": "ORCA", "command": "orca" }, */ QJsonValue commands = d.object()["commands"]; if (commands.type() == QJsonValue::Array) { // check if "command.*" exists as a file QJsonArray list = commands.toArray(); for (int i = 0; i < list.size(); ++i) { QJsonValue command = list[i].toObject()["command"]; QString name = command.toString(); if (name.isEmpty() || name.isNull()) continue; QFileInfo commandFile(filePath + '/' + name); if (commandFile.isReadable()) { fileList << commandFile.absoluteFilePath(); continue; } // doesn't exist, so try the .py version // TODO: set this up as a loop with name filters commandFile.setFile(filePath + '/' + name + ".py"); if (commandFile.isReadable()) { fileList << commandFile.absoluteFilePath(); continue; } } } // "commands" JSON is array } // document is json } // plugin.json file exists continue; } // end reading subdirectories with plugin.json if (file.isReadable()) fileList << filePath; } } // end dir.exists() } // end for directory list // go through the list of files to see if they're actually scripts foreach (const QString& filePath, fileList) { QString displayName; if (queryProgramName(filePath, displayName)) { if (displayName.isEmpty()) continue; // don't add empty menu items // Might be another script with the same name if (scriptList.contains(displayName)) { // check the last-modified-time of the existing case QFileInfo file(filePath); QFileInfo existingFile(scriptList[displayName]); if (file.lastModified() > existingFile.lastModified()) { // replace existing with this new entry scriptList.insert(displayName, filePath); } } else // new entry scriptList.insert(displayName, filePath); } // run queryProgramName } // foreach files return scriptList; } } // namespace QtGui } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtgui/scriptloader.h000066400000000000000000000026701360735163600220760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_SCRIPTLOADER_H #define AVOGADRO_QTGUI_SCRIPTLOADER_H #include "avogadroqtguiexport.h" #include #include #include namespace Avogadro { namespace QtGui { /** * @brief The ScriptLoader class finds and verifies different types of * python utility scripts. */ class AVOGADROQTGUI_EXPORT ScriptLoader : public QObject { Q_OBJECT public: explicit ScriptLoader(QObject* parent_ = nullptr); ~ScriptLoader() override; /** * @return A map of name -> path for all scripts of the requested @arg type */ static QMap scriptList(const QString& type); static bool queryProgramName(const QString& scriptFilePath, QString& displayName); }; } // namespace QtGui } // namespace Avogadro #endif // AVOGADRO_QTGUI_SCRIPTLOADER_H avogadrolibs-1.93.0/avogadro/qtgui/toolplugin.cpp000066400000000000000000000027321360735163600221310ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "toolplugin.h" namespace Avogadro { namespace QtGui { ToolPlugin::ToolPlugin(QObject* parent_) : QObject(parent_) { } ToolPlugin::~ToolPlugin() { } QUndoCommand* ToolPlugin::mousePressEvent(QMouseEvent*) { return nullptr; } QUndoCommand* ToolPlugin::mouseReleaseEvent(QMouseEvent*) { return nullptr; } QUndoCommand* ToolPlugin::mouseMoveEvent(QMouseEvent*) { return nullptr; } QUndoCommand* ToolPlugin::mouseDoubleClickEvent(QMouseEvent*) { return nullptr; } QUndoCommand* ToolPlugin::wheelEvent(QWheelEvent*) { return nullptr; } QUndoCommand* ToolPlugin::keyPressEvent(QKeyEvent*) { return nullptr; } QUndoCommand* ToolPlugin::keyReleaseEvent(QKeyEvent*) { return nullptr; } void ToolPlugin::draw(Rendering::GroupNode&) { } ToolPluginFactory::~ToolPluginFactory() { } } // End QtGui namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/toolplugin.h000066400000000000000000000100431360735163600215700ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_TOOLPLUGIN_H #define AVOGADRO_QTGUI_TOOLPLUGIN_H #include "avogadroqtguiexport.h" #include class QAction; class QKeyEvent; class QMouseEvent; class QUndoCommand; class QWheelEvent; namespace Avogadro { namespace Rendering { class GroupNode; class GLRenderer; } namespace QtOpenGL { class GLWidget; } namespace QtGui { class Molecule; class RWMolecule; /** * @class ToolPlugin toolplugin.h * @brief The base class for plugins that interact with QtOpenGL::GLWidget. * @author David C. Lonie */ class AVOGADROQTGUI_EXPORT ToolPlugin : public QObject { Q_OBJECT public: explicit ToolPlugin(QObject* parent = 0); ~ToolPlugin() override; /** * The name of the tool, will be displayed in the user interface. */ virtual QString name() const = 0; /** * A description of the tool, may be displayed in the user interface. */ virtual QString description() const = 0; /** * A priority of the tool for sorting in the user interface. */ virtual unsigned char priority() const = 0; /** * @return The QAction that will cause this tool to become active. */ virtual QAction* activateAction() const = 0; /** * @return A QWidget that will be displayed to the user while this tool is * active. */ virtual QWidget* toolWidget() const = 0; /** * Respond to user-input events. * @param e The QEvent object. * @return A QUndoCommand that can be used to undo any changes to the * molecule. If no undoable change is made, the method may return nullptr. * @{ */ virtual QUndoCommand* mousePressEvent(QMouseEvent* e); virtual QUndoCommand* mouseReleaseEvent(QMouseEvent* e); virtual QUndoCommand* mouseMoveEvent(QMouseEvent* e); virtual QUndoCommand* mouseDoubleClickEvent(QMouseEvent* e); virtual QUndoCommand* wheelEvent(QWheelEvent* e); virtual QUndoCommand* keyPressEvent(QKeyEvent* e); virtual QUndoCommand* keyReleaseEvent(QKeyEvent* e); /**@}*/ /** * Override this method to add drawables to the scene graph. */ virtual void draw(Rendering::GroupNode& node); signals: /** * Emitted when draw() needs to be called again due to updates. */ void drawablesChanged(); /** * Emitted when something changed (camera, etc) and the molecule should be * redrawn. */ void updateRequested(); public slots: /** * Called when the current molecule changes. */ virtual void setMolecule(QtGui::Molecule* mol) = 0; virtual void setEditMolecule(QtGui::RWMolecule*) {} /** * Set the GLWidget used by the tool. */ virtual void setGLWidget(QtOpenGL::GLWidget*) {} /** * Set the active widget used by the tool, this can be anything derived from * QWidget. */ virtual void setActiveWidget(QWidget*) {} /** * Set the GLRenderer used by the tool. */ virtual void setGLRenderer(Rendering::GLRenderer*) {} }; /** * @class ToolPluginFactory toolplugin.h * @brief The base class for tool plugin factories in Avogadro. * @author David C. Lonie */ class AVOGADROQTGUI_EXPORT ToolPluginFactory { public: virtual ~ToolPluginFactory(); virtual ToolPlugin* createInstance() = 0; virtual QString identifier() const = 0; }; } // End QtGui namespace } // End Avogadro namespace Q_DECLARE_INTERFACE(Avogadro::QtGui::ToolPluginFactory, "org.openchemistry.avogadro.ToolPluginFactory") #endif // AVOGADRO_QTGUI_TOOLPLUGIN_H avogadrolibs-1.93.0/avogadro/qtgui/utilities.cpp000066400000000000000000000014431360735163600217460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "utilities.h" namespace Avogadro { namespace QtGui { namespace Utilities { QString libraryDirectory() { return QString(AvogadroLibs_LIB_DIR); } } } } avogadrolibs-1.93.0/avogadro/qtgui/utilities.h000066400000000000000000000016431360735163600214150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_UTILITIES_H #define AVOGADRO_QTGUI_UTILITIES_H #include "avogadroqtguiexport.h" #include namespace Avogadro { namespace QtGui { namespace Utilities { AVOGADROQTGUI_EXPORT QString libraryDirectory(); } } } #endif // AVOGADRO_QTGUI_UTILITIES_H avogadrolibs-1.93.0/avogadro/qtgui/viewfactory.cpp000066400000000000000000000014701360735163600222750ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "viewfactory.h" namespace Avogadro { namespace QtGui { ViewFactory::ViewFactory() { } ViewFactory::~ViewFactory() { } } // End QtGui namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtgui/viewfactory.h000066400000000000000000000031671360735163600217470ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_VIEWFACTORY_H #define AVOGADRO_QTGUI_VIEWFACTORY_H #include "avogadroqtguiexport.h" #include namespace Avogadro { namespace QtGui { /** * @class ViewFactory viewfactory.h * @brief The ViewFactory class is a pure virtual that provides a method of * dynamically adding views to the MultiViewWidget class. * @author Marcus D. Hanwell */ class AVOGADROQTGUI_EXPORT ViewFactory { public: ViewFactory(); virtual ~ViewFactory(); /** * @brief Get the list of views the factory provides. * @return A list of supported views. */ virtual QStringList views() const = 0; /** * @brief Create a named view, the caller assumes ownership of the widget. * @param view The name of the view. * @return A new widget of the requested type, nullptr if none exists. */ virtual QWidget* createView(const QString& view) = 0; }; } // End QtGui namespace } // End Avogadro namespace #endif // AVOGADRO_QTGUI_VIEWFACTORY_H avogadrolibs-1.93.0/avogadro/qtopengl/000077500000000000000000000000001360735163600177255ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtopengl/CMakeLists.txt000066400000000000000000000010171360735163600224640ustar00rootroot00000000000000find_package(Eigen3 REQUIRED) # Add as "system headers" to avoid warnings generated by them with # compilers that support that notion. include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) find_package(Qt5 COMPONENTS Widgets REQUIRED) set(HEADERS activeobjects.h glwidget.h qttextrenderstrategy.h ) set(SOURCES activeobjects.cpp glwidget.cpp qttextrenderstrategy.cpp ) avogadro_add_library(AvogadroQtOpenGL ${HEADERS} ${SOURCES}) target_link_libraries(AvogadroQtOpenGL AvogadroRendering AvogadroQtGui Qt5::Widgets) avogadrolibs-1.93.0/avogadro/qtopengl/activeobjects.cpp000066400000000000000000000024311360735163600232560ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #include "activeobjects.h" #include "glwidget.h" #include namespace Avogadro { namespace QtOpenGL { ActiveObjects::ActiveObjects() = default; ActiveObjects::~ActiveObjects() = default; ActiveObjects& ActiveObjects::instance() { static ActiveObjects singletonInstance; return singletonInstance; } GLWidget* ActiveObjects::activeGLWidget() const { return m_glWidget; } QWidget* ActiveObjects::activeWidget() const { return m_widget; } QtGui::Molecule* ActiveObjects::activeMolecule() const { return m_molecule; } void ActiveObjects::setActiveGLWidget(GLWidget* glWidget) { if (m_glWidget != glWidget) { m_widget = nullptr; m_glWidget = glWidget; emit activeGLWidgetChanged(m_glWidget); setActiveWidget(glWidget); } } void ActiveObjects::setActiveWidget(QWidget* widget) { if (m_widget != widget) { m_glWidget = nullptr; m_widget = widget; emit activeWidgetChanged(widget); } } void ActiveObjects::setActiveMolecule(QtGui::Molecule* molecule) { if (m_molecule != molecule) { m_molecule = molecule; emit activeMoleculeChanged(molecule); } } } // namespace QtOpenGL } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtopengl/activeobjects.h000066400000000000000000000045071360735163600227310ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #ifndef AVOGADRO_QTOPENGL_ACTIVEOBJECTS_H #define AVOGADRO_QTOPENGL_ACTIVEOBJECTS_H #include "avogadroqtopenglexport.h" #include // #include "glwidget.h" #include class QWidget; namespace Avogadro { namespace QtGui { class Molecule; } namespace QtOpenGL { class GLWidget; /** * @class ActiveObjects activeobjects.h * @brief Singleton to provide access to active objects. * * This class provides access to the active objects in the running application. * If you write an application using the Avogadro libraries you need to keep * this class updated with changes in active objects in order for built in * features to work as expected. * * All returned objects are owned by the running application, nullptr indicates * that there is no currently active object of that type. */ class AVOGADROQTOPENGL_EXPORT ActiveObjects : public QObject { Q_OBJECT public: /** Return a reference to the singleton instance that can be queried. */ static ActiveObjects& instance(); /** Get the active GLWidget. **/ GLWidget* activeGLWidget() const; /** * Get the active widget (more general, could be GLWidget, vtkGLWidget, etc). */ QWidget* activeWidget() const; /** * Get the active molecule. */ QtGui::Molecule* activeMolecule() const; public slots: /** Set the active GLWidget. */ void setActiveGLWidget(GLWidget* glWidget); /** Set the active widget (GLWidget, vtkGLWidget, etc). */ void setActiveWidget(QWidget* widget); /** Set the active widget (GLWidget, vtkGLWidget, etc). */ void setActiveMolecule(QtGui::Molecule* molecule); signals: /** The active GL widget changed. */ void activeGLWidgetChanged(GLWidget* glWidget); /** The active widget changed (GLWidget, vtkGLWidget, etc). */ void activeWidgetChanged(QWidget* widget); /** The active molecule changed. */ void activeMoleculeChanged(QtGui::Molecule* molecule); private: ActiveObjects(); ~ActiveObjects() override; Q_DISABLE_COPY(ActiveObjects) GLWidget* m_glWidget = nullptr; QWidget* m_widget = nullptr; QtGui::Molecule* m_molecule = nullptr; }; } // namespace QtOpenGL } // namespace Avogadro #endif // AVOGADRO_QTOPENGL_ACTIVEOBJECTS_H avogadrolibs-1.93.0/avogadro/qtopengl/glwidget.cpp000066400000000000000000000172661360735163600222530ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-13 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "glwidget.h" #include "qttextrenderstrategy.h" #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtOpenGL { GLWidget::GLWidget(QWidget* p) : QOpenGLWidget(p), m_activeTool(nullptr), m_defaultTool(nullptr), m_renderTimer(nullptr) { setFocusPolicy(Qt::ClickFocus); connect(&m_scenePlugins, SIGNAL(pluginStateChanged(Avogadro::QtGui::ScenePlugin*)), SLOT(updateScene())); connect(&m_scenePlugins, SIGNAL(pluginConfigChanged()), SLOT(updateScene())); m_renderer.setTextRenderStrategy(new QtTextRenderStrategy); } GLWidget::~GLWidget() { } void GLWidget::setMolecule(QtGui::Molecule* mol) { clearScene(); if (m_molecule) disconnect(m_molecule, 0, 0, 0); m_molecule = mol; foreach (QtGui::ToolPlugin* tool, m_tools) tool->setMolecule(m_molecule); connect(m_molecule, SIGNAL(changed(unsigned int)), SLOT(updateScene())); } QtGui::Molecule* GLWidget::molecule() { return m_molecule; } const QtGui::Molecule* GLWidget::molecule() const { return m_molecule; } void GLWidget::updateScene() { // Build up the scene with the scene plugins, creating the appropriate nodes. QtGui::Molecule* mol = m_molecule; if (!mol) mol = new QtGui::Molecule(this); if (mol) { Rendering::GroupNode& node = m_renderer.scene().rootNode(); node.clear(); Rendering::GroupNode* moleculeNode = new Rendering::GroupNode(&node); foreach (QtGui::ScenePlugin* scenePlugin, m_scenePlugins.activeScenePlugins()) { Rendering::GroupNode* engineNode = new Rendering::GroupNode(moleculeNode); scenePlugin->process(*mol, *engineNode); } // Let the tools perform any drawing they need to do. if (m_activeTool) { Rendering::GroupNode* toolNode = new Rendering::GroupNode(moleculeNode); m_activeTool->draw(*toolNode); } if (m_defaultTool) { Rendering::GroupNode* toolNode = new Rendering::GroupNode(moleculeNode); m_defaultTool->draw(*toolNode); } m_renderer.resetGeometry(); update(); } if (mol != m_molecule) delete mol; } void GLWidget::clearScene() { m_renderer.scene().clear(); } void GLWidget::resetCamera() { m_renderer.resetCamera(); update(); } void GLWidget::resetGeometry() { m_renderer.resetGeometry(); } void GLWidget::setTools(const QList& toolList) { foreach (QtGui::ToolPlugin* tool, toolList) addTool(tool); } void GLWidget::addTool(QtGui::ToolPlugin* tool) { if (m_tools.contains(tool)) return; connect(tool, SIGNAL(updateRequested()), SLOT(requestUpdate())); tool->setParent(this); tool->setGLWidget(this); tool->setActiveWidget(this); tool->setMolecule(m_molecule); tool->setGLRenderer(&m_renderer); m_tools << tool; } void GLWidget::setActiveTool(const QString& name) { foreach (QtGui::ToolPlugin* tool, m_tools) { QAction* toolAction = tool->activateAction(); if (tool->objectName() == name || (toolAction && toolAction->text() == name)) { setActiveTool(tool); return; } } } void GLWidget::setActiveTool(QtGui::ToolPlugin* tool) { if (tool == m_activeTool) return; if (m_activeTool && m_activeTool != m_defaultTool) { disconnect(m_activeTool, SIGNAL(drawablesChanged()), this, SLOT(updateScene())); } if (tool) addTool(tool); m_activeTool = tool; if (m_activeTool && m_activeTool != m_defaultTool) { connect(m_activeTool, SIGNAL(drawablesChanged()), this, SLOT(updateScene())); } } void GLWidget::setDefaultTool(const QString& name) { foreach (QtGui::ToolPlugin* tool, m_tools) { QAction* toolAction = tool->activateAction(); if (tool->name() == name || (toolAction && toolAction->text() == name)) { setDefaultTool(tool); return; } } } void GLWidget::setDefaultTool(QtGui::ToolPlugin* tool) { if (tool == m_defaultTool) return; if (m_defaultTool && m_activeTool != m_defaultTool) { disconnect(m_defaultTool, SIGNAL(drawablesChanged()), this, SLOT(updateScene())); } if (tool) addTool(tool); m_defaultTool = tool; if (m_defaultTool && m_activeTool != m_defaultTool) { connect(m_defaultTool, SIGNAL(drawablesChanged()), this, SLOT(updateScene())); } } void GLWidget::requestUpdate() { if (!m_renderTimer) { m_renderTimer = new QTimer(this); connect(m_renderTimer, SIGNAL(timeout()), SLOT(updateTimeout())); m_renderTimer->setSingleShot(1000 / 30); m_renderTimer->start(); } } void GLWidget::updateTimeout() { if (m_renderTimer) { m_renderTimer->deleteLater(); m_renderTimer = nullptr; } update(); } void GLWidget::initializeGL() { m_renderer.initialize(); if (!m_renderer.isValid()) emit rendererInvalid(); } void GLWidget::resizeGL(int width_, int height_) { m_renderer.resize(width_, height_); } void GLWidget::paintGL() { m_renderer.render(); } void GLWidget::mouseDoubleClickEvent(QMouseEvent* e) { e->ignore(); if (m_activeTool) m_activeTool->mouseDoubleClickEvent(e); if (m_defaultTool && !e->isAccepted()) m_defaultTool->mouseDoubleClickEvent(e); if (!e->isAccepted()) QOpenGLWidget::mouseDoubleClickEvent(e); } void GLWidget::mousePressEvent(QMouseEvent* e) { e->ignore(); if (m_activeTool) m_activeTool->mousePressEvent(e); if (m_defaultTool && !e->isAccepted()) m_defaultTool->mousePressEvent(e); if (!e->isAccepted()) QOpenGLWidget::mousePressEvent(e); } void GLWidget::mouseMoveEvent(QMouseEvent* e) { e->ignore(); if (m_activeTool) m_activeTool->mouseMoveEvent(e); if (m_defaultTool && !e->isAccepted()) m_defaultTool->mouseMoveEvent(e); if (!e->isAccepted()) QOpenGLWidget::mouseMoveEvent(e); } void GLWidget::mouseReleaseEvent(QMouseEvent* e) { e->ignore(); if (m_activeTool) m_activeTool->mouseReleaseEvent(e); if (m_defaultTool && !e->isAccepted()) m_defaultTool->mouseReleaseEvent(e); if (!e->isAccepted()) QOpenGLWidget::mouseReleaseEvent(e); } void GLWidget::wheelEvent(QWheelEvent* e) { e->ignore(); if (m_activeTool) m_activeTool->wheelEvent(e); if (m_defaultTool && !e->isAccepted()) m_defaultTool->wheelEvent(e); if (!e->isAccepted()) QOpenGLWidget::wheelEvent(e); } void GLWidget::keyPressEvent(QKeyEvent* e) { e->ignore(); if (m_activeTool) m_activeTool->keyPressEvent(e); if (m_defaultTool && !e->isAccepted()) m_defaultTool->keyPressEvent(e); if (!e->isAccepted()) QOpenGLWidget::keyPressEvent(e); } void GLWidget::keyReleaseEvent(QKeyEvent* e) { e->ignore(); if (m_activeTool) m_activeTool->keyReleaseEvent(e); if (m_defaultTool && !e->isAccepted()) m_defaultTool->keyReleaseEvent(e); if (!e->isAccepted()) QOpenGLWidget::keyReleaseEvent(e); } } // End QtOpenGL namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtopengl/glwidget.h000066400000000000000000000135711360735163600217130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-13 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTOPENGL_GLWIDGET_H #define AVOGADRO_QTOPENGL_GLWIDGET_H #include "avogadroqtopenglexport.h" #include #include #include #include class QTimer; namespace Avogadro { namespace QtGui { class Molecule; class ToolPlugin; } namespace QtOpenGL { /** * @class GLWidget glwidget.h * @brief QOpenGLGLWidget derived object for displaying 3D molecular geometry. * @author Marcus D. Hanwell * * This class creates the GL context, and contains a renderer to render the * 3D molecular geometry. * * The GLWidget also manages a collection of ToolPlugins that are used to * respond to user input events. Use setTools() or addTool() to add tools to the * widget. Use setActiveTool() to indicate which tool is active. The active tool * will be given the opportunity to handle input events first. If the active * tool does not handle the event, the default tool will be used. If the default * tool also ignores the event, it will be passed to QOpenGLWidget's handlers. */ class AVOGADROQTOPENGL_EXPORT GLWidget : public QOpenGLWidget { Q_OBJECT public: explicit GLWidget(QWidget* parent = 0); ~GLWidget() override; /** Set the molecule the widget will render. */ void setMolecule(QtGui::Molecule* molecule); /** * Get the molecule being rendered by the widget. * @{ */ QtGui::Molecule* molecule(); const QtGui::Molecule* molecule() const; /** @}*/ /** Get a reference to the renderer for the widget. */ Rendering::GLRenderer& renderer() { return m_renderer; } /** * @return A list of the ToolPlugins owned by the GLWidget. */ QList tools() const { return m_tools; } /** * @return The active tool. */ QtGui::ToolPlugin* activeTool() const { return m_activeTool; } /** * @return The default tool. */ QtGui::ToolPlugin* defaultTool() const { return m_defaultTool; } /** * Get the GLWidget's ScenePluginModel, used to add, delete and modify the * scene plugin items. * @{ */ QtGui::ScenePluginModel& sceneModel() { return m_scenePlugins; } const QtGui::ScenePluginModel& sceneModel() const { return m_scenePlugins; } /** @}*/ /** * Check if the GLWidget was able to acquire a context, and set up the * renderer correctly. If not valid, the error method may provide more * information. * @return true if value, false if not. */ bool isValid() const { return m_renderer.isValid(); } /** * Get the error(s), if any, encountered when setting up the GLWidget. * @return A free form string containing errors encountered. */ QString error() const { return m_renderer.error().c_str(); } signals: void rendererInvalid(); public slots: /** * Update the scene plugins for the widget, this will generate geometry in * the scene etc. */ void updateScene(); /** * Clear the contents of the scene. */ void clearScene(); /** Reset the view to fit the entire scene. */ void resetCamera(); /** Reset the geometry when the molecule etc changes. */ void resetGeometry(); /** * Make the tools in toolList available to the GLWidget. The GLWidget takes * ownership of the tools. */ void setTools(const QList& toolList); /** * Make tool available to the GLWidget. The GLWidget takes ownership of the * tool. */ void addTool(QtGui::ToolPlugin* tool); /** * Set the active tool. This is the tool that will be used to handle input * events first. * @{ */ void setActiveTool(const QString& name); void setActiveTool(QtGui::ToolPlugin* tool); /**@}*/ /** * Set the default tool. This is the tool that will be used to handle input * events that are ignored by the active tool. * @{ */ void setDefaultTool(const QString& name); void setDefaultTool(QtGui::ToolPlugin* tool); /**@}*/ /** * Request an update, this will by default initiate a timer that will trigger * in a specified time, enabling us to compress multiple events such as * camera moves to maintain interactivity. */ void requestUpdate(); protected slots: /** * Perform the update of the render, this should only be called by the timer. */ void updateTimeout(); protected: /** This is where the GL context is initialized. */ void initializeGL() override; /** Take care of resizing the context. */ void resizeGL(int width, int height) override; /** Main entry point for all GL rendering. */ void paintGL() override; /** Reimplemented from QOpenGLWidget @{ */ void mouseDoubleClickEvent(QMouseEvent*) override; void mousePressEvent(QMouseEvent*) override; void mouseMoveEvent(QMouseEvent*) override; void mouseReleaseEvent(QMouseEvent*) override; void wheelEvent(QWheelEvent*) override; void keyPressEvent(QKeyEvent*) override; void keyReleaseEvent(QKeyEvent*) override; /** @} */ private: QPointer m_molecule; QList m_tools; QtGui::ToolPlugin* m_activeTool; QtGui::ToolPlugin* m_defaultTool; Rendering::GLRenderer m_renderer; QtGui::ScenePluginModel m_scenePlugins; QTimer* m_renderTimer; }; } // End QtOpenGL namespace } // End Avogadro namespace #endif // AVOGADRO_QTOPENGL_GLWIDGET_H avogadrolibs-1.93.0/avogadro/qtopengl/qttextrenderstrategy.cpp000066400000000000000000000166751360735163600247640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "qttextrenderstrategy.h" #include #include #include #include #include #include #include #include #include #include #include #include #include using Avogadro::Rendering::TextProperties; namespace { inline Qt::Alignment textPropertiesToAlignment(const TextProperties& prop) { Qt::Alignment result = 0; switch (prop.hAlign()) { default: case TextProperties::HLeft: result |= Qt::AlignLeft; break; case TextProperties::HCenter: result |= Qt::AlignHCenter; break; case TextProperties::HRight: result |= Qt::AlignRight; break; } switch (prop.vAlign()) { default: case TextProperties::VTop: result |= Qt::AlignTop; break; case TextProperties::VCenter: result |= Qt::AlignVCenter; break; case TextProperties::VBottom: result |= Qt::AlignBottom; break; } return result; } inline QFont textPropertiesToQFont(const TextProperties& prop) { QString family; switch (prop.fontFamily()) { default: qWarning() << "Unknown font family id: " << prop.fontFamily() << "Defaulting to SansSerif."; case TextProperties::SansSerif: family = "sans"; break; case TextProperties::Serif: family = "serif"; break; case TextProperties::Mono: family = "mono"; break; } TextProperties::FontStyles style = prop.fontStyles(); QFont result(family, static_cast(prop.pixelHeight()) / 2 + 1, static_cast(style & TextProperties::Bold) ? QFont::Bold : QFont::Normal, static_cast(style & TextProperties::Italic)); result.setUnderline(static_cast(style & TextProperties::Underline)); // Scale the font size to match the specified pixel height: QFontMetricsF metrics(result); int iterLimiter = 0; // no more than 5 iterations below: do { result.setPointSizeF(result.pointSizeF() * static_cast(prop.pixelHeight()) / metrics.height()); metrics = QFontMetricsF(result); } while ( std::fabs(metrics.height() - static_cast(prop.pixelHeight())) > static_cast(0.5) && iterLimiter++ < 5); return result; } } // end anon namespace namespace Avogadro { namespace QtOpenGL { QtTextRenderStrategy::QtTextRenderStrategy() { } QtTextRenderStrategy::~QtTextRenderStrategy() { } Rendering::TextRenderStrategy* QtTextRenderStrategy::newInstance() const { return new QtTextRenderStrategy; } void QtTextRenderStrategy::boundingBox(const std::string& string, const Rendering::TextProperties& tprop, int bbox[]) const { QRect rect; const QFont font(textPropertiesToQFont(tprop)); const Qt::Alignment align(textPropertiesToAlignment(tprop)); rect = QFontMetrics(font).boundingRect(rect, align, QString::fromStdString(string)); // Rotate if needed if (tprop.rotationDegreesCW() != 0.f) { // Build transformation QMatrix transform; transform.rotate(static_cast(-tprop.rotationDegreesCW())); // Transform a floating point representation of the bbox QRectF tmpRect(rect); tmpRect = transform.mapRect(tmpRect); // Update the bbox, rounding values to give the largest containing bbox rect.setLeft(static_cast(std::floor(tmpRect.left()))); rect.setRight(static_cast(std::floor(tmpRect.right()))); rect.setTop(static_cast(std::ceil(tmpRect.top()))); rect.setBottom(static_cast(std::floor(tmpRect.bottom()))); } bbox[0] = rect.left(); bbox[1] = rect.right(); bbox[2] = rect.top(); bbox[3] = rect.bottom(); } void QtTextRenderStrategy::render(const std::string& string, const Rendering::TextProperties& tprop, unsigned char* buffer, const Vector2i& dims) const { // Convert inputs to Qt QString str = QString::fromStdString(string); Qt::Alignment flags = textPropertiesToAlignment(tprop); QFont font = textPropertiesToQFont(tprop); // Construct our target image to use the input buffer and clear it. QImage target(buffer, dims[0], dims[1], QImage::Format_ARGB32_Premultiplied); target.fill(qRgba(0, 0, 0, 0)); // Painter setup QPainter painter(&target); painter.setFont(font); // Get a tight bbox for the text without rotations: QRectF textRect(painter.boundingRect(QRectF(), flags, str)); // Undo any alignment translations of the bbox. textRect.translate(-textRect.topLeft()); // Apply rotation, if any qreal rot(static_cast(tprop.rotationDegreesCW())); if (rot != 0.f) { // Rotate the painter: painter.rotate(static_cast(rot)); // Convert the bbox into a polygon and rotate it QPolygonF textCorners(textRect); textCorners = painter.transform().map(textCorners); // Find the new origin in the rotated space: QPointF newOrigin(-textCorners.boundingRect().topLeft()); // Rotate the point back (drawText will reapply the rotation) newOrigin = painter.transform().inverted().map(newOrigin); // Account for the rotation in the bbox: textRect.translate(newOrigin); } // Draw the text painter.setPen( QColor(tprop.red(), tprop.green(), tprop.blue(), tprop.alpha())); painter.drawText(textRect, flags, str); painter.end(); // Convert the buffer from ARGB --> RGBA for openGL by default if (!m_preserveArgb) argbToRgba(buffer, dims[0] * dims[1]); } namespace { template inline void argbToRgbaWorker(quint32 in, quint32& out) { Q_UNUSED(in) Q_UNUSED(out) qWarning("QtTextRenderStrategy::argbToRgba: Invalid byte order."); } template <> inline void argbToRgbaWorker(quint32 in, quint32& out) { out = ((in >> 24) & 0xff) | (in << 8); } template <> inline void argbToRgbaWorker(quint32 in, quint32& out) { out = ((in << 16) & 0xff0000) | ((in >> 16) & 0xff) | (in & 0xff00ff00); } } // end anon namespace void QtTextRenderStrategy::argbToRgba(unsigned char* buffer, size_t pixels) { // Adapted from QGLWidget::convertToGLFormat to perform the conversion // in-place. // input: 0xAARRGGBB // output: 0xRRGGBBAA (big endian) // output: 0xAABBGGRR (little endian) quint32* cur = reinterpret_cast(buffer); quint32* end = &cur[pixels]; while (cur < end) { // Ignore empty pixels if (*cur) argbToRgbaWorker(*cur, *cur); cur++; } } } // namespace QtOpenGL } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtopengl/qttextrenderstrategy.h000066400000000000000000000042251360735163600244150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_QTTEXTRENDERSTRATEGY_H #define AVOGADRO_QTGUI_QTTEXTRENDERSTRATEGY_H #include "avogadroqtopenglexport.h" #include #include namespace Avogadro { namespace QtOpenGL { /** * @class QtTextRenderStrategy qttextrenderstrategy.h * * @brief The QtTextRenderStrategy class uses the Qt toolkit to render text. */ class AVOGADROQTOPENGL_EXPORT QtTextRenderStrategy : public Rendering::TextRenderStrategy { public: QtTextRenderStrategy(); ~QtTextRenderStrategy() override; TextRenderStrategy* newInstance() const override; void boundingBox(const std::string& string, const Rendering::TextProperties& tprop, int bbox[4]) const override; void render(const std::string& string, const Rendering::TextProperties& tprop, unsigned char* buffer, const Vector2i& dims) const override; /** * Keep the buffer as a QImage::Format_ARGB32_Premultiplied image. Useful * for testing. * @note The result buffer may or may not actually be ARGB ordered depending * on system endianness. See the QImage docs for more info. * @{ */ bool preserveArgb() const { return m_preserveArgb; } void setPreserveArgb(bool b) { m_preserveArgb = b; } /** @} */ private: static void argbToRgba(unsigned char* buffer, size_t pixels); bool m_preserveArgb; }; } // namespace QtOpenGL } // namespace Avogadro #endif // AVOGADRO_QTOPENGL_QTTEXTRENDERSTRATEGY_H avogadrolibs-1.93.0/avogadro/qtplugins/000077500000000000000000000000001360735163600201225ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/3dmol/000077500000000000000000000000001360735163600211405ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/3dmol/3dmol.cpp000066400000000000000000000034001360735163600226570ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Barry E Moore II This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "3dmol.h" #include "3dmoldialog.h" #include #include namespace Avogadro { namespace QtPlugins { ThreeDMol::ThreeDMol(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_action(new QAction(this)), m_dialog(nullptr), m_molecule(nullptr) { m_action->setEnabled(true); m_action->setText("&3DMol HTML Snippet..."); connect(m_action, SIGNAL(triggered()), SLOT(showDialog())); } ThreeDMol::~ThreeDMol() { } QString ThreeDMol::description() const { return tr("ThreeDMol HTML Block."); } QList ThreeDMol::actions() const { return QList() << m_action; } QStringList ThreeDMol::menuPath(QAction*) const { return QStringList() << tr("&File") << tr("&Export"); } void ThreeDMol::setMolecule(QtGui::Molecule* mol) { if (mol == m_molecule) return; m_molecule = mol; if (m_dialog) m_dialog->setMolecule(m_molecule); } void ThreeDMol::showDialog() { if (!m_dialog) { m_dialog = new ThreeDMolDialog(m_molecule, qobject_cast(this->parent())); } m_dialog->show(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/3dmol/3dmol.h000066400000000000000000000030751360735163600223340ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Barry E Moore II This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_ThreeDMOL_H #define AVOGADRO_QTPLUGINS_ThreeDMOL_H #include namespace Avogadro { namespace Core { class Molecule; } namespace QtPlugins { class ThreeDMolDialog; /** * @brief The ThreeDMol class is an extension to launch * a ThreeDMolDialog. */ class ThreeDMol : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit ThreeDMol(QObject* parent_ = 0); ~ThreeDMol() override; QString name() const override { return tr("ThreeDMol"); } QString description() const override; QList actions() const override; QStringList menuPath(QAction*) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; private slots: void showDialog(); private: QAction* m_action; ThreeDMolDialog* m_dialog; QtGui::Molecule* m_molecule; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_ThreeDMOLEXTENSION_H avogadrolibs-1.93.0/avogadro/qtplugins/3dmol/3dmoldialog.cpp000066400000000000000000000067221360735163600240510ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Barry E Moore II This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "3dmoldialog.h" #include "ui_3dmoldialog.h" #include #include #include #include #include using Avogadro::QtGui::Molecule; namespace Avogadro { namespace QtPlugins { ThreeDMolDialog::ThreeDMolDialog(QtGui::Molecule* mol, QWidget* parent_) : QDialog(parent_), m_molecule(nullptr), m_ui(new Ui::ThreeDMolDialog) { m_ui->setupUi(this); setMolecule(mol); } ThreeDMolDialog::~ThreeDMolDialog() { delete m_ui; } void ThreeDMolDialog::setMolecule(QtGui::Molecule* mol) { if (mol == m_molecule) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (!m_molecule) return; connect(m_molecule, SIGNAL(changed(unsigned int)), SLOT(updateLabels())); connect(m_molecule, SIGNAL(destroyed()), SLOT(moleculeDestroyed())); connect(m_ui->exitButton, SIGNAL(clicked()), SLOT(close())); connect(m_ui->copyButton, SIGNAL(clicked()), SLOT(copyToClipboard())); updateLabels(); } void ThreeDMolDialog::updateLabels() { if (m_molecule) { updateTextBrowser(); } else { m_ui->plainTextEdit->clear(); } } void ThreeDMolDialog::updateTextBrowser() { QString text = "\n"; // MDL representation std::string mol; bool writeSDF = Io::FileFormatManager::instance().writeString(*m_molecule, mol, "sdf"); text.append("
\n"); else text.append(" data-type='xyz' data-backgroundcolor='0xffffff' " "data-style='stick'>\n"); text.append(""); m_ui->plainTextEdit->setPlainText(text); } void ThreeDMolDialog::moleculeDestroyed() { m_molecule = nullptr; updateLabels(); } void ThreeDMolDialog::copyToClipboard() { QApplication::clipboard()->setText(m_ui->plainTextEdit->toPlainText()); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/3dmol/3dmoldialog.h000066400000000000000000000032441360735163600235120ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Barry E Moore II This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_ThreeDMOLDIALOG_H #define AVOGADRO_QTGUI_ThreeDMOLDIALOG_H #include namespace Avogadro { namespace QtGui { class Molecule; } namespace QtPlugins { namespace Ui { class ThreeDMolDialog; } /** * @class ThreeDMolDialog 3dmoldialog.h * @brief The ThreeDMolDialog class provides a dialog which displays * basic molecular properties. * @author Barry E. Moore II * * @todo IUPAC name fetch (need inchi key). */ class ThreeDMolDialog : public QDialog { Q_OBJECT public: explicit ThreeDMolDialog(QtGui::Molecule* mol, QWidget* parent_ = 0); ~ThreeDMolDialog() override; QtGui::Molecule* molecule() { return m_molecule; } public slots: void setMolecule(QtGui::Molecule* mol); private slots: void updateLabels(); void updateTextBrowser(); void moleculeDestroyed(); void copyToClipboard(); private: QtGui::Molecule* m_molecule; Ui::ThreeDMolDialog* m_ui; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTGUI_ThreeDMOLDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/3dmol/3dmoldialog.ui000066400000000000000000000027731360735163600237060ustar00rootroot00000000000000 Avogadro::QtPlugins::ThreeDMolDialog true 0 0 370 257 3DMol HTML Snippet true &Copy to Clipboard Ctrl+C &Exit Ctrl+E avogadrolibs-1.93.0/avogadro/qtplugins/3dmol/CMakeLists.txt000066400000000000000000000003121360735163600236740ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_BINARY_DIR}) avogadro_plugin(ThreeDMol "The 3DMol HTML Block Generator" ExtensionPlugin 3dmol.h ThreeDMol "3dmol.cpp;3dmoldialog.cpp" "3dmoldialog.ui" ) avogadrolibs-1.93.0/avogadro/qtplugins/CMakeLists.txt000066400000000000000000000157351360735163600226750ustar00rootroot00000000000000find_package(Eigen3 REQUIRED) include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) find_package(Qt5 COMPONENTS Widgets Network Concurrent REQUIRED) include_directories(SYSTEM ${Qt5Widgets_INCLUDE_DIRS}) add_definitions(${Qt5Widgets_DEFINITIONS}) # Modify the output directory for the build tree. set(original_library_output_dir "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${original_library_output_dir}/avogadro2/plugins") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${original_library_output_dir}/avogadro2/staticplugins") # Optionally build all plugins statically. option(BUILD_STATIC_PLUGINS "Build static plugins by default" ON) # Allow GPL plugins to be disabled. option(BUILD_GPL_PLUGINS "Build plugins that are licensed under the GNU Public License." OFF) # Create a plugin for Avogadro. # name is the name of the plugin, this will be the name of the target created. # description Free text description of the plugin. # type The base class of the plugin. # header is the header(s) for the class to be instantiated for the plugin. # pluginClass is the class to be instantiated for the plugin. # sources is the list of source files for the plugin. # uis is the list of UI files that need to be compiled (optional). # rcs is the list of qrc files that need to be compiled (optional). function(avogadro_plugin name description type header pluginClass sources) set(uis "") set(rcs "") if(${ARGC} GREATER 6) set(uis ${ARGV6}) endif() if(${ARGC} GREATER 7) set(rcs ${ARGV7}) endif() qt5_wrap_ui(ui_srcs ${uis}) qt5_add_resources(rc_srcs ${rcs}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) unset(PluginIncludes) foreach(_header ${header}) set(PluginIncludes "${PluginIncludes}#include \"${CMAKE_CURRENT_SOURCE_DIR}/${_header}\"\n") endforeach() set(PluginName "${name}") set(PluginDescription "${description}") set(PluginType "${type}") set(PluginClass "${pluginClass}") configure_file("${AvogadroLibs_SOURCE_DIR}/cmake/avogadroplugin.cpp.in" "${CMAKE_CURRENT_BINARY_DIR}/${name}Plugin.cpp") # Figure out which type of plugin is being added, and put it in the right list if(BUILD_STATIC_PLUGINS) set(_plugin_object "STATIC") set_property(GLOBAL APPEND PROPERTY AvogadroLibs_STATIC_PLUGINS ${name}) if(rcs) get_filename_component(_name_we ${rcs} NAME_WE) set_property(GLOBAL APPEND PROPERTY AvogadroLibs_STATIC_RCS ${_name_we}) endif() else() set(_plugin_object "MODULE") set_property(GLOBAL APPEND PROPERTY AvogadroLibs_PLUGINS ${name}) endif() add_library(${name} ${_plugin_object} ${sources} ${ui_srcs} ${rc_srcs} ${name}Plugin.cpp ) target_link_libraries(${name} LINK_PRIVATE AvogadroCore AvogadroQtGui) if("${_plugin_object}" STREQUAL "STATIC") set_target_properties(${name} PROPERTIES COMPILE_DEFINITIONS "QT_STATICPLUGIN") if(UNIX) # Need -fPIC for static plugins linked to shared libs on Unix. set_target_properties(${name} PROPERTIES COMPILE_FLAGS "-fPIC") endif() endif() set_target_properties(${name} PROPERTIES AUTOMOC TRUE PREFIX "") install(TARGETS ${name} EXPORT "AvogadroLibsTargets" RUNTIME DESTINATION "${INSTALL_RUNTIME_DIR}" LIBRARY DESTINATION "${INSTALL_LIBRARY_DIR}/avogadro2/plugins" ARCHIVE DESTINATION "${INSTALL_ARCHIVE_DIR}/avogadro2/staticplugins") endfunction() # Now to make the plugins. add_subdirectory(3dmol) add_subdirectory(bondcentrictool) add_subdirectory(bonding) add_subdirectory(commandscripts) add_subdirectory(coordinateeditor) add_subdirectory(copypaste) add_subdirectory(crystal) add_subdirectory(customelements) add_subdirectory(editor) add_subdirectory(hydrogens) add_subdirectory(importpqr) add_subdirectory(lammpsinput) add_subdirectory(lineformatinput) add_subdirectory(manipulator) add_subdirectory(measuretool) add_subdirectory(molecularproperties) add_subdirectory(mongochem) add_subdirectory(navigator) add_subdirectory(networkdatabases) add_subdirectory(openbabel) add_subdirectory(playertool) add_subdirectory(povray) add_subdirectory(select) add_subdirectory(selectiontool) if(USE_SPGLIB) add_subdirectory(spacegroup) endif() add_subdirectory(surfaces) add_subdirectory(spectra) add_subdirectory(vrml) if(USE_VTK) add_subdirectory(plotpdf) add_subdirectory(plotrmsd) add_subdirectory(plotxrd) add_subdirectory(coloropacitymap) endif() if(USE_MOLEQUEUE) add_subdirectory(apbs) add_subdirectory(gamessinput) add_subdirectory(quantuminput) add_subdirectory(scriptfileformats) endif() if(USE_LIBARCHIVE) add_subdirectory(plugindownloader) endif() if(USE_LIBMSYM) add_subdirectory(symmetry) endif() # The scene plugins add_subdirectory(ballandstick) add_subdirectory(licorice) add_subdirectory(vanderwaals) add_subdirectory(wireframe) add_subdirectory(force) add_subdirectory(meshes) add_subdirectory(overlayaxes) add_subdirectory(vanderwaalsao) if (USE_PROTOCALL) add_subdirectory(clientserver) endif() if(BUILD_GPL_PLUGINS) # qtaimcurvature.h/cpp contains GPL licensed code: add_subdirectory(qtaim) endif() set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${original_library_output_dir}") # Add all of the static plugins to the initialization file. get_property(AvogadroLibs_STATIC_PLUGINS GLOBAL PROPERTY AvogadroLibs_STATIC_PLUGINS) get_property(AvogadroLibs_STATIC_RCS GLOBAL PROPERTY AvogadroLibs_STATIC_RCS) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/avogadrostaticqtplugins.h.in" "// Automatically generated file. Do not edit. #ifndef AVOGADRO_STATIC_QTPLUGINS_H #define AVOGADRO_STATIC_QTPLUGINS_H #include \n\n") foreach(_plugin ${AvogadroLibs_STATIC_PLUGINS}) file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/avogadrostaticqtplugins.h.in" "Q_IMPORT_PLUGIN(${_plugin}Factory)\n") endforeach() file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/avogadrostaticqtplugins.h.in" "\nvoid initAvogadroPluginResources() {\n") foreach(_rcs ${AvogadroLibs_STATIC_RCS}) file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/avogadrostaticqtplugins.h.in" " Q_INIT_RESOURCE(${_rcs});\n") endforeach() file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/avogadrostaticqtplugins.h.in" "}\n\n") file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/avogadrostaticqtplugins.h.in" "\n#endif // AVOGADRO_STATIC_QTPLUGINS_H\n") # Configure the static plugin header, ensuring it only changes if the contents # are modified - otherwise the original timestamp will be maintained. configure_file("${CMAKE_CURRENT_BINARY_DIR}/avogadrostaticqtplugins.h.in" "${CMAKE_CURRENT_BINARY_DIR}/avogadrostaticqtplugins.h") # Now to build the plugin library, which can also statically link plugins # and initialize them for the application. If Avogadro is built statically # then the static plugin header must be included by the application. set(HEADERS pluginmanager.h pluginfactory.h "${CMAKE_CURRENT_BINARY_DIR}/avogadrostaticqtplugins.h" ) set(SOURCES pluginmanager.cpp ) avogadro_add_library(AvogadroQtPlugins ${HEADERS} ${SOURCES}) target_link_libraries(AvogadroQtPlugins LINK_PUBLIC ${Qt5Core_LIBRARIES} LINK_PRIVATE ${AvogadroLibs_STATIC_PLUGINS} AvogadroQtGui) avogadrolibs-1.93.0/avogadro/qtplugins/apbs/000077500000000000000000000000001360735163600210475ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/apbs/CMakeLists.txt000066400000000000000000000007261360735163600236140ustar00rootroot00000000000000# Pull in MoleQueue (needed for QtJson) find_package(MoleQueue REQUIRED NO_MODULE) include_directories(${MoleQueue_INCLUDE_DIRS}) set(apbs_srcs apbs.cpp apbsdialog.cpp apbsoutputdialog.cpp opendxreader.cpp ) set(apbs_uis apbsdialog.ui apbsoutputdialog.ui ) avogadro_plugin(apbs "APBS Extension" ExtensionPlugin apbs.h Apbs "${apbs_srcs}" "${apbs_uis}" ) target_link_libraries(apbs LINK_PRIVATE AvogadroIO AvogadroMoleQueue MoleQueueClient) avogadrolibs-1.93.0/avogadro/qtplugins/apbs/apbs.cpp000066400000000000000000000124501360735163600225020ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "apbs.h" #include "apbsdialog.h" #include "opendxreader.h" #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Mesh; Apbs::Apbs(QObject* parent_) : QtGui::ExtensionPlugin(parent_), m_molecule(nullptr), m_progressDialog(nullptr), m_dialog(nullptr) { QAction* action = new QAction(this); action->setText(tr("Run APBS")); connect(action, SIGNAL(triggered()), this, SLOT(onRunApbs())); m_actions.append(action); action = new QAction(this); action->setText(tr("Open Output File")); connect(action, SIGNAL(triggered()), this, SLOT(onOpenOutputFile())); m_actions.append(action); } Apbs::~Apbs() { delete m_dialog; delete m_progressDialog; } QStringList Apbs::menuPath(QAction*) const { return QStringList() << tr("&Extensions") << tr("&APBS"); } void Apbs::setMolecule(QtGui::Molecule* mol) { if (mol != m_molecule) m_molecule = mol; } void Apbs::onOpenOutputFile() { QString fileName = QFileDialog::getOpenFileName( qobject_cast(parent()), tr("Open Output File"), QString(), tr("OpenDX File (*.dx)")); if (fileName.isEmpty()) return; if (!m_molecule) return; loadOpenDxFile(fileName, *m_molecule); } void Apbs::meshGeneratorFinished() { QtGui::MeshGenerator* generator = qobject_cast(sender()); if (!generator) { return; } // delete the generator generator->deleteLater(); m_progressDialog->setValue(m_progressDialog->maximum()); m_progressDialog->hide(); } void Apbs::onMeshGeneratorProgress(int value) { m_progressDialog->setValue(value); qApp->processEvents(); } void Apbs::onRunApbs() { if (!m_dialog) m_dialog = new ApbsDialog(qobject_cast(parent())); m_dialog->setMolecule(m_molecule); int code = m_dialog->exec(); m_dialog->hide(); if (code == QDialog::Accepted) { m_pqrFileName = m_dialog->pqrFileName(); m_cubeFileName = m_dialog->cubeFileName(); emit moleculeReady(1); } } bool Apbs::readMolecule(QtGui::Molecule& molecule) { bool ok = Io::FileFormatManager::instance().readFile( molecule, m_pqrFileName.toStdString()); if (!ok) { QMessageBox::critical( qobject_cast(parent()), tr("IO Error"), tr("Error reading structure file (%1).").arg(m_pqrFileName)); return false; } if (!m_cubeFileName.isEmpty()) { // load the cube file and generate meshes ok = loadOpenDxFile(m_cubeFileName, molecule); if (!ok) return false; } return true; } bool Apbs::loadOpenDxFile(const QString& fileName, QtGui::Molecule& molecule) { OpenDxReader reader; bool ok = reader.readFile(fileName); if (!ok) { QMessageBox::critical( qobject_cast(parent()), tr("OpenDX Error"), tr("Error reading OpenDX file: %1").arg(reader.errorString())); } else { const Core::Cube* cube = reader.cube(); if (!cube) { QMessageBox::critical(qobject_cast(parent()), tr("OpenDX Error"), tr("Error reading OpenDX file: No cube found")); } else { if (!m_progressDialog) m_progressDialog = new QProgressDialog(qobject_cast(parent())); // generate positive mesh m_progressDialog->setLabelText("Generating Positive Potential Mesh"); m_progressDialog->setRange(0, 100); m_progressDialog->setValue(1); qApp->processEvents(); Mesh* mesh = molecule.addMesh(); QtGui::MeshGenerator* meshGenerator = new QtGui::MeshGenerator(cube, mesh, 0.1f); connect(meshGenerator, SIGNAL(finished()), this, SLOT(meshGeneratorFinished())); connect(meshGenerator, SIGNAL(progressValueChanged(int)), this, SLOT(onMeshGeneratorProgress(int))); meshGenerator->run(); // generate negative mesh m_progressDialog->setLabelText("Generating Negative Potential Mesh"); m_progressDialog->setRange(0, 100); m_progressDialog->setValue(1); qApp->processEvents(); mesh = molecule.addMesh(); meshGenerator = new QtGui::MeshGenerator(cube, mesh, -0.1f); connect(meshGenerator, SIGNAL(finished()), this, SLOT(meshGeneratorFinished())); connect(meshGenerator, SIGNAL(progressValueChanged(int)), this, SLOT(onMeshGeneratorProgress(int))); meshGenerator->run(); m_progressDialog->setValue(100); m_progressDialog->hide(); } } return true; } } } avogadrolibs-1.93.0/avogadro/qtplugins/apbs/apbs.h000066400000000000000000000040271360735163600221500ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_APBS_APBS_H #define AVOGADRO_QTPLUGINS_APBS_APBS_H #include #include class QProgressDialog; namespace Avogadro { namespace QtPlugins { class ApbsDialog; /** * @brief The Apbs class provides integration with the APBS package, primarily * reading the OpenDX output files produced by it at this point. */ class Apbs : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit Apbs(QObject* parent_ = 0); ~Apbs() override; QString name() const override { return tr("APBS"); } QString description() const override { return tr("Interact with APBS utilities."); } QList actions() const override { return m_actions; } QStringList menuPath(QAction*) const override; void setMolecule(QtGui::Molecule*) override; bool readMolecule(QtGui::Molecule&) override; private slots: void onOpenOutputFile(); void onMeshGeneratorProgress(int value); void meshGeneratorFinished(); void onRunApbs(); private: /** * Loads the cube from the OpenDX file and adds the meshes to the molecule. */ bool loadOpenDxFile(const QString& fileName, QtGui::Molecule& molecule); private: QtGui::Molecule* m_molecule; QList m_actions; QProgressDialog* m_progressDialog; ApbsDialog* m_dialog; QString m_pqrFileName; QString m_cubeFileName; }; } } #endif // AVOGADRO_QTPLUGINS_APBS_APBS_H avogadrolibs-1.93.0/avogadro/qtplugins/apbs/apbsdialog.cpp000066400000000000000000000147201360735163600236640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include "apbsdialog.h" #include "apbsoutputdialog.h" #include "ui_apbsdialog.h" #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using MoleQueue::InputGenerator; ApbsDialog::ApbsDialog(QWidget* parent_) : QDialog(parent_), m_ui(new Ui::ApbsDialog), m_molecule(0), m_inputGenerator( new InputGenerator(QCoreApplication::applicationDirPath() + "/../" + QtGui::Utilities::libraryDirectory() + "/avogadro2/scripts/inputGenerators/apbs.py")), m_loadStructureFile(false), m_loadCubeFile(false) { m_ui->setupUi(this); connect(m_ui->closeButton, SIGNAL(clicked()), this, SLOT(reject())); connect(m_ui->openPdbFileButton, SIGNAL(clicked()), this, SLOT(openPdbFile())); connect(m_ui->openPqrFileButton, SIGNAL(clicked()), this, SLOT(openPqrFile())); connect(m_ui->runApbsButton, SIGNAL(clicked()), this, SLOT(runApbs())); connect(m_ui->runPdb2PqrButton, SIGNAL(clicked()), this, SLOT(runPdb2Pqr())); connect(m_ui->saveInputFileButton, SIGNAL(clicked()), this, SLOT(saveInputFile())); } ApbsDialog::~ApbsDialog() { delete m_ui; delete m_inputGenerator; } void ApbsDialog::setMolecule(QtGui::Molecule* molecule) { if (molecule != m_molecule) { m_molecule = molecule; // clear values from previous runs m_ui->pdbFileLineEdit->clear(); m_ui->pqrFileLineEdit->clear(); m_ui->textEdit->clear(); } } QString ApbsDialog::pqrFileName() const { if (m_ui->generateFromPdbButton->isChecked()) return m_generatedPqrFileName; else return m_ui->pqrFileLineEdit->text(); } QString ApbsDialog::cubeFileName() const { return m_cubeFileName; } void ApbsDialog::openPdbFile() { QString fileName = QFileDialog::getOpenFileName( qobject_cast(parent()), tr("Open PDB File"), QString(), tr("PDB Files (*.pdb)")); if (!fileName.isEmpty()) { m_ui->pdbFileLineEdit->setText(fileName); m_ui->generateFromPdbButton->setChecked(true); } } void ApbsDialog::openPqrFile() { QString fileName = QFileDialog::getOpenFileName( qobject_cast(parent()), tr("Open PQR File"), QString(), tr("PQR Files (*.pqr)")); if (!fileName.isEmpty()) { m_ui->pqrFileLineEdit->setText(fileName); m_ui->loadFromPqrButton->setChecked(true); } updatePreviewTextImmediately(); } void ApbsDialog::runApbs() { saveInputFile("apbs.in"); // run apbs QStringList arguments; arguments.append("apbs.in"); QProcess process; process.start("apbs", arguments); // FIXME: show progress dialog process.waitForFinished(); if (process.exitStatus() == QProcess::NormalExit) { m_cubeFileName = "pot-PE0.dx"; ApbsOutputDialog dialog(this); connect(&dialog, SIGNAL(accepted()), this, SLOT(accept())); int code = dialog.exec(); if (code == QDialog::Accepted) { m_loadStructureFile = dialog.loadStructureFile(); m_loadCubeFile = dialog.loadCubeFile(); } else { m_loadStructureFile = false; m_loadCubeFile = false; } } else { m_loadStructureFile = false; m_loadCubeFile = false; QMessageBox::critical(this, tr("Error"), tr("Error running APBS: %1") .arg(process.readAllStandardError().constData())); } } void ApbsDialog::runPdb2Pqr() { QString pdbFileName = m_ui->pdbFileLineEdit->text(); if (pdbFileName.isEmpty()) { QMessageBox::critical(this, tr("Error"), tr("Please specify PDB file")); return; } QString pqrFileName_ = QFileInfo(pdbFileName).baseName() + ".pqr"; QString forceFieldName = m_ui->forceFieldComboBox->currentText(); // run pdb2pqr QStringList arguments; arguments.append("--ff"); arguments.append(forceFieldName); arguments.append(pdbFileName); arguments.append(pqrFileName_); QProcess process; process.start("pdb2pqr", arguments); process.waitForFinished(); if (process.exitStatus() == QProcess::NormalExit) { QMessageBox::information(this, "Success", QString("Generated %1").arg(pqrFileName_)); m_generatedPqrFileName = pqrFileName_; updatePreviewTextImmediately(); } else { QMessageBox::critical(this, "Error", QString("Error running PDB2PQR")); m_generatedPqrFileName.clear(); } } void ApbsDialog::saveInputFile() { QString fileName = QFileDialog::getSaveFileName( this, tr("Save APBS Input File"), "apbs.in", tr("ABPS Input (*.in)")); if (!fileName.isEmpty()) { saveInputFile(fileName); QMessageBox::information(this, tr("Success"), tr("Input file written to '%1'").arg(fileName)); } } void ApbsDialog::saveInputFile(const QString& fileName) { QString contents = m_inputGenerator->fileContents("apbs.in"); QFile file(fileName); file.open(QFile::WriteOnly); file.write(contents.toLocal8Bit()); file.close(); } void ApbsDialog::updatePreviewTextImmediately() { QString pqrFileName_; if (m_ui->generateFromPdbButton->isChecked()) pqrFileName_ = m_generatedPqrFileName; else pqrFileName_ = m_ui->pqrFileLineEdit->text(); QJsonObject inputOptions; QJsonObject options; options["mainFile"] = pqrFileName_; options["Input File"] = pqrFileName_; options["Calculation"] = QString("mg-auto"); inputOptions["options"] = options; QJsonObject settings; inputOptions["settings"] = settings; bool success = m_inputGenerator->generateInput(inputOptions, *m_molecule); if (!success) { // FIXME: show in a dialog std::cerr << "errors: " << std::endl; foreach (const QString& error, m_inputGenerator->errorList()) { std::cerr << " " << error.toStdString() << std::endl; } } m_ui->textEdit->setText(m_inputGenerator->fileContents("apbs.in")); } } } avogadrolibs-1.93.0/avogadro/qtplugins/apbs/apbsdialog.h000066400000000000000000000036201360735163600233260ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_APBS_APBSDIALOG_H #define AVOGADRO_QTPLUGINS_APBS_APBSDIALOG_H #include #include namespace Ui { class ApbsDialog; } namespace Avogadro { namespace QtGui { class Molecule; } namespace MoleQueue { class InputGenerator; } namespace QtPlugins { /** * @brief Dialog for running APBS. */ class ApbsDialog : public QDialog { Q_OBJECT public: /** * Constructor for ApbsDialog. */ ApbsDialog(QWidget* parent_ = 0); /** * Destructor for ApbsDialog. */ ~ApbsDialog() override; void setMolecule(QtGui::Molecule* molecule); /** * Returns the file name for the input .pqr file. */ QString pqrFileName() const; /** * Returns the file name for the output .dx file. */ QString cubeFileName() const; private slots: void openPdbFile(); void openPqrFile(); void runApbs(); void runPdb2Pqr(); void saveInputFile(); void saveInputFile(const QString& fileName); private: void updatePreviewTextImmediately(); private: Ui::ApbsDialog* m_ui; QString m_generatedPqrFileName; QtGui::Molecule* m_molecule; MoleQueue::InputGenerator* m_inputGenerator; QString m_cubeFileName; bool m_loadStructureFile; bool m_loadCubeFile; }; } } #endif // AVOGADRO_QTPLUGINS_APBS_APBSDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/apbs/apbsdialog.ui000066400000000000000000000126301360735163600235150ustar00rootroot00000000000000 ApbsDialog 0 0 794 644 APBS Structure Input File Generate Input From PDB true PDB File: ... 0 0 Force Field: AMBER CHARMM PARSE TYL06 PEOEPB SWANSON 0 0 Run PDB2PQR Load Existing PQR File PQR File: ... APBS Input File Save Input File Run APBS Close avogadrolibs-1.93.0/avogadro/qtplugins/apbs/apbsoutputdialog.cpp000066400000000000000000000026251360735163600251460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include "apbsoutputdialog.h" #include "opendxreader.h" #include "ui_apbsoutputdialog.h" #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { ApbsOutputDialog::ApbsOutputDialog(QWidget* parent_) : QDialog(parent_), m_ui(new Ui::ApbsOutputDialog) { m_ui->setupUi(this); } ApbsOutputDialog::~ApbsOutputDialog() { } bool ApbsOutputDialog::loadStructureFile() const { return m_ui->loadStructureCheckBox->isChecked(); } bool ApbsOutputDialog::loadCubeFile() const { return m_ui->loadCubeCheckBox->isChecked(); } } } avogadrolibs-1.93.0/avogadro/qtplugins/apbs/apbsoutputdialog.h000066400000000000000000000031611360735163600246070ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_APBS_APBSOUTPUTDIALOG_H #define AVOGADRO_QTPLUGINS_APBS_APBSOUTPUTDIALOG_H #include namespace Ui { class ApbsOutputDialog; } namespace Avogadro { namespace QtPlugins { /** * @brief Dialog indicating a successful run of APBS. * * The ApbsOutputDialog class is used to tell the user that the run of APBS * was successful. It allows the user to select which of the input and output * files to load. */ class ApbsOutputDialog : public QDialog { Q_OBJECT public: /** * Constructor for ApbsOutputDialog. */ ApbsOutputDialog(QWidget* parent_ = 0); /** * Destructor for ApbsOutputDialog. */ ~ApbsOutputDialog() override; /** * Returns true if the user checked the 'Load Structure' check box. */ bool loadStructureFile() const; /** * Returns true if the user checked the 'Load Cube' check box. */ bool loadCubeFile() const; private: Ui::ApbsOutputDialog* m_ui; }; } } #endif // AVOGADRO_QTPLUGINS_APBS_APBSOUTPUTDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/apbs/apbsoutputdialog.ui000066400000000000000000000040571360735163600250020ustar00rootroot00000000000000 ApbsOutputDialog 0 0 325 99 Success Success! Load Structure File true Load Cube File true Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() ApbsOutputDialog accept() 248 254 157 274 buttonBox rejected() ApbsOutputDialog reject() 316 260 286 274 avogadrolibs-1.93.0/avogadro/qtplugins/apbs/opendxreader.cpp000066400000000000000000000052121360735163600242330ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "opendxreader.h" #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Cube; OpenDxReader::OpenDxReader() : m_cube(0) { } OpenDxReader::~OpenDxReader() { } bool OpenDxReader::readFile(const QString& fileName) { QFile file(fileName); if (!file.open(QFile::ReadOnly)) { m_errorString = "Failed to open file for reading"; return false; } delete m_cube; Vector3i dim(0, 0, 0); Vector3 origin(0, 0, 0); QVector spacings; std::vector values; while (!file.atEnd()) { QByteArray line = file.readLine(); QTextStream stream(line); if (line.isEmpty()) { // skip empty line continue; } else if (line[0] == '#') { // skip comment line continue; } else if (line.startsWith("object")) { if (dim[0] != 0) continue; QString unused; stream >> unused >> unused >> unused >> unused >> unused; stream >> dim[0] >> dim[1] >> dim[2]; } else if (line.startsWith("origin")) { QString unused; stream >> unused >> origin[0] >> origin[1] >> origin[2]; } else if (line.startsWith("delta")) { QString unused; Vector3 delta; stream >> unused >> delta[0] >> delta[1] >> delta[2]; spacings.append(delta); } else if (line.startsWith("attribute")) { continue; } else if (line.startsWith("component")) { continue; } else { // data line while (!stream.atEnd()) { double value; stream >> value; values.push_back(value); stream.skipWhiteSpace(); } } } Vector3 spacing(spacings[0][0], spacings[1][1], spacings[2][2]); // create potential cube m_cube = new Cube; m_cube->setCubeType(Cube::ESP); m_cube->setLimits(origin, dim, spacing); m_cube->setData(values); return true; } QString OpenDxReader::errorString() const { return m_errorString; } Cube* OpenDxReader::cube() const { return m_cube; } } } avogadrolibs-1.93.0/avogadro/qtplugins/apbs/opendxreader.h000066400000000000000000000030341360735163600237000ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_APBS_OPENDXREADER_H #define AVOGADRO_QTPLUGINS_APBS_OPENDXREADER_H #include namespace Avogadro { namespace Core { class Cube; } namespace QtPlugins { /** * @brief Provide a reader for OpenDX files. */ class OpenDxReader { public: /** * Constructor for OpenDxReader. */ OpenDxReader(); /** * Destructor for OpenDxReader. */ ~OpenDxReader(); /** * Reads the file with the given @fileName. Returns false if an error * occurs. */ bool readFile(const QString& fileName); /** * @return String describing the last error that occured. */ QString errorString() const; /** * Returns the potential energy cube read from the file. Returns 0 if no file * has been successfully read. */ Core::Cube* cube() const; private: Core::Cube* m_cube; QString m_errorString; }; } } #endif // AVOGADRO_QTPLUGINS_APBS_OPENDXREADER_H avogadrolibs-1.93.0/avogadro/qtplugins/ballandstick/000077500000000000000000000000001360735163600225555ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/ballandstick/CMakeLists.txt000066400000000000000000000003061360735163600253140ustar00rootroot00000000000000avogadro_plugin(BallStick "Ball and stick rendering scheme" ScenePlugin ballandstick.h BallAndStick ballandstick.cpp "") target_link_libraries(BallStick LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/ballandstick/ballandstick.cpp000066400000000000000000000175211360735163600257220ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "ballandstick.h" #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Elements; using Core::Molecule; using Rendering::GeometryNode; using Rendering::GroupNode; using Rendering::SphereGeometry; using Rendering::CylinderGeometry; BallAndStick::BallAndStick(QObject* p) : ScenePlugin(p), m_enabled(true), m_group(nullptr), m_setupWidget(nullptr), m_multiBonds(true), m_showHydrogens(true) { } BallAndStick::~BallAndStick() { if (m_setupWidget) m_setupWidget->deleteLater(); } void BallAndStick::process(const Molecule& molecule, Rendering::GroupNode& node) { // Add a sphere node to contain all of the spheres. m_group = &node; GeometryNode* geometry = new GeometryNode; node.addChild(geometry); SphereGeometry* spheres = new SphereGeometry; auto selectedSpheres = new SphereGeometry; selectedSpheres->setOpacity(0.42); spheres->identifier().molecule = reinterpret_cast(&molecule); spheres->identifier().type = Rendering::AtomType; geometry->addDrawable(spheres); geometry->addDrawable(selectedSpheres); for (Index i = 0; i < molecule.atomCount(); ++i) { Core::Atom atom = molecule.atom(i); unsigned char atomicNumber = atom.atomicNumber(); if (atomicNumber == 1 && !m_showHydrogens) continue; Vector3ub color = atom.color(); float radius = static_cast(Elements::radiusVDW(atomicNumber)); spheres->addSphere(atom.position3d().cast(), color, radius * 0.3f); if (atom.selected()) { color = Vector3ub(0, 0, 255); radius *= 1.2; selectedSpheres->addSphere(atom.position3d().cast(), color, radius * 0.3f); } } float bondRadius = 0.1f; CylinderGeometry* cylinders = new CylinderGeometry; cylinders->identifier().molecule = &molecule; cylinders->identifier().type = Rendering::BondType; geometry->addDrawable(cylinders); for (Index i = 0; i < molecule.bondCount(); ++i) { Core::Bond bond = molecule.bond(i); if (!m_showHydrogens && (bond.atom1().atomicNumber() == 1 || bond.atom2().atomicNumber() == 1)) { continue; } Vector3f pos1 = bond.atom1().position3d().cast(); Vector3f pos2 = bond.atom2().position3d().cast(); Vector3ub color1 = bond.atom1().color(); Vector3ub color2 = bond.atom2().color(); Vector3f bondVector = pos2 - pos1; float bondLength = bondVector.norm(); bondVector /= bondLength; switch (m_multiBonds ? bond.order() : 1) { case 3: { Vector3f delta = bondVector.unitOrthogonal() * (2.0f * bondRadius); cylinders->addCylinder(pos1 + delta, pos2 + delta, bondRadius, color1, color2, i); cylinders->addCylinder(pos1 - delta, pos2 - delta, bondRadius, color1, color2, i); } default: case 1: cylinders->addCylinder(pos1, pos2, bondRadius, color1, color2, i); break; case 2: { Vector3f delta = bondVector.unitOrthogonal() * bondRadius; cylinders->addCylinder(pos1 + delta, pos2 + delta, bondRadius, color1, color2, i); cylinders->addCylinder(pos1 - delta, pos2 - delta, bondRadius, color1, color2, i); } } } } void BallAndStick::processEditable(const QtGui::RWMolecule& molecule, Rendering::GroupNode& node) { // Add a sphere node to contain all of the spheres. m_group = &node; GeometryNode* geometry = new GeometryNode; node.addChild(geometry); SphereGeometry* spheres = new SphereGeometry; spheres->identifier().molecule = &molecule; spheres->identifier().type = Rendering::AtomType; geometry->addDrawable(spheres); for (Index i = 0; i < molecule.atomCount(); ++i) { QtGui::RWAtom atom = molecule.atom(i); unsigned char atomicNumber = atom.atomicNumber(); if (atomicNumber == 1 && !m_showHydrogens) continue; Vector3ub color = atom.color(); spheres->addSphere(atom.position3d().cast(), color, static_cast(Elements::radiusVDW(atomicNumber)) * 0.3f); } float bondRadius = 0.1f; CylinderGeometry* cylinders = new CylinderGeometry; cylinders->identifier().molecule = &molecule; cylinders->identifier().type = Rendering::BondType; geometry->addDrawable(cylinders); for (Index i = 0; i < molecule.bondCount(); ++i) { QtGui::RWBond bond = molecule.bond(i); if (!m_showHydrogens && (bond.atom1().atomicNumber() == 1 || bond.atom2().atomicNumber() == 1)) { continue; } Vector3f pos1 = bond.atom1().position3d().cast(); Vector3f pos2 = bond.atom2().position3d().cast(); Vector3ub color1 = bond.atom1().color(); Vector3ub color2 = bond.atom2().color(); Vector3f bondVector = pos2 - pos1; float bondLength = bondVector.norm(); bondVector /= bondLength; switch (m_multiBonds ? bond.order() : 1) { case 3: { Vector3f delta = bondVector.unitOrthogonal() * (2.0f * bondRadius); cylinders->addCylinder(pos1 + delta, pos2 + delta, bondRadius, color1, color2, i); cylinders->addCylinder(pos1 - delta, pos2 - delta, bondRadius, color1, color2, i); } default: case 1: cylinders->addCylinder(pos1, pos2, bondRadius, color1, color2, i); break; case 2: { Vector3f delta = bondVector.unitOrthogonal() * bondRadius; cylinders->addCylinder(pos1 + delta, pos2 + delta, bondRadius, color1, color2, i); cylinders->addCylinder(pos1 - delta, pos2 - delta, bondRadius, color1, color2, i); } } } } bool BallAndStick::isEnabled() const { return m_enabled; } void BallAndStick::setEnabled(bool enable) { m_enabled = enable; } QWidget* BallAndStick::setupWidget() { if (!m_setupWidget) { m_setupWidget = new QWidget(qobject_cast(parent())); QVBoxLayout* v = new QVBoxLayout; QCheckBox* check = new QCheckBox(tr("Show multiple bonds?")); check->setChecked(m_multiBonds); connect(check, SIGNAL(clicked(bool)), SLOT(multiBonds(bool))); v->addWidget(check); check = new QCheckBox(tr("Show hydrogens?")); check->setChecked(m_showHydrogens); connect(check, SIGNAL(toggled(bool)), SLOT(showHydrogens(bool))); v->addWidget(check); m_setupWidget->setLayout(v); } return m_setupWidget; } void BallAndStick::multiBonds(bool show) { if (show != m_multiBonds) { m_multiBonds = show; emit drawablesChanged(); } } void BallAndStick::showHydrogens(bool show) { if (show != m_showHydrogens) { m_showHydrogens = show; emit drawablesChanged(); } } } } avogadrolibs-1.93.0/avogadro/qtplugins/ballandstick/ballandstick.h000066400000000000000000000035261360735163600253670ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_BALLANDSTICK_H #define AVOGADRO_QTPLUGINS_BALLANDSTICK_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Render a molecule in the ball and stick style. * @author David C. Lonie */ class BallAndStick : public QtGui::ScenePlugin { Q_OBJECT public: explicit BallAndStick(QObject* parent = 0); ~BallAndStick() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; void processEditable(const QtGui::RWMolecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("Ball and Stick"); } QString description() const override { return tr("Render atoms as spheres and bonds as cylinders."); } bool isEnabled() const override; void setEnabled(bool enable) override; QWidget* setupWidget() override; private slots: void multiBonds(bool show); void showHydrogens(bool show); private: bool m_enabled; Rendering::GroupNode* m_group; QWidget* m_setupWidget; bool m_multiBonds; bool m_showHydrogens; }; } // end namespace QtPlugins } // end namespace Avogadro #endif // AVOGADRO_QTPLUGINS_BALLANDSTICK_H avogadrolibs-1.93.0/avogadro/qtplugins/bondcentrictool/000077500000000000000000000000001360735163600233125ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/bondcentrictool/CMakeLists.txt000066400000000000000000000005641360735163600260570ustar00rootroot00000000000000set(bondcentrictool_srcs bondcentrictool.cpp ) set(bondcentrictool_uis ) set(bondcentrictool_rcs bondcentrictool.qrc ) avogadro_plugin(BondCentric "Bond-centric" ToolPlugin bondcentrictool.h BondCentricTool "${bondcentrictool_srcs}" "${bondcentrictool_uis}" "${bondcentrictool_rcs}" ) target_link_libraries(BondCentric LINK_PRIVATE AvogadroQtOpenGL) avogadrolibs-1.93.0/avogadro/qtplugins/bondcentrictool/bondcentrictool.cpp000066400000000000000000001212421360735163600272100ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. Adapted from Avogadro 1.x with the following authors' permission: Copyright (C) 2007 by Shahzad Ali Copyright (C) 2007 by Ross Braithwaite Copyright (C) 2007 by James Bunt Copyright (C) 2007,2008 by Marcus D. Hanwell Copyright (C) 2006,2007 by Benoit Jacob This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "bondcentrictool.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifndef M_PI #define M_PI 3.14159265358979323846 #endif namespace Avogadro { namespace QtPlugins { using Core::Array; using Core::Elements; using QtGui::Molecule; using QtGui::RWAtom; using QtGui::RWBond; using QtGui::RWMolecule; using Rendering::GeometryNode; using Rendering::GroupNode; using Rendering::Identifier; using Rendering::LineStripGeometry; using Rendering::MeshGeometry; namespace { const std::string degreeString("°"); /// @todo Add wide character support to text renderer. const std::string angstromString("Å"); // Lookup for coloring bond angles: const Vector3ub& getColor(size_t i) { static std::vector colors; if (colors.empty()) { colors.push_back(Vector3ub(255, 64, 32)); colors.push_back(Vector3ub(64, 255, 32)); colors.push_back(Vector3ub(32, 64, 255)); colors.push_back(Vector3ub(255, 255, 32)); colors.push_back(Vector3ub(255, 32, 255)); colors.push_back(Vector3ub(32, 255, 255)); colors.push_back(Vector3ub(255, 128, 0)); colors.push_back(Vector3ub(128, 255, 0)); colors.push_back(Vector3ub(0, 255, 128)); colors.push_back(Vector3ub(0, 128, 255)); colors.push_back(Vector3ub(255, 0, 128)); colors.push_back(Vector3ub(128, 0, 255)); } return colors[i % colors.size()]; } // Returns unsigned, smallest angle between v1 and v2 inline float vectorAngleDegrees(const Vector3f& v1, const Vector3f& v2) { const float crossProductNorm(v1.cross(v2).norm()); const float dotProduct(v1.dot(v2)); return std::atan2(crossProductNorm, dotProduct) * RAD_TO_DEG_F; } // Returns signed, smallest angle between v1 and v2. Sign is determined from a // right hand rule around axis. inline float vectorAngleDegrees(const Vector3f& v1, const Vector3f& v2, const Vector3f& axis) { const Vector3f crossProduct(v1.cross(v2)); const float crossProductNorm(crossProduct.norm()); const float dotProduct(v1.dot(v2)); const float signDet(crossProduct.dot(axis)); const float angle(std::atan2(crossProductNorm, dotProduct) * RAD_TO_DEG_F); return signDet > 0.f ? angle : -angle; } // Convenience quad drawable: class Quad : public MeshGeometry { public: Quad() {} ~Quad() override {} /** * @brief setQuad Set the four corners of the quad. */ void setQuad(const Vector3f& topLeft, const Vector3f& topRight, const Vector3f& bottomLeft, const Vector3f& bottomRight); }; void Quad::setQuad(const Vector3f& topLeft, const Vector3f& topRight, const Vector3f& bottomLeft, const Vector3f& bottomRight) { const Vector3f bottom = bottomRight - bottomLeft; const Vector3f left = topLeft - bottomLeft; const Vector3f normal = bottom.cross(left).normalized(); Array norms(4, normal); Array verts(4); verts[0] = topLeft; verts[1] = topRight; verts[2] = bottomLeft; verts[3] = bottomRight; Array indices(6); indices[0] = 0; indices[1] = 1; indices[2] = 2; indices[3] = 2; indices[4] = 1; indices[5] = 3; clear(); addVertices(verts, norms); addTriangles(indices); } // Convenience arc sector drawable: class ArcSector : public MeshGeometry { public: ArcSector() {} ~ArcSector() override {} /** * Define the sector. * @param origin Center of the circle from which the arc is cut. * @param startEdge A vector defining an leading edge of the sector. The * direction is used to fix the sector's rotation about the origin, and the * length defines the radius of the sector. * @param normal The normal direction to the plane of the sector. * @param degreesCCW The extent of the sector, measured counter-clockwise from * startEdge in degrees. * @param resolutionDeg The radial width of each triangle used in the sector * approximation in degrees. This will be adjusted to fit an integral number * of triangles in the sector. Smaller triangles (better approximations) are * chosen if adjustment is needed. */ void setArcSector(const Vector3f& origin, const Vector3f& startEdge, const Vector3f& normal, float degreesCCW, float resolutionDeg); }; void ArcSector::setArcSector(const Vector3f& origin, const Vector3f& startEdge, const Vector3f& normal, float degreesCCW, float resolutionDeg) { // Prepare rotation, calculate sizes const unsigned int numTriangles = static_cast(std::fabs(std::ceil(degreesCCW / resolutionDeg))); const size_t numVerts = static_cast(numTriangles + 2); const float stepAngleRads = (degreesCCW / static_cast(numTriangles)) * DEG_TO_RAD_F; const Eigen::AngleAxisf rot(stepAngleRads, normal); // Generate normal array Array norms(numVerts, normal); // Generate vertices Array verts(numVerts); Array::iterator vertsInserter(verts.begin()); Array::iterator vertsEnd(verts.end()); Vector3f radial = startEdge; *(vertsInserter++) = origin; *(vertsInserter++) = origin + radial; while (vertsInserter != vertsEnd) *(vertsInserter++) = origin + (radial = rot * radial); // Generate indices Array indices(numTriangles * 3); Array::iterator indexInserter(indices.begin()); Array::iterator indexEnd(indices.end()); for (unsigned int i = 1; indexInserter != indexEnd; ++i) { *(indexInserter++) = 0; *(indexInserter++) = i; *(indexInserter++) = i + 1; } clear(); addVertices(verts, norms); addTriangles(indices); } // Convenience quad outline drawable: class QuadOutline : public LineStripGeometry { public: QuadOutline() {} ~QuadOutline() override {} /** * @brief setQuad Set the four corners of the quad. */ void setQuad(const Vector3f& topLeft, const Vector3f& topRight, const Vector3f& bottomLeft, const Vector3f& bottomRight, float lineWidth); }; void QuadOutline::setQuad(const Vector3f& topLeft, const Vector3f& topRight, const Vector3f& bottomLeft, const Vector3f& bottomRight, float lineWidth) { Array verts(5); verts[0] = topLeft; verts[1] = topRight; verts[2] = bottomRight; verts[3] = bottomLeft; verts[4] = topLeft; clear(); addLineStrip(verts, lineWidth); } // Convenience arc drawable: class ArcStrip : public LineStripGeometry { public: ArcStrip() {} ~ArcStrip() override {} /** * Define the arc. * @param origin Center of the circle from which the arc is cut. * @param start A vector pointing from the origin to the start of the arc. * @param normal The normal direction to the plane of the circle. * @param degreesCCW The extent of the arc, measured counter-clockwise from * start in degrees. * @param resolutionDeg The radial width of each segment used in the arc * approximation, in degrees. This will be adjusted to fit an integral number * of segments into the arc. Smaller segments (better approximations) are * chosen if adjustment is needed. * @param lineWidth The width of the line. */ void setArc(const Vector3f& origin, const Vector3f& start, const Vector3f& normal, float degreesCCW, float resolutionDeg, float lineWidth); }; void ArcStrip::setArc(const Vector3f& origin, const Vector3f& start, const Vector3f& normal, float degreesCCW, float resolutionDeg, float lineWidth) { // Prepare rotation, calculate sizes const unsigned int resolution = static_cast(std::fabs(std::ceil(degreesCCW / resolutionDeg))); const size_t numVerts = static_cast(resolution + 1); const float stepAngleRads = (degreesCCW / static_cast(resolution)) * DEG_TO_RAD_F; const Eigen::AngleAxisf rot(stepAngleRads, normal); // Generate vertices Array verts(numVerts); Array::iterator vertsInserter(verts.begin()); Array::iterator vertsEnd(verts.end()); Vector3f radial = start; *(vertsInserter++) = origin + radial; while (vertsInserter != vertsEnd) *(vertsInserter++) = origin + (radial = rot * radial); clear(); addLineStrip(verts, lineWidth); } } // end anon namespace BondCentricTool::BondCentricTool(QObject* parent_) : QtGui::ToolPlugin(parent_) , m_activateAction(new QAction(this)) , m_molecule(nullptr) , m_renderer(nullptr) , m_moveState(IgnoreMove) , m_planeSnapIncr(10.f) , m_snapPlaneToBonds(true) { m_activateAction->setText(tr("Bond-centric manipulation")); m_activateAction->setIcon(QIcon(":/icons/bondcentrictool.png")); } BondCentricTool::~BondCentricTool() {} QWidget* BondCentricTool::toolWidget() const { return nullptr; } void BondCentricTool::setMolecule(QtGui::Molecule* mol) { if (mol && mol->undoMolecule() != m_molecule) { m_molecule = mol->undoMolecule(); reset(); } } void BondCentricTool::setEditMolecule(QtGui::RWMolecule* mol) { if (m_molecule != mol) { m_molecule = mol; reset(); } } void BondCentricTool::setGLWidget(QtOpenGL::GLWidget*) {} void BondCentricTool::setGLRenderer(Rendering::GLRenderer* ren) { m_renderer = ren; } QUndoCommand* BondCentricTool::mousePressEvent(QMouseEvent* e) { // Don't start a new operation if we're already working: if (m_moveState != IgnoreMove) return nullptr; Rendering::Identifier ident = m_renderer->hit(e->pos().x(), e->pos().y()); // If no hits, return. Also ensure that the hit molecule is the one we expect. const Core::Molecule* mol = &m_molecule->molecule(); if (!ident.isValid() || ident.molecule != mol) return nullptr; // If the hit is a left click on a bond, make it the selected bond and map // mouse movements to the bond plane rotation. if (ident.type == Rendering::BondType && e->button() == Qt::LeftButton) return initRotatePlane(e, ident); // Return if selectedBond is not valid or the hit is not on a bond: if (!m_selectedBond.isValid() || ident.type != Rendering::AtomType) return nullptr; // Test if the atom is in the selected bond, or one bond removed. RWAtom clickedAtom = m_molecule->atom(ident.index); RWBond selectedBond = m_selectedBond.bond(); bool atomIsInBond = bondContainsAtom(selectedBond, clickedAtom); bool atomIsNearBond = false; RWAtom anchorAtom; if (!atomIsInBond) { Array bonds = m_molecule->bonds(clickedAtom); for (Array::const_iterator it = bonds.begin(), itEnd = bonds.end(); it != itEnd; ++it) { RWAtom atom = otherBondedAtom(*it, clickedAtom); if (bondContainsAtom(selectedBond, atom)) { anchorAtom = atom; atomIsNearBond = true; break; } } } if (!atomIsInBond && !atomIsNearBond) return nullptr; if (m_molecule) { m_molecule->setInteractive(true); } // If the hit is a left click on an atom in the selected bond, prepare to // rotate the clicked bond around the other atom in the bond. if (atomIsInBond && e->button() == Qt::LeftButton) return initRotateBondedAtom(e, clickedAtom); // If the hit is a right click on an atom in the selected bond, prepare to // change the bond length. if (atomIsInBond && e->button() == Qt::RightButton) return initAdjustBondLength(e, clickedAtom); // Is the hit a left click on an atom bonded to an atom in selectedBond? if (atomIsNearBond && (e->button() == Qt::LeftButton || e->button() == Qt::RightButton)) { return initRotateNeighborAtom(e, clickedAtom, anchorAtom); } return nullptr; } QUndoCommand* BondCentricTool::mouseDoubleClickEvent(QMouseEvent* e) { if (m_selectedBond.isValid() && e->button() == Qt::LeftButton) { reset(); emit drawablesChanged(); } return nullptr; } QUndoCommand* BondCentricTool::mouseMoveEvent(QMouseEvent* e) { if (m_moveState == IgnoreMove) return nullptr; QUndoCommand* result = nullptr; switch (m_moveState) { case RotatePlane: result = rotatePlane(e); break; case RotateBondedAtom: result = rotateBondedAtom(e); break; case AdjustBondLength: result = adjustBondLength(e); break; case RotateNeighborAtom: result = rotateNeighborAtom(e); break; default: break; } return result; } QUndoCommand* BondCentricTool::mouseReleaseEvent(QMouseEvent*) { if (m_moveState != IgnoreMove) { reset(KeepBond); emit drawablesChanged(); if (m_molecule) { m_molecule->setInteractive(false); // allow an undo now } } return nullptr; } void BondCentricTool::draw(Rendering::GroupNode& node) { RWBond selectedBond = m_selectedBond.bond(); if (!selectedBond.isValid()) return; GeometryNode* geo = new GeometryNode; node.addChild(geo); switch (m_moveState) { default: case IgnoreMove: case RotatePlane: drawBondQuad(*geo, selectedBond); drawAtomBondAngles(*geo, selectedBond.atom1(), selectedBond); drawAtomBondAngles(*geo, selectedBond.atom2(), selectedBond); break; case RotateBondedAtom: { drawBondQuad(*geo, selectedBond); RWAtom otherAtom = otherBondedAtom(selectedBond, m_clickedAtom.atom()); if (otherAtom.isValid()) { drawAtomBondAngles(*geo, otherAtom, selectedBond); } break; } case AdjustBondLength: drawBondQuad(*geo, selectedBond); drawBondLengthLabel(*geo, selectedBond); break; case RotateNeighborAtom: { RWAtom clickedAtom = m_clickedAtom.atom(); RWAtom anchorAtom = m_anchorAtom.atom(); RWBond otherBond = m_molecule->bond(clickedAtom, anchorAtom); if (otherBond.isValid()) drawBondAngle(*geo, selectedBond, otherBond); break; } } } void BondCentricTool::reset(BondCentricTool::ResetBondBehavior bond) { if (bond == ResetBond) m_selectedBond.reset(); m_clickedAtom.reset(); m_anchorAtom.reset(); m_moveState = IgnoreMove; m_clickedPoint = QPoint(); } void BondCentricTool::initializeBondVectors() { RWBond bond = m_selectedBond.bond(); if (bond.isValid()) { m_bondVector = (bond.atom2().position3d().cast() - bond.atom1().position3d().cast()) .normalized(); m_planeNormalMouse = m_bondVector.unitOrthogonal(); } } void BondCentricTool::updateBondVector() { RWBond bond = m_selectedBond.bond(); if (bond.isValid()) { m_bondVector = (bond.atom2().position3d().cast() - bond.atom1().position3d().cast()) .normalized(); } } QUndoCommand* BondCentricTool::initRotatePlane( QMouseEvent* e, const Rendering::Identifier& ident) { RWBond selectedBond = m_molecule->bond(ident.index); // Get unique id: Index bondUniqueId = m_molecule->bondUniqueId(selectedBond); if (bondUniqueId == MaxIndex) return nullptr; // Something went horribly wrong. // Reset the bond vector/plane normal if the bond changed if (bondUniqueId != m_selectedBond.uniqueIdentifier()) { m_selectedBond = QtGui::RWMolecule::PersistentBondType(m_molecule, bondUniqueId); initializeBondVectors(); } updatePlaneSnapAngles(); updateSnappedPlaneNormal(); if (!m_selectedBond.isValid()) return nullptr; e->accept(); m_moveState = RotatePlane; m_clickedPoint = e->pos(); m_lastDragPoint = e->pos(); emit drawablesChanged(); return nullptr; } QUndoCommand* BondCentricTool::initRotateBondedAtom( QMouseEvent* e, const QtGui::RWAtom& clickedAtom) { m_clickedAtom = RWMolecule::PersistentAtomType(clickedAtom); if (!m_clickedAtom.isValid()) return nullptr; e->accept(); m_moveState = RotateBondedAtom; m_clickedPoint = e->pos(); m_lastDragPoint = e->pos(); resetFragment(); emit drawablesChanged(); return nullptr; } QUndoCommand* BondCentricTool::initAdjustBondLength( QMouseEvent* e, const QtGui::RWAtom& clickedAtom) { m_clickedAtom = RWMolecule::PersistentAtomType(clickedAtom); if (!m_clickedAtom.isValid()) return nullptr; e->accept(); m_moveState = AdjustBondLength; m_clickedPoint = e->pos(); m_lastDragPoint = e->pos(); resetFragment(); emit drawablesChanged(); return nullptr; } QUndoCommand* BondCentricTool::initRotateNeighborAtom( QMouseEvent* e, const QtGui::RWAtom& clickedAtom, const QtGui::RWAtom& anchorAtom) { m_clickedAtom = RWMolecule::PersistentAtomType(clickedAtom); m_anchorAtom = RWMolecule::PersistentAtomType(anchorAtom); if (!m_clickedAtom.isValid() || !m_anchorAtom.isValid()) return nullptr; e->accept(); m_moveState = RotateNeighborAtom; m_clickedPoint = e->pos(); m_lastDragPoint = e->pos(); resetFragment(); emit drawablesChanged(); return nullptr; } QUndoCommand* BondCentricTool::rotatePlane(QMouseEvent* e) { // The bond should be valid. const RWBond selectedBond = m_selectedBond.bond(); if (!selectedBond.isValid()) return nullptr; const QPoint deltaDrag = e->pos() - m_lastDragPoint; const Rendering::Camera& camera(m_renderer->camera()); // Atomic position in world coordinates const Vector3 beginPos(selectedBond.atom1().position3d()); const Vector3 endPos(selectedBond.atom2().position3d()); // Various quantities in window coordinates. const Vector3f beginWin(camera.project(beginPos.cast())); const Vector3f endWin(camera.project(endPos.cast())); Vector3f bondVecWin(endWin - beginWin); bondVecWin.z() = 0.f; // Points into the viewing volume from camera: const Vector3f zAxisWin(0.f, 0.f, 1.f); // In plane of screen, orthogonal to bond: const Vector3f orthoWin(zAxisWin.cross(bondVecWin).normalized()); const Vector3f dragWin(static_cast(deltaDrag.x()), static_cast(deltaDrag.y()), 0.f); // Compute the rotation. Not quite sure what's going on here, this is just // ported from Avogadro 1. It doesn't seem right that rotation would be in // degrees (it's the result of a dot product) and I think the fact that the // DEG_TO_RAD conversion results in a useful angle is just a happy // coincidence. But it works quite well. const float rotation = dragWin.dot(orthoWin) / orthoWin.norm(); const Eigen::AngleAxisf rotator(rotation * DEG_TO_RAD_F, m_bondVector); // Rotate m_planeNormalMouse = rotator * m_planeNormalMouse; updateSnappedPlaneNormal(); emit drawablesChanged(); m_lastDragPoint = e->pos(); return nullptr; } QUndoCommand* BondCentricTool::rotateBondedAtom(QMouseEvent* e) { // Ensure that the mouse has moved a reasonable amount: if ((m_lastDragPoint - e->pos()).manhattanLength() < 2) return nullptr; RWBond bond = m_selectedBond.bond(); RWAtom clickedAtom = m_clickedAtom.atom(); RWAtom centerAtom = otherBondedAtom(bond, clickedAtom); // Sanity check: if (!bond.isValid() || !clickedAtom.isValid() || !centerAtom.isValid()) return nullptr; // Compute the transformation: // - Rotation axis is m_planeNormal // - Rotation angle is: // - magnitude is angle between initial click and current pos around // center atom (performed in 2D). // - sign is based on whether m_planeNormal is pointing into/out of the // screen. const Rendering::Camera& camera(m_renderer->camera()); // Get the window coordinates of the relevant points const Vector3f centerPos(centerAtom.position3d().cast()); const Vector3f centerWin(camera.project(centerPos)); const Vector2f centerWin2(centerWin.head<2>()); const Vector2f lastDragWin( static_cast(m_lastDragPoint.x()), static_cast(camera.height() - m_lastDragPoint.y())); const Vector2f dragWin(static_cast(e->pos().x()), static_cast(camera.height() - e->pos().y())); // Compute the angle between last drag and current drag positions const Vector2f lastDragWinVec((lastDragWin - centerWin2).normalized()); const Vector2f dragWinVec((dragWin - centerWin2).normalized()); const float crossProductNorm(lastDragWinVec.x() * dragWinVec.y() - lastDragWinVec.y() * dragWinVec.x()); const float dotProduct(lastDragWinVec.dot(dragWinVec)); const float angle(std::atan2(crossProductNorm, dotProduct)); // Figure out if the sign needs to be reversed: const Vector3f centerPlusNormal(centerPos + m_planeNormal); const Vector3f centerPlusNormalWin(camera.project(centerPlusNormal)); bool reverseSign = (centerPlusNormalWin.z() - centerWin.z()) >= 0; // Build transform m_transform.setIdentity(); m_transform.translate(centerPos); m_transform.rotate( Eigen::AngleAxisf(reverseSign ? -angle : angle, m_planeNormal)); m_transform.translate(-centerPos); // Build the fragment if needed: if (m_fragment.empty()) buildFragment(bond, clickedAtom); // Perform transformation transformFragment(); updateBondVector(); m_molecule->emitChanged(Molecule::Modified | Molecule::Atoms); emit drawablesChanged(); m_lastDragPoint = e->pos(); return nullptr; } QUndoCommand* BondCentricTool::adjustBondLength(QMouseEvent* e) { // Ensure that the mouse has moved a reasonable amount: if ((m_lastDragPoint - e->pos()).manhattanLength() < 2) return nullptr; RWBond selectedBond = m_selectedBond.bond(); RWAtom clickedAtom = m_clickedAtom.atom(); // Sanity check: if (!selectedBond.isValid() || !clickedAtom.isValid()) return nullptr; const Rendering::Camera& camera(m_renderer->camera()); RWAtom otherAtom = otherBondedAtom(selectedBond, clickedAtom); const Vector2f curPosWin(static_cast(e->pos().x()), static_cast(e->pos().y())); const Vector2f lastPosWin(static_cast(m_lastDragPoint.x()), static_cast(m_lastDragPoint.y())); const Vector3f bond(clickedAtom.position3d().cast() - otherAtom.position3d().cast()); const Vector3f mouse(camera.unProject(curPosWin) - camera.unProject(lastPosWin)); const Vector3f displacement((mouse.dot(bond) / bond.squaredNorm()) * bond); // Build transform m_transform.setIdentity(); m_transform.translate(displacement); // Build the fragment if needed: if (m_fragment.empty()) buildFragment(selectedBond, clickedAtom); // Perform transformation transformFragment(); m_molecule->emitChanged(QtGui::Molecule::Modified | QtGui::Molecule::Atoms); emit drawablesChanged(); m_lastDragPoint = e->pos(); return nullptr; } QUndoCommand* BondCentricTool::rotateNeighborAtom(QMouseEvent* e) { // Ensure that the mouse has moved a reasonable amount: if ((m_lastDragPoint - e->pos()).manhattanLength() < 2) return nullptr; RWBond selectedBond = m_selectedBond.bond(); // Atom that was clicked RWAtom clickedAtom = m_clickedAtom.atom(); // Atom in selected bond also attached to clickedAtom RWAtom anchorAtom = m_anchorAtom.atom(); // The "other" atom in selected bond RWAtom otherAtom = otherBondedAtom(selectedBond, anchorAtom); // Sanity check: if (!selectedBond.isValid() || !anchorAtom.isValid() || !otherAtom.isValid() || !clickedAtom.isValid()) { return nullptr; } const Rendering::Camera& camera(m_renderer->camera()); // Compute the angle between last drag and current drag positions const Vector3f center(anchorAtom.position3d().cast()); const Vector3f centerProj(camera.project(center)); const Vector2f centerWin(centerProj.head<2>()); const Vector2f curWin(static_cast(e->pos().x()), static_cast(camera.height() - e->pos().y())); const Vector2f lastWin( static_cast(m_lastDragPoint.x()), static_cast(camera.height() - m_lastDragPoint.y())); const Vector2f curVecWin((curWin - centerWin).normalized()); const Vector2f lastVecWin((lastWin - centerWin).normalized()); const float crossProductNorm(lastVecWin.x() * curVecWin.y() - lastVecWin.y() * curVecWin.x()); const float dotProduct(lastVecWin.dot(curVecWin)); const float angle(std::atan2(crossProductNorm, dotProduct)); // Figure out if the sign needs to be reversed: const Vector3f other(otherAtom.position3d().cast()); const Vector3f otherProj(camera.project(other)); const bool reverseSign = otherProj.z() <= centerProj.z(); // Axis of rotation const Vector3f axis((center - other).normalized()); // Build transform m_transform.setIdentity(); m_transform.translate(center); m_transform.rotate(Eigen::AngleAxisf(reverseSign ? -angle : angle, axis)); m_transform.translate(-center); // Build the fragment if needed: if (m_fragment.empty()) buildFragment(selectedBond, anchorAtom); // Perform transformation transformFragment(); updateBondVector(); m_molecule->emitChanged(QtGui::Molecule::Modified | QtGui::Molecule::Atoms); emit drawablesChanged(); m_lastDragPoint = e->pos(); return nullptr; } void BondCentricTool::drawBondQuad(Rendering::GeometryNode& node, const RWBond& bond) const { const Vector3f atom1Pos(bond.atom1().position3d().cast()); const Vector3f atom2Pos(bond.atom2().position3d().cast()); Vector3f offset(m_bondVector.cross(m_planeNormal)); const Vector3f v1(atom1Pos + offset); const Vector3f v2(atom2Pos + offset); const Vector3f v3(atom1Pos - offset); const Vector3f v4(atom2Pos - offset); Quad* quad = new Quad; node.addDrawable(quad); quad->setColor(Vector3ub(63, 127, 255)); quad->setOpacity(127); quad->setRenderPass(Rendering::TranslucentPass); quad->setQuad(v1, v2, v3, v4); QuadOutline* quadOutline = new QuadOutline; node.addDrawable(quadOutline); quadOutline->setColor(Vector3ub(63, 127, 255)); quadOutline->setRenderPass(Rendering::OpaquePass); quadOutline->setQuad(v1, v2, v3, v4, 1.f); // If the plane is rotating, show a hint for the unsnapped plane. if (m_moveState == RotatePlane) { Vector3f moffset(m_bondVector.cross(m_planeNormalMouse)); const Vector3f mv1(atom1Pos + moffset); const Vector3f mv2(atom2Pos + moffset); const Vector3f mv3(atom1Pos - moffset); const Vector3f mv4(atom2Pos - moffset); QuadOutline* mouseQuadOutline = new QuadOutline; node.addDrawable(mouseQuadOutline); mouseQuadOutline->setColor(Vector3ub(255, 255, 255)); mouseQuadOutline->setOpacity(127); mouseQuadOutline->setRenderPass(Rendering::TranslucentPass); mouseQuadOutline->setQuad(mv1, mv2, mv3, mv4, 1.f); } } void BondCentricTool::drawBondAngle(Rendering::GeometryNode& node, const QtGui::RWBond& selectedBond, const QtGui::RWBond& movingBond) const { // Draw the selected bond quad as usual drawBondQuad(node, selectedBond); // Determine the atom shared between the bonds (atom1). RWAtom atom1; RWAtom atom2; if (selectedBond.atom1() == movingBond.atom1() || selectedBond.atom2() == movingBond.atom1()) { atom1 = movingBond.atom1(); atom2 = movingBond.atom2(); } else if (selectedBond.atom1() == movingBond.atom2() || selectedBond.atom2() == movingBond.atom2()) { atom1 = movingBond.atom2(); atom2 = movingBond.atom1(); } if (!atom1.isValid()) return; // Add another quad in the plane normal to // m_bondVector.cross(movingBondVector) const Vector3f a1(atom1.position3d().cast()); const Vector3f a2(atom2.position3d().cast()); const Vector3f movingBondVector(a2 - a1); const Vector3f movingBondUnitVector(movingBondVector.normalized()); // calculate a vector in the plane spanned by movingBondVector and // m_bondVector that is orthogonal to m_bondVector, then project // movingBondVector onto it. This is used to calculate the 'new' a2. const Vector3f movingBondNormal(m_bondVector.cross(movingBondUnitVector)); const Vector3f newA2Direction(movingBondNormal.cross(m_bondVector)); const Vector3f movingBondVectorProj(movingBondVector.dot(newA2Direction) * newA2Direction); const Vector3f newA2(a1 + movingBondVectorProj); const Vector3f& movingBondOffset(m_bondVector); const Vector3f v1(a1 + movingBondOffset); const Vector3f v2(newA2 + movingBondOffset); const Vector3f v3(a1 - movingBondOffset); const Vector3f v4(newA2 - movingBondOffset); Quad* quad = new Quad; node.addDrawable(quad); quad->setColor(Vector3ub(63, 127, 255)); quad->setOpacity(127); quad->setRenderPass(Rendering::TranslucentPass); quad->setQuad(v1, v2, v3, v4); QuadOutline* quadOutline = new QuadOutline; node.addDrawable(quadOutline); quadOutline->setColor(Vector3ub(63, 127, 255)); quadOutline->setRenderPass(Rendering::OpaquePass); quadOutline->setQuad(v1, v2, v3, v4, 1.f); // Add an arc and label to show a bit more info: const Vector3f selectedBondOffset(m_planeNormal.cross(m_bondVector)); const float radius(movingBondVector.norm() * 0.75f); Vector3f startEdge(newA2Direction * radius); Vector3f normal(m_bondVector); float angle = vectorAngleDegrees(startEdge, selectedBondOffset, normal); float displayAngle = std::fabs(angle); ArcSector* sect = new ArcSector; node.addDrawable(sect); sect->setColor(Vector3ub(255, 127, 63)); sect->setOpacity(127); sect->setRenderPass(Rendering::TranslucentPass); sect->setArcSector(a1, startEdge, normal, angle, 5.f); ArcStrip* arc = new ArcStrip; node.addDrawable(arc); arc->setColor(Vector3ub(255, 127, 63)); arc->setRenderPass(Rendering::OpaquePass); arc->setArc(a1, startEdge, normal, angle, 5.f, 1.f); const Vector3f& textPos(a1); Rendering::TextLabel3D* label = new Rendering::TextLabel3D; label->setText(QString::number(displayAngle, 'f', 1).toStdString() + degreeString); label->setRenderPass(Rendering::Overlay3DPass); label->setAnchor(textPos); node.addDrawable(label); Rendering::TextProperties tprop; tprop.setAlign(Rendering::TextProperties::HCenter, Rendering::TextProperties::VCenter); tprop.setFontFamily(Rendering::TextProperties::SansSerif); tprop.setColorRgb(255, 200, 64); label->setTextProperties(tprop); } void BondCentricTool::drawBondLengthLabel(Rendering::GeometryNode& node, const QtGui::RWBond& bond) { const Vector3f startPos(bond.atom1().position3d().cast()); const Vector3f endPos(bond.atom2().position3d().cast()); const Vector3f bondCenter((startPos + endPos) * 0.5f); const Vector3f bondVector(endPos - startPos); Rendering::TextLabel3D* label = new Rendering::TextLabel3D; label->setText(QString::number(bondVector.norm(), 'f', 2).toStdString() + angstromString); label->setRenderPass(Rendering::Overlay3DPass); label->setAnchor(bondCenter); node.addDrawable(label); Rendering::TextProperties tprop; tprop.setAlign(Rendering::TextProperties::HCenter, Rendering::TextProperties::VCenter); tprop.setFontFamily(Rendering::TextProperties::SansSerif); tprop.setColorRgb(255, 200, 64); label->setTextProperties(tprop); } void BondCentricTool::drawAtomBondAngles(Rendering::GeometryNode& node, const RWAtom& atom, const RWBond& anchorBond) { const Array bonds = m_molecule->bonds(atom); Array::const_iterator bondIter(bonds.begin()); Array::const_iterator bondEnd(bonds.end()); size_t count = 0; while (bondIter != bondEnd) { if (*bondIter != anchorBond) drawAtomBondAngle(node, atom, anchorBond, *bondIter, getColor(count++)); ++bondIter; } } void BondCentricTool::drawAtomBondAngle(Rendering::GeometryNode& node, const QtGui::RWAtom& atom, const QtGui::RWBond& anchorBond, const QtGui::RWBond& otherBond, const Vector3ub& color) { const RWAtom otherAtom = otherBondedAtom(otherBond, atom); const RWAtom otherAnchorAtom = otherBondedAtom(anchorBond, atom); const Vector3f atomPos(atom.position3d().cast()); const Vector3f otherAtomPos(otherAtom.position3d().cast()); const Vector3f otherAnchorAtomPos(otherAnchorAtom.position3d().cast()); const Vector3f otherVector(otherAtomPos - atomPos); const Vector3f anchorVector(otherAnchorAtomPos - atomPos); const Vector3f anchorUnitVector(anchorVector.normalized()); const float radius(otherVector.norm() * 0.75f); const Vector3f& origin(atomPos); const Vector3f start(anchorUnitVector * radius); const Vector3f axis(anchorVector.cross(otherVector).normalized()); const float angle = vectorAngleDegrees(otherVector, anchorVector); const Vector3f& labelPos(otherAtomPos); ArcSector* sect = new ArcSector; node.addDrawable(sect); sect->setColor(color); sect->setOpacity(127); sect->setRenderPass(Rendering::TranslucentPass); sect->setArcSector(origin, start, axis, angle, 5.f); ArcStrip* arc = new ArcStrip; node.addDrawable(arc); arc->setColor(color); arc->setRenderPass(Rendering::OpaquePass); arc->setArc(origin, start, axis, angle, 5.f, 1.f); Rendering::TextLabel3D* label = new Rendering::TextLabel3D; label->setText(QString::number(angle, 'f', 1).toStdString() + degreeString); label->setRenderPass(Rendering::Overlay3DPass); label->setAnchor(labelPos); node.addDrawable(label); Rendering::TextProperties tprop; tprop.setAlign(Rendering::TextProperties::HCenter, Rendering::TextProperties::VCenter); tprop.setFontFamily(Rendering::TextProperties::SansSerif); tprop.setColorRgb(color); label->setTextProperties(tprop); } inline bool BondCentricTool::bondContainsAtom(const QtGui::RWBond& bond, const QtGui::RWAtom& atom) const { return atom == bond.atom1() || atom == bond.atom2(); } inline QtGui::RWAtom BondCentricTool::otherBondedAtom( const QtGui::RWBond& bond, const QtGui::RWAtom& atom) const { return bond.atom1() == atom ? bond.atom2() : bond.atom1(); } inline void BondCentricTool::transformFragment() const { // Convert the internal float matrix to use the same precision as the atomic // coordinates. Eigen::Transform transform(m_transform.cast()); for (std::vector::const_iterator it = m_fragment.begin(), itEnd = m_fragment.end(); it != itEnd; ++it) { RWAtom atom = m_molecule->atomByUniqueId(*it); if (atom.isValid()) { Vector3 pos = atom.position3d(); pos = transform * pos; atom.setPosition3d(pos); } } } void BondCentricTool::updatePlaneSnapAngles() { m_planeSnapRef = m_bondVector.unitOrthogonal(); m_planeSnapAngles.clear(); // Add bond angles if requested: RWBond selectedBond = m_selectedBond.bond(); if (m_snapPlaneToBonds && selectedBond.isValid()) { const RWAtom atom1 = selectedBond.atom1(); const RWAtom atom2 = selectedBond.atom2(); for (int i = 0; i < 2; ++i) { const RWAtom& atom = i == 0 ? atom1 : atom2; const Vector3f atomPos(atom.position3d().cast()); const Array bonds = m_molecule->bonds(atom); for (std::vector::const_iterator it = bonds.begin(), itEnd = bonds.end(); it != itEnd; ++it) { if (*it != selectedBond) { const RWAtom otherAtom(otherBondedAtom(*it, atom)); const Vector3f otherAtomPos(otherAtom.position3d().cast()); const Vector3f otherBondVector(otherAtomPos - atomPos); // Project otherBondVector into the plane normal to m_bondVector // (e.g. the rejection of otherBondVector onto m_bondVector) const Vector3f rej( otherBondVector - (otherBondVector.dot(m_bondVector) * m_bondVector)); float angle(vectorAngleDegrees(m_planeSnapRef, rej, m_bondVector)); m_planeSnapAngles.insert(angle); angle += 180.f; if (angle > 180.f) angle -= 360.f; m_planeSnapAngles.insert(angle); } } } } // Add default increments only if they are more than 5 degrees away // from a bond angle. const float minDist(5.f); for (float angle = -180.f; angle < 180.f; angle += m_planeSnapIncr) { std::set::const_iterator upper(m_planeSnapAngles.lower_bound(angle)); if (upper != m_planeSnapAngles.end()) { if (*upper - minDist < angle) continue; if (upper != m_planeSnapAngles.begin()) { std::set::const_iterator lower(upper); std::advance(lower, -1); if (*lower + minDist > angle) continue; } m_planeSnapAngles.insert(angle); } } } // There may be some weirdness around +/-180 since we don't check for // wrapping, but it should be fine for this use case. void BondCentricTool::updateSnappedPlaneNormal() { const Vector3f mousePlaneVector(m_planeNormalMouse.cross(m_bondVector)); const float angle( vectorAngleDegrees(m_planeSnapRef, mousePlaneVector, m_bondVector)); float snappedAngle(angle); std::set::const_iterator upper(m_planeSnapAngles.lower_bound(angle)); if (upper != m_planeSnapAngles.end()) { if (upper != m_planeSnapAngles.begin()) { std::set::const_iterator lower(upper); std::advance(lower, -1); float upperDist = std::fabs(angle - *upper); float lowerDist = std::fabs(angle - *lower); snappedAngle = upperDist < lowerDist ? *upper : *lower; } else { snappedAngle = *upper; } } if (angle == snappedAngle) { // If the angle didn't change, keep on keepin' on: m_planeNormal = m_planeNormalMouse; } else { // Otherwise, update the vector. const Vector3f planeVector = Eigen::AngleAxisf(snappedAngle * DEG_TO_RAD_F, m_bondVector) * m_planeSnapRef; m_planeNormal = planeVector.cross(m_bondVector); } } inline bool BondCentricTool::fragmentHasAtom(int uid) const { return std::find(m_fragment.begin(), m_fragment.end(), uid) != m_fragment.end(); } void BondCentricTool::buildFragment(const QtGui::RWBond& bond, const QtGui::RWAtom& startAtom) { m_fragment.clear(); if (!buildFragmentRecurse(bond, startAtom, startAtom)) { // If this returns false, then a cycle has been found. Only move startAtom // in this case. m_fragment.clear(); } m_fragment.push_back(m_molecule->atomUniqueId(startAtom)); } bool BondCentricTool::buildFragmentRecurse(const QtGui::RWBond& bond, const QtGui::RWAtom& startAtom, const QtGui::RWAtom& currentAtom) { Array bonds = m_molecule->bonds(currentAtom); typedef std::vector::const_iterator BondIter; for (BondIter it = bonds.begin(), itEnd = bonds.end(); it != itEnd; ++it) { if (*it != bond) { // Skip the current bond RWAtom nextAtom = otherBondedAtom(*it, currentAtom); if (nextAtom != startAtom) { // Skip atoms that have already been added. This prevents infinite // recursion on cycles in the fragments int uid = m_molecule->atomUniqueId(nextAtom); if (!fragmentHasAtom(uid)) { m_fragment.push_back(uid); if (!buildFragmentRecurse(*it, startAtom, nextAtom)) return false; } } else { // If we've reached startAtom, then we've found a cycle that indicates // no moveable fragment exists. return false; } // nextAtom != startAtom else } // *it != bond } // foreach bond return true; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/bondcentrictool/bondcentrictool.h000066400000000000000000000154451360735163600266640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. Adapted from Avogadro 1.x with the following authors' permission: Copyright (C) 2007 by Shahzad Ali Copyright (C) 2007 by Ross Braithwaite Copyright (C) 2007 by James Bunt Copyright (C) 2007,2008 by Marcus D. Hanwell Copyright (C) 2006,2007 by Benoit Jacob This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_BONDCENTRICTOOL_H #define AVOGADRO_QTPLUGINS_BONDCENTRICTOOL_H #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace Rendering { class GeometryNode; } namespace QtPlugins { /** * @brief BondCentricTool manipulates molecular geometry by adjusting bond * angles/lengths. * * @note This class is adapted from the class of the same name in Avogadro 1.x, * written by Shahzad Ali, Ross Braithwaite, James Bunt, Marcus D. Hanwell, and * Benoit Jacob. */ class BondCentricTool : public QtGui::ToolPlugin { Q_OBJECT public: explicit BondCentricTool(QObject* parent_ = nullptr); ~BondCentricTool() override; QString name() const override; QString description() const override; unsigned char priority() const override { return 40; } QAction* activateAction() const override { return m_activateAction; } QWidget* toolWidget() const override; void setMolecule(QtGui::Molecule*) override; void setEditMolecule(QtGui::RWMolecule*) override; void setGLWidget(QtOpenGL::GLWidget* widget) override; void setGLRenderer(Rendering::GLRenderer* ren) override; QUndoCommand* mousePressEvent(QMouseEvent* e) override; QUndoCommand* mouseDoubleClickEvent(QMouseEvent* e) override; QUndoCommand* mouseMoveEvent(QMouseEvent* e) override; QUndoCommand* mouseReleaseEvent(QMouseEvent* e) override; void draw(Rendering::GroupNode& node) override; private: enum MoveState { IgnoreMove = 0, RotatePlane, RotateBondedAtom, AdjustBondLength, RotateNeighborAtom }; enum ResetBondBehavior { KeepBond = 0, ResetBond }; void reset(ResetBondBehavior bond = ResetBond); void initializeBondVectors(); void updateBondVector(); // Mouse press event handlers: QUndoCommand* initRotatePlane(QMouseEvent* e, const Rendering::Identifier& ident); QUndoCommand* initRotateBondedAtom(QMouseEvent* e, const QtGui::RWAtom& clickedAtom); QUndoCommand* initAdjustBondLength(QMouseEvent* e, const QtGui::RWAtom& clickedAtom); QUndoCommand* initRotateNeighborAtom(QMouseEvent* e, const QtGui::RWAtom& clickedAtom, const QtGui::RWAtom& anchorAtom); // Mouse move event handlers: QUndoCommand* rotatePlane(QMouseEvent* e); QUndoCommand* rotateBondedAtom(QMouseEvent* e); QUndoCommand* adjustBondLength(QMouseEvent* e); QUndoCommand* rotateNeighborAtom(QMouseEvent* e); // Drawing helpers: void drawBondQuad(Rendering::GeometryNode& node, const QtGui::RWBond& bond) const; void drawBondAngle(Rendering::GeometryNode& node, const QtGui::RWBond& selectedBond, const QtGui::RWBond& movingBond) const; void drawBondLengthLabel(Rendering::GeometryNode& node, const QtGui::RWBond& bond); void drawAtomBondAngles(Rendering::GeometryNode& node, const QtGui::RWAtom& atom, const QtGui::RWBond& anchorBond); void drawAtomBondAngle(Rendering::GeometryNode& node, const QtGui::RWAtom& atom, const QtGui::RWBond& anchorBond, const QtGui::RWBond& otherBond, const Vector3ub& color); // Bond utilities bool bondContainsAtom(const QtGui::RWBond& bond, const QtGui::RWAtom& atom) const; QtGui::RWAtom otherBondedAtom(const QtGui::RWBond& bond, const QtGui::RWAtom& atom) const; // The 'fragment' is the SkeletonTree of the 1.x implementation. It is a list // of atoms created by buildFragment(bond, startAtom), which walks the bonds // connected to startAtom (not including the passed-in bond), adding each // atom it encounters to the list, and then walking that atom's bonds. If a // cycle is detected, only startAtom is added to m_fragment. void resetFragment() { m_fragment.clear(); } bool fragmentHasAtom(int uid) const; void buildFragment(const QtGui::RWBond& bond, const QtGui::RWAtom& startAtom); bool buildFragmentRecurse(const QtGui::RWBond& bond, const QtGui::RWAtom& startAtom, const QtGui::RWAtom& currentAtom); // Use transformFragment to transform the position of each atom in the // fragment by m_transform. void transformFragment() const; QAction* m_activateAction; QtGui::RWMolecule* m_molecule; Rendering::GLRenderer* m_renderer; MoveState m_moveState; QPoint m_clickedPoint; QPoint m_lastDragPoint; Vector3f m_bondVector; Vector3f m_planeNormalMouse; Vector3f m_planeNormal; // unique ids of atoms that will need to be moved: std::vector m_fragment; Eigen::Affine3f m_transform; // Snap angles for RotatePlane. Angles are relative to m_planeSnapRef and // follow a right-hand rule around m_bondVector. Range is [-180, 180). std::set m_planeSnapAngles; float m_planeSnapIncr; Vector3f m_planeSnapRef; bool m_snapPlaneToBonds; void updatePlaneSnapAngles(); void updateSnappedPlaneNormal(); QtGui::RWMolecule::PersistentBondType m_selectedBond; QtGui::RWMolecule::PersistentAtomType m_anchorAtom; QtGui::RWMolecule::PersistentAtomType m_clickedAtom; }; inline QString BondCentricTool::name() const { return tr("Bond centric manipulation tool."); } inline QString BondCentricTool::description() const { return tr("Tool used to edit molecular geometry by changing bond lengths and " "angles."); } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_BONDCENTRICTOOL_H avogadrolibs-1.93.0/avogadro/qtplugins/bondcentrictool/bondcentrictool.png000066400000000000000000000015221360735163600272100ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxMhAljB#C/&x-xGUBx$SJ#b!hTRKO2}nX6neZ2` ӫkepgaUWrpP2(MsK⣛Ptu[ N)Ee+d辌{Y,F W$ E<)!x{tb AI9| 5;K73>"}=C_:&+R[T1>\Ќ " ݔk0ʺ9>#xC,!DNxC>FdYH_A(~KJIV'ӷޭ>j "pc:z-TjG^${$_Za /JzQOSc\'==M紆WL#0aȉhe5)O h8I?K=)mMH4 g.+Jh8G-Ybh`Gych81 L8f iul*/؜ІXH!х`eK610tb%=qe cA 8wSe B0&i6 't!,Ҡ!\me04 B1Csޮ~ype?Tk$ 4 xmp3?&+P/wIENDB`avogadrolibs-1.93.0/avogadro/qtplugins/bondcentrictool/bondcentrictool.qrc000066400000000000000000000002231360735163600272060ustar00rootroot00000000000000 bondcentrictool.png bondcentrictool@2x.png avogadrolibs-1.93.0/avogadro/qtplugins/bondcentrictool/bondcentrictool@2x.png000066400000000000000000000051431360735163600275650ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp PLTE# vYuYtXuXsX-3'|uXrX>:;qWpWpWoVmVlVkViUhUfUcT,2'aT_Sgde]RZRVQՑTPOOurs*1&+1&KO$ !HNBMIFF(0&)0&?<=U3uX+2&15,'/&&"#D@A734EABrpp,().*+sqq,)*%/%*-%]Z[$.%411'/%&/%iP845AZ5ropURStrrOLMTB>T2sbUCWDQz@3/0301*&'-**VCdM[XYkiiHEF\YZ+/%KGHaSJGG''#rVХGe9sW\G_\]qV),$}z{a_^NKL5120,-hOeM2<*@=>Mr=.5(礣ljj6D-$"!qnonTYVWVDLIJFCDgNpUolm~|}*IFBCƐgO8I.]zP:781;*gN#!!mSZWXsXnhݟtRNS IDATx{0 2Cws܅9l c wwwwwwwwMsdx/y^ P5P O@lUUl脃;ӳ,6< N>Ӄ#d (q4VE84fIx8<:z !3.YRe|1 Q8= !`ĴqF9?a—-d1+B24 ҷf : xiae¯R\*aXo\& W"-b G!W%(IJp2>&0 XZ8i,|ċZ8M$!WnAQȜv1_Lw{#?ija ](r^ӚB-4u=޽=ssy}ڣԒ=<oZizPJ'_wcknAp Ж[ [;nAs p-H@ni]wP҃[ @^OnĿ#08h4L(ikjU`{| IENDB`avogadrolibs-1.93.0/avogadro/qtplugins/bonding/000077500000000000000000000000001360735163600215425ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/bonding/CMakeLists.txt000066400000000000000000000002711360735163600243020ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_BINARY_DIR}) avogadro_plugin(Bonding "Perform bonding operations." ExtensionPlugin bonding.h Bonding "bonding.cpp" "bondingdialog.ui" ) avogadrolibs-1.93.0/avogadro/qtplugins/bonding/bonding.cpp000066400000000000000000000131541360735163600236720ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "bonding.h" #include #include #include #include #include #include #include "ui_bondingdialog.h" namespace Avogadro { namespace QtPlugins { using Core::Array; using Core::Elements; typedef Avogadro::Core::Array NeighborListType; Bonding::Bonding(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_action(new QAction(tr("Bond Atoms"), this)), m_clearAction(new QAction(tr("Remove Bonds"), this)), m_configAction(new QAction(tr("Configure Bonding…"), this)), m_dialog(nullptr), m_ui(nullptr) { QSettings settings; m_tolerance = settings.value("bonding/tolerance", 0.45).toDouble(); m_minDistance = settings.value("bonding/minDistance", 0.32).toDouble(); m_action->setShortcut(QKeySequence("Ctrl+B")); connect(m_action, SIGNAL(triggered()), SLOT(bond())); connect(m_clearAction, SIGNAL(triggered()), SLOT(clearBonds())); connect(m_configAction, SIGNAL(triggered()), SLOT(configure())); } Bonding::~Bonding() {} QList Bonding::actions() const { QList result; return result << m_action << m_clearAction << m_configAction; } QStringList Bonding::menuPath(QAction*) const { return QStringList() << tr("&Build") << tr("Bond"); } void Bonding::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } void Bonding::configure() { if (!m_ui) { m_dialog = new QDialog(qobject_cast(parent())); m_ui = new Ui::BondingDialog; m_ui->setupUi(m_dialog); m_ui->toleranceSpinBox->setValue(m_tolerance); m_ui->minimumSpinBox->setValue(m_minDistance); connect(m_ui->buttonBox, SIGNAL(accepted()), this, SLOT(setValues())); connect(m_ui->buttonBox, SIGNAL(rejected()), m_dialog, SLOT(close())); } m_dialog->show(); m_dialog->activateWindow(); } void Bonding::setValues() { if (m_dialog == nullptr || m_ui == nullptr) return; m_dialog->close(); m_tolerance = m_ui->toleranceSpinBox->value(); m_minDistance = m_ui->minimumSpinBox->value(); QSettings settings; settings.setValue("bonding/tolerance", m_tolerance); settings.setValue("bonding/minDistance", m_minDistance); } void Bonding::bond() { // Yes, this is largely reproduced from Core::Molecule::perceiveBondsSimple // .. but that class doesn't know about selections if (!m_molecule) return; // Check for 3D coordinates, can't do bond perception without this. if (m_molecule->atomPositions3d().size() != m_molecule->atomCount()) return; // cache atomic radii std::vector radii(m_molecule->atomCount()); for (size_t i = 0; i < radii.size(); i++) { radii[i] = Elements::radiusCovalent(m_molecule->atomicNumbers()[i]); if (radii[i] <= 0.0) radii[i] = 0.0; } bool emptySelection = m_molecule->isSelectionEmpty(); double minSq = m_minDistance * m_minDistance; // Main bond perception loop based on a simple distance metric. for (Index i = 0; i < m_molecule->atomCount(); ++i) { if (!emptySelection && !m_molecule->atomSelected(i)) continue; Vector3 ipos = m_molecule->atomPositions3d()[i]; for (Index j = i + 1; j < m_molecule->atomCount(); ++j) { if (!emptySelection && !m_molecule->atomSelected(j)) continue; double cutoff = radii[i] + radii[j] + m_tolerance; Vector3 jpos = m_molecule->atomPositions3d()[j]; Vector3 diff = jpos - ipos; if (std::fabs(diff[0]) > cutoff || std::fabs(diff[1]) > cutoff || std::fabs(diff[2]) > cutoff || (m_molecule->atomicNumbers()[i] == 1 && m_molecule->atomicNumbers()[j] == 1)) { continue; } // check radius and add bond if needed double cutoffSq = cutoff * cutoff; double diffsq = diff.squaredNorm(); if (diffsq < cutoffSq && diffsq > minSq) m_molecule->addBond(m_molecule->atom(i), m_molecule->atom(j), 1); } } m_molecule->emitChanged(QtGui::Molecule::Bonds); } void Bonding::clearBonds() { // remove any bonds connected to the selected atoms // Array bonds(Index a); if (m_molecule->isSelectionEmpty()) m_molecule->clearBonds(); else { std::vector bondIndices; for (Index i = 0; i < m_molecule->atomCount(); ++i) { if (!m_molecule->atomSelected(i)) continue; // OK, the atom is selected, get the bonds to delete const NeighborListType bonds = m_molecule->bonds(i); for (NeighborListType::const_iterator it = bonds.begin(); it != bonds.end(); ++it) { bondIndices.push_back(it->index()); } } // end looping through atoms // now delete the bonds for (std::vector::const_reverse_iterator it = bondIndices.rbegin(), itEnd = bondIndices.rend(); it != itEnd; ++it) { m_molecule->removeBond(*it); } } // end else(selected atoms) m_molecule->emitChanged(QtGui::Molecule::Bonds); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/bonding/bonding.h000066400000000000000000000027171360735163600233420ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. This source code is released under the New BSD License, (the "License"). ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_BONDING_H #define AVOGADRO_QTPLUGINS_BONDING_H #include #include #include namespace Ui { class BondingDialog; } namespace Avogadro { namespace QtPlugins { /** * @brief The Bonding class performs bonding operations on demand. */ class Bonding : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit Bonding(QObject* parent_ = 0); ~Bonding() override; QString name() const override { return tr("Bonding"); } QString description() const override { return tr("Perform bonding operations."); } QList actions() const override; QStringList menuPath(QAction* action) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; private slots: void bond(); void clearBonds(); void configure(); void setValues(); private: QtGui::Molecule* m_molecule; double m_tolerance; double m_minDistance; QAction* m_action; QAction* m_clearAction; QAction* m_configAction; QDialog* m_dialog; Ui::BondingDialog* m_ui; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_BONDING_H avogadrolibs-1.93.0/avogadro/qtplugins/bonding/bondingdialog.ui000066400000000000000000000040701360735163600247020ustar00rootroot00000000000000 BondingDialog 0 0 305 122 Form Distance Tolerance: Minimum Distance: QDialogButtonBox::Cancel|QDialogButtonBox::Ok Å 3 2.000000000000000 0.050000000000000 0.450000000000000 Å 3 1.000000000000000 0.100000000000000 0.100000000000000 avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/000077500000000000000000000000001360735163600226275ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/CMakeLists.txt000066400000000000000000000036751360735163600254020ustar00rootroot00000000000000find_package(protobuf REQUIRED NO_MODULE) include_directories(SYSTEM ${protobuf_INCLUDE_DIRS}) find_package(ProtoCall REQUIRED NO_MODULE) include_directories(SYSTEM ${ProtoCall_INCLUDE_DIRS}) find_package(VTK COMPONENTS vtkParallelCore) set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS ${VTK_DEFINITIONS}) include_directories(${VTK_INCLUDE_DIRS}) find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED) include_directories(SYSTEM ${QT_INCLUDES}) add_definitions(${QT_DEFINITIONS}) protocallc(_protocall_common_source _protocall_service_source _protocall_proxy_source _protocall_include_dir "remote.proto") include_directories(${_protocall_include_dir} ${CMAKE_SOURCE_DIR}/avogadro/protocall ${CMAKE_BINARY_DIR}/avogadro/protocall ${CMAKE_CURRENT_SOURCE_DIR}) # Build server set(_server_source avogadroserver.cpp avoremotemoleculeservice.cpp avoremotefilesystemservice.cpp ) add_executable(avogadroserver ${_protocall_common_source} ${_protocall_service_source} ${_server_source} ) target_link_libraries(avogadroserver LINK_PRIVATE vtkParallelCore AvogadroProtoCall) install(TARGETS avogadroserver RUNTIME DESTINATION ${INSTALL_RUNTIME_DIR} BUNDLE DESTINATION . ) # Build plugin foreach(_file ${_protocall_common_source} ${_protocall_proxy_source}) set_source_files_properties(${_file} PROPERTIES SKIP_AUTOMOC TRUE) endforeach() set(_plugin_src "clientserver.cpp;connectionsettingsdialog.cpp") list(APPEND _plugin_src ${_protocall_common_source}) list(APPEND _plugin_src ${_protocall_proxy_source}) list(APPEND _plugin_src filedialogmodel.cpp filedialogfilter.cpp filedialog.cpp ) set(_ui_src "connectionsettingsdialog.ui") list(APPEND _ui_src "filedialog.ui") avogadro_plugin(ClientServer "Client server operations." ExtensionPlugin "clientserver.h" ClientServer "${_plugin_src}" "${_ui_src}" ) target_link_libraries(ClientServer LINK_PRIVATE AvogadroIO vtkParallelCore AvogadroProtoCall) avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/avogadroserver.cpp000066400000000000000000000111411360735163600263620ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "avogadroserver.h" #include "RemoteFileSystemService_Dispatcher.pb.h" #include "RemoteMoleculeService_Dispatcher.pb.h" #include "avoremotefilesystemservice.h" #include "avoremotemoleculeservice.h" #include #include #include #include #include #include #include using std::vector; using std::list; using ProtoCall::Runtime::vtkCommunicatorChannel; using ProtoCall::Runtime::RpcChannel; AvogadroServer::AvogadroServer() { // It's essential to initialize the socket controller to initialize sockets on // Windows. vtkSocketController* controller = vtkSocketController::New(); controller->Initialize(); controller->Delete(); } AvogadroServer::~AvogadroServer() { } void AvogadroServer::listen(int port) { m_socket = vtkServerSocket::New(); if (m_socket->CreateServer(port) != 0) { std::cerr << "Failed to set up server socket.\n"; m_socket->Delete(); return; } std::cout << "Listening on " << port << std::endl; while (true) processConnectionEvents(); } void AvogadroServer::accept() { vtkCommunicatorChannel* channel = nullptr; while (!channel) { vtkClientSocket* clientSocket = nullptr; clientSocket = m_socket->WaitForConnection(100); if (!clientSocket) return; vtkSocketController* controller = vtkSocketController::New(); vtkSocketCommunicator* comm = vtkSocketCommunicator::SafeDownCast(controller->GetCommunicator()); comm->SetReportErrors(0); comm->SetSocket(clientSocket); clientSocket->FastDelete(); channel = new vtkCommunicatorChannel(comm); comm->ServerSideHandshake(); } m_clientChannels.push_back(channel); } void AvogadroServer::processConnectionEvents() { int timeout = 200; vector socketsToSelect; vector channels; for (list::iterator it = m_clientChannels.begin(); it != m_clientChannels.end(); ++it) { vtkCommunicatorChannel* channel = *it; vtkSocketCommunicator* comm = channel->communicator(); vtkSocket* socket = comm->GetSocket(); if (socket && socket->GetConnected()) { socketsToSelect.push_back(socket->GetSocketDescriptor()); channels.push_back(channel); } } // Add server socket first, we are looking for incoming connections socketsToSelect.push_back(m_socket->GetSocketDescriptor()); int selectedIndex = -1; int result = vtkSocket::SelectSockets( &socketsToSelect[0], socketsToSelect.size(), timeout, &selectedIndex); if (result < 0) { std::cerr << "Socket select failed with error code: " << result << std::endl; return; } if (selectedIndex == -1) return; // Are we dealing with an incoming connection? if (selectedIndex == socketsToSelect.size() - 1) { accept(); } // We have a message waiting from a client else { RpcChannel* channel = channels[selectedIndex]; if (!channel->receive(true)) { // Connection lost remove channel from list list::iterator it = std::find(m_clientChannels.begin(), m_clientChannels.end(), channel); m_clientChannels.erase(it); } } } void usage() { std::cerr << "Usage: avogadroserver port" << std::endl; } int main(int argc, char* argv[]) { if (argc > 2) { usage(); return 1; } int port = 6060; if (argc == 2) port = atoi(argv[1]); // Register the RPC service ProtoCall::Runtime::ServiceManager* mgr = ProtoCall::Runtime::ServiceManager::instance(); AvoRemoteMoleculeService service; AvoRemoteMoleculeService::Dispatcher dispatcher(&service); mgr->registerService(&dispatcher); AvoRemoteFileSystemService remoteFileSystemService; AvoRemoteFileSystemService::Dispatcher remoteFileSystemDispatcher( &remoteFileSystemService); mgr->registerService(&remoteFileSystemDispatcher); AvogadroServer server; server.listen(port); } avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/avogadroserver.h000066400000000000000000000025211360735163600260310ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADROSERVER_H #define AVOGADROSERVER_H #include #include namespace ProtoCall { namespace Runtime { class vtkCommunicatorChannel; } } class vtkServerSocket; /** * @class AvogadroServer avogadroserver.h * * @brief Simple server implementation based on vtkServerSocket, accepting * connections and processing ProtoCall requests. */ class AvogadroServer { public: AvogadroServer(); virtual ~AvogadroServer(); void listen(int port); private: vtkServerSocket* m_socket; std::list m_clientChannels; void processConnectionEvents(); void accept(); }; #endif /* AVOGADROSERVER_H */ avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/avoremotefilesystemservice.cpp000066400000000000000000000131511360735163600310230ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "avoremotefilesystemservice.h" #include "filedialogmodel.h" #include #include #if defined(_WIN32) #define _WIN32_IE 0x0400 // special folder support #define _WIN32_WINNT 0x0400 // shared folder support #include // _getcwd #include // SHGetFolderPath #include // for strcasecmp #include // stat #include // FindFirstFile, FindNextFile, FindClose, ... #define vtkPVServerFileListingGetCWD _getcwd #else #include // opendir, readdir, closedir #include // errno #include // getenv #include // strerror #include // stat #include // DIR, struct dirent, struct stat #include // access, getcwd #define vtkPVServerFileListingGetCWD getcwd #endif #if defined(__APPLE__) #include #include #endif #include #include #include #include #include using std::string; using std::ostringstream; AvoRemoteFileSystemService::~AvoRemoteFileSystemService() { } void ls(const std::string path, Listing* output) { vtkNew dir; if (!dir->Open(path.c_str())) { ostringstream msg; msg << "Unable to open directory: " << path; output->setErrorString(msg.str()); return; } for (vtkIdType i = 0; i < dir->GetNumberOfFiles(); i++) { const char* filepath = dir->GetFile(i); Path* path = output->add_paths(); path->set_path(filepath); } } void AvoRemoteFileSystemService::ls(const Path* input, Listing* output, ::google::protobuf::Closure* done) { string dirPath; if (input->has_path()) { dirPath = input->path(); } // List the current working directory else { dirPath = vtksys::SystemTools::GetCurrentWorkingDirectory().c_str(); } ls(dirPath, output); done->Run(); } inline void vtkPVFileInformationAddTerminatingSlash(std::string& name) { if (name.size() > 0) { char last = *(name.end() - 1); if (last != '/' && last != '\\') { #if defined(_WIN32) name += "\\"; #else name += "/"; #endif } } } bool isHidden(const string& name, const string& path) { bool hidden; #if defined(_WIN32) LPCSTR fp = path; DWORD flags = GetFileAttributes(fp); hidden = (flags & FILE_ATTRIBUTE_HIDDEN) ? true : false; #else hidden = (name[0] == '.') ? true : false; #endif return hidden; } void AvoRemoteFileSystemService::ls(string path, Listing* output) { output->mutable_path()->set_path(path); #if defined(_WIN32) vtkErrorMacro("GetDirectoryListing() cannot be called on Windows systems."); return; #else std::string prefix = path; vtkPVFileInformationAddTerminatingSlash(prefix); if (vtksys::SystemTools::FileExists(path.c_str())) { output->mutable_path()->set_type( (vtksys::SystemTools::FileIsDirectory(path.c_str())) ? FileDialogModel::DIRECTORY : FileDialogModel::SINGLE_FILE); } // Open the directory and make sure it exists. DIR* dir = opendir(path.c_str()); if (!dir) { // Could add check of errno here. return; } // Loop through the directory listing. while (const dirent* d = readdir(dir)) { // Skip the special directory entries. if (strcmp(d->d_name, ".") == 0 || strcmp(d->d_name, "..") == 0) { continue; } Path* entry = output->add_paths(); string fullPath = prefix + d->d_name; entry->set_name(string(d->d_name)); entry->set_path(fullPath); entry->set_hidden(isHidden(entry->name(), entry->path())); FileDialogModel::FileType type = FileDialogModel::INVALID; if (vtksys::SystemTools::FileExists(fullPath.c_str())) { type = (vtksys::SystemTools::FileIsDirectory(fullPath.c_str())) ? FileDialogModel::DIRECTORY : FileDialogModel::SINGLE_FILE; } entry->set_type(type); } closedir(dir); #endif } void AvoRemoteFileSystemService::cwd(Path* output, ::google::protobuf::Closure* done) { std::string path = vtksys::SystemTools::GetCurrentWorkingDirectory().c_str(); output->set_path(path); done->Run(); } void AvoRemoteFileSystemService::separator(Separator* output, ::google::protobuf::Closure* done) { #if defined(_WIN32) && !defined(__CYGWIN__) output->set_separator("\\"); #else output->set_separator("/"); #endif done->Run(); } void AvoRemoteFileSystemService::absolutePath(const Path* input, Path* output, ::google::protobuf::Closure* done) { std::string ret = input->name(); #if defined(WIN32) if (!IsUncPath(input->name()) && !IsNetworkPath(input->name())) #endif { ret = vtksys::SystemTools::CollapseFullPath(input->name().c_str(), input->path().c_str()); } output->set_path(ret); output->set_name(input->name()); done->Run(); } avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/avoremotefilesystemservice.h000066400000000000000000000031621360735163600304710ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOREMOTEFILESYSTEMSERVICE_H #define AVOREMOTEFILESYSTEMSERVICE_H #include "RemoteFileSystemService.pb.h" /** * @class AvoRemoteFileSystemService avoremotefilesystemservice.h * * @brief Server side implementation of RemoteFileSystemService. Provides * methods for browsing a remote filesystem. */ class AvoRemoteFileSystemService : public RemoteFileSystemService { public: virtual ~AvoRemoteFileSystemService(); void ls(const Path* input, Listing* output, ::google::protobuf::Closure* done); void cwd(Path* output, ::google::protobuf::Closure* done); void separator(Separator* output, ::google::protobuf::Closure* done); void specialDirectories(Paths* output, ::google::protobuf::Closure* done){}; void absolutePath(const Path* input, Path* output, ::google::protobuf::Closure* done); private: void ls(const std::string path, Listing* output); }; #endif /* AVOREMOTEFILESYSTEMSERVICE_H */ avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/avoremotemoleculeservice.cpp000066400000000000000000000044641360735163600304530ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "avoremotemoleculeservice.h" #include #include #include #include #include using Avogadro::Core::Molecule; using std::string; AvoRemoteMoleculeService::~AvoRemoteMoleculeService() { } void AvoRemoteMoleculeService::open(const OpenRequest* input, OpenResponse* output, ::google::protobuf::Closure* done) { string path = input->path(); Avogadro::Io::FileFormatManager& mgr = Avogadro::Io::FileFormatManager::instance(); Molecule molecule; // Try and read the file if (!mgr.readFile(molecule, path)) { output->setErrorString(mgr.error()); done->Run(); return; } // If we where successful send the result back output->mutable_molecule()->set(&molecule); done->Run(); } void AvoRemoteMoleculeService::fileFormats(FileFormats* formats, ::google::protobuf::Closure* done) { Avogadro::Io::FileFormatManager& mgr = Avogadro::Io::FileFormatManager::instance(); std::vector fileFormats = mgr.fileFormats(); for (std::vector::iterator iter = fileFormats.begin(); iter != fileFormats.end(); ++iter) { FileFormat* format = formats->add_formats(); format->set_name((*iter)->name()); std::vector extensions = (*iter)->fileExtensions(); for (std::vector::iterator extIter = extensions.begin(); extIter != extensions.end(); ++extIter) { format->add_extension(*extIter); } } done->Run(); } avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/avoremotemoleculeservice.h000066400000000000000000000025131360735163600301110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOREMOTEMOLECULESERVICE_H #define AVOREMOTEMOLECULESERVICE_H #include "RemoteMoleculeService.pb.h" /** * @class AvoRemoteMoleculeService avoremotemoleculeservice.h * * @brief The server side implementation of the RemoteMoleculeService, provides * functionality to open a molecule on a remote system. */ class AvoRemoteMoleculeService : public RemoteMoleculeService { public: virtual ~AvoRemoteMoleculeService(); void open(const OpenRequest* input, OpenResponse* output, ::google::protobuf::Closure* done); void fileFormats(FileFormats* formats, ::google::protobuf::Closure* done); }; #endif /* AVOREMOTEMOLECULESERVICE_H */ avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/clientserver.cpp000066400000000000000000000174011360735163600260430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "clientserver.h" #include "RemoteMoleculeService.pb.h" #include "connectionsettingsdialog.h" #include "filedialog.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace google::protobuf; using namespace ProtoCall::Runtime; namespace Avogadro { namespace QtPlugins { ClientServer::ClientServer(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_dialog(nullptr), m_openAction(new QAction(this)), m_settingsAction(new QAction(this)), m_molecule(nullptr), m_controller(nullptr), m_communicator(nullptr), m_channel(nullptr) { m_openAction->setEnabled(true); m_openAction->setText("Open Molecule"); m_actions.append(m_openAction); m_settingsAction->setEnabled(true); m_settingsAction->setText("Settings"); m_actions.append(m_settingsAction); connect(m_openAction, SIGNAL(triggered()), SLOT(openFile())); connect(m_settingsAction, SIGNAL(triggered()), SLOT(openSettings())); connect(this, SIGNAL(connectionError()), SLOT(onConnectionError())); } ClientServer::~ClientServer() { disconnect(); } QString ClientServer::description() const { return tr("Client server operations."); } QList ClientServer::actions() const { return m_actions; } QStringList ClientServer::menuPath(QAction*) const { return QStringList() << tr("&Extensions") << tr("S&erver"); } void ClientServer::disconnect() { if (m_communicator) m_communicator->CloseConnection(); delete m_channel; m_channel = nullptr; if (m_communicator) m_communicator->Delete(); if (m_controller) m_controller->Delete(); } void ClientServer::select() { if (m_channel) { if (m_channel->select()) { if (!m_channel->receive()) { emit connectionError(); return; } } QTimer::singleShot(100, this, SLOT(select())); } } bool ClientServer::isConnected() { return m_channel != nullptr; } bool ClientServer::connectToServer(const QString& host, int port) { if (m_channel) disconnect(); m_controller = vtkSocketController::New(); m_communicator = vtkSocketCommunicator::New(); m_controller->SetCommunicator(m_communicator); m_controller->Initialize(); if (!m_communicator->ConnectTo(host.toLocal8Bit().data(), port)) { m_controller->Delete(); m_communicator->Delete(); return false; } m_channel = new vtkCommunicatorChannel(m_communicator); // Start the event loop select(); return true; } void ClientServer::openFile() { QSettings settings; if (!isConnected()) { QString host = settings .value("clientServer/connectionSettings/hostName", ConnectionSettingsDialog::defaultHost) .toString(); int port = settings .value("clientServer/connectionSettings/port", ConnectionSettingsDialog::defaultPort) .toInt(); if (!connectToServer(host.toLocal8Bit().data(), port)) { QMessageBox::critical(qobject_cast(parent()), tr("Connection failed"), tr("The connection to %2:%3 failed: connection" " refused.") .arg(host) .arg(port)); return; } } RemoteMoleculeService::Proxy proxy(m_channel); FileFormats* response = new FileFormats(); Closure* callback = NewCallback(this, &ClientServer::handleFileFormatsResponse, response); proxy.fileFormats(response, callback); } void ClientServer::openFile(const QString& filePath) { QSettings settings; QFileInfo fileInfo(filePath); settings.setValue(lastOpenDirSettingPath(), fileInfo.dir().path()); RemoteMoleculeService::Proxy proxy(m_channel); OpenRequest request; request.set_path(filePath.toStdString()); OpenResponse* response = new OpenResponse(); Closure* callback = NewCallback(this, &ClientServer::handleOpenResponse, response); proxy.open(&request, response, callback); } void ClientServer::setMolecule(QtGui::Molecule* mol) { // Do nothing } bool ClientServer::readMolecule(QtGui::Molecule& mol) { if (m_molecule) { mol = *m_molecule; return true; } return false; } void ClientServer::handleOpenResponse(OpenResponse* response) { if (!response->hasError()) { m_molecule = response->mutable_molecule()->get(); emit ExtensionPlugin::moleculeReady(1); } else { QMessageBox::warning(qobject_cast(parent()), tr("Remote service error"), response->errorString().c_str()); return; } delete response; } void ClientServer::onConnectionError() { QMessageBox::critical( qobject_cast(parent()), tr("Remote service error"), tr("Connection failed with: %1").arg(m_channel->errorString().c_str())); disconnect(); } void ClientServer::openSettings() { if (!m_dialog) { m_dialog = new ConnectionSettingsDialog(qobject_cast(parent())); connect(m_dialog, SIGNAL(settingsChanged()), this, SLOT(disconnect())); } m_dialog->show(); } QString ClientServer::lastOpenDirSettingPath() { QSettings settings; QString host = settings.value("clientServer/connectionSettings/hostName").toString(); QString port = settings.value("clientServer/connectionSettings/port").toString(); QString settingsPath = tr("clientServer/%1:%2/lastOpenDir").arg(host).arg(port); return settingsPath; } void ClientServer::handleFileFormatsResponse(FileFormats* response) { QSettings settings; QStringList filters; for (int i = 0; i < response->formats_size(); i++) { FileFormat format = response->formats(i); QString filter = tr("%1 (").arg(QString::fromStdString(format.name())); for (int j = 0; j < format.extension_size(); j++) { filter += tr("*.%1").arg(QString::fromStdString(format.extension(j))); if (j != format.extension_size() - 1) filter += " "; } filter += ")"; filters << filter; } qDebug() << filters.join(";;"); QString dir = settings.value(lastOpenDirSettingPath()).toString(); FileDialog* remoteFileDialog = new FileDialog( m_channel, nullptr, QString("Remote File Dialog"), dir, filters.join(";;")); connect(remoteFileDialog, SIGNAL(accepted()), this, SLOT(onAccepted())); connect(remoteFileDialog, SIGNAL(finished(int)), this, SLOT(onFinished(int))); remoteFileDialog->show(); delete response; } void ClientServer::onAccepted() { FileDialog* dialog = qobject_cast(sender()); if (!dialog) return; QString file = dialog->getSelectedFile(); if (!file.isEmpty()) openFile(file); } void ClientServer::onFinished(int result) { FileDialog* dialog = qobject_cast(sender()); if (dialog) dialog->deleteLater(); } } // namespace QtPlugins } avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/clientserver.h000066400000000000000000000047401360735163600255120ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_CLIENTSERVER_H #define AVOGADRO_QTPLUGINS_CLIENTSERVER_H #include class OpenResponse; class FileFormats; namespace ProtoCall { namespace Runtime { class vtkCommunicatorChannel; } } class vtkSocketController; class vtkSocketCommunicator; namespace Avogadro { namespace Core { class Molecule; } namespace QtPlugins { class ConnectionSettingsDialog; /** * @class ClientServer clientserver.h * * @brief Plugin used to connect to and perform remote operations on an * Avodadro server. */ class ClientServer : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit ClientServer(QObject* parent_ = 0); ~ClientServer(); QString name() const { return tr("Client server"); } QString description() const; QList actions() const; QStringList menuPath(QAction*) const; public slots: void setMolecule(QtGui::Molecule* mol); bool readMolecule(QtGui::Molecule& mol); signals: void connectionError(); private slots: void openFile(); void openFile(const QString& filePath); void openSettings(); void onConnectionError(); void select(); void onAccepted(); void onFinished(int result); void disconnect(); private: ConnectionSettingsDialog* m_dialog; QAction* m_openAction; QAction* m_settingsAction; Core::Molecule* m_molecule; vtkSocketController* m_controller; vtkSocketCommunicator* m_communicator; ProtoCall::Runtime::vtkCommunicatorChannel* m_channel; QList m_actions; void handleOpenResponse(OpenResponse* response); void handleFileFormatsResponse(FileFormats* response); bool connectToServer(const QString& host, int port); bool isConnected(); QString lastOpenDirSettingPath(); }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_CLIENTSERVER_H avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/connectionsettingsdialog.cpp000066400000000000000000000057761360735163600304520ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "connectionsettingsdialog.h" #include "ui_connectionsettingsdialog.h" #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { const QString ConnectionSettingsDialog::defaultHost = "localhost"; ConnectionSettingsDialog::ConnectionSettingsDialog(QWidget* parent_) : QDialog(parent_), m_ui(new Ui::ConnectionSettingsDialog) { m_ui->setupUi(this); connect(m_ui->pushTestConnection, SIGNAL(clicked()), SLOT(testConnection())); connect(m_ui->buttonBox, SIGNAL(accepted()), SLOT(updateSettings())); QSettings settings; QString host = settings.value("clientServer/connectionSettings/hostName", defaultHost) .toString(); int port = settings.value("clientServer/connectionSettings/port", defaultPort).toInt(); m_ui->editHostName->setText(host); m_ui->spinPort->setValue(port); } ConnectionSettingsDialog::~ConnectionSettingsDialog() { } void ConnectionSettingsDialog::testConnection() { QString host = m_ui->editHostName->text(); int port = m_ui->spinPort->value(); vtkNew controller; vtkNew communicator; controller->SetCommunicator(communicator.GetPointer()); controller->Initialize(); if (!communicator->ConnectTo(host.toLocal8Bit().data(), port)) { QMessageBox::critical(this, tr("Connection refused"), tr("The connection to %2:%3 failed: connection" " refused.") .arg(host) .arg(port)); } else { QMessageBox::information( this, tr("Success"), tr("Connection to %2:%3 succeeded!").arg(host).arg(port)); communicator->CloseConnection(); } } void ConnectionSettingsDialog::updateSettings() { QSettings settings; QVariant host(m_ui->editHostName->text()); QVariant port(m_ui->spinPort->value()); bool changed = false; if (host != settings.value("clientServer/connectionSettings/hostName") || port != settings.value("clientServer/connectionSettings/port")) changed = true; settings.setValue("clientServer/connectionSettings/hostName", host); settings.setValue("clientServer/connectionSettings/port", port); if (changed) emit settingsChanged(); } } /* namespace QtPlugins */ } /* namespace Avogadro */ avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/connectionsettingsdialog.h000066400000000000000000000030721360735163600301020ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_CONNECTIONSETTINGSDIALOG_H #define AVOGADRO_QTPLUGINS_CONNECTIONSETTINGSDIALOG_H #include namespace Avogadro { namespace QtPlugins { namespace Ui { class ConnectionSettingsDialog; } /** * @class ConnectionSettingsDialog connectionsettingsdialog.h * * @brief Dialog to set the connection settings for connecting to a remote * server. */ class ConnectionSettingsDialog : public QDialog { Q_OBJECT public: explicit ConnectionSettingsDialog(QWidget* parent_ = 0); virtual ~ConnectionSettingsDialog(); static const QString defaultHost; static const int defaultPort = 6060; signals: void settingsChanged(); private slots: void testConnection(); void updateSettings(); private: Ui::ConnectionSettingsDialog* m_ui; }; } /* namespace QtPlugins */ } /* namespace Avogadro */ #endif /* AVOGADRO_QTPLUGINS_CONNECTIONSETTINGSDIALOG_H */ avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/connectionsettingsdialog.ui000066400000000000000000000066071360735163600302770ustar00rootroot00000000000000 Avogadro::QtPlugins::ConnectionSettingsDialog 0 0 331 150 Server settings 50 110 271 32 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok 10 10 311 111 QFormLayout::AllNonFixedFieldsGrow Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter &Hostname: editHostName Port Qt::Horizontal 70 20 Test C&onnection... 65535 buttonBox rejected() Avogadro::QtPlugins::ConnectionSettingsDialog reject() 200 195 203 119 buttonBox accepted() Avogadro::QtPlugins::ConnectionSettingsDialog accept() 200 195 203 119 avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/external_avogadrocore.proto000066400000000000000000000000661360735163600302730ustar00rootroot00000000000000package external.Avogadro.Core; message Molecule { }avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/filedialog.cpp000066400000000000000000000545311360735163600254420ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "filedialog.h" #include "filedialogfilter.h" #include "filedialogmodel.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using ProtoCall::Runtime::vtkCommunicatorChannel; class FileComboBox : public QComboBox { public: FileComboBox(QWidget* p) : QComboBox(p) {} void showPopup() { QWidget* container = view()->parentWidget(); container->setMaximumWidth(width()); QComboBox::showPopup(); } }; #include "ui_filedialog.h" namespace { QStringList makeFilterList(const QString& filter) { QString f(filter); if (f.isEmpty()) return QStringList(); QString sep(";;"); int i = f.indexOf(sep, 0); if (i == -1) { if (f.indexOf("\n", 0) != -1) { sep = "\n"; i = f.indexOf(sep, 0); } } return f.split(sep, QString::SkipEmptyParts); } QStringList getWildCardsFromFilter(const QString& filter) { QString f = filter; int start, end; start = filter.indexOf('('); end = filter.lastIndexOf(')'); if (start != -1 && end != -1) { f = f.mid(start + 1, end - start - 1); } else if (start != -1 || end != -1) { f = QString(); // hmm... I'm confused } // separated by spaces or semi-colons QStringList fs = f.split(QRegExp("[\\s+;]"), QString::SkipEmptyParts); // add a *.ext.* for every *.ext we get to support file groups QStringList ret = fs; foreach (QString ext, fs) { ret.append(ext + ".*"); } return ret; } } class FileDialog::Private : public QObject { public: FileDialogModel* const m_model; FileDialogFilter m_fileFilter; QString m_fileName; QCompleter* m_completer; Ui::FileDialog m_ui; QString m_selectedFile; QStringList m_filters; // remember the last locations we browsed static QMap m_serverFilePaths; Private(FileDialog* p, vtkCommunicatorChannel* server) : QObject(p), m_model(new FileDialogModel(server, nullptr)), m_fileFilter(m_model), m_completer(new QCompleter(&m_fileFilter, nullptr)) { } ~Private() { delete m_model; delete m_completer; } bool eventFilter(QObject* obj, QEvent* anEvent) { if (obj == m_ui.Files) { if (anEvent->type() == QEvent::KeyPress) { QKeyEvent* keyEvent = static_cast(anEvent); if (keyEvent->key() == Qt::Key_Backspace || keyEvent->key() == Qt::Key_Delete) { m_ui.FileName->setFocus(Qt::OtherFocusReason); // send out a backspace event to the file name now QKeyEvent replicateDelete(keyEvent->type(), keyEvent->key(), keyEvent->modifiers()); QApplication::sendEvent(m_ui.FileName, &replicateDelete); return true; } } return false; } return QObject::eventFilter(obj, anEvent); } QString getStartPath() { QMap::iterator iter; iter = m_serverFilePaths.find(m_model->server()); if (iter != m_serverFilePaths.end()) { return *iter; } return m_model->getCurrentPath(); } void setCurrentPath(const QString& p) { m_model->setCurrentPath(p); vtkCommunicatorChannel* s = m_model->server(); m_serverFilePaths[s] = p; m_ui.Files->setFocus(Qt::OtherFocusReason); } void addHistory(const QString& p) { m_backHistory.append(p); m_forwardHistory.clear(); if (m_backHistory.size() > 1) m_ui.NavigateBack->setEnabled(true); else m_ui.NavigateBack->setEnabled(false); m_ui.NavigateForward->setEnabled(false); } QString backHistory() { QString path = m_backHistory.takeLast(); m_forwardHistory.append(m_model->getCurrentPath()); m_ui.NavigateForward->setEnabled(true); if (m_backHistory.size() == 1) m_ui.NavigateBack->setEnabled(false); return path; } QString forwardHistory() { QString path = m_forwardHistory.takeLast(); m_backHistory.append(m_model->getCurrentPath()); m_ui.NavigateBack->setEnabled(true); if (m_forwardHistory.size() == 0) { m_ui.NavigateForward->setEnabled(false); } return path; } protected: QStringList m_backHistory; QStringList m_forwardHistory; }; QMap FileDialog::Private::m_serverFilePaths; ///////////////////////////////////////////////////////////////////////////// // FileDialog FileDialog::FileDialog(vtkCommunicatorChannel* server, QWidget* p, const QString& title, const QString& startDirectory, const QString& nameFilter) : QDialog(p), m_implementation(new Private(this, server)) { m_implementation->m_ui.setupUi(this); // ensures that the favorites and the browser component are sized // proportionately. m_implementation->m_ui.mainSplitter->setStretchFactor(0, 1); m_implementation->m_ui.mainSplitter->setStretchFactor(1, 4); setWindowTitle(title); m_implementation->m_ui.Files->setEditTriggers( QAbstractItemView::EditKeyPressed); // install the event filter m_implementation->m_ui.Files->installEventFilter(m_implementation); // install the autocompleter m_implementation->m_ui.FileName->setCompleter(m_implementation->m_completer); QPixmap back = style()->standardPixmap(QStyle::SP_FileDialogBack); m_implementation->m_ui.NavigateBack->setIcon(back); m_implementation->m_ui.NavigateBack->setEnabled(false); QObject::connect(m_implementation->m_ui.NavigateBack, SIGNAL(clicked(bool)), this, SLOT(onNavigateBack())); // just flip the back image to make a forward image QPixmap forward = QPixmap::fromImage(back.toImage().mirrored(true, false)); m_implementation->m_ui.NavigateForward->setIcon(forward); m_implementation->m_ui.NavigateForward->setDisabled(true); QObject::connect(m_implementation->m_ui.NavigateForward, SIGNAL(clicked(bool)), this, SLOT(onNavigateForward())); m_implementation->m_ui.NavigateUp->setIcon( style()->standardPixmap(QStyle::SP_FileDialogToParent)); m_implementation->m_ui.Files->setModel(&m_implementation->m_fileFilter); m_implementation->m_ui.Files->setSelectionBehavior( QAbstractItemView::SelectRows); m_implementation->m_ui.Files->setContextMenuPolicy(Qt::CustomContextMenu); QObject::connect(m_implementation->m_ui.Files, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(onContextMenuRequested(const QPoint&))); QObject::connect(m_implementation->m_model, SIGNAL(modelReset()), this, SLOT(onModelReset())); QObject::connect(m_implementation->m_ui.NavigateUp, SIGNAL(clicked()), this, SLOT(onNavigateUp())); QObject::connect(m_implementation->m_ui.Parents, SIGNAL(activated(const QString&)), this, SLOT(onNavigate(const QString&))); QObject::connect(m_implementation->m_ui.FileType, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(onFilterChange(const QString&))); QObject::connect( m_implementation->m_ui.Files->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(fileSelectionChanged())); QObject::connect(m_implementation->m_ui.Files, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(onDoubleClickFile(const QModelIndex&))); QObject::connect(m_implementation->m_ui.FileName, SIGNAL(textChanged(const QString&)), this, SLOT(onTextEdited(const QString&))); QStringList filterList = makeFilterList(nameFilter); if (filterList.empty()) { m_implementation->m_ui.FileType->addItem("All Files (*)"); m_implementation->m_filters << "All Files (*)"; } else { m_implementation->m_ui.FileType->addItems(filterList); m_implementation->m_filters = filterList; } onFilterChange(m_implementation->m_ui.FileType->currentText()); QString startPath = startDirectory; if (startPath.isEmpty()) { startPath = m_implementation->getStartPath(); } m_implementation->addHistory(startPath); m_implementation->setCurrentPath(startPath); } //----------------------------------------------------------------------------- FileDialog::~FileDialog() { } //----------------------------------------------------------------------------- void FileDialog::onContextMenuRequested(const QPoint& menuPos) { QMenu menu; menu.setObjectName("FileDialogContextMenu"); QAction* actionHiddenFiles = new QAction("Show Hidden Files", this); actionHiddenFiles->setCheckable(true); actionHiddenFiles->setChecked(m_implementation->m_fileFilter.getShowHidden()); QObject::connect(actionHiddenFiles, SIGNAL(triggered(bool)), this, SLOT(onShowHiddenFiles(bool))); menu.addAction(actionHiddenFiles); menu.exec(m_implementation->m_ui.Files->mapToGlobal(menuPos)); } //----------------------------------------------------------------------------- void FileDialog::setRecentlyUsedExtension(const QString& fileExtension) { if (fileExtension.isEmpty()) { // upon the initial use of any kind (e.g., data or screenshot) of dialog // 'fileExtension' is equal /set to an empty string. // In this case, no any user preferences are considered m_implementation->m_ui.FileType->setCurrentIndex(0); } else { int index = m_implementation->m_ui.FileType->findText(fileExtension, Qt::MatchContains); // just in case the provided extension is not in the combobox list index = (index == -1) ? 0 : index; m_implementation->m_ui.FileType->setCurrentIndex(index); } } //----------------------------------------------------------------------------- void FileDialog::setSelectedFile(const QString& file) { // Ensure that we are hidden before broadcasting the selection, // so we don't get caught by screen-captures setVisible(false); m_implementation->m_selectedFile = file; } //----------------------------------------------------------------------------- void FileDialog::emitFilesSelectionDone() { emit fileSelected(m_implementation->m_selectedFile); done(QDialog::Accepted); } //----------------------------------------------------------------------------- QString FileDialog::getSelectedFile() { return m_implementation->m_selectedFile; } //----------------------------------------------------------------------------- void FileDialog::accept() { acceptExistingFiles(); } class AcceptRequest : public QObject { Q_OBJECT public: AcceptRequest(FileDialog* dialog, const QString& selectedFile, bool doubleClicked) : m_dialog(dialog), m_selectedFile(selectedFile), m_doubleClicked(doubleClicked) { } public slots: void accept() { if (m_selectedFile.isEmpty()) { emit finished(false); return; } accept(m_selectedFile); } void accept(const QString& file) { // Connect up cleanup slot connect(this, SIGNAL(finished(bool)), this, SLOT(cleanup())); if (file.isEmpty()) { emit finished(false); return; } // User chose an existing directory m_dialog->m_implementation->m_model->dirExists( file, this, SLOT(onDirExists(const QString, bool))); } void onDirExists(const QString& path, bool exists) { if (exists) { acceptExistingDirectory(path); } else { acceptFile(path); } } void acceptExistingDirectory(const QString& file) { m_dialog->onNavigate(file); emit finished(false); } void acceptFile(const QString& file) { m_dialog->m_implementation->m_model->fileExists( file, this, SLOT(onFileExistsComplete(const QString, bool))); } void acceptOnDirExists(const QString& dir, bool exists) { if (exists) { m_dialog->onNavigate(dir); m_dialog->m_implementation->m_ui.FileName->clear(); emit finished(false); } else { m_dialog->m_implementation->m_model->fileExists( m_selectedFile, this, SLOT(onFileExistsComplete)); } } void onFileExistsComplete(const QString& file, bool exists) { if (exists) { m_dialog->setSelectedFile(file); emit finished(true); return; } else { m_dialog->m_implementation->m_ui.FileName->selectAll(); emit finished(false); return; } emit finished(false); } void cleanup() { AcceptRequest* request = qobject_cast(sender()); if (request) delete request; } signals: void finished(bool accept); private: FileDialog* m_dialog; QString m_selectedFile; bool m_doubleClicked; }; //----------------------------------------------------------------------------- void FileDialog::acceptExistingFiles() { QString filename; if (m_implementation->m_fileName.isEmpty()) { // when we have nothing selected in the current selection model, we will // attempt to use the default way acceptDefault(); } AcceptRequest* request = new AcceptRequest(this, m_implementation->m_fileName, false); connect(request, SIGNAL(finished(bool)), this, SLOT(acceptRequestFinished(bool))); m_implementation->m_model->absoluteFilePath( m_implementation->m_fileName, request, SLOT(accept(const QString&))); } void FileDialog::acceptRequestFinished(bool accept) { if (accept) emit emitFilesSelectionDone(); } //----------------------------------------------------------------------------- void FileDialog::acceptDefault() { QString filename = m_implementation->m_ui.FileName->text(); filename = filename.trimmed(); m_implementation->m_model->absoluteFilePath( filename, this, SLOT(acceptDefaultContinued(const QString&))); } //----------------------------------------------------------------------------- void FileDialog::onModelReset() { m_implementation->m_ui.Parents->clear(); QString currentPath = m_implementation->m_model->getCurrentPath(); // clean the path to always look like a unix path currentPath = QDir::cleanPath(currentPath); // the separator is always the unix separator QChar separator = '/'; QStringList parents = currentPath.split(separator, QString::SkipEmptyParts); // put our root back in if (parents.count()) { int idx = currentPath.indexOf(parents[0]); if (idx != 0 && idx != -1) parents.prepend(currentPath.left(idx)); } else { parents.prepend(separator); } for (int i = 0; i != parents.size(); ++i) { QString str; for (int j = 0; j <= i; j++) { str += parents[j]; if (!str.endsWith(separator)) { str += separator; } } m_implementation->m_ui.Parents->addItem(str); } m_implementation->m_ui.Parents->setCurrentIndex(parents.size() - 1); } //----------------------------------------------------------------------------- void FileDialog::onNavigate(const QString& Path) { m_implementation->addHistory(m_implementation->m_model->getCurrentPath()); m_implementation->setCurrentPath(Path); } //----------------------------------------------------------------------------- void FileDialog::onNavigateUp() { m_implementation->addHistory(m_implementation->m_model->getCurrentPath()); QFileInfo info(m_implementation->m_model->getCurrentPath()); m_implementation->setCurrentPath(info.path()); } //----------------------------------------------------------------------------- void FileDialog::onNavigateDown(const QModelIndex& idx) { if (!m_implementation->m_model->isDir(idx)) return; const QStringList paths = m_implementation->m_model->getFilePaths(idx); if (1 != paths.size()) return; m_implementation->addHistory(m_implementation->m_model->getCurrentPath()); m_implementation->setCurrentPath(paths[0]); } //----------------------------------------------------------------------------- void FileDialog::onNavigateBack() { QString path = m_implementation->backHistory(); m_implementation->setCurrentPath(path); } //----------------------------------------------------------------------------- void FileDialog::onNavigateForward() { QString path = m_implementation->forwardHistory(); m_implementation->setCurrentPath(path); } //----------------------------------------------------------------------------- void FileDialog::onFilterChange(const QString& filter) { // set filter on proxy m_implementation->m_fileFilter.setFilter(filter); // update view m_implementation->m_fileFilter.clear(); } //----------------------------------------------------------------------------- void FileDialog::onDoubleClickFile(const QModelIndex& index) { accept(); } //----------------------------------------------------------------------------- void FileDialog::onShowHiddenFiles(const bool& hidden) { m_implementation->m_fileFilter.setShowHidden(hidden); } //----------------------------------------------------------------------------- void FileDialog::setShowHidden(const bool& hidden) { onShowHiddenFiles(hidden); } //----------------------------------------------------------------------------- bool FileDialog::getShowHidden() { return m_implementation->m_fileFilter.getShowHidden(); } //----------------------------------------------------------------------------- void FileDialog::onTextEdited(const QString& str) { // really important to block signals so that the clearSelection // doesn't cause a signal to be fired that calls fileSelectionChanged m_implementation->m_ui.Files->blockSignals(true); m_implementation->m_ui.Files->clearSelection(); if (str.size() > 0) m_implementation->m_fileName = str; else m_implementation->m_fileName.clear(); m_implementation->m_ui.Files->blockSignals(false); } //----------------------------------------------------------------------------- QString FileDialog::fixFileExtension(const QString& filename, const QString& filter) { // Add missing extension if necessary QFileInfo fileInfo(filename); QString ext = fileInfo.completeSuffix(); QString extensionWildcard = getWildCardsFromFilter(filter).first(); QString wantedExtension = extensionWildcard.mid(extensionWildcard.indexOf('.') + 1); if (!ext.isEmpty()) { // Ensure that the extension the user added is indeed of one the supported // types. (BUG #7634). QStringList wildCards; foreach (QString curfilter, m_implementation->m_filters) { wildCards += ::getWildCardsFromFilter(curfilter); } bool pass = false; foreach (QString wildcard, wildCards) { if (wildcard.indexOf('.') != -1) { // we only need to validate the extension, not the filename. wildcard = QString("*.%1").arg(wildcard.mid(wildcard.indexOf('.') + 1)); QRegExp regEx = QRegExp(wildcard, Qt::CaseInsensitive, QRegExp::Wildcard); if (regEx.exactMatch(fileInfo.fileName())) { pass = true; break; } } else { // we have a filter which does not specify any rule for the extension. // In that case, just assume the extension matched. pass = true; break; } } if (!pass) { // force adding of the wantedExtension. ext = QString(); } } QString fixedFilename = filename; if (ext.isEmpty() && !wantedExtension.isEmpty() && wantedExtension != "*") { if (fixedFilename.at(fixedFilename.size() - 1) != '.') fixedFilename += "."; fixedFilename += wantedExtension; } return fixedFilename; } //----------------------------------------------------------------------------- void FileDialog::fileSelectionChanged() { // Selection changed, update the FileName entry box // to reflect the current selection. QString fileString; const QModelIndexList indices = m_implementation->m_ui.Files->selectionModel()->selectedIndexes(); if (indices.isEmpty()) { // do not change the FileName text if no selections return; } QString fileName; QModelIndex index = indices[0]; if (index.column() != 0) return; if (index.model() == &m_implementation->m_fileFilter) fileName = m_implementation->m_fileFilter.data(index).toString(); // user is currently editing a name, don't change the text m_implementation->m_ui.FileName->blockSignals(true); m_implementation->m_ui.FileName->setText(fileString); m_implementation->m_ui.FileName->blockSignals(false); m_implementation->m_fileName = fileName; } //----------------------------------------------------------------------------- bool FileDialog::selectFile(const QString& f) { // We don't use QFileInfo here since it messes the paths up if the client and // the server are heterogeneous systems. std::string unix_path = f.toAscii().data(); vtksys::SystemTools::ConvertToUnixSlashes(unix_path); std::string filename, dirname; std::string::size_type slashPos = unix_path.rfind("/"); if (slashPos != std::string::npos) { filename = unix_path.substr(slashPos + 1); dirname = unix_path.substr(0, slashPos); } else { filename = unix_path; dirname = ""; } QPointer diag = this; m_implementation->m_model->setCurrentPath(dirname.c_str()); m_implementation->m_ui.FileName->setText(filename.c_str()); accept(); if (diag && diag->result() != QDialog::Accepted) return false; return true; } //----------------------------------------------------------------------------- void FileDialog::showEvent(QShowEvent* _showEvent) { QDialog::showEvent(_showEvent); // Qt sets the default keyboard focus to the last item in the tab order // which is determined by the creation order. This means that we have // to explicitly state that the line edit has the focus on showing no // matter the tab order m_implementation->m_ui.FileName->setFocus(Qt::OtherFocusReason); } #include "filedialog.moc" avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/filedialog.h000066400000000000000000000063001360735163600250760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_FILEDIALOG_H #define AVOGADRO_QTPLUGINS_FILEDIALOG_H #include #include class QModelIndex; class QPoint; class QShowEvent; namespace ProtoCall { namespace Runtime { class vtkCommunicatorChannel; } } /** * @class FileDialog filedialog.h * @brief Remote file dialog */ class FileDialog : public QDialog { Q_OBJECT public: FileDialog(ProtoCall::Runtime::vtkCommunicatorChannel*, QWidget* Parent, const QString& Title = QString(), const QString& Directory = QString(), const QString& Filter = QString()); ~FileDialog(); /// set the most recently used file extension void setRecentlyUsedExtension(const QString& fileExtension); /// Returns all the file groups QString getSelectedFile(); /// accept this dialog void accept(); /// set a file current to support test playback bool selectFile(const QString&); /// set if we show hidden files and holders void setShowHidden(const bool& hidden); /// returns the state of the show hidden flag bool getShowHidden(); signals: /// Signal emitted when the user has chosen a file void fileSelected(const QString&); void fileAcceptedInternal(const QString&); friend class AcceptRequest; protected: void acceptExistingFiles(); void acceptDefault(); QStringList buildFileGroup(const QString& filename); virtual void showEvent(QShowEvent* showEvent); private slots: void onModelReset(); void onNavigate(const QString&); void onNavigateUp(); void onNavigateBack(); void onNavigateForward(); void onNavigateDown(const QModelIndex&); void onFilterChange(const QString&); void onDoubleClickFile(const QModelIndex&); void onTextEdited(const QString&); void onShowHiddenFiles(const bool& hide); // Called when the user changes the file selection. void fileSelectionChanged(); // Called when the user right-clicks in the file qtreeview void onContextMenuRequested(const QPoint& pos); // Set the selected file void setSelectedFile(const QString&); // Emits the filesSelected() signal and closes the dialog, void emitFilesSelectionDone(); void acceptRequestFinished(bool accept); private: FileDialog(const FileDialog&); FileDialog& operator=(const FileDialog&); class Private; Private* const m_implementation; // returns if true if files are loaded void acceptInternal(const QStringList& selected_files, const bool& doubleclicked); QString fixFileExtension(const QString& filename, const QString& filter); }; #endif avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/filedialog.ui000066400000000000000000000143271360735163600252740ustar00rootroot00000000000000 FileDialog 0 0 683 402 Dialog 6 0 0 0 100 0 100 16777215 Look in: Qt::AlignCenter 0 0 Navigate Back true Navigate Forward true Navigate Up true Qt::Horizontal 0 0 Qt::Vertical 2 0 0 6 File name: OK Files of type: QComboBox::AdjustToMinimumContentsLength Cancel FileComboBox QComboBox
filedialog.h
FileName FileType OK Cancel Parents NavigateBack NavigateForward NavigateUp Files OK clicked() FileDialog accept() 487 371 60 368 Cancel clicked() FileDialog reject() 487 404 84 388
avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/filedialogfilter.cpp000066400000000000000000000072521360735163600266460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "filedialogfilter.h" #include #include #include #include "filedialogmodel.h" FileDialogFilter::FileDialogFilter(FileDialogModel* model, QObject* Parent) : QSortFilterProxyModel(Parent), m_model(model), m_showHidden(false) { setSourceModel(model); m_wildcards.setPatternSyntax(QRegExp::RegExp2); m_wildcards.setCaseSensitivity(Qt::CaseSensitive); } FileDialogFilter::~FileDialogFilter() { } #include void FileDialogFilter::setFilter(const QString& filter) { QString f(filter); // if we have (...) in our filter, strip everything out but the contents of () int start, end; end = filter.lastIndexOf(')'); start = filter.lastIndexOf('(', end); if (start != -1 && end != -1) f = f.mid(start + 1, end - start - 1); QString pattern = ".*"; if (f != "*") { f = f.trimmed(); // convert all spaces into | f.replace(QRegExp("[\\s+;]+"), "|"); QStringList strings = f.split("|"); QStringList extensions_list, filepatterns_list; foreach (QString string, strings) { if (string.startsWith("*.")) extensions_list.push_back(string.remove(0, 2)); else filepatterns_list.push_back(string); } QString extensions = extensions_list.join("|"); QString filepatterns = filepatterns_list.join("|"); extensions.replace(".", "\\."); extensions.replace("*", ".*"); filepatterns.replace(".", "\\."); filepatterns.replace("*", ".*"); // use non capturing(?:) for speed // name.ext or ext.001 or name.ext001 (for bug #10101) QString postExtFileSeries("(\\.?\\d+)?$"); // match the .0001 component QString extGroup = ".*\\.(?:" % extensions % ")" % postExtFileSeries; QString fileGroup = "(?:" % filepatterns % ")" % postExtFileSeries; if (extensions_list.size() > 0 && filepatterns_list.size() > 0) pattern = "(?:" % fileGroup % "|" % extGroup % ")"; else if (extensions_list.size() > 0) pattern = extGroup; else pattern = fileGroup; } m_wildcards.setPattern(pattern); invalidateFilter(); } void FileDialogFilter::setShowHidden(const bool& hidden) { if (m_showHidden != hidden) { m_showHidden = hidden; invalidateFilter(); } } bool FileDialogFilter::filterAcceptsRow(int row_source, const QModelIndex& source_parent) const { QModelIndex idx = m_model->index(row_source, 0, source_parent); // hidden flag supersedes anything else if (m_model->isHidden(idx) && !m_showHidden) return false; if (m_model->isDir(idx)) { QString str = sourceModel()->data(idx).toString(); return true; } if (source_parent.isValid()) { // if source_parent is valid, then the item is an element in a file-group. // For file-groups, we use pass any file in a group, if the group's label // passes the test (BUG #13179). QString str = sourceModel()->data(source_parent).toString(); return m_wildcards.exactMatch(str); } else { QString str = sourceModel()->data(idx).toString(); return m_wildcards.exactMatch(str); } } avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/filedialogfilter.h000066400000000000000000000027051360735163600263110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_FILEDIALOGFILTER_H #define AVOGADRO_QTPLUGINS_FILEDIALOGFILTER_H #include #include class FileDialogModel; /** * @class FileDialogFilter filedialogfilter.h * * @brief Filter used to filter data in file dialog model */ class FileDialogFilter : public QSortFilterProxyModel { Q_OBJECT public: FileDialogFilter(FileDialogModel* sourceModel, QObject* Parent = nullptr); ~FileDialogFilter(); public slots: void setFilter(const QString& filter); void setShowHidden(const bool& hidden); bool getShowHidden() { return m_showHidden; }; protected: bool filterAcceptsRow(int row_source, const QModelIndex& source_parent) const; FileDialogModel* m_model; QRegExp m_wildcards; bool m_showHidden; }; #endif avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/filedialogmodel.cpp000066400000000000000000000446761360735163600264740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "filedialogmodel.h" #include #include #include #include #include #include #include #include #include "RemoteFileSystemService.pb.h" #include #include using namespace ProtoCall::Runtime; using namespace google::protobuf; // FileDialogModelFileInfo class FileDialogModelFileInfo { public: FileDialogModelFileInfo() : m_type(FileDialogModel::INVALID), m_hidden(false) { } FileDialogModelFileInfo( const QString& l, const QString& filepath, FileDialogModel::FileType t, const bool& h, const QList& g = QList()) : m_label(l), m_filePath(filepath), m_type(t), m_hidden(h), m_group(g) { } const QString& label() const { return m_label; } const QString& filePath() const { return m_filePath; } FileDialogModel::FileType type() const { return m_type; } bool isGroup() const { return !m_group.empty(); } bool isHidden() const { return m_hidden; } const QList& group() const { return m_group; } private: QString m_label; QString m_filePath; FileDialogModel::FileType m_type; bool m_hidden; QList m_group; }; ///////////////////////////////////////////////////////////////////// // Icons FileDialogModelIconProvider::FileDialogModelIconProvider() { QStyle* style = QApplication::style(); m_folderLinkIcon = style->standardIcon(QStyle::SP_DirLinkIcon); m_fileLinkIcon = style->standardIcon(QStyle::SP_FileLinkIcon); } QIcon FileDialogModelIconProvider::icon(IconType t) const { switch (t) { case Computer: return QFileIconProvider::icon(QFileIconProvider::Computer); case Drive: return QFileIconProvider::icon(QFileIconProvider::Drive); case Folder: return QFileIconProvider::icon(QFileIconProvider::Folder); case File: return QFileIconProvider::icon(QFileIconProvider::File); case FolderLink: return m_folderLinkIcon; case FileLink: return m_fileLinkIcon; case NetworkFolder: return QFileIconProvider::icon(QFileIconProvider::Network); } return QIcon(); } QIcon FileDialogModelIconProvider::icon(FileDialogModel::FileType f) const { if (f == FileDialogModel::DIRECTORY_LINK) { return icon(FileDialogModelIconProvider::FolderLink); } else if (f == FileDialogModel::SINGLE_FILE_LINK) { return icon(FileDialogModelIconProvider::FileLink); } else if (f == FileDialogModel::NETWORK_SHARE) { return icon(FileDialogModelIconProvider::NetworkFolder); } else if (f == FileDialogModel::NETWORK_SERVER) { return icon(FileDialogModelIconProvider::Computer); } else if (f == FileDialogModel::DIRECTORY) { return icon(FileDialogModelIconProvider::Folder); } return icon(FileDialogModelIconProvider::File); } QIcon FileDialogModelIconProvider::icon(const QFileInfo& info) const { return QFileIconProvider::icon(info); } QIcon FileDialogModelIconProvider::icon(QFileIconProvider::IconType ico) const { return QFileIconProvider::icon(ico); } Q_GLOBAL_STATIC(FileDialogModelIconProvider, Icons) namespace { /////////////////////////////////////////////////////////////////////// // caseInsensitiveSort bool caseInsensitiveSort(const FileDialogModelFileInfo& A, const FileDialogModelFileInfo& B) { // Sort alphabetically (but case-insensitively) return A.label().toLower() < B.label().toLower(); } } // namespace class FileDialogModel::Private { public: Private(FileDialogModel* model, ProtoCall::Runtime::vtkCommunicatorChannel* server) : m_separator(0), m_server(server), m_model(model) { RemoteFileSystemService::Proxy proxy(m_server); // Get the separator Separator* separator = new Separator(); Closure* callback = NewCallback( this, &FileDialogModel::Private::handleSeparatorResponse, separator); proxy.separator(separator, callback); } ~Private() {} void listCurrentWorkingDir() { Path dir; listDirectory(dir); } void listDirectory(const QString& path) { // Get the listing of the current working directory Path dir; dir.set_path(path.toStdString()); listDirectory(dir); } void listDirectory(Path& dir) { RemoteFileSystemService::Proxy proxy(m_server); // Get the listing of the current working directory Listing* listing = new Listing(); Closure* callback = NewCallback( this, &FileDialogModel::Private::handleListingResponse, listing); proxy.ls(&dir, listing, callback); } void handleSeparatorResponse(Separator* response) { m_separator = response->separator()[0]; delete response; } void handleListingResponse(Listing* response) { m_currentPath = response->path().path().c_str(); m_fileList.clear(); QList dirs; QList files; for (int i = 0; i < response->paths_size(); i++) { const Path& path = response->paths(i); const QString label = QString::fromStdString(path.name()); FileDialogModelFileInfo info( label, label, static_cast(path.type()), false); if (path.type() == FileDialogModel::DIRECTORY) { dirs.push_back(info); } else { files.push_back(info); } } qSort(dirs.begin(), dirs.end(), caseInsensitiveSort); qSort(files.begin(), files.end(), caseInsensitiveSort); for (int i = 0; i != dirs.size(); ++i) { m_fileList.push_back(dirs[i]); } for (int i = 0; i != files.size(); ++i) { m_fileList.push_back(files[i]); } m_model->reset(); delete response; } /// Removes multiple-slashes, ".", and ".." from the given path string, /// and points slashes in the correct direction for the server const QString cleanPath(const QString& Path) { QString result = QDir::cleanPath(QDir::fromNativeSeparators(Path)); return result.trimmed(); } QStringList getFilePaths(const QModelIndex& Index) { QStringList results; QModelIndex p = Index.parent(); if (p.isValid()) { if (p.row() < m_fileList.size()) { FileDialogModelFileInfo& file = m_fileList[p.row()]; const QList& grp = file.group(); if (Index.row() < grp.size()) results.push_back(grp[Index.row()].filePath()); } } else if (Index.row() < m_fileList.size()) { FileDialogModelFileInfo& file = m_fileList[Index.row()]; if (file.isGroup() && file.group().count() > 0) { for (int i = 0; i < file.group().count(); i++) results.push_back(file.group().at(i).filePath()); } else results.push_back(file.filePath()); } return results; } bool isHidden(const QModelIndex& idx) { const FileDialogModelFileInfo* info = infoForIndex(idx); return info ? info->isHidden() : false; } bool isDir(const QModelIndex& idx) { const FileDialogModelFileInfo* info = infoForIndex(idx); return info ? isDirectory(info->type()) : false; } bool isRemote() { return m_server; } ProtoCall::Runtime::vtkCommunicatorChannel* getServer() { return m_server; } /// Path separator for the connected server's filesystem. char m_separator; /// Current path being displayed (server's filesystem). QString m_currentPath; /// Caches information about the set of files within the current path. QVector m_fileList; const FileDialogModelFileInfo* infoForIndex(const QModelIndex& idx) const { if (idx.isValid() && nullptr == idx.internalPointer() && idx.row() >= 0 && idx.row() < m_fileList.size()) { return &m_fileList[idx.row()]; } else if (idx.isValid() && idx.internalPointer()) { FileDialogModelFileInfo* ptr = reinterpret_cast(idx.internalPointer()); const QList& grp = ptr->group(); if (idx.row() >= 0 && idx.row() < grp.size()) { return &grp[idx.row()]; ; } } return nullptr; } private: ProtoCall::Runtime::vtkCommunicatorChannel* m_server; FileDialogModel* m_model; }; ////////////////////////////////////////////////////////////////////////// // FileDialogModel FileDialogModel::FileDialogModel( ProtoCall::Runtime::vtkCommunicatorChannel* _server, QObject* Parent) : base(Parent), m_implementation(new Private(this, _server)) { } FileDialogModel::~FileDialogModel() { delete m_implementation; } ProtoCall::Runtime::vtkCommunicatorChannel* FileDialogModel::server() const { return m_implementation->getServer(); } void FileDialogModel::setCurrentPath(const QString& path) { if (path.isEmpty()) m_implementation->listCurrentWorkingDir(); else m_implementation->listDirectory(path); } QString FileDialogModel::getCurrentPath() { return m_implementation->m_currentPath; } class AbsoluteFilePathRequest : public QObject { Q_OBJECT public: AbsoluteFilePathRequest(vtkCommunicatorChannel* server, const QString& currentDir, const QString& path) : m_currentDir(currentDir), m_path(path), m_server(server) { } void handleAbsolutePathResponse(Path* response) { emit complete(QString::fromStdString(response->path())); delete response; } void execute() { if (m_path.isEmpty()) { emit complete(QString()); } RemoteFileSystemService::Proxy proxy(m_server); Path absolutePathRequest; absolutePathRequest.set_name(m_path.toStdString()); absolutePathRequest.set_path(m_currentDir.toStdString()); Path* response = new Path(); Closure* callback = NewCallback( this, &AbsoluteFilePathRequest::handleAbsolutePathResponse, response); proxy.absolutePath(&absolutePathRequest, response, callback); } signals: void complete(const QString& path); private: QString m_currentDir; QString m_path; vtkCommunicatorChannel* m_server; }; void FileDialogModel::absoluteFilePath(const QString& path, const QObject* requester, const char* resultSlot) { AbsoluteFilePathRequest* request = new AbsoluteFilePathRequest( server(), m_implementation->m_currentPath, path); connect(request, SIGNAL(complete(const QString&)), requester, resultSlot); connect(request, SIGNAL(complete(const QString&)), this, SLOT(cleanup())); request->execute(); } QStringList FileDialogModel::getFilePaths(const QModelIndex& Index) { if (Index.model() == this) return m_implementation->getFilePaths(Index); return QStringList(); } bool FileDialogModel::isHidden(const QModelIndex& Index) { if (Index.model() == this) return m_implementation->isHidden(Index); return false; } bool FileDialogModel::isDir(const QModelIndex& Index) { if (Index.model() == this) return m_implementation->isDir(Index); return false; } void FileDialogModel::cleanup() { sender()->deleteLater(); } class FileExistsRequest : public QObject { Q_OBJECT public: FileExistsRequest(vtkCommunicatorChannel* server, const QString& path) : m_path(path), m_server(server) { } void handleFileExists(Listing* listing) { if (listing->path().type() == FileDialogModel::SINGLE_FILE) emit complete(QString::fromStdString(listing->path().path()), true); else if (!QString::fromStdString(listing->path().path()).endsWith(".lnk")) execute(QString::fromStdString(listing->path().path() + ".lnk")); else emit complete(QString::fromStdString(listing->path().path()), false); delete listing; } void execute() { execute(m_path); } signals: void complete(const QString& path, bool exists); private: QString m_path; vtkCommunicatorChannel* m_server; void execute(const QString& filePath) { if (filePath.isEmpty()) emit complete(QString(), false); RemoteFileSystemService::Proxy proxy(m_server); Path path; path.set_path(filePath.toStdString()); Listing* listing = new Listing(); Closure* callback = NewCallback(this, &FileExistsRequest::handleFileExists, listing); proxy.ls(&path, listing, callback); } }; void FileDialogModel::fileExists(const QString& file, const QObject* requester, const char* resultSlot) { QString filePath = m_implementation->cleanPath(file); FileExistsRequest* request = new FileExistsRequest(server(), file); connect(request, SIGNAL(complete(const QString&, bool)), requester, resultSlot); connect(request, SIGNAL(complete(const QString&, bool)), this, SLOT(cleanup())); request->execute(); } class DirExistsRequest : public QObject { Q_OBJECT public: DirExistsRequest(vtkCommunicatorChannel* server, const QString& path) : m_path(path), m_server(server) { } void handleDirExists(Listing* listing) { if (FileDialogModel::isDirectory( static_cast(listing->path().type()))) emit complete(QString::fromStdString(listing->path().path()), true); else if (!FileDialogModel::isFile(static_cast( listing->path().type())) && !QString::fromStdString(listing->path().path()).endsWith(".lnk")) execute(QString::fromStdString(listing->path().path() + ".lnk")); else emit complete(QString::fromStdString(listing->path().path()), false); delete listing; } void execute() { execute(m_path); } signals: void complete(const QString& path, bool exists); private: QString m_path; vtkCommunicatorChannel* m_server; void execute(const QString& dirPath) { if (dirPath.isEmpty()) emit complete(QString(), false); RemoteFileSystemService::Proxy proxy(m_server); Path path; path.set_path(dirPath.toStdString()); Listing* listing = new Listing(); Closure* callback = NewCallback(this, &DirExistsRequest::handleDirExists, listing); proxy.ls(&path, listing, callback); } }; void FileDialogModel::dirExists(const QString& path, const QObject* requester, const char* resultSlot) { QString dirPath = m_implementation->cleanPath(path); DirExistsRequest* request = new DirExistsRequest(server(), dirPath); connect(request, SIGNAL(complete(const QString&, bool)), requester, resultSlot); connect(request, SIGNAL(complete(const QString&, bool)), this, SLOT(cleanup())); request->execute(); } QChar FileDialogModel::separator() const { return m_implementation->m_separator; } int FileDialogModel::columnCount(const QModelIndex& idx) const { const FileDialogModelFileInfo* file = m_implementation->infoForIndex(idx); if (!file) // should never get here anyway return 1; return file->group().size() + 1; } QVariant FileDialogModel::data(const QModelIndex& idx, int role) const { const FileDialogModelFileInfo* file; if (idx.column() == 0) file = m_implementation->infoForIndex(idx); else file = m_implementation->infoForIndex(idx.parent()); if (!file) // should never get here anyway return QVariant(); if (role == Qt::DisplayRole || role == Qt::EditRole) { if (idx.column() == 0) return file->label(); else if (idx.column() <= file->group().size()) return file->group().at(idx.column() - 1).label(); } else if (role == Qt::UserRole) { if (idx.column() == 0) return file->filePath(); else if (idx.column() <= file->group().size()) return file->group().at(idx.column() - 1).filePath(); } else if (role == Qt::DecorationRole && idx.column() == 0) return Icons()->icon(file->type()); return QVariant(); } QModelIndex FileDialogModel::index(int row, int column, const QModelIndex& p) const { if (!p.isValid()) return createIndex(row, column); if (p.row() >= 0 && p.row() < m_implementation->m_fileList.size() && nullptr == p.internalPointer()) { FileDialogModelFileInfo* fi = &m_implementation->m_fileList[p.row()]; return createIndex(row, column, fi); } return QModelIndex(); } QModelIndex FileDialogModel::parent(const QModelIndex& idx) const { if (!idx.isValid() || !idx.internalPointer()) return QModelIndex(); const FileDialogModelFileInfo* ptr = reinterpret_cast(idx.internalPointer()); int row = ptr - &m_implementation->m_fileList.first(); return createIndex(row, idx.column()); } int FileDialogModel::rowCount(const QModelIndex& idx) const { if (!idx.isValid()) return m_implementation->m_fileList.size(); if (nullptr == idx.internalPointer() && idx.row() >= 0 && idx.row() < m_implementation->m_fileList.size()) return m_implementation->m_fileList[idx.row()].group().size(); return 0; } bool FileDialogModel::hasChildren(const QModelIndex& idx) const { if (!idx.isValid()) return true; if (nullptr == idx.internalPointer() && idx.row() >= 0 && idx.row() < m_implementation->m_fileList.size()) return m_implementation->m_fileList[idx.row()].isGroup(); return false; } QVariant FileDialogModel::headerData(int section, Qt::Orientation, int role) const { switch (role) { case Qt::DisplayRole: switch (section) { case 0: return tr("Filename"); } } return QVariant(); } Qt::ItemFlags FileDialogModel::flags(const QModelIndex& idx) const { Qt::ItemFlags ret = Qt::ItemIsSelectable | Qt::ItemIsEnabled; const FileDialogModelFileInfo* file = m_implementation->infoForIndex(idx); if (file && !file->isGroup()) ret |= Qt::ItemIsEditable; return ret; } bool FileDialogModel::isDirectory(FileDialogModel::FileType t) { return t == DIRECTORY || t == DIRECTORY_LINK || t == DRIVE || t == NETWORK_ROOT || t == NETWORK_DOMAIN || t == NETWORK_SERVER || t == NETWORK_SHARE; } bool FileDialogModel::isFile(FileType t) { return t == SINGLE_FILE || t == SINGLE_FILE_LINK; } #include "filedialogmodel.moc" avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/filedialogmodel.h000066400000000000000000000120221360735163600261150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_FILEDIALOGMODEL_H #define AVOGADRO_QTPLUGINS_FILEDIALOGMODEL_H #include #include #include class vtkProcessModule; class QModelIndex; namespace ProtoCall { namespace Runtime { class RpcChannel; class vtkCommunicatorChannel; } } class Listing; class Path; /** * @class FileDialogModel filedialogmodel.h * * @brief Remote file dialog model */ class FileDialogModel : public QAbstractItemModel { typedef QAbstractItemModel base; Q_OBJECT public: enum FileType { INVALID = 0, SINGLE_FILE, SINGLE_FILE_LINK, DIRECTORY, DIRECTORY_LINK, FILE_GROUP, DRIVE, NETWORK_ROOT, NETWORK_DOMAIN, NETWORK_SERVER, NETWORK_SHARE }; FileDialogModel(ProtoCall::Runtime::vtkCommunicatorChannel* server, QObject* Parent = nullptr); ~FileDialogModel(); /// Sets the path that the file dialog will display void setCurrentPath(const QString&); /// Returns the path to the file dialog will display QString getCurrentPath(); /// Return true if the file at the index is hidden bool isHidden(const QModelIndex&); /// Return true if the given row is a directory bool isDir(const QModelIndex&); // Creates a directory. "dirName" can be relative or absolute path bool mkdir(const QString& dirname); // Removes a directory. "dirName" can be relative or absolute path bool rmdir(const QString& dirname); // Renames a directory or file. bool rename(const QString& oldname, const QString& newname); /// Returns whether the file exists /// also returns the full path, which could be a resolved shortcut void fileExists(const QString& file, const QObject* requestor, const char* resultSlot); /// Returns whether a directory exists /// also returns the full path, which could be a resolved shortcut void dirExists(const QString& dir, const QObject* requestor, const char* resultSlot); /// returns the path delimiter, could be \ or / depending on the platform /// this model is browsing QChar separator() const; /// return the absolute path for this file void absoluteFilePath(const QString& path, const QObject* requester, const char* resultSlot); /// Returns the set of file paths associated with the given row /// (a row may represent one-to-many paths if grouping is implemented) /// this also resolved symlinks if necessary QStringList getFilePaths(const QModelIndex&); /// Returns the server that this model is browsing ProtoCall::Runtime::vtkCommunicatorChannel* server() const; // overloads for QAbstractItemModel /// return the number of columns in the model int columnCount(const QModelIndex&) const; /// return the data for an item QVariant data(const QModelIndex& idx, int role) const; /// return an index from another index QModelIndex index(int row, int column, const QModelIndex&) const; /// return the parent index of an index QModelIndex parent(const QModelIndex&) const; /// return the number of rows under a given index int rowCount(const QModelIndex&) const; /// return whether a given index has children bool hasChildren(const QModelIndex& p) const; /// returns header data QVariant headerData(int section, Qt::Orientation, int role) const; /// returns flags for item Qt::ItemFlags flags(const QModelIndex& idx) const; static bool isDirectory(FileDialogModel::FileType type); static bool isFile(FileDialogModel::FileType type); signals: void fileExistsComplete(const QString& path, bool exists); void dirExistsComplete(const QString& path, bool exits); void absoluteFilePathComplete(const QString& path); private: class Private; Private* const m_implementation; void handleFileExists(Listing* listing); void handleDirExists(Listing* listing); void handleAbsolutePathResponse(Path* response); private slots: void cleanup(); }; class FileDialogModelIconProvider : protected QFileIconProvider { public: enum IconType { Computer, Drive, Folder, File, FolderLink, FileLink, NetworkFolder }; FileDialogModelIconProvider(); QIcon icon(IconType t) const; QIcon icon(FileDialogModel::FileType f) const; protected: QIcon icon(const QFileInfo& info) const; QIcon icon(QFileIconProvider::IconType ico) const; QIcon m_folderLinkIcon; QIcon m_fileLinkIcon; }; #endif avogadrolibs-1.93.0/avogadro/qtplugins/clientserver/remote.proto000066400000000000000000000017671360735163600252220ustar00rootroot00000000000000import "protocall.proto"; import "external_avogadrocore.proto"; message OpenRequest { optional string path = 1; } message OpenResponse { optional external.Avogadro.Core.Molecule molecule = 1; } service RemoteMoleculeService { rpc open(OpenRequest) returns(OpenResponse); rpc fileFormats(Void) returns(FileFormats); } message Path { optional string name = 1; optional string path = 2; optional uint32 type = 3; optional bool hidden = 4; } message Listing { optional Path path = 1; repeated Path paths = 2; } message Separator { optional string separator = 1; } message Paths { repeated Paths dirs = 1; } message FileFormat { optional string name = 1; repeated string extension = 2; } message FileFormats { repeated FileFormat formats = 1; } service RemoteFileSystemService { rpc ls(Path) returns(Listing); rpc cwd(Void) returns(Path); rpc separator(Void) returns(Separator); rpc specialDirectories(Void) returns(Paths); rpc absolutePath(Path) returns(Path); } avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/000077500000000000000000000000001360735163600233275ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/CMakeLists.txt000066400000000000000000000007511360735163600260720ustar00rootroot00000000000000include_directories("${CMAKE_CURRENT_SOURCE_DIR}") set(_srcs coloropacitymap.cpp histogramwidget.cpp qvtkwidget.cpp vtkChartHistogram.cpp vtkChartHistogramColorOpacityEditor.cpp vtkCustomPiecewiseControlPointsItem.cpp comdialog.cpp ) set(_uis comdialog.ui ) avogadro_plugin(ColorOpacityMap "Edit the color opacity map." ExtensionPlugin coloropacitymap.h ColorOpacityMap "${_srcs}" "${_uis}" ) target_link_libraries(ColorOpacityMap LINK_PRIVATE AvogadroVtk) avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/coloropacitymap.cpp000066400000000000000000000121461360735163600272440ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #include "coloropacitymap.h" #include "comdialog.h" #include "computehistogram.h" #include "histogramwidget.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using Avogadro::QtGui::Molecule; using Avogadro::QtOpenGL::ActiveObjects; using std::map; namespace Avogadro { namespace QtPlugins { using Core::Array; vtkImageData* cubeImageData(Core::Cube* cube) { auto data = vtkImageData::New(); // data->SetNumberOfScalarComponents(1, nullptr); Eigen::Vector3i dim = cube->dimensions(); data->SetExtent(0, dim.x() - 1, 0, dim.y() - 1, 0, dim.z() - 1); // Translate origin, spacing, and types from Avogadro to VTK. data->SetOrigin(cube->min().x(), cube->min().y(), cube->min().z()); data->SetSpacing(cube->spacing().data()); data->AllocateScalars(VTK_DOUBLE, 1); double* dataPtr = static_cast(data->GetScalarPointer()); std::vector* cubePtr = cube->data(); // Reorder our cube for VTK's Fortran ordering in vtkImageData. for (int i = 0; i < dim.x(); ++i) { for (int j = 0; j < dim.y(); ++j) { for (int k = 0; k < dim.z(); ++k) { dataPtr[(k * dim.y() + j) * dim.x() + i] = (*cubePtr)[(i * dim.y() + j) * dim.z() + k]; } } } return data; } ColorOpacityMap::ColorOpacityMap(QObject* p) : Avogadro::QtGui::ExtensionPlugin(p), m_actions(QList()), m_displayDialogAction(new QAction(this)) { m_displayDialogAction->setText(tr("Edit Color Opacity Map...")); connect(m_displayDialogAction.data(), &QAction::triggered, this, &ColorOpacityMap::displayDialog); m_actions.push_back(m_displayDialogAction.data()); m_displayDialogAction->setProperty("menu priority", 70); updateActions(); } ColorOpacityMap::~ColorOpacityMap() = default; QList ColorOpacityMap::actions() const { return m_actions; } QStringList ColorOpacityMap::menuPath(QAction*) const { return QStringList() << tr("&Extensions"); } void ColorOpacityMap::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateActions(); } void ColorOpacityMap::moleculeChanged(unsigned int c) { Q_ASSERT(m_molecule == qobject_cast(sender())); // Don't attempt to update anything if there is no dialog to update! if (!m_comDialog) return; // I think we need to look at adding cubes to changes, flaky right now. auto changes = static_cast(c); if (changes & Molecule::Added || changes & Molecule::Removed) { updateActions(); updateHistogram(); } } void ColorOpacityMap::updateActions() { // Disable everything for nullptr molecules. if (!m_molecule) { foreach (QAction* action, m_actions) action->setEnabled(false); return; } foreach (QAction* action, m_actions) action->setEnabled(true); } void ColorOpacityMap::updateHistogram() { auto widget = ActiveObjects::instance().activeWidget(); auto vtkWidget = qobject_cast(widget); if (widget && vtkWidget && widget != m_activeWidget) { if (m_activeWidget) disconnect(widget, 0, this, 0); connect(widget, SIGNAL(imageDataUpdated()), SLOT(updateHistogram())); m_activeWidget = widget; } if (vtkWidget && m_molecule && m_molecule->cubeCount()) { vtkNew table; auto imageData = vtkWidget->imageData(); auto lut = vtkWidget->lut(); auto opacity = vtkWidget->opacityFunction(); m_histogramWidget->setLUT(lut); m_histogramWidget->setOpacityFunction(opacity); if (imageData) { PopulateHistogram(imageData, table); m_histogramWidget->setInputData(table, "image_extents", "image_pops"); } } } void ColorOpacityMap::displayDialog() { if (!m_comDialog) { auto p = qobject_cast(parent()); m_comDialog = new ComDialog(p); m_comDialog->setMolecule(m_molecule); m_histogramWidget = m_comDialog->histogramWidget(); // m_c->resize(800, 600); connect(m_histogramWidget, SIGNAL(colorMapUpdated()), SLOT(render())); connect(m_histogramWidget, SIGNAL(opacityChanged()), SLOT(render())); connect(m_comDialog, SIGNAL(renderNeeded()), SLOT(render())); } updateHistogram(); m_comDialog->show(); } void ColorOpacityMap::render() { auto widget = ActiveObjects::instance().activeWidget(); auto vtkWidget = qobject_cast(widget); if (vtkWidget) { vtkWidget->GetRenderWindow()->Render(); vtkWidget->update(); } } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/coloropacitymap.h000066400000000000000000000027031360735163600267070ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #ifndef AVOGADRO_QTPLUGINS_COLOROPACITYMAP_H #define AVOGADRO_QTPLUGINS_COLOROPACITYMAP_H #include class QStringList; namespace Avogadro { class HistogramWidget; namespace QtPlugins { class ComDialog; /** * @brief An interactive color opacity map editor with a value population * histogram. */ class ColorOpacityMap : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit ColorOpacityMap(QObject* parent_ = 0); ~ColorOpacityMap(); QString name() const { return tr("ColorOpacityMap"); } QString description() const; QList actions() const; QStringList menuPath(QAction*) const; public slots: void setMolecule(QtGui::Molecule* mol); void moleculeChanged(unsigned int changes); private slots: void updateActions(); void updateHistogram(); void displayDialog(); void render(); private: QList m_actions; QtGui::Molecule* m_molecule = nullptr; ComDialog* m_comDialog = nullptr; HistogramWidget* m_histogramWidget = nullptr; QScopedPointer m_displayDialogAction; QWidget* m_activeWidget = nullptr; }; inline QString ColorOpacityMap::description() const { return tr("Edit color opacity maps, primarily for volume rendering."); } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_COLOROPACITYMAP_H avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/comdialog.cpp000066400000000000000000000044761360735163600260040ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #include "comdialog.h" #include "ui_comdialog.h" #include #include #include #include namespace Avogadro { namespace QtPlugins { using QtOpenGL::ActiveObjects; using VTK::vtkGLWidget; ComDialog::ComDialog(QWidget* p, Qt::WindowFlags f) : QDialog(p, f), m_ui(new Ui::ComDialog) { m_ui->setupUi(this); connect(m_ui->enableVolumeRendering, SIGNAL(stateChanged(int)), SLOT(enableVolume(int))); connect(m_ui->enableIsosurface, SIGNAL(stateChanged(int)), SLOT(enableIsosurface(int))); connect(m_ui->isoValue, SIGNAL(valueChanged(double)), SLOT(setIsoValue(double))); connect(m_ui->opacity, SIGNAL(valueChanged(double)), SLOT(setOpacity(double))); } ComDialog::~ComDialog() { delete m_ui; } HistogramWidget* ComDialog::histogramWidget() { return m_ui->histogramWidget; } void ComDialog::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol || !mol) return; m_molecule = mol; // Figure out which cubes are available. m_ui->cubesComboBox->clear(); for (Index i = 0; i < mol->cubeCount(); ++i) { m_ui->cubesComboBox->addItem(QString(mol->cube(i)->name().c_str())); } } void ComDialog::enableVolume(int enable) { auto w = ActiveObjects::instance().activeWidget(); auto vtkgl = qobject_cast(w); if (vtkgl) { vtkgl->renderVolume(enable == 0 ? false : true); emit renderNeeded(); } } void ComDialog::enableIsosurface(int enable) { auto w = ActiveObjects::instance().activeWidget(); auto vtkgl = qobject_cast(w); if (vtkgl) { vtkgl->renderIsosurface(enable == 0 ? false : true); emit renderNeeded(); } } void ComDialog::setIsoValue(double value) { auto w = ActiveObjects::instance().activeWidget(); auto vtkgl = qobject_cast(w); if (vtkgl) { vtkgl->setIsoValue(value); emit renderNeeded(); } } void ComDialog::setOpacity(double value) { auto w = ActiveObjects::instance().activeWidget(); auto vtkgl = qobject_cast(w); if (vtkgl) { vtkgl->setOpacity(value); emit renderNeeded(); } } } // namespace QtPlugins } // namespace Avogadroavogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/comdialog.h000066400000000000000000000016421360735163600254410ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #ifndef AVOGADRO_QTPLUGINS_COMDIALOG_H #define AVOGADRO_QTPLUGINS_COMDIALOG_H #include namespace Ui { class ComDialog; } namespace Avogadro { class HistogramWidget; namespace QtGui { class Molecule; } namespace QtPlugins { class ComDialog : public QDialog { Q_OBJECT public: ComDialog(QWidget* parent = 0, Qt::WindowFlags f = 0); ~ComDialog() override; HistogramWidget* histogramWidget(); void setMolecule(QtGui::Molecule* mol); protected slots: void enableVolume(int enable); void enableIsosurface(int enable); void setIsoValue(double value); void setOpacity(double value); signals: void renderNeeded(); private: Ui::ComDialog* m_ui = nullptr; QtGui::Molecule* m_molecule = nullptr; }; } // End namespace QtPlugins } // End namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/comdialog.ui000066400000000000000000000102131360735163600256210ustar00rootroot00000000000000 ComDialog 0 0 776 549 Volume Rendering 1 1 Cube Enable volume rendering true Enable surface rendering Isovalue false 3 0.010000000000000 0.050000000000000 Opacity false 1.000000000000000 0.100000000000000 0.500000000000000 Avogadro::HistogramWidget QWidget
histogramwidget.h
1
enableIsosurface toggled(bool) isoValue setEnabled(bool) 472 465 472 493 enableIsosurface toggled(bool) opacity setEnabled(bool) 472 465 472 525
avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/computehistogram.h000066400000000000000000000136701360735163600271010ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #ifndef AVOGADRO_COMPUTE_HISTOGRAM_H #define AVOGADRO_COMPUTE_HISTOGRAM_H #include #include #include #include #include #include #include #include namespace Avogadro { /** Single component integral type specialization. */ template ::value>::type* = nullptr> void calcHistogram(T* values, const vtkIdType numTuples, const float min, const float inv, int* pops, int&) { for (vtkIdType j = 0; j < numTuples; ++j) { ++pops[static_cast((*values++ - min) * inv)]; } } /** Needs to be present, should never be compiled. */ template void calcHistogram(T*, const vtkIdType, int*) { static_assert(!std::is_same::value, "Invalid type"); } /** Single component unsigned char covering 0 -> 255 range. */ void calcHistogram(unsigned char* values, const vtkIdType numTuples, int* pops) { for (vtkIdType j = 0; j < numTuples; ++j) { ++pops[*values++]; } } /** Single component floating point type specialization. */ template ::value>::type* = nullptr> void calcHistogram(T* values, const vtkIdType numTuples, const float min, const float inv, int* pops, int& invalid) { for (vtkIdType j = 0; j < numTuples; ++j) { T value = *(values++); if (std::isfinite(value)) { ++pops[static_cast((value - min) * inv)]; } else { ++invalid; } } } /** * Computes a histogram from an array of values. * \param values The array from which to compute the histogram. * \param numTuples Number of tuples in the array. * \param numComponents Number of components in each tuple. * \param min Minimum value in range * \param max Maximum value in range * \param inv Inverse of bin size, numBins is the number of bins * in the histogram (or length of the pops array), and invalid is a return * parameter indicating how many values in the array had a non-finite value. */ template void CalculateHistogram(T* values, const vtkIdType numTuples, const vtkIdType numComponents, const float min, const float max, int* pops, const float inv, int& invalid) { // Single component is a simpler/faster path, let's dispatch separately. if (numComponents == 1) { // Very fast path for unsigned char in 0 -> 255 range, or fast path. if (std::is_same::value && min == 0.f && max == 255.f) { calcHistogram(values, numTuples, pops); } else { calcHistogram(values, numTuples, min, inv, pops, invalid); } } else { // Multicomponent magnitude for (vtkIdType j = 0; j < numTuples; ++j) { // Check that all components are valid. bool valid = true; double squaredSum = 0.0; for (vtkIdType c = 0; c < numComponents; ++c) { T value = *(values + c); if (!vtkMath::IsFinite(value)) { valid = false; break; } squaredSum += (value * value); } if (valid) { int index = static_cast((sqrt(squaredSum) - min) * inv); ++pops[index]; } else { ++invalid; } values += numComponents; } } } void PopulateHistogram(vtkImageData* input, vtkTable* output) { // The output table will have the twice the number of columns, they will be // the x and y for input column. This is the bin centers, and the population. double minmax[2] = { 0.0, 0.0 }; // This number of bins in the 2D histogram will also be used as the number of // bins in the 2D transfer function for X (scalar value) and Y (gradient mag.) const int numberOfBins = 256; // Keep the array we are working on around even if the user shallow copies // over the input image data by incrementing the reference count here. vtkSmartPointer arrayPtr = input->GetPointData()->GetScalars(); if (!arrayPtr) { return; } // The bin values are the centers, extending +/- half an inc either side arrayPtr->GetFiniteRange(minmax, -1); if (minmax[0] == minmax[1]) { minmax[1] = minmax[0] + 1.0; } double inc = (minmax[1] - minmax[0]) / (numberOfBins - 1); double halfInc = inc / 2.0; vtkSmartPointer extents = vtkFloatArray::SafeDownCast(output->GetColumnByName("image_extents")); if (!extents) { extents = vtkSmartPointer::New(); extents->SetName("image_extents"); } extents->SetNumberOfTuples(numberOfBins); double min = minmax[0] + halfInc; for (int j = 0; j < numberOfBins; ++j) { extents->SetValue(j, min + j * inc); } vtkSmartPointer populations = vtkIntArray::SafeDownCast(output->GetColumnByName("image_pops")); if (!populations) { populations = vtkSmartPointer::New(); populations->SetName("image_pops"); } populations->SetNumberOfTuples(numberOfBins); auto pops = static_cast(populations->GetVoidPointer(0)); for (int k = 0; k < numberOfBins; ++k) { pops[k] = 0; } int invalid = 0; switch (arrayPtr->GetDataType()) { vtkTemplateMacro(CalculateHistogram( reinterpret_cast(arrayPtr->GetVoidPointer(0)), arrayPtr->GetNumberOfTuples(), arrayPtr->GetNumberOfComponents(), minmax[0], minmax[1], pops, 1.0 / inc, invalid)); default: cout << "UpdateFromFile: Unknown data type" << endl; } #ifndef NDEBUG vtkIdType total = invalid; for (int i = 0; i < numberOfBins; ++i) total += pops[i]; assert(total == arrayPtr->GetNumberOfTuples()); #endif if (invalid) { cout << "Warning: NaN or infinite value in dataset" << endl; } output->AddColumn(extents); output->AddColumn(populations); } } // namespace Avogadro #endif // AVOGADRO_COMPUTE_HISTOGRAM_H avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/histogramwidget.cpp000066400000000000000000000105421360735163600272360ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #include "histogramwidget.h" #include "qvtkwidget.h" #include #include #include #include "vtkChartHistogramColorOpacityEditor.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { using QtOpenGL::ActiveObjects; HistogramWidget::HistogramWidget(QWidget* parent) : QWidget(parent), m_qvtk(new QVTKGLWidget(this)) { // Set up our little chart. m_histogramView->SetRenderWindow(m_qvtk->GetRenderWindow()); m_histogramView->SetInteractor(m_qvtk->GetInteractor()); m_histogramView->GetScene()->AddItem(m_histogramColorOpacityEditor); // Connect events from the histogram color/opacity editor. m_eventLink->Connect(m_histogramColorOpacityEditor, vtkCommand::CursorChangedEvent, this, SLOT(histogramClicked(vtkObject*))); m_eventLink->Connect(m_histogramColorOpacityEditor, vtkCommand::EndEvent, this, SLOT(onScalarOpacityFunctionChanged())); m_eventLink->Connect(m_histogramColorOpacityEditor, vtkControlPointsItem::CurrentPointEditEvent, this, SLOT(onCurrentPointEditEvent())); auto hLayout = new QHBoxLayout(this); hLayout->addWidget(m_qvtk); setLayout(hLayout); } HistogramWidget::~HistogramWidget() = default; void HistogramWidget::setLUT(vtkColorTransferFunction* lut) { if (m_LUT != lut) { m_LUT = lut; m_histogramColorOpacityEditor->SetColorTransferFunction(lut); emit colorMapUpdated(); } } void HistogramWidget::setOpacityFunction(vtkPiecewiseFunction* opacity) { if (m_opacityFunction) { m_eventLink->Disconnect(m_opacityFunction, vtkCommand::ModifiedEvent, this, SLOT(onScalarOpacityFunctionChanged())); } m_opacityFunction = opacity; m_histogramColorOpacityEditor->SetOpacityFunction(opacity); m_eventLink->Connect(m_opacityFunction, vtkCommand::ModifiedEvent, this, SLOT(onScalarOpacityFunctionChanged())); } vtkColorTransferFunction* HistogramWidget::LUT() { return m_LUT; } vtkPiecewiseFunction* HistogramWidget::opacityFunction() { return m_opacityFunction; } void HistogramWidget::setInputData(vtkTable* table, const char* x, const char* y) { m_inputData = table; m_histogramColorOpacityEditor->SetHistogramInputData(table, x, y); m_histogramColorOpacityEditor->SetOpacityFunction(m_opacityFunction); if (m_LUT && table) { m_histogramColorOpacityEditor->SetScalarVisibility(true); m_histogramColorOpacityEditor->SetColorTransferFunction(m_LUT); m_histogramColorOpacityEditor->SelectColorArray("image_extents"); } m_histogramView->Render(); } void HistogramWidget::onScalarOpacityFunctionChanged() { // Update the histogram m_histogramView->GetRenderWindow()->Render(); emit opacityChanged(); } void HistogramWidget::onCurrentPointEditEvent() { double rgb[3]; if (m_histogramColorOpacityEditor->GetCurrentControlPointColor(rgb)) { QColor color = QColorDialog::getColor(QColor::fromRgbF(rgb[0], rgb[1], rgb[2]), this, "Select Color for Control Point"); if (color.isValid()) { rgb[0] = color.redF(); rgb[1] = color.greenF(); rgb[2] = color.blueF(); m_histogramColorOpacityEditor->SetCurrentControlPointColor(rgb); onScalarOpacityFunctionChanged(); } } } void HistogramWidget::histogramClicked(vtkObject*) {} void HistogramWidget::updateUI() {} void HistogramWidget::renderViews() { // pqView* view = // tomviz::convert(ActiveObjects::instance().activeView()); // if (view) { // view->render(); // } } void HistogramWidget::showEvent(QShowEvent* event) { QWidget::showEvent(event); renderViews(); } } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/histogramwidget.h000066400000000000000000000031561360735163600267060ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #ifndef AVOGADRO_QTPLUGINS_HISTOGRAMWIDGET_H #define AVOGADRO_QTPLUGINS_HISTOGRAMWIDGET_H #include #include #include class vtkChartHistogramColorOpacityEditor; class vtkContextView; class vtkEventQtSlotConnect; class vtkPiecewiseFunction; class vtkObject; class vtkTable; class QToolButton; class vtkColorTransferFunction; namespace Avogadro { class QVTKGLWidget; class HistogramWidget : public QWidget { Q_OBJECT public: explicit HistogramWidget(QWidget* parent_ = nullptr); ~HistogramWidget() override; void setLUT(vtkColorTransferFunction* lut); vtkColorTransferFunction* LUT(); void setOpacityFunction(vtkPiecewiseFunction* opacity); vtkPiecewiseFunction* opacityFunction(); void setInputData(vtkTable* table, const char* x, const char* y); signals: void colorMapUpdated(); void opacityChanged(); public slots: void onScalarOpacityFunctionChanged(); void onCurrentPointEditEvent(); void histogramClicked(vtkObject*); void updateUI(); protected: void showEvent(QShowEvent* event) override; private: void renderViews(); vtkNew m_histogramColorOpacityEditor; vtkNew m_histogramView; vtkNew m_eventLink; vtkWeakPointer m_LUT; vtkWeakPointer m_opacityFunction; vtkWeakPointer m_inputData; QVTKGLWidget* m_qvtk; }; } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_HISTOGRAMWIDGET_H avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/qvtkwidget.cpp000066400000000000000000000013331360735163600262240ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #include "qvtkwidget.h" #include #include #include #include namespace Avogadro { QVTKGLWidget::QVTKGLWidget(QWidget* parent, Qt::WindowFlags f) : QVTKOpenGLWidget(parent, f) { // Set some defaults for our render window. vtkNew window; SetRenderWindow(window); auto glFormat = QVTKOpenGLWidget::defaultFormat(); glFormat.setSamples(8); setFormat(glFormat); } QVTKGLWidget::~QVTKGLWidget() = default; void QVTKGLWidget::setEnableHiDPI(bool) {} } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/qvtkwidget.h000066400000000000000000000010721360735163600256710ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #ifndef AVOGADRO_QTPLUGINS_QVTKGLWidget_H #define AVOGADRO_QTPLUGINS_QVTKGLWidget_H #include namespace Avogadro { class QVTKGLWidget : public QVTKOpenGLWidget { Q_OBJECT public: QVTKGLWidget(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); ~QVTKGLWidget() override; void setEnableHiDPI(bool enable) override; }; } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_QVTKGLWidget_H avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/vtkChartHistogram.cpp000066400000000000000000000164241360735163600275060ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #include "vtkChartHistogram.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "vtkCustomPiecewiseControlPointsItem.h" class vtkHistogramMarker : public vtkPlot { public: static vtkHistogramMarker* New(); double PositionX; bool Paint(vtkContext2D* painter) override { vtkNew pen; pen->SetColor(255, 0, 0, 255); pen->SetWidth(2.0); painter->ApplyPen(pen.Get()); painter->DrawLine(PositionX, 0, PositionX, 1e9); return true; } }; vtkStandardNewMacro(vtkHistogramMarker) vtkStandardNewMacro(vtkChartHistogram) vtkChartHistogram::vtkChartHistogram() { this->SetBarWidthFraction(1.0); this->SetRenderEmpty(true); this->SetAutoAxes(false); this->ZoomWithMouseWheelOff(); this->GetAxis(vtkAxis::LEFT)->SetTitle(""); this->GetAxis(vtkAxis::BOTTOM)->SetTitle(""); this->GetAxis(vtkAxis::BOTTOM)->SetBehavior(vtkAxis::FIXED); this->GetAxis(vtkAxis::BOTTOM)->SetRange(0, 255); this->GetAxis(vtkAxis::LEFT)->SetBehavior(vtkAxis::FIXED); this->GetAxis(vtkAxis::LEFT)->SetRange(0.0001, 10); this->GetAxis(vtkAxis::LEFT)->SetMinimumLimit(1); this->GetAxis(vtkAxis::LEFT)->SetLogScale(true); this->GetAxis(vtkAxis::LEFT)->SetNotation(vtkAxis::SCIENTIFIC_NOTATION); this->GetAxis(vtkAxis::LEFT)->SetPrecision(1); this->GetAxis(vtkAxis::RIGHT)->SetBehavior(vtkAxis::FIXED); this->GetAxis(vtkAxis::RIGHT)->SetRange(0.0, 1.0); this->GetAxis(vtkAxis::RIGHT)->SetVisible(false); int fontSize = 8; this->GetAxis(vtkAxis::LEFT)->GetLabelProperties()->SetFontSize(fontSize); this->GetAxis(vtkAxis::BOTTOM)->GetLabelProperties()->SetFontSize(fontSize); this->GetAxis(vtkAxis::RIGHT)->GetLabelProperties()->SetFontSize(fontSize); this->GetTooltip()->GetTextProperties()->SetFontSize(fontSize); // Set up the plot bar this->AddPlot(this->HistogramPlotBar.Get()); this->HistogramPlotBar->SetColor(0, 0, 255, 255); this->HistogramPlotBar->GetPen()->SetLineType(vtkPen::NO_PEN); this->HistogramPlotBar->SetSelectable(false); // Set up and add the opacity editor chart items this->OpacityFunctionItem->SetOpacity( 0.0); // don't show the transfer function this->AddPlot(this->OpacityFunctionItem.Get()); this->SetPlotCorner(this->OpacityFunctionItem.Get(), 1); this->OpacityControlPointsItem->SetEndPointsXMovable(false); this->OpacityControlPointsItem->SetEndPointsYMovable(true); this->OpacityControlPointsItem->SetEndPointsRemovable(false); vtkPen* pen = this->OpacityControlPointsItem->GetPen(); pen->SetLineType(vtkPen::SOLID_LINE); pen->SetColor(0, 0, 0); pen->SetOpacity(255); pen->SetWidth(2.0); this->AddPlot(this->OpacityControlPointsItem.Get()); this->SetPlotCorner(this->OpacityControlPointsItem.Get(), 1); } vtkChartHistogram::~vtkChartHistogram() {} bool vtkChartHistogram::MouseDoubleClickEvent(const vtkContextMouseEvent& m) { // Determine the location of the click, and emit something we can listen to! vtkPlotBar* histo = nullptr; if (this->GetNumberOfPlots() > 0) { histo = vtkPlotBar::SafeDownCast(this->GetPlot(0)); } if (!histo) { return false; } this->CalculateUnscaledPlotTransform(histo->GetXAxis(), histo->GetYAxis(), this->Transform.Get()); vtkVector2f pos; this->Transform->InverseTransformPoints(m.GetScenePos().GetData(), pos.GetData(), 1); this->ContourValue = pos.GetX(); this->Marker->PositionX = this->ContourValue; this->Marker->Modified(); this->Scene->SetDirty(true); if (this->GetNumberOfPlots() > 0) { // Work around a bug in the charts - ensure corner is invalid for the plot. this->Marker->SetXAxis(nullptr); this->Marker->SetYAxis(nullptr); this->AddPlot(this->Marker.Get()); } this->InvokeEvent(vtkCommand::CursorChangedEvent); return true; } void vtkChartHistogram::SetHistogramInputData(vtkTable* table, const char* xAxisColumn, const char* yAxisColumn) { this->HistogramPlotBar->SetInputData(table, xAxisColumn, yAxisColumn); // vtkPlotBar doesn't seem to behave well when given a null table, // so we just hide the components. auto setItemsVisible = [this](bool vis) { this->HistogramPlotBar->SetVisible(vis); this->OpacityFunctionItem->SetVisible(vis); this->OpacityControlPointsItem->SetVisible(vis); }; if (!table) { // Set axis this->GetAxis(vtkAxis::LEFT)->SetRange(0, 1.0); this->GetAxis(vtkAxis::BOTTOM)->SetRange(0, 255); // Set visiblity of items setItemsVisible(false); return; } if (!this->HistogramPlotBar->GetVisible()) { setItemsVisible(true); } // Set the range of the axes vtkDataArray* yArray = vtkDataArray::SafeDownCast(table->GetColumnByName(yAxisColumn)); if (!yArray) { return; } double max = log10(yArray->GetRange()[1]); vtkAxis* leftAxis = this->GetAxis(vtkAxis::LEFT); leftAxis->SetUnscaledMinimum(1.0); leftAxis->SetMaximumLimit(max + 2.0); leftAxis->SetMaximum(static_cast(max) + 1.0); vtkDataArray* xArray = vtkDataArray::SafeDownCast(table->GetColumnByName(xAxisColumn)); if (xArray && xArray->GetNumberOfTuples() > 2) { double range[2]; xArray->GetRange(range); double halfInc = (xArray->GetTuple1(1) - xArray->GetTuple1(0)) / 2.0; vtkAxis* bottomAxis = this->GetAxis(vtkAxis::BOTTOM); bottomAxis->SetBehavior(vtkAxis::FIXED); bottomAxis->SetRange(range[0] - halfInc, range[1] + halfInc); } // reset the right axis vtkAxis* rightAxis = this->GetAxis(vtkAxis::RIGHT); rightAxis->SetBehavior(vtkAxis::FIXED); rightAxis->SetRange(0.0, 1.0); } void vtkChartHistogram::SetScalarVisibility(bool visible) { this->HistogramPlotBar->SetScalarVisibility(visible); } void vtkChartHistogram::SetHistogramVisible(bool visible) { this->HistogramPlotBar->SetVisible(visible); } void vtkChartHistogram::SetMarkerVisible(bool visible) { this->Marker->SetVisible(visible); } void vtkChartHistogram::ScalarVisibilityOn() { this->HistogramPlotBar->ScalarVisibilityOn(); } void vtkChartHistogram::SetLookupTable(vtkScalarsToColors* lut) { this->HistogramPlotBar->SetLookupTable(lut); } void vtkChartHistogram::SelectColorArray(const char* arrayName) { this->HistogramPlotBar->SelectColorArray(arrayName); } void vtkChartHistogram::SetOpacityFunction( vtkPiecewiseFunction* opacityFunction) { this->OpacityFunctionItem->SetPiecewiseFunction(opacityFunction); this->OpacityControlPointsItem->SetPiecewiseFunction(opacityFunction); } void vtkChartHistogram::SetDPI(int dpi) { if (this->GetScene()) { vtkRenderer* renderer = this->GetScene()->GetRenderer(); if (renderer && renderer->GetRenderWindow()) { renderer->GetRenderWindow()->SetDPI(dpi); } } } avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/vtkChartHistogram.h000066400000000000000000000035521360735163600271510ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #ifndef tomvizvtkChartHistogram_h #define tomvizvtkChartHistogram_h #include #include #include class vtkContextMouseEvent; class vtkCustomPiecewiseControlPointsItem; class vtkHistogramMarker; class vtkPiecewiseFunction; class vtkPiecewiseFunctionItem; class vtkPlotBar; class vtkScalarsToColors; class vtkTable; class vtkChartHistogram : public vtkChartXY { public: static vtkChartHistogram* New(); bool MouseDoubleClickEvent(const vtkContextMouseEvent& mouse) override; // Set input for histogram virtual void SetHistogramInputData(vtkTable* table, const char* xAxisColumn, const char* yAxisColumn); // Set scalar visibility in the histogram plot bar virtual void SetScalarVisibility(bool visible); virtual void ScalarVisibilityOn(); void SetHistogramVisible(bool visible); void SetMarkerVisible(bool visible); // Set lookup table virtual void SetLookupTable(vtkScalarsToColors* lut); // Set the color array name virtual void SelectColorArray(const char* arrayName); // Set opacity function from a transfer function virtual void SetOpacityFunction(vtkPiecewiseFunction* opacityFunction); // Set the contour value from the contour marker vtkSetMacro(ContourValue, double) vtkGetMacro(ContourValue, double) // Set the DPI of the chart. void SetDPI(int dpi); protected: vtkNew Transform; double ContourValue; vtkNew Marker; vtkNew HistogramPlotBar; vtkNew OpacityFunctionItem; vtkNew OpacityControlPointsItem; private: vtkChartHistogram(); virtual ~vtkChartHistogram(); }; #endif // tomvizvtkChartHistogram_h avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/vtkChartHistogramColorOpacityEditor.cpp000066400000000000000000000212011360735163600331720ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #include "vtkChartHistogramColorOpacityEditor.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include "vtkChartHistogram.h" class vtkChartHistogramColorOpacityEditor::PIMPL { public: PIMPL() : Geometry(0, 0), NeedsUpdate(true) {} ~PIMPL() {} void ForwardEvent(vtkObject* vtkNotUsed(object), unsigned long eventId, void* vtkNotUsed(data)) { this->Self->InvokeEvent(eventId); } // Cached geometry of the chart vtkVector2i Geometry; // Dirty bit bool NeedsUpdate; // Reference to owner of the PIMPL vtkChartHistogramColorOpacityEditor* Self; }; vtkStandardNewMacro(vtkChartHistogramColorOpacityEditor) vtkChartHistogramColorOpacityEditor::vtkChartHistogramColorOpacityEditor() { this->Private = new PIMPL(); this->Private->Self = this; this->Borders[vtkAxis::LEFT] = 8; this->Borders[vtkAxis::BOTTOM] = 8; this->Borders[vtkAxis::RIGHT] = 8; this->Borders[vtkAxis::TOP] = 20; this->HistogramChart->SetHiddenAxisBorder(10); this->HistogramChart->SetLayoutStrategy(vtkChart::AXES_TO_RECT); this->ColorTransferFunctionChart->SetBarWidthFraction(1.0); this->ColorTransferFunctionChart->SetHiddenAxisBorder(8); this->ColorTransferFunctionChart->SetRenderEmpty(true); this->ColorTransferFunctionChart->SetAutoAxes(false); this->ColorTransferFunctionChart->ZoomWithMouseWheelOff(); this->ColorTransferFunctionChart->SetLayoutStrategy(vtkChart::AXES_TO_RECT); this->ColorTransferFunctionItem->SelectableOff(); this->ColorTransferControlPointsItem->SetEndPointsXMovable(false); this->ColorTransferControlPointsItem->SetEndPointsYMovable(true); this->ColorTransferControlPointsItem->SetEndPointsRemovable(false); this->ColorTransferControlPointsItem->SelectableOff(); this->ColorTransferFunctionChart->AddPlot( this->ColorTransferFunctionItem.Get()); this->ColorTransferFunctionChart->SetPlotCorner( this->ColorTransferFunctionItem.Get(), 1); this->ColorTransferFunctionChart->AddPlot( this->ColorTransferControlPointsItem.Get()); this->ColorTransferFunctionChart->SetPlotCorner( this->ColorTransferControlPointsItem.Get(), 1); vtkAxis* bottomAxis = this->ColorTransferFunctionChart->GetAxis(vtkAxis::BOTTOM); bottomAxis->SetTitle(""); bottomAxis->SetBehavior(vtkAxis::FIXED); bottomAxis->SetVisible(false); bottomAxis->SetRange(0, 255); vtkAxis* leftAxis = this->ColorTransferFunctionChart->GetAxis(vtkAxis::LEFT); leftAxis->SetTitle(""); leftAxis->SetBehavior(vtkAxis::FIXED); leftAxis->SetVisible(false); vtkAxis* topAxis = this->ColorTransferFunctionChart->GetAxis(vtkAxis::TOP); topAxis->SetVisible(false); this->AddItem(this->HistogramChart.Get()); this->AddItem(this->ColorTransferFunctionChart.Get()); // Forward events from internal charts to observers of this object this->HistogramChart->AddObserver(vtkCommand::CursorChangedEvent, this->Private, &PIMPL::ForwardEvent); this->ColorTransferControlPointsItem->AddObserver( vtkCommand::EndEvent, this->Private, &PIMPL::ForwardEvent); this->ColorTransferControlPointsItem->AddObserver( vtkControlPointsItem::CurrentPointEditEvent, this->Private, &PIMPL::ForwardEvent); } vtkChartHistogramColorOpacityEditor::~vtkChartHistogramColorOpacityEditor() { delete this->Private; } void vtkChartHistogramColorOpacityEditor::SetHistogramInputData( vtkTable* table, const char* xAxisColumn, const char* yAxisColumn) { this->HistogramChart->SetHistogramInputData(table, xAxisColumn, yAxisColumn); if (!table) { this->ColorTransferFunctionChart->SetVisible(false); return; } if (!this->ColorTransferFunctionChart->GetVisible()) { this->ColorTransferFunctionChart->SetVisible(true); this->ColorTransferFunctionChart->RecalculateBounds(); } // The histogram chart bottom axis range was updated in the call above. // Set the same range for the color bar bottom axis here. vtkAxis* histogramBottomAxis = this->HistogramChart->GetAxis(vtkAxis::BOTTOM); double axisRange[2]; histogramBottomAxis->GetRange(axisRange); vtkAxis* bottomAxis = this->ColorTransferFunctionChart->GetAxis(vtkAxis::BOTTOM); bottomAxis->SetRange(axisRange); // The data range may change and cause the labels to change. Hence, update // the geometry. this->Private->NeedsUpdate = true; } void vtkChartHistogramColorOpacityEditor::SetColorTransferFunction( vtkColorTransferFunction* ctf) { this->HistogramChart->SetLookupTable(ctf); this->ColorTransferFunctionItem->SetColorTransferFunction(ctf); this->ColorTransferControlPointsItem->SetColorTransferFunction(ctf); this->ColorTransferFunctionChart->RecalculateBounds(); } void vtkChartHistogramColorOpacityEditor::SetScalarVisibility(bool visible) { this->HistogramChart->SetScalarVisibility(visible); } void vtkChartHistogramColorOpacityEditor::SelectColorArray( const char* arrayName) { this->HistogramChart->SelectColorArray(arrayName); } void vtkChartHistogramColorOpacityEditor::SetOpacityFunction( vtkPiecewiseFunction* opacityFunction) { this->HistogramChart->SetOpacityFunction(opacityFunction); } vtkAxis* vtkChartHistogramColorOpacityEditor::GetHistogramAxis(int axis) { return this->HistogramChart->GetAxis(axis); } bool vtkChartHistogramColorOpacityEditor::GetCurrentControlPointColor( double rgb[3]) { vtkColorTransferFunction* ctf = this->ColorTransferControlPointsItem->GetColorTransferFunction(); if (!ctf) { return false; } vtkIdType currentIdx = this->ColorTransferControlPointsItem->GetCurrentPoint(); if (currentIdx < 0) { return false; } double xrgbms[6]; ctf->GetNodeValue(currentIdx, xrgbms); rgb[0] = xrgbms[1]; rgb[1] = xrgbms[2]; rgb[2] = xrgbms[3]; return true; } void vtkChartHistogramColorOpacityEditor::SetCurrentControlPointColor( const double rgb[3]) { vtkColorTransferFunction* ctf = this->ColorTransferControlPointsItem->GetColorTransferFunction(); if (!ctf) { return; } vtkIdType currentIdx = this->ColorTransferControlPointsItem->GetCurrentPoint(); if (currentIdx < 0) { return; } double xrgbms[6]; ctf->GetNodeValue(currentIdx, xrgbms); xrgbms[1] = rgb[0]; xrgbms[2] = rgb[1]; xrgbms[3] = rgb[2]; ctf->SetNodeValue(currentIdx, xrgbms); } double vtkChartHistogramColorOpacityEditor::GetContourValue() { return this->HistogramChart->GetContourValue(); } void vtkChartHistogramColorOpacityEditor::SetDPI(int dpi) { if (this->HistogramChart.Get()) { this->HistogramChart->SetDPI(dpi); } } bool vtkChartHistogramColorOpacityEditor::Paint(vtkContext2D* painter) { vtkContextScene* scene = this->GetScene(); int sceneWidth = scene->GetSceneWidth(); int sceneHeight = scene->GetSceneHeight(); if (this->Private->NeedsUpdate || sceneWidth != this->Private->Geometry.GetX() || sceneHeight != this->Private->Geometry.GetY()) { this->Private->NeedsUpdate = false; // Update the geometry size cache this->Private->Geometry.Set(sceneWidth, sceneHeight); // Upper chart (histogram) expands, lower chart (color bar) is fixed height. float x = this->Borders[vtkAxis::LEFT]; float y = this->Borders[vtkAxis::BOTTOM]; // Add the width of the left axis to x to make room for y labels this->GetHistogramAxis(vtkAxis::LEFT)->Update(); float leftAxisWidth = this->GetHistogramAxis(vtkAxis::LEFT) ->GetBoundingRect(painter) .GetWidth(); x += leftAxisWidth; float colorBarThickness = 20; float plotWidth = sceneWidth - x - this->Borders[vtkAxis::RIGHT]; vtkRectf colorTransferFunctionChartSize(x, y, plotWidth, colorBarThickness); this->ColorTransferFunctionChart->SetSize(colorTransferFunctionChartSize); this->ColorTransferFunctionChart->RecalculateBounds(); float bottomAxisHeight = this->GetHistogramAxis(vtkAxis::BOTTOM) ->GetBoundingRect(painter) .GetHeight(); float verticalMargin = bottomAxisHeight; y += colorBarThickness + verticalMargin - 5; vtkRectf histogramChart(x, y, plotWidth, sceneHeight - y - this->Borders[vtkAxis::TOP]); this->HistogramChart->SetSize(histogramChart); } return this->Superclass::Paint(painter); } avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/vtkChartHistogramColorOpacityEditor.h000066400000000000000000000052061360735163600326460ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #ifndef tomvizvtkChartHistogramColorOpacityEditor_h #define tomvizvtkChartHistogramColorOpacityEditor_h #include #include class vtkAxis; class vtkChartHistogram; class vtkChartXY; class vtkColorTransferControlPointsItem; class vtkColorTransferFunction; class vtkColorTransferFunctionItem; class vtkPiecewiseFunction; class vtkScalarsToColors; class vtkTable; // This class is a chart that combines a histogram from a data set // a color bar editor, and an opacity editor. class vtkChartHistogramColorOpacityEditor : public vtkAbstractContextItem { public: vtkTypeMacro( vtkChartHistogramColorOpacityEditor, vtkAbstractContextItem) static vtkChartHistogramColorOpacityEditor* New(); // Set the input data. void SetHistogramInputData(vtkTable* table, const char* xAxisColumn, const char* yAxisColumn); // Set the lookup table. void SetColorTransferFunction(vtkColorTransferFunction* lut); // Enable or disable scalar visibility. virtual void SetScalarVisibility(bool visible); // Set the name of the array by which the histogram should be colored. virtual void SelectColorArray(const char* arrayName); // Set the opacity function. virtual void SetOpacityFunction(vtkPiecewiseFunction* opacityFunction); // Get an axis from the histogram chart. vtkAxis* GetHistogramAxis(int axis); // Get the color of the current color control point. Returns true if there // is a currently selected control point, false otherwise. bool GetCurrentControlPointColor(double rgb[3]); // Set the color of the current color control point. void SetCurrentControlPointColor(const double rgb[3]); // Get the current contour value double GetContourValue(); // Set the DPI void SetDPI(int); // Paint event for the editor. virtual bool Paint(vtkContext2D* painter) override; protected: // This provides the histogram, contour value marker, and opacity editor. vtkNew HistogramChart; // This is used for the color transfer function editor. vtkNew ColorTransferFunctionChart; // Controls for color transfer function editor. vtkNew ColorTransferControlPointsItem; // Display of color transfer function. vtkNew ColorTransferFunctionItem; private: vtkChartHistogramColorOpacityEditor(); ~vtkChartHistogramColorOpacityEditor() override; class PIMPL; PIMPL* Private; float Borders[4]; }; #endif // tomvizvtkChartHistogramColorOpacityEditor_h avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/vtkCustomPiecewiseControlPointsItem.cpp000066400000000000000000000036271360735163600332550ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #include "vtkCustomPiecewiseControlPointsItem.h" #include #include #include #include vtkStandardNewMacro(vtkCustomPiecewiseControlPointsItem) vtkCustomPiecewiseControlPointsItem::vtkCustomPiecewiseControlPointsItem() {} vtkCustomPiecewiseControlPointsItem::~vtkCustomPiecewiseControlPointsItem() {} bool vtkCustomPiecewiseControlPointsItem::MouseButtonPressEvent( const vtkContextMouseEvent& mouse) { // Ignore middle- and right-click events if (mouse.GetButton() != vtkContextMouseEvent::LEFT_BUTTON) { return false; } vtkVector2f vpos = mouse.GetPos(); this->TransformScreenToData(vpos, vpos); double pos[2]; pos[0] = vpos.GetX(); pos[1] = vpos.GetY(); bool pointOnFunction = this->PointNearPiecewiseFunction(pos); if (!pointOnFunction) { this->SetCurrentPoint(-1); return false; } return this->Superclass::MouseButtonPressEvent(mouse); } bool vtkCustomPiecewiseControlPointsItem::MouseDoubleClickEvent( const vtkContextMouseEvent& mouse) { // Ignore middle- and right-click events if (mouse.GetButton() != vtkContextMouseEvent::LEFT_BUTTON) { return false; } return this->Superclass::MouseDoubleClickEvent(mouse); } bool vtkCustomPiecewiseControlPointsItem::PointNearPiecewiseFunction( const double position[2]) { double x = position[0]; double y = 0.0; vtkPiecewiseFunction* pwf = this->GetPiecewiseFunction(); if (!pwf) { return false; } // Evaluate the piewewise function at the given point and get the y position. // If we are within a small distance of the piecewise function, return true. // Otherwise, we are too far away from the line, and return false. pwf->GetTable(x, x, 1, &y, 1); return (fabs(y - position[1]) < 0.05); } avogadrolibs-1.93.0/avogadro/qtplugins/coloropacitymap/vtkCustomPiecewiseControlPointsItem.h000066400000000000000000000026411360735163600327150ustar00rootroot00000000000000/* This source file is part of the Avogadro project. It is released under the 3-Clause BSD License, see "LICENSE". */ #ifndef tomvizvtkCustomPiecewiseControlPointsItem_h #define tomvizvtkCustomPiecewiseControlPointsItem_h #include class vtkContextMouseEvent; // Special control points item class that overrides the MouseDoubleClickEvent() // event handler to do nothing. class vtkCustomPiecewiseControlPointsItem : public vtkPiecewiseControlPointsItem { public: vtkTypeMacro( vtkCustomPiecewiseControlPointsItem, vtkPiecewiseControlPointsItem) static vtkCustomPiecewiseControlPointsItem* New(); // Override to ignore button presses if the control modifier key is pressed. bool MouseButtonPressEvent(const vtkContextMouseEvent& mouse) override; // Override to avoid catching double-click events bool MouseDoubleClickEvent(const vtkContextMouseEvent& mouse) override; protected: vtkCustomPiecewiseControlPointsItem(); virtual ~vtkCustomPiecewiseControlPointsItem(); // Utility function to determine whether a position is near the piecewise // function. bool PointNearPiecewiseFunction(const double pos[2]); private: vtkCustomPiecewiseControlPointsItem( const vtkCustomPiecewiseControlPointsItem&); // Not implemented. void operator=( const vtkCustomPiecewiseControlPointsItem&); // Not implemented. }; #endif // tomvizvtkCustomPiecewiseControlPointsItem_h avogadrolibs-1.93.0/avogadro/qtplugins/commandscripts/000077500000000000000000000000001360735163600231505ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/commandscripts/CMakeLists.txt000066400000000000000000000011721360735163600257110ustar00rootroot00000000000000# Needed to find avogadroioexport.h: include_directories("${AvogadroLibs_BINARY_DIR}/avogadro/io/") # Extension set(command_srcs command.cpp ) avogadro_plugin(commands "Script commands" ExtensionPlugin command.h Command "${command_srcs}" ) target_link_libraries(commands LINK_PRIVATE AvogadroIO) # Bundled command scripts set(commands scripts/scale.py ) option(INSTALL_TEST_COMMANDS "Install a dummy command that is to test scripts." OFF ) if(INSTALL_TEST_COMMANDS) list(APPEND commands scripts/test.py) endif() install(PROGRAMS ${commands} DESTINATION "${INSTALL_LIBRARY_DIR}/avogadro2/scripts/commands/") avogadrolibs-1.93.0/avogadro/qtplugins/commandscripts/command.cpp000066400000000000000000000167621360735163600253060ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. This source code is released under the New BSD License, (the "License"). ******************************************************************************/ #include "command.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Avogadro::QtGui::InterfaceScript; using Avogadro::QtGui::InterfaceWidget; Command::Command(QObject* parent_) : ExtensionPlugin(parent_), m_molecule(nullptr), m_currentDialog(nullptr), m_currentInterface(nullptr), m_outputFormat(nullptr) { refreshScripts(); } Command::~Command() { qDeleteAll(m_dialogs.values()); m_dialogs.clear(); } QList Command::actions() const { return m_actions; } QStringList Command::menuPath(QAction* action) const { QString scriptFileName = action->data().toString(); QStringList path; // if we're passed the "Set Python" action if (scriptFileName.isEmpty()) { path << tr("&Extensions") << tr("Scripts"); return path; } // otherwise, we have a script name, so ask it InterfaceScript gen(scriptFileName); path = gen.menuPath().split('|'); if (gen.hasErrors()) { path << tr("&Extensions") << tr("Scripts"); qWarning() << "Command: Unable to retrieve menu " "name for: " << scriptFileName << "." << gen.errorList().join("\n\n"); return path; } return path; } void Command::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol) return; m_molecule = mol; foreach (InterfaceWidget* dlg, m_dialogs.values()) dlg->setMolecule(mol); } bool Command::readMolecule(QtGui::Molecule& mol) { Io::FileFormat* reader = m_outputFormat->newInstance(); bool success = reader->readFile(m_outputFileName.toStdString(), mol); if (!success) { QMessageBox::information(qobject_cast(parent()), tr("Error"), tr("Error reading output file '%1':\n%2") .arg(m_outputFileName) .arg(QString::fromStdString(reader->error()))); } m_outputFormat = nullptr; m_outputFileName.clear(); return success; } void Command::refreshScripts() { updateScripts(); updateActions(); } void Command::menuActivated() { QAction* theSender = qobject_cast(sender()); if (!theSender) return; QString scriptFileName = theSender->data().toString(); QWidget* theParent = qobject_cast(parent()); if (m_currentDialog) { delete m_currentDialog->layout(); if (m_currentInterface) m_currentInterface->hide(); } // check if there are any options before this song-and-dance InterfaceWidget* widget = m_dialogs.value(scriptFileName, nullptr); if (!widget) { widget = new InterfaceWidget(scriptFileName, theParent); m_dialogs.insert(scriptFileName, widget); } widget->setMolecule(m_molecule); m_currentInterface = widget; // remember this when we get the run() signal if (widget->isEmpty()) { run(); // no options, do it immediately return; } m_currentDialog = new QDialog(theParent); QString title; QtGui::ScriptLoader::queryProgramName(scriptFileName, title); m_currentDialog->setWindowTitle(title); QVBoxLayout* vbox = new QVBoxLayout(); widget->show(); vbox->addWidget(widget); QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, SIGNAL(accepted()), this, SLOT(run())); connect(buttonBox, SIGNAL(rejected()), m_currentDialog, SLOT(reject())); vbox->addWidget(buttonBox); m_currentDialog->setLayout(vbox); m_currentDialog->exec(); } void Command::run() { if (m_currentDialog) m_currentDialog->accept(); if (m_currentInterface) { QJsonObject options = m_currentInterface->collectOptions(); QString scriptFilePath = m_currentInterface->interfaceScript().scriptFilePath(); InterfaceScript gen(scriptFilePath); gen.runCommand(options, m_molecule); // collect errors if (gen.hasErrors()) { qWarning() << gen.errorList(); } } } void Command::configurePython() { // Create objects QSettings settings; QDialog dlg(qobject_cast(parent())); QLabel* label = new QLabel; QVBoxLayout* layout = new QVBoxLayout; QtGui::FileBrowseWidget* browser = new QtGui::FileBrowseWidget; QDialogButtonBox* buttonBox = new QDialogButtonBox; // Configure objects // Check for python interpreter in env var QString pythonInterp = QString::fromLocal8Bit(qgetenv("AVO_PYTHON_INTERPRETER")); if (pythonInterp.isEmpty()) { // Check settings pythonInterp = settings.value("interpreters/python", QString()).toString(); } // Use compile-time default if still not found. if (pythonInterp.isEmpty()) pythonInterp = QString(pythonInterpreterPath); browser->setMode(QtGui::FileBrowseWidget::ExecutableFile); browser->setFileName(pythonInterp); buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); dlg.setWindowTitle(tr("Set path to Python interpreter:")); label->setText( tr("Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect.")); // Build layout layout->addWidget(label); layout->addWidget(browser); layout->addWidget(buttonBox); dlg.setLayout(layout); // Connect connect(buttonBox, SIGNAL(accepted()), &dlg, SLOT(accept())); connect(buttonBox, SIGNAL(rejected()), &dlg, SLOT(reject())); // Show dialog QDialog::DialogCode response = static_cast(dlg.exec()); if (response != QDialog::Accepted) return; // Handle response settings.setValue("interpreters/python", browser->fileName()); } void Command::updateScripts() { m_commandScripts = QtGui::ScriptLoader::scriptList("commands"); } void Command::updateActions() { m_actions.clear(); // QAction* action = new QAction(tr("Set Python Path..."), this); // connect(action, SIGNAL(triggered()), SLOT(configurePython())); // m_actions << action; foreach (const QString& programName, m_commandScripts.uniqueKeys()) { QStringList scripts = m_commandScripts.values(programName); // Include the full path if there are multiple generators with the same // name. if (scripts.size() == 1) { addAction(programName, scripts.first()); } else { foreach (const QString& filePath, scripts) { addAction(QString("%1 (%2)").arg(programName, filePath), filePath); } } } } void Command::addAction(const QString& label, const QString& scriptFilePath) { QAction* action = new QAction(label, this); action->setData(scriptFilePath); action->setEnabled(true); connect(action, SIGNAL(triggered()), SLOT(menuActivated())); m_actions << action; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/commandscripts/command.h000066400000000000000000000037351360735163600247470ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. This source code is released under the New BSD License, (the "License"). ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_COMMAND_H #define AVOGADRO_QTPLUGINS_COMMAND_H #include #include #include class QAction; class QDialog; namespace Avogadro { namespace Io { class FileFormat; } namespace QtGui { class InterfaceScript; class InterfaceWidget; } namespace QtPlugins { /** * @brief The Command class implements the extension interface for * external (script) Commands * @author Geoffrey R. Hutchison */ class Command : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit Command(QObject* parent = 0); ~Command() override; QString name() const override { return tr("Command scripts"); } QString description() const override { return tr("Run external script commands"); } QList actions() const override; QStringList menuPath(QAction*) const override; void setMolecule(QtGui::Molecule* mol) override; public slots: /** * Scan for new scripts in the command directories. */ void refreshScripts(); void run(); bool readMolecule(QtGui::Molecule& mol) override; private slots: void menuActivated(); void configurePython(); private: void updateScripts(); void updateActions(); void addAction(const QString& label, const QString& scriptFilePath); QList m_actions; QtGui::Molecule* m_molecule; // keyed on script file path QMap m_dialogs; QDialog* m_currentDialog; QtGui::InterfaceWidget* m_currentInterface; // maps program name --> script file path QMap m_commandScripts; const Io::FileFormat* m_outputFormat; QString m_outputFileName; }; } } #endif // AVOGADRO_QTPLUGINS_COMMAND_H avogadrolibs-1.93.0/avogadro/qtplugins/commandscripts/scripts/000077500000000000000000000000001360735163600246375ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/commandscripts/scripts/scale.py000077500000000000000000000045611360735163600263110ustar00rootroot00000000000000""" This source file is part of the Avogadro project. This source code is released under the New BSD License, (the "License"). """ import argparse import json import sys # Some globals: debug = True def getOptions(): userOptions = {} userOptions['X Scale'] = {} userOptions['X Scale']['type'] = 'float' userOptions['X Scale']['default'] = 1.0 userOptions['X Scale']['precision'] = 3 userOptions['X Scale']['toolTip'] = 'Multiplier for X coordinates' userOptions['Y Scale'] = {} userOptions['Y Scale']['type'] = 'float' userOptions['Y Scale']['default'] = 1.0 userOptions['Y Scale']['precision'] = 3 userOptions['Y Scale']['toolTip'] = 'Multiplier for Y coordinates' userOptions['Z Scale'] = {} userOptions['Z Scale']['type'] = 'float' userOptions['Z Scale']['default'] = 1.0 userOptions['Z Scale']['precision'] = 3 userOptions['Z Scale']['toolTip'] = 'Multiplier for Z coordinates' opts = {'userOptions': userOptions} return opts def scale(opts, mol): xScale = float(opts['X Scale']) yScale = float(opts['Y Scale']) zScale = float(opts['Z Scale']) coords = mol['atoms']['coords']['3d'] for i in range(0, len(coords), 3): coords[i] = coords[i] * xScale coords[i + 1] = coords[i + 1] * yScale coords[i + 2] = coords[i + 2] * zScale return mol def runCommand(): # Read options from stdin stdinStr = sys.stdin.read() # Parse the JSON strings opts = json.loads(stdinStr) # Prepare the result result = {} result['cjson'] = scale(opts, opts['cjson']) return result if __name__ == "__main__": parser = argparse.ArgumentParser('Scale molecular coordinates.') parser.add_argument('--debug', action='store_true') parser.add_argument('--print-options', action='store_true') parser.add_argument('--run-command', action='store_true') parser.add_argument('--display-name', action='store_true') parser.add_argument('--menu-path', action='store_true') parser.add_argument('--lang', nargs='?', default='en') args = vars(parser.parse_args()) debug = args['debug'] if args['display_name']: print("Scale Coordinates...") if args['menu_path']: print("&Extensions") if args['print_options']: print(json.dumps(getOptions())) elif args['run_command']: print(json.dumps(runCommand())) avogadrolibs-1.93.0/avogadro/qtplugins/coordinateeditor/000077500000000000000000000000001360735163600234605ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/coordinateeditor/CMakeLists.txt000066400000000000000000000005371360735163600262250ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}) avogadro_plugin(CoordinateEditor "Show a window with a free-text coordinate editor." ExtensionPlugin coordinateeditor.h CoordinateEditor "coordinateeditor.cpp;coordinateeditordialog.cpp;coordinatetextedit.cpp" "coordinateeditordialog.ui" ) avogadrolibs-1.93.0/avogadro/qtplugins/coordinateeditor/coordinateeditor.cpp000066400000000000000000000032151360735163600275230ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "coordinateeditor.h" #include "coordinateeditordialog.h" #include namespace Avogadro { namespace QtPlugins { CoordinateEditor::CoordinateEditor(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_dialog(nullptr), m_molecule(nullptr), m_action(new QAction(tr("Atomic &Coordinate Editor..."), this)) { connect(m_action, SIGNAL(triggered()), SLOT(triggered())); } CoordinateEditor::~CoordinateEditor() { } QList CoordinateEditor::actions() const { return QList() << m_action; } QStringList CoordinateEditor::menuPath(QAction*) const { return QStringList() << tr("&Build"); } void CoordinateEditor::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; if (m_dialog) m_dialog->setMolecule(mol); } void CoordinateEditor::triggered() { if (!m_dialog) { m_dialog = new CoordinateEditorDialog(qobject_cast(parent())); m_dialog->setMolecule(m_molecule); } m_dialog->show(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/coordinateeditor/coordinateeditor.h000066400000000000000000000033201360735163600271650ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_COORDINATEEDITOR_H #define AVOGADRO_QTPLUGINS_COORDINATEEDITOR_H #include #include namespace Avogadro { namespace QtPlugins { class CoordinateEditorDialog; /** * @brief CoordinateEditor implements the plugin interface for the coordinate * editor extension. */ class CoordinateEditor : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit CoordinateEditor(QObject* parent_ = 0); ~CoordinateEditor() override; QString name() const override { return tr("Coordinate editor"); } QString description() const override { return tr("Text editing of atomic coordinates."); } QList actions() const override; QStringList menuPath(QAction* action) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; private slots: void triggered(); private: CoordinateEditorDialog* m_dialog; QtGui::Molecule* m_molecule; QAction* m_action; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_COORDINATEEDITOR_H avogadrolibs-1.93.0/avogadro/qtplugins/coordinateeditor/coordinateeditordialog.cpp000066400000000000000000000626501360735163600307130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "coordinateeditordialog.h" #include "coordinatetextedit.h" #include "ui_coordinateeditordialog.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // Define this to print out details of the format detection algorithm. #undef ENABLE_FORMAT_DEBUG #ifdef ENABLE_FORMAT_DEBUG #define FORMAT_DEBUG(x) x #else // ENABLE_FORMAT_DEBUG #define FORMAT_DEBUG(x) #endif // ENABLE_FORMAT_DEBUG using Avogadro::QtGui::Molecule; using Avogadro::Core::Atom; using Avogadro::Core::Elements; using Avogadro::Vector3; namespace { // Ensure a cross-platform monospaced font #if defined(Q_OS_WIN) || defined(Q_OS_OSX) static const QString EDITOR_FONT = "Courier"; #else // Linux and other OSes static const QString EDITOR_FONT = "Monospace"; #endif // Various integer constants. enum { CustomPreset = 0 }; // Distance unit indices -- keep in sync with the .ui file. enum DistanceUnitIndex { Angstrom = 0, Bohr }; // Types of tokens, used while parsing. enum TokenType { Integer = 0, Double, String }; // Some frequently used regexes: static const QRegExp TOKEN_SEPARATOR("[\\s,;]+"); static const QRegExp VALID_TOKEN("[^\\s,;]+"); static const QRegExp INT_CHECKER("(:?[+-])?\\d+"); static const QRegExp DOUBLE_CHECKER("(:?[+-])?" // Leading sign "(:?" // Must match one of the following: "\\d*\\.\\d*" // Fractional part "|" // or "\\d+[Ee](:?[+-])?\\d+" // Exponential part "|" // or "\\d*\\.\\d*" // Fractional part and "[Ee](:?[+-])?\\d+" // Exponential part ")"); struct AtomStruct { unsigned char atomicNumber; Vector3 pos; }; } // end anon namespace namespace Avogadro { namespace QtPlugins { // Storage class used to hold state while validating input. class CoordinateEditorDialog::ValidateStorage { public: ValidateStorage() : isValidating(false), restartWhenFinished(false), collectAtoms(false), convertDistance(false), latticePositions(false), distanceConversion(1.f) { } bool isValidating; bool restartWhenFinished; bool collectAtoms; bool convertDistance; bool latticePositions; float distanceConversion; // Format specification QString spec; // Text cursors QTextCursor lineCursor; QTextCursor tokenCursor; // Accumulate atom data QVector atoms; }; CoordinateEditorDialog::CoordinateEditorDialog(QWidget* parent_) : QDialog(parent_), m_ui(new Ui::CoordinateEditorDialog), m_molecule(nullptr), m_validate(new ValidateStorage), m_defaultSpec("SZxyz#N") { m_ui->setupUi(this); // Set up text editor m_ui->text->setFont(QFont(EDITOR_FONT, qApp->font().pointSize())); connect(m_ui->text->document(), SIGNAL(modificationChanged(bool)), SLOT(textModified(bool))); // Setup spec edit QRegExp specRegExp("[#ZGSNabcxyz01_]*"); QRegExpValidator* specValidator = new QRegExpValidator(specRegExp, this); m_ui->spec->setValidator(specValidator); connect(m_ui->presets, SIGNAL(currentIndexChanged(int)), SLOT(presetChanged(int))); connect(m_ui->spec, SIGNAL(textChanged(QString)), SLOT(specChanged())); connect(m_ui->spec, SIGNAL(textEdited(QString)), SLOT(specEdited())); connect(m_ui->distanceUnit, SIGNAL(currentIndexChanged(int)), SLOT(updateText())); connect(m_ui->help, SIGNAL(clicked()), SLOT(helpClicked())); connect(m_ui->cut, SIGNAL(clicked()), SLOT(cutClicked())); connect(m_ui->copy, SIGNAL(clicked()), SLOT(copyClicked())); connect(m_ui->paste, SIGNAL(clicked()), SLOT(pasteClicked())); connect(m_ui->revert, SIGNAL(clicked()), SLOT(revertClicked())); connect(m_ui->clear, SIGNAL(clicked()), SLOT(clearClicked())); connect(m_ui->apply, SIGNAL(clicked()), SLOT(applyClicked())); m_ui->cut->setIcon(QIcon::fromTheme("edit-cut")); m_ui->copy->setIcon(QIcon::fromTheme("edit-copy")); m_ui->paste->setIcon(QIcon::fromTheme("edit-paste")); buildPresets(); listenForTextEditChanges(true); } CoordinateEditorDialog::~CoordinateEditorDialog() { delete m_ui; } void CoordinateEditorDialog::setMolecule(QtGui::Molecule* mol) { if (mol != m_molecule) { if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateText(); } } void CoordinateEditorDialog::moleculeChanged(uint change) { if (static_cast(change) & Molecule::Atoms || static_cast(change) & Molecule::UnitCell) { updateText(); } } void CoordinateEditorDialog::presetChanged(int ind) { QVariant itemData(m_ui->presets->itemData(ind)); bool isCustom(itemData.type() != QVariant::String); // Changing the spec text will update the editor text. m_ui->spec->setText(isCustom ? m_defaultSpec : itemData.toString()); } void CoordinateEditorDialog::specChanged() { // Store the spec if custom preset is selected. if (m_ui->presets->currentIndex() == CustomPreset) m_defaultSpec = m_ui->spec->text(); updateText(); } void CoordinateEditorDialog::specEdited() { // Editing the spec switches to and updates the custom preset. if (m_ui->presets->currentIndex() != CustomPreset) { m_defaultSpec = m_ui->spec->text(); m_ui->presets->setCurrentIndex(CustomPreset); } } void CoordinateEditorDialog::updateText() { if (m_ui->text->document()->isModified()) { int reply = QMessageBox::question( this, tr("Overwrite changes?"), tr("The text document has been modified. Would " "you like to discard your changes and revert " "to the current molecule?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (reply != QMessageBox::Yes) return; } Core::CoordinateBlockGenerator gen; gen.setMolecule(m_molecule); gen.setSpecification(m_ui->spec->text().toStdString()); switch (m_ui->distanceUnit->currentIndex()) { default: case Angstrom: gen.setDistanceUnit(Core::CoordinateBlockGenerator::Angstrom); break; case Bohr: gen.setDistanceUnit(Core::CoordinateBlockGenerator::Bohr); break; } // Disable markup for the generated text. listenForTextEditChanges(false); m_ui->text->document()->setPlainText( QString::fromStdString(gen.generateCoordinateBlock())); listenForTextEditChanges(true); m_ui->text->document()->setModified(false); } void CoordinateEditorDialog::helpClicked() { // Give the spec lineedit focus and show its tooltip. m_ui->spec->setFocus(Qt::MouseFocusReason); QPoint point(m_ui->spec->pos() + pos()); point.setY(point.y() + m_ui->spec->frameGeometry().height() + 5); QToolTip::showText(point, m_ui->spec->toolTip(), m_ui->spec); } void CoordinateEditorDialog::validateInput() { if (m_validate->isValidating) { m_validate->restartWhenFinished = true; return; } // Reset formatting. Stop listening for changes since format changes will // retrigger validation. listenForTextEditChanges(false); m_ui->text->resetMarks(); listenForTextEditChanges(true); // No text, nothing to do! Trim the plain text - this fixes a crashing // bug if the user accidentally presses return in a blank document. if (m_ui->text->document()->toPlainText().trimmed().isEmpty()) { emit validationFinished(true); return; } // Try to detect the input format QString inputFormat(detectInputFormat()); if (inputFormat.isEmpty()) { emit validationFinished(false); return; } // Initialize m_validate->latticePositions = inputFormat.contains('a'); m_validate->isValidating = true; m_validate->spec = inputFormat; m_validate->lineCursor = QTextCursor(m_ui->text->document()); // Start the worker validateInputWorker(); } void CoordinateEditorDialog::validateInputWorker() { if (!m_validate->isValidating) return; // Disable revalidation due to formatting changes. listenForTextEditChanges(false); // Setup some aliases to keep code concise: const QString& spec(m_validate->spec); QTextCursor& lineCursor(m_validate->lineCursor); QTextCursor& tokenCursor(m_validate->tokenCursor); QTextDocument* doc(m_ui->text->document()); QString::const_iterator begin(spec.constBegin()); QString::const_iterator end(spec.constEnd()); QString::const_iterator iter; // Only do a few lines at a time, then return control to the event loop. int lineThisIteration = 0; while (++lineThisIteration <= 10 && !lineCursor.atEnd()) { // Place the entire line in the line cursor's selection. lineCursor.movePosition(QTextCursor::StartOfLine, QTextCursor::MoveAnchor); lineCursor.movePosition(QTextCursor::EndOfLine, QTextCursor::KeepAnchor); // Skip empty lines - this is nice if the user accidentally left some // empty lines at the end of the input if (lineCursor.selectedText().trimmed().isEmpty()) { // So that we don't have an infinite loop... if (!lineCursor.atEnd()) { lineCursor.movePosition(QTextCursor::Down); lineCursor.movePosition(QTextCursor::StartOfLine); } continue; } // Start the token cursor at the beginning of the current line. tokenCursor.setPosition(lineCursor.anchor(), QTextCursor::MoveAnchor); // This is used when applying changes to store the atom specifications. AtomStruct atom; // Iterate through spec characters for (iter = begin; iter != end; ++iter) { // Place the next valid token in tokenCursor's selection: tokenCursor = doc->find(VALID_TOKEN, tokenCursor); // If the token cursor has moved off of the current line, mark the entire // line as invalid and move on. if (tokenCursor.isNull() || tokenCursor.position() > lineCursor.position()) { m_ui->text->markInvalid(lineCursor, tr("Too few entries on line.")); break; } switch (iter->toLatin1()) { case '?': // Nothing to validate other than that this is a valid token. break; case 'N': { // Validate name: QString cleanToken(tokenCursor.selectedText().toLower()); if (!cleanToken.isEmpty()) cleanToken.replace(0, 1, cleanToken[0].toUpper()); std::string tokenStd(cleanToken.toStdString()); atom.atomicNumber = Elements::atomicNumberFromName(tokenStd); if (atom.atomicNumber == Avogadro::InvalidElement) m_ui->text->markInvalid(tokenCursor, tr("Invalid element name.")); else m_ui->text->markValid(tokenCursor, tr("Element name.")); break; } case 'S': { // Validate symbol: QString cleanToken(tokenCursor.selectedText().toLower()); if (!cleanToken.isEmpty()) cleanToken.replace(0, 1, cleanToken[0].toUpper()); std::string tokenStd(cleanToken.toStdString()); atom.atomicNumber = Elements::atomicNumberFromSymbol(tokenStd); if (atom.atomicNumber == Avogadro::InvalidElement) m_ui->text->markInvalid(tokenCursor, tr("Invalid element symbol.")); else m_ui->text->markValid(tokenCursor, tr("Element symbol.")); break; } case 'Z': { // Validate integer: bool isInt; atom.atomicNumber = static_cast( tokenCursor.selectedText().toInt(&isInt)); if (!isInt) m_ui->text->markInvalid(tokenCursor, tr("Invalid atomic number.")); else m_ui->text->markValid(tokenCursor, tr("Atomic number.")); break; } case 'x': { // Validate real: bool isReal; atom.pos.x() = tokenCursor.selectedText().toDouble(&isReal); if (!isReal) m_ui->text->markInvalid(tokenCursor, tr("Invalid coordinate.")); else m_ui->text->markValid(tokenCursor, tr("X coordinate.")); break; } case 'y': { // Validate real: bool isReal; atom.pos.y() = tokenCursor.selectedText().toDouble(&isReal); if (!isReal) m_ui->text->markInvalid(tokenCursor, tr("Invalid coordinate.")); else m_ui->text->markValid(tokenCursor, tr("Y coordinate.")); break; } case 'z': { // Validate real: bool isReal; atom.pos.z() = tokenCursor.selectedText().toDouble(&isReal); if (!isReal) m_ui->text->markInvalid(tokenCursor, tr("Invalid coordinate.")); else m_ui->text->markValid(tokenCursor, tr("Z coordinate.")); break; } case 'a': { // Validate real: bool isReal; atom.pos.x() = tokenCursor.selectedText().toDouble(&isReal); if (!isReal) m_ui->text->markInvalid(tokenCursor, tr("Invalid coordinate.")); else m_ui->text->markValid(tokenCursor, tr("'a' lattice coordinate.")); break; } case 'b': { // Validate real: bool isReal; atom.pos.y() = tokenCursor.selectedText().toDouble(&isReal); if (!isReal) m_ui->text->markInvalid(tokenCursor, tr("Invalid coordinate.")); else m_ui->text->markValid(tokenCursor, tr("'b' lattice coordinate.")); break; } case 'c': { // Validate real: bool isReal; atom.pos.z() = tokenCursor.selectedText().toDouble(&isReal); if (!isReal) m_ui->text->markInvalid(tokenCursor, tr("Invalid coordinate.")); else m_ui->text->markValid(tokenCursor, tr("'c' coordinate.")); break; } default: qWarning() << "Unhandled character in detected spec: " << *iter; break; } } // Store this atom info if collecting. if (m_validate->collectAtoms) { if (m_validate->convertDistance && !m_validate->latticePositions) atom.pos *= m_validate->distanceConversion; m_validate->atoms << atom; } // Move down to the next line if we are not at the end. Moving to the // start of the line after moving down is necessary in case moving down // puts us at the end of the document. if (!lineCursor.atEnd()) { lineCursor.movePosition(QTextCursor::Down); lineCursor.movePosition(QTextCursor::StartOfLine); } } // Reenable validation. listenForTextEditChanges(true); // If we're not at the end, post this method back into the event loop. if (!lineCursor.atEnd()) { QTimer::singleShot(0, this, SLOT(validateInputWorker())); } else { // Otherwise emit the finished signal. emit validationFinished(!m_ui->text->hasInvalidMarks()); m_validate->isValidating = false; // If a validation request came in while already validating, revalidate. if (m_validate->restartWhenFinished) { m_validate->restartWhenFinished = false; validateInput(); } } } void CoordinateEditorDialog::applyClicked() { if (!m_molecule) return; // If we're in the middle of a validation, abort it if (m_validate->isValidating) { m_validate->isValidating = false; qApp->processEvents(); } m_validate->collectAtoms = true; m_validate->atoms.clear(); switch (m_ui->distanceUnit->currentIndex()) { case Bohr: m_validate->convertDistance = true; m_validate->distanceConversion = BOHR_TO_ANGSTROM_F; break; default: m_validate->convertDistance = false; m_validate->distanceConversion = 1.f; break; } connect(this, SIGNAL(validationFinished(bool)), SLOT(applyFinish(bool))); validateInput(); } void CoordinateEditorDialog::applyFinish(bool valid) { // Clean up m_validate->collectAtoms = false; QVector atoms(m_validate->atoms); m_validate->atoms.clear(); disconnect(this, SIGNAL(validationFinished(bool)), this, SLOT(applyFinish(bool))); if (!valid) { QMessageBox::critical(this, tr("Error applying geometry"), tr("Could not parse geometry specification. Fix the " "highlighted errors and try again.\n\n" "(Hint: Hold the mouse over red text for a " "description of the error.)")); return; } bool hadAtoms(m_molecule->atomCount() > 0); bool hadBonds(m_molecule->bondCount() > 0); // Create a new molecule so we can eventually store both in the undo command Molecule newMolecule = *m_molecule; newMolecule.clearAtoms(); foreach (const AtomStruct& atom, atoms) newMolecule.addAtom(atom.atomicNumber).setPosition3d(atom.pos); if (m_validate->latticePositions) { Core::CrystalTools::setFractionalCoordinates(newMolecule, newMolecule.atomPositions3d()); } else { newMolecule.perceiveBondsSimple(); } m_ui->text->document()->setModified(false); Molecule::MoleculeChanges change = Molecule::NoChange; if (hadAtoms) change |= Molecule::Atoms | Molecule::Removed; if (hadBonds) change |= Molecule::Bonds | Molecule::Removed; if (newMolecule.atomCount() > 0) change |= Molecule::Atoms | Molecule::Added; if (newMolecule.bondCount() > 0) change |= Molecule::Bonds | Molecule::Added; QString undoText = tr("Edit Atomic Coordinates"); m_molecule->undoMolecule()->modifyMolecule(newMolecule, change, undoText); } void CoordinateEditorDialog::textModified(bool modified) { m_ui->apply->setEnabled(modified); m_ui->revert->setEnabled(modified); } void CoordinateEditorDialog::buildPresets() { // Custom must be first: m_ui->presets->addItem(tr("Custom"), QVariant()); m_ui->presets->addItem(tr("XYZ format (symbols)"), QVariant("Sxyz")); m_ui->presets->addItem(tr("XYZ format (names)"), QVariant("Nxyz")); m_ui->presets->addItem(tr("XYZ format (atomic numbers)"), QVariant("Zxyz")); m_ui->presets->addItem(tr("Lattice coordinates (symbols)"), QVariant("Sabc")); m_ui->presets->addItem(tr("Lattice coordinates (names)"), QVariant("Nabc")); m_ui->presets->addItem(tr("Lattice coordinates (atomic numbers)"), QVariant("Zabc")); m_ui->presets->addItem(tr("GAMESS format (symbols)"), QVariant("SGxyz")); m_ui->presets->addItem(tr("GAMESS format (names)"), QVariant("NGxyz")); m_ui->presets->addItem(tr("Turbomole format"), QVariant("xyzS")); // show Sxyz initially m_ui->presets->setCurrentIndex(1); } void CoordinateEditorDialog::listenForTextEditChanges(bool enable) { if (enable) connect(m_ui->text, SIGNAL(textChanged()), this, SLOT(validateInput())); else disconnect(m_ui->text, SIGNAL(textChanged()), this, SLOT(validateInput())); } QString CoordinateEditorDialog::detectInputFormat() const { if (m_ui->text->document()->isEmpty()) return QString(); // Extract the first non-empty line of text from the document. QTextCursor cur(m_ui->text->document()); QString sample; while (sample.isEmpty()) { cur.movePosition(QTextCursor::StartOfLine, QTextCursor::MoveAnchor); cur.movePosition(QTextCursor::EndOfLine, QTextCursor::KeepAnchor); sample = cur.selectedText(); cur.movePosition(QTextCursor::Down); } FORMAT_DEBUG(qDebug() << "\n\nExamining sample:" << sample;) // Split the string into tokens, and identify the type of each. QList tokens(sample.split(TOKEN_SEPARATOR, QString::SkipEmptyParts)); QList tokenTypes; tokenTypes.reserve(tokens.size()); size_t tokenTypeCounts[3] = { 0, 0, 0 }; foreach (const QString& token, tokens) { TokenType tokenType = String; if (INT_CHECKER.exactMatch(token)) tokenType = Integer; else if (DOUBLE_CHECKER.exactMatch(token)) tokenType = Double; ++tokenTypeCounts[tokenType]; tokenTypes << tokenType; } FORMAT_DEBUG(qDebug() << "\nDetected types:"; qDebug() << tokens; qDebug() << tokenTypes;); // If less than three doubles are present, promote some integers to doubles. if (tokenTypeCounts[Double] < 3 && tokenTypeCounts[Double] + tokenTypeCounts[Integer] >= 3) { // If numInts + numDoubles is greater than 3, leave the first integer as is, // we'll assume it's the atomic number. bool skipNextInt(tokenTypeCounts[Integer] + tokenTypeCounts[Double] > 3); size_t intsToPromote = 3 - tokenTypeCounts[Double]; QMutableListIterator tokenTypeIter(tokenTypes); while (intsToPromote > 0 && tokenTypeIter.hasNext()) { if (tokenTypeIter.next() == Integer) { if (!skipNextInt) { tokenTypeIter.setValue(Double); --intsToPromote; --tokenTypeCounts[Integer]; ++tokenTypeCounts[Double]; } else { skipNextInt = false; } } } } FORMAT_DEBUG(qDebug() << "\nAfter promotion:"; qDebug() << tokens; qDebug() << tokenTypes;) // If there are no strings or integers, bail out -- we can't determine the // atom types. Likewise if there are less than 3 doubles, the coordinates // are incomplete. if ((tokenTypeCounts[Integer] == 0 && tokenTypeCounts[String] == 0) || tokenTypeCounts[Double] < 3) { return ""; } // Start assigning meaning to the values: QString resultSpec; bool atomTypeSet(false); int numCoordsSet(0); const int numberOfElements(static_cast(Core::Elements::elementCount())); for (int i = 0; i < tokens.size() && (!atomTypeSet || numCoordsSet < 3); ++i) { QChar current = '?'; switch (tokenTypes[i]) { case Integer: if (!atomTypeSet) { int tokenAsInt = tokens[i].toInt(); if (tokenAsInt >= 0 && tokenAsInt <= numberOfElements) { current = 'Z'; atomTypeSet = true; } } break; case Double: switch (numCoordsSet) { case 0: current = 'x'; ++numCoordsSet; break; case 1: current = 'y'; ++numCoordsSet; break; case 2: current = 'z'; ++numCoordsSet; break; default: break; } break; case String: if (!atomTypeSet) { QString cleanToken(tokens[i].toLower()); if (!cleanToken.isEmpty()) cleanToken.replace(0, 1, cleanToken[0].toUpper()); if (cleanToken.size() <= 3) { if (Elements::atomicNumberFromSymbol(cleanToken.toStdString()) != Avogadro::InvalidElement) { current = 'S'; atomTypeSet = true; } } else { if (Elements::atomicNumberFromName(cleanToken.toStdString()) != Avogadro::InvalidElement) { current = 'N'; atomTypeSet = true; } } } break; } FORMAT_DEBUG(qDebug() << current << tokens[i];) resultSpec += current; } // Check the current specification -- if a|b|c appears before x|y|z, assume // that the specified coordinates are lattice coords static QRegExp cartesianSniffer("x|y|z"); static QRegExp fractionalSniffer("a|b|c"); const QString currentSpec(m_ui->spec->text()); int cartesianIndex = currentSpec.indexOf(cartesianSniffer); int fractionalIndex = currentSpec.indexOf(fractionalSniffer); if (fractionalIndex != -1 && (cartesianIndex == -1 || fractionalIndex < cartesianIndex)) { resultSpec.replace('x', 'a'); resultSpec.replace('y', 'b'); resultSpec.replace('z', 'c'); FORMAT_DEBUG(qDebug() << "Interpreting positions as lattice coordinates.";) } FORMAT_DEBUG(qDebug() << "Detected format:" << resultSpec); return (!atomTypeSet || numCoordsSet < 3) ? QString() : resultSpec; } void CoordinateEditorDialog::cutClicked() { copyClicked(); clearClicked(); } void CoordinateEditorDialog::copyClicked() { qApp->clipboard()->setText(m_ui->text->document()->toPlainText()); } void CoordinateEditorDialog::pasteClicked() { const QMimeData* mimeData = qApp->clipboard()->mimeData(); m_ui->text->document()->setPlainText( (mimeData && mimeData->hasText()) ? mimeData->text() : ""); } void CoordinateEditorDialog::revertClicked() { updateText(); } void CoordinateEditorDialog::clearClicked() { m_ui->text->document()->clear(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/coordinateeditor/coordinateeditordialog.h000066400000000000000000000042221360735163600303470ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_COORDINATEEDITORDIALOG_H #define AVOGADRO_QTPLUGINS_COORDINATEEDITORDIALOG_H #include namespace Avogadro { namespace QtGui { class Molecule; } namespace QtPlugins { namespace Ui { class CoordinateEditorDialog; } /** * @brief The CoordinateEditorDialog class implements a free-text coordinate * editor. */ class CoordinateEditorDialog : public QDialog { Q_OBJECT public: explicit CoordinateEditorDialog(QWidget* parent_ = 0); ~CoordinateEditorDialog() override; void setMolecule(QtGui::Molecule* mol); signals: void validationFinished(bool valid); private slots: void moleculeChanged(uint); void presetChanged(int); void specChanged(); void specEdited(); void updateText(); void helpClicked(); void validateInput(); void validateInputWorker(); void cutClicked(); void copyClicked(); void pasteClicked(); void revertClicked(); void clearClicked(); void applyClicked(); void applyFinish(bool valid); void textModified(bool modified); private: void buildPresets(); // Enable/disable input validation when the text edit is modified. void listenForTextEditChanges(bool enable); QString detectInputFormat() const; Ui::CoordinateEditorDialog* m_ui; QtGui::Molecule* m_molecule; // State storage for validateInput methods. PIMPL'd for organization. class ValidateStorage; ValidateStorage* m_validate; QString m_defaultSpec; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_COORDINATEEDITORDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/coordinateeditor/coordinateeditordialog.ui000066400000000000000000000143621360735163600305430ustar00rootroot00000000000000 Avogadro::QtPlugins::CoordinateEditorDialog 0 0 500 400 Coordinate Editor Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Preset: presets Distance Unit: distanceUnit Angstrom Bohr Format: spec <html><head/><body><p>Specification of format. Each character indicates a value to write per atom:</p><p><span style=" font-weight:600;">#</span> - Atom index (1, 2, ..., numAtoms)<br/><span style=" font-weight:600;">Z</span> - Atomic number (e.g. &quot;6&quot; for carbon)<br/><span style=" font-weight:600;">G</span> - GAMESS-style atomic number (e.g. &quot;6.0&quot; for carbon)<br/><span style=" font-weight:600;">N</span> - Element name (e.g. &quot;Carbon&quot;)<br/><span style=" font-weight:600;">S</span> - Element symbol (e.g. &quot;C&quot; for carbon)<br/><span style=" font-weight:600;">x</span> - X position coordinate<br/><span style=" font-weight:600;">y</span> - Y position coordinate<br/><span style=" font-weight:600;">z</span> - Z position coordinate<br/><span style=" font-weight:600;">a</span> - 'a' lattice coordinate (crystals only)<br/><span style=" font-weight:600;">b</span> - 'b' lattice coordinate (crystals only)<br/><span style=" font-weight:600;">c</span> - 'c' lattice coordinate (crystals only)<br/><span style=" font-weight:600;">_</span> - A literal space (&quot; &quot;), useful for alignment<br/><span style=" font-weight:600;">0</span> - A literal 0 (&quot;0&quot;), useful for optimization flags<br/><span style=" font-weight:600;">1</span> - A literal 1 (&quot;1&quot;), useful for optimization flags<br/></p></body></html> Help... Cut Copy Paste Qt::Horizontal 40 20 Revert Clear Apply Avogadro::QtPlugins::CoordinateTextEdit QTextEdit
coordinatetextedit.h
presets spec help distanceUnit text cut copy paste revert clear apply
avogadrolibs-1.93.0/avogadro/qtplugins/coordinateeditor/coordinatetextedit.cpp000066400000000000000000000060071360735163600300710ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "coordinatetextedit.h" #include #include #include #include #include namespace Avogadro { namespace QtPlugins { CoordinateTextEdit::CoordinateTextEdit(QWidget* p) : QTextEdit(p), m_hasInvalidMarks(false) { setMouseTracking(true); m_unmarkedFormat.setUnderlineStyle(QTextCharFormat::NoUnderline); m_unmarkedFormat.setForeground(qApp->palette().foreground().color()); m_unmarkedFormat.setBackground(qApp->palette().base().color()); m_invalidFormat.setUnderlineStyle(QTextCharFormat::SpellCheckUnderline); m_invalidFormat.setForeground(Qt::darkRed); m_invalidFormat.setBackground(Qt::lightGray); m_validFormat.setUnderlineStyle(QTextCharFormat::NoUnderline); m_validFormat.setForeground(Qt::darkGreen); } void CoordinateTextEdit::resetMarks() { m_hasInvalidMarks = false; m_marks.clear(); if (!document()->isEmpty()) { QTextCursor cur(document()); cur.movePosition(QTextCursor::End, QTextCursor::KeepAnchor); cur.mergeCharFormat(m_unmarkedFormat); } } void CoordinateTextEdit::markInvalid(QTextCursor& cur, const QString& tooltip) { m_hasInvalidMarks = true; cur.mergeCharFormat(m_invalidFormat); m_marks.append(Mark(cur.anchor(), cur.position(), tooltip)); } void CoordinateTextEdit::markValid(QTextCursor& cur, const QString& tooltip) { cur.mergeCharFormat(m_validFormat); m_marks.append(Mark(cur.anchor(), cur.position(), tooltip)); } bool CoordinateTextEdit::event(QEvent* e) { if (e->type() == QEvent::ToolTip) { QHelpEvent* helpEvent = static_cast(e); showToolTip(helpEvent); return true; } return QTextEdit::event(e); } void CoordinateTextEdit::showToolTip(QHelpEvent* e) const { int position(cursorForPosition(e->pos()).position()); bool handled(false); if (position >= 0) { // Iterate backwards -- this ensures that "line too short" errors are shown // instead of the token-specific messages in that line. QListIterator iter(m_marks); iter.toBack(); while (iter.hasPrevious()) { const Mark& mark = iter.previous(); if (mark.contains(position)) { QToolTip::showText(e->globalPos(), mark.tooltip); handled = true; break; } } } if (!handled) { QToolTip::hideText(); e->ignore(); } } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/coordinateeditor/coordinatetextedit.h000066400000000000000000000036031360735163600275350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_COORDINATETEXTEDIT_H #define AVOGADRO_QTPLUGINS_COORDINATETEXTEDIT_H #include #include class QHelpEvent; namespace Avogadro { namespace QtPlugins { /** * @brief The CoordinateTextEdit class extends QTextEdit to provide context * tooltips and highlighting for syntax errors. */ class CoordinateTextEdit : public QTextEdit { Q_OBJECT public: explicit CoordinateTextEdit(QWidget* p = 0); bool hasInvalidMarks() const { return m_hasInvalidMarks; } public slots: void resetMarks(); void markInvalid(QTextCursor& cur, const QString& tooltip); void markValid(QTextCursor& cur, const QString& tooltip); protected: bool event(QEvent* e) override; private: void showToolTip(QHelpEvent* e) const; struct Mark { int start; int end; QString tooltip; Mark(int s, int e, const QString& t) : start(s) , end(e) , tooltip(t) {} bool contains(int i) const { return i >= start && i <= end; } }; QList m_marks; bool m_hasInvalidMarks; QTextCharFormat m_unmarkedFormat; QTextCharFormat m_invalidFormat; QTextCharFormat m_validFormat; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_COORDINATETEXTEDIT_H avogadrolibs-1.93.0/avogadro/qtplugins/copypaste/000077500000000000000000000000001360735163600221315ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/copypaste/CMakeLists.txt000066400000000000000000000003541360735163600246730ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_BINARY_DIR}) avogadro_plugin(CopyPaste "Interact with the clipboard." ExtensionPlugin copypaste.h CopyPaste "copypaste.cpp" "" ) target_link_libraries(CopyPaste LINK_PRIVATE AvogadroIO) avogadrolibs-1.93.0/avogadro/qtplugins/copypaste/copypaste.cpp000066400000000000000000000140271360735163600246500ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "copypaste.h" #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using namespace Avogadro::QtGui; CopyPaste::CopyPaste(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_pastedFormat(nullptr), m_copyAction(new QAction(tr("Copy"), this)), m_cutAction(new QAction(tr("Cut"), this)), m_clearAction(new QAction(tr("Clear"), this)), m_pasteAction(new QAction(tr("Paste"), this)) { m_copyAction->setShortcut(QKeySequence::Copy); m_copyAction->setIcon(QIcon::fromTheme("edit-copy")); connect(m_copyAction, SIGNAL(triggered()), SLOT(copy())); m_cutAction->setShortcut(QKeySequence::Cut); m_cutAction->setIcon(QIcon::fromTheme("edit-cut")); connect(m_cutAction, SIGNAL(triggered()), SLOT(cut())); m_pasteAction->setShortcut(QKeySequence::Paste); m_pasteAction->setIcon(QIcon::fromTheme("edit-paste")); connect(m_pasteAction, SIGNAL(triggered()), SLOT(paste())); m_clearAction->setShortcut(QKeySequence::Delete); m_clearAction->setIcon(QIcon::fromTheme("edit-clear")); connect(m_clearAction, SIGNAL(triggered()), SLOT(clear())); } CopyPaste::~CopyPaste() { delete m_pastedFormat; } QList CopyPaste::actions() const { QList result; return result << m_copyAction << m_cutAction << m_pasteAction << m_clearAction; } QStringList CopyPaste::menuPath(QAction*) const { return QStringList() << tr("&Edit"); } void CopyPaste::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } bool CopyPaste::copy() { if (!m_molecule) return false; std::string output; Io::CjsonFormat cjson; if (!cjson.writeString(output, *m_molecule)) { QMessageBox::warning( qobject_cast(this->parent()), tr("Error Clipping Molecule"), tr("Error generating clipboard data.") + "\n" + tr("Output format: %1\n%2", "file format") .arg(QString::fromStdString(m_pastedFormat->name())) .arg(QString::fromStdString(m_pastedFormat->description())) + "\n\n" + tr("Reader error:\n%1") .arg(QString::fromStdString(m_pastedFormat->error()))); return false; } QByteArray outputBA(output.c_str(), static_cast(output.length())); QMimeData* mimeData(new QMimeData); std::vector mimeTypes(cjson.mimeTypes()); for (size_t i = 0; i < mimeTypes.size(); ++i) mimeData->setData(QString::fromStdString(mimeTypes[i]), outputBA); mimeData->setData("text/plain", outputBA); QApplication::clipboard()->setMimeData(mimeData); return true; } void CopyPaste::cut() { if (!copy()) return; m_molecule->undoMolecule()->clearAtoms(); m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Bonds | QtGui::Molecule::Removed); } void CopyPaste::clear() { m_molecule->undoMolecule()->clearAtoms(); m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Bonds | QtGui::Molecule::Removed); } void CopyPaste::paste() { // Delete any old clipboard data. if (m_pastedFormat) { delete m_pastedFormat; m_pastedFormat = nullptr; m_pastedData.clear(); } if (!m_molecule) return; // nothing to do const QMimeData* mimeData(QApplication::clipboard()->mimeData()); if (!mimeData) { QMessageBox::warning(qobject_cast(this->parent()), tr("Error Pasting Molecule"), tr("Cannot paste molecule: Clipboard empty!")); return; } // Try to find a reader that can handle the available mime-types. Io::FileFormatManager& mgr = Io::FileFormatManager::instance(); QStringList mimeTypes(mimeData->formats()); Io::FileFormat::Operations ops(Io::FileFormat::Read | Io::FileFormat::String); foreach (const QString& mimeType, mimeTypes) { if ((m_pastedFormat = mgr.newFormatFromMimeType(mimeType.toStdString(), ops))) { m_pastedData = mimeData->data(mimeType); break; } } // No mime-type match, default to cjson. if (!m_pastedFormat && mimeData->hasText()) { m_pastedFormat = new Io::CjsonFormat; m_pastedData = mimeData->text().toLatin1(); } if (!m_pastedFormat) return; // we have a format, so try to insert the new bits into m_molecule Avogadro::QtGui::Molecule mol(m_molecule->parent()); bool success = m_pastedFormat->readString( std::string(m_pastedData.constData(), m_pastedData.size()), mol); if (!success) { QMessageBox::warning( qobject_cast(this->parent()), tr("Error Pasting Molecule"), tr("Error reading clipboard data.") + "\n" + tr("Detected format: %1\n%2", "file format description") .arg(QString::fromStdString(m_pastedFormat->name())) .arg(QString::fromStdString(m_pastedFormat->description())) + "\n\n" + tr("Reader error:\n%1") .arg(QString::fromStdString(m_pastedFormat->error()))); } // insert mol into m_molecule m_molecule->undoMolecule()->appendMolecule(mol, "Paste Molecule"); emit requestActiveTool("Manipulator"); delete m_pastedFormat; m_pastedFormat = nullptr; m_pastedData.clear(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/copypaste/copypaste.h000066400000000000000000000036461360735163600243220ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_COPYPASTE_H #define AVOGADRO_QTPLUGINS_COPYPASTE_H #include #include #include namespace Avogadro { namespace Io { class FileFormat; } namespace QtPlugins { /** * @brief The CopyPaste class allows interaction with the system clipboard. */ class CopyPaste : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit CopyPaste(QObject* parent_ = 0); ~CopyPaste() override; QString name() const override { return tr("Copy and paste"); } QString description() const override { return tr("Interact with the clipboard."); } QList actions() const override; QStringList menuPath(QAction* action) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; private slots: bool copy(); // returns bool so cut can reuse implementation. void cut(); void paste(); void clear(); private: // Cached between emitting moleculeReady() and calling readMolecule(). QByteArray m_pastedData; Io::FileFormat* m_pastedFormat; QtGui::Molecule* m_molecule; QAction* m_copyAction; QAction* m_cutAction; QAction* m_clearAction; QAction* m_pasteAction; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_COPYPASTE_H avogadrolibs-1.93.0/avogadro/qtplugins/crystal/000077500000000000000000000000001360735163600216035ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/crystal/CMakeLists.txt000066400000000000000000000011111360735163600243350ustar00rootroot00000000000000set(crystal_srcs crystal.cpp importcrystaldialog.cpp supercelldialog.cpp unitcelldialog.cpp volumescalingdialog.cpp ) set(crystal_uis importcrystaldialog.ui supercelldialog.ui unitcelldialog.ui volumescalingdialog.ui ) avogadro_plugin(Crystal "Provide crystal-specific editing/analysis." ExtensionPlugin crystal.h Crystal "${crystal_srcs}" "${crystal_uis}" ) avogadro_plugin(CrystalScene "Render unit cell lattice." ScenePlugin crystalscene.h CrystalScene crystalscene.cpp) target_link_libraries(CrystalScene LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/crystal/crystal.cpp000066400000000000000000000161761360735163600240030ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "crystal.h" #include "importcrystaldialog.h" #include "supercelldialog.h" #include "unitcelldialog.h" #include "volumescalingdialog.h" #include #include #include #include #include #include #include using Avogadro::Core::CrystalTools; using Avogadro::Core::UnitCell; using Avogadro::QtGui::Molecule; namespace Avogadro { namespace QtPlugins { Crystal::Crystal(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_molecule(nullptr), m_unitCellDialog(nullptr), m_importCrystalClipboardAction(new QAction(this)), m_editUnitCellAction(new QAction(this)), m_buildSupercellAction(new QAction(this)), m_niggliReduceAction(new QAction(this)), m_scaleVolumeAction(new QAction(this)), m_standardOrientationAction(new QAction(this)), m_toggleUnitCellAction(new QAction(this)), m_wrapAtomsToCellAction(new QAction(this)) { m_importCrystalClipboardAction->setText(tr("Import Crystal from Clipboard")); connect(m_importCrystalClipboardAction, SIGNAL(triggered()), SLOT(importCrystalClipboard())); m_actions.push_back(m_importCrystalClipboardAction); m_importCrystalClipboardAction->setProperty("menu priority", 220); // this will be changed when the molecule is set: m_toggleUnitCellAction->setText(tr("Toggle Unit Cell")); connect(m_toggleUnitCellAction, SIGNAL(triggered()), SLOT(toggleUnitCell())); m_actions.push_back(m_toggleUnitCellAction); m_toggleUnitCellAction->setProperty("menu priority", 210); m_editUnitCellAction->setText(tr("Edit Unit Cell...")); connect(m_editUnitCellAction, SIGNAL(triggered()), SLOT(editUnitCell())); m_actions.push_back(m_editUnitCellAction); m_editUnitCellAction->setProperty("menu priority", 190); m_wrapAtomsToCellAction->setText(tr("&Wrap Atoms to Unit Cell")); connect(m_wrapAtomsToCellAction, SIGNAL(triggered()), SLOT(wrapAtomsToCell())); m_actions.push_back(m_wrapAtomsToCellAction); m_wrapAtomsToCellAction->setProperty("menu priority", 180); m_standardOrientationAction->setText(tr("Rotate to Standard &Orientation")); connect(m_standardOrientationAction, SIGNAL(triggered()), SLOT(standardOrientation())); m_actions.push_back(m_standardOrientationAction); m_standardOrientationAction->setProperty("menu priority", 170); m_scaleVolumeAction->setText(tr("Scale Cell &Volume")); connect(m_scaleVolumeAction, SIGNAL(triggered()), SLOT(scaleVolume())); m_actions.push_back(m_scaleVolumeAction); m_scaleVolumeAction->setProperty("menu priority", 160); m_buildSupercellAction->setText(tr("Build &Supercell")); connect(m_buildSupercellAction, SIGNAL(triggered()), SLOT(buildSupercell())); m_actions.push_back(m_buildSupercellAction); m_buildSupercellAction->setProperty("menu priority", 150); m_niggliReduceAction->setText(tr("Reduce Cell (&Niggli)")); connect(m_niggliReduceAction, SIGNAL(triggered()), SLOT(niggliReduce())); m_actions.push_back(m_niggliReduceAction); m_niggliReduceAction->setProperty("menu priority", 140); updateActions(); } Crystal::~Crystal() { if (m_unitCellDialog) m_unitCellDialog->deleteLater(); qDeleteAll(m_actions); m_actions.clear(); } QList Crystal::actions() const { return m_actions; } QStringList Crystal::menuPath(QAction*) const { return QStringList() << tr("&Crystal"); } void Crystal::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_unitCellDialog) m_unitCellDialog->setMolecule(m_molecule); if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateActions(); } void Crystal::moleculeChanged(unsigned int c) { Q_ASSERT(m_molecule == qobject_cast(sender())); Molecule::MoleculeChanges changes = static_cast(c); if (changes & Molecule::UnitCell) { if (changes & Molecule::Added || changes & Molecule::Removed) updateActions(); } } void Crystal::updateActions() { // Disable everything for nullptr molecules. if (!m_molecule) { foreach (QAction* action, m_actions) action->setEnabled(false); return; } if (m_molecule->unitCell()) { foreach (QAction* action, m_actions) action->setEnabled(true); m_toggleUnitCellAction->setText(tr("Remove &Unit Cell")); } else { foreach (QAction* action, m_actions) action->setEnabled(false); m_importCrystalClipboardAction->setEnabled(true); m_toggleUnitCellAction->setEnabled(true); m_toggleUnitCellAction->setText(tr("Add &Unit Cell")); } } void Crystal::importCrystalClipboard() { ImportCrystalDialog d; Core::Molecule m; if (d.importCrystalClipboard(m)) { // If we succeeded, update m_molecule Molecule::MoleculeChanges changes = Molecule::Added | Molecule::Atoms | Molecule::UnitCell; QString undoText = tr("Import Crystal from Clipboard"); m_molecule->undoMolecule()->modifyMolecule(m, changes, undoText); } } void Crystal::editUnitCell() { if (!m_unitCellDialog) { m_unitCellDialog = new UnitCellDialog(qobject_cast(parent())); m_unitCellDialog->setMolecule(m_molecule); } m_unitCellDialog->show(); } void Crystal::buildSupercell() { SupercellDialog d; d.buildSupercell(*m_molecule); } void Crystal::niggliReduce() { if (CrystalTools::isNiggliReduced(*m_molecule)) { QMessageBox::information( qobject_cast(parent()), tr("Niggli Reduce Crystal"), tr("The unit cell is already reduced."), QMessageBox::Ok); return; } m_molecule->undoMolecule()->niggliReduceCell(); } void Crystal::scaleVolume() { if (!m_molecule->unitCell()) return; VolumeScalingDialog dlg; dlg.setCurrentVolume(m_molecule->unitCell()->volume()); int reply = dlg.exec(); if (reply != QDialog::Accepted) return; m_molecule->undoMolecule()->setCellVolume( dlg.newVolume(), dlg.transformAtoms() ? CrystalTools::TransformAtoms : CrystalTools::None); } void Crystal::standardOrientation() { m_molecule->undoMolecule()->rotateCellToStandardOrientation(); } void Crystal::toggleUnitCell() { if (m_molecule->unitCell()) { m_molecule->undoMolecule()->removeUnitCell(); } else { m_molecule->undoMolecule()->addUnitCell(); editUnitCell(); } } void Crystal::wrapAtomsToCell() { m_molecule->undoMolecule()->wrapAtomsToCell(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/crystal/crystal.h000066400000000000000000000042071360735163600234400ustar00rootroot00000000000000/******************************************************************************* This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. *******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_CRYSTAL_H #define AVOGADRO_QTPLUGINS_CRYSTAL_H #include namespace Avogadro { namespace QtPlugins { class UnitCellDialog; /** * @brief Tools for crystal-specific editing/analysis. */ class Crystal : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit Crystal(QObject* parent_ = 0); ~Crystal() override; QString name() const override { return tr("Crystal"); } QString description() const override; QList actions() const override; QStringList menuPath(QAction*) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; void moleculeChanged(unsigned int changes); private slots: void updateActions(); void importCrystalClipboard(); void editUnitCell(); void buildSupercell(); void niggliReduce(); void scaleVolume(); void standardOrientation(); void toggleUnitCell(); void wrapAtomsToCell(); private: QList m_actions; QtGui::Molecule* m_molecule; UnitCellDialog* m_unitCellDialog; QAction* m_importCrystalClipboardAction; QAction* m_editUnitCellAction; QAction* m_buildSupercellAction; QAction* m_niggliReduceAction; QAction* m_scaleVolumeAction; QAction* m_standardOrientationAction; QAction* m_toggleUnitCellAction; QAction* m_wrapAtomsToCellAction; }; inline QString Crystal::description() const { return tr("Tools for crystal-specific editing/analysis."); } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_CRYSTAL_H avogadrolibs-1.93.0/avogadro/qtplugins/crystal/crystalscene.cpp000066400000000000000000000051711360735163600250120ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "crystalscene.h" #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Array; using Core::Molecule; using Core::UnitCell; using Rendering::GeometryNode; using Rendering::GroupNode; using Rendering::LineStripGeometry; CrystalScene::CrystalScene(QObject* p) : ScenePlugin(p), m_enabled(true) { } CrystalScene::~CrystalScene() { } void CrystalScene::process(const Molecule& molecule, GroupNode& node) { if (const UnitCell* cell = molecule.unitCell()) { GeometryNode* geometry = new GeometryNode; node.addChild(geometry); LineStripGeometry* lines = new LineStripGeometry; geometry->addDrawable(lines); lines->setColor(Vector3ub(255, 255, 255)); float width = 2.0; Vector3f a = cell->aVector().cast(); Vector3f b = cell->bVector().cast(); Vector3f c = cell->cVector().cast(); Vector3f vertex(Vector3f::Zero()); Array strip; strip.reserve(5); strip.push_back(vertex); strip.push_back(vertex += a); strip.push_back(vertex += b); strip.push_back(vertex -= a); strip.push_back(vertex -= b); lines->addLineStrip(strip, width); for (Array::iterator it = strip.begin(), itEnd = strip.end(); it != itEnd; ++it) { *it += c; } lines->addLineStrip(strip, width); strip.resize(2); strip[0] = Vector3f::Zero(); strip[1] = c; lines->addLineStrip(strip, width); strip[0] += a; strip[1] += a; lines->addLineStrip(strip, width); strip[0] += b; strip[1] += b; lines->addLineStrip(strip, width); strip[0] -= a; strip[1] -= a; lines->addLineStrip(strip, width); } } bool CrystalScene::isEnabled() const { return m_enabled; } void CrystalScene::setEnabled(bool enable) { m_enabled = enable; } } } avogadrolibs-1.93.0/avogadro/qtplugins/crystal/crystalscene.h000066400000000000000000000027131360735163600244560ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_CRYSTALSCENE_H #define AVOGADRO_QTPLUGINS_CRYSTALSCENE_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Render the unit cell boundaries. */ class CrystalScene : public QtGui::ScenePlugin { Q_OBJECT public: explicit CrystalScene(QObject* parent = 0); ~CrystalScene() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("Crystal Lattice"); } QString description() const override { return tr("Render the unit cell boundaries."); } bool isEnabled() const override; void setEnabled(bool enable) override; private: bool m_enabled; }; } // end namespace QtPlugins } // end namespace Avogadro #endif // AVOGADRO_QTPLUGINS_CRYSTALSCENE_H avogadrolibs-1.93.0/avogadro/qtplugins/crystal/importcrystaldialog.cpp000066400000000000000000000045641360735163600264140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "importcrystaldialog.h" #include "ui_importcrystaldialog.h" #include #include #include #include #include #include using std::vector; using std::string; namespace Avogadro { namespace QtPlugins { ImportCrystalDialog::ImportCrystalDialog(QWidget* p) : QDialog(p), m_ui(new Ui::ImportCrystalDialog) { m_ui->setupUi(this); } ImportCrystalDialog::~ImportCrystalDialog() { delete m_ui; } bool ImportCrystalDialog::importCrystalClipboard(Avogadro::Core::Molecule& mol) { QString text = QApplication::clipboard()->text(); m_ui->edit_text->setText(text); // If the user rejected, just return false if (this->exec() == QDialog::Rejected) return false; // Use POSCAR format by default. If the extension was set, use that instead std::string ext = m_ui->edit_extension->text().toStdString(); if (ext.empty()) ext = "POSCAR"; // Update the text text = m_ui->edit_text->toPlainText(); std::stringstream s(text.toStdString()); if (Io::FileFormatManager::instance().readString(mol, s.str(), ext)) return true; // Print out the error messages from the read if we failed if (!Io::FileFormatManager::instance().error().empty()) { qDebug() << "FileFormatManager error message:" << QString::fromStdString( Io::FileFormatManager::instance().error()); } displayInvalidFormatMessage(); return false; } void ImportCrystalDialog::displayInvalidFormatMessage() { QMessageBox::critical( this, tr("Cannot Parse Text"), tr("Failed to read the data with the supplied format.")); reject(); close(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/crystal/importcrystaldialog.h000066400000000000000000000030101360735163600260420ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_IMPORTCRYSTALDIALOG_H #define AVOGADRO_QTPLUGINS_IMPORTCRYSTALDIALOG_H #include #include namespace Avogadro { namespace Core { class Molecule; } namespace QtPlugins { namespace Ui { class ImportCrystalDialog; } /** * @brief The ImportCrystalDialog class provides a dialog for importing * a crystal from the clipboard. */ class ImportCrystalDialog : public QDialog { Q_OBJECT public: ImportCrystalDialog(QWidget* p = 0); ~ImportCrystalDialog() override; // Avogadro::Core::Molecule is required for the format function bool importCrystalClipboard(Avogadro::Core::Molecule& mol); void displayInvalidFormatMessage(); private: AVO_DISABLE_COPY(ImportCrystalDialog) Ui::ImportCrystalDialog* m_ui; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_IMPORTCRYSTALDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/crystal/importcrystaldialog.ui000066400000000000000000000040501360735163600262350ustar00rootroot00000000000000 Avogadro::QtPlugins::ImportCrystalDialog 0 0 400 300 Import Crystal File extension for Open Babel conversion (default - Avogadro::POSCAR): edit_extension Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() Avogadro::QtPlugins::ImportCrystalDialog accept() 248 254 157 274 buttonBox rejected() Avogadro::QtPlugins::ImportCrystalDialog reject() 316 260 286 274 avogadrolibs-1.93.0/avogadro/qtplugins/crystal/supercelldialog.cpp000066400000000000000000000032571360735163600254740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "supercelldialog.h" #include "ui_supercelldialog.h" #include #include #include #include using Avogadro::Core::CrystalTools; namespace Avogadro { namespace QtPlugins { SupercellDialog::SupercellDialog(QWidget* p) : QDialog(p), m_ui(new Ui::SupercellDialog) { m_ui->setupUi(this); } SupercellDialog::~SupercellDialog() { delete m_ui; } bool SupercellDialog::buildSupercell(Avogadro::QtGui::Molecule& mol) { // If the user rejected, just return false if (this->exec() == QDialog::Rejected) return false; // Read the values unsigned int a = m_ui->aCellSpinBox->value(); unsigned int b = m_ui->bCellSpinBox->value(); unsigned int c = m_ui->cCellSpinBox->value(); // No need to do anything if all the values are one if (a == 1 && b == 1 && c == 1) return true; // Run the supercell-building tool mol.undoMolecule()->buildSupercell(a, b, c); return true; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/crystal/supercelldialog.h000066400000000000000000000026251360735163600251370ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SUPERCELLDIALOG_H #define AVOGADRO_QTPLUGINS_SUPERCELLDIALOG_H #include #include namespace Avogadro { namespace QtGui { class Molecule; } namespace QtPlugins { namespace Ui { class SupercellDialog; } /** * @brief The SupercellDialog class provides a dialog for * building a supercell from a crystal. */ class SupercellDialog : public QDialog { Q_OBJECT public: SupercellDialog(QWidget* p = 0); ~SupercellDialog() override; bool buildSupercell(Avogadro::QtGui::Molecule& mol); void displayInvalidFormatMessage(); private: AVO_DISABLE_COPY(SupercellDialog) Ui::SupercellDialog* m_ui; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_SUPERCELLDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/crystal/supercelldialog.ui000066400000000000000000000064721360735163600253310ustar00rootroot00000000000000 Avogadro::QtPlugins::SupercellDialog 0 0 324 188 Supercell Parameters Super Cell Options A repeat: 1 B repeat: 1 C repeat: 1 QDialogButtonBox::Cancel|QDialogButtonBox::Ok Qt::Vertical 20 0 ok_cancel_bb accepted() Avogadro::QtPlugins::SupercellDialog accept() 161 159 161 93 ok_cancel_bb rejected() Avogadro::QtPlugins::SupercellDialog reject() 161 159 161 93 avogadrolibs-1.93.0/avogadro/qtplugins/crystal/unitcelldialog.cpp000066400000000000000000000237001360735163600253100ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "unitcelldialog.h" #include "ui_unitcelldialog.h" #include #include #include #include #include #include using Avogadro::Core::UnitCell; using Avogadro::QtGui::Molecule; namespace { // Matrix formatting: const int MATRIX_WIDTH = 9; const int MATRIX_PREC = 5; const char MATRIX_FMT = 'f'; // Valid value separators in matrix editors: const static QRegExp MATRIX_SEP( "\\s|,|;|\\||\\[|\\]|\\{|\\}|\\(|\\)|\\&|/|<|>"); } namespace Avogadro { namespace QtPlugins { UnitCellDialog::UnitCellDialog(QWidget* p) : QDialog(p), m_ui(new Ui::UnitCellDialog), m_molecule(nullptr), m_mode(Invalid) { m_ui->setupUi(this); connect(m_ui->a, SIGNAL(valueChanged(double)), SLOT(parametersEdited())); connect(m_ui->b, SIGNAL(valueChanged(double)), SLOT(parametersEdited())); connect(m_ui->c, SIGNAL(valueChanged(double)), SLOT(parametersEdited())); connect(m_ui->alpha, SIGNAL(valueChanged(double)), SLOT(parametersEdited())); connect(m_ui->beta, SIGNAL(valueChanged(double)), SLOT(parametersEdited())); connect(m_ui->gamma, SIGNAL(valueChanged(double)), SLOT(parametersEdited())); connect(m_ui->cellMatrix, SIGNAL(textChanged()), SLOT(cellMatrixEdited())); connect(m_ui->fractionalMatrix, SIGNAL(textChanged()), SLOT(fractionalMatrixEdited())); connect(m_ui->apply, SIGNAL(clicked()), SLOT(apply())); connect(m_ui->revert, SIGNAL(clicked()), SLOT(revert())); } UnitCellDialog::~UnitCellDialog() { delete m_ui; } void UnitCellDialog::setMolecule(QtGui::Molecule* molecule) { if (molecule != m_molecule) { if (m_molecule) m_molecule->disconnect(this); m_molecule = molecule; if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); revert(); } } void UnitCellDialog::moleculeChanged(unsigned int changes) { if (changes & Molecule::UnitCell) revert(); } void UnitCellDialog::parametersEdited() { setMode(Parameters); updateParameters(); revertCellMatrix(); revertFractionalMatrix(); } void UnitCellDialog::cellMatrixEdited() { setMode(CellMatrix); if (validateCellMatrix()) { updateCellMatrix(); revertParameters(); revertFractionalMatrix(); enableApply(true); } else { enableApply(false); } } void UnitCellDialog::fractionalMatrixEdited() { setMode(FractionalMatrix); if (validateFractionalMatrix()) { updateFractionalMatrix(); revertParameters(); revertCellMatrix(); enableApply(true); } else { enableApply(false); } } void UnitCellDialog::apply() { if (!isCrystal()) { revert(); return; } switch (m_mode) { case Invalid: case Clean: revert(); break; default: { Core::CrystalTools::Options options = Core::CrystalTools::None; if (m_ui->transformAtoms->isChecked()) options |= Core::CrystalTools::TransformAtoms; m_molecule->undoMolecule()->editUnitCell(m_tempCell.cellMatrix(), options); break; } } } void UnitCellDialog::revert() { if (isCrystal()) m_tempCell = *m_molecule->unitCell(); revertParameters(); revertCellMatrix(); validateCellMatrix(); revertFractionalMatrix(); validateFractionalMatrix(); setMode(isCrystal() ? Clean : Invalid); } bool UnitCellDialog::isCrystal() const { return m_molecule && m_molecule->unitCell(); } void UnitCellDialog::setMode(UnitCellDialog::Mode m) { if (m != m_mode) { m_mode = m; enableParameters(m == Clean || m == Parameters); enableCellMatrix(m == Clean || m == CellMatrix); enableFractionalMatrix(m == Clean || m == FractionalMatrix); enableApply(m != Clean && m != Invalid); enableRevert(m != Clean && m != Invalid); } } void UnitCellDialog::enableParameters(bool e) { m_ui->a->setEnabled(e); m_ui->b->setEnabled(e); m_ui->c->setEnabled(e); m_ui->alpha->setEnabled(e); m_ui->beta->setEnabled(e); m_ui->gamma->setEnabled(e); } void UnitCellDialog::enableCellMatrix(bool e) { m_ui->cellMatrix->setEnabled(e); } void UnitCellDialog::enableFractionalMatrix(bool e) { m_ui->fractionalMatrix->setEnabled(e); } void UnitCellDialog::enableApply(bool e) { m_ui->apply->setEnabled(e); } void UnitCellDialog::enableRevert(bool e) { m_ui->revert->setEnabled(e); } void UnitCellDialog::blockParametersSignals(bool e) { m_ui->a->blockSignals(e); m_ui->b->blockSignals(e); m_ui->c->blockSignals(e); m_ui->alpha->blockSignals(e); m_ui->beta->blockSignals(e); m_ui->gamma->blockSignals(e); } void UnitCellDialog::blockCellMatrixSignals(bool e) { m_ui->cellMatrix->blockSignals(e); } void UnitCellDialog::blockFractionalMatrixSignals(bool e) { m_ui->fractionalMatrix->blockSignals(e); } void UnitCellDialog::revertParameters() { blockParametersSignals(true); if (isCrystal()) { m_ui->a->setValue(static_cast(m_tempCell.a())); m_ui->b->setValue(static_cast(m_tempCell.b())); m_ui->c->setValue(static_cast(m_tempCell.c())); m_ui->alpha->setValue(static_cast(m_tempCell.alpha() * RAD_TO_DEG)); m_ui->beta->setValue(static_cast(m_tempCell.beta() * RAD_TO_DEG)); m_ui->gamma->setValue(static_cast(m_tempCell.gamma() * RAD_TO_DEG)); } else { enableParameters(false); m_ui->a->setValue(3.); m_ui->b->setValue(3.); m_ui->c->setValue(3.); m_ui->alpha->setValue(90.); m_ui->beta->setValue(90.); m_ui->gamma->setValue(90.); } blockParametersSignals(false); } void UnitCellDialog::revertCellMatrix() { blockCellMatrixSignals(true); if (isCrystal()) { m_ui->cellMatrix->setPlainText(matrixToString(m_tempCell.cellMatrix())); } else { enableCellMatrix(false); m_ui->cellMatrix->setPlainText(tr("No unit cell present.")); } blockCellMatrixSignals(false); } void UnitCellDialog::revertFractionalMatrix() { blockFractionalMatrixSignals(true); if (isCrystal()) { m_ui->fractionalMatrix->setPlainText( matrixToString(m_tempCell.fractionalMatrix())); } else { enableFractionalMatrix(false); m_ui->fractionalMatrix->setPlainText(tr("No unit cell present.")); } blockFractionalMatrixSignals(false); } void UnitCellDialog::updateParameters() { m_tempCell.setCellParameters( static_cast(m_ui->a->value()), static_cast(m_ui->b->value()), static_cast(m_ui->c->value()), static_cast(m_ui->alpha->value()) * DEG_TO_RAD, static_cast(m_ui->beta->value()) * DEG_TO_RAD, static_cast(m_ui->gamma->value()) * DEG_TO_RAD); } void UnitCellDialog::updateCellMatrix() { m_tempCell.setCellMatrix(stringToMatrix(m_ui->cellMatrix->toPlainText())); } void UnitCellDialog::updateFractionalMatrix() { m_tempCell.setFractionalMatrix( stringToMatrix(m_ui->fractionalMatrix->toPlainText())); } bool UnitCellDialog::validateCellMatrix() { return validateMatrixEditor(m_ui->cellMatrix); } bool UnitCellDialog::validateFractionalMatrix() { return validateMatrixEditor(m_ui->fractionalMatrix); } void UnitCellDialog::initializeMatrixEditor(QPlainTextEdit* edit) { #if defined(Q_OS_WIN) || defined(Q_OS_OSX) QFont font("Courier"); #else QFont font("Monospace"); #endif edit->setFont(font); QFontMetrics metrics(font); int minWidth = 3 * metrics.width('0') * (MATRIX_WIDTH + 1); int minHeight = metrics.lineSpacing() * 3; edit->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); edit->setMinimumSize(minWidth, minHeight); } bool UnitCellDialog::validateMatrixEditor(QPlainTextEdit* edit) { bool valid = stringToMatrix(edit->toPlainText()) != Matrix3::Zero(); QPalette pal = edit->palette(); pal.setColor(QPalette::Text, valid ? Qt::black : Qt::red); edit->setPalette(pal); return valid; } QString UnitCellDialog::matrixToString(const Matrix3& mat) { // Transpose into the more intuitive row-vector format. return QString("%1 %2 %3\n%4 %5 %6\n%7 %8 %9") .arg(static_cast(mat(0, 0)), MATRIX_WIDTH, MATRIX_FMT, MATRIX_PREC) .arg(static_cast(mat(1, 0)), MATRIX_WIDTH, MATRIX_FMT, MATRIX_PREC) .arg(static_cast(mat(2, 0)), MATRIX_WIDTH, MATRIX_FMT, MATRIX_PREC) .arg(static_cast(mat(0, 1)), MATRIX_WIDTH, MATRIX_FMT, MATRIX_PREC) .arg(static_cast(mat(1, 1)), MATRIX_WIDTH, MATRIX_FMT, MATRIX_PREC) .arg(static_cast(mat(2, 1)), MATRIX_WIDTH, MATRIX_FMT, MATRIX_PREC) .arg(static_cast(mat(0, 2)), MATRIX_WIDTH, MATRIX_FMT, MATRIX_PREC) .arg(static_cast(mat(1, 2)), MATRIX_WIDTH, MATRIX_FMT, MATRIX_PREC) .arg(static_cast(mat(2, 2)), MATRIX_WIDTH, MATRIX_FMT, MATRIX_PREC); } Matrix3 UnitCellDialog::stringToMatrix(const QString& str) { Matrix3 result; QStringList lines = str.split('\n'); if (lines.size() != 3) return Matrix3::Zero(); bool ok; int row = 0; int col = 0; foreach (const QString& line, lines) { QStringList values = line.split(MATRIX_SEP, QString::SkipEmptyParts); if (values.size() != 3) return Matrix3::Zero(); foreach (const QString& value, values) { Real val = static_cast(value.toDouble(&ok)); if (!ok) return Matrix3::Zero(); // Transpose from the more intuitive row-vector format. result(col++, row) = val; } row++; col = 0; } return result; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/crystal/unitcelldialog.h000066400000000000000000000051371360735163600247610ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_UNITCELLDIALOG_H #define AVOGADRO_QTPLUGINS_UNITCELLDIALOG_H #include #include #include #include class QPlainTextEdit; namespace Avogadro { namespace QtGui { class Molecule; } namespace QtPlugins { namespace Ui { class UnitCellDialog; } /** * @brief The UnitCellDialog class provides a dialog for editing a molecule's * unit cell. */ class UnitCellDialog : public QDialog { Q_OBJECT public: enum Mode { Clean, Invalid, Parameters, CellMatrix, FractionalMatrix }; explicit UnitCellDialog(QWidget* parent = 0); ~UnitCellDialog() override; void setMolecule(QtGui::Molecule* molecule); public slots: void moleculeChanged(unsigned int changes); void parametersEdited(); void cellMatrixEdited(); void fractionalMatrixEdited(); void apply(); void revert(); private: bool isCrystal() const; void setMode(Mode m); void enableParameters(bool e); void enableCellMatrix(bool e); void enableFractionalMatrix(bool e); void enableApply(bool e); void enableRevert(bool e); void blockParametersSignals(bool e); void blockCellMatrixSignals(bool e); void blockFractionalMatrixSignals(bool e); // m_tempCell --> ui void revertParameters(); void revertCellMatrix(); void revertFractionalMatrix(); // ui --> m_tempCell void updateParameters(); void updateCellMatrix(); void updateFractionalMatrix(); bool validateCellMatrix(); bool validateFractionalMatrix(); static void initializeMatrixEditor(QPlainTextEdit* edit); static bool validateMatrixEditor(QPlainTextEdit* edit); static QString matrixToString(const Matrix3& mat); static Matrix3 stringToMatrix(const QString& str); private: Ui::UnitCellDialog* m_ui; QtGui::Molecule* m_molecule; Core::UnitCell m_tempCell; Mode m_mode; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_UNITCELLDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/crystal/unitcelldialog.ui000066400000000000000000000233661360735163600251530ustar00rootroot00000000000000 Avogadro::QtPlugins::UnitCellDialog 0 0 334 431 Unit Cell Editor QFormLayout::AllNonFixedFieldsGrow A: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Å 5 0.010000000000000 1000000.000000000000000 0.100000000000000 3.000000000000000 B: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Å 5 0.010000000000000 1000000.000000000000000 0.100000000000000 3.000000000000000 C: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Å 5 0.010000000000000 1000000.000000000000000 0.100000000000000 3.000000000000000 QFormLayout::AllNonFixedFieldsGrow α: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter β: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter γ: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter ° 5 5.000000000000000 175.000000000000000 90.000000000000000 ° 5 5.000000000000000 175.000000000000000 90.000000000000000 ° 5 5.000000000000000 175.000000000000000 90.000000000000000 Qt::Horizontal Cell Matrix: Qt::Horizontal Fractional Matrix: Qt::Vertical 20 54 Qt::Horizontal &Transform Atoms Qt::Horizontal 40 20 &Apply &Revert &Hide a b c alpha beta gamma cellMatrix fractionalMatrix apply revert pushButton clicked() Avogadro::QtPlugins::UnitCellDialog hide() 309 404 325 372 avogadrolibs-1.93.0/avogadro/qtplugins/crystal/volumescalingdialog.cpp000066400000000000000000000037231360735163600263440ustar00rootroot00000000000000/****************************************************************************** This source file is part of the MoleQueue project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "volumescalingdialog.h" #include "ui_volumescalingdialog.h" namespace Avogadro { namespace QtPlugins { VolumeScalingDialog::VolumeScalingDialog(QWidget* p) : QDialog(p), m_ui(new Ui::VolumeScalingDialog), m_currentVolume(0.) { m_ui->setupUi(this); connect(m_ui->newVolume, SIGNAL(valueChanged(double)), SLOT(volumeEdited())); connect(m_ui->scalingFactor, SIGNAL(valueChanged(double)), SLOT(factorEdited())); } VolumeScalingDialog::~VolumeScalingDialog() { delete m_ui; } void VolumeScalingDialog::setCurrentVolume(double vol) { m_currentVolume = vol; m_ui->currentVolume->setText(QString::number(vol, 'f', 5)); m_ui->newVolume->setValue(vol); } double VolumeScalingDialog::newVolume() const { return m_ui->newVolume->value(); } bool VolumeScalingDialog::transformAtoms() const { return m_ui->transformAtoms->isChecked(); } void VolumeScalingDialog::volumeEdited() { double v = m_ui->newVolume->value(); m_ui->scalingFactor->blockSignals(true); m_ui->scalingFactor->setValue(v / m_currentVolume); m_ui->scalingFactor->blockSignals(false); } void VolumeScalingDialog::factorEdited() { double f = m_ui->scalingFactor->value(); m_ui->newVolume->blockSignals(true); m_ui->newVolume->setValue(m_currentVolume * f); m_ui->newVolume->blockSignals(false); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/crystal/volumescalingdialog.h000066400000000000000000000027061360735163600260110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the MoleQueue project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_VOLUMESCALINGDIALOG_H #define AVOGADRO_QTPLUGINS_VOLUMESCALINGDIALOG_H #include namespace Avogadro { namespace QtPlugins { namespace Ui { class VolumeScalingDialog; } /** * @brief The VolumeScalingDialog class provides a dialog with options for * adjusting the volume of a Molecule's UnitCell. */ class VolumeScalingDialog : public QDialog { Q_OBJECT public: explicit VolumeScalingDialog(QWidget* parent = 0); ~VolumeScalingDialog() override; void setCurrentVolume(double vol); double newVolume() const; bool transformAtoms() const; private slots: void volumeEdited(); void factorEdited(); private: Ui::VolumeScalingDialog* m_ui; double m_currentVolume; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_VOLUMESCALINGDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/crystal/volumescalingdialog.ui000066400000000000000000000116371360735163600262020ustar00rootroot00000000000000 Avogadro::QtPlugins::VolumeScalingDialog 0 0 348 151 Scale Unit Cell Volume Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter New &Volume: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter newVolume &Scaling Factor: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter scalingFactor Current Volume: TextLabel 5 0.010000000000000 9999999.000000000000000 5 0.000010000000000 999999.999990000040270 0.100000000000000 1.000000000000000 Qt::Vertical 20 40 &Transform Atoms Qt::Horizontal 40 20 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok newVolume scalingFactor transformAtoms buttonBox buttonBox accepted() Avogadro::QtPlugins::VolumeScalingDialog accept() 374 222 157 274 buttonBox rejected() Avogadro::QtPlugins::VolumeScalingDialog reject() 385 228 286 274 avogadrolibs-1.93.0/avogadro/qtplugins/customelements/000077500000000000000000000000001360735163600231715ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/customelements/CMakeLists.txt000066400000000000000000000002531360735163600257310ustar00rootroot00000000000000avogadro_plugin(CustomElements "Manipulate custom element types in the current molecule." ExtensionPlugin customelements.h CustomElements "customelements.cpp" ) avogadrolibs-1.93.0/avogadro/qtplugins/customelements/customelements.cpp000066400000000000000000000046171360735163600267540ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "customelements.h" #include #include #include using Avogadro::QtGui::Molecule; namespace Avogadro { namespace QtPlugins { CustomElements::CustomElements(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_molecule(nullptr), m_reassignAction(new QAction(tr("Reassign &Custom Elements..."), this)) { connect(m_reassignAction, SIGNAL(triggered()), SLOT(reassign())); updateReassignAction(); } CustomElements::~CustomElements() { } QString CustomElements::description() const { return tr("Manipulate custom element types in the current molecule."); } QList CustomElements::actions() const { return QList() << m_reassignAction; } QStringList CustomElements::menuPath(QAction*) const { return QStringList() << tr("&Build"); } void CustomElements::setMolecule(QtGui::Molecule* mol) { if (m_molecule != mol) { if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateReassignAction(); } } void CustomElements::moleculeChanged(unsigned int c) { Molecule::MoleculeChanges changes = static_cast(c); if (changes & Molecule::Atoms && (changes & (Molecule::Added | Molecule::Modified))) { updateReassignAction(); } } void CustomElements::reassign() { if (m_molecule) { QtGui::CustomElementDialog::resolve(qobject_cast(parent()), *m_molecule); } } void CustomElements::updateReassignAction() { m_reassignAction->setEnabled(m_molecule && m_molecule->hasCustomElements()); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/customelements/customelements.h000066400000000000000000000030731360735163600264140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_CUSTOMELEMENTS_H #define AVOGADRO_QTPLUGINS_CUSTOMELEMENTS_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Manipulate custom element types in the current molecule. */ class CustomElements : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit CustomElements(QObject* parent_ = 0); ~CustomElements() override; QString name() const override { return tr("Custom Elements"); } QString description() const override; QList actions() const override; QStringList menuPath(QAction*) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; private slots: void moleculeChanged(unsigned int changes); void reassign(); private: QtGui::Molecule* m_molecule; QAction* m_reassignAction; void updateReassignAction(); }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_CUSTOMELEMENTS_H avogadrolibs-1.93.0/avogadro/qtplugins/editor/000077500000000000000000000000001360735163600214105ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/editor/CMakeLists.txt000066400000000000000000000004751360735163600241560ustar00rootroot00000000000000set(editor_srcs editor.cpp editortoolwidget.cpp ) set(editor_uis editortoolwidget.ui ) set(editor_rcs editor.qrc ) avogadro_plugin(Editor "Editor tool" ToolPlugin editor.h Editor "${editor_srcs}" "${editor_uis}" "${editor_rcs}" ) target_link_libraries(Editor LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/editor/editor.cpp000066400000000000000000000440351360735163600234100ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-13 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "editor.h" #include "editortoolwidget.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace { const unsigned char INVALID_ATOMIC_NUMBER = std::numeric_limits::max(); } namespace Avogadro { namespace QtPlugins { using QtGui::RWAtom; using QtGui::RWBond; using QtGui::Molecule; using QtGui::RWMolecule; using QtOpenGL::GLWidget; using Avogadro::Rendering::GeometryNode; using Avogadro::Rendering::GroupNode; using Avogadro::Rendering::Identifier; using Avogadro::Rendering::TextLabel2D; using Avogadro::Rendering::TextLabel3D; using Avogadro::Rendering::TextProperties; using Avogadro::Core::Elements; Editor::Editor(QObject* parent_) : QtGui::ToolPlugin(parent_), m_activateAction(new QAction(this)), m_molecule(nullptr), m_glWidget(nullptr), m_renderer(nullptr), m_toolWidget(new EditorToolWidget(qobject_cast(parent_))), m_pressedButtons(Qt::NoButton), m_clickedAtomicNumber(INVALID_ATOMIC_NUMBER), m_bondAdded(false), m_fixValenceLater(false) { m_activateAction->setText(tr("Draw")); m_activateAction->setIcon(QIcon(":/icons/editor.png")); reset(); } Editor::~Editor() { } QWidget* Editor::toolWidget() const { return m_toolWidget; } QUndoCommand* Editor::mousePressEvent(QMouseEvent* e) { clearKeyPressBuffer(); if (!m_renderer || !m_molecule) return nullptr; updatePressedButtons(e, false); m_clickPosition = e->pos(); if (m_pressedButtons & Qt::LeftButton) { m_clickedObject = m_renderer->hit(e->pos().x(), e->pos().y()); switch (m_clickedObject.type) { case Rendering::InvalidType: m_molecule->beginMergeMode(tr("Draw Atom")); emptyLeftClick(e); return nullptr; case Rendering::AtomType: // We don't know yet if we are drawing a bond/atom or replacing an atom // unfortunately... m_molecule->beginMergeMode(tr("Draw")); atomLeftClick(e); return nullptr; case Rendering::BondType: m_molecule->beginMergeMode(tr("Change Bond Type")); bondLeftClick(e); return nullptr; } } else if (m_pressedButtons & Qt::RightButton) { m_clickedObject = m_renderer->hit(e->pos().x(), e->pos().y()); switch (m_clickedObject.type) { case Rendering::AtomType: m_molecule->beginMergeMode(tr("Remove Atom")); atomRightClick(e); return nullptr; case Rendering::BondType: m_molecule->beginMergeMode(tr("Remove Bond")); bondRightClick(e); return nullptr; default: break; } } return nullptr; } QUndoCommand* Editor::mouseReleaseEvent(QMouseEvent* e) { if (!m_renderer || !m_molecule) return nullptr; updatePressedButtons(e, true); if (m_clickedObject.type == Rendering::InvalidType) return nullptr; switch (e->button()) { case Qt::LeftButton: case Qt::RightButton: reset(); e->accept(); m_molecule->endMergeMode(); // Let's cover all possible changes - the undo stack won't update // without this m_molecule->emitChanged(Molecule::Atoms | Molecule::Bonds | Molecule::Added | Molecule::Removed | Molecule::Modified); break; default: break; } return nullptr; } QUndoCommand* Editor::mouseMoveEvent(QMouseEvent* e) { if (!m_renderer) return nullptr; if (m_pressedButtons & Qt::LeftButton) if (m_clickedObject.type == Rendering::AtomType) atomLeftDrag(e); return nullptr; } QUndoCommand* Editor::keyPressEvent(QKeyEvent* e) { if (e->text().isEmpty()) return nullptr; e->accept(); // Set a timer to clear the buffer on first keypress: if (m_keyPressBuffer.isEmpty()) QTimer::singleShot(2000, this, SLOT(clearKeyPressBuffer())); m_keyPressBuffer.append(m_keyPressBuffer.isEmpty() ? e->text().toUpper() : e->text().toLower()); if (m_keyPressBuffer.size() >= 3) { clearKeyPressBuffer(); return nullptr; } bool ok = false; int atomicNum; int bondOrder = m_keyPressBuffer.toInt(&ok); if (ok && bondOrder > 0 && bondOrder <= 4) { m_toolWidget->setBondOrder(static_cast(bondOrder)); } else { atomicNum = Core::Elements::atomicNumberFromSymbol(m_keyPressBuffer.toStdString()); if (atomicNum != Avogadro::InvalidElement) m_toolWidget->setAtomicNumber(static_cast(atomicNum)); } return nullptr; } void Editor::draw(Rendering::GroupNode& node) { if (fabs(m_bondDistance) < 0.3) return; GeometryNode* geo = new GeometryNode; node.addChild(geo); // Determine the field width. Negate it to indicate left-alignment. QString distanceLabel = tr("Distance:"); int labelWidth = -1 * distanceLabel.size(); QString overlayText = tr("Distance: %L1 Å").arg(m_bondDistance, 10, 'f', 3); TextProperties overlayTProp; overlayTProp.setFontFamily(TextProperties::Mono); overlayTProp.setColorRgb(64, 255, 220); overlayTProp.setAlign(TextProperties::HLeft, TextProperties::VBottom); TextLabel2D* label = new TextLabel2D; label->setText(overlayText.toStdString()); label->setTextProperties(overlayTProp); label->setRenderPass(Rendering::Overlay2DPass); label->setAnchor(Vector2i(10, 10)); geo->addDrawable(label); } void Editor::updatePressedButtons(QMouseEvent* e, bool release) { /// @todo Use modifier keys on mac if (release) m_pressedButtons &= e->buttons(); else m_pressedButtons |= e->buttons(); } void Editor::reset() { if (m_fixValenceLater) { Index a1 = m_newObject.index; Index a2 = m_bondedAtom.index; Index a3 = m_clickedObject.index; // order them if (a1 > a2) std::swap(a1, a2); if (a1 > a3) std::swap(a1, a3); if (a2 > a3) std::swap(a2, a3); // This preserves the order so they are adjusted in order. Core::Array atomIds; atomIds.push_back(a3); atomIds.push_back(a2); atomIds.push_back(a1); // This function checks to make sure the ids are valid, so no need // to check out here. m_molecule->adjustHydrogens(atomIds); Molecule::MoleculeChanges changes = Molecule::Atoms | Molecule::Added; changes |= Molecule::Bonds | Molecule::Added | Molecule::Removed; m_molecule->emitChanged(changes); m_fixValenceLater = false; } m_clickedObject = Identifier(); m_newObject = Identifier(); m_bondedAtom = Identifier(); m_clickPosition = QPoint(); m_pressedButtons = Qt::NoButton; m_clickedAtomicNumber = INVALID_ATOMIC_NUMBER; m_bondAdded = false; m_bondDistance = 0.0f; emit drawablesChanged(); } void Editor::emptyLeftClick(QMouseEvent* e) { // Add an atom at the clicked position Vector2f windowPos(e->localPos().x(), e->localPos().y()); Vector3f atomPos = m_renderer->camera().unProject(windowPos); RWAtom newAtom = m_molecule->addAtom(m_toolWidget->atomicNumber(), atomPos.cast()); Molecule::MoleculeChanges changes = Molecule::Atoms | Molecule::Modified; if (m_toolWidget->adjustHydrogens()) { m_fixValenceLater = true; } // Update the clicked object m_clickedObject.type = Rendering::AtomType; m_clickedObject.molecule = m_molecule; m_clickedObject.index = newAtom.index(); // Emit changed signal m_molecule->emitChanged(changes); e->accept(); } void Editor::atomLeftClick(QMouseEvent* e) { RWAtom atom = m_molecule->atom(m_clickedObject.index); if (atom.isValid()) { // Store the original atomic number of the clicked atom before updating it. unsigned char atomicNumber = m_toolWidget->atomicNumber(); if (atom.atomicNumber() != atomicNumber) { m_clickedAtomicNumber = atom.atomicNumber(); atom.setAtomicNumber(atomicNumber); Molecule::MoleculeChanges changes = Molecule::Atoms | Molecule::Modified; if (m_toolWidget->adjustHydrogens()) m_fixValenceLater = true; m_molecule->emitChanged(changes); } e->accept(); } } void Editor::bondLeftClick(QMouseEvent* e) { RWBond bond = m_molecule->bond(m_clickedObject.index); bond.setOrder(static_cast((bond.order() % 3) + 1)); Molecule::MoleculeChanges changes = Molecule::Bonds | Molecule::Modified; if (m_toolWidget->adjustHydrogens()) { // change for the new bond order RWAtom atom1 = bond.atom1(); RWAtom atom2 = bond.atom2(); QtGui::HydrogenTools::adjustHydrogens(atom1); QtGui::HydrogenTools::adjustHydrogens(atom2); changes |= Molecule::Atoms | Molecule::Added | Molecule::Removed; } m_molecule->emitChanged(changes); e->accept(); } void Editor::atomRightClick(QMouseEvent* e) { e->accept(); m_molecule->removeAtom(m_clickedObject.index); m_molecule->emitChanged(Molecule::Atoms | Molecule::Removed); } void Editor::bondRightClick(QMouseEvent* e) { e->accept(); m_molecule->removeBond(m_clickedObject.index); m_molecule->emitChanged(Molecule::Bonds | Molecule::Removed); } int expectedBondOrder(RWAtom atom1, RWAtom atom2) { Vector3 bondVector = atom1.position3d() - atom2.position3d(); double bondDistance = bondVector.norm(); double radiiSum; radiiSum = Elements::radiusCovalent(atom1.atomicNumber()) + Elements::radiusCovalent(atom2.atomicNumber()); double ratio = bondDistance / radiiSum; int bondOrder; if (ratio > 1.0) bondOrder = 1; else if (ratio > 0.91 && ratio < 1.0) bondOrder = 2; else bondOrder = 3; return bondOrder; } void Editor::atomLeftDrag(QMouseEvent* e) { // Always accept move events when atoms are clicked: e->accept(); // Build up a MoleculeChanges bitfield Molecule::MoleculeChanges changes = Molecule::NoChange; // Get the list of hits at the current mouse position: std::multimap hits = m_renderer->hits(e->pos().x(), e->pos().y()); // Check if the previously clicked atom is still under the mouse. float depth = -1.0f; for (std::multimap::const_iterator it = hits.begin(), itEnd = hits.end(); it != itEnd; ++it) { if (it->second == m_clickedObject) { depth = it->first; break; } } // If the clicked atom is under the mouse... if (depth >= 0.f) { // ...and we've created a new atom, remove the new atom and reset the // clicked atom's atomic number if (m_newObject.type == Rendering::AtomType && m_molecule == m_newObject.molecule) { m_molecule->removeAtom(m_newObject.index); changes |= Molecule::Atoms | Molecule::Bonds | Molecule::Removed; m_newObject = Identifier(); RWAtom atom = m_molecule->atom(m_clickedObject.index); if (atom.atomicNumber() != m_toolWidget->atomicNumber()) { m_clickedAtomicNumber = atom.atomicNumber(); atom.setAtomicNumber(m_toolWidget->atomicNumber()); changes |= Molecule::Atoms | Molecule::Modified; } m_molecule->emitChanged(changes); return; } // If there is no new atom, do nothing. return; } // If we get here, the clicked atom is no longer under the cursor. // If the clicked atom's identity has been changed from the initial click, // reset its atomic number if (m_clickedAtomicNumber != INVALID_ATOMIC_NUMBER) { RWAtom clickedAtom = m_molecule->atom(m_clickedObject.index); clickedAtom.setAtomicNumber(m_clickedAtomicNumber); m_clickedAtomicNumber = INVALID_ATOMIC_NUMBER; changes |= Molecule::Atoms | Molecule::Modified; } // Does a bonded atom already exist? if (m_bondedAtom.isValid()) { // Is it still under the mouse? depth = -1.0f; for (std::multimap::const_iterator it = hits.begin(), itEnd = hits.end(); it != itEnd; ++it) { if (it->second == m_bondedAtom) { depth = it->first; break; } } // If the bonded atom is no longer under the mouse, remove the bond. if (depth < 0.f) { RWAtom bondedAtom = m_molecule->atom(m_bondedAtom.index); RWAtom clickedAtom = m_molecule->atom(m_clickedObject.index); if (m_bondAdded) m_molecule->removeBond(clickedAtom, bondedAtom); changes |= Molecule::Bonds | Molecule::Removed; m_bondedAtom = Identifier(); m_bondAdded = false; } } // Is there another atom under the cursor, besides newAtom? If so, we'll draw // a bond to it. Identifier atomToBond; for (std::multimap::const_iterator it = hits.begin(), itEnd = hits.end(); it != itEnd; ++it) { const Identifier& ident = it->second; // Are we on an atom if (ident.type == Rendering::AtomType) // besides the one that was clicked or a new atom if (ident != m_newObject && ident != m_clickedObject) { // then we have an atom that we should be drawing a bond to. atomToBond = ident; break; } } if (atomToBond.isValid()) { // If we have a newAtom, destroy it if (m_newObject.type == Rendering::AtomType) { m_molecule->removeAtom(m_newObject.index); changes |= Molecule::Atoms | Molecule::Bonds | Molecule::Removed; m_newObject = Identifier(); } // Skip the rest of this block if atomToBond is already bonded if (m_bondedAtom != atomToBond) { // If the currently bonded atom exists, break the bond if (m_bondedAtom.isValid()) { if (m_molecule->removeBond(m_molecule->atom(m_bondedAtom.index), m_molecule->atom(m_clickedObject.index))) { ; changes |= Molecule::Bonds | Molecule::Removed; } m_bondedAtom = Identifier(); } // Create a new bond between clicked atom and atomToBond. RWAtom clickedAtom = m_molecule->atom(m_clickedObject.index); RWAtom bondedAtom = m_molecule->atom(atomToBond.index); if (!m_molecule->bond(clickedAtom, bondedAtom).isValid()) { int bondOrder = m_toolWidget->bondOrder(); if (bondOrder == 0) { // automatic - guess the size bondOrder = expectedBondOrder(clickedAtom, bondedAtom); } m_molecule->addBond(clickedAtom, bondedAtom, bondOrder); m_bondAdded = true; } m_bondedAtom = atomToBond; changes |= Molecule::Bonds | Molecule::Added; } m_molecule->emitChanged(changes); return; } // If we make it here, the cursor is not over any existing atom, with the // possible exception of a new atom we've added that's bonded to clicked atom. // We just need to create the new atom (if we haven't already), then update // its position. RWAtom newAtom; if (!m_newObject.isValid()) { // Add a new atom bonded to the clicked atom RWAtom clickedAtom = m_molecule->atom(m_clickedObject.index); newAtom = m_molecule->addAtom(m_toolWidget->atomicNumber()); // Handle the automatic bond order int bondOrder = m_toolWidget->bondOrder(); if (bondOrder == 0) { // automatic - guess the size bondOrder = expectedBondOrder(clickedAtom, newAtom); } m_molecule->addBond(clickedAtom, newAtom, bondOrder); // now if we need to adjust hydrogens, do it if (m_toolWidget->adjustHydrogens()) m_fixValenceLater = true; changes |= Molecule::Atoms | Molecule::Bonds | Molecule::Added; m_newObject.type = Rendering::AtomType; m_newObject.index = newAtom.index(); const Core::Molecule* mol = &m_molecule->molecule(); m_newObject.molecule = mol; } else if (m_newObject.type == Rendering::AtomType) { // Grab the previously created atom newAtom = m_molecule->atom(m_newObject.index); } else { // Shouldn't happen qWarning() << "Editor::atomLeftDrag: m_newObject already set and not an " "atom? This is a bug."; } if (newAtom.isValid()) { Vector2f windowPos(e->localPos().x(), e->localPos().y()); Vector3f oldPos(newAtom.position3d().cast()); Vector3f newPos = m_renderer->camera().unProject(windowPos, oldPos); newAtom.setPosition3d(newPos.cast()); changes |= Molecule::Atoms | Molecule::Modified; RWAtom clickedAtom = m_molecule->atom(m_clickedObject.index); if (clickedAtom.isValid()) { Vector3f bondVector = clickedAtom.position3d().cast() - newPos; m_bondDistance = bondVector.norm(); // need to check if bond order needs to change if (m_toolWidget->bondOrder() == 0) { // automatic RWBond bond = m_molecule->bond(newAtom, clickedAtom); if (bond.isValid()) { int bondOrder = expectedBondOrder(newAtom, clickedAtom); if (bondOrder != bond.order()) bond.setOrder(bondOrder); changes |= Molecule::Bonds | Molecule::Modified; } } } } m_molecule->emitChanged(changes); return; } } // namespace QtOpenGL } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/editor/editor.h000066400000000000000000000064271360735163600230600ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-13 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_EDITOR_H #define AVOGADRO_QTPLUGINS_EDITOR_H #include #include #include #include #include namespace Avogadro { namespace QtPlugins { class EditorToolWidget; /** * @class Editor editor.h * @brief The Editor tool extends and modifies molecules. * @author David C. Lonie */ class Editor : public QtGui::ToolPlugin { Q_OBJECT public: explicit Editor(QObject* parent_ = nullptr); ~Editor() override; QString name() const override { return tr("Editor tool"); } QString description() const override { return tr("Editor tool"); } unsigned char priority() const override { return 20; } QAction* activateAction() const override { return m_activateAction; } QWidget* toolWidget() const override; void setMolecule(QtGui::Molecule* mol) override { if (mol) m_molecule = mol->undoMolecule(); } void setEditMolecule(QtGui::RWMolecule* mol) override { m_molecule = mol; } void setGLWidget(QtOpenGL::GLWidget* widget) override { m_glWidget = widget; } void setGLRenderer(Rendering::GLRenderer* renderer) override { m_renderer = renderer; } QUndoCommand* mousePressEvent(QMouseEvent* e) override; QUndoCommand* mouseReleaseEvent(QMouseEvent* e) override; QUndoCommand* mouseMoveEvent(QMouseEvent* e) override; QUndoCommand* keyPressEvent(QKeyEvent* e) override; void draw(Rendering::GroupNode& node) override; private slots: void clearKeyPressBuffer() { m_keyPressBuffer.clear(); } private: /** * Update the currently pressed buttons, accounting for modifier keys. * @todo Account for modifier keys. */ void updatePressedButtons(QMouseEvent*, bool release); /** * Reset all state for this tool. */ void reset(); void emptyLeftClick(QMouseEvent* e); void atomLeftClick(QMouseEvent* e); void bondLeftClick(QMouseEvent* e); void atomRightClick(QMouseEvent* e); void bondRightClick(QMouseEvent* e); void atomLeftDrag(QMouseEvent* e); QAction* m_activateAction; QtGui::RWMolecule* m_molecule; QtOpenGL::GLWidget* m_glWidget; Rendering::GLRenderer* m_renderer; EditorToolWidget* m_toolWidget; Rendering::Identifier m_clickedObject; Rendering::Identifier m_newObject; Rendering::Identifier m_bondedAtom; Qt::MouseButtons m_pressedButtons; QPoint m_clickPosition; unsigned char m_clickedAtomicNumber; bool m_bondAdded; bool m_fixValenceLater; QString m_keyPressBuffer; Real m_bondDistance; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_NAVIGATOR_H avogadrolibs-1.93.0/avogadro/qtplugins/editor/editor.png000066400000000000000000000021011360735163600233760ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxKhp_O46]v2a(d'lCAADMDO<ţ q9|u7۵Mgݖ֩[MO| 6CyKsb* R捌?'"|1lr;'+ +;cO{m[Eֆ)Gzz/;ؖSAl EDqJw"VJg`$> Z 0Ms.#P@ WDŽ4D@j#SsQ@, )M 1@"&_#4#xXXDl.$0& &jLBQ^PD>.Ë"c)(Ep@:CQYт,%R:&;7 #ȯ-KId1L8\\U6hJe!Ï10ypWpC?`fCA ! Q#|"#WLDŽ`9zk3w 6p(A62b͈vD4!vD3lt.#?M rPӔ!$ց ^!^OګAȳo1 %6, SoZ`Sۄd">:<T&Wo#@%UswBrhXqW3@kk+466BooR܌أ  =fkƅi$ ~f 4|>~t݇x<_&&&[&`N}|莝A h1;eJ _<66 3H "pDѕ@.3zrW'Ǐy>>)0~Ú+Ճ8 !l=t{V`ޓRD$ ,avj^H&/ C}IBIENDB`avogadrolibs-1.93.0/avogadro/qtplugins/editor/editor.qrc000066400000000000000000000002011360735163600233760ustar00rootroot00000000000000 editor.png editor@2x.png avogadrolibs-1.93.0/avogadro/qtplugins/editor/editor@2x.png000066400000000000000000000042051360735163600237570ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp _ڶPLTEjee\O߱hF֬]igD6ffjáQ2g=@@A?>@ɲX䍍uuv[[T[XTgghZXU遁YoopRRSiijUSG[ZTdddNMGJHD݀r>[XS646[>TUV__`ccd¹2/1h{{{qrt||}y{}mmnۮg\[TЎSSTYYZ524>=?BAA:8:SRGKKLdde_sttSNG\\\ZZYaabv5OOP~Kllmj^Ld]]^DDEѧdCBCwy{423pqs]WHYWQ[:9:\\]uwy634zzz`hfbYZ[ǬNUVW뱠YSSIͤcVUPsj7XVQYTTUastwXXZDCDHFCJHCttwNKESSULKM+8tRNS .CIDATxڤW[Q,(bdIBGzV E@Q8Mln3sy m|̏K|i%:ͣLZH|ߗ8g.M3f# Q kg/ +337̜/!|dfH H M| !.,>U0~"Q0Є`$! a^B"`3%@` `  Q1! $D,異FraD#0!|\BQa-nq Dh~wW@pi2ŗ"'WMJ Y+ܝ|e  n5bc;NpB۶Yp_Oܿ#>bwśޚ #include #include #include namespace { // The ItemData of the "Other" entry in the combo box const int ELEMENT_SELECTOR_TAG = 255; } namespace Avogadro { namespace QtPlugins { EditorToolWidget::EditorToolWidget(QWidget* parent_) : QWidget(parent_), m_ui(new Ui::EditorToolWidget), m_elementSelector(nullptr), m_currentElement(6) { m_ui->setupUi(this); buildElements(); buildBondOrders(); connect(m_ui->element, SIGNAL(currentIndexChanged(int)), this, SLOT(elementChanged(int))); // Show carbon at startup. selectElement(6); } EditorToolWidget::~EditorToolWidget() { delete m_ui; } void EditorToolWidget::setAtomicNumber(unsigned char atomicNum) { selectElement(atomicNum); if (m_elementSelector) m_elementSelector->setElement(static_cast(atomicNum)); } unsigned char EditorToolWidget::atomicNumber() const { int curIndex = m_ui->element->currentIndex(); QVariant itemData = m_ui->element->itemData(curIndex); if (!itemData.isValid()) return 0; unsigned char atomicNum = static_cast(itemData.toUInt()); // "Other..." selected.... if (atomicNum == 0 && m_elementSelector) atomicNum = static_cast(m_elementSelector->element()); return atomicNum; } void EditorToolWidget::setBondOrder(unsigned char order) { if (order < m_ui->bondOrder->count()) m_ui->bondOrder->setCurrentIndex(static_cast(order)); } unsigned char EditorToolWidget::bondOrder() const { return static_cast(m_ui->bondOrder->currentIndex()); } bool EditorToolWidget::adjustHydrogens() const { return m_ui->adjustHydrogens->isChecked(); } void EditorToolWidget::elementChanged(int index) { QVariant itemData = m_ui->element->itemData(index); if (itemData.isValid()) { if (itemData.toInt() == ELEMENT_SELECTOR_TAG) { if (!m_elementSelector) { m_elementSelector = new QtGui::PeriodicTableView(this); connect(m_elementSelector, SIGNAL(elementChanged(int)), this, SLOT(elementSelectedFromTable(int))); } m_elementSelector->setElement(m_currentElement); m_elementSelector->show(); } else { if (m_elementSelector) m_elementSelector->setElement(itemData.toInt()); m_currentElement = static_cast(itemData.toInt()); } } } void EditorToolWidget::updateElementCombo() { // Build set of all elements: QList allElements; allElements << m_defaultElements; allElements << m_userElements; qSort(allElements); // Cache selected atomic number for later QVariant selectedData; int curIndex = m_ui->element->currentIndex(); if (curIndex >= 0) selectedData = m_ui->element->itemData(curIndex); // Clear and repopulate combo m_ui->element->clear(); foreach (unsigned char atomicNum, allElements) { m_ui->element->addItem( QString("%1 (%2)").arg(Core::Elements::name(atomicNum)).arg(atomicNum), atomicNum); } m_ui->element->insertSeparator(m_ui->element->count()); m_ui->element->addItem(tr("Other..."), ELEMENT_SELECTOR_TAG); // Reset the element if it still exists selectElement(static_cast( selectedData.isValid() ? selectedData.toInt() : -1)); } void EditorToolWidget::addUserElement(unsigned char element) { // Never add any of the common elements to the user list. if (m_defaultElements.contains(element)) return; // If the element is already in the user list, move it to the back of the // list. if (m_userElements.removeOne(element)) { m_userElements << element; return; } m_userElements << element; // Limit the number of user elements /// @todo Make this number of user elements configurable. while (m_userElements.size() > 15) m_userElements.pop_front(); updateElementCombo(); saveElements(); } void EditorToolWidget::elementSelectedFromTable(int element) { addUserElement(static_cast(element)); selectElement(static_cast(element)); } void EditorToolWidget::selectElement(unsigned char element) { int curIndex = element > 0 ? m_ui->element->findData(element) : -1; if (curIndex >= 0) m_ui->element->setCurrentIndex(curIndex); else { addUserElement(element); int curIndex = m_ui->element->findData(element); if (curIndex >= 0) m_ui->element->setCurrentIndex(curIndex); // if we can't find it after adding it, something is very wrong! } } void EditorToolWidget::buildElements() { // Common elements that are always shown in the combo box. if (m_defaultElements.isEmpty()) { m_defaultElements.append(1); // Hydrogen m_defaultElements.append(5); // Boron m_defaultElements.append(6); // Carbon m_defaultElements.append(7); // Nitrogen m_defaultElements.append(8); // Oxygen m_defaultElements.append(9); // Fluorine m_defaultElements.append(15); // Phosphorus m_defaultElements.append(16); // Sulfur m_defaultElements.append(17); // Chlorine m_defaultElements.append(35); // Bromine } // User-added elements QVariantList userElementsVar = QSettings().value("editortool/userElements").toList(); foreach (const QVariant& var, userElementsVar) m_userElements << static_cast(var.toUInt()); updateElementCombo(); } void EditorToolWidget::buildBondOrders() { m_ui->bondOrder->clear(); m_ui->bondOrder->addItem(tr("Automatic"), 0); m_ui->bondOrder->addItem(tr("Single"), 1); m_ui->bondOrder->addItem(tr("Double"), 2); m_ui->bondOrder->addItem(tr("Triple"), 3); } void EditorToolWidget::saveElements() { QVariantList atomicNums; for (int i = 0; i < m_userElements.size(); ++i) atomicNums << QVariant(m_userElements[i]); QSettings().setValue("editortool/userElements", atomicNums); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/editor/editortoolwidget.h000066400000000000000000000034501360735163600251530ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_EDITORTOOLWIDGET_H #define AVOGADRO_QTPLUGINS_EDITORTOOLWIDGET_H #include namespace Avogadro { namespace QtGui { class PeriodicTableView; } namespace QtPlugins { namespace Ui { class EditorToolWidget; } class EditorToolWidget : public QWidget { Q_OBJECT public: explicit EditorToolWidget(QWidget* parent_ = 0); ~EditorToolWidget() override; void setAtomicNumber(unsigned char atomicNum); unsigned char atomicNumber() const; void setBondOrder(unsigned char order); unsigned char bondOrder() const; bool adjustHydrogens() const; private slots: void elementChanged(int index); void updateElementCombo(); void addUserElement(unsigned char element); void elementSelectedFromTable(int element); void selectElement(unsigned char element); private: void buildElements(); void buildBondOrders(); void saveElements(); Ui::EditorToolWidget* m_ui; QtGui::PeriodicTableView* m_elementSelector; QList m_defaultElements; QList m_userElements; unsigned char m_currentElement; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_EDITORTOOLWIDGET_H avogadrolibs-1.93.0/avogadro/qtplugins/editor/editortoolwidget.ui000066400000000000000000000025621360735163600253440ustar00rootroot00000000000000 Avogadro::QtPlugins::EditorToolWidget 0 0 400 300 Form QFormLayout::ExpandingFieldsGrow Element: Bond Order: Adjust Hydrogens true avogadrolibs-1.93.0/avogadro/qtplugins/force/000077500000000000000000000000001360735163600212205ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/force/CMakeLists.txt000066400000000000000000000002401360735163600237540ustar00rootroot00000000000000avogadro_plugin(Force "Force rendering scheme" ScenePlugin force.h Force force.cpp "") target_link_libraries(Force LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/force/force.cpp000066400000000000000000000040011360735163600230150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "force.h" #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Array; using Core::Elements; using Core::Molecule; using Rendering::ArrowGeometry; using Rendering::GeometryNode; using Rendering::GroupNode; Force::Force(QObject* p) : ScenePlugin(p), m_enabled(false) {} Force::~Force() {} void Force::process(const Molecule& molecule, Rendering::GroupNode& node) { GeometryNode* geometry = new GeometryNode; node.addChild(geometry); ArrowGeometry* arrows = new ArrowGeometry; arrows->identifier().molecule = &molecule; geometry->addDrawable(arrows); for (Index i = 0; i < molecule.atomCount(); ++i) { Core::Atom atom1 = molecule.atom(i); Vector3f pos1 = atom1.position3d().cast(); Vector3f forceVector = atom1.forceVector().cast(); arrows->addSingleArrow(pos1, pos1 + forceVector); } } bool Force::isEnabled() const { return m_enabled; } void Force::setEnabled(bool enable) { m_enabled = enable; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/force/force.h000066400000000000000000000027271360735163600224770ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_WIREFRAME_H #define AVOGADRO_QTPLUGINS_WIREFRAME_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Render a molecule in the wireframe style. */ class Force : public QtGui::ScenePlugin { Q_OBJECT public: explicit Force(QObject* parent = 0); ~Force() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("Force"); } QString description() const override { return tr( "Render the force field visualizations for the atoms of the molecule."); } bool isEnabled() const override; void setEnabled(bool enable) override; private: bool m_enabled; }; } // end namespace QtPlugins } // end namespace Avogadro #endif // AVOGADRO_QTPLUGINS_WIREFRAME_H avogadrolibs-1.93.0/avogadro/qtplugins/gamessinput/000077500000000000000000000000001360735163600224615ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/gamessinput/CMakeLists.txt000066400000000000000000000006171360735163600252250ustar00rootroot00000000000000find_package(MoleQueue) include_directories(${MoleQueue_INCLUDE_DIRS}) # Extension set(gamessinput_srcs gamessinputdialog.cpp gamesshighlighter.cpp gamessinput.cpp ) avogadro_plugin(GamessInput "GAMESS input file generation" ExtensionPlugin gamessinput.h GamessInput "${gamessinput_srcs}" gamessinputdialog.ui ) target_link_libraries(GamessInput LINK_PRIVATE AvogadroMoleQueue) avogadrolibs-1.93.0/avogadro/qtplugins/gamessinput/gamesshighlighter.cpp000066400000000000000000000214371360735163600266720ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2009 Marcus D. Hanwell This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gamesshighlighter.h" namespace Avogadro { namespace QtPlugins { GamessHighlighter::GamessHighlighter(QTextDocument* parent_) : QSyntaxHighlighter(parent_) { HighlightingRule rule; m_keywordFormat.setForeground(Qt::darkBlue); m_keywordFormat.setFontWeight(QFont::Bold); m_keywords << "\\s\\$BASIS\\b" << "\\s\\$CONTRL\\b" << "\\s\\$SYSTEM\\b" << "\\s\\$ZMAT\\b" << "\\s\\$LIBE\\b" << "\\s\\$SCF\\b" << "\\s\\$SCFMI\\b" << "\\s\\$DFT\\b" << "\\s\\$TDDFT\\b" << "\\s\\$CIS\\b" << "\\s\\$CISVEC\\b" << "\\s\\$MP2\\b" << "\\s\\$CCINP\\b" << "\\s\\$EOMINP\\b" << "\\s\\$MOPAC\\b" << "\\s\\$GUESS\\b" << "\\s\\$VEC\\b" << "\\s\\$MOFRZ\\b" << "\\s\\$STATPT\\b" << "\\s\\$TRUDGE\\b" << "\\s\\$TRURST\\b" << "\\s\\$FORCE\\b" << "\\s\\$CPHF\\b" << "\\s\\$MASS\\b" << "\\s\\$HESS\\b" << "\\s\\$GRAD\\b" << "\\s\\$DIPDR\\b" << "\\s\\$VIB\\b" << "\\s\\$VIB2\\b" << "\\s\\$VSCF\\b" << "\\s\\$VIBSCF\\b" << "\\s\\$GAMMA\\b" << "\\s\\$EQGEOM\\b" << "\\s\\$HLOWT\\b" << "\\s\\$GLOWT\\b" << "\\s\\$IRC\\b" << "\\s\\$DRC\\b" << "\\s\\$MEX\\b" << "\\s\\$MD\\b" << "\\s\\$RDF\\b" << "\\s\\$GLOBOP\\b" << "\\s\\$GRADEX\\b" << "\\s\\$SURF\\b" << "\\s\\$LOCAL\\b" << "\\s\\$TWOEI\\b" << "\\s\\$TRUNCN\\b" << "\\s\\$ELMOM\\b" << "\\s\\$ELPOT\\b" << "\\s\\$ELDENS\\b" << "\\s\\$ELFLDG\\b" << "\\s\\$POINTS\\b" << "\\s\\$GRID\\b" << "\\s\\$PDC\\b" << "\\s\\$MOLGRF\\b" << "\\s\\$STONE\\b" << "\\s\\$RAMAN\\b" << "\\s\\$ALPDR\\b" << "\\s\\$NMR\\b" << "\\s\\$MOROKM\\b" << "\\s\\$FFCALC\\b" << "\\s\\$TDHF\\b" << "\\s\\$TDHFX\\b" << "\\s\\$EFRAG\\b" << "\\s\\$FRAGNAME\\b" << "\\s\\$FRGRPL\\b" << "\\s\\$EWALD\\b" << "\\s\\$MAKEFP\\b" << "\\s\\$PRTEFP\\b" << "\\s\\$DAMP\\b" << "\\s\\$DAMPGS\\b" << "\\s\\$PCM\\b" << "\\s\\$PCMGRD\\b" << "\\s\\$PCMCAV\\b" << "\\s\\$TESCAV\\b" << "\\s\\$NEWCAV\\b" << "\\s\\$IEFPCM\\b" << "\\s\\$PCMITR\\b" << "\\s\\$DISBS\\b" << "\\s\\$DISREP\\b" << "\\s\\$SVP\\b" << "\\s\\$SVPIRF\\b" << "\\s\\$COSGMS\\b" << "\\s\\$SCRF\\b" << "\\s\\$ECP\\b" << "\\s\\$MCP\\b" << "\\s\\$RELWFN\\b" << "\\s\\$EFIELD\\b" << "\\s\\$INTGRL\\b" << "\\s\\$FMM\\b" << "\\s\\$TRANS\\b" << "\\s\\$FMO\\b" << "\\s\\$FMOPRP\\b" << "\\s\\$FMOXYZ\\b" << "\\s\\$OPTFMO\\b" << "\\s\\$FMOHYB\\b" << "\\s\\$FMOBND\\b" << "\\s\\$FMOENM\\b" << "\\s\\$FMOEND\\b" << "\\s\\$OPTRST\\b" << "\\s\\$GDDI\\b" << "\\s\\$ELG\\b" << "\\s\\$DANDC\\b" << "\\s\\$DCCORR\\b" << "\\s\\$SUBSCF\\b" << "\\s\\$SUBCOR\\b" << "\\s\\$MP2RES\\b" << "\\s\\$CCRES\\b" << "\\s\\$CIINP\\b" << "\\s\\$DET\\b" << "\\s\\$CIDET\\b" << "\\s\\$GEN\\b" << "\\s\\$CIGEN\\b" << "\\s\\$ORMAS\\b" << "\\s\\$CEEIS\\b" << "\\s\\$CEDATA\\b" << "\\s\\$GCILST\\b" << "\\s\\$GMCPT\\b" << "\\s\\$PDET\\b" << "\\s\\$ADDDET\\b" << "\\s\\$REMDET\\b" << "\\s\\$SODET\\b" << "\\s\\$DRT\\b" << "\\s\\$CIDRT\\b" << "\\s\\$MCSCF\\b" << "\\s\\$MRMP\\b" << "\\s\\$DETPT\\b" << "\\s\\$MCQDPT\\b" << "\\s\\$CASCI\\b" << "\\s\\$IVOORB\\b" << "\\s\\$CISORT\\b" << "\\s\\$GUGEM\\b" << "\\s\\$GUGDIA\\b" << "\\s\\$GUGDM\\b" << "\\s\\$GUGDM2\\b" << "\\s\\$LAGRAN\\b" << "\\s\\$TRFDM2\\b" << "\\s\\$TRANST\\b" << "\\s\\$DATA\\b"; rule.format = m_keywordFormat; foreach (const QString& pattern, m_keywords) { rule.pattern = QRegExp(pattern); m_highlightingRules.append(rule); } rule.pattern = QRegExp("\\s\\$END\\b"); m_highlightingRules.append(rule); m_singleLineCommentFormat.setForeground(Qt::green); rule.pattern = QRegExp("![^\n]*"); rule.format = m_singleLineCommentFormat; m_highlightingRules.append(rule); m_numberFormat.setForeground(Qt::blue); rule.pattern = QRegExp("(\\b|[\\s-])[0-9]+\\.([0-9]+\\b)?|\\.[0-9]+\\b"); rule.format = m_numberFormat; m_highlightingRules.append(rule); m_numberFormat.setForeground(Qt::blue); rule.pattern = QRegExp("(\\b|[\\s-])[0-9]+\\.([0-9]+\\b)?|\\.[0-9]+\\b"); rule.format = m_numberFormat; m_highlightingRules.append(rule); rule.pattern = QRegExp("(\\b|[\\s-])[0-9]+([0-9]+\\b)?|\\.[0-9]+\\b"); rule.format = m_numberFormat; m_highlightingRules.append(rule); m_inDataBlockFormat.setForeground(Qt::gray); m_errorFormat.setForeground(Qt::red); m_errorFormat.setBackground(Qt::yellow); } void GamessHighlighter::highlightBlock(const QString& text) { // Single line comments QRegExp pattern("![^\n]*"); int commentIndex = pattern.indexIn(text); if (commentIndex >= 0) setFormat(commentIndex, pattern.matchedLength(), m_singleLineCommentFormat); setCurrentBlockState(0); int startIndex = 0; int keywordLength = 0; if (previousBlockState() != 1) { foreach (const QString& regexString, m_keywords) { QRegExp expression(regexString); expression.setCaseSensitivity(Qt::CaseInsensitive); startIndex = expression.indexIn(text); keywordLength = expression.matchedLength(); if (startIndex >= 0) { setFormat(startIndex, keywordLength, m_keywordFormat); break; } } } while (startIndex >= 0) { QRegExp endExpression("\\s\\$END\\b"); endExpression.setCaseSensitivity(Qt::CaseInsensitive); int endIndex = endExpression.indexIn(text, startIndex); int blockLength; if (endIndex == -1) { setCurrentBlockState(1); blockLength = text.length() - startIndex - keywordLength; } else { setFormat(endIndex, endExpression.matchedLength(), m_keywordFormat); blockLength = endIndex - startIndex - keywordLength; } setFormat(startIndex + keywordLength, blockLength, m_inDataBlockFormat); bool found = false; foreach (const QString& regexString, m_keywords) { QRegExp expression(regexString); int index = expression.indexIn(text, startIndex + blockLength); if (index > startIndex) { found = true; startIndex = index; keywordLength = expression.matchedLength(); setFormat(startIndex, keywordLength, m_keywordFormat); break; } } if (!found) break; } if (previousBlockState() == 1) { // Anything outside of data blocks is a comment foreach (const HighlightingRule& rule, m_highlightingRules) { QRegExp expression(rule.pattern); expression.setCaseSensitivity(Qt::CaseInsensitive); int index = text.indexOf(expression); while (index >= 0) { int length = expression.matchedLength(); setFormat(index, length, rule.format); index = text.indexOf(expression, index + length); } } } // Anything over 80 columns will not be read if (text.length() > 80) setFormat(80, text.length(), m_errorFormat); } } // End namespace QtPlugins } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/gamessinput/gamesshighlighter.h000066400000000000000000000030541360735163600263320ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2009 Marcus D. Hanwell This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef GAMESSHIGHLIGHTER_H #define GAMESSHIGHLIGHTER_H #include #include #include #include class QTextDocument; namespace Avogadro { namespace QtPlugins { class GamessHighlighter : public QSyntaxHighlighter { Q_OBJECT public: GamessHighlighter(QTextDocument* parent_ = 0); protected: void highlightBlock(const QString& text) override; private: struct HighlightingRule { QRegExp pattern; QTextCharFormat format; }; QVector m_highlightingRules; QStringList m_keywords; QRegExp m_commentStartExpression; QRegExp m_commentEndExpression; QTextCharFormat m_keywordFormat; QTextCharFormat m_numberFormat; QTextCharFormat m_singleLineCommentFormat; QTextCharFormat m_inDataBlockFormat; QTextCharFormat m_errorFormat; }; } // End namespace QtPlugins } // End namespace Avogadro #endif // GAMESSHIGHLIGHTER_H avogadrolibs-1.93.0/avogadro/qtplugins/gamessinput/gamessinput.cpp000066400000000000000000000061751360735163600255350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gamessinput.h" #include "gamessinputdialog.h" #include #include #include #include #include #include #include namespace Avogadro { namespace Core { class Molecule; } namespace QtPlugins { using ::MoleQueue::JobObject; GamessInput::GamessInput(QObject* parent_) : ExtensionPlugin(parent_), m_action(new QAction(this)), m_molecule(nullptr), m_dialog(nullptr), m_outputFormat(nullptr) { m_action->setEnabled(true); m_action->setText(tr("&GAMESS")); connect(m_action, SIGNAL(triggered()), SLOT(menuActivated())); } GamessInput::~GamessInput() { } QList GamessInput::actions() const { QList actions_; actions_.append(m_action); return actions_; } QStringList GamessInput::menuPath(QAction*) const { QStringList path; path << tr("&Quantum") << tr("Input Generators"); return path; } void GamessInput::setMolecule(QtGui::Molecule* mol) { if (m_dialog) m_dialog->setMolecule(mol); m_molecule = mol; } void GamessInput::openJobOutput(const JobObject& job) { m_outputFormat = nullptr; m_outputFileName.clear(); QString outputPath(job.value("outputDirectory").toString()); using QtGui::FileFormatDialog; FileFormatDialog::FormatFilePair result = FileFormatDialog::fileToRead( qobject_cast(parent()), tr("Open Output File"), outputPath); if (result.first == nullptr) // User canceled return; m_outputFormat = result.first; m_outputFileName = result.second; emit moleculeReady(1); } bool GamessInput::readMolecule(QtGui::Molecule& mol) { Io::FileFormat* reader = m_outputFormat->newInstance(); bool success = reader->readFile(m_outputFileName.toStdString(), mol); if (!success) { QMessageBox::information(qobject_cast(parent()), tr("Error"), tr("Error reading output file '%1':\n%2") .arg(m_outputFileName) .arg(QString::fromStdString(reader->error()))); } m_outputFormat = nullptr; m_outputFileName.clear(); return success; } void GamessInput::menuActivated() { if (!m_dialog) { m_dialog = new GamessInputDialog(qobject_cast(parent())); connect(m_dialog, SIGNAL(openJobOutput(MoleQueue::JobObject)), this, SLOT(openJobOutput(MoleQueue::JobObject))); } m_dialog->setMolecule(m_molecule); m_dialog->show(); } } } avogadrolibs-1.93.0/avogadro/qtplugins/gamessinput/gamessinput.h000066400000000000000000000035101360735163600251700ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_QUANTUMINPUT_H #define AVOGADRO_QTPLUGINS_QUANTUMINPUT_H #include class QAction; class QDialog; namespace MoleQueue { class JobObject; } namespace Avogadro { namespace Io { class FileFormat; } namespace QtPlugins { class GamessInputDialog; class GamessInput : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit GamessInput(QObject* parent = 0); ~GamessInput() override; QString name() const override { return tr("GAMESS input"); } QString description() const override { return tr("Generate input for GAMESS."); } QList actions() const override; QStringList menuPath(QAction*) const override; void setMolecule(QtGui::Molecule* mol) override; public slots: /** * Emitted when the user requests that a job's output be loaded in Avogadro. */ void openJobOutput(const MoleQueue::JobObject& job); bool readMolecule(QtGui::Molecule& mol) override; private slots: void menuActivated(); private: QAction* m_action; QtGui::Molecule* m_molecule; GamessInputDialog* m_dialog; const Io::FileFormat* m_outputFormat; QString m_outputFileName; }; } } #endif // AVOGADRO_QTPLUGINS_QUANTUMINPUT_H avogadrolibs-1.93.0/avogadro/qtplugins/gamessinput/gamessinputdialog.cpp000066400000000000000000000463701360735163600267160ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gamessinputdialog.h" #include "gamesshighlighter.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using Avogadro::MoleQueue::MoleQueueDialog; using Avogadro::MoleQueue::MoleQueueManager; using MoleQueue::JobObject; namespace Avogadro { namespace QtPlugins { enum CalculateOption { CalculateSinglePoint = 0, CalculateEquilibriumGeometry, CalculateTransitionState, CalculateFrequencies, CalculateCount }; enum TheoryOption { TheoryAM1 = 0, TheoryPM3, TheoryRHF, TheoryB3LYP, TheoryMP2, TheoryCCSDT, TheoryCount }; enum BasisOption { BasisSTO3G = 0, BasisMINI, Basis321G, Basis631Gd, Basis631Gdp, Basis631PlusGdp, Basis631PlusG2dp, Basis6311PlusPlusG2dp, BasisCorePotential, BasisCount }; enum StateOption { StateGas = 0, StateWater, StateCount }; enum MultiplicityOption { MultiplicitySinglet = 0, MultiplicityDoublet, MultiplicityTriplet, MultiplicityCount }; enum ChargeOption { ChargeDication = 0, ChargeCation, ChargeNeutral, ChargeAnion, ChargeDianion, ChargeCount }; GamessInputDialog::GamessInputDialog(QWidget* parent_, Qt::WindowFlags f) : QDialog(parent_, f), m_molecule(nullptr), m_highlighter(nullptr), m_updatePending(false) { ui.setupUi(this); m_highlighter = new GamessHighlighter(ui.previewText->document()); buildOptions(); connectBasic(); connectPreview(); connectButtons(); setBasicDefaults(); updatePreviewText(); } GamessInputDialog::~GamessInputDialog() { } void GamessInputDialog::setMolecule(QtGui::Molecule* mol) { if (mol == m_molecule) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; connect(mol, SIGNAL(changed(unsigned int)), SLOT(updatePreviewText())); connect(mol, SIGNAL(changed(unsigned int)), SLOT(updateTitlePlaceholder())); updateTitlePlaceholder(); updatePreviewText(); } void GamessInputDialog::showEvent(QShowEvent* e) { QWidget::showEvent(e); // Update the preview text if an update was requested while hidden. Use a // single shot to allow the dialog to show before popping up any warnings. if (m_updatePending) QTimer::singleShot(0, this, SLOT(updatePreviewText())); } void GamessInputDialog::connectBasic() { connect(ui.titleEdit, SIGNAL(textChanged(QString)), this, SLOT(updatePreviewText())); connect(ui.calculateCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updatePreviewText())); connect(ui.calculateCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updateTitlePlaceholder())); connect(ui.theoryCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updatePreviewText())); connect(ui.theoryCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updateTitlePlaceholder())); connect(ui.basisCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updatePreviewText())); connect(ui.basisCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updateTitlePlaceholder())); connect(ui.stateCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updatePreviewText())); connect(ui.multiplicityCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updatePreviewText())); connect(ui.chargeCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(updatePreviewText())); } void GamessInputDialog::connectPreview() { } void GamessInputDialog::connectButtons() { connect(ui.resetAllButton, SIGNAL(clicked()), SLOT(resetClicked())); connect(ui.defaultsButton, SIGNAL(clicked()), SLOT(defaultsClicked())); connect(ui.generateButton, SIGNAL(clicked()), SLOT(generateClicked())); connect(ui.computeButton, SIGNAL(clicked()), SLOT(computeClicked())); connect(ui.closeButton, SIGNAL(clicked()), SLOT(close())); } void GamessInputDialog::buildOptions() { buildCalculateOptions(); buildTheoryOptions(); buildBasisOptions(); buildStateOptions(); buildMultiplicityOptions(); buildChargeOptions(); } void GamessInputDialog::updateOptionCache() { m_optionCache.clear(); m_optionCache.insert(ui.calculateCombo, ui.calculateCombo->currentIndex()); m_optionCache.insert(ui.theoryCombo, ui.theoryCombo->currentIndex()); m_optionCache.insert(ui.basisCombo, ui.basisCombo->currentIndex()); m_optionCache.insert(ui.stateCombo, ui.stateCombo->currentIndex()); m_optionCache.insert(ui.multiplicityCombo, ui.multiplicityCombo->currentIndex()); m_optionCache.insert(ui.chargeCombo, ui.chargeCombo->currentIndex()); } void GamessInputDialog::restoreOptionCache() { foreach (QComboBox* combo, m_optionCache.keys()) { combo->blockSignals(true); combo->setCurrentIndex(m_optionCache.value(combo, 0)); combo->blockSignals(false); } } void GamessInputDialog::buildCalculateOptions() { for (int i = 0; i < static_cast(CalculateCount); ++i) { QString text = ""; switch (static_cast(i)) { case CalculateSinglePoint: text = tr("Single Point"); break; case CalculateEquilibriumGeometry: text = tr("Equilibrium Geometry"); break; case CalculateTransitionState: text = tr("Transition State"); break; case CalculateFrequencies: text = tr("Frequencies"); break; default: break; } ui.calculateCombo->addItem(text); } } void GamessInputDialog::buildTheoryOptions() { for (int i = 0; i < static_cast(TheoryCount); ++i) { QString text = ""; switch (static_cast(i)) { case TheoryAM1: text = "AM1"; break; case TheoryPM3: text = "PM3"; break; case TheoryRHF: text = "RHF"; break; case TheoryB3LYP: text = "B3LYP"; break; case TheoryMP2: text = "MP2"; break; case TheoryCCSDT: text = "CCSD(T)"; break; default: break; } ui.theoryCombo->addItem(text); } } void GamessInputDialog::buildBasisOptions() { for (int i = 0; i < static_cast(BasisCount); ++i) { QString text = ""; switch (static_cast(i)) { case BasisSTO3G: text = "STO-3G"; break; case BasisMINI: text = "MINI"; break; case Basis321G: text = "3-21 G"; break; case Basis631Gd: text = "6-31 G(d)"; break; case Basis631Gdp: text = "6-31 G(d,p)"; break; case Basis631PlusGdp: text = "6-31+G(d,p)"; break; case Basis631PlusG2dp: text = "6-31+G(2d,p)"; break; case Basis6311PlusPlusG2dp: text = "6-311++G(2d,p)"; break; case BasisCorePotential: text = tr("Core Potential"); break; default: break; } ui.basisCombo->addItem(text); } } void GamessInputDialog::buildStateOptions() { for (int i = 0; i < static_cast(StateCount); ++i) { QString text = ""; switch (static_cast(i)) { case StateGas: text = tr("Gas"); break; case StateWater: text = tr("Water"); break; default: break; } ui.stateCombo->addItem(text); } } void GamessInputDialog::buildMultiplicityOptions() { for (int i = 0; i < static_cast(MultiplicityCount); ++i) { QString text = ""; switch (static_cast(i)) { case MultiplicitySinglet: text = tr("Singlet"); break; case MultiplicityDoublet: text = tr("Doublet"); break; case MultiplicityTriplet: text = tr("Triplet"); break; default: break; } ui.multiplicityCombo->addItem(text); } } void GamessInputDialog::buildChargeOptions() { for (int i = 0; i < static_cast(ChargeCount); ++i) { QString text = ""; switch (static_cast(i)) { case ChargeDication: text = tr("Dication"); break; case ChargeCation: text = tr("Cation"); break; case ChargeNeutral: text = tr("Neutral"); break; case ChargeAnion: text = tr("Anion"); break; case ChargeDianion: text = tr("Dianion"); break; default: break; } ui.chargeCombo->addItem(text); } } void GamessInputDialog::setBasicDefaults() { ui.titleEdit->setText(QString()); ui.calculateCombo->setCurrentIndex(CalculateSinglePoint); ui.theoryCombo->setCurrentIndex(TheoryB3LYP); ui.basisCombo->setCurrentIndex(Basis321G); ui.stateCombo->setCurrentIndex(StateGas); ui.multiplicityCombo->setCurrentIndex(MultiplicitySinglet); ui.chargeCombo->setCurrentIndex(ChargeNeutral); } QString GamessInputDialog::generateJobTitle() const { QString calculation(ui.calculateCombo->currentText()); QString theory(ui.theoryCombo->currentText()); QString basis(ui.basisCombo->currentText()); QString formula(m_molecule ? QString::fromStdString(m_molecule->formula()) : tr("[no molecule]")); // Merge theory/basis into theory theory += "/" + basis; theory.replace(QRegExp("\\s+"), ""); return QString("%1 | %2 | %3").arg(formula, calculation, theory); } void GamessInputDialog::updatePreviewText() { // If the dialog is not shown, delay the update in case we need to prompt the // user to overwrite changes. Set the m_updatePending flag to true so we'll // know to update in the show event. if (!isVisible()) { m_updatePending = true; return; } m_updatePending = false; // Has the preview text been modified? if (ui.previewText->document()->isModified()) { QString message = tr("The input file has been modified. " "Would you like to overwrite your changes to reflect " "the new geometry or job options?"); int response = QMessageBox::question( this, tr("Overwrite modified input file?"), message, QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (static_cast(response) != QMessageBox::Yes) { restoreOptionCache(); return; } } // Gather options: QString title(ui.titleEdit->text()); if (title.isEmpty()) title = generateJobTitle(); CalculateOption calculate( static_cast(ui.calculateCombo->currentIndex())); TheoryOption theory( static_cast(ui.theoryCombo->currentIndex())); BasisOption basis(static_cast(ui.basisCombo->currentIndex())); StateOption state(static_cast(ui.stateCombo->currentIndex())); MultiplicityOption multiplicity( static_cast(ui.multiplicityCombo->currentIndex())); ChargeOption charge( static_cast(ui.chargeCombo->currentIndex())); // Disable basis selection for semiempirical methods. ui.basisCombo->setEnabled(theory != TheoryAM1 && theory != TheoryPM3); // Generate text. // Variables: QString runTyp; QString scfTyp; QString gBasis; QString mult; QString iCharg; // Extra options for lines QString extraBasis; QString extraContrl; // Optional lines QString statPt; QString force; QString pcm; switch (calculate) { case CalculateSinglePoint: runTyp = "ENERGY"; break; case CalculateEquilibriumGeometry: runTyp = "OPTIMIZE"; statPt = " $STATPT OPTTOL=0.0001 NSTEP=20 $END\n"; break; case CalculateTransitionState: runTyp = "SADPOINT"; statPt = " $STATPT OPTTOL=0.0001 NSTEP=20 $END\n"; break; case CalculateFrequencies: runTyp = "HESSIAN"; force = " $FORCE METHOD=ANALYTIC VIBANL=.TRUE. $END\n"; break; default: break; } switch (theory) { case TheoryAM1: gBasis = "AM1"; break; case TheoryPM3: gBasis = "PM3"; break; case TheoryRHF: break; case TheoryB3LYP: extraContrl += " DFTTYP=B3LYP"; break; case TheoryMP2: extraContrl += " MPLEVL=2"; break; case TheoryCCSDT: extraContrl += " CCTYP=CCSD(T)"; break; default: break; } if (theory != TheoryAM1 && theory != TheoryPM3) { switch (basis) { case BasisSTO3G: gBasis = "STO"; extraBasis += " NGAUSS=3"; break; case BasisMINI: gBasis = "MINI"; break; case Basis321G: gBasis = "N21"; extraBasis += " NGAUSS=3"; break; case Basis631Gd: gBasis = "N31"; extraBasis += " NGAUSS=6 NDFUNC=1"; break; case Basis631Gdp: gBasis = "N31"; extraBasis += " NGAUSS=6 NDFUNC=1 NPFUNC=1"; break; case Basis631PlusGdp: gBasis = "N31"; extraBasis += " NGAUSS=6 NDFUNC=1 NPFUNC=1 DIFFSP=.TRUE."; break; case Basis631PlusG2dp: gBasis = "N31"; extraBasis += " NGAUSS=6 NDFUNC=2 NPFUNC=1 DIFFSP=.TRUE."; break; case Basis6311PlusPlusG2dp: gBasis = "N311"; extraBasis += " NGAUSS=6 NDFUNC=2 NPFUNC=1 DIFFSP=.TRUE. DIFFS=.TRUE."; break; case BasisCorePotential: gBasis = "SBK"; extraBasis += " NGAUSS=3 NDFUNC=1"; extraContrl += " ECP=SBK"; break; default: break; } } switch (state) { case StateGas: break; case StateWater: pcm = " $PCM SOLVNT=WATER $END\n"; break; default: break; } switch (multiplicity) { case MultiplicitySinglet: scfTyp = "RHF"; mult = "1"; break; case MultiplicityDoublet: scfTyp = "ROHF"; mult = "2"; break; case MultiplicityTriplet: scfTyp = "ROHF"; mult = "3"; break; default: break; } switch (charge) { case ChargeDication: iCharg = "2"; break; case ChargeCation: iCharg = "1"; break; case ChargeNeutral: iCharg = "0"; break; case ChargeAnion: iCharg = "-1"; break; case ChargeDianion: iCharg = "-2"; break; default: break; } // build up the input file: QString file; file += QString("! %1\n").arg(title); file += QString(" $BASIS GBASIS=%1%2 $END\n").arg(gBasis, extraBasis); file += pcm; file += QString(" $CONTRL SCFTYP=%1 RUNTYP=%2 ICHARG=%3 MULT=%4%5 $END\n") .arg(scfTyp, runTyp, iCharg, mult, extraContrl); file += statPt; file += force; file += "\n"; file += " $DATA\n"; file += "Title\n"; file += "C1\n"; if (m_molecule) { for (size_t i = 0; i < m_molecule->atomCount(); ++i) { Core::Atom atom = m_molecule->atom(i); file += QString("%1 %2 %3 %4 %5\n") .arg(Core::Elements::symbol(atom.atomicNumber()), -3) .arg(static_cast(atom.atomicNumber()), 5, 'f', 1) .arg(atom.position3d().x(), 9, 'f', 5) .arg(atom.position3d().y(), 9, 'f', 5) .arg(atom.position3d().z(), 9, 'f', 5); } } file += " $END\n"; ui.previewText->setText(file); ui.previewText->document()->setModified(false); updateOptionCache(); } void GamessInputDialog::resetClicked() { setBasicDefaults(); updatePreviewText(); } void GamessInputDialog::defaultsClicked() { setBasicDefaults(); updatePreviewText(); } void GamessInputDialog::generateClicked() { QSettings settings; QString fileName = (ui.baseNameEdit->text().isEmpty() ? ui.baseNameEdit->placeholderText() : ui.baseNameEdit->text()) + ".inp"; QString targetFile = settings.value("gamessInput/outputDirectory", QDir::homePath()).toString(); targetFile = QDir(QFileInfo(targetFile).absoluteDir()).absoluteFilePath(fileName); fileName = QFileDialog::getSaveFileName(this, tr("Save GAMESS input file"), targetFile); // User cancel: if (fileName.isNull()) return; settings.setValue("gamessInput/outputDirectory", fileName); QFile file(fileName); bool success = false; if (file.open(QFile::WriteOnly | QFile::Text)) { if (file.write(ui.previewText->toPlainText().toLocal8Bit()) > 0) { success = true; } file.close(); } if (!success) { QMessageBox::critical(this, tr("Output Error"), tr("Failed to write to file %1.").arg(fileName)); } } void GamessInputDialog::computeClicked() { // Verify that molequeue is running: MoleQueueManager& mqManager = MoleQueueManager::instance(); if (!mqManager.connectIfNeeded()) { QMessageBox::information(this, tr("Cannot connect to MoleQueue"), tr("Cannot connect to MoleQueue server. Please " "ensure that it is running and try again.")); return; } QString description(ui.titleEdit->text()); if (description.isEmpty()) description = generateJobTitle(); QString fileNameBase = ui.baseNameEdit->text().isEmpty() ? ui.baseNameEdit->placeholderText() : ui.baseNameEdit->text(); JobObject job; job.setProgram("GAMESS"); job.setDescription(description); job.setInputFile(QString("%1.inp").arg(fileNameBase), ui.previewText->toPlainText()); MoleQueueDialog::SubmitStatus submitStatus = MoleQueueDialog::submitJob(this, tr("Submit GAMESS Calculation"), job, MoleQueueDialog::WaitForSubmissionResponse | MoleQueueDialog::SelectProgramFromTemplate); switch (submitStatus) { default: case MoleQueueDialog::SubmissionSuccessful: case MoleQueueDialog::SubmissionFailed: case MoleQueueDialog::SubmissionAttempted: case MoleQueueDialog::SubmissionAborted: // The dialog handles these cases adequately, we don't need to do // anything. break; case MoleQueueDialog::JobFailed: // Inform the user: QMessageBox::information(this, tr("Job Failed"), tr("The job did not complete successfully."), QMessageBox::Ok); break; case MoleQueueDialog::JobFinished: // Let the world know that the job is ready to open. job has been // overwritten with the final job details. emit openJobOutput(job); hide(); break; } } void GamessInputDialog::updateTitlePlaceholder() { ui.titleEdit->setPlaceholderText(generateJobTitle()); } } // end namespace QtPlugins } // end namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/gamessinput/gamessinputdialog.h000066400000000000000000000043261360735163600263560ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef GAMESSINPUTDIALOG_H #define GAMESSINPUTDIALOG_H #include #include #include #include "ui_gamessinputdialog.h" #include class QJsonObject; namespace MoleQueue { class JobObject; } namespace Avogadro { namespace QtGui { class Molecule; } namespace QtPlugins { class GamessHighlighter; class GamessInputDialog : public QDialog { Q_OBJECT public: explicit GamessInputDialog(QWidget* parent_ = 0, Qt::WindowFlags f = 0); ~GamessInputDialog() override; void setMolecule(QtGui::Molecule* mol); signals: /** * Emitted when the user requests that a job's output be loaded in Avogadro. */ void openJobOutput(const MoleQueue::JobObject& job); protected: void showEvent(QShowEvent* e) override; private slots: void updatePreviewText(); void defaultsClicked(); void resetClicked(); void generateClicked(); void computeClicked(); void updateTitlePlaceholder(); private: void connectBasic(); void connectPreview(); void connectButtons(); void buildOptions(); void updateOptionCache(); void restoreOptionCache(); void buildCalculateOptions(); void buildTheoryOptions(); void buildBasisOptions(); void buildStateOptions(); void buildMultiplicityOptions(); void buildChargeOptions(); void setBasicDefaults(); QString generateJobTitle() const; Ui::GamessInputDialog ui; QtGui::Molecule* m_molecule; GamessHighlighter* m_highlighter; bool m_updatePending; QMap m_optionCache; }; } // end namespace QtPlugins } // end namespace Avogadro #endif // GAMESSINPUTDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/gamessinput/gamessinputdialog.ui000066400000000000000000000220201360735163600265330ustar00rootroot00000000000000 GamessInputDialog 0 0 785 660 GAMESS Input 0 1 0 &Basic Setup Qt::Horizontal 40 20 In: Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter stateCombo Multiplicity: Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter multiplicityCombo With: Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter theoryCombo Title: titleEdit Qt::Horizontal 40 20 Qt::Horizontal 40 20 Qt::Horizontal 16 20 Charge: chargeCombo Qt::Horizontal 40 20 Calculate: Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter calculateCombo Qt::Vertical 20 0 Filename Base: job Reset All Defaults Qt::Horizontal QSizePolicy::MinimumExpanding 10 20 Submit Calculation... Save File... Close modeTab titleEdit calculateCombo theoryCombo basisCombo stateCombo multiplicityCombo chargeCombo previewText resetAllButton defaultsButton generateButton closeButton avogadrolibs-1.93.0/avogadro/qtplugins/hydrogens/000077500000000000000000000000001360735163600221245ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/hydrogens/CMakeLists.txt000066400000000000000000000003121360735163600246600ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_BINARY_DIR}) avogadro_plugin(Hydrogens "Extension that adds/removes hydrogens on a molecule." ExtensionPlugin hydrogens.h Hydrogens "hydrogens.cpp" "" ) avogadrolibs-1.93.0/avogadro/qtplugins/hydrogens/hydrogens.cpp000066400000000000000000000067421360735163600246430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "hydrogens.h" #include #include #include #include #include namespace Avogadro { namespace QtPlugins { Hydrogens::Hydrogens(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_molecule(nullptr) { QAction* action = new QAction(tr("&Adjust Hydrogens"), this); action->setShortcut(QKeySequence("Ctrl+Alt+H")); connect(action, SIGNAL(triggered()), SLOT(adjustHydrogens())); m_actions.append(action); action = new QAction(tr("Add Hydrogens"), this); connect(action, SIGNAL(triggered()), SLOT(addHydrogens())); m_actions.append(action); action = new QAction(tr("Remove E&xtra Hydrogens"), this); connect(action, SIGNAL(triggered()), SLOT(removeHydrogens())); m_actions.append(action); action = new QAction(tr("&Remove All Hydrogens"), this); connect(action, SIGNAL(triggered()), SLOT(removeAllHydrogens())); m_actions.append(action); } Hydrogens::~Hydrogens() { } QString Hydrogens::description() const { return tr("Add/remove hydrogens from the current molecule."); } QList Hydrogens::actions() const { return m_actions; } QStringList Hydrogens::menuPath(QAction*) const { return QStringList() << tr("&Build") << tr("&Hydrogens"); } void Hydrogens::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } void Hydrogens::adjustHydrogens() { if (m_molecule) { QtGui::HydrogenTools::adjustHydrogens(*(m_molecule->undoMolecule()), QtGui::HydrogenTools::AddAndRemove); // Assume molecule changes... m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Bonds | QtGui::Molecule::Added | QtGui::Molecule::Removed); } } void Hydrogens::addHydrogens() { if (m_molecule) { QtGui::HydrogenTools::adjustHydrogens(*(m_molecule->undoMolecule()), QtGui::HydrogenTools::Add); // Assume molecule changes... m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Bonds | QtGui::Molecule::Added); } } void Hydrogens::removeHydrogens() { if (m_molecule) { QtGui::HydrogenTools::adjustHydrogens(*(m_molecule->undoMolecule()), QtGui::HydrogenTools::Remove); // Assume molecule changes... m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Bonds | QtGui::Molecule::Removed); } } void Hydrogens::removeAllHydrogens() { if (m_molecule) { QtGui::HydrogenTools::removeAllHydrogens(*(m_molecule->undoMolecule())); // Assume molecule changes... m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Bonds | QtGui::Molecule::Removed); } } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/hydrogens/hydrogens.h000066400000000000000000000030511360735163600242760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the MoleQueue project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_HYDROGENS_H #define AVOGADRO_QTPLUGINS_HYDROGENS_H #include namespace Avogadro { namespace QtPlugins { /** * @brief The Hydrogens class is an extension to modify hydrogens. */ class Hydrogens : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit Hydrogens(QObject* parent_ = 0); ~Hydrogens() override; QString name() const override { return tr("Hydrogens"); } QString description() const override; QList actions() const override; QStringList menuPath(QAction*) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; private slots: void adjustHydrogens(); void addHydrogens(); void removeHydrogens(); void removeAllHydrogens(); private: QList m_actions; QtGui::Molecule* m_molecule; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_HYDROGENS_H avogadrolibs-1.93.0/avogadro/qtplugins/importpqr/000077500000000000000000000000001360735163600221575ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/importpqr/CMakeLists.txt000066400000000000000000000006111360735163600247150ustar00rootroot00000000000000include_directories(SYSTEM "${AvogadroLibs_SOURCE_DIR}/thirdparty") # Extension set(importpqr_srcs importpqr.cpp pqrwidget.cpp pqrrequest.cpp ) avogadro_plugin(ImportPQR "Download molecules from the Pitt Quantum Repository" ExtensionPlugin importpqr.h ImportPQR "${importpqr_srcs}" pqrwidget.ui "" ) target_link_libraries(ImportPQR LINK_PRIVATE ${Qt5Network_LIBRARIES}) avogadrolibs-1.93.0/avogadro/qtplugins/importpqr/importpqr.cpp000066400000000000000000000043631360735163600247260ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "importpqr.h" #include "pqrwidget.h" #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { ImportPQR::ImportPQR(QObject* parent_) : ExtensionPlugin(parent_), m_action(new QAction(this)), m_molecule(nullptr), m_dialog(nullptr), m_outputFormat(nullptr) { m_action->setEnabled(true); m_action->setText(tr("&Import From PQR")); connect(m_action, SIGNAL(triggered()), SLOT(menuActivated())); } ImportPQR::~ImportPQR() { delete (m_outputFormat); delete (m_molecule); delete (m_action); } QList ImportPQR::actions() const { QList actions_; actions_.append(m_action); return actions_; } QStringList ImportPQR::menuPath(QAction*) const { QStringList path; path << tr("&File") << tr("&Import"); return path; } void ImportPQR::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } bool ImportPQR::readMolecule(QtGui::Molecule& mol) { bool readOK = Io::FileFormatManager::instance().readString( mol, m_moleculeData.data(), "mol2"); if (readOK) // worked, so set the filename mol.setData("name", m_moleculeName.toStdString()); return readOK; } void ImportPQR::menuActivated() { if (!m_dialog) m_dialog = new PQRWidget(qobject_cast(this), this); m_dialog->show(); } // called by widget void ImportPQR::setMoleculeData(QByteArray& molData, QString name) { m_moleculeName = name; m_moleculeData = molData; m_dialog->hide(); emit moleculeReady(1); } } } avogadrolibs-1.93.0/avogadro/qtplugins/importpqr/importpqr.h000066400000000000000000000035211360735163600243660ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_IMPORTPQR_H #define AVOGADRO_QTPLUGINS_IMPORTPQR_H #include #include #include #include #include class QAction; class QDialog; namespace Avogadro { namespace QtPlugins { class PQRWidget; class ImportPQR : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit ImportPQR(QObject* parent = 0); ~ImportPQR() override; QString name() const override { return tr("Import From PQR"); } QString description() const override { return tr("Download a molecule from PQR."); } QList actions() const override; QStringList menuPath(QAction*) const override; void setMoleculeData(QByteArray& molData, QString name); public slots: void setMolecule(QtGui::Molecule* mol) override; bool readMolecule(QtGui::Molecule& mol) override; private slots: void menuActivated(); private: QAction* m_action; QtGui::Molecule* m_molecule; PQRWidget* m_dialog; const Io::FileFormat* m_outputFormat; QString m_moleculeName; QString m_moleculePath; QByteArray m_moleculeData; }; } } #endif // AVOGADRO_QTPLUGINS_IMPORTPQR_H avogadrolibs-1.93.0/avogadro/qtplugins/importpqr/pqrrequest.cpp000066400000000000000000000166071360735163600251100ustar00rootroot00000000000000#include "pqrrequest.h" #include "pqrwidget.h" #include #include using json = nlohmann::json; namespace Avogadro { namespace QtPlugins { /** * @brief Constructor to initialize the NetworkAcessManager and set pointers to * the widget's ui elements. */ PQRRequest::PQRRequest(QTableWidget* tw, QLabel* gv, QLineEdit* nd, QLabel* fd, PQRWidget* w) { // set pointers to ui elements now instead of in individual functions table = tw; // pointer to ui table pngPreview = gv; // png QLabel nameDisplay = nd; // name formulaDisplay = fd; // formula // used to load molecule in Avogadro when downloaded widget = w; oNetworkAccessManager = new QNetworkAccessManager(this); } /** * @brief Free the ui pointers */ PQRRequest::~PQRRequest() { delete oNetworkAccessManager; } /** * @brief Sends a network request to search for molecules from PQR; * @param url The url to query */ void PQRRequest::sendRequest(QString url) { reply = oNetworkAccessManager->get(QNetworkRequest(QUrl(url))); connect(reply, SIGNAL(finished()), this, SLOT(parseJson())); } /** * @brief Sends a network request to download a file from PQR * @param url The url to send the request to * @param mol2 The mol2 representation of the molecule to download */ void PQRRequest::sendRequest(QString url, QString mol2) { reply = oNetworkAccessManager->get(QNetworkRequest(QUrl(url))); currentMolName = nameDisplay->text(); // needed to load mol into Avogadro connect(reply, SIGNAL(finished()), this, SLOT(getFile())); } /** * @brief Sends a network request to download a png form PQR * @param url The url to send the request to */ void PQRRequest::sendPNGRequest(QString url) { reply = oNetworkAccessManager->get(QNetworkRequest(QUrl(url))); connect(reply, SIGNAL(finished()), this, SLOT(SetPNG())); } /** * @brief Called when a molecule is selected to display information about the * molecule and start grabbing the SVG preview. * @param num The row number of the table result selected * @returns The mol2 of the result for the widget to reference */ QString PQRRequest::molSelected(int num) { if (results.empty() || num > results.size()) return QString("N/A"); QString mol2 = results[num].mol2url; QString url = "https://pqr.pitt.edu/static/data/png/" + mol2 + ".png"; sendPNGRequest(url); formulaDisplay->setText(parseSubscripts(results[num].formula)); nameDisplay->setText(results[num].name); return mol2; } /** * @brief Parses the JSON response from querying PQR */ void PQRRequest::parseJson() { if (reply->error() == QNetworkReply::NoError) { // Reading the data from the response QByteArray bytes = reply->readAll(); // parse the json json root = json::parse(bytes.data()); int resultSize = root.size(); results.clear(); if (resultSize == 0) { table->setRowCount(1); table->setItem(0, 0, new QTableWidgetItem("No Results!")); table->setCellWidget(0, 1, new QLabel()); table->setItem(0, 2, new QTableWidgetItem("N/A")); } else { table->setRowCount(resultSize); for (int i = 0; i < resultSize; i++) { results.push_back(result()); // Loop through the keys for (auto it = root[i].cbegin(); it != root[i].cend(); ++it) { if (it.key() == "formula" && it.value().is_string()) results[i].formula = it.value().get().c_str(); else if (it.key() == "inchikey" && it.value().is_string()) results[i].inchikey = it.value().get().c_str(); else if (it.key() == "mol2url" && it.value().is_string()) results[i].mol2url = it.value().get().c_str(); else if (it.key() == "name" && it.value().is_string()) results[i].name = it.value().get().c_str(); } results[i].mass = getMolMass(results[i].formula); table->setItem(i, 0, new QTableWidgetItem(results[i].name)); // clear possible QTableWidget if there were no results previously table->setItem(i, 1, nullptr); // use this to display subscripts, should automatically delete previous // QLabel according to documentation table->setCellWidget(i, 1, new QLabel(parseSubscripts(results[i].formula))); // table->setItem(i, 2, new // QTableWidgetItem(QString::number(results[i].mass, 'f', 3) + QString(" // g/mol"))); QTableWidgetItem* massItem = new QTableWidgetItem(); massItem->setData(Qt::DisplayRole, results[i].mass); table->setItem(i, 2, massItem); } } } else { table->setRowCount(3); table->setItem(0, 0, new QTableWidgetItem("Network Error!")); table->setItem(0, 1, new QTableWidgetItem("N/A")); table->setItem(0, 2, new QTableWidgetItem(reply->errorString())); } reply->deleteLater(); } /** * @brief Creates a file after requesting a file from PQR */ void PQRRequest::getFile() { QByteArray molData = reply->readAll(); widget->loadMolecule(molData, currentMolName); reply->deleteLater(); } /** * @brief Loads PNG data after sending a request */ void PQRRequest::SetPNG() { QByteArray pngData = reply->readAll(); widget->loadPNG(pngData); reply->deleteLater(); } /** * @brief Takes a formula string and returns a QString with subscript tags * @param formula The formula string */ QString PQRRequest::parseSubscripts(QString formula) { std::string str = formula.toStdString(); QString toReturn; for (int i = 0; i < str.length(); i++) { if (isdigit(str[i])) { toReturn.append(""); toReturn.append(str[i]); toReturn.append(""); } else { toReturn.append(str[i]); } } return toReturn; } /** * @brief Takes a formula string and returns the molecular mass of the molecule * @param formula The formula string */ float PQRRequest::getMolMass(QString formula) { std::string str = formula.toStdString(); float totalMass = 0.0; int subscript = 1; std::string element; unsigned char atomicNum; for (int i = 0; i < str.length(); i++) { // each element will start with a capital letter if (isupper(str[i])) { // if next letter is a lower case then we know the whole element if (islower(str[i + 1])) { element = { str[i], str[i + 1] }; // this might be the last element of the formula if (isdigit(str[i + 2])) { subscript = (int)str[i + 2] - '0'; i += 2; // increment past lowercase and numeral } else { i += 1; subscript = 1; } } // get the subscript else if (isdigit(str[i + 1])) { if (isdigit(str[i + 2])) { // might be 2 digit subscript subscript = (int)str[i + 1] - '0'; subscript *= 10; // shift forward one decimal place subscript += (int)str[i + 2] - '0'; element = { str[i] }; i += 2; } else { subscript = (int)str[i + 1] - '0'; element = { str[i] }; i += 1; } } // if the next letter is another uppercase or null, the current subscript // is 1 else if (isupper(str[i + 1]) || str[i + 1] == 0) { subscript = 1; element = { str[i] }; } atomicNum = Core::Elements::atomicNumberFromSymbol(element); totalMass += (subscript * Core::Elements::mass(atomicNum)); } } return totalMass; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/importpqr/pqrrequest.h000066400000000000000000000071141360735163600245460ustar00rootroot00000000000000#ifndef PQRREQUEST_H #define PQRREQUEST_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include /** * @brief The PQRRequest class sends and receives network requests to PQR and * updates ui elements from the widget. */ namespace Avogadro { namespace QtPlugins { class PQRWidget; class PQRRequest : public QObject { Q_OBJECT public: /** * @brief Constructor to initialize the NetworkAcessManager and set pointers to * the widget's ui elements. * @param tw Pointer to ui's table widget * @param gv Pointer to ui's graphics view for SVG preview * @param nd Pointer to the name display * @param fd Pointer to the formula display */ PQRRequest(QTableWidget*, QLabel*, QLineEdit*, QLabel*, PQRWidget*); /** * @brief Free the ui pointers */ ~PQRRequest() override; /** * @brief Sends a network request to search for molecules from PQR; * @param url The url to query */ void sendRequest(QString); /** * @brief Sends a network request to download a file from PQR * @param url The url to send the request to * @param mol2 The mol2 representation of the molecule to download */ void sendRequest(QString, QString); /** * @brief Sends a network request to download a png form PQR * @param url The url to send the request to */ void sendPNGRequest(QString url); /** * @brief Called when a molecule is selected to display information about the * molecule and start grabbing the SVG preview. * @param num The row number of the table result selected * @returns The mol2 of the result for the widget to reference */ QString molSelected(int); private slots: /** * @brief Parses the JSON response from querying PQR */ void parseJson(); /** * @brief Creates a file after requesting a file from PQR */ void getFile(); /** * @brief Loads PNG data after sending a request */ void SetPNG(); private: /** * @brief The result struct holds all data received in each result from * querying PQR */ struct result { QString inchikey; QString name; QString mol2url; QString formula; float mass; // Default constructor result() : inchikey("Error"), name("Error"), mol2url("Error"), formula("Error"), mass(-1.0) {} }; /** An array to hold all results from a query */ std::vector results; /** Holds a reply from a network request */ QNetworkReply* reply; /** Used to send/receive network request */ QNetworkAccessManager* oNetworkAccessManager; /** Used to parse JSON results */ QVariantMap m_jsonResult; /** Pointer to dialog */ PQRWidget* widget; /** Pointers to a widget's ui elements */ QTableWidget* table; QLineEdit* nameDisplay; QLabel* formulaDisplay; QLabel* pngPreview; /** Variables to fold file download information for getFile() */ QString currentMolName; /** * @brief Takes a formula string and returns a QString with subscript tags * @param formula The formula string */ QString parseSubscripts(QString); /** * @brief Takes a formula string and returns the molecular mass of the * molecule * @param formula The formula string */ float getMolMass(QString); }; } // namespace QtPlugins } // namespace Avogadro #endif // PQRRequest_H avogadrolibs-1.93.0/avogadro/qtplugins/importpqr/pqrwidget.cpp000066400000000000000000000054121360735163600246730ustar00rootroot00000000000000#include "pqrwidget.h" #include "importpqr.h" #include "pqrrequest.h" #include "ui_pqrwidget.h" namespace Avogadro { namespace QtPlugins { PQRWidget::PQRWidget(QWidget* parent, ImportPQR* p) : QDialog(parent), ui(new Ui::PQRWidget) { plugin = p; ui->setupUi(this); ui->tableWidget->setColumnCount(3); ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "Name" << "Formula" << "Mass (g/mol)"); ui->tableWidget->horizontalHeader()->setStretchLastSection(true); ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tableWidget->setSortingEnabled(true); connect(ui->searchButton, SIGNAL(clicked(bool)), this, SLOT(searchAction())); connect(ui->downloadButton, SIGNAL(clicked(bool)), this, SLOT(downloadMol())); connect(ui->tableWidget, SIGNAL(cellClicked(int, int)), this, SLOT(molSelected(int, int))); request = new PQRRequest(ui->tableWidget, ui->pngPreview, ui->nameDisplay, ui->formulaDisplay, this); } PQRWidget::~PQRWidget() { delete request; delete ui; } /** * @brief Called when the search button is clicked to send a query to PQR */ void PQRWidget::searchAction() { ui->downloadButton->setEnabled(false); QString url = "https://pqr.pitt.edu/api/browse/" + ui->molName->text() + "/" + ui->searchTypeBox->currentText(); request->sendRequest(url); } /** * @brief Called when a table result is double clicked to display preview * information * about the result before downloading. * @param row The row of the result selected. * @param col The column of the result selected. */ void PQRWidget::molSelected(int row, int col) { currentlySelectedMol = request->molSelected(row); if (currentlySelectedMol == "N/A") return; ui->downloadButton->setEnabled(true); } /** * @brief Called when PNG data is ready to be loaded */ void PQRWidget::loadPNG(QByteArray& data) { QPixmap pixmap; pixmap.loadFromData(data, "PNG"); pixmap = pixmap.scaled(300, 300); ui->pngPreview->setPixmap(pixmap); ui->pngPreview->show(); } /** * @brief Called when the download button is clicked to send a request to * download * molecule information from PQR. */ void PQRWidget::downloadMol() { QString mol2url = currentlySelectedMol; if (mol2url != "N/A" && mol2url != "") { mol2url.remove(0, 3); // remove first 3 characters to map to PQR's url QString url = "https://pqr.pitt.edu/api/mol/" + mol2url; request->sendRequest(url, mol2url); } } void PQRWidget::loadMolecule(QByteArray& molData, QString name) { plugin->setMoleculeData(molData, name); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/importpqr/pqrwidget.h000066400000000000000000000034401360735163600243370ustar00rootroot00000000000000#ifndef AVOGADRO_PQRWIDGET_H #define AVOGADRO_PQRWIDGET_H #include #include #include #include #include #include #include #include #include #include #include /** * PQRWidget is a class extending QDialog to provide the ui for * importing/downloading * molecules from PQR. */ namespace Ui { class PQRWidget; } namespace Avogadro { namespace QtGui { class Molecule; } namespace QtPlugins { class PQRRequest; class ImportPQR; class PQRWidget : public QDialog { Q_OBJECT public: PQRWidget(QWidget* parent = 0, ImportPQR* p = nullptr); ~PQRWidget() override; void loadMolecule(QByteArray&, QString); void loadPNG(QByteArray&); private slots: /** * @brief Called when the search button is clicked to send a query to PQR */ void searchAction(); /** * @brief Called when a table result is double clicked to display preview * information * about the result before downloading. * @param row The row of the result selected. * @param col The column of the result selected. */ void molSelected(int, int); /** * @brief Called when the download button is clicked to send a request to * download * molecule information from PQR. */ void downloadMol(); private: /** The mol2 of the molecule result currently selected */ QString currentlySelectedMol; /** Pointer to the ui objects */ Ui::PQRWidget* ui; /** Pointer to a PQRRequest object to handle network requests */ PQRRequest* request; /** Pointer to the plugin that opened the dialog */ ImportPQR* plugin; }; } } #endif // AVOGADRO_PQRWIDGET_H avogadrolibs-1.93.0/avogadro/qtplugins/importpqr/pqrwidget.ui000066400000000000000000000111361360735163600245260ustar00rootroot00000000000000 PQRWidget 0 0 1087 674 0 0 Import From PQR 0 0 Search 0 0 name tag synonym formula inchi 0 0 Search By: true Formula: 5 0 750 500 false Download Name: 0 0 300 300 300 300 avogadrolibs-1.93.0/avogadro/qtplugins/lammpsinput/000077500000000000000000000000001360735163600224735ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/lammpsinput/CMakeLists.txt000066400000000000000000000004201360735163600252270ustar00rootroot00000000000000# Extension set(gamessinput_srcs lammpsinputdialog.cpp lammpsinput.cpp ) avogadro_plugin(LammpsInput "LAMMPS input file generation" ExtensionPlugin lammpsinput.h LammpsInput "${gamessinput_srcs}" lammpsinputdialog.ui ) target_link_libraries(LammpsInput) avogadrolibs-1.93.0/avogadro/qtplugins/lammpsinput/lammpsinput.cpp000066400000000000000000000046701360735163600255570ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "lammpsinput.h" #include "lammpsinputdialog.h" #include #include #include #include #include #include namespace Avogadro { namespace Core { class Molecule; } namespace QtPlugins { LammpsInput::LammpsInput(QObject* parent_) : ExtensionPlugin(parent_), m_action(new QAction(this)), m_molecule(nullptr), m_dialog(nullptr), m_outputFormat(nullptr) { m_action->setEnabled(true); m_action->setText(tr("&LAMMPS Input")); connect(m_action, SIGNAL(triggered()), SLOT(menuActivated())); } LammpsInput::~LammpsInput() { } QList LammpsInput::actions() const { QList actions_; actions_.append(m_action); return actions_; } QStringList LammpsInput::menuPath(QAction*) const { QStringList path; path << tr("&Extensions") << tr("Molecular Dynamics"); return path; } void LammpsInput::setMolecule(QtGui::Molecule* mol) { if (m_dialog) m_dialog->setMolecule(mol); m_molecule = mol; } bool LammpsInput::readMolecule(QtGui::Molecule& mol) { Io::FileFormat* reader = m_outputFormat->newInstance(); bool success = reader->readFile(m_outputFileName.toStdString(), mol); if (!success) { QMessageBox::information(qobject_cast(parent()), tr("Error"), tr("Error reading output file '%1':\n%2") .arg(m_outputFileName) .arg(QString::fromStdString(reader->error()))); } m_outputFormat = nullptr; m_outputFileName.clear(); return success; } void LammpsInput::menuActivated() { if (!m_dialog) { m_dialog = new LammpsInputDialog(qobject_cast(parent())); } m_dialog->setMolecule(m_molecule); m_dialog->show(); } } } avogadrolibs-1.93.0/avogadro/qtplugins/lammpsinput/lammpsinput.h000066400000000000000000000034361360735163600252230ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_LAMMPSINPUT_H #define AVOGADRO_QTPLUGINS_LAMMPSINPUT_H #include class QAction; class QDialog; namespace Avogadro { namespace Io { class FileFormat; } namespace QtPlugins { class LammpsInputDialog; class LammpsInput : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit LammpsInput(QObject* parent = 0); ~LammpsInput() override; QString name() const override { return tr("LAMMPS input"); } QString description() const override { return tr("Generate input for LAMMPS."); } QList actions() const override; QStringList menuPath(QAction*) const override; void setMolecule(QtGui::Molecule* mol) override; public slots: /** * Emitted when the user requests that a job's output be loaded in Avogadro. */ // void openJobOutput(const MoleQueue::JobObject& job); bool readMolecule(QtGui::Molecule& mol) override; private slots: void menuActivated(); private: QAction* m_action; QtGui::Molecule* m_molecule; LammpsInputDialog* m_dialog; const Io::FileFormat* m_outputFormat; QString m_outputFileName; }; } } #endif // AVOGADRO_QTPLUGINS_LAMMPSINPUT_H avogadrolibs-1.93.0/avogadro/qtplugins/lammpsinput/lammpsinputdialog.cpp000066400000000000000000000640261360735163600267400ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "lammpsinputdialog.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { LammpsInputDialog::LammpsInputDialog(QWidget* parent, Qt::WindowFlags flag) : QDialog(parent, flag), m_molecule(nullptr), m_unitType(real), m_title("Title"), m_savePath(""), m_dimensionType(d3), m_xBoundaryType(p), m_yBoundaryType(p), m_zBoundaryType(p), m_atomStyle(full), m_waterPotential(NONE), m_ensemble(NVT), m_temperature(298.15), m_nhChain(1), m_timeStep(2.0), m_runSteps(50), m_xReplicate(1), m_yReplicate(1), m_zReplicate(1), m_dumpStep(1), m_velocityDist(gaussian), m_velocityTemp(298.15), m_zeroMOM(true), m_zeroL(true), m_thermoStyle(one), m_thermoInterval(50), m_output(), m_dirty(false), m_warned(false), readData(false), m_jobEdit(nullptr), m_moleculeEdit(nullptr) { ui.setupUi(this); // Connect the GUI elements to the correct slots connect(ui.titleLine, SIGNAL(editingFinished()), this, SLOT(setTitle())); // now for something useful connect(ui.unitsCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setUnits(int))); connect(ui.atomStyleCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setAtomStyle(int))); connect(ui.dimensionCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setDimensionType(int))); connect(ui.xBoundaryCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setXBoundaryType(int))); connect(ui.yBoundaryCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setYBoundaryType(int))); connect(ui.zBoundaryCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setZBoundaryType(int))); connect(ui.waterPotentialCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setWaterPotential(int))); connect(ui.readDataLine, SIGNAL(editingFinished()), this, SLOT(setReadData())); connect(ui.ensembleCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setEnsemble(int))); connect(ui.tempSpin, SIGNAL(valueChanged(double)), this, SLOT(setTemperature(double))); connect(ui.nhChainSpin, SIGNAL(valueChanged(int)), this, SLOT(setNHChain(int))); connect(ui.stepSpin, SIGNAL(valueChanged(double)), this, SLOT(setTimeStep(double))); connect(ui.runSpin, SIGNAL(valueChanged(int)), this, SLOT(setRunSteps(int))); connect(ui.xReplicateSpin, SIGNAL(valueChanged(int)), this, SLOT(setXReplicate(int))); connect(ui.yReplicateSpin, SIGNAL(valueChanged(int)), this, SLOT(setYReplicate(int))); connect(ui.zReplicateSpin, SIGNAL(valueChanged(int)), this, SLOT(setZReplicate(int))); connect(ui.dumpXYZEdit, SIGNAL(editingFinished()), this, SLOT(setDumpXYZ())); connect(ui.dumpStepSpin, SIGNAL(valueChanged(int)), this, SLOT(setDumpStep(int))); connect(ui.velocityDistCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setVelocityDist(int))); connect(ui.velocityTempSpin, SIGNAL(valueChanged(double)), this, SLOT(setVelocityTemp(double))); connect(ui.zeroMOMCheck, SIGNAL(toggled(bool)), this, SLOT(setZeroMOM(bool))); connect(ui.zeroLCheck, SIGNAL(toggled(bool)), this, SLOT(setZeroL(bool))); connect(ui.thermoStyleCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(setThermoStyle(int))); connect(ui.thermoSpin, SIGNAL(valueChanged(int)), this, SLOT(setThermoInterval(int))); connect(ui.generateButton, SIGNAL(clicked()), this, SLOT(generateClicked())); connect(ui.resetButton, SIGNAL(clicked()), this, SLOT(resetClicked())); connect(ui.enableFormButton, SIGNAL(clicked()), this, SLOT(enableFormClicked())); QSettings settings; readSettings(settings); // Generate an initial preview of the input deck updatePreviewText(); addMoleculeDataTab(); } LammpsInputDialog::~LammpsInputDialog() { QSettings settings; writeSettings(settings); } void LammpsInputDialog::showEvent(QShowEvent*) { updatePreviewText(); addMoleculeDataTab(); } void LammpsInputDialog::updatePreviewText() { if (!isVisible()) return; int jobTabPosition = 0; // Store the currently displayed tab int currIndex = ui.tabWidget->currentIndex(); // Generate the input deck and display it if (m_dirty) { QString message = tr("Would you like to update the preview text, losing all " "changes made in the Lammps input deck preview pane?"); int response = QMessageBox::question( this, tr("Overwrite modified input files?"), message, QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (static_cast(response) == QMessageBox::No) { return; } } ui.tabWidget->removeTab(jobTabPosition); m_jobFileName = (ui.baseNameEdit->text().isEmpty() ? ui.baseNameEdit->placeholderText() : ui.baseNameEdit->text()) + ".lmp"; m_jobEdit = new QTextEdit(this); m_jobEdit->setObjectName(m_jobFileName); m_jobEdit->setFontFamily("monospace"); connect(m_jobEdit, SIGNAL(textChanged()), this, SLOT(textEditModified())); m_jobEdit->setText(generateInputDeck()); ui.tabWidget->insertTab(jobTabPosition, m_jobEdit, m_jobFileName); deckDirty(false); // Restore current tab ui.tabWidget->setCurrentIndex(currIndex); } void LammpsInputDialog::addMoleculeDataTab() { int molTabPosition = 1; if (m_molecule) { ui.tabWidget->removeTab(molTabPosition); std::string molOutput, extension = "lmpdat"; m_moleculeFileName = (ui.baseNameEdit->text().isEmpty() ? ui.baseNameEdit->placeholderText() : ui.baseNameEdit->text()) + "." + QString::fromStdString(extension); bool writeSDF = Io::FileFormatManager::instance().writeString( *m_molecule, molOutput, extension); if (writeSDF) { m_moleculeEdit = new QTextEdit(this); m_moleculeEdit->setObjectName(m_moleculeFileName); m_moleculeEdit->setFontFamily("monospace"); m_moleculeEdit->setText(QString::fromStdString(molOutput)); ui.tabWidget->insertTab(molTabPosition, m_moleculeEdit, m_moleculeFileName); } } } void LammpsInputDialog::textEditModified() { if (QTextEdit* edit = qobject_cast(sender())) { if (edit->document()->isModified()) { deckDirty(true); } else { deckDirty(false); } } } void LammpsInputDialog::resetClicked() { // Reset the form to defaults deckDirty(false); ui.unitsCombo->setCurrentIndex(1); ui.atomStyleCombo->setCurrentIndex(7); ui.dimensionCombo->setCurrentIndex(1); ui.xBoundaryCombo->setCurrentIndex(0); ui.yBoundaryCombo->setCurrentIndex(0); ui.zBoundaryCombo->setCurrentIndex(0); ui.waterPotentialCombo->setCurrentIndex(0); ui.ensembleCombo->setCurrentIndex(0); ui.tempSpin->setValue(298.15); ui.nhChainSpin->setValue(1); ui.stepSpin->setValue(2.0); ui.runSpin->setValue(50); ui.xReplicateSpin->setValue(1); ui.yReplicateSpin->setValue(1); ui.zReplicateSpin->setValue(1); ui.dumpStepSpin->setValue(1); ui.thermoStyleCombo->setCurrentIndex(0); ui.thermoSpin->setValue(50); updatePreviewText(); addMoleculeDataTab(); } void LammpsInputDialog::generateClicked() { QSettings settings; QString directory = settings.value("lammpsInput/outputDirectory", QDir::homePath()).toString(); if (directory.isEmpty()) directory = QDir::homePath(); directory = QFileDialog::getExistingDirectory( this, tr("Select output directory"), directory); // User cancel: if (directory.isNull()) return; settings.setValue("lammpsInput/outputDirectory", directory); QDir dir(directory); // Check for problems: QStringList errors; bool fatalError = false; do { // Do/while to break on fatal errors if (!dir.exists()) { errors << tr("%1: Directory does not exist!").arg(dir.absolutePath()); fatalError = true; break; } if (!dir.isReadable()) { errors << tr("%1: Directory cannot be read!").arg(dir.absolutePath()); fatalError = true; break; } QFileInfo jobFileInfo(dir.absoluteFilePath(m_jobFileName)); if (jobFileInfo.exists()) { errors << tr("%1: File will be overwritten.") .arg(jobFileInfo.absoluteFilePath()); } // Attempt to open the file for writing if (!QFile(jobFileInfo.absoluteFilePath()).open(QFile::WriteOnly)) { errors << tr("%1: File is not writable.").arg(jobFileInfo.absoluteFilePath()); fatalError = true; break; } QFileInfo molFileInfo(dir.absoluteFilePath(m_moleculeFileName)); if (molFileInfo.exists()) { errors << tr("%1: File will be overwritten.") .arg(molFileInfo.absoluteFilePath()); } // Attempt to open the file for writing if (!QFile(molFileInfo.absoluteFilePath()).open(QFile::WriteOnly)) { errors << tr("%1: File is not writable.").arg(molFileInfo.absoluteFilePath()); fatalError = true; break; } } while (false); // only run once // Handle fatal errors: if (fatalError) { QString formattedError; switch (errors.size()) { case 0: formattedError = tr("The input files cannot be written due to an unknown error."); break; case 1: formattedError = tr("The input files cannot be written:\n\n%1").arg(errors.first()); break; default: { // If a fatal error occured, it will be last one in the list. Pop it off // and tell the user that it was the reason we had to stop. QString fatal = errors.last(); QStringList tmp(errors); tmp.pop_back(); formattedError = tr("The input files cannot be written:\n\n%1\n\nWarnings:\n\n%2") .arg(fatal, tmp.join("\n")); break; } } QMessageBox::critical(this, tr("Output Error"), formattedError); return; } // Non-fatal errors: if (!errors.isEmpty()) { QString formattedError = tr("Warning:\n\n%1\n\nWould you like to continue?") .arg(errors.join("\n")); QMessageBox::StandardButton reply = QMessageBox::warning(this, tr("Write input files"), formattedError, QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (reply != QMessageBox::Yes) return; } bool success = false; if (m_jobEdit && m_moleculeEdit) { QFile jobFile(dir.absoluteFilePath(m_jobFileName)); if (jobFile.open(QFile::WriteOnly | QFile::Text)) { if (jobFile.write(m_jobEdit->toPlainText().toLocal8Bit()) > 0) { success = true; } jobFile.close(); } if (!success) { QMessageBox::critical( this, tr("Output Error"), tr("Failed to write to file %1.").arg(jobFile.fileName())); } QFile molFile(dir.absoluteFilePath(m_moleculeFileName)); if (molFile.open(QFile::WriteOnly | QFile::Text)) { if (molFile.write(m_moleculeEdit->toPlainText().toLocal8Bit()) > 0) { success = true; } molFile.close(); } if (!success) { QMessageBox::critical( this, tr("Output Error"), tr("Failed to write to file %1.").arg(molFile.fileName())); } } } void LammpsInputDialog::enableFormClicked() { updatePreviewText(); } void LammpsInputDialog::setTitle() { m_title = ui.titleLine->text(); updatePreviewText(); } void LammpsInputDialog::setUnits(int n) { m_unitType = (LammpsInputDialog::unitType)n; ui.unitsCombo->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setAtomStyle(int n) { m_atomStyle = (LammpsInputDialog::atomStyle)n; ui.atomStyleCombo->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setDimensionType(int n) { m_dimensionType = static_cast(n); ui.dimensionCombo->setEnabled(true); if (n == 0) { setZBoundaryType(0); ui.zBoundaryCombo->setCurrentIndex(0); ui.zBoundaryCombo->setEnabled(false); ui.zReplicateSpin->setValue(1); ui.zReplicateSpin->setEnabled(false); } if (n == 1) { ui.zBoundaryCombo->setEnabled(true); ui.zReplicateSpin->setEnabled(true); } updatePreviewText(); } void LammpsInputDialog::setXBoundaryType(int n) { m_xBoundaryType = static_cast(n); ui.xBoundaryCombo->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setYBoundaryType(int n) { m_yBoundaryType = static_cast(n); ui.yBoundaryCombo->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setZBoundaryType(int n) { m_zBoundaryType = static_cast(n); // should be careful here // z boundary must be p for 2d!!! ui.zBoundaryCombo->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setWaterPotential(int n) { m_waterPotential = static_cast(n); ui.waterPotentialCombo->setEnabled(true); if (n == 1) { setAtomStyle(7); ui.atomStyleCombo->setCurrentIndex(7); ui.atomStyleCombo->setEnabled(false); } if (n == 0) { ui.atomStyleCombo->setEnabled(true); } updatePreviewText(); } void LammpsInputDialog::setReadData() { m_readData = ui.readDataLine->text(); if (m_readData != "") readData = true; else readData = false; updatePreviewText(); } void LammpsInputDialog::setMolecule(QtGui::Molecule* molecule) { // Disconnect the old molecule first... if (molecule == m_molecule) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = molecule; // Update the preview text whenever primitives are changed connect(molecule, SIGNAL(changed(unsigned int)), SLOT(updatePreviewText())); updatePreviewText(); } void LammpsInputDialog::setEnsemble(int n) { m_ensemble = static_cast(n); ui.ensembleCombo->setEnabled(true); if (n == 1) { ui.tempSpin->setValue(0.0); ui.tempSpin->setEnabled(false); ui.nhChainSpin->setValue(0); ui.nhChainSpin->setEnabled(false); } else if (n == 0) { ui.tempSpin->setEnabled(true); ui.nhChainSpin->setEnabled(true); ui.nhChainSpin->setValue(1); } updatePreviewText(); } void LammpsInputDialog::setTemperature(double n) { m_temperature = n; ui.tempSpin->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setNHChain(int n) { m_nhChain = n; ui.nhChainSpin->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setTimeStep(double n) { m_timeStep = n; ui.stepSpin->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setRunSteps(int n) { m_runSteps = n; ui.runSpin->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setXReplicate(int n) { m_xReplicate = n; ui.xReplicateSpin->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setYReplicate(int n) { m_yReplicate = n; ui.yReplicateSpin->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setZReplicate(int n) { m_zReplicate = n; ui.zReplicateSpin->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setDumpStep(int n) { m_dumpStep = n; ui.dumpStepSpin->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setDumpXYZ() { m_dumpXYZ = ui.dumpXYZEdit->text(); updatePreviewText(); } void LammpsInputDialog::setVelocityDist(int n) { m_velocityDist = static_cast(n); ui.velocityDistCombo->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setVelocityTemp(double n) { m_velocityTemp = n; ui.velocityTempSpin->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setZeroMOM(bool state) { m_zeroMOM = state; ui.zeroMOMCheck->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setZeroL(bool state) { m_zeroL = state; ui.zeroLCheck->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setThermoStyle(int n) { m_thermoStyle = static_cast(n); ui.thermoStyleCombo->setEnabled(true); updatePreviewText(); } void LammpsInputDialog::setThermoInterval(int n) { m_thermoInterval = n; ui.thermoSpin->setEnabled(true); updatePreviewText(); } QString LammpsInputDialog::generateInputDeck() { // Generate an input deck based on the settings of the dialog QString buffer; QTextStream mol(&buffer); mol << "# LAMMPS Input file generated by Avogadro\n"; mol << "# " << m_title << "\n\n"; mol << "# Initialization\n"; mol << "units " << getUnitType(m_unitType) << "\n"; mol << "dimension " << getDimensionType(m_dimensionType) << "\n"; mol << "boundary " << getXBoundaryType(m_xBoundaryType) << " " << getYBoundaryType(m_yBoundaryType) << " " << getZBoundaryType(m_zBoundaryType) << "\n"; mol << "atom_style " << getAtomStyle(m_atomStyle) << "\n"; mol << "\n"; mol << "# Atom Definition\n"; if (readData) mol << "read_data " << m_readData << "\n"; mol << "replicate " << m_xReplicate << " " << m_yReplicate << " " << m_zReplicate << "\n"; mol << "\n" << getWaterPotential(m_waterPotential) << "\n"; mol << "# Settings\n"; mol << "velocity all create " << fixed << qSetRealNumberPrecision(2) << m_velocityTemp << " " << "4928459 " << "rot " << getZeroL() << " " << "mom " << getZeroMOM() << " " << "dist " << getVelocityDist(m_velocityDist) << "\n"; mol << getEnsemble(m_ensemble) << "\n"; mol << "timestep " << fixed << qSetRealNumberPrecision(1) << m_timeStep << "\n"; mol << "\n"; mol << "# Output\n"; if (m_dumpXYZ != "") { mol << "dump dumpXYZ all xyz " << m_dumpStep << " " << m_dumpXYZ << "\n"; } mol << "thermo_style " << getThermoStyle(m_thermoStyle) << "\n"; mol << "thermo " << m_thermoInterval << "\n"; mol << "\n"; mol << "# Run the simulation\n"; mol << "run " << m_runSteps << "\n"; mol << "\n"; return buffer; } QString LammpsInputDialog::getUnitType(unitType t) { // Translate the enum to text for the output generation switch (t) { case lj: return "lj"; case real: return "real"; case metal: return "metal"; case si: return "si"; case cgs: return "cgs"; case u_electron: return "electron"; default: return "lj"; } } QString LammpsInputDialog::getAtomStyle(atomStyle t) { switch (t) { case angle: return "angle"; case atomic: return "atomic"; case bond: return "bond"; case charge: return "charge"; case dipole: return "dipole"; case a_electron: return "electron"; case ellipsoid: return "ellipsoid"; case full: return "full"; case line: return "line"; case meso: return "meso"; case molecular: return "molecular"; case peri: return "peri"; case sphere: return "sphere"; case tri: return "tri"; case wavepacket: return "wavepacket"; default: return "full"; } } QString LammpsInputDialog::getDimensionType(dimensionType t) { switch (t) { case d2: return "2d"; case d3: return "3d"; default: return "3d"; } } QString LammpsInputDialog::getXBoundaryType(boundaryType t) { switch (t) { case p: return "p"; case f: return "f"; case s: return "s"; case m: return "m"; case fs: return "fs"; case fm: return "fm"; default: return "p"; } } QString LammpsInputDialog::getYBoundaryType(boundaryType t) { switch (t) { case p: return "p"; case f: return "f"; case s: return "s"; case m: return "m"; case fs: return "fs"; case fm: return "fm"; default: return "p"; } } QString LammpsInputDialog::getZBoundaryType(boundaryType t) { switch (t) { case p: return "p"; case f: return "f"; case s: return "s"; case m: return "m"; case fs: return "fs"; case fm: return "fm"; default: return "p"; } } QString LammpsInputDialog::getWaterPotential(waterPotential t) { switch (t) { case NONE: { QString waterPotentialInput; QTextStream water(&waterPotentialInput); water << ""; return waterPotentialInput; } case SPC: { QString waterPotentialInput; QTextStream water(&waterPotentialInput); int Hydrogen; int Oxygen; determineAtomTypesSPC(Hydrogen, Oxygen); water << "# The SPC water potential\n" << "pair_style lj/cut/coul/cut 9.8 9.8\n" << "pair_coeff " << Oxygen << " " << Oxygen << " 0.15535 3.5533\n" << "pair_coeff " << "* " << Hydrogen << " 0.00000 0.0000\n" << "bond_style harmonic\n" << "angle_style harmonic\n" << "dihedral_style none\n" << "improper_style none\n" << "bond_coeff 1 100.00 1.000\n" << "angle_coeff 1 100.00 109.47\n" << "special_bonds lj/coul 0.0 0.0 0.5\n" << "fix RigidOHBonds all shake 0.0001 20 0 b 1 a 1\n"; return waterPotentialInput; } case SPCE: { QString waterPotentialInput; QTextStream water(&waterPotentialInput); int Hydrogen; int Oxygen; determineAtomTypesSPC(Hydrogen, Oxygen); water << "# The SPC/E water potential\n" << "pair_style lj/cut/coul/long 9.8 9.8\n" << "kspace_style pppm 1.0e-4\n" << "pair_coeff " << Oxygen << " " << Oxygen << " 0.15535 3.5533\n" << "pair_coeff " << "* " << Hydrogen << " 0.00000 0.0000\n" << "bond_style harmonic\n" << "angle_style harmonic\n" << "dihedral_style none\n" << "improper_style none\n" << "bond_coeff 1 100.00 1.000\n" << "angle_coeff 1 100.00 109.47\n" << "special_bonds lj/coul 0.0 0.0 0.5\n" << "fix RigidOHBonds all shake 0.0001 20 0 b 1 a 1\n"; return waterPotentialInput; } default: { QString waterPotentialInput; QTextStream water(&waterPotentialInput); water << "\n"; return waterPotentialInput; } } } QString LammpsInputDialog::getEnsemble(ensemble t) { switch (t) { case NVT: { QString ensembleInput; QTextStream fix(&ensembleInput); fix << "fix ensemble all nvt" << " temp " << fixed << qSetRealNumberPrecision(2) << m_temperature << " " << fixed << qSetRealNumberPrecision(2) << m_temperature << " 100 " << "tchain " << m_nhChain << "\n"; return ensembleInput; } case NVE: { QString ensembleInput; QTextStream fix(&ensembleInput); fix << "fix ensemble all nve\n"; return ensembleInput; } default: { QString ensembleInput; QTextStream fix(&ensembleInput); fix << "fix ensemble all nvt" << " temp " << fixed << qSetRealNumberPrecision(2) << m_temperature << " " << fixed << qSetRealNumberPrecision(2) << m_temperature << " 100 " << "tchain " << m_nhChain << "\n"; return ensembleInput; } } } QString LammpsInputDialog::getVelocityDist(velocityDist t) { switch (t) { case gaussian: return "gaussian"; case uniform: return "uniform"; default: return "gaussian"; } } QString LammpsInputDialog::getZeroMOM() { if (m_zeroMOM) return "yes"; else return "no"; } QString LammpsInputDialog::getZeroL() { if (m_zeroL) return "yes"; else return "no"; } QString LammpsInputDialog::getThermoStyle(thermoStyle t) { switch (t) { case one: return "one"; case multi: return "multi"; default: return "one"; } } void LammpsInputDialog::deckDirty(bool dirty) { m_dirty = dirty; ui.titleLine->setEnabled(!dirty); // ui.calculationCombo->setEnabled(!dirty); // ui.theoryCombo->setEnabled(!dirty); // ui.basisCombo->setEnabled(!dirty); // ui.multiplicitySpin->setEnabled(!dirty); // ui.chargeSpin->setEnabled(!dirty); ui.enableFormButton->setEnabled(dirty); } void LammpsInputDialog::readSettings(QSettings& settings) { m_savePath = settings.value("lammps/savepath").toString(); } void LammpsInputDialog::writeSettings(QSettings& settings) const { settings.setValue("lammps/savepath", m_savePath); } void LammpsInputDialog::determineAtomTypesSPC(int& hyd, int& oxy) { double ThisMass; QString ThisAtom; // QList atoms = m_molecule->atoms(); for (size_t i = 0; i < m_molecule->atomCount(); ++i) { Core::Atom atom = m_molecule->atom(i); ThisMass = Core::Elements::mass(atom.atomicNumber()); ThisAtom = Core::Elements::symbol(atom.atomicNumber()); AtomMass[ThisAtom] = ThisMass; } int AtomIndex = 0; // Set AtomType integer for (itr = AtomMass.begin(); itr != AtomMass.end(); ++itr) { AtomIndex++; AtomType[itr.key()] = AtomIndex; } // this is on purpose due to the use of // unordered_map in OpenBabel, which // returns a different order for O and H. hyd = AtomType.value("O"); oxy = AtomType.value("H"); } } } avogadrolibs-1.93.0/avogadro/qtplugins/lammpsinput/lammpsinputdialog.h000066400000000000000000000111421360735163600263740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef LAMMPSINPUTDIALOG_H #define LAMMPSINPUTDIALOG_H #include "ui_lammpsinputdialog.h" #include #include class QJsonObject; class QTextEdit; namespace Avogadro { namespace QtGui { class Molecule; } namespace QtPlugins { class LammpsInputDialog : public QDialog { Q_OBJECT public: explicit LammpsInputDialog(QWidget* parent = 0, Qt::WindowFlags flag = 0); ~LammpsInputDialog(); void readSettings(QSettings&); void writeSettings(QSettings&) const; enum unitType { lj, real, metal, si, cgs, u_electron }; enum dimensionType { d2, d3 }; enum boundaryType { p, s, f, m, fs, fm }; enum atomStyle { angle, atomic, bond, charge, dipole, a_electron, ellipsoid, full, line, meso, molecular, peri, sphere, tri, wavepacket }; enum waterPotential { NONE, SPC, SPCE }; void setMolecule(QtGui::Molecule* molecule); enum ensemble { NVT, NVE }; enum velocityDist { gaussian, uniform }; enum thermoStyle { one, multi }; protected: /** * Reimplemented to update the dialog when it is shown */ void showEvent(QShowEvent* event); private: Ui::LammpsInputDialog ui; QtGui::Molecule* m_molecule; // QString m_title; QString m_readData; unitType m_unitType; QString m_title; QString m_savePath; dimensionType m_dimensionType; boundaryType m_xBoundaryType; boundaryType m_yBoundaryType; boundaryType m_zBoundaryType; atomStyle m_atomStyle; waterPotential m_waterPotential; // coordType m_coordType; ensemble m_ensemble; double m_temperature; int m_nhChain; double m_timeStep; int m_runSteps; int m_xReplicate; int m_yReplicate; int m_zReplicate; QString m_dumpXYZ; int m_dumpStep; velocityDist m_velocityDist; double m_velocityTemp; bool m_zeroMOM; bool m_zeroL; thermoStyle m_thermoStyle; int m_thermoInterval; QString m_output; bool m_dirty; bool m_warned; bool readData; QTextEdit* m_jobEdit; QTextEdit* m_moleculeEdit; QString m_moleculeFileName; QString m_jobFileName; // Generate an input deck as a string QString generateInputDeck(); QString getUnitType(unitType t); QString getAtomStyle(atomStyle t); QString getDimensionType(dimensionType t); QString getXBoundaryType(boundaryType t); QString getYBoundaryType(boundaryType t); QString getZBoundaryType(boundaryType t); QString getWaterPotential(waterPotential t); QString getEnsemble(ensemble t); QString getVelocityDist(velocityDist t); QString getZeroMOM(); QString getZeroL(); QString getThermoStyle(thermoStyle t); // Translate enums to strings // QString getCalculationType(calculationType t); // QString getWavefunction(void); // QString getTheoryType(theoryType t); // QString getBasisType(basisType t); // Enable/disable form elements void deckDirty(bool); void determineAtomTypesSPC(int& hyd, int& oxy); void addMoleculeDataTab(); // system typing QHash AtomType; QHash AtomMass; QHash::iterator itr; public Q_SLOTS: void updatePreviewText(); private Q_SLOTS: //! Button Slots void textEditModified(); void resetClicked(); void generateClicked(); void enableFormClicked(); void setTitle(); void setReadData(); void setUnits(int); void setAtomStyle(int); void setDimensionType(int); void setXBoundaryType(int); void setYBoundaryType(int); void setZBoundaryType(int); void setWaterPotential(int); void setEnsemble(int); void setTemperature(double); void setNHChain(int); void setTimeStep(double); void setRunSteps(int); void setXReplicate(int); void setYReplicate(int); void setZReplicate(int); void setDumpXYZ(); void setDumpStep(int); void setVelocityDist(int); void setVelocityTemp(double); void setZeroMOM(bool); void setZeroL(bool); void setThermoStyle(int); void setThermoInterval(int); }; } } #endif avogadrolibs-1.93.0/avogadro/qtplugins/lammpsinput/lammpsinputdialog.ui000066400000000000000000000725731360735163600266010ustar00rootroot00000000000000 LammpsInputDialog 0 0 774 697 0 0 LAMMPS Input true QLayout::SetNoConstraint QLayout::SetDefaultConstraint Input file comments Title: titleLine Input file comments Title Filename Base: job Select the unit style to be used during the simulation. <!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:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://lammps.sandia.gov/doc/units.html"><span style=" text-decoration: underline; color:#0057ae;">http://lammps.sandia.gov/doc/units.html</span></a></p></body></html> Units unitsCombo Select the unit style to be used during the simulation. <!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:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://lammps.sandia.gov/doc/units.html"><span style=" text-decoration: underline; color:#0057ae;">http://lammps.sandia.gov/doc/units.html</span></a></p></body></html> 1 lj real metal si cgs electron Water Potential NONE SPC SPC/E Qt::Horizontal Select atom_style used by the data file. <!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:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://lammps.sandia.gov/doc/atom_style.html"><span style=" text-decoration: underline; color:#0057ae;">http://lammps.sandia.gov/doc/atom_style.html</span></a></p></body></html> Atom Style atomStyleCombo Select atom_style used by the data file. <!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:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://lammps.sandia.gov/doc/atom_style.html"><span style=" text-decoration: underline; color:#0057ae;">http://lammps.sandia.gov/doc/atom_style.html</span></a></p></body></html> 7 angle atomic bond charge dipole electron ellipsoid full line meso molecular peri sphere tri wavepacket Specify the name to be used for the coordinate file. Coordinate Data File Specify the name to be used for the coordinate file. Ensemble NVT NVE Temperature 2 20000.000000000000000 298.149999999999977 Select the number of Nosé-Hoover chains in the NVT ensemble. NH Chains Select the number of Nosé-Hoover chains in the NVT ensemble. 0 1 Qt::Horizontal 40 20 1 Qt::Horizontal Time step for the simulation in units according to "Units" specification. Time Step Time step for the simulation in units according to "Units" specification. 0.500000000000000 2.000000000000000 Filename of the XYZ file to write during the simulation. Dump XYZ Qt::Horizontal Number of dimensions in the system. Dimensions dimensionCombo Change Z boundary style. 0 p s f m fs fm Change Y boundary style. 0 p s f m fs fm Change X boundary style. 0 p s f m fs fm Select bondary Styles in X, Y and Z directions. Boundary Qt::Horizontal 40 20 Number of replicants in X, Y and Z directions. Replicate Qt::Horizontal 40 20 Replicate the X direction. 1 Replicate the Y direction. 1 Replicate the Z direction. 1 Filename of the XYZ file to write during the simulation. Total number of timesteps to run the simulation. Total Steps Total number of timesteps to run the simulation. 1000000000 50 Qt::Horizontal 40 20 Dump Interval 10000 1 Qt::Horizontal 40 20 Set the initial atom velocities for the simulation. Initial Velocities Select the distribution of initial atom velocities. gaussian uniform Set the initial atom velocities to match this temperature. Temperature Set the initial atom velocities to match this temperature. 20000.000000000000000 0.500000000000000 298.149999999999977 Remove system linear momentum from initial velocities. Zero Linear Momentum true Remove system angular momentum from initial velocities. Zero Angular Momentum true Qt::Horizontal 40 20 Control the thermodynamic output during the simulation. Output Output Interval 10000 50 Qt::Horizontal 40 20 Number of dimensions in the system. 1 2d 3d Thermodynamic output style. One Line Multi Line Qt::Horizontal 40 20 0 0 QLayout::SetFixedSize Reset false Use Form Qt::Horizontal 48 26 Generate... Close titleLine moreButton previewText generateButton closeButton resetButton enableFormButton closeButton clicked() LammpsInputDialog close() 451 411 258 243 avogadrolibs-1.93.0/avogadro/qtplugins/licorice/000077500000000000000000000000001360735163600217135ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/licorice/CMakeLists.txt000066400000000000000000000002621360735163600244530ustar00rootroot00000000000000avogadro_plugin(Licorice "Licorice rendering scheme" ScenePlugin licorice.h Licorice licorice.cpp "") target_link_libraries(Licorice LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/licorice/licorice.cpp000066400000000000000000000052311360735163600242110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "licorice.h" #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Elements; using Core::Molecule; using Rendering::GeometryNode; using Rendering::GroupNode; using Rendering::SphereGeometry; using Rendering::CylinderGeometry; Licorice::Licorice(QObject* p) : ScenePlugin(p), m_enabled(false) { } Licorice::~Licorice() { } void Licorice::process(const Molecule& molecule, Rendering::GroupNode& node) { // Use a common radius for all spheres and cylinders. float radius(0.2f); // Add a sphere node to contain all of the spheres. GeometryNode* geometry = new GeometryNode; node.addChild(geometry); SphereGeometry* spheres = new SphereGeometry; spheres->identifier().molecule = &molecule; spheres->identifier().type = Rendering::AtomType; geometry->addDrawable(spheres); for (Index i = 0; i < molecule.atomCount(); ++i) { Core::Atom atom = molecule.atom(i); Vector3ub color = atom.color(); spheres->addSphere(atom.position3d().cast(), color, radius); } CylinderGeometry* cylinders = new CylinderGeometry; cylinders->identifier().molecule = &molecule; cylinders->identifier().type = Rendering::BondType; geometry->addDrawable(cylinders); for (Index i = 0; i < molecule.bondCount(); ++i) { Core::Bond bond = molecule.bond(i); Vector3f pos1 = bond.atom1().position3d().cast(); Vector3f pos2 = bond.atom2().position3d().cast(); Vector3ub color1 = bond.atom1().color(); Vector3ub color2 = bond.atom2().color(); Vector3f bondVector = pos2 - pos1; float bondLength = bondVector.norm(); bondVector /= bondLength; cylinders->addCylinder(pos1, pos2, radius, color1, color2, i); } } bool Licorice::isEnabled() const { return m_enabled; } void Licorice::setEnabled(bool enable) { m_enabled = enable; } } } avogadrolibs-1.93.0/avogadro/qtplugins/licorice/licorice.h000066400000000000000000000027121360735163600236570ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_LICORICE_H #define AVOGADRO_QTPLUGINS_LICORICE_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Render a molecule in the licorice style. * @author Marcus D. Hanwell */ class Licorice : public QtGui::ScenePlugin { Q_OBJECT public: explicit Licorice(QObject* parent = 0); ~Licorice() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("Licorice"); } QString description() const override { return tr("Render atoms as licorice."); } bool isEnabled() const override; void setEnabled(bool enable) override; private: bool m_enabled; }; } // end namespace QtPlugins } // end namespace Avogadro #endif // AVOGADRO_QTPLUGINS_LICORICE_H avogadrolibs-1.93.0/avogadro/qtplugins/lineformatinput/000077500000000000000000000000001360735163600233425ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/lineformatinput/CMakeLists.txt000066400000000000000000000004061360735163600261020ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_BINARY_DIR}) avogadro_plugin(LineFormatInput "Enter line formats in a dialog window." ExtensionPlugin lineformatinput.h LineFormatInput "lineformatinput.cpp;lineformatinputdialog.cpp" "lineformatinputdialog.ui" ) avogadrolibs-1.93.0/avogadro/qtplugins/lineformatinput/lineformatinput.cpp000066400000000000000000000106071360735163600272720ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "lineformatinput.h" #include "lineformatinputdialog.h" #include #include #include #include #include #include #include #include using Avogadro::Io::FileFormat; using Avogadro::Io::FileFormatManager; using Avogadro::QtGui::FileFormatDialog; namespace Avogadro { namespace QtPlugins { LineFormatInput::LineFormatInput(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_reader(nullptr), m_molecule(nullptr) { QAction* action = new QAction(tr("SMILES..."), this); action->setData("SMILES"); connect(action, SIGNAL(triggered()), SLOT(showDialog())); m_actions.append(action); action = new QAction(tr("InChI..."), this); action->setData("InChI"); connect(action, SIGNAL(triggered()), SLOT(showDialog())); m_actions.append(action); // These are the line formats that we can load -- key is a user-friendly name, // value is the file extension used to identify the file format. m_formats.insert(tr("InChI"), std::string("inchi")); m_formats.insert(tr("SMILES"), std::string("smi")); } LineFormatInput::~LineFormatInput() { delete m_reader; } QList LineFormatInput::actions() const { return m_actions; } QStringList LineFormatInput::menuPath(QAction*) const { return QStringList() << tr("&Build") << tr("&Insert"); } void LineFormatInput::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } void LineFormatInput::showDialog() { if (!m_molecule) return; QWidget* parentAsWidget = qobject_cast(parent()); QAction* theSender = qobject_cast(sender()); // Create a list of file formats that we can read: QStringList availableFormats; FileFormatManager& ffm = FileFormatManager::instance(); const FileFormat::Operations ops = FileFormat::Read | FileFormat::String; foreach (const QString& ident, m_formats.keys()) { const std::string& ext = m_formats[ident]; if (!ffm.fileFormatsFromFileExtension(ext, ops).empty()) availableFormats.push_back(ident); } if (availableFormats.empty()) { QMessageBox::warning(parentAsWidget, tr("No descriptors found!"), tr("No line format readers found!"), QMessageBox::Ok); return; } // Prompt user for input: LineFormatInputDialog dlg; dlg.setFormats(availableFormats); if (theSender != nullptr) dlg.setCurrentFormat(theSender->data().toString()); dlg.exec(); // check if the reply is empty if (dlg.descriptor().isEmpty()) return; // nothing to do // Resolve any format conflicts: const std::string& ext = m_formats[dlg.format()]; const FileFormat* fmt = FileFormatDialog::findFileFormat( parentAsWidget, tr("Insert Molecule..."), QString("file.%1").arg(QString::fromStdString(ext)), ops); if (fmt == nullptr) { QMessageBox::warning(parentAsWidget, tr("No descriptors found!"), tr("Unable to load requested format reader."), QMessageBox::Ok); return; } m_reader = fmt->newInstance(); m_descriptor = dlg.descriptor().toStdString(); QProgressDialog progDlg(parentAsWidget); progDlg.setModal(true); progDlg.setWindowTitle(tr("Insert Molecule...")); progDlg.setLabelText(tr("Generating 3D molecule...")); progDlg.setRange(0, 0); progDlg.setValue(0); progDlg.show(); QtGui::Molecule newMol; bool success = m_reader->readString(m_descriptor, newMol); m_molecule->undoMolecule()->appendMolecule(newMol, "Insert Molecule"); emit requestActiveTool("Manipulator"); dlg.hide(); m_descriptor.clear(); delete m_reader; m_reader = nullptr; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/lineformatinput/lineformatinput.h000066400000000000000000000035221360735163600267350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_LINEFORMATINPUT_H #define AVOGADRO_QTPLUGINS_LINEFORMATINPUT_H #include #include #include namespace Avogadro { namespace Io { class FileFormat; } namespace QtPlugins { /** * @brief Load single-line molecule descriptors through an input dialog. */ class LineFormatInput : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit LineFormatInput(QObject* parent_ = 0); ~LineFormatInput() override; QString name() const override { return tr("LineFormatInput"); } QString description() const override; QList actions() const override; QStringList menuPath(QAction*) const override; public slots: void setMolecule(QtGui::Molecule*) override; private slots: void showDialog(); private: QList m_actions; /// Maps identifier to extension: QMap m_formats; QtGui::Molecule* m_molecule; Io::FileFormat* m_reader; std::string m_descriptor; }; inline QString LineFormatInput::description() const { return tr("Load single-line molecule descriptors through an input dialog."); } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_LINEFORMATINPUT_H avogadrolibs-1.93.0/avogadro/qtplugins/lineformatinput/lineformatinputdialog.cpp000066400000000000000000000035551360735163600304560ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "lineformatinputdialog.h" #include "ui_lineformatinputdialog.h" #include namespace Avogadro { namespace QtPlugins { LineFormatInputDialog::LineFormatInputDialog(QWidget* aParent) : QDialog(aParent), m_ui(new Ui::LineFormatInputDialog) { m_ui->setupUi(this); } LineFormatInputDialog::~LineFormatInputDialog() { delete m_ui; } void LineFormatInputDialog::setFormats(const QStringList& indents) { m_ui->formats->clear(); m_ui->formats->addItems(indents); QSettings settings; QString lastUsed = settings.value("lineformatinput/lastUsed").toString(); int index = m_ui->formats->findText(lastUsed); if (index >= 0) m_ui->formats->setCurrentIndex(index); } QString LineFormatInputDialog::format() const { return m_ui->formats->currentText(); } void LineFormatInputDialog::setCurrentFormat(const QString& format) { int index = m_ui->formats->findText(format); if (index >= 0) m_ui->formats->setCurrentIndex(index); } QString LineFormatInputDialog::descriptor() const { return m_ui->descriptor->text(); } void LineFormatInputDialog::accept() { QSettings settings; settings.setValue("lineformatinput/lastUsed", format()); QDialog::accept(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/lineformatinput/lineformatinputdialog.h000066400000000000000000000026371360735163600301230ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_LINEFORMATINPUTDIALOG_H #define AVOGADRO_QTPLUGINS_LINEFORMATINPUTDIALOG_H #include namespace Avogadro { namespace QtPlugins { namespace Ui { class LineFormatInputDialog; } /** * @brief Dialog to prompt a format and descriptor string. */ class LineFormatInputDialog : public QDialog { Q_OBJECT public: explicit LineFormatInputDialog(QWidget* parent = 0); ~LineFormatInputDialog() override; void setFormats(const QStringList& indents); QString format() const; void setCurrentFormat(const QString& format); QString descriptor() const; protected slots: void accept() override; private: Ui::LineFormatInputDialog* m_ui; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_LINEFORMATINPUTDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/lineformatinput/lineformatinputdialog.ui000066400000000000000000000061721360735163600303070ustar00rootroot00000000000000 Avogadro::QtPlugins::LineFormatInputDialog 0 0 269 123 0 0 Insert Molecule... QFormLayout::ExpandingFieldsGrow Format: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Descriptor: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Qt::Horizontal 40 20 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() Avogadro::QtPlugins::LineFormatInputDialog accept() 248 254 157 274 buttonBox rejected() Avogadro::QtPlugins::LineFormatInputDialog reject() 316 260 286 274 avogadrolibs-1.93.0/avogadro/qtplugins/manipulator/000077500000000000000000000000001360735163600224555ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/manipulator/CMakeLists.txt000066400000000000000000000005131360735163600252140ustar00rootroot00000000000000set(manipulator_srcs manipulator.cpp ) set(manipulator_uis ) set(manipulator_rcs manipulator.qrc ) avogadro_plugin(Manipulator "Manipulator" ToolPlugin manipulator.h Manipulator "${manipulator_srcs}" "${manipulator_uis}" "${manipulator_rcs}" ) target_link_libraries(Manipulator LINK_PRIVATE AvogadroQtOpenGL) avogadrolibs-1.93.0/avogadro/qtplugins/manipulator/manipulator.cpp000066400000000000000000000102751360735163600255210ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-13 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "manipulator.h" #include #include #include #include #include #include #include #include #include #include #include using Avogadro::Core::Atom; using Avogadro::Core::Bond; using Avogadro::QtGui::Molecule; namespace Avogadro { namespace QtPlugins { using QtGui::RWAtom; using QtGui::RWBond; using QtGui::Molecule; using QtGui::RWMolecule; using Rendering::Identifier; Manipulator::Manipulator(QObject* parent_) : QtGui::ToolPlugin(parent_), m_activateAction(new QAction(this)), m_molecule(nullptr), m_renderer(nullptr), m_pressedButtons(Qt::NoButton) { m_activateAction->setText(tr("Manipulate")); m_activateAction->setIcon(QIcon(":/icons/manipulator.png")); } Manipulator::~Manipulator() { } QWidget* Manipulator::toolWidget() const { return nullptr; } QUndoCommand* Manipulator::mousePressEvent(QMouseEvent* e) { if (!m_renderer) return nullptr; updatePressedButtons(e, false); m_lastMousePosition = e->pos(); Vector2f windowPos(e->localPos().x(), e->localPos().y()); m_lastMouse3D = m_renderer->camera().unProject(windowPos); if (m_molecule) { m_molecule->setInteractive(true); } if (m_pressedButtons & Qt::LeftButton) { m_object = m_renderer->hit(e->pos().x(), e->pos().y()); switch (m_object.type) { case Rendering::AtomType: e->accept(); return nullptr; default: break; } } return nullptr; } QUndoCommand* Manipulator::mouseReleaseEvent(QMouseEvent* e) { if (!m_renderer) return nullptr; updatePressedButtons(e, true); if (m_object.type == Rendering::InvalidType) return nullptr; if (m_molecule) { m_molecule->setInteractive(false); } switch (e->button()) { case Qt::LeftButton: case Qt::RightButton: resetObject(); e->accept(); break; default: break; } return nullptr; } QUndoCommand* Manipulator::mouseMoveEvent(QMouseEvent* e) { e->ignore(); if (!(m_pressedButtons & Qt::LeftButton)) return nullptr; const Core::Molecule* mol = &m_molecule->molecule(); Vector2f windowPos(e->localPos().x(), e->localPos().y()); if (mol->isSelectionEmpty() && m_object.type == Rendering::AtomType && m_object.molecule == mol) { // Update single atom position RWAtom atom = m_molecule->atom(m_object.index); Vector3f oldPos(atom.position3d().cast()); Vector3f newPos = m_renderer->camera().unProject(windowPos, oldPos); atom.setPosition3d(newPos.cast()); } else if (!mol->isSelectionEmpty()) { // update all selected atoms Vector3f newPos = m_renderer->camera().unProject(windowPos); Vector3f delta = newPos - m_lastMouse3D; for (Index i = 0; i < m_molecule->atomCount(); ++i) { if (!m_molecule->atomSelected(i)) continue; Vector3 currentPos = m_molecule->atomPosition3d(i); m_molecule->setAtomPosition3d(i, currentPos + delta.cast()); } // now that we've moved things, save the position m_lastMouse3D = newPos; } m_molecule->emitChanged(Molecule::Atoms | Molecule::Modified); e->accept(); return nullptr; } void Manipulator::updatePressedButtons(QMouseEvent* e, bool release) { /// @todo Use modifier keys on mac if (release) m_pressedButtons &= e->buttons(); else m_pressedButtons |= e->buttons(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/manipulator/manipulator.h000066400000000000000000000051201360735163600251570ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-13 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_MANIPULATOR_H #define AVOGADRO_QTPLUGINS_MANIPULATOR_H #include #include #include #include #include // for Qt:: namespace namespace Avogadro { namespace QtPlugins { /** * @class Manipulator manipulator.h * * @brief The Manipulator class manipulates a molecule's geometry. * @author David C. Lonie */ class Manipulator : public QtGui::ToolPlugin { Q_OBJECT public: explicit Manipulator(QObject* parent_ = nullptr); ~Manipulator() override; QString name() const override { return tr("Manipulate tool"); } QString description() const override { return tr("Manipulate tool"); } unsigned char priority() const override { return 30; } QAction* activateAction() const override { return m_activateAction; } QWidget* toolWidget() const override; void setMolecule(QtGui::Molecule* mol) override { if (mol) m_molecule = mol->undoMolecule(); } void setEditMolecule(QtGui::RWMolecule* mol) override { m_molecule = mol; } void setGLRenderer(Rendering::GLRenderer* renderer) override { m_renderer = renderer; } QUndoCommand* mousePressEvent(QMouseEvent* e) override; QUndoCommand* mouseReleaseEvent(QMouseEvent* e) override; QUndoCommand* mouseMoveEvent(QMouseEvent* e) override; private: /** * Update the currently pressed buttons, accounting for modifier keys. * \todo Account for modifier keys. */ void updatePressedButtons(QMouseEvent*, bool release); void resetObject() { m_object = Rendering::Identifier(); } QAction* m_activateAction; QtGui::RWMolecule* m_molecule; Rendering::GLRenderer* m_renderer; Rendering::Identifier m_object; Qt::MouseButtons m_pressedButtons; QPoint m_lastMousePosition; Vector3f m_lastMouse3D; }; } // namespace QtOpenGL } // namespace Avogadro #endif // AVOGADRO_QTOPENGL_MANIPULATOR_H avogadrolibs-1.93.0/avogadro/qtplugins/manipulator/manipulator.png000066400000000000000000000024641360735163600255240ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<IDATxW_LSg?OL -B&t b@88=̤/ݲi1ʼnJ`.1 lbRpw]Oa'w~9V[$VRHc} >1 `jr[Qر6gw88o#`Eעdaa<"Nd22&+BBBV򠯯OgOmb@(YUjpkrJÓ8F"ڷE:fNHQ,3J$K9 FTVDDD!mQ3k(wd]bޙ []1z"xG<)qT{9 ̨8QmY`SR003c a\?@Yqٓ`2# n>~C>hD~qWj=' ūINW pu.99Z[[###@1FOOOe2Qj@Cww7(xYgggy0WѤ!{-(E,F,ZCtUKapy߂%Ҍz 8N5R,ƍMoPt>5\r@GG e||L0BJkHg+K*p^@Bot:fZ2zo488 UWgk9K/ٱ_]YYni] 慂 0 ,--2I]]ik3 e$XT`(r$"ܼy ߏ`϶Q_㗅~g| W(D)I @o J?sOvyffr#+}-hs:8!1sssH$rtuu4}!Ve~~`ll^ݵ%%GlL,VUm^\tUp"Ĺ%*#ޝ @wqdV Z,괴T5VoX]F0|+{,P2IENDB`avogadrolibs-1.93.0/avogadro/qtplugins/manipulator/manipulator.qrc000066400000000000000000000002131360735163600255130ustar00rootroot00000000000000 manipulator.png manipulator@2x.png avogadrolibs-1.93.0/avogadro/qtplugins/manipulator/manipulator@2x.png000066400000000000000000000060551360735163600260760ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp HUPLTEeefΙ|~ܲإҟxyzxy|UUV__`HHIbcdǭttu焄YYZoopaabwwxZ[]sstmmnpqrdddEEFnnoܘחTTUIIJGGHŽ{|zz{wy{OOPQQS]]^MMNghjhijhhiuuvqrt[\]AABKKLDDE@@ABBCLLMNNOFFG쑓^^_煇JJK\\]PPQRRSkklɎ󋋌~񙙚ffgCCDVVWcceXXYjjjOPQ𡡡uwy肄ȓvwz㹹kln_`alnpvvvWWXGHI봵|||}}~llmmnoшopr훝􍏒ffhZZ[߈SSTSTUwItRNSS%IDATxڤw\Up4E!%jK^h DjiIr̈́&1a(Cf-݋҅ۊQ[uT{Չ>}}?/?#e]f!!X^WCpr=k񰠀Kn@˵/? J/P79IF}ҼpX3no"A8,XUfF4KB68z: @y&?ԖKmy+*S?__MԟQ '/p(AwurΡοc퍪3dI:Ʊ2=Sb:Tuv6ӊ`vE(D;TyvGߪ>hhK*)F+ ȧpx7^-+!=v{p MҘE'7!HsqC@(8 WXYŪ+=7Y{nт}}WLU{ ևt@>9MAL=G>f: ;2q)>KmН1F!_  F` JQÌOvBLęOm{&#O@)/ f `3-r`ɟzߡf%li#б\h 1:t޳swROmo(MiT|hn"E4xOl\Ղ&!Г6arTP'> C"^*>Uw vIsf*#ѝ@ <菐OO;aíPo{lDqK=o-BV'݋^ g?s5YHNyt3 ^&a ±I3`;Q6g724#=Ƚ"WR(A0 JJ}iv[$w"sQqU !oD_}^u4 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using Avogadro::Core::Atom; using Avogadro::Core::Elements; using Avogadro::Rendering::GeometryNode; using Avogadro::Rendering::GroupNode; using Avogadro::Rendering::Identifier; using Avogadro::Rendering::TextLabel2D; using Avogadro::Rendering::TextLabel3D; using Avogadro::Rendering::TextProperties; namespace Avogadro { namespace QtPlugins { MeasureTool::MeasureTool(QObject* parent_) : QtGui::ToolPlugin(parent_), m_activateAction(new QAction(this)), m_molecule(nullptr), m_rwMolecule(nullptr), m_renderer(nullptr) { m_activateAction->setText(tr("Measure")); m_activateAction->setIcon(QIcon(":/icons/measuretool.png")); } MeasureTool::~MeasureTool() { } QWidget* MeasureTool::toolWidget() const { return nullptr; } QUndoCommand* MeasureTool::mousePressEvent(QMouseEvent* e) { if (e->button() != Qt::LeftButton || !m_renderer) return nullptr; Identifier hit = m_renderer->hit(e->pos().x(), e->pos().y()); // If an atom is clicked, accept the event, but don't add it to the atom list // until the button is released (this way the user can cancel the click by // moving off the atom, and the click won't get passed to the default tool). if (hit.type == Rendering::AtomType) e->accept(); return nullptr; } QUndoCommand* MeasureTool::mouseReleaseEvent(QMouseEvent* e) { // If the click is released on an atom, add it to the list if (e->button() != Qt::LeftButton || !m_renderer) return nullptr; Identifier hit = m_renderer->hit(e->pos().x(), e->pos().y()); // Now add the atom on release. if (hit.type == Rendering::AtomType) { if (toggleAtom(hit)) emit drawablesChanged(); e->accept(); } return nullptr; } QUndoCommand* MeasureTool::mouseDoubleClickEvent(QMouseEvent* e) { // Reset the atom list if (e->button() == Qt::LeftButton && !m_atoms.isEmpty()) { m_atoms.clear(); emit drawablesChanged(); e->accept(); } return nullptr; } template void MeasureTool::createLabels(T* mol, GeometryNode* geo, QVector& positions) { TextProperties atomLabelProp; atomLabelProp.setFontFamily(TextProperties::SansSerif); atomLabelProp.setAlign(TextProperties::HCenter, TextProperties::VCenter); for (int i = 0; i < m_atoms.size(); ++i) { Identifier& ident = m_atoms[i]; Q_ASSERT(ident.type == Rendering::AtomType); Q_ASSERT(ident.molecule != nullptr); typename T::AtomType atom = mol->atom(ident.index); Q_ASSERT(atom.isValid()); unsigned char atomicNumber(atom.atomicNumber()); positions[i] = atom.position3d(); const unsigned char* color = Elements::color(atomicNumber); atomLabelProp.setColorRgb(contrastingColor(Vector3ub(color)).data()); TextLabel3D* label = new TextLabel3D; label->setText(QString("#%1").arg(i + 1).toStdString()); label->setTextProperties(atomLabelProp); label->setAnchor(positions[i].cast()); label->setRadius( static_cast(Elements::radiusCovalent(atomicNumber))); geo->addDrawable(label); } } void MeasureTool::draw(Rendering::GroupNode& node) { if (m_atoms.size() == 0) return; GeometryNode* geo = new GeometryNode; node.addChild(geo); // Add labels, extract positions QVector positions(m_atoms.size(), Vector3()); if (m_molecule) createLabels(m_molecule, geo, positions); else if (m_rwMolecule) createLabels(m_rwMolecule, geo, positions); // Calculate angles and distances Vector3 v1; Vector3 v2; Vector3 v3; Real v1Norm = -1.f; Real v2Norm = -1.f; Real v3Norm = -1.f; switch (m_atoms.size()) { case 4: v3 = positions[3] - positions[2]; v3Norm = v3.norm(); case 3: v2 = positions[2] - positions[1]; v2Norm = v2.norm(); case 2: v1 = positions[1] - positions[0]; v1Norm = v1.norm(); default: break; } QString overlayText; float angle23 = 361.f; float angle12 = 361.f; QString dihedralLabel = tr("Dihedral:"); QString angleLabel = tr("Angle:"); QString distanceLabel = tr("Distance:"); // Use the longest label size to determine the field width. Negate it to // indicate left-alignment. int labelWidth = -std::max(std::max(dihedralLabel.size(), angleLabel.size()), distanceLabel.size()); switch (m_atoms.size()) { case 4: overlayText += QString("%1 %L2\n") .arg(tr("Dihedral:"), labelWidth) .arg(tr("%L1°").arg(dihedralAngle(v1, v2, v3), 10, 'f', 5), 10); angle23 = static_cast(std::acos((-v2).dot(v3) / (v2Norm * v3Norm))) * RAD_TO_DEG_F; // fall through case 3: angle12 = static_cast(std::acos((-v1).dot(v2) / (v1Norm * v2Norm))) * RAD_TO_DEG_F; overlayText += QString("%1 %L2 %L3\n") .arg(tr("Angles:"), labelWidth) .arg(tr("%L1°").arg(angle12, 10, 'f', 5), 10) .arg(angle23 < 360.f ? tr("%L1°").arg(angle23, 10, 'f', 5) : QString(), 10); // fall through case 2: overlayText += QString("%1 %L2 %L3 %L4") .arg(tr("Distance:"), labelWidth) .arg(tr("%L1 Å").arg(v1Norm, 10, 'f', 5), 10) .arg(v2Norm >= 0.f ? tr("%L1 Å").arg(v2Norm, 10, 'f', 5) : QString(), 10) .arg(v3Norm >= 0.f ? tr("%L1 Å").arg(v3Norm, 10, 'f', 5) : QString(), 10); default: break; } if (overlayText.isEmpty()) return; TextProperties overlayTProp; overlayTProp.setFontFamily(TextProperties::Mono); overlayTProp.setColorRgb(64, 255, 220); overlayTProp.setAlign(TextProperties::HLeft, TextProperties::VBottom); TextLabel2D* label = new TextLabel2D; label->setText(overlayText.toStdString()); label->setTextProperties(overlayTProp); label->setRenderPass(Rendering::Overlay2DPass); label->setAnchor(Vector2i(10, 10)); geo->addDrawable(label); } inline Vector3ub MeasureTool::contrastingColor(const Vector3ub& rgb) const { // If we're far 'enough' (+/-32) away from 128, just invert the component. // If we're close to 128, inverting the color will end up too close to the // input -- adjust the component before inverting. const unsigned char minVal = 32; const unsigned char maxVal = 223; Vector3ub result; for (size_t i = 0; i < 3; ++i) { unsigned char input = rgb[i]; if (input > 160 || input < 96) result[i] = static_cast(255 - input); else result[i] = static_cast(255 - (input / 4)); // Clamp to 32-->223 to prevent pure black/white result[i] = std::min(maxVal, std::max(minVal, result[i])); } return result; } float MeasureTool::dihedralAngle(const Vector3& b1, const Vector3& b2, const Vector3& b3) const { // See http://math.stackexchange.com/questions/47059/ // how-do-i-calculate-a-dihedral-angle-given-cartesian-coordinates // for description of algorithm const Vector3 n1 = b1.cross(b2).normalized(); const Vector3 n2 = b2.cross(b3).normalized(); const Vector3 m1 = n1.cross(b2.normalized()); const Real x(n1.dot(n2)); const Real y(m1.dot(n2)); return static_cast(std::atan2(y, x)) * RAD_TO_DEG_F; } bool MeasureTool::toggleAtom(const Rendering::Identifier& atom) { int ind = m_atoms.indexOf(atom); if (ind >= 0) { m_atoms.remove(ind); return true; } if (m_atoms.size() >= 4) return false; m_atoms.push_back(atom); return true; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/measuretool/measuretool.h000066400000000000000000000063251360735163600251770ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. Adapted from Avogadro 1.x with the following authors' permission: Copyright 2007 Donald Ephraim Curtis Copyright 2008 Marcus D. Hanwell This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_MEASURETOOL_H #define AVOGADRO_QTPLUGINS_MEASURETOOL_H #include #include #include #include #include namespace Avogadro { namespace QtPlugins { /** * @brief MeasureTool displays distances and angles between selected atoms. * * Based on the Avogadro 1.x implementation by Donald Ephraim Curtis and Marcus * D. Hanwell. */ class MeasureTool : public QtGui::ToolPlugin { Q_OBJECT public: explicit MeasureTool(QObject* parent_ = nullptr); ~MeasureTool() override; QString name() const override { return tr("Measure tool"); } QString description() const override { return tr("Measure tool"); } unsigned char priority() const override { return 60; } QAction* activateAction() const override { return m_activateAction; } QWidget* toolWidget() const override; void setMolecule(QtGui::Molecule*) override; void setEditMolecule(QtGui::RWMolecule*) override; void setGLRenderer(Rendering::GLRenderer* renderer) override; QUndoCommand* mousePressEvent(QMouseEvent* e) override; QUndoCommand* mouseReleaseEvent(QMouseEvent* e) override; QUndoCommand* mouseDoubleClickEvent(QMouseEvent* e) override; void draw(Rendering::GroupNode& node) override; private: Vector3ub contrastingColor(const Vector3ub& rgb) const; // for four atoms a,b,c,d, b1 = b-a, b2 = c-b, b3 = d-c. Returns degrees. float dihedralAngle(const Vector3& b1, const Vector3& b2, const Vector3& b3) const; bool toggleAtom(const Rendering::Identifier& atom); template void createLabels(T* mol, Rendering::GeometryNode* geo, QVector& positions); QAction* m_activateAction; QtGui::Molecule* m_molecule; QtGui::RWMolecule* m_rwMolecule; Rendering::GLRenderer* m_renderer; QVector m_atoms; }; inline void MeasureTool::setMolecule(QtGui::Molecule* mol) { if (m_molecule != mol) { m_atoms.clear(); m_molecule = mol; m_rwMolecule = nullptr; } } inline void MeasureTool::setEditMolecule(QtGui::RWMolecule* mol) { if (m_rwMolecule != mol) { m_atoms.clear(); m_rwMolecule = mol; m_molecule = nullptr; } } inline void MeasureTool::setGLRenderer(Rendering::GLRenderer* renderer) { m_renderer = renderer; } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_MEASURETOOL_H avogadrolibs-1.93.0/avogadro/qtplugins/measuretool/measuretool.png000066400000000000000000000012621360735163600255270ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<TIDATxUN@LR"H9PU܊ Jpq搖' T @P8F ͌=w7A1|l B- Px&Їucx&뀱nv UG4dB}$ed#ēTt&閒1F{tH RxxV^M=N$\(QaJ p+1m {SBz[j;sX[)vW\Thwg6,1d6̓. axY]1d6ͥDq t?;cD,/H7O2>[__ ux _] >:M<̽RU{ 4 po Xz7:=]O>uߍoٿ^Dvp-tπz!C Wn.^h߆W׋3l 0t&P#IENDB`avogadrolibs-1.93.0/avogadro/qtplugins/measuretool/measuretool.qrc000066400000000000000000000002131360735163600255230ustar00rootroot00000000000000 measuretool.png measuretool@2x.png avogadrolibs-1.93.0/avogadro/qtplugins/measuretool/measuretool@2x.png000066400000000000000000000034731360735163600261070ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp 'TMPLTEe )2IHHiFjijhjeikہgfbaV;CJJIc^ᖚ-6壧诳"+JJC빼a_HVTE~N݈JIIŽ\$-U{W뻾@@AIIH䠤adc_OOJ``V궹EEFCCC^]TY``^HbhۃᗛeDDB?G樬OVތ귺[YFKKHbbJICUSFMLI谳WWPflMMI,5QPK_RQM[bWVFUTEAAA~+4pu]\RdWVPuz'0樫㟣a_[HhcJrlLk otRNSVvIDATxS0B@AE{?5!mE<} m "MKhEe)xl < 쒛GIC"!tF}r-0LY_%0k0</I/InBs;ŞRB +׭IEpGG7|ˬqӀ^gPǐesC2v@__u4}piG}C{a 2޿aeAK&\ -Ɛ$ȿ'cMB3~P8Wĺ< eUqyL#'´u#2jW/:]S_<:K&t^l)%A7!8G$yA ) EA]32i'ަ{p .F l藍 l;sTG, *F!F' T @Z!^,h P!dREԷ|:pIENDB`avogadrolibs-1.93.0/avogadro/qtplugins/meshes/000077500000000000000000000000001360735163600214065ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/meshes/CMakeLists.txt000066400000000000000000000002351360735163600241460ustar00rootroot00000000000000avogadro_plugin(Meshes "Mesh rendering" ScenePlugin meshes.h Meshes meshes.cpp "") target_link_libraries(Meshes LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/meshes/meshes.cpp000066400000000000000000000062021360735163600233760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "meshes.h" #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Mesh; using Core::Molecule; using Rendering::GeometryNode; using Rendering::GroupNode; using Rendering::MeshGeometry; Meshes::Meshes(QObject* p) : ScenePlugin(p), m_enabled(true) {} Meshes::~Meshes() {} // Generator for std::generate call below: namespace { struct Sequence { Sequence() : i(0) {} unsigned int operator()() { return i++; } void reset() { i = 0; } unsigned int i; }; } void Meshes::process(const Molecule& mol, GroupNode& node) { GeometryNode* geometry = new GeometryNode; node.addChild(geometry); unsigned char opacity = 150; if (mol.meshCount()) { const Mesh* mesh = mol.mesh(0); /// @todo Allow use of MeshGeometry without an index array when all vertices /// form explicit triangles. // Create index array: Sequence indexGenerator; Core::Array indices(mesh->numVertices()); std::generate(indices.begin(), indices.end(), indexGenerator); MeshGeometry* mesh1 = new MeshGeometry; geometry->addDrawable(mesh1); mesh1->setColor(Vector3ub(255, 0, 0)); mesh1->setOpacity(opacity); mesh1->addVertices(mesh->vertices(), mesh->normals()); mesh1->addTriangles(indices); mesh1->setRenderPass(opacity == 255 ? Rendering::OpaquePass : Rendering::TranslucentPass); if (mol.meshCount() >= 2) { MeshGeometry* mesh2 = new MeshGeometry; geometry->addDrawable(mesh2); mesh = mol.mesh(1); if (mesh->numVertices() < indices.size()) { indices.resize(mesh->numVertices()); } else if (mesh->numVertices() > indices.size()) { indexGenerator.reset(); indices.resize(mesh->numVertices()); std::generate(indices.begin(), indices.end(), indexGenerator); } mesh2->setColor(Vector3ub(0, 0, 255)); mesh2->setOpacity(opacity); mesh2->addVertices(mesh->vertices(), mesh->normals()); mesh2->addTriangles(indices); mesh2->setRenderPass(opacity == 255 ? Rendering::OpaquePass : Rendering::TranslucentPass); } } } bool Meshes::isEnabled() const { return m_enabled; } void Meshes::setEnabled(bool enable) { m_enabled = enable; } } } avogadrolibs-1.93.0/avogadro/qtplugins/meshes/meshes.h000066400000000000000000000026571360735163600230550ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_MESHES_H #define AVOGADRO_QTPLUGINS_MESHES_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Render one or more triangular meshes. * @author Marcus D. Hanwell */ class Meshes : public QtGui::ScenePlugin { Q_OBJECT public: explicit Meshes(QObject* parent = 0); ~Meshes() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("Meshes"); } QString description() const override { return tr("Render triangle meshes."); } bool isEnabled() const override; void setEnabled(bool enable) override; private: bool m_enabled; }; } // end namespace QtPlugins } // end namespace Avogadro #endif // AVOGADRO_QTPLUGINS_MESHES_H avogadrolibs-1.93.0/avogadro/qtplugins/molecularproperties/000077500000000000000000000000001360735163600242225ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/molecularproperties/CMakeLists.txt000066400000000000000000000004461360735163600267660ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_BINARY_DIR}) avogadro_plugin(MolecularProperties "Show a window with basic molecular properties." ExtensionPlugin molecularproperties.h MolecularProperties "molecularproperties.cpp;molecularpropertiesdialog.cpp" "molecularpropertiesdialog.ui" ) avogadrolibs-1.93.0/avogadro/qtplugins/molecularproperties/molecularproperties.cpp000066400000000000000000000036001360735163600310250ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "molecularproperties.h" #include "molecularpropertiesdialog.h" #include #include namespace Avogadro { namespace QtPlugins { MolecularProperties::MolecularProperties(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_action(new QAction(this)), m_dialog(nullptr), m_molecule(nullptr) { m_action->setEnabled(true); m_action->setText("&Molecular Properties..."); connect(m_action, SIGNAL(triggered()), SLOT(showDialog())); } MolecularProperties::~MolecularProperties() { } QString MolecularProperties::description() const { return tr("View general properties of a molecule."); } QList MolecularProperties::actions() const { return QList() << m_action; } QStringList MolecularProperties::menuPath(QAction*) const { return QStringList() << tr("&View"); } void MolecularProperties::setMolecule(QtGui::Molecule* mol) { if (mol == m_molecule) return; m_molecule = mol; if (m_dialog) m_dialog->setMolecule(m_molecule); } void MolecularProperties::showDialog() { if (!m_dialog) { m_dialog = new MolecularPropertiesDialog( m_molecule, qobject_cast(this->parent())); } m_dialog->show(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/molecularproperties/molecularproperties.h000066400000000000000000000032511360735163600304740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_MOLECULARPROPERTIES_H #define AVOGADRO_QTPLUGINS_MOLECULARPROPERTIES_H #include namespace Avogadro { namespace Core { class Molecule; } namespace QtPlugins { class MolecularPropertiesDialog; /** * @brief The MolecularProperties class is an extension to launch * a MolecularPropertiesDialog. */ class MolecularProperties : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit MolecularProperties(QObject* parent_ = 0); ~MolecularProperties() override; QString name() const override { return tr("Molecular Properties"); } QString description() const override; QList actions() const override; QStringList menuPath(QAction*) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; private slots: void showDialog(); private: QAction* m_action; MolecularPropertiesDialog* m_dialog; QtGui::Molecule* m_molecule; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_MOLECULARPROPERTIESEXTENSION_H avogadrolibs-1.93.0/avogadro/qtplugins/molecularproperties/molecularpropertiesdialog.cpp000066400000000000000000000055271360735163600322170ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "molecularpropertiesdialog.h" #include "ui_molecularpropertiesdialog.h" #include #include using Avogadro::QtGui::Molecule; namespace Avogadro { namespace QtPlugins { MolecularPropertiesDialog::MolecularPropertiesDialog(QtGui::Molecule* mol, QWidget* parent_) : QDialog(parent_), m_molecule(nullptr), m_ui(new Ui::MolecularPropertiesDialog) { m_ui->setupUi(this); setMolecule(mol); } MolecularPropertiesDialog::~MolecularPropertiesDialog() { delete m_ui; } void MolecularPropertiesDialog::setMolecule(QtGui::Molecule* mol) { if (mol == m_molecule) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (!m_molecule) return; connect(m_molecule, SIGNAL(changed(unsigned int)), SLOT(updateLabels())); connect(m_molecule, SIGNAL(destroyed()), SLOT(moleculeDestroyed())); updateLabels(); } void MolecularPropertiesDialog::updateLabels() { if (m_molecule) { updateMassLabel(); updateFormulaLabel(); m_ui->atomCountLabel->setText(QString::number(m_molecule->atomCount())); m_ui->bondCountLabel->setText(QString::number(m_molecule->bondCount())); } else { m_ui->molMassLabel->clear(); m_ui->formulaLabel->clear(); m_ui->atomCountLabel->clear(); m_ui->bondCountLabel->clear(); } } void MolecularPropertiesDialog::updateMassLabel() { double mass = 0.0; for (size_t i = 0; i < m_molecule->atomCount(); ++i) mass += Core::Elements::mass(m_molecule->atom(i).atomicNumber()); m_ui->molMassLabel->setText(QString::number(mass, 'f', 3)); } void MolecularPropertiesDialog::updateFormulaLabel() { QString formula = QString::fromStdString(m_molecule->formula()); QRegExp digitParser("(\\d+)"); int ind = digitParser.indexIn(formula); while (ind != -1) { QString digits = digitParser.cap(1); formula.replace(ind, digits.size(), QString("%1").arg(digits)); ind = digitParser.indexIn(formula, ind + digits.size() + 11); } m_ui->formulaLabel->setText(formula); } void MolecularPropertiesDialog::moleculeDestroyed() { m_molecule = nullptr; updateLabels(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/molecularproperties/molecularpropertiesdialog.h000066400000000000000000000035071360735163600316600ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_MOLECULARPROPERTIESDIALOG_H #define AVOGADRO_QTGUI_MOLECULARPROPERTIESDIALOG_H #include namespace Avogadro { namespace QtGui { class Molecule; } namespace QtPlugins { namespace Ui { class MolecularPropertiesDialog; } /** * @class MolecularPropertiesDialog molecularpropertiesdialog.h * * @brief The MolecularPropertiesDialog class provides a dialog which displays * basic molecular properties. * @author David C. Lonie * * @todo IUPAC name fetch (need inchi key). */ class MolecularPropertiesDialog : public QDialog { Q_OBJECT public: explicit MolecularPropertiesDialog(QtGui::Molecule* mol, QWidget* parent_ = 0); ~MolecularPropertiesDialog() override; QtGui::Molecule* molecule() { return m_molecule; } public slots: void setMolecule(QtGui::Molecule* mol); private slots: void updateLabels(); void updateMassLabel(); void updateFormulaLabel(); void moleculeDestroyed(); private: QtGui::Molecule* m_molecule; Ui::MolecularPropertiesDialog* m_ui; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTGUI_MOLECULARPROPERTIESDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/molecularproperties/molecularpropertiesdialog.ui000066400000000000000000000063561360735163600320530ustar00rootroot00000000000000 Avogadro::QtPlugins::MolecularPropertiesDialog 0 0 316 107 Dialog QFormLayout::ExpandingFieldsGrow Molecular Mass (g/mol): TODO Chemical Formula: TODO Number of Atoms: TODO Number of Bonds: TODO Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() Avogadro::QtPlugins::MolecularPropertiesDialog accept() 248 254 157 274 buttonBox rejected() Avogadro::QtPlugins::MolecularPropertiesDialog reject() 316 260 286 274 avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/000077500000000000000000000000001360735163600220765ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/CMakeLists.txt000066400000000000000000000010371360735163600246370ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_BINARY_DIR}) # Extension set(srcs mongochem.cpp mongochemwidget.cpp girderrequest.cpp configdialog.cpp listmoleculesmodel.cpp calculationsubmitter.cpp calculationwatcher.cpp submitcalculationdialog.cpp ) set(uis mongochemwidget.ui configdialog.ui submitcalculationdialog.ui ) avogadro_plugin(MongoChem "HTTP interface with mongochemserver" ExtensionPlugin mongochem.h MongoChem "${srcs}" "${uis}" ) target_link_libraries(MongoChem LINK_PRIVATE ${Qt5Network_LIBRARIES}) avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/calculationsubmitter.cpp000066400000000000000000000325651360735163600270520ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "calculationsubmitter.h" #include "girderrequest.h" #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { static void deleteRequestWhenFinished(GirderRequest* r) { QObject::connect(r, &GirderRequest::result, r, &GirderRequest::deleteLater); QObject::connect(r, &GirderRequest::error, r, &GirderRequest::deleteLater); } CalculationSubmitter::CalculationSubmitter( QSharedPointer manager, const QString& girderUrl, const QString& girderToken, QObject* parent) : QObject(parent), m_girderUrl(girderUrl), m_girderToken(girderToken), m_networkManager(manager) {} CalculationSubmitter::~CalculationSubmitter() = default; static bool parseImageName(const QString& imageName, QString& repository, QString& tag) { auto split = imageName.split(":"); repository = split[0]; if (split.size() > 1) tag = split[1]; else tag = "latest"; return true; } void CalculationSubmitter::start() { // Start by uploading the molecule (but note that if a molecule // with a matching inchikey exists, that one will be used instead) uploadMolecule(); } void CalculationSubmitter::uploadMolecule() { QJsonObject object({ { "cjson", m_moleculeCjson } }); QByteArray postData = QJsonDocument(object).toJson(); QString url = m_girderUrl + "/molecules"; auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request->post(postData); connect(request, &GirderRequest::result, this, &CalculationSubmitter::finishUploadMolecule); connect(request, &GirderRequest::error, this, &CalculationSubmitter::error); deleteRequestWhenFinished(request); } void CalculationSubmitter::finishUploadMolecule(const QVariant& results) { m_moleculeId = results.toMap()["_id"].toString(); if (m_moleculeId.isEmpty()) { emit error("Failed to upload molecule!"); return; } // Now, upload the particular geometry that we will use uploadGeometry(); } void CalculationSubmitter::uploadGeometry() { QByteArray postData = m_moleculeCjson.toLatin1(); QString url =(m_girderUrl + "/molecules/%1/geometries").arg(m_moleculeId); QList> urlQueries = { { "provenanceType", "Uploaded from Avogadro2" } }; auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request->setUrlQueries(urlQueries); request->post(postData); connect(request, &GirderRequest::result, this, &CalculationSubmitter::finishUploadGeometry); connect(request, &GirderRequest::error, this, &CalculationSubmitter::error); deleteRequestWhenFinished(request); } void CalculationSubmitter::finishUploadGeometry(const QVariant& results) { m_geometryId = results.toMap()["_id"].toString(); if (m_geometryId.isEmpty()) { emit error("Failed to upload geometry!"); return; } // Now, make sure the calculation has not already been done before. fetchCalculation(); } void CalculationSubmitter::fetchCalculation() { QString repository, tag; parseImageName(m_imageName, repository, tag); QByteArray inputParams = QJsonDocument::fromVariant(m_inputParameters) .toJson(QJsonDocument::Compact); QString url = m_girderUrl + "/calculations"; QList> urlQueries = { { "moleculeId", m_moleculeId }, { "geometryId", m_geometryId }, { "inputParameters", inputParams }, { "imageName", QString("%1:%2").arg(repository).arg(tag) } }; auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setUrlQueries(urlQueries); request->get(); connect(request, &GirderRequest::result, this, &CalculationSubmitter::finishFetchCalculation); connect(request, &GirderRequest::error, this, &CalculationSubmitter::handleError); deleteRequestWhenFinished(request); } void CalculationSubmitter::finishFetchCalculation(const QVariant& results) { auto resultsList = results.toMap()["results"].toList(); if (resultsList.size() != 0) { // The calculation has already been done. Get the id and emit it. QVariantMap output; output["calculationId"] = resultsList[0].toMap()["_id"].toString(); // TODO: We are currently always submitting the calculation // It might be nice in the future to fetch it if it has already // been done. /* emit finished(output); return; */ } fetchCluster(); } void CalculationSubmitter::fetchCluster() { // Just grab the first cluster we can find... QString url = m_girderUrl + "/clusters"; auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->get(); connect(request, &GirderRequest::result, this, &CalculationSubmitter::finishFetchCluster); connect(request, &GirderRequest::error, this, &CalculationSubmitter::handleError); deleteRequestWhenFinished(request); } void CalculationSubmitter::finishFetchCluster(const QVariant& results) { auto resultsList = results.toList(); if (resultsList.size() == 0) { emit error("No clusters found!"); return; } m_clusterId = resultsList[0].toMap()["_id"].toString(); if (m_clusterId.isEmpty()) { emit error("Cluster ID not found!"); return; } fetchOrCreateQueue(); } void CalculationSubmitter::fetchOrCreateQueue() { // First try a fetch... QString url = m_girderUrl + "/queues"; QList> urlQueries = { { "name", "oc_queue" } }; auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setUrlQueries(urlQueries); request->get(); connect(request, &GirderRequest::result, this, &CalculationSubmitter::finishFetchOrCreateQueue); connect(request, &GirderRequest::error, this, &CalculationSubmitter::handleError); deleteRequestWhenFinished(request); } void CalculationSubmitter::finishFetchOrCreateQueue(const QVariant& results) { auto resultsList = results.toList(); if (resultsList.size() == 0) { // Create the queue createQueue(); return; } m_queueId = resultsList[0].toMap()["_id"].toString(); if (m_queueId.isEmpty()) { emit error("Queue ID not found!"); return; } createPendingCalculation(); } void CalculationSubmitter::createQueue() { QString url = m_girderUrl + "/queues"; QList> urlQueries = { { "name", "oc_queue" }, { "maxRunning", "5" } }; auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setUrlQueries(urlQueries); request->setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); // The post data is empty in this case request->post(""); connect(request, &GirderRequest::result, this, &CalculationSubmitter::finishCreateQueue); connect(request, &GirderRequest::error, this, &CalculationSubmitter::handleError); deleteRequestWhenFinished(request); } void CalculationSubmitter::finishCreateQueue(const QVariant& results) { m_queueId = results.toMap()["_id"].toString(); if (m_queueId.isEmpty()) { emit error("Failed to create queue!"); return; } createPendingCalculation(); } void CalculationSubmitter::createPendingCalculation() { QString repository, tag; parseImageName(m_imageName, repository, tag); /** * Needs to look something like this: * { * 'moleculeId': molecule_id, * 'cjson': None, * 'public': True, * 'properties': { * 'pending': True * }, * 'input': { * 'parameters': input_parameters, * }, * 'image': { * 'repository': repository, * 'tag': tag * } * } * * * TODO: Maybe we can find a more concise way to do this in * the future? */ QJsonObject json; json["moleculeId"] = m_moleculeId; json["geometryId"] = m_geometryId; json["public"] = true; json["cjson"] = QJsonValue(); QJsonObject properties; properties["pending"] = true; json["properties"] = properties; QJsonObject input; input["parameters"] = QJsonValue::fromVariant(m_inputParameters); json["input"] = input; QJsonObject image; image["repository"] = repository; image["tag"] = tag; json["image"] = image; QString url = m_girderUrl + "/calculations"; QByteArray postData = QJsonDocument(json).toJson(QJsonDocument::Compact); auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request->post(postData); connect(request, &GirderRequest::result, this, &CalculationSubmitter::finishCreatePendingCalculation); connect(request, &GirderRequest::error, this, &CalculationSubmitter::error); deleteRequestWhenFinished(request); } void CalculationSubmitter::finishCreatePendingCalculation( const QVariant& results) { m_pendingCalculationId = results.toMap()["_id"].toString(); if (m_pendingCalculationId.isEmpty()) { emit error("Failed to create pending calculation"); return; } createTaskFlow(); } void CalculationSubmitter::createTaskFlow() { QString repository, tag; parseImageName(m_imageName, repository, tag); QJsonObject json; json["taskFlowClass"] = "taskflows.OpenChemistryTaskFlow"; QJsonObject meta; meta["calculationIds"] = QJsonArray({ m_pendingCalculationId }); QJsonObject image; image["repository"] = repository; image["tag"] = tag; meta["image"] = image; json["meta"] = meta; QString url = m_girderUrl + "/taskflows"; QByteArray postData = QJsonDocument(json).toJson(QJsonDocument::Compact); auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request->post(postData); connect(request, &GirderRequest::result, this, &CalculationSubmitter::finishCreateTaskFlow); connect(request, &GirderRequest::error, this, &CalculationSubmitter::error); deleteRequestWhenFinished(request); } void CalculationSubmitter::finishCreateTaskFlow(const QVariant& results) { m_taskFlowId = results.toMap()["_id"].toString(); if (m_taskFlowId.isEmpty()) { emit error("Failed to create taskflow!"); return; } addTaskFlowToQueue(); } void CalculationSubmitter::addTaskFlowToQueue() { QString repository, tag; parseImageName(m_imageName, repository, tag); QJsonObject json; json["runParameters"] = QJsonObject(); QJsonObject input; input["calculations"] = QJsonArray({ m_pendingCalculationId }); json["input"] = input; QJsonObject image; image["repository"] = repository; image["tag"] = tag; json["image"] = image; QJsonObject cluster; cluster["_id"] = m_clusterId; json["cluster"] = cluster; QString url = (m_girderUrl + "/queues/%1/add/%2").arg(m_queueId).arg(m_taskFlowId); QByteArray data = QJsonDocument(json).toJson(QJsonDocument::Compact); auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request->put(data); connect(request, &GirderRequest::result, this, &CalculationSubmitter::finishAddTaskFlowToQueue); connect(request, &GirderRequest::error, this, &CalculationSubmitter::error); deleteRequestWhenFinished(request); } void CalculationSubmitter::finishAddTaskFlowToQueue(const QVariant& results) { popQueue(); } void CalculationSubmitter::popQueue() { QString url = (m_girderUrl + "/queues/%1/pop").arg(m_queueId); QList> urlQueries = { { "multi", "true" } }; auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setUrlQueries(urlQueries); request->setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); request->put(""); connect(request, &GirderRequest::result, this, &CalculationSubmitter::finishPopQueue); connect(request, &GirderRequest::error, this, &CalculationSubmitter::error); deleteRequestWhenFinished(request); } void CalculationSubmitter::finishPopQueue(const QVariant& results) { QVariantMap output; output["pendingCalculationId"] = m_pendingCalculationId; output["taskFlowId"] = m_taskFlowId; emit finished(output); } void CalculationSubmitter::handleError(const QString& msg, QNetworkReply* networkReply) { QString message = msg; if (!msg.startsWith("Girder error:")) message.prepend("Girder error:"); emit error(message, networkReply); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/calculationsubmitter.h000066400000000000000000000064701360735163600265130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_CALCULATIONSUBMITTER_H #define AVOGADRO_QTPLUGINS_CALCULATIONSUBMITTER_H #include #include #include class QNetworkAccessManager; class QNetworkReply; namespace Avogadro { namespace QtPlugins { class CalculationSubmitter : public QObject { Q_OBJECT public: explicit CalculationSubmitter(QSharedPointer manager, const QString& girderUrl, const QString& girderToken, QObject* parent = nullptr); ~CalculationSubmitter() override; void setMoleculeCjson(const QString& cjson) { m_moleculeCjson = cjson; } void setContainerName(const QString& name) { m_containerName = name; } void setImageName(const QString& name) { m_imageName = name; } void setInputParameters(const QVariantMap& m) { m_inputParameters = m; } void start(); signals: // The results will contain "calculationId" if the calculation has // already been done before. The results will contain "taskFlowId" // if a new calculation was submitted. void finished(const QVariantMap& results); void error(const QString& errorMessage, QNetworkReply* error = nullptr); private slots: void uploadMolecule(); void finishUploadMolecule(const QVariant& results); void uploadGeometry(); void finishUploadGeometry(const QVariant& results); void fetchCalculation(); void finishFetchCalculation(const QVariant& results); void fetchCluster(); void finishFetchCluster(const QVariant& results); void fetchOrCreateQueue(); void finishFetchOrCreateQueue(const QVariant& results); void createQueue(); void finishCreateQueue(const QVariant& results); void createPendingCalculation(); void finishCreatePendingCalculation(const QVariant& results); void createTaskFlow(); void finishCreateTaskFlow(const QVariant& results); void addTaskFlowToQueue(); void finishAddTaskFlowToQueue(const QVariant& results); void popQueue(); void finishPopQueue(const QVariant& results); void handleError(const QString& msg, QNetworkReply* networkReply); private: QString m_girderUrl = "http://localhost:8080/api/v1"; QString m_girderToken; // These should be set before starting QString m_moleculeCjson; QString m_containerName; QString m_imageName; QVariantMap m_inputParameters; // These will be set during the process QString m_moleculeId; QString m_geometryId; QString m_pendingCalculationId; QString m_clusterId; QString m_queueId; QString m_taskFlowId; QSharedPointer m_networkManager; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_CALCULATIONSUBMITTER_H avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/calculationwatcher.cpp000066400000000000000000000064301360735163600264610ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "calculationwatcher.h" #include "girderrequest.h" #include #include #include #include #include namespace Avogadro { namespace QtPlugins { static void deleteRequestWhenFinished(GirderRequest* r) { QObject::connect(r, &GirderRequest::result, r, &GirderRequest::deleteLater); QObject::connect(r, &GirderRequest::error, r, &GirderRequest::deleteLater); } CalculationWatcher::CalculationWatcher( QSharedPointer manager, const QString& girderUrl, const QString& girderToken, const QString& pendingCalculationId, QObject* parent) : QObject(parent), m_girderUrl(girderUrl), m_girderToken(girderToken), m_pendingCalculationId(pendingCalculationId), m_networkManager(manager) {} CalculationWatcher::~CalculationWatcher() = default; void CalculationWatcher::start() { checkCalculation(); } void CalculationWatcher::checkCalculation() { QString url = (m_girderUrl + "/calculations/%1").arg(m_pendingCalculationId); auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->get(); qDebug() << "Checking calculation status..."; connect(request, &GirderRequest::result, this, &CalculationWatcher::finishCheckCalculation); connect(request, &GirderRequest::error, this, &CalculationWatcher::handleError); deleteRequestWhenFinished(request); } void CalculationWatcher::finishCheckCalculation(const QVariant& results) { // Perform a couple of sanity checks QString calculationId = results.toMap()["_id"].toString(); if (calculationId.isEmpty()) { emit error("In calculation watcher, calculation id not found!"); return; } if (calculationId != m_pendingCalculationId) { emit error("In calculation watcher, calculationId does not match!"); return; } // We assume the calculation is done when the cjson is present QVariantMap cjson = results.toMap()["cjson"].toMap(); if (cjson.isEmpty()) { qDebug() << "Calculation still running. Trying again in 5 seconds..."; // No results yet. Try again in 5 seconds. QTimer::singleShot(5000, this, &CalculationWatcher::checkCalculation); return; } qDebug() << "Calculation is complete!"; QByteArray cjsonData = QJsonDocument::fromVariant(cjson).toJson(QJsonDocument::Compact); emit finished(cjsonData); } void CalculationWatcher::handleError(const QString& msg, QNetworkReply* networkReply) { QString message = msg; if (!msg.startsWith("Girder error:")) message.prepend("Girder error:"); emit error(message, networkReply); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/calculationwatcher.h000066400000000000000000000036111360735163600261240ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_CALCULATIONWATCHER_H #define AVOGADRO_QTPLUGINS_CALCULATIONWATCHER_H #include #include class QNetworkAccessManager; class QNetworkReply; namespace Avogadro { namespace QtPlugins { class CalculationWatcher : public QObject { Q_OBJECT public: explicit CalculationWatcher(QSharedPointer manager, const QString& girderUrl, const QString& girderToken, const QString& pendingCalculationId, QObject* parent); ~CalculationWatcher() override; void start(); signals: void finished(const QByteArray& cjson); void error(const QString& errorMessage, QNetworkReply* error = nullptr); private slots: void checkCalculation(); void finishCheckCalculation(const QVariant& results); void handleError(const QString& msg, QNetworkReply* networkReply); private: QString m_girderUrl = "http://localhost:8080/api/v1"; QString m_girderToken; // These should be set before starting QString m_pendingCalculationId; QSharedPointer m_networkManager; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_CALCULATIONWATCHER_H avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/configdialog.cpp000066400000000000000000000026041360735163600252310ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "configdialog.h" #include "ui_configdialog.h" namespace Avogadro { namespace QtPlugins { ConfigDialog::ConfigDialog(QWidget* parent) : QDialog(parent), m_ui(new Ui::ConfigDialog) { m_ui->setupUi(this); } ConfigDialog::~ConfigDialog() = default; void ConfigDialog::setGirderUrl(const QString& girderUrl) { m_ui->girderUrl->setText(girderUrl); } void ConfigDialog::setApiKey(const QString& apiKey) { m_ui->apiKey->setText(apiKey); } QString ConfigDialog::girderUrl() const { QString url = m_ui->girderUrl->text(); if (!url.endsWith("/api/v1")) { // Append this automatically... url += "/api/v1"; } return url; } QString ConfigDialog::apiKey() const { return m_ui->apiKey->text(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/configdialog.h000066400000000000000000000023661360735163600247030ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_CONFIGDIALOG_H #define AVOGADRO_QTPLUGINS_CONFIGDIALOG_H #include #include namespace Ui { class ConfigDialog; } namespace Avogadro { namespace QtPlugins { class ConfigDialog : public QDialog { Q_OBJECT public: explicit ConfigDialog(QWidget* parent = nullptr); ~ConfigDialog(); void setGirderUrl(const QString& url); void setApiKey(const QString& apiKey); QString girderUrl() const; QString apiKey() const; private: QScopedPointer m_ui; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_CONFIGDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/configdialog.ui000066400000000000000000000047301360735163600250660ustar00rootroot00000000000000 ConfigDialog 0 0 400 111 MongoChem Config http://localhost:8080/api/v1 QLineEdit::Password API Key: Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok Base URL: Qt::Vertical 20 40 buttonBox accepted() ConfigDialog accept() 248 254 157 274 buttonBox rejected() ConfigDialog reject() 316 260 286 274 avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/girderrequest.cpp000066400000000000000000000107551360735163600254770ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "girderrequest.h" #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { // Some function declarations static QString handleGirderError(QNetworkReply* reply, const QByteArray& bytes); GirderRequest::GirderRequest(QNetworkAccessManager* networkManager, const QString& girderUrl, const QString& girderToken, QObject* parent) : QObject(parent), m_girderUrl(girderUrl), m_girderToken(girderToken), m_networkManager(networkManager) {} void GirderRequest::get() { QUrl url(m_girderUrl); if (!m_urlQueries.isEmpty()) { // For Qt>=5.13, we can initialize QUrlQuery with m_urlQueries QUrlQuery query; query.setQueryItems(m_urlQueries); url.setQuery(query); } QNetworkRequest request(url); // Only set the girder token if there is one if (!m_girderToken.isEmpty()) request.setRawHeader(QByteArray("Girder-Token"), m_girderToken.toUtf8()); for (auto key : m_headers.keys()) request.setHeader(key, m_headers[key]); auto reply = m_networkManager->get(request); connect(reply, &QNetworkReply::finished, this, &GirderRequest::onFinished); // Delete it after all the connected slots have been called connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater); } void GirderRequest::post(const QByteArray& data) { QUrl url(m_girderUrl); if (!m_urlQueries.isEmpty()) { // For Qt>=5.13, we can initialize QUrlQuery with m_urlQueries QUrlQuery query; query.setQueryItems(m_urlQueries); url.setQuery(query); } QNetworkRequest request(url); if (!m_girderToken.isEmpty()) request.setRawHeader(QByteArray("Girder-Token"), m_girderToken.toUtf8()); for (auto key : m_headers.keys()) request.setHeader(key, m_headers[key]); auto reply = m_networkManager->post(request, data); connect(reply, &QNetworkReply::finished, this, &GirderRequest::onFinished); // Delete it after all the connected slots have been called connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater); } void GirderRequest::put(const QByteArray& data) { QUrl url(m_girderUrl); if (!m_urlQueries.isEmpty()) { // For Qt>=5.13, we can initialize QUrlQuery with m_urlQueries QUrlQuery query; query.setQueryItems(m_urlQueries); url.setQuery(query); } QNetworkRequest request(url); if (!m_girderToken.isEmpty()) request.setRawHeader(QByteArray("Girder-Token"), m_girderToken.toUtf8()); for (auto key : m_headers.keys()) request.setHeader(key, m_headers[key]); auto reply = m_networkManager->put(request, data); connect(reply, &QNetworkReply::finished, this, &GirderRequest::onFinished); // Delete it after all the connected slots have been called connect(reply, &QNetworkReply::finished, reply, &QNetworkReply::deleteLater); } void GirderRequest::onFinished() { auto* reply = qobject_cast(this->sender()); QByteArray bytes = reply->readAll(); if (reply->error()) { emit error(handleGirderError(reply, bytes), reply); } else { QJsonDocument jsonResponse = QJsonDocument::fromJson(bytes.constData()); emit result(jsonResponse.toVariant()); } } static QString handleGirderError(QNetworkReply* reply, const QByteArray& bytes) { QJsonDocument jsonResponse = QJsonDocument::fromJson(bytes.constData()); QString errorMessage; if (!jsonResponse.isObject()) { errorMessage = reply->errorString(); } else { const QJsonObject& object = jsonResponse.object(); QString message = object.value("message").toString(); if (!message.isEmpty()) errorMessage = QString("Girder error: %1").arg(message); else errorMessage = QString(bytes); } return errorMessage; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/girderrequest.h000066400000000000000000000037101360735163600251350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_GIRDERREQUEST_H #define AVOGADRO_QTPLUGINS_GIRDERREQUEST_H #include #include #include #include class QNetworkAccessManager; class QNetworkReply; namespace Avogadro { namespace QtPlugins { class GirderRequest : public QObject { Q_OBJECT public: GirderRequest(QNetworkAccessManager* networkManager, const QString& girderUrl, const QString& girderToken = "", QObject* parent = nullptr); // Calls the respective HTTP method on the girder url void get(); void post(const QByteArray& data); void put(const QByteArray& data); void setUrlQueries(const QList>& queries) { m_urlQueries = queries; } void setHeader(QNetworkRequest::KnownHeaders header, const QVariant& value) { m_headers[header] = value; } signals: // Emitted when there is an error void error(const QString& msg, QNetworkReply* networkReply = nullptr); // Emitted when there are results void result(const QVariant& results); protected slots: void onFinished(); protected: QString m_girderUrl; QString m_girderToken; QNetworkAccessManager* m_networkManager; QList> m_urlQueries; QMap m_headers; }; } // namespace QtPlugins } // namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/listmoleculesmodel.cpp000066400000000000000000000063241360735163600265140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "listmoleculesmodel.h" namespace Avogadro { namespace QtPlugins { ListMoleculesModel::ListMoleculesModel(QObject* parent) : QAbstractTableModel(parent) {} int ListMoleculesModel::rowCount(const QModelIndex& id) const { Q_UNUSED(id) return m_molecules.size(); } int ListMoleculesModel::columnCount(const QModelIndex& /*parent*/) const { return 3; } QVariant ListMoleculesModel::data(const QModelIndex& index, int role) const { if (!index.isValid()) return QVariant(); switch (role) { case Qt::DisplayRole: { const auto& mol = m_molecules[index.row()]; int column = index.column(); switch (column) { case 0: return mol.value("properties").toMap().value("formula"); case 1: return mol.value("smiles"); case 2: return mol.value("inchikey"); default: return QVariant(); } } } return QVariant(); } Qt::ItemFlags ListMoleculesModel::flags(const QModelIndex& index) const { return QAbstractTableModel::flags(index); } QVariant ListMoleculesModel::headerData(int section, Qt::Orientation orientation, int role) const { if (role != Qt::DisplayRole) return QVariant(); if (orientation == Qt::Vertical) return section + 1; if (orientation == Qt::Horizontal) { switch (section) { case 0: return tr("Formula"); case 1: return tr("SMILES"); case 2: return tr("InChIKey"); } } return QVariant(); } QString ListMoleculesModel::moleculeId(int row) { return m_molecules[row]["_id"].toString(); } QString ListMoleculesModel::moleculeName(int row) { auto name = m_molecules[row]["name"].toString(); // If there is no name, use the formula instead if (name.isEmpty()) name = m_molecules[row]["properties"].toMap()["formula"].toString(); return name; } void ListMoleculesModel::addMolecule(const QVariantMap& mol) { beginInsertRows(QModelIndex(), m_molecules.size(), m_molecules.size()); m_molecules.append(mol); endInsertRows(); } void ListMoleculesModel::deleteMolecule(const QModelIndex& index) { if (!index.isValid()) return; int row = index.row(); if (row < m_molecules.size()) { beginRemoveRows(QModelIndex(), row, row); m_molecules.removeAt(row); endRemoveRows(); } } void ListMoleculesModel::clear() { int lastRow = m_molecules.isEmpty() ? 0 : m_molecules.size() - 1; beginRemoveRows(QModelIndex(), 0, lastRow); m_molecules.clear(); endRemoveRows(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/listmoleculesmodel.h000066400000000000000000000032321360735163600261540ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_LISTMOLECULESMODEL_H #define AVOGADRO_QTPLUGINS_LISTMOLECULESMODEL_H #include #include #include namespace Avogadro { namespace QtPlugins { class ListMoleculesModel : public QAbstractTableModel { Q_OBJECT public: ListMoleculesModel(QObject* parent = nullptr); int rowCount(const QModelIndex& parent = QModelIndex()) const override; int columnCount(const QModelIndex& parent = QModelIndex()) const override; QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; Qt::ItemFlags flags(const QModelIndex& index) const override; QVariant headerData(int section, Qt::Orientation orientation, int role) const override; QString moleculeId(int row); QString moleculeName(int row); void addMolecule(const QVariantMap& molecule); void deleteMolecule(const QModelIndex& index); void clear(); private: QList m_molecules; }; } // namespace QtPlugins } // namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/mongochem.cpp000066400000000000000000000044721360735163600245650ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "mongochem.h" #include "mongochemwidget.h" #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { MongoChem::MongoChem(QObject* parent) : ExtensionPlugin(parent), m_action(new QAction(this)) { m_action->setText(tr("&MongoChem")); m_actions.push_back(m_action.data()); connect(m_action.data(), &QAction::triggered, this, &MongoChem::menuActivated); } MongoChem::~MongoChem() = default; QStringList MongoChem::menuPath(QAction*) const { return { tr("&Extensions") }; } void MongoChem::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } bool MongoChem::readMolecule(QtGui::Molecule& mol) { bool ok = Io::FileFormatManager::instance().readString( mol, m_moleculeData.data(), "cjson"); if (ok) mol.setData("name", m_moleculeName.toStdString()); m_moleculeData.clear(); m_moleculeName.clear(); return ok; } QString MongoChem::currentMoleculeCjson() const { std::string ret; if (!m_molecule) return ""; Io::FileFormatManager::instance().writeString(*m_molecule, ret, "cjson"); return ret.c_str(); } void MongoChem::menuActivated() { if (!m_dialog) { m_dialog.reset(new QDialog(qobject_cast(this))); auto* layout = new QVBoxLayout; layout->addWidget(new MongoChemWidget(this)); m_dialog->setLayout(layout); m_dialog->setWindowTitle("MongoChem"); } m_dialog->show(); } void MongoChem::setMoleculeData(const QByteArray& data) { m_moleculeData = data; emit moleculeReady(1); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/mongochem.h000066400000000000000000000041701360735163600242250ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_MONGOCHEM_H #define AVOGADRO_QTPLUGINS_MONGOCHEM_H #include #include #include class QAction; class QDialog; namespace Avogadro { namespace QtPlugins { class MongoChem : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit MongoChem(QObject* parent = 0); ~MongoChem() override; QString name() const override { return tr("Mongo Chem Server"); } QString description() const override { return tr("Interface with Mongo Chem Server."); } QList actions() const override { return m_actions; } QStringList menuPath(QAction*) const override; // This will also emit moleculeReady(1) void setMoleculeData(const QByteArray& data); void setMoleculeName(const QString& name) { m_moleculeName = name; } // Returns the cjson of the current molecule as a QString QString currentMoleculeCjson() const; public slots: void setMolecule(QtGui::Molecule* mol) override; // This will also clear m_moleculeData and m_moleculeName bool readMolecule(QtGui::Molecule& mol) override; private slots: void menuActivated(); private: // A non-owning list of the actions QList m_actions; QtGui::Molecule* m_molecule; QScopedPointer m_action; QScopedPointer m_dialog; // The data to be read by readMolecule() QByteArray m_moleculeData; QString m_moleculeName; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_MONGOCHEM_H avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/mongochemwidget.cpp000066400000000000000000000311651360735163600257700ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "mongochemwidget.h" #include "ui_mongochemwidget.h" #include "calculationsubmitter.h" #include "calculationwatcher.h" #include "configdialog.h" #include "girderrequest.h" #include "listmoleculesmodel.h" #include "mongochem.h" #include "submitcalculationdialog.h" #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { MongoChemWidget::MongoChemWidget(MongoChem* plugin, QWidget* parent) : QWidget(parent), m_plugin(plugin), m_ui(new Ui::MongoChemWidget), m_networkManager(new QNetworkAccessManager(this)), m_listMoleculesModel(new ListMoleculesModel(this)) { m_ui->setupUi(this); m_ui->tableMolecules->setModel(m_listMoleculesModel.data()); readSettings(); setupConnections(); } MongoChemWidget::~MongoChemWidget() = default; void MongoChemWidget::setupConnections() { connect(m_ui->pushSearch, &QPushButton::clicked, this, &MongoChemWidget::search); connect(m_ui->pushConfig, &QPushButton::clicked, this, &MongoChemWidget::showConfig); connect(m_ui->pushDownload, &QPushButton::clicked, this, &MongoChemWidget::downloadSelectedMolecule); connect(m_ui->pushUpload, &QPushButton::clicked, this, &MongoChemWidget::uploadMolecule); connect(m_ui->pushSubmitCalculation, &QPushButton::clicked, this, &MongoChemWidget::submitCalculation); } void MongoChemWidget::readSettings() { QSettings settings; settings.beginGroup("mongochem"); m_girderUrl = settings.value("girderUrl", m_girderUrl).toString(); m_apiKey = settings.value("apiKey", m_apiKey).toString(); settings.endGroup(); } void MongoChemWidget::writeSettings() { QSettings settings; settings.beginGroup("mongochem"); settings.setValue("girderUrl", m_girderUrl); settings.setValue("apiKey", m_apiKey); settings.endGroup(); } void MongoChemWidget::authenticate() { QString url = m_girderUrl + "/api_key/token"; static const QString& tokenDuration = "90"; QByteArray postData; postData.append(("key=" + m_apiKey + "&").toUtf8()); postData.append(("duration=" + tokenDuration).toUtf8()); auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); request->post(postData); connect(request, &GirderRequest::result, this, &MongoChemWidget::finishAuthentication); connect(request, &GirderRequest::error, this, &MongoChemWidget::error); connect(request, &GirderRequest::result, request, &GirderRequest::deleteLater); connect(request, &GirderRequest::error, request, &GirderRequest::deleteLater); } void MongoChemWidget::finishAuthentication(const QVariant& results) { m_girderToken = results.toMap()["authToken"].toMap()["token"].toString(); if (!m_girderToken.isEmpty()) QMessageBox::information(this, "MongoChem", "Authentication Successful!"); else QMessageBox::critical(this, "MongoChem", "Authentication failed!"); } void MongoChemWidget::showConfig() { if (!m_configDialog) m_configDialog.reset(new ConfigDialog(this)); // Make sure the GUI variables are up-to-date m_configDialog->setGirderUrl(m_girderUrl); m_configDialog->setApiKey(m_apiKey); if (m_configDialog->exec()) { m_girderUrl = m_configDialog->girderUrl(); m_apiKey = m_configDialog->apiKey(); if (!m_apiKey.isEmpty()) authenticate(); writeSettings(); } } void MongoChemWidget::search() { QString url = m_girderUrl + "/molecules"; QList> urlQueries = { { "limit", "25" } }; auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setUrlQueries(urlQueries); request->get(); connect(request, &GirderRequest::result, this, &MongoChemWidget::finishSearch); connect(request, &GirderRequest::error, this, &MongoChemWidget::error); connect(request, &GirderRequest::result, request, &GirderRequest::deleteLater); connect(request, &GirderRequest::error, request, &GirderRequest::deleteLater); } void MongoChemWidget::finishSearch(const QVariant& results) { // Clear the table m_listMoleculesModel->clear(); auto resultList = results.toMap()["results"].toList(); int matches = resultList.size(); if (matches == 0) { QString message = "No results found!"; qDebug() << message; QMessageBox::critical(this, "MongoChem", message); return; } for (int i = 0; i < matches; ++i) { m_listMoleculesModel->addMolecule(resultList[i].toMap()); } } int MongoChemWidget::selectedRow() { auto rows = m_ui->tableMolecules->selectionModel()->selectedRows(); if (rows.isEmpty()) { qDebug() << "No row selected!"; return -1; } return rows[0].row(); } void MongoChemWidget::downloadSelectedMolecule() { int row = selectedRow(); if (row < 0) { QString message = "No molecule selected!"; qDebug() << message; QMessageBox::critical(this, "MongoChem", message); return; } auto moleculeId = m_listMoleculesModel->moleculeId(row); auto moleculeName = m_listMoleculesModel->moleculeName(row); // It would be better if we set the name after downloading the // molecule succeeded, but that is currently not easy... m_plugin->setMoleculeName(moleculeName); QString url = (m_girderUrl + "/molecules/%1/cjson").arg(moleculeId); auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->get(); connect(request, &GirderRequest::result, this, &MongoChemWidget::finishDownloadMolecule); connect(request, &GirderRequest::error, this, &MongoChemWidget::error); connect(request, &GirderRequest::result, request, &GirderRequest::deleteLater); connect(request, &GirderRequest::error, request, &GirderRequest::deleteLater); } void MongoChemWidget::finishDownloadMolecule(const QVariant& results) { auto cjsonDoc = QJsonDocument::fromVariant(results); if (cjsonDoc.isEmpty()) { qDebug() << "No cjson found in the results!"; return; } m_plugin->setMoleculeData(cjsonDoc.toJson()); } void MongoChemWidget::uploadMolecule() { if (m_girderToken.isEmpty()) { QString message = "Login required to upload"; qDebug() << message; QMessageBox::critical(this, "MongoChem", message); return; } QString cjson = m_plugin->currentMoleculeCjson(); // If there is no molecule, the cjson will look like this: // {\n \"chemicalJson\": 1\n} if (!cjson.contains("atoms")) { QString message = "No molecule found!"; qDebug() << message; QMessageBox::critical(this, "MongoChem", message); return; } QJsonObject object({ { "cjson", cjson } }); QByteArray postData = QJsonDocument(object).toJson(); QString url = m_girderUrl + "/molecules"; auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request->post(postData); connect(request, &GirderRequest::result, this, &MongoChemWidget::finishUploadMolecule); connect(request, &GirderRequest::error, this, &MongoChemWidget::error); connect(request, &GirderRequest::result, request, &GirderRequest::deleteLater); connect(request, &GirderRequest::error, request, &GirderRequest::deleteLater); } void MongoChemWidget::finishUploadMolecule(const QVariant& results) { auto moleculeId = results.toMap()["_id"].toString(); if (moleculeId.isEmpty()) { QString message = "Failed to upload molecule"; qDebug() << message; QMessageBox::critical(this, "MongoChem", message); return; } // Now, upload the particular geometry uploadGeometry(moleculeId); } void MongoChemWidget::uploadGeometry(const QString& moleculeId) { QByteArray postData = m_plugin->currentMoleculeCjson().toLatin1(); QString url =(m_girderUrl + "/molecules/%1/geometries").arg(moleculeId); QList> urlQueries = { { "provenanceType", "Uploaded by Avogadro2 User" } }; auto* request = new GirderRequest(m_networkManager.data(), url, m_girderToken); request->setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); request->setUrlQueries(urlQueries); request->post(postData); connect(request, &GirderRequest::result, this, &MongoChemWidget::finishUploadGeometry); connect(request, &GirderRequest::error, this, &MongoChemWidget::error); connect(request, &GirderRequest::result, request, &GirderRequest::deleteLater); connect(request, &GirderRequest::error, request, &GirderRequest::deleteLater); } void MongoChemWidget::finishUploadGeometry(const QVariant& results) { auto geometryId = results.toMap()["_id"].toString(); if (geometryId.isEmpty()) { QString message = "Failed to upload geometry"; qDebug() << message; QMessageBox::critical(this, "MongoChem", message); return; } QString message = "Upload successful!"; qDebug() << message; QMessageBox::information(this, "MongoChem", message); } void MongoChemWidget::submitCalculation() { if (m_girderToken.isEmpty()) { QString message = "Login required to submit calculation"; qDebug() << message; QMessageBox::critical(this, "MongoChem", message); return; } QString cjson = m_plugin->currentMoleculeCjson(); // If there is no molecule, the cjson will look like this: // {\n \"chemicalJson\": 1\n} if (!cjson.contains("atoms")) { QString message = "No molecule found!"; qDebug() << message; QMessageBox::critical(this, "MongoChem", message); return; } if (!m_submitCalculationDialog) m_submitCalculationDialog.reset(new SubmitCalculationDialog); if (!m_submitCalculationDialog->exec()) return; QString container = m_submitCalculationDialog->containerName(); QString image = m_submitCalculationDialog->imageName(); QVariantMap inputParameters = m_submitCalculationDialog->inputParameters(); auto calcSubmitter = new CalculationSubmitter(m_networkManager, m_girderUrl, m_girderToken, this); calcSubmitter->setMoleculeCjson(cjson); calcSubmitter->setContainerName(container); calcSubmitter->setImageName(image); calcSubmitter->setInputParameters(inputParameters); calcSubmitter->start(); connect(calcSubmitter, &CalculationSubmitter::finished, this, &MongoChemWidget::finishSubmitCalculation); connect(calcSubmitter, &CalculationSubmitter::error, this, &MongoChemWidget::error); connect(calcSubmitter, &CalculationSubmitter::finished, calcSubmitter, &CalculationSubmitter::deleteLater); connect(calcSubmitter, &CalculationSubmitter::error, calcSubmitter, &CalculationSubmitter::deleteLater); } void MongoChemWidget::finishSubmitCalculation(const QVariantMap& results) { QString message = "Calculation submitted!"; qDebug() << message; QMessageBox::information(this, "MongoChem", message); QString pendingCalculationId = results["pendingCalculationId"].toString(); auto watcher = new CalculationWatcher( m_networkManager, m_girderUrl, m_girderToken, pendingCalculationId, this); watcher->start(); connect(watcher, &CalculationWatcher::finished, this, &MongoChemWidget::finishWatchCalculation); connect(watcher, &CalculationWatcher::error, this, &MongoChemWidget::error); connect(watcher, &CalculationWatcher::finished, watcher, &CalculationWatcher::deleteLater); connect(watcher, &CalculationWatcher::error, watcher, &CalculationWatcher::deleteLater); } void MongoChemWidget::finishWatchCalculation(const QByteArray& cjson) { QString msg = "Calculation complete. Download the results?"; if (QMessageBox::question(this, "MongoChem", msg)) { m_plugin->setMoleculeName("calculation"); m_plugin->setMoleculeData(cjson); } } void MongoChemWidget::error(const QString& message, QNetworkReply* reply) { Q_UNUSED(reply) qDebug() << "An error occurred. Message was: " << message; QMessageBox::critical(this, "MongoChem", message); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/mongochemwidget.h000066400000000000000000000046551360735163600254410ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_MONGOCHEMWIDGET_H #define AVOGADRO_QTPLUGINS_MONGOCHEMWIDGET_H #include #include #include namespace Ui { class MongoChemWidget; } class QNetworkAccessManager; class QNetworkReply; namespace Avogadro { namespace QtPlugins { class ConfigDialog; class ListMoleculesModel; class MongoChem; class SubmitCalculationDialog; class MongoChemWidget : public QWidget { Q_OBJECT public: explicit MongoChemWidget(MongoChem* plugin, QWidget* parent = nullptr); ~MongoChemWidget() override; private slots: void showConfig(); void finishAuthentication(const QVariant& results); void search(); void finishSearch(const QVariant& results); void downloadSelectedMolecule(); void finishDownloadMolecule(const QVariant& results); void uploadMolecule(); void finishUploadMolecule(const QVariant& results); void uploadGeometry(const QString& moleculeId); void finishUploadGeometry(const QVariant& results); void submitCalculation(); void finishSubmitCalculation(const QVariantMap& results); void finishWatchCalculation(const QByteArray& cjson); void error(const QString& message, QNetworkReply* reply = nullptr); void readSettings(); void writeSettings(); private: void setupConnections(); void authenticate(); int selectedRow(); MongoChem* m_plugin; QString m_girderUrl = "http://localhost:8080/api/v1"; QString m_apiKey; QString m_girderToken; QScopedPointer m_ui; QSharedPointer m_networkManager; QScopedPointer m_configDialog; QScopedPointer m_listMoleculesModel; QScopedPointer m_submitCalculationDialog; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_MONGOCHEMWIDGET_H avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/mongochemwidget.ui000066400000000000000000000041361360735163600256210ustar00rootroot00000000000000 MongoChemWidget 0 0 620 410 620 410 Form QAbstractItemView::SingleSelection QAbstractItemView::SelectRows 150 false true Config Download Upload Search Submit Calculation... avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/submitcalculationdialog.cpp000066400000000000000000000036601360735163600275110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "submitcalculationdialog.h" #include "ui_submitcalculationdialog.h" #include #include #include namespace Avogadro { namespace QtPlugins { SubmitCalculationDialog::SubmitCalculationDialog(QWidget* parent) : QDialog(parent), m_ui(new Ui::SubmitCalculationDialog) { m_ui->setupUi(this); } SubmitCalculationDialog::~SubmitCalculationDialog() = default; int SubmitCalculationDialog::exec() { // Loop until validation succeeds, or the user cancels while (true) { if (!QDialog::exec()) return QDialog::Rejected; QVariantMap inputParams = inputParameters(); if (inputParams.isEmpty()) { QString message = "Failed to parse input parameters"; QMessageBox::critical(this, "MongoChem", message); continue; } break; } return QDialog::Accepted; } QString SubmitCalculationDialog::containerName() const { return m_ui->container->currentText().toLower(); } QString SubmitCalculationDialog::imageName() const { return m_ui->image->text(); } QVariantMap SubmitCalculationDialog::inputParameters() const { QByteArray jsonData = m_ui->inputParameters->toPlainText().toUtf8(); auto jsonDoc = QJsonDocument::fromJson(jsonData); return jsonDoc.object().toVariantMap(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/submitcalculationdialog.h000066400000000000000000000024471360735163600271600ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2019 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SUBMITCALCULATIONDIALOG_H #define AVOGADRO_QTPLUGINS_SUBMITCALCULATIONDIALOG_H #include namespace Ui { class SubmitCalculationDialog; } namespace Avogadro { namespace QtPlugins { class SubmitCalculationDialog : public QDialog { Q_OBJECT public: explicit SubmitCalculationDialog(QWidget* parent = nullptr); ~SubmitCalculationDialog(); int exec() override; QString containerName() const; QString imageName() const; QVariantMap inputParameters() const; private: QScopedPointer m_ui; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_SUBMITCALCULATIONDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/mongochem/submitcalculationdialog.ui000066400000000000000000000127011360735163600273400ustar00rootroot00000000000000 SubmitCalculationDialog 0 0 400 255 Dialog Docker Singularity Container: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Image: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter openchemistry/psi4:latest false Qt::Vertical 20 40 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu';">{</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu';"> &quot;theory&quot;: &quot;dft&quot;,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu';"> &quot;functional&quot;: &quot;b3lyp&quot;,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu';"> &quot;basis&quot;: &quot;6-31g&quot;,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu';"> &quot;task&quot;: &quot;energy&quot; </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu';">}</span></p></body></html> false Input Parameters: Qt::AlignCenter buttonBox accepted() SubmitCalculationDialog accept() 248 254 157 274 buttonBox rejected() SubmitCalculationDialog reject() 316 260 286 274 avogadrolibs-1.93.0/avogadro/qtplugins/navigator/000077500000000000000000000000001360735163600221145ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/navigator/CMakeLists.txt000066400000000000000000000004671360735163600246630ustar00rootroot00000000000000set(navigator_srcs navigator.cpp ) set(navigator_uis ) set(navigator_rcs navigator.qrc ) avogadro_plugin(Navigator "Navigation tool" ToolPlugin navigator.h Navigator "${navigator_srcs}" "${navigator_uis}" "${navigator_rcs}" ) target_link_libraries(Navigator LINK_PRIVATE AvogadroQtOpenGL) avogadrolibs-1.93.0/avogadro/qtplugins/navigator/navigator.cpp000066400000000000000000000166741360735163600246300ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-13 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "navigator.h" #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { const float ZOOM_SPEED = 0.02f; const float ROTATION_SPEED = 0.005f; Navigator::Navigator(QObject* parent_) : QtGui::ToolPlugin(parent_), m_activateAction(new QAction(this)), m_molecule(nullptr), m_glWidget(nullptr), m_renderer(nullptr), m_pressedButtons(Qt::NoButton), m_currentAction(Nothing) { m_activateAction->setText(tr("Navigate")); m_activateAction->setIcon(QIcon(":/icons/navigator.png")); } Navigator::~Navigator() { } QWidget* Navigator::toolWidget() const { return nullptr; } QUndoCommand* Navigator::mousePressEvent(QMouseEvent* e) { updatePressedButtons(e, false); m_lastMousePosition = e->pos(); e->accept(); // Figure out what type of navigation has been requested. if (e->buttons() & Qt::LeftButton && e->modifiers() == Qt::NoModifier) { m_currentAction = Rotation; } else if (e->buttons() & Qt::MidButton || (e->buttons() & Qt::LeftButton && e->modifiers() == Qt::ShiftModifier)) { m_currentAction = ZoomTilt; } else if (e->buttons() & Qt::RightButton || (e->buttons() & Qt::LeftButton && (e->modifiers() == Qt::ControlModifier || e->modifiers() == Qt::MetaModifier))) { m_currentAction = Translation; } return nullptr; } QUndoCommand* Navigator::mouseReleaseEvent(QMouseEvent* e) { updatePressedButtons(e, true); m_lastMousePosition = QPoint(); m_currentAction = Nothing; e->accept(); return nullptr; } QUndoCommand* Navigator::mouseMoveEvent(QMouseEvent* e) { switch (m_currentAction) { case Rotation: { QPoint delta = e->pos() - m_lastMousePosition; rotate(m_renderer->scene().center(), delta.y(), delta.x(), 0); e->accept(); break; } case Translation: { Vector2f fromScreen(m_lastMousePosition.x(), m_lastMousePosition.y()); Vector2f toScreen(e->localPos().x(), e->localPos().y()); translate(m_renderer->scene().center(), fromScreen, toScreen); e->accept(); break; } case ZoomTilt: { QPoint delta = e->pos() - m_lastMousePosition; // Tilt rotate(m_renderer->scene().center(), 0, 0, delta.x()); // Zoom zoom(m_renderer->scene().center(), delta.y()); e->accept(); break; } default:; } m_lastMousePosition = e->pos(); if (e->isAccepted()) emit updateRequested(); return nullptr; } QUndoCommand* Navigator::mouseDoubleClickEvent(QMouseEvent* e) { // Reset if (e->button() == Qt::MiddleButton) { if (m_glWidget) { m_glWidget->resetCamera(); e->accept(); emit updateRequested(); } } return nullptr; } QUndoCommand* Navigator::wheelEvent(QWheelEvent* e) { /// @todo Use scale for orthographic projections // Zoom zoom(m_renderer->scene().center(), e->delta() * 0.1); e->accept(); emit updateRequested(); return nullptr; } QUndoCommand* Navigator::keyPressEvent(QKeyEvent* e) { Vector3f ref = m_renderer->scene().center(); switch (e->key()) { case Qt::Key_Left: case Qt::Key_H: case Qt::Key_A: if (e->modifiers() == Qt::NoModifier || e->modifiers() == Qt::KeypadModifier) rotate(ref, 0, -5, 0); else if (e->modifiers() == Qt::ShiftModifier) rotate(ref, 0, 0, -5); else if (e->modifiers() == Qt::ControlModifier) translate(ref, -5, 0); e->accept(); break; case Qt::Key_Right: case Qt::Key_L: case Qt::Key_D: if (e->modifiers() == Qt::NoModifier || e->modifiers() == Qt::KeypadModifier) rotate(ref, 0, 5, 0); else if (e->modifiers() == Qt::ShiftModifier) rotate(ref, 0, 0, 5); else if (e->modifiers() == Qt::ControlModifier) translate(ref, 5, 0); e->accept(); break; case Qt::Key_Up: case Qt::Key_K: case Qt::Key_W: if (e->modifiers() == Qt::NoModifier || e->modifiers() == Qt::KeypadModifier) rotate(ref, -5, 0, 0); else if (e->modifiers() == Qt::ShiftModifier) zoom(ref, -2); else if (e->modifiers() == Qt::ControlModifier) translate(ref, 0, -5); e->accept(); break; case Qt::Key_Down: case Qt::Key_J: case Qt::Key_S: if (e->modifiers() == Qt::NoModifier || e->modifiers() == Qt::KeypadModifier) rotate(ref, 5, 0, 0); else if (e->modifiers() == Qt::ShiftModifier) zoom(ref, 2); else if (e->modifiers() == Qt::ControlModifier) translate(ref, 0, 5); e->accept(); break; default: e->ignore(); } emit updateRequested(); return nullptr; } QUndoCommand* Navigator::keyReleaseEvent(QKeyEvent* e) { /// @todo e->ignore(); return nullptr; } inline void Navigator::updatePressedButtons(QMouseEvent* e, bool release) { /// @todo Use modifier keys on mac if (release) m_pressedButtons &= e->buttons(); else m_pressedButtons |= e->buttons(); } inline void Navigator::rotate(const Vector3f& ref, float x, float y, float z) { const Eigen::Affine3f& modelView = m_renderer->camera().modelView(); Vector3f xAxis = modelView.linear().row(0).transpose().normalized(); Vector3f yAxis = modelView.linear().row(1).transpose().normalized(); Vector3f zAxis = modelView.linear().row(2).transpose().normalized(); m_renderer->camera().translate(ref); m_renderer->camera().rotate(x * ROTATION_SPEED, xAxis); m_renderer->camera().rotate(y * ROTATION_SPEED, yAxis); m_renderer->camera().rotate(z * ROTATION_SPEED, zAxis); m_renderer->camera().translate(-ref); } inline void Navigator::zoom(const Vector3f& ref, float d) { const Eigen::Affine3f& modelView = m_renderer->camera().modelView(); Vector3f transformedCenter = modelView * ref; float distance = transformedCenter.norm(); float t = d * ZOOM_SPEED; float u = 2.0f / distance - 1.0f; if (t < u) t = u; if (m_renderer->camera().projectionType() == Rendering::Perspective) m_renderer->camera().preTranslate(transformedCenter * t); else m_renderer->camera().scale(t + 1.0f); } inline void Navigator::translate(const Vector3f& ref, float x, float y) { Vector2f fromScreen(0, 0); Vector2f toScreen(x, y); translate(ref, fromScreen, toScreen); } inline void Navigator::translate(const Vector3f& ref, const Vector2f& fromScr, const Vector2f& toScr) { Vector3f from(m_renderer->camera().unProject(fromScr, ref)); Vector3f to(m_renderer->camera().unProject(toScr, ref)); m_renderer->camera().translate(to - from); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/navigator/navigator.h000066400000000000000000000057531360735163600242710ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-13 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_NAVIGATOR_H #define AVOGADRO_QTPLUGINS_NAVIGATOR_H #include #include #include #include // for Qt:: namespace namespace Avogadro { namespace QtPlugins { /** * @class Navigator navigator.h * @brief The Navigator tool updates the camera in response to user input. * @author David C. Lonie */ class Navigator : public QtGui::ToolPlugin { Q_OBJECT public: explicit Navigator(QObject* parent_ = nullptr); ~Navigator() override; QString name() const override { return tr("Navigate tool"); } QString description() const override { return tr("Navigate tool"); } unsigned char priority() const override { return 10; } QAction* activateAction() const override { return m_activateAction; } QWidget* toolWidget() const override; void setMolecule(QtGui::Molecule* mol) override { m_molecule = mol; } void setGLWidget(QtOpenGL::GLWidget* widget) override { m_glWidget = widget; } void setGLRenderer(Rendering::GLRenderer* renderer) override { m_renderer = renderer; } QUndoCommand* mousePressEvent(QMouseEvent* e) override; QUndoCommand* mouseReleaseEvent(QMouseEvent* e) override; QUndoCommand* mouseMoveEvent(QMouseEvent* e) override; QUndoCommand* mouseDoubleClickEvent(QMouseEvent* e) override; QUndoCommand* wheelEvent(QWheelEvent* e) override; QUndoCommand* keyPressEvent(QKeyEvent* e) override; QUndoCommand* keyReleaseEvent(QKeyEvent* e) override; private: /** * Update the currently pressed buttons, accounting for modifier keys. * \todo Account for modifier keys. */ void updatePressedButtons(QMouseEvent*, bool release); void rotate(const Vector3f& ref, float x, float y, float z); void zoom(const Vector3f& ref, float d); void translate(const Vector3f& ref, float x, float y); void translate(const Vector3f& ref, const Vector2f& from, const Vector2f& to); QAction* m_activateAction; QtGui::Molecule* m_molecule; QtOpenGL::GLWidget* m_glWidget; Rendering::GLRenderer* m_renderer; Qt::MouseButtons m_pressedButtons; QPoint m_lastMousePosition; enum ToolAction { Nothing = 0, Rotation, Translation, ZoomTilt, Zoom }; ToolAction m_currentAction; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_NAVIGATOR_H avogadrolibs-1.93.0/avogadro/qtplugins/navigator/navigator.png000066400000000000000000000022241360735163600246140ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<6IDATxڼW]oE=6qI]Wu*ܦUBBHU_`f ]qX7غXv?inhX2^G 5clD_y Ovc#Hgp*Vn衇z0@S|#IzK|e;ԉ T7Qw_t(F]ÆMFfXJVz 搯m1O]:G:JiE"SJз=h"S/4 £x z IPxgPYH#,~>4r!4Eu}ad||E$L8.(&E@y|24#[CnNo+HLv8"V;0: iPQ xDȨ` |Ԙiw9 pg SbRD#wU#> GX r5h^V$Kܬ|y,gb̆\EGlcmc|f' QrH.U /;0\߁ )[ݓԋ!8=*C~Hs"Ũm#>;8$`I@RQ@ V 8v#h\@c7&^ 6Bgb $*ry6/8GvЪ!8Qq5JOtƯV'"N^%jM-q\?`m4"bs|5~j47{~Gwxj ~XAn')L/틡ގg| Ab,]x٭j\FHSLf;tXƷri"ՙp.[7UtJ-1%[I-նZ6Ͳ51J#h)F;ߣ! d_Bݎ5IENDB`avogadrolibs-1.93.0/avogadro/qtplugins/navigator/navigator.qrc000066400000000000000000000002071360735163600246140ustar00rootroot00000000000000 navigator.png navigator@2x.png avogadrolibs-1.93.0/avogadro/qtplugins/navigator/navigator@2x.png000066400000000000000000000060311360735163600251660ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp [ʚPLTE*2 ts; ė*c YAi{M m'Z+mO"KbZvT'mk{C;f ړ[kZq\Ufmzf"#yKP dža+q d$l$U5]4z["yڠE i0rӢ8+]B\ba#v1iBpy#hY$~ Ԑ9y}_fv:w^av(zʜԼR5v*i!3sep^Rb xVora a|e[h̴O_2q?O%w!uXg? n+9`?<"0oHA{̗뒶ЗqkDS d ew+(_Leck9gf[ͬtRNSS%qIDATxbI@[ ް"3ȀY\j)1Gsk(0p٦U]pƺdiƍR6`N"wir dj2 1yl] 1~V x bF 趆p#1x,ҿlIM `iܳi+؀kXH6 <Ӧ :`6 'ـ{d=1TWn2eG[H4@Y I ڵ-'?.A3(+Tl&֕E[3%H?b]VG}E, ض|KGCo.KS;6xɨ jr6|lV 6`8P:`sXaVTkNЇAG f? \9Z^G5;\8z۷/,ZLb2SwPS ۄ̀ guO:j/50KKXV cGfC,W*-m 7vF,x5]c7@/ rM=:[,>:s773ݼy IK8g$%$dPet2Sr qLP/_7k@~dAYV ] c/q~@2 ~gA 4fhL=X+u٬C{\ ` m< hyM`gKBȻW f̘!1`Ȁ q%s_W(?P{z+t&. |{@ h7 13H:BE`"!!%>8T~R"! % i 9 `&z?$ 7AVE@@.U1M 25Ol@Z'k rol@$?"b@? ȀFNNΛ54f^b`ZhIf3'UV6u (WT\AnSo " #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { NetworkDatabases::NetworkDatabases(QObject* parent_) : ExtensionPlugin(parent_), m_action(new QAction(this)), m_molecule(nullptr), m_network(nullptr), m_progressDialog(nullptr) { m_action->setEnabled(true); m_action->setText("Download by &Name..."); connect(m_action, SIGNAL(triggered()), SLOT(showDialog())); } NetworkDatabases::~NetworkDatabases() { } QList NetworkDatabases::actions() const { return QList() << m_action; } QStringList NetworkDatabases::menuPath(QAction*) const { return QStringList() << tr("&File") << tr("&Import"); } void NetworkDatabases::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } bool NetworkDatabases::readMolecule(QtGui::Molecule& mol) { if (m_moleculeData.isEmpty() || m_moleculeName.isEmpty()) return false; bool readOK = Io::FileFormatManager::instance().readString( mol, m_moleculeData.data(), "sdf"); if (readOK) // worked, so set the filename mol.setData("name", m_moleculeName.toStdString()); return readOK; } void NetworkDatabases::showDialog() { if (!m_network) { m_network = new QNetworkAccessManager(this); connect(m_network, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*))); } if (!m_progressDialog) { m_progressDialog = new QProgressDialog(qobject_cast(parent())); } // Prompt for a chemical structure name bool ok; QString structureName = QInputDialog::getText( qobject_cast(parent()), tr("Chemical Name"), tr("Chemical structure to download."), QLineEdit::Normal, "", &ok); if (!ok || structureName.isEmpty()) return; // Hard coding the NIH resolver download URL - this could be used for other // services m_network->get(QNetworkRequest( QUrl("https://cactus.nci.nih.gov/chemical/structure/" + structureName + "/sdf?get3d=true" + "&resolver=name_by_opsin,name_by_cir,name_by_chemspider" + "&requester=Avogadro2"))); m_moleculeName = structureName; m_progressDialog->setLabelText(tr("Querying for %1").arg(structureName)); m_progressDialog->setRange(0, 0); m_progressDialog->show(); } void NetworkDatabases::replyFinished(QNetworkReply* reply) { m_progressDialog->hide(); // Read in all the data if (!reply->isReadable()) { QMessageBox::warning(qobject_cast(parent()), tr("Network Download Failed"), tr("Network timeout or other error.")); reply->deleteLater(); return; } m_moleculeData = reply->readAll(); // Check if the file was successfully downloaded if (m_moleculeData.contains("Error report") || m_moleculeData.contains("Page not found (404)")) { QMessageBox::warning( qobject_cast(parent()), tr("Network Download Failed"), tr("Specified molecule could not be found: %1").arg(m_moleculeName)); reply->deleteLater(); return; } emit moleculeReady(1); reply->deleteLater(); } } } avogadrolibs-1.93.0/avogadro/qtplugins/networkdatabases/networkdatabases.h000066400000000000000000000037411360735163600272020ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2009 Marcus D. Hanwell Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_NETWORKDATABASES_H #define AVOGADRO_QTPLUGINS_NETWORKDATABASES_H #include #include #include class QNetworkAccessManager; class QNetworkReply; class QProgressDialog; namespace Avogadro { namespace QtPlugins { /** * @brief Queries online databases (currently the NIH structure resolver) and * loads the returned structure if one is found. */ class NetworkDatabases : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit NetworkDatabases(QObject* parent = 0); ~NetworkDatabases() override; QString name() const override { return tr("Network Databases"); } QString description() const override { return tr("Interact with online databases, query structures etc."); } QList actions() const override; QStringList menuPath(QAction*) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; bool readMolecule(QtGui::Molecule& mol) override; private slots: void showDialog(); void replyFinished(QNetworkReply*); private: QAction* m_action; QtGui::Molecule* m_molecule; QNetworkAccessManager* m_network; QString m_moleculeName; QByteArray m_moleculeData; QProgressDialog* m_progressDialog; }; } } #endif // AVOGADRO_QTPLUGINS_NETWORKDATABASES_H avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/000077500000000000000000000000001360735163600220515ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/CMakeLists.txt000066400000000000000000000006221360735163600246110ustar00rootroot00000000000000include_directories("${AvogadroLibs_SOURCE_DIR}/thirdparty") set(openbabel_srcs obfileformat.cpp obforcefielddialog.cpp obprocess.cpp openbabel.cpp ) set(openbabel_uis obforcefielddialog.ui ) avogadro_plugin(OpenBabel "OpenBabel extension" ExtensionPlugin openbabel.h OpenBabel "${openbabel_srcs}" "${openbabel_uis}" ) target_link_libraries(OpenBabel LINK_PRIVATE AvogadroIO) avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/obfileformat.cpp000066400000000000000000000163571360735163600252420ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "obfileformat.h" #include "obprocess.h" #include #include #include #include #include using json = nlohmann::json; namespace Avogadro { namespace QtPlugins { /** * @brief The ProcessListener class allows synchronous use of OBProcess. */ class OBFileFormat::ProcessListener : public QObject { Q_OBJECT public: ProcessListener() : QObject(), m_finished(false) {} bool waitForOutput(QByteArray& output, int msTimeout = 120000) { if (!wait(msTimeout)) return false; // success! output = m_output; return true; } public slots: void responseReceived(const QByteArray& output) { m_finished = true; m_output = output; } private: bool wait(int msTimeout) { QTimer timer; timer.start(msTimeout); while (timer.isActive() && !m_finished) qApp->processEvents(QEventLoop::AllEvents, 500); return m_finished; } OBProcess* m_process; bool m_finished; QByteArray m_output; }; OBFileFormat::OBFileFormat(const std::string& name_, const std::string& identifier_, const std::string& description_, const std::string& specificationUrl_, const std::vector fileExtensions_, const std::vector mimeTypes_, bool fileOnly_) : Io::FileFormat(), m_description(description_), m_fileExtensions(fileExtensions_), m_mimeTypes(mimeTypes_), m_identifier(identifier_), m_name(name_), m_specificationUrl(specificationUrl_), m_fileOnly(fileOnly_) { } OBFileFormat::~OBFileFormat() { } bool OBFileFormat::read(std::istream& in, Core::Molecule& molecule) { json opts; if (!options().empty()) opts = json::parse(options(), nullptr, false); else opts = json::object(); // Allow blocking until the read is completed. OBProcess proc; ProcessListener listener; QObject::connect(&proc, SIGNAL(convertFinished(QByteArray)), &listener, SLOT(responseReceived(QByteArray))); // Just grab the first file extension from the list -- all extensions for a // given format map to the same parsers in OB. if (m_fileExtensions.empty()) { appendError("Internal error: No file extensions set."); return false; } // If we are reading a pure-2D format, generate 3D coordinates: QStringList options; QStringList formats2D; formats2D << "smi" << "inchi" << "can"; if (formats2D.contains(QString::fromStdString(m_fileExtensions.front()))) options << "--gen3d"; // Check if we have extra arguments for open babel json extraArgs = opts.value("arguments", json::object()); if (extraArgs.is_array()) { for (const auto& arg : extraArgs) { if (arg.is_string()) options << arg.get().c_str(); } } if (!m_fileOnly) { // Determine length of data in.seekg(0, std::ios_base::end); std::istream::pos_type length = in.tellg(); in.seekg(0, std::ios_base::beg); in.clear(); // Extract char data QByteArray input; input.resize(static_cast(length)); in.read(input.data(), length); if (in.gcount() != length) { appendError("Error reading stream into buffer!"); return false; } // Perform the conversion. if (!proc.convert(input, QString::fromStdString(m_fileExtensions.front()), "cml", options)) { appendError("OpenBabel conversion failed!"); return false; } } else { // Can only read files. Need absolute path. QString filename = QString::fromStdString(fileName()); if (!QFileInfo(filename).isAbsolute()) { appendError("Internal error -- filename must be absolute! " + filename.toStdString()); return false; } // Perform the conversion. if (!proc.convert(filename, QString::fromStdString(m_fileExtensions.front()), "cml", options)) { appendError("OpenBabel conversion failed!"); return false; } } QByteArray cmlOutput; if (!listener.waitForOutput(cmlOutput)) { appendError(std::string("Conversion timed out.")); return false; } if (cmlOutput.isEmpty()) { appendError(std::string("OpenBabel error: conversion failed.")); return false; } Io::CmlFormat cmlReader; if (!cmlReader.readString(std::string(cmlOutput.constData()), molecule)) { appendError(std::string("Error while reading OpenBabel-generated CML:")); appendError(cmlReader.error()); return false; } return true; } bool OBFileFormat::write(std::ostream& out, const Core::Molecule& molecule) { json opts; if (!options().empty()) opts = json::parse(options(), nullptr, false); else opts = json::object(); // Check if we have extra arguments for open babel QStringList options; json extraArgs = opts.value("arguments", json::object()); if (extraArgs.is_array()) { for (const auto& arg : extraArgs) { if (arg.is_string()) options << arg.get().c_str(); } } // Generate CML to give to OpenBabel std::string cml; Io::CmlFormat cmlWriter; if (!cmlWriter.writeString(cml, molecule)) { appendError(std::string("Error while writing CML:")); appendError(cmlWriter.error()); return false; } // Block until the OpenBabel conversion finishes: OBProcess proc; ProcessListener listener; QObject::connect(&proc, SIGNAL(convertFinished(QByteArray)), &listener, SLOT(responseReceived(QByteArray))); // Just grab the first file extension from the list -- all extensions for a // given format map to the same parsers in OB. if (m_fileExtensions.empty()) { appendError("Internal error: No file extensions set."); return false; } proc.convert(QByteArray(cml.c_str()), "cml", QString::fromStdString(m_fileExtensions.front()), options); QByteArray output; if (!listener.waitForOutput(output)) { appendError(std::string("Conversion timed out.")); return false; } if (output.isEmpty()) { appendError(std::string("OpenBabel error: conversion failed.")); return false; } out.write(output.constData(), output.size()); return true; } void OBFileFormat::clear() { Io::FileFormat::clear(); } Io::FileFormat* OBFileFormat::newInstance() const { return new OBFileFormat(m_name, m_identifier, m_description, m_specificationUrl, m_fileExtensions, m_mimeTypes, m_fileOnly); } } // namespace QtPlugins } // namespace Avogadro #include "obfileformat.moc" avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/obfileformat.h000066400000000000000000000054601360735163600247000ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_OBFILEFORMAT_H #define AVOGADRO_QTPLUGINS_OBFILEFORMAT_H #include namespace Avogadro { namespace QtPlugins { /** * @brief The OBFileFormat class implements the FileFormat API for using an * OBProcess for file IO. */ class OBFileFormat : public Avogadro::Io::FileFormat { public: OBFileFormat(const std::string& name_, const std::string& identifier_, const std::string& description_, const std::string& specificationUrl_, const std::vector fileExtensions_, const std::vector mimeTypes_, bool fileOnly_ = false); ~OBFileFormat() override; Operations supportedOperations() const override { return m_rwFlags | File | (m_fileOnly ? None : Stream | String); } bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream& out, const Core::Molecule& molecule) override; void clear() override; FileFormat* newInstance() const override; std::string description() const override { return m_description; } std::string identifier() const override { return m_identifier; } std::string name() const override { return m_name; } std::string specificationUrl() const override { return m_specificationUrl; } std::vector fileExtensions() const override { return m_fileExtensions; } std::vector mimeTypes() const override { return m_mimeTypes; } /** * Set whether this format supports read and/or write operations. */ void setReadWriteFlags(Operations ops) { m_rwFlags = ops & ReadWrite; } /** Whether or not the format supports files only. This is needed for * multifile formats. */ void setFileOnly(bool f) { m_fileOnly = f; } bool fileOnly() const { return m_fileOnly; } /** @} */ class ProcessListener; private: Operations m_rwFlags; std::string m_description; std::vector m_fileExtensions; std::vector m_mimeTypes; std::string m_identifier; std::string m_name; std::string m_specificationUrl; bool m_fileOnly; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_OBFILEFORMAT_H avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/obforcefielddialog.cpp000066400000000000000000000210621360735163600263610ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "obforcefielddialog.h" #include "ui_obforcefielddialog.h" #include #include #include #include #include // for log10 namespace Avogadro { namespace QtPlugins { enum OptimizationAlgorithm { SteepestDescent = 0, ConjugateGradient }; enum LineSearchMethod { Simple = 0, Newton }; OBForceFieldDialog::OBForceFieldDialog(const QStringList& forceFields, QWidget* parent_) : QDialog(parent_), ui(new Ui::OBForceFieldDialog) { ui->setupUi(this); ui->forceField->addItems(forceFields); updateRecommendedForceField(); connect(ui->useRecommended, SIGNAL(toggled(bool)), SLOT(useRecommendedForceFieldToggled(bool))); QSettings settings; bool autoDetect = settings.value("openbabel/optimizeGeometry/autoDetect", true).toBool(); ui->useRecommended->setChecked(autoDetect); } OBForceFieldDialog::~OBForceFieldDialog() { delete ui; } QStringList OBForceFieldDialog::prompt(QWidget* parent_, const QStringList& forceFields, const QStringList& startingOptions, const QString& recommendedForceField_) { OBForceFieldDialog dlg(forceFields, parent_); dlg.setOptions(startingOptions); dlg.setRecommendedForceField(recommendedForceField_); QStringList options; if (static_cast(dlg.exec()) == Accepted) options = dlg.options(); return options; } QStringList OBForceFieldDialog::options() const { QStringList opts; opts << "--crit" << QString::number(std::pow(10.0f, ui->energyConv->value()), 'e', 0) << "--ff" << ui->forceField->currentText() << "--steps" << QString::number(ui->stepLimit->value()) << "--rvdw" << QString::number(ui->vdwCutoff->value()) << "--rele" << QString::number(ui->eleCutoff->value()) << "--freq" << QString::number(ui->pairFreq->value()); switch (static_cast(ui->algorithm->currentIndex())) { case SteepestDescent: opts << "--sd"; break; default: case ConjugateGradient: break; } switch (static_cast(ui->lineSearch->currentIndex())) { case Newton: opts << "--newton"; break; default: case Simple: break; } if (ui->enableCutoffs->isChecked()) opts << "--cut"; return opts; } void OBForceFieldDialog::setOptions(const QStringList& opts) { // Set some defaults. These match the defaults in obabel -L minimize ui->energyConv->setValue(-6); ui->algorithm->setCurrentIndex(static_cast(ConjugateGradient)); ui->lineSearch->setCurrentIndex(static_cast(Simple)); ui->stepLimit->setValue(2500); ui->enableCutoffs->setChecked(false); ui->vdwCutoff->setValue(10.0); ui->eleCutoff->setValue(10.0); ui->pairFreq->setValue(10); for (QStringList::const_iterator it = opts.constBegin(), itEnd = opts.constEnd(); it < itEnd; ++it) { // We'll always use log: if (*it == "--log") { continue; } // Energy convergence: else if (*it == "--crit") { ++it; if (it == itEnd) { qWarning() << "OBForceFieldDialog::setOptions: " "--crit missing argument."; continue; } bool ok; float econv = it->toFloat(&ok); if (!ok) { qWarning() << "OBForceFieldDialog::setOptions: " "--crit is not numeric: " << *it; continue; } // We just show the econv as 10^(x), so calculate the nearest x int exponent = static_cast(std::floor(std::log10(econv) + 0.5)); ui->energyConv->setValue(exponent); continue; } // Use steepest descent? else if (*it == "--sd") { ui->algorithm->setCurrentIndex(SteepestDescent); continue; } // Use newton linesearch? else if (*it == "--newton") { ui->lineSearch->setCurrentIndex(Newton); continue; } // Force field? else if (*it == "--ff") { ++it; if (it == itEnd) { qWarning() << "OBForceFieldDialog::setOptions: " "--ff missing argument."; continue; } int index = ui->forceField->findText(*it); if (index < 0) { qWarning() << "OBForceFieldDialog::setOptions: " "--ff unknown: " << *it; continue; } ui->forceField->setCurrentIndex(index); continue; } // Step limit? else if (*it == "--steps") { ++it; if (it == itEnd) { qWarning() << "OBForceFieldDialog::setOptions: " "--steps missing argument."; continue; } bool ok; int numSteps = it->toInt(&ok); if (!ok) { qWarning() << "OBForceFieldDialog::setOptions: " "--steps is not numeric: " << *it; continue; } ui->stepLimit->setValue(numSteps); continue; } // Use cutoff? else if (*it == "--cut") { ui->enableCutoffs->setChecked(true); continue; } // Van der Waals cutoff else if (*it == "--rvdw") { ++it; if (it == itEnd) { qWarning() << "OBForceFieldDialog::setOptions: " "--rvdw missing argument."; continue; } bool ok; double cutoff = it->toDouble(&ok); if (!ok) { qWarning() << "OBForceFieldDialog::setOptions: " "--rvdw is not numeric: " << *it; continue; } ui->vdwCutoff->setValue(cutoff); continue; } // electrostatic cutoff else if (*it == "--rele") { ++it; if (it == itEnd) { qWarning() << "OBForceFieldDialog::setOptions: " "--rele missing argument."; continue; } bool ok; double cutoff = it->toDouble(&ok); if (!ok) { qWarning() << "OBForceFieldDialog::setOptions: " "--rele is not numeric: " << *it; continue; } ui->eleCutoff->setValue(cutoff); continue; } // Pair update frequency: else if (*it == "--freq") { ++it; if (it == itEnd) { qWarning() << "OBForceFieldDialog::setOptions: " "--freq missing argument."; continue; } bool ok; int numSteps = it->toInt(&ok); if (!ok) { qWarning() << "OBForceFieldDialog::setOptions: " "--freq is not numeric: " << *it; continue; } ui->pairFreq->setValue(numSteps); continue; } // ????? else { qWarning() << "OBForceFieldDialog::setOptions: " "Unrecognized option: " << *it; } } } void OBForceFieldDialog::setRecommendedForceField(const QString& rff) { if (rff == m_recommendedForceField) return; if (ui->forceField->findText(rff) == -1) return; m_recommendedForceField = rff; updateRecommendedForceField(); } void OBForceFieldDialog::useRecommendedForceFieldToggled(bool state) { if (!m_recommendedForceField.isEmpty()) { if (state) { int index = ui->forceField->findText(m_recommendedForceField); if (index >= 0) { ui->forceField->setCurrentIndex(index); } } } ui->forceField->setEnabled(!state); QSettings().setValue("openbabel/optimizeGeometry/autoDetect", state); } void OBForceFieldDialog::updateRecommendedForceField() { if (m_recommendedForceField.isEmpty()) { ui->useRecommended->hide(); ui->forceField->setEnabled(true); } else { ui->useRecommended->setText( tr("Autodetect (%1)").arg(m_recommendedForceField)); // Force the combo box to update if needed: useRecommendedForceFieldToggled(ui->useRecommended->isChecked()); ui->useRecommended->show(); } } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/obforcefielddialog.h000066400000000000000000000072611360735163600260330ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_OBFORCEFIELDDIALOG_H #define AVOGADRO_QTPLUGINS_OBFORCEFIELDDIALOG_H #include namespace Avogadro { namespace QtPlugins { namespace Ui { class OBForceFieldDialog; } /** * @brief The OBForceFieldDialog class is used to prompt the user for parameters * to be used in an OpenBabel force field optimization. */ class OBForceFieldDialog : public QDialog { Q_OBJECT public: /** * Construct a new dialog using the forcefields in @a forceFields. */ explicit OBForceFieldDialog(const QStringList& forceFields, QWidget* parent_ = 0); ~OBForceFieldDialog() override; /** * Construct a new dialog using the forcefields in @a forceFields and * initialize the options to those in @a startingOptions (see setOptions). * If the user chooses the recommended force field, @a recommendedForceField_ * will be set. This is useful for preferring a specific force field for a * particular molecule. * When the user closes the dialog, the options they selected are returned. If * the user cancels the dialog, an empty list is returned. */ static QStringList prompt(QWidget* parent_, const QStringList& forceFields, const QStringList& startingOptions, const QString& recommendedForceField_ = QString()); /** * Get/set the options displayed in the dialog. The option format is a list of * strings that may be used directly as arguments in a call to * QProcess::start, with the exception of the `-i`, * `-o` and `--minimize` options, which are not used by this * class. See `obabel -L minimize` for a complete listing of available * options. * * Each option (and argument, if applicable) must be a separate string in the * list. For instance, to refer to the options in the call: @code obabel -icml -ocml --minimize --log --crit 1e-05 --ff Ghemical --sd" @endcode * * The option list should contain, in order: * - `--crit` * - `1e-05` * - `--ff` * - `Ghemical` * - `--sd` * * @note The `--log` option is always added in the list returned by * options, and is ignored by the setOptions method. * * @{ */ QStringList options() const; void setOptions(const QStringList& opts); /**@}*/ /** * Get/set the recommended forcefield for the current molecule. If an empty * string, the user will not be shown an option to use the recommended * forcefield. * If the string is non-empty (and in the forceFields list passed in the * constructor), the user will have the option of setting the forcefield to * this value. * * @{ */ QString recommendedForceField() const { return m_recommendedForceField; } void setRecommendedForceField(const QString& rff); /**@}*/ private slots: void useRecommendedForceFieldToggled(bool state); private: void updateRecommendedForceField(); Ui::OBForceFieldDialog* ui; QString m_recommendedForceField; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_OBFORCEFIELDDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/obforcefielddialog.ui000066400000000000000000000212541360735163600262170ustar00rootroot00000000000000 Avogadro::QtPlugins::OBForceFieldDialog 0 0 327 388 0 0 Geometry Optimization Parameters QLayout::SetFixedSize Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok Optimization Method Force field: Optimization algorithm: Line search technique: Steepest Descent Conjugate Gradient Simple Newton's Method Autodetect Qt::Horizontal Limit Non-Bonded Interactions true false Van der Waals cutoff distance: Pair update frequency: electrostatic cutoff distance: Å 0.250000000000000 100.000000000000000 0.250000000000000 10.000000000000000 Å 0.250000000000000 100.000000000000000 0.250000000000000 10.000000000000000 steps 1 100 1 10 Convergence Criteria "Energy" convergence: Step limit: units 10^ -10 9 -6 steps 0 100000 250 2500 forceField useRecommended algorithm lineSearch energyConv stepLimit enableCutoffs vdwCutoff eleCutoff pairFreq buttonBox buttonBox accepted() Avogadro::QtPlugins::OBForceFieldDialog accept() 248 254 157 274 buttonBox rejected() Avogadro::QtPlugins::OBForceFieldDialog reject() 316 260 286 274 avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/obprocess.cpp000066400000000000000000000262111360735163600245560ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "obprocess.h" #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { OBProcess::OBProcess(QObject* parent_) : QObject(parent_), m_processLocked(false), m_aborted(false), m_process(new QProcess(this)), #if defined(_WIN32) m_obabelExecutable("obabel.exe") #else m_obabelExecutable("obabel") #endif { // Read the AVO_OBABEL_EXECUTABLE env var to optionally override the // executable used for obabel. QByteArray obabelExec = qgetenv("AVO_OBABEL_EXECUTABLE"); if (!obabelExec.isEmpty()) { m_obabelExecutable = obabelExec; } else { // If not overridden, look for an obabel next to the executable. QDir baseDir(QCoreApplication::applicationDirPath()); if (!baseDir.absolutePath().startsWith("/usr/") && QFileInfo(baseDir.absolutePath() + '/' + m_obabelExecutable).exists()) { m_obabelExecutable = baseDir.absolutePath() + '/' + m_obabelExecutable; QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); #if defined(_WIN32) env.insert("BABEL_DATADIR", QCoreApplication::applicationDirPath() + "/data"); #else QDir dir(QCoreApplication::applicationDirPath() + "/../share/openbabel"); QStringList filters; filters << "3.*" << "2.*"; QStringList dirs = dir.entryList(filters); if (dirs.size() == 1) { env.insert("BABEL_DATADIR", QCoreApplication::applicationDirPath() + "/../share/openbabel/" + dirs[0]); } else { qDebug() << "Error, Open Babel data directory not found."; } dir.setPath(QCoreApplication::applicationDirPath() + "/../lib/openbabel"); dirs = dir.entryList(filters); if (dirs.size() == 0) { env.insert("BABEL_LIBDIR", QCoreApplication::applicationDirPath() + "/../lib/openbabel/"); } else if (dirs.size() == 1) { env.insert("BABEL_LIBDIR", QCoreApplication::applicationDirPath() + "/../lib/openbabel/" + dirs[0]); } else { qDebug() << "Error, Open Babel plugins directory not found."; } #endif m_process->setProcessEnvironment(env); } } } QString OBProcess::version() { QString result; if (!tryLockProcess()) { qWarning() << "OBProcess::version: process already in use."; return result; } executeObabel(QStringList() << "-V"); if (m_process->waitForFinished(500)) result = m_process->readAllStandardOutput().trimmed(); releaseProcess(); return result; } void OBProcess::abort() { m_aborted = true; emit aborted(); } void OBProcess::obError() { qDebug() << "Process encountered an error, and did not execute correctly."; if (m_process) { qDebug() << "\tExit code:" << m_process->exitCode(); qDebug() << "\tExit status:" << m_process->exitStatus(); qDebug() << "\tExit output:" << m_process->readAll(); } } bool OBProcess::queryReadFormats() { if (!tryLockProcess()) { qWarning() << "OBProcess::queryReadFormats: process already in use."; return false; } // Setup options QStringList options; options << "-L" << "formats" << "read"; executeObabel(options, this, SLOT(queryReadFormatsPrepare())); return true; } bool OBProcess::queryWriteFormats() { if (!tryLockProcess()) { qWarning() << "OBProcess::queryWriteFormats: process already in use."; return false; } // Setup options QStringList options; options << "-L" << "formats" << "write"; executeObabel(options, this, SLOT(queryWriteFormatsPrepare())); return true; } void OBProcess::queryReadFormatsPrepare() { if (m_aborted) { releaseProcess(); return; } QMap result; QString output = QString::fromLatin1(m_process->readAllStandardOutput()); QRegExp parser("\\s*([^\\s]+)\\s+--\\s+([^\\n]+)\\n"); int pos = 0; while ((pos = parser.indexIn(output, pos)) != -1) { QString extension = parser.cap(1); QString description = parser.cap(2); result.insertMulti(description, extension); pos += parser.matchedLength(); } releaseProcess(); emit queryReadFormatsFinished(result); return; } void OBProcess::queryWriteFormatsPrepare() { if (m_aborted) { releaseProcess(); return; } QMap result; QString output = QString::fromLatin1(m_process->readAllStandardOutput()); QRegExp parser("\\s*([^\\s]+)\\s+--\\s+([^\\n]+)\\n"); int pos = 0; while ((pos = parser.indexIn(output, pos)) != -1) { QString extension = parser.cap(1); QString description = parser.cap(2); result.insertMulti(description, extension); pos += parser.matchedLength(); } releaseProcess(); emit queryWriteFormatsFinished(result); return; } bool OBProcess::convert(const QByteArray& input, const QString& inFormat, const QString& outFormat, const QStringList& options) { if (!tryLockProcess()) { qWarning() << "OBProcess::convert: process already in use."; return false; } QStringList realOptions; realOptions << QString("-i%1").arg(inFormat) << QString("-o%1").arg(outFormat) << options; executeObabel(realOptions, this, SLOT(convertPrepareOutput()), input); return true; } bool OBProcess::convert(const QString& filename, const QString& inFormat, const QString& outFormat, const QStringList& options) { if (!tryLockProcess()) { qWarning() << "OBProcess::convert: process already in use."; return false; } QStringList realOptions; realOptions << QString("-i%1").arg(inFormat) << filename << QString("-o%1").arg(outFormat) << options; executeObabel(realOptions, this, SLOT(convertPrepareOutput())); return true; } void OBProcess::convertPrepareOutput() { if (m_aborted) { releaseProcess(); return; } // Keep this empty if an error occurs: QByteArray output; // Check for errors. QString errorOutput = QString::fromLatin1(m_process->readAllStandardError()); QRegExp errorChecker("\\b0 molecules converted\\b" "|" "obabel: cannot read input format!"); if (!errorOutput.contains(errorChecker)) { if (m_process->exitStatus() == QProcess::NormalExit) output = m_process->readAllStandardOutput(); } /// Print any meaningful warnings @todo This should go to a log at some point. if (!errorOutput.isEmpty() && errorOutput != "1 molecule converted\n") qWarning() << m_obabelExecutable << " stderr:\n" << errorOutput; emit convertFinished(output); releaseProcess(); } bool OBProcess::queryForceFields() { if (!tryLockProcess()) { qWarning() << "OBProcess::queryForceFields(): process already in use."; return false; } QStringList options; options << "-L" << "forcefields"; executeObabel(options, this, SLOT(queryForceFieldsPrepare())); return true; } void OBProcess::queryForceFieldsPrepare() { if (m_aborted) { releaseProcess(); return; } QMap result; QString output = QString::fromLatin1(m_process->readAllStandardOutput()); QRegExp parser("([^\\s]+)\\s+(\\S[^\\n]*[^\\n\\.]+)\\.?\\n"); int pos = 0; while ((pos = parser.indexIn(output, pos)) != -1) { QString key = parser.cap(1); QString desc = parser.cap(2); result.insertMulti(key, desc); pos += parser.matchedLength(); } releaseProcess(); emit queryForceFieldsFinished(result); } bool OBProcess::optimizeGeometry(const QByteArray& mol, const QStringList& options) { if (!tryLockProcess()) { qWarning() << "OBProcess::optimizeGeometry(): process already in use."; return false; } QStringList realOptions; realOptions << "-imol" << "-omol" << "--minimize" << "--log" << options; // We'll need to read the log (printed to stderr) to update progress connect(m_process, SIGNAL(readyReadStandardError()), SLOT(optimizeGeometryReadLog())); // Initialize the log reader ivars m_optimizeGeometryLog.clear(); m_optimizeGeometryMaxSteps = -1; // Start the optimization executeObabel(realOptions, this, SLOT(optimizeGeometryPrepare()), mol); return true; } void OBProcess::optimizeGeometryPrepare() { if (m_aborted) { releaseProcess(); return; } QByteArray result = m_process->readAllStandardOutput(); releaseProcess(); emit optimizeGeometryFinished(result); } void OBProcess::optimizeGeometryReadLog() { // Append the current stderr to the log m_optimizeGeometryLog += QString::fromLatin1(m_process->readAllStandardError()); // Search for the maximum number of steps if we haven't found it yet if (m_optimizeGeometryMaxSteps < 0) { QRegExp maxStepsParser("\nSTEPS = ([0-9]+)\n\n"); if (maxStepsParser.indexIn(m_optimizeGeometryLog) != -1) { m_optimizeGeometryMaxSteps = maxStepsParser.cap(1).toInt(); emit optimizeGeometryStatusUpdate(0, m_optimizeGeometryMaxSteps, 0.0, 0.0); } } // Emit the last printed step if (m_optimizeGeometryMaxSteps >= 0) { QRegExp lastStepParser("\\n\\s*([0-9]+)\\s+([-0-9.]+)\\s+([-0-9.]+)\\n"); if (lastStepParser.lastIndexIn(m_optimizeGeometryLog) != -1) { int step = lastStepParser.cap(1).toInt(); double energy = lastStepParser.cap(2).toDouble(); double lastEnergy = lastStepParser.cap(3).toDouble(); emit optimizeGeometryStatusUpdate(step, m_optimizeGeometryMaxSteps, energy, lastEnergy); } } } void OBProcess::executeObabel(const QStringList& options, QObject* receiver, const char* slot, const QByteArray& obabelStdin) { // Setup exit handler if (receiver) { connect(m_process, SIGNAL(finished(int)), receiver, slot); connect(m_process, SIGNAL(error(QProcess::ProcessError)), receiver, slot); connect(m_process, SIGNAL(error(QProcess::ProcessError)), this, SLOT(obError())); } // Start process qDebug() << "OBProcess::executeObabel: " "Running" << m_obabelExecutable << options.join(" "); m_process->start(m_obabelExecutable, options); if (!obabelStdin.isNull()) { m_process->write(obabelStdin); m_process->closeWriteChannel(); } } void OBProcess::resetState() { m_aborted = false; m_process->disconnect(this); disconnect(m_process); connect(this, SIGNAL(aborted()), m_process, SLOT(kill())); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/obprocess.h000066400000000000000000000266301360735163600242300ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_OBPROCESS_H #define AVOGADRO_QTPLUGINS_OBPROCESS_H #include #include #include class QProcess; namespace Avogadro { namespace QtPlugins { /** * @brief The OBProcess class provides an interface to the `obabel` executable, * which is run in a separate process. * * The `obabel` executable used by this class can be overridden by setting the * AVO_OBABEL_EXECUTABLE environment variable. */ class OBProcess : public QObject { Q_OBJECT public: explicit OBProcess(QObject* parent_ = 0); /** * @return The output of obabel -V. */ QString version(); /** * @name Process Management * Methods, slots, and signals used to interact with the OpenBabel process. * @{ */ public: /** * The `obabel` executable used by the process. */ QString obabelExecutable() const { return m_obabelExecutable; } /** * @return True if the process is in use, false otherwise. */ bool inUse() const { return m_processLocked; } public slots: /** * Abort any currently running processes. * * This will cause aborted() to be emitted, but not any of the * operation-specific "finished" signals. */ void abort(); /** * Called when an error in the process occurs. */ void obError(); signals: /** * Emitted when the abort() method has been called. */ void aborted(); // end Process Management doxygen group /**@}*/ /** * @name File Format Support * Query the obabel executable for supported file formats. * @{ */ public slots: /** * Request a list of all supported input formats from obabel. * * After calling this method, the queryReadFormatsFinished signal will be * emitted. This method executes * * `obabel -L formats read` * * and parses the output into a map (keys are format descriptions, values are * format extensions). * * If an error occurs, queryReadFormatsFinished will be emitted with an empty * argument. * * @return True if the process started successfully, false otherwise. */ bool queryReadFormats(); /** * Request a list of all supported output formats from obabel. * * After calling this method, the queryWriteFormatsFinished signal will be * emitted. This method executes * * `obabel -L formats write` * * and parses the output into a map (keys are format descriptions, values are * format extensions). * * If an error occurs, queryWriteFormatsFinished will be emitted with an empty * argument. * * @return True if the process started successfully, false otherwise. */ bool queryWriteFormats(); signals: /** * Triggered when the process started by queryReadFormats() completes. * @param readFormats The input file formats that OpenBabel understands. Keys * are non-translated (english), human-readable descriptions of the formats, * and the values are the corresponding file extensions. * * @note readFormats will usually contain more than one extensions per format, * so accessing the values with QMap::values() (instead of QMap::value()) is * required. * * If an error occurs, readFormats will be empty. */ void queryReadFormatsFinished(QMap readFormats); /** * Triggered when the process started by queryWriteFormats() completes. * @param writeFormats The file formats that OpenBabel can write. Keys * are non-translated (english), human-readable descriptions of the formats, * and the values are the corresponding file extensions. * * @note writeFormats will usually contain more than one extensions per * format, so accessing the values with QMap::values() (instead of * QMap::value()) is required. * * If an error occurs, writeFormats will be empty. */ void queryWriteFormatsFinished(QMap writeFormats); private slots: void queryReadFormatsPrepare(); void queryWriteFormatsPrepare(); // end File Format Support doxygen group /**@}*/ /** * @name Format Operations * Operations that manipulate molecular representations. * @{ */ public slots: /** * Convert the text representation in @a input from @a inFormat to * @a outFormat. * * @param input Text representation of molecule in @a inFormat format. * @param inFormat File extension corresponding to input format * (see `obabel -L formats`). * @param outFormat File extension corresponding to output format. * @param options Additional options passed to obabel. * * After calling this method, the convertFinished signal will be emitted to * indicate return status along with the requested representation of the * molecule. * * The conversion is performed as: * `obabel -i -o < input > output` * * @return True if the process started succesfully, false otherwise. */ bool convert(const QByteArray& input, const QString& inFormat, const QString& outFormat, const QStringList& options = QStringList()); /** * Convert the file @a filename from @a inFormat to @a outFormat. * * @param filename File containing molecule representation in @a inFormat * format. * @param inFormat File extension corresponding to input format * (see `obabel -L formats`). * @param outFormat File extension corresponding to output format. * @param options Additional options passed to obabel. * * After calling this method, the convertFinished signal will be emitted to * indicate return status along with the requested representation of the * molecule. * * The conversion is performed as: * `obabel -i -o > output` * * @return True if the process started succesfully, false otherwise. */ bool convert(const QString& filename, const QString& inFormat, const QString& outFormat, const QStringList& options = QStringList()); signals: /** * Emitted after a call to convert() finishes. * @param output The molecule in CML format, or an empty QByteArray if an e * error occurred. */ void convertFinished(const QByteArray& output); private slots: void convertPrepareOutput(); // end Format Operations doxygen group /**@}*/ /** * @name Force Fields * Methods, signals, and slots pertaining to force fields (e.g. geometry * optimizations). * @{ */ public slots: /** * Request a list of all supported force fields from obabel. * * After calling this method, the queryForceFieldsFinished signal will be * emitted. This method executes * * `obabel -L forcefields` * * and parses the output. * * If an error occurs, queryReadFormatsFinished will be emitted with an empty * argument. * * @return True if the process started successfully, false otherwise. */ bool queryForceFields(); signals: /** * Triggered when the process started by queryForceFields() completes. * @param forceFields The force fields supported by OpenBabel. Keys * are unique identifiers for the force fields, and the values are * non-translated (english), human-readable descriptions. * * If an error occurs, forceFields will be empty. */ void queryForceFieldsFinished(const QMap& forceFields); private slots: void queryForceFieldsPrepare(); public slots: /** * Request that obabel optimize a molecular structure using its minimize * operation. * @param cml A Chemical Markup Language representation of the molecule. * @param options Options for the optimization. See OBForceFieldDialog::prompt * for an easy method way to get the options from the user. * * After calling this method, the optimizeGeometryStatusUpdate signal will be * emitted periodically to indicate the optimization's progress. Once the * optimization finishes, optimizeGeometryFinished will be emitted with the * result of the optimization. * * The optimization is started with * `obabel -icml -ocml --minimize ` * * The standard output is recorded and returned by optimizeGeometryFinished. * If @a options contains `--log`, the obabel process's standard error stream * is monitored for the data used in the optimizeGeometryStatusUpdate progress * updates. * * @return True if the process started successfully, false otherwise. */ bool optimizeGeometry(const QByteArray& cml, const QStringList& options); signals: /** * Emitted with the standard output of the process when it finishes. * If an error occurs, the argument will not be valid CML. */ void optimizeGeometryFinished(const QByteArray& cml); /** * Emitted every 10 steps of the optimization to indicate the current * progress. * @param step The current step of the minimization algorithm. * @param maxSteps The maximum number of steps before the minimization is * aborted. * @param currentEnergy The energy of the molecule at the current step. * @param lastEnergy The energy of the molecule at the previous minimization * step. */ void optimizeGeometryStatusUpdate(int step, int maxSteps, double currentEnergy, double lastEnergy); private slots: void optimizeGeometryPrepare(); void optimizeGeometryReadLog(); // end Force Fields doxygen group /**@}*/ private: /** * Internal method for launching the obabel executable. * @param options List of options to pass to QProcess::start * @param receiver A QObject subclass instance that has @a slot as a member. * @param slot The slot to call when completed. Must have no arguments. * @param obabelStdin Standard input for the obabel process (optional). * * Call this method like so: @code QStringList options; executeObabel(options, this, SLOT(mySlot())); @endcode * * @a slot will be connected to QProcess::finished(int) and * QProcess::error(QProcess::ProcessError) with @a receiver as receiver and * @a m_process as sender. @a m_process is then started using * m_obabelExecutable and options as arguments. If provided, the obabelStdin * data will be written to the obabel stdin channel. */ void executeObabel(const QStringList& options, QObject* receiver = nullptr, const char* slot = nullptr, const QByteArray& obabelStdin = QByteArray()); void resetState(); // Not thread safe -- just uses a bool. bool tryLockProcess() { if (m_processLocked) return false; m_processLocked = true; resetState(); return true; } void releaseProcess() { m_processLocked = false; } bool m_processLocked; bool m_aborted; QProcess* m_process; QString m_obabelExecutable; // Optimize geometry ivars: int m_optimizeGeometryMaxSteps; QString m_optimizeGeometryLog; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_OBPROCESS_H avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/openbabel.cpp000066400000000000000000000644701360735163600245170ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "openbabel.h" #include "obfileformat.h" #include "obforcefielddialog.h" #include "obprocess.h" #include #include #include #include #include #include #include #include #include #include #include #include #include using Avogadro::QtGui::Molecule; namespace Avogadro { namespace QtPlugins { OpenBabel::OpenBabel(QObject* p) : ExtensionPlugin(p), m_molecule(nullptr), m_process(new OBProcess(this)), m_readFormatsPending(true), m_writeFormatsPending(true), m_progress(nullptr) { QAction* action = new QAction(this); action->setEnabled(true); action->setText(tr("Optimize geometry")); action->setShortcut(QKeySequence("Ctrl+Alt+O")); connect(action, SIGNAL(triggered()), SLOT(onOptimizeGeometry())); m_actions.push_back(action); action = new QAction(this); action->setEnabled(true); action->setText(tr("Configure geometry optimization...")); connect(action, SIGNAL(triggered()), SLOT(onConfigureGeometryOptimization())); m_actions.push_back(action); action = new QAction(this); action->setEnabled(true); action->setText(tr("Perceive bonds")); connect(action, SIGNAL(triggered()), SLOT(onPerceiveBonds())); m_actions.push_back(action); action = new QAction(this); action->setEnabled(true); action->setText(tr("Add hydrogens")); connect(action, SIGNAL(triggered()), SLOT(onAddHydrogens())); m_actions.push_back(action); action = new QAction(this); action->setEnabled(true); action->setText(tr("Add hydrogens for pH...")); connect(action, SIGNAL(triggered()), SLOT(onAddHydrogensPh())); m_actions.push_back(action); action = new QAction(this); action->setEnabled(true); action->setText(tr("Remove hydrogens")); connect(action, SIGNAL(triggered()), SLOT(onRemoveHydrogens())); m_actions.push_back(action); refreshReadFormats(); refreshWriteFormats(); refreshForceFields(); QString info = openBabelInfo(); if (info.isEmpty()) { qWarning() << tr("%1 not found! Disabling Open Babel plugin actions.") .arg(OBProcess().obabelExecutable()); foreach (QAction* a, m_actions) a->setEnabled(false); } else { qDebug() << OBProcess().obabelExecutable() << " found: " << info; } } OpenBabel::~OpenBabel() { } QList OpenBabel::actions() const { return m_actions; } QStringList OpenBabel::menuPath(QAction*) const { return QStringList() << tr("&Extensions") << tr("&Open Babel"); } QList OpenBabel::fileFormats() const { // Return empty list if not ready yet, and print a warning. if (m_readFormatsPending || m_writeFormatsPending) { qWarning() << tr("The obabel file formats are not ready to be added."); return QList(); } QList result; std::string mapDesc; std::string fname; std::string fidentifier; std::string fdescription; std::string fspecificationUrl("http://openbabel.org/wiki/Category:Formats"); std::vector fexts; std::vector fmime; QSet formatDescriptions; formatDescriptions.unite(m_readFormats.uniqueKeys().toSet()); formatDescriptions.unite(m_writeFormats.uniqueKeys().toSet()); QSet formatExtensions; // These can only be read directly from file: QList multifileFormatDescriptions; multifileFormatDescriptions << "VASP format"; foreach (const QString& qdesc, formatDescriptions) { mapDesc = qdesc.toStdString(); fname = mapDesc; fidentifier = std::string("OpenBabel: ") + mapDesc; fdescription = mapDesc; fexts.clear(); fmime.clear(); bool fileOnly = multifileFormatDescriptions.contains(qdesc); formatExtensions.clear(); Io::FileFormat::Operations rw = Io::FileFormat::None; if (m_readFormats.contains(qdesc)) { formatExtensions.unite(m_readFormats.values(qdesc).toSet()); rw |= Io::FileFormat::Read; } if (m_writeFormats.contains(qdesc)) { formatExtensions.unite(m_writeFormats.values(qdesc).toSet()); rw |= Io::FileFormat::Write; } foreach (const QString& ext, formatExtensions) fexts.push_back(ext.toStdString()); OBFileFormat* fmt = new OBFileFormat(fname, fidentifier, fdescription, fspecificationUrl, fexts, fmime, fileOnly); fmt->setReadWriteFlags(rw); result.append(fmt); } return result; } QString OpenBabel::openBabelInfo() const { OBProcess proc; QString version = proc.version(); if (version.isEmpty()) return QString(); return QString("%1: %2").arg(proc.obabelExecutable(), version); } void OpenBabel::setMolecule(QtGui::Molecule* mol) { if (mol != m_molecule) m_molecule = mol; } bool OpenBabel::readMolecule(QtGui::Molecule& mol) { m_progress->setLabelText(tr("Loading molecule from CML...")); bool result = false; if (m_moleculeQueue.isEmpty()) { QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("An internal error occurred: " "OpenBabel::readMolecule called, but no obabel " "output is available to parse!"), QMessageBox::Ok); } else { QByteArray output = m_moleculeQueue.takeFirst(); // Empty output means openbabel crashed, etc. if (output.isEmpty()) { QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("An error occurred while running OpenBabel " "(%1).") .arg(m_process->obabelExecutable()), QMessageBox::Ok); } else { result = Io::FileFormatManager::instance().readString( mol, output.constData(), "cml"); if (!result) { qWarning() << "Error parsing OpenBabel CML output:\n" << output; QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Error parsing openbabel output."), QMessageBox::Ok); } } } m_progress->reset(); return result; } void OpenBabel::refreshReadFormats() { // No need to check if the member process is in use -- we use a temporary // process for the refresh methods. OBProcess* proc = new OBProcess(this); connect(proc, SIGNAL(queryReadFormatsFinished(QMap)), SLOT(handleReadFormatUpdate(QMap))); proc->queryReadFormats(); } void OpenBabel::handleReadFormatUpdate(const QMap& fmts) { m_readFormatsPending = false; OBProcess* proc = qobject_cast(sender()); if (proc) proc->deleteLater(); m_readFormats = fmts; // Emit a signal indicating the file formats are ready if read and write // formats have both returned their results. if (!m_readFormatsPending && !m_writeFormatsPending) emit fileFormatsReady(); } void OpenBabel::refreshWriteFormats() { // No need to check if the member process is in use -- we use a temporary // process for the refresh methods. OBProcess* proc = new OBProcess(this); connect(proc, SIGNAL(queryWriteFormatsFinished(QMap)), SLOT(handleWriteFormatUpdate(QMap))); proc->queryWriteFormats(); } void OpenBabel::handleWriteFormatUpdate(const QMap& fmts) { m_writeFormatsPending = false; OBProcess* proc = qobject_cast(sender()); if (proc) proc->deleteLater(); m_writeFormats = fmts; // Emit a signal indicating the file formats are ready if read and write // formats have both returned their results. if (!m_readFormatsPending && !m_writeFormatsPending) emit fileFormatsReady(); } void OpenBabel::refreshForceFields() { // No need to check if the member process is in use -- we use a temporary // process for the refresh methods. OBProcess* proc = new OBProcess(this); connect(proc, SIGNAL(queryForceFieldsFinished(QMap)), SLOT(handleForceFieldsUpdate(QMap))); proc->queryForceFields(); } void OpenBabel::handleForceFieldsUpdate(const QMap& ffMap) { OBProcess* proc = qobject_cast(sender()); if (proc) proc->deleteLater(); m_forceFields = ffMap; } void OpenBabel::onConfigureGeometryOptimization() { // If the force field map is empty, there is probably a problem with the // obabel executable. Warn the user and return. if (m_forceFields.isEmpty()) { QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("An error occurred while retrieving the list of " "supported forcefields. (using '%1').") .arg(m_process->obabelExecutable()), QMessageBox::Ok); return; } QSettings settings; QStringList options = settings.value("openbabel/optimizeGeometry/lastOptions").toStringList(); options = OBForceFieldDialog::prompt(qobject_cast(parent()), m_forceFields.keys(), options, autoDetectForceField()); // User cancel if (options.isEmpty()) return; settings.setValue("openbabel/optimizeGeometry/lastOptions", options); } void OpenBabel::onOptimizeGeometry() { if (!m_molecule || m_molecule->atomCount() == 0) { QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Molecule invalid. Cannot optimize geometry."), QMessageBox::Ok); return; } // If the force field map is empty, there is probably a problem with the // obabel executable. Warn the user and return. if (m_forceFields.isEmpty()) { QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("An error occurred while retrieving the list of " "supported forcefields. (using '%1').") .arg(m_process->obabelExecutable()), QMessageBox::Ok); return; } // Fail here if the process is already in use if (m_process->inUse()) { showProcessInUseError(tr("Cannot optimize geometry with OpenBabel.")); return; } QSettings settings; QStringList options = settings.value("openbabel/optimizeGeometry/lastOptions").toStringList(); bool autoDetect = settings.value("openbabel/optimizeGeometry/autoDetect", true).toBool(); if (autoDetect) { QString ff = autoDetectForceField(); int ffIndex = options.indexOf("--ff"); if (ffIndex >= 0) { // Shouldn't happen, but just to be safe... if (ffIndex + 1 == options.size()) options << ff; else options[ffIndex + 1] = ff; } else { options << "--ff" << ff; } } // Setup progress dialog initializeProgressDialog(tr("Optimizing Geometry (OpenBabel)"), tr("Generating MDL..."), 0, 0, 0); // Connect process disconnect(m_process); m_process->disconnect(this); connect(m_progress, SIGNAL(canceled()), m_process, SLOT(abort())); connect(m_process, SIGNAL(optimizeGeometryStatusUpdate(int, int, double, double)), SLOT(onOptimizeGeometryStatusUpdate(int, int, double, double))); connect(m_process, SIGNAL(optimizeGeometryFinished(QByteArray)), SLOT(onOptimizeGeometryFinished(QByteArray))); // Generate CML std::string mol; if (!Io::FileFormatManager::instance().writeString(*m_molecule, mol, "mol")) { m_progress->reset(); QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("An internal error occurred while generating an " "MDL representation of the current molecule."), QMessageBox::Ok); return; } m_progress->setLabelText(tr("Starting %1...", "arg is an executable file.") .arg(m_process->obabelExecutable())); // Run obabel m_process->optimizeGeometry(QByteArray(mol.c_str()), options); } void OpenBabel::onOptimizeGeometryStatusUpdate(int step, int numSteps, double energy, double lastEnergy) { QString status; if (step == 0) { status = tr("Step %1 of %2\nCurrent energy: %3\ndE: %4") .arg(step) .arg(numSteps) .arg(fabs(energy) > 1e-10 ? QString::number(energy, 'g', 5) : QString("(pending)")) .arg("(pending)"); } else { double dE = energy - lastEnergy; status = tr("Step %1 of %2\nCurrent energy: %3\ndE: %4") .arg(step) .arg(numSteps) .arg(energy, 0, 'g', 5) .arg(dE, 0, 'g', 5); } m_progress->setRange(0, numSteps); m_progress->setValue(step); m_progress->setLabelText(status); } void OpenBabel::onOptimizeGeometryFinished(const QByteArray& output) { m_progress->setLabelText(tr("Updating molecule...")); // CML --> molecule Core::Molecule mol; if (!Io::FileFormatManager::instance().readString(mol, output.constData(), "mol")) { m_progress->reset(); QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Error interpreting obabel MDL output."), QMessageBox::Ok); qDebug() << "MDL:" << output; return; } /// @todo cache a pointer to the current molecule in the above slot, and /// verify that we're still operating on the same molecule. // Check that the atom count hasn't changed: if (mol.atomCount() != m_molecule->atomCount()) { m_progress->reset(); QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Number of atoms in obabel output (%1) does not " "match the number of atoms in the original " "molecule (%2).") .arg(mol.atomCount()) .arg(m_molecule->atomCount()), QMessageBox::Ok); return; } m_molecule->undoMolecule()->setAtomPositions3d(mol.atomPositions3d(), tr("Optimize Geometry")); m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Modified); m_progress->reset(); } void OpenBabel::onPerceiveBonds() { // Fail here if the process is already in use if (m_process->inUse()) { showProcessInUseError(tr("Cannot open file with OpenBabel.")); return; } if (!m_molecule || m_molecule->atomCount() < 2) { QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Invalid molecule: Cannot perceive bonds."), QMessageBox::Ok); return; } // Setup progress dialog initializeProgressDialog(tr("Perceiving Bonds (OpenBabel)"), tr("Generating XYZ representation..."), 0, 0, 0); // Generate XYZ std::string xyz; if (!Io::FileFormatManager::instance().writeString(*m_molecule, xyz, "xyz")) { m_progress->reset(); QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Error generating XYZ string."), QMessageBox::Ok); return; } // Connect process disconnect(m_process); m_process->disconnect(this); connect(m_progress, SIGNAL(canceled()), m_process, SLOT(abort())); connect(m_process, SIGNAL(convertFinished(QByteArray)), SLOT(onPerceiveBondsFinished(QByteArray))); m_progress->setLabelText( tr("Converting XYZ to CML with %1...").arg(m_process->obabelExecutable())); // Run process m_process->convert(QByteArray(xyz.c_str(), xyz.size()), "xyz", "cml"); } void OpenBabel::onPerceiveBondsFinished(const QByteArray& output) { m_progress->setLabelText(tr("Updating molecule from CML...")); // CML --> molecule Core::Molecule mol; if (!Io::FileFormatManager::instance().readString(mol, output.constData(), "cml")) { m_progress->reset(); QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Error interpreting obabel CML output."), QMessageBox::Ok); return; } /// @todo cache a pointer to the current molecule in the above slot, and /// verify that we're still operating on the same molecule. // Check that the atom count hasn't changed: if (mol.atomCount() != m_molecule->atomCount()) { m_progress->reset(); QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Number of atoms in obabel output (%1) does not " "match the number of atoms in the original " "molecule (%2).") .arg(mol.atomCount()) .arg(m_molecule->atomCount()), QMessageBox::Ok); return; } // Update the undo stack Molecule newMolecule = *m_molecule; newMolecule.clearBonds(); for (size_t i = 0; i < mol.bondCount(); ++i) { Avogadro::Core::Bond bond = mol.bond(i); newMolecule.addBond(newMolecule.atom(bond.atom1().index()), newMolecule.atom(bond.atom2().index()), bond.order()); } Molecule::MoleculeChanges changes = Molecule::Bonds | Molecule::Added | Molecule::Removed | Molecule::Modified; m_molecule->undoMolecule()->modifyMolecule(newMolecule, changes, "Perceive Bonds"); m_progress->reset(); } void OpenBabel::onAddHydrogens() { if (!m_molecule || m_molecule->atomCount() == 0) return; // Nothing to do. // Fail here if the process is already in use if (m_process->inUse()) { showProcessInUseError(tr("Cannot add hydrogens with Open Babel.")); return; } // Setup progress dialog initializeProgressDialog(tr("Adding Hydrogens (OpenBabel)"), tr("Generating obabel input..."), 0, 0, 0); // Generate MDL std::string mol; if (!Io::FileFormatManager::instance().writeString(*m_molecule, mol, "mol")) { m_progress->reset(); QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Error generating MDL string."), QMessageBox::Ok); return; } // Connect process disconnect(m_process); m_process->disconnect(this); connect(m_progress, SIGNAL(canceled()), m_process, SLOT(abort())); connect(m_process, SIGNAL(convertFinished(QByteArray)), SLOT(onHydrogenOperationFinished(QByteArray))); m_progress->setLabelText( tr("Running %1...").arg(m_process->obabelExecutable())); // Run process m_process->convert(QByteArray(mol.c_str(), mol.size()), "mol", "mol", QStringList() << "-h"); } void OpenBabel::onAddHydrogensPh() { if (!m_molecule || m_molecule->atomCount() == 0) return; // Nothing to do. // Fail here if the process is already in use if (m_process->inUse()) { showProcessInUseError(tr("Cannot add hydrogens with Open Babel.")); return; } // Prompt for pH bool ok = false; double pH = QInputDialog::getDouble(qobject_cast(parent()), tr("Add hydrogens for pH"), tr("pH:"), 7.4, 0, 14, 2, &ok); if (!ok) // user cancel return; // Setup progress dialog initializeProgressDialog(tr("Adding Hydrogens (OpenBabel)"), tr("Generating obabel input..."), 0, 0, 0); // Generate MDL std::string mol; if (!Io::FileFormatManager::instance().writeString(*m_molecule, mol, "mol")) { m_progress->reset(); QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Error generating MDL string."), QMessageBox::Ok); return; } // Connect process disconnect(m_process); m_process->disconnect(this); connect(m_progress, SIGNAL(canceled()), m_process, SLOT(abort())); connect(m_process, SIGNAL(convertFinished(QByteArray)), SLOT(onHydrogenOperationFinished(QByteArray))); m_progress->setLabelText( tr("Running %1...").arg(m_process->obabelExecutable())); // Run process m_process->convert(QByteArray(mol.c_str(), mol.size()), "mol", "mol", QStringList() << "-p" << QString::number(pH)); } void OpenBabel::onRemoveHydrogens() { if (!m_molecule || m_molecule->atomCount() == 0) return; // Nothing to do. // Fail here if the process is already in use if (m_process->inUse()) { showProcessInUseError(tr("Cannot remove hydrogens with Open Babel.")); return; } // Setup progress dialog initializeProgressDialog(tr("Removing Hydrogens (OpenBabel)"), tr("Generating obabel input..."), 0, 0, 0); // Generate MDL std::string mol; if (!Io::FileFormatManager::instance().writeString(*m_molecule, mol, "mol")) { m_progress->reset(); QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Error generating MDL string."), QMessageBox::Ok); return; } // Connect process disconnect(m_process); m_process->disconnect(this); connect(m_progress, SIGNAL(canceled()), m_process, SLOT(abort())); connect(m_process, SIGNAL(convertFinished(QByteArray)), SLOT(onHydrogenOperationFinished(QByteArray))); m_progress->setLabelText( tr("Running %1...").arg(m_process->obabelExecutable())); // Run process m_process->convert(QByteArray(mol.c_str(), mol.size()), "mol", "mol", QStringList() << "-d"); } void OpenBabel::onHydrogenOperationFinished(const QByteArray& mdl) { m_progress->setLabelText(tr("Reading obabel output...")); // MDL --> molecule Core::Molecule mol; if (!Io::FileFormatManager::instance().readString(mol, mdl.constData(), "mol")) { m_progress->reset(); qWarning() << "Bad MDL: " << mdl; QMessageBox::critical(qobject_cast(parent()), tr("Error"), tr("Error interpreting obabel MDL output."), QMessageBox::Ok); qDebug() << "MDL:" << mdl; return; } /// @todo cache a pointer to the current molecule in the above slot, and /// verify that we're still operating on the same molecule. // Update the undo stack Molecule newMolecule; for (Index i = 0; i < mol.atomCount(); ++i) { Core::Atom atom = mol.atom(i); newMolecule.addAtom(atom.atomicNumber()).setPosition3d(atom.position3d()); } for (Index i = 0; i < mol.bondCount(); ++i) { Core::Bond bond = mol.bond(i); newMolecule.addBond(newMolecule.atom(bond.atom1().index()), newMolecule.atom(bond.atom2().index()), bond.order()); } Molecule::MoleculeChanges changes = Molecule::Atoms | Molecule::Bonds | Molecule::Added | Molecule::Removed | Molecule::Modified; // If the number of atoms is greater, we added hydrogens. Else, we removed // them! QString undoString = "Add Hydrogens"; if (m_molecule->atomCount() > newMolecule.atomCount()) undoString = "Remove Hydrogens"; m_molecule->undoMolecule()->modifyMolecule(newMolecule, changes, undoString); m_progress->reset(); } void OpenBabel::initializeProgressDialog(const QString& title, const QString& label, int min, int max, int value, bool showDialog) { if (!m_progress) m_progress = new QProgressDialog(qobject_cast(parent())); m_progress->setWindowTitle(title); m_progress->setLabelText(label); m_progress->setRange(min, max); m_progress->setValue(value); m_progress->setMinimumDuration(0); if (showDialog) m_progress->show(); } void OpenBabel::showProcessInUseError(const QString& title) const { QMessageBox::critical(qobject_cast(parent()), title, tr("Already running OpenBabel. Wait for the other " "operation to complete and try again."), QMessageBox::Ok); } QString OpenBabel::autoDetectForceField() const { // Guess forcefield based on molecule. Preference is GAFF, MMFF94, then UFF. // See discussion at // http://forums.openbabel.org/Heuristic-for-selecting-best-forcefield-td4655917.html QString formula = QString::fromStdString(m_molecule->formula()); QStringList elementTypes = formula.split(QRegExp("\\d+"), QString::SkipEmptyParts); bool mmff94Valid = true; bool gaffValid = true; QStringList::const_iterator eleIter = elementTypes.constBegin(); while (eleIter != elementTypes.constEnd() && (mmff94Valid || gaffValid)) { // These are supported by GAFF and MMFF94s if (*eleIter != "C" && *eleIter != "H" && *eleIter != "F" && *eleIter != "Cl" && *eleIter != "Br" && *eleIter != "I" && *eleIter != "N" && *eleIter != "O" && *eleIter != "P" && *eleIter != "S") { gaffValid = false; // These are supported by MMFF94 (but not GAFF) if (*eleIter != "Fe" && *eleIter != "Li" && *eleIter != "Na" && *eleIter != "K" && *eleIter != "Zn" && *eleIter != "Ca" && *eleIter != "Cu" && *eleIter != "Mg" && *eleIter != "Na") { mmff94Valid = false; } } ++eleIter; } QStringList ffs = m_forceFields.keys(); QString result; if (gaffValid && ffs.contains("GAFF")) result = "GAFF"; else if (mmff94Valid && ffs.contains("MMFF94")) result = "MMFF94"; // MMFF94 handles nitrogens more correctly than MMFF94s, but this // can be used in a pinch. else if (mmff94Valid && ffs.contains("MMFF94s")) result = "MMFF94s"; else if (ffs.contains("UFF")) result = "UFF"; return result; } } } avogadrolibs-1.93.0/avogadro/qtplugins/openbabel/openbabel.h000066400000000000000000000062361360735163600241600ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_OPENBABEL_H #define AVOGADRO_QTPLUGINS_OPENBABEL_H #include #include class QAction; class QProgressDialog; namespace Avogadro { namespace QtPlugins { class OBProcess; /** * @brief The OpenBabel class implements the ExtensionPlugin interface to * expose some OpenBabel functionality. * * @todo The readMolecule method will need to be updated if we allow * multimolecule files to load with the Io::CmlReader. */ class OpenBabel : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit OpenBabel(QObject* parent = 0); ~OpenBabel() override; QString name() const override { return tr("OpenBabel"); } QString description() const override { return tr("Interact with OpenBabel utilities."); } QList actions() const override; QStringList menuPath(QAction*) const override; QList fileFormats() const override; QString openBabelInfo() const; public slots: void setMolecule(QtGui::Molecule* mol) override; bool readMolecule(QtGui::Molecule& mol) override; private slots: void refreshReadFormats(); void handleReadFormatUpdate(const QMap& fmts); void refreshWriteFormats(); void handleWriteFormatUpdate(const QMap& fmts); void refreshForceFields(); void handleForceFieldsUpdate(const QMap& ffMap); void onConfigureGeometryOptimization(); void onOptimizeGeometry(); void onOptimizeGeometryStatusUpdate(int step, int numSteps, double energy, double lastEnergy); void onOptimizeGeometryFinished(const QByteArray& output); void onPerceiveBonds(); void onPerceiveBondsFinished(const QByteArray& output); void onAddHydrogens(); void onAddHydrogensPh(); void onRemoveHydrogens(); void onHydrogenOperationFinished(const QByteArray& cml); private: void initializeProgressDialog(const QString& title, const QString& label, int min, int max, int value, bool showDialog = true); void showProcessInUseError(const QString& title) const; QString autoDetectForceField() const; QtGui::Molecule* m_molecule; OBProcess* m_process; QList m_actions; QList m_moleculeQueue; bool m_readFormatsPending; bool m_writeFormatsPending; QMap m_readFormats; QMap m_writeFormats; QMap m_forceFields; QProgressDialog* m_progress; }; } } #endif // AVOGADRO_QTPLUGINS_OPENBABEL_H avogadrolibs-1.93.0/avogadro/qtplugins/overlayaxes/000077500000000000000000000000001360735163600224645ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/overlayaxes/CMakeLists.txt000066400000000000000000000007571360735163600252350ustar00rootroot00000000000000# Temporarily copied from Avogadro::Rendering until we can fully encapsulate # OpenGL/GLEW calls: find_package(OpenGL REQUIRED) find_package(GLEW REQUIRED) include_directories(SYSTEM ${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS}) if(WIN32 AND NOT BUILD_SHARED_LIBS) add_definitions(-DGLEW_STATIC) endif() avogadro_plugin(OverlayAxes "Reference Axes Overlay" ScenePlugin overlayaxes.h OverlayAxes overlayaxes.cpp "") target_link_libraries(OverlayAxes LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/overlayaxes/overlayaxes.cpp000066400000000000000000000204441360735163600255360ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "overlayaxes.h" #include #include #include #include #include #include #include #include using Avogadro::Core::Array; using Avogadro::Rendering::Camera; using Avogadro::Rendering::GeometryNode; using Avogadro::Rendering::GroupNode; using Avogadro::Rendering::MeshGeometry; using Avogadro::Vector3f; using Eigen::Affine3f; namespace { const static float M_PI_F = 3.14159265358979323846f; // Mesh class that overrides the camera used in rendering. class CustomMesh : public MeshGeometry { public: CustomMesh() { setRenderPass(Avogadro::Rendering::Overlay3DPass); } ~CustomMesh() override {} void render(const Camera& camera) override; }; void CustomMesh::render(const Camera& camera) { // Swap in a new viewport/camera for the overlay /// @todo This is messy, it would be better to specify camera/viewport in a /// group/geometry node that the renderer could apply to all children. // Keep the rotation, lose the translation: Affine3f mv(camera.modelView()); mv.matrix().block<3, 1>(0, 3) = Vector3f::Zero(); // The largest window dimension, used to scale the axes const int maxDim = std::max(camera.width(), camera.height()); Camera meshCamera(camera); meshCamera.setViewport(maxDim / 10, maxDim / 10); meshCamera.setModelView(mv); meshCamera.calculateOrthographic(-1.f, 1.f, -1.f, 1.f, -1.f, 1.f); glViewport(static_cast(10), static_cast(10), static_cast(meshCamera.width()), static_cast(meshCamera.height())); MeshGeometry::render(meshCamera); glViewport(static_cast(0), static_cast(0), static_cast(camera.width()), static_cast(camera.height())); } } // end anon namespace namespace Avogadro { namespace QtPlugins { class OverlayAxes::RenderImpl { public: RenderImpl(); ~RenderImpl(); CustomMesh* mesh; private: void buildMesh(); // axis must be normalized: void addAxis(const Vector3f& axis, const Vector3ub& color); }; OverlayAxes::RenderImpl::RenderImpl() : mesh(new CustomMesh) { buildMesh(); } OverlayAxes::RenderImpl::~RenderImpl() { delete mesh; } void OverlayAxes::RenderImpl::buildMesh() { addAxis(Vector3f(1.f, 0.f, 0.f), Vector3ub(255, 0, 0)); addAxis(Vector3f(0.f, 1.f, 0.f), Vector3ub(0, 255, 0)); addAxis(Vector3f(0.f, 0.f, 1.f), Vector3ub(0, 0, 255)); } void OverlayAxes::RenderImpl::addAxis(const Vector3f& axis, const Vector3ub& color) { mesh->setColor(color); // Number of angular samples: const unsigned int res = 12; const float resf = static_cast(res); // Cylinder length: const float cylLength = .75f; // Cylinder radius: const float cylRadius = 0.0625f; // Cone length: const float coneLength = .25f; // Cone radius: const float coneRadius = .125f; // Some vectors that will simplify things later: const Vector3f origin(0.f, 0.f, 0.f); const Vector3f cylVector(axis * cylLength); const Vector3f coneVector(axis * coneLength); const Vector3f axisVector(coneVector + cylVector); const Vector3f radialUnit(axis.unitOrthogonal()); // Index offsets: const unsigned int coneBaseOffset = 0; const unsigned int coneBaseRadialsOffset = coneBaseOffset + 1; const unsigned int coneSideRadialsOffset = coneBaseRadialsOffset + res; const unsigned int coneTipsOffset = coneSideRadialsOffset + res; const unsigned int cylBaseRadialsOffset = coneTipsOffset + res; const unsigned int cylTopRadialsOffset = cylBaseRadialsOffset + res; const unsigned int numVertices = cylTopRadialsOffset + res; // Allocate arrays: Array vertices(numVertices); Array normals(numVertices); // This point doesn't change: vertices[coneBaseOffset] = origin + cylVector; normals[coneBaseOffset] = -axis; // Initial radial: Vector3f radial(radialUnit); // Create radial transform: Eigen::Affine3f xform(Eigen::AngleAxisf(2.f * M_PI_F / resf, axis)); // Build vertex list: const Vector3f coneTip(origin + axisVector); Vector3f coneRadial; Vector3f coneSideNormal; Vector3f cylRadial; for (unsigned int i = 0; i < res; ++i) { coneRadial = origin + cylVector + (radial * coneRadius); // Calculating the cone side normal: // // /| (z points out of screen) z = coneVector x coneRadial // / | a = coneVector - coneRadial // a / | coneVector n = z x a // / | // / | (n is the normal for vector a) // /_____| // coneRadial coneSideNormal = -(coneVector.cross(coneRadial)) .cross(coneVector - coneRadial) .normalized(); vertices[coneBaseRadialsOffset + i] = coneRadial; normals[coneBaseRadialsOffset + i] = -axis; vertices[coneSideRadialsOffset + i] = coneRadial; normals[coneSideRadialsOffset + i] = coneSideNormal; cylRadial = origin + (radial * cylRadius); vertices[cylBaseRadialsOffset + i] = cylRadial; normals[cylBaseRadialsOffset + i] = radial; vertices[cylTopRadialsOffset + i] = cylVector + cylRadial; normals[cylTopRadialsOffset + i] = radial; radial = xform * radial; } // Cone tip normals are averages of the side radial normals: for (unsigned int i = 0; i < res; ++i) { unsigned int ind1 = coneSideRadialsOffset + i; unsigned int ind2 = coneSideRadialsOffset + ((i + 1) % res); vertices[coneTipsOffset + i] = coneTip; normals[coneTipsOffset + i] = (normals[ind1] + normals[ind2]).normalized(); } // Add the vertices and get our index offset: const unsigned int baseOffset = mesh->addVertices(vertices, normals); // Stitch the vertices together: Array triangles(3 * 4 * res); // 3 verts * 4 tri * nsamples unsigned int* ptr = triangles.data(); for (unsigned int i = 0; i < res; ++i) { unsigned int i2 = (i + 1) % res; // Cone sides: *ptr++ = baseOffset + coneTipsOffset + i; *ptr++ = baseOffset + coneSideRadialsOffset + i; *ptr++ = baseOffset + coneSideRadialsOffset + i2; // Cone base: *ptr++ = baseOffset + coneBaseRadialsOffset + i; *ptr++ = baseOffset + coneBaseOffset; *ptr++ = baseOffset + coneBaseRadialsOffset + i2; // Cylinder side quad: *ptr++ = baseOffset + cylTopRadialsOffset + i; *ptr++ = baseOffset + cylBaseRadialsOffset + i; *ptr++ = baseOffset + cylTopRadialsOffset + i2; *ptr++ = baseOffset + cylBaseRadialsOffset + i; *ptr++ = baseOffset + cylTopRadialsOffset + i2; *ptr++ = baseOffset + cylBaseRadialsOffset + i2; } // Add the indices to the mesh mesh->addTriangles(triangles); } OverlayAxes::OverlayAxes(QObject* p) : ScenePlugin(p), m_enabled(true), m_render(new RenderImpl) { } OverlayAxes::~OverlayAxes() { delete m_render; } void OverlayAxes::process(const Core::Molecule&, Rendering::GroupNode& node) { GeometryNode* geo = new GeometryNode; // Since our geometry doesn't change, we just make a copy of the pre-built // set of axes. geo->addDrawable(new CustomMesh(*m_render->mesh)); node.addChild(geo); } void OverlayAxes::processEditable(const QtGui::RWMolecule&, Rendering::GroupNode& node) { GeometryNode* geo = new GeometryNode; // Since our geometry doesn't change, we just make a copy of the pre-built // set of axes. geo->addDrawable(new CustomMesh(*m_render->mesh)); node.addChild(geo); } bool OverlayAxes::isEnabled() const { return m_enabled; } void OverlayAxes::setEnabled(bool enable) { m_enabled = enable; } } } avogadrolibs-1.93.0/avogadro/qtplugins/overlayaxes/overlayaxes.h000066400000000000000000000032341360735163600252010ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_OVERLAYAXES_H #define AVOGADRO_QTPLUGINS_OVERLAYAXES_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Render reference axes in the corner of the display. */ class OverlayAxes : public QtGui::ScenePlugin { Q_OBJECT public: explicit OverlayAxes(QObject* parent = 0); ~OverlayAxes() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; void processEditable(const QtGui::RWMolecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("Reference Axes Overlay"); } QString description() const override { return tr("Render reference axes in the corner of the display."); } bool isEnabled() const override; void setEnabled(bool enable) override; private: bool m_enabled; class RenderImpl; RenderImpl* const m_render; }; } // end namespace QtPlugins } // end namespace Avogadro #endif // AVOGADRO_QTPLUGINS_OVERLAYAXES_H avogadrolibs-1.93.0/avogadro/qtplugins/playertool/000077500000000000000000000000001360735163600223145ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/playertool/CMakeLists.txt000066400000000000000000000004651360735163600250610ustar00rootroot00000000000000include_directories(SYSTEM "${AvogadroLibs_SOURCE_DIR}/thirdparty/libgwavi" "${AvogadroLibs_SOURCE_DIR}/thirdparty/gif-h") avogadro_plugin(PlayerTool "Player tool" ToolPlugin playertool.h PlayerTool "playertool.cpp" "" playertool.qrc ) target_link_libraries(PlayerTool LINK_PRIVATE libgwavi)avogadrolibs-1.93.0/avogadro/qtplugins/playertool/player.png000066400000000000000000000063361360735163600243260ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp S ; NIDATxڤWyl콶wml\0)BiJD%%$)(*j '`RT\p! 06x^]ggvo(#}|}~FKnYyRӟT߄[kiJhy/fDc3dϞ/Zs+.?{MWG"iI%P ͋' X??忻/z#3#o]>ꂇj e$Ga/0#u, h8(^Xػjn垭%X}>~qHpq6A]HeEY$U@OAweǤх=6 +n},YSqيVH`u~*̈5̝(E7G} ޻f"[vP˟ڿuVVMmG|9kj(Jŵ6YYI`95XFFY!yD%^o'kJO/Ko{빍E  ko>l.ɸeǡ-Ec4@ӡy).]dƳ|~ ]}8ܣ6m +9sWmrp 6kisJ4Xaa4`1[Ǡp^<ܔ2XR~ ?7%P(HՍ y-x~Ud9.Ǎ/h4`Yv9ǩGZV- SaJH}ÙKL 뼒4!hbYb N=&f{{KaĘb&e?B U ‚]^1OpڗICuT%L&njmt* PdXP3mT3y6xۈP ;HbDd)x3&IҘoQHtDiɠFlRO*Ua?I2D:qF-yG 7%c2r.}(N<$ xu 2ЩYdAA[]@tTtGX%ae 3A4˹C:aH< 9) WФV!+ {CYCQB͝Ja(TEFH KǸcӤnQFmayD)۶mVR~IG%>ǀ'/ ǂvEbI%jpZ*Rab#/άZf<[ɀsrx+e׊B!M!Xʅ(#T;Mt*-p C6RpP3~o9);F3s2'()Q00 $ZpC^(”wYK@ޟPkhQu-J2-؂F M$)W,^k7ɦMJ$qR"lݫhՃ'7jv!>F<6k%-<XHB~xRaʪH`ehv}g߄>>V [2 ,slGC~)& %Q뭪A #/-*(Ub{׺i:tPpG>CuD.BZ`Lvznu!-+#>,3|͟z߷ƚCAiqznt:HM%@dfHJK4jld3C]/ny,E FFx=\~Azn%sIXYG%NRQWSqTd9sA(*G¢^I'(: =݀m8|Cp"hw-ȎNn RCo57.jenzADUS|k9!|ҤtͱܑN5dÉk#|~n汊-mӽҺ¨Ya薙XV)~ %XW8a;2Gh?}+}w_8g1yPomOpdUg;X0*N$BKVk: I_ $ )}81x3Jnᬄa$HK7ZI˥Qbs#Kÿص)?.1"ttxqYYd>Rƀ%rKVNUGj>s j~,S>QJsRlvN* ÚڗV=`9w#h.Vo~{OL[_IENDB`avogadrolibs-1.93.0/avogadro/qtplugins/playertool/player@2x.png000066400000000000000000000075751360735163600247060ustar00rootroot00000000000000PNG  IHDR@@tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp _ PLTEַP>tEf{:JMuk򢯺#|Lu$d+Z'T{(^jJ|SSTיDכí{TYRRvOSBhщ伊ޑx6Z*G=tYq gSݪsBcUfTq`UuivO~Y(]; Rj[дӻ1k N1Y|Ud OkV\}dɕUʸe)rY Z_b3Imna5KsRkPPQoFHLɾeef h!iѷuXx $Ml VW dН՗~Ysm\v`qVImMƩҟojaLKtRNSS%IDATxڔ X[ ،M(@.A4%_axN IaWX?Q [ [-TfsQjPLok=t*Uܯٹ$&Ж{sι~,5Aӝ9U \+6fT R;87 lZiOR''`biKZUUlXHKkFp}`C7C! :obK|weeeV7߯.XX:JdM`jZ,N)Fq]SRWD]`\lV8Fxx-= Űi02BT+2c|z^^]]]z|8 DxEp3X(d7dBz^]ɇZakv2KB-U\iɈhT˖ғyDqp-=N.bǺZ&ZXg8L%|b'G@JRF 8NЊ*JiX@\\W#0Tlء'W_Bf{d@fS 0OX~Y֗~@5&{7NLVl}fé֌*[ jsr]j<8 5pڬ1u Q]ï=ފǬV+w`&Fx0x{ }c\ob`YS 1-x\pB>?zd׋%x.Q@7u.0Am?maA&VG0ӀHKizfb-o_|mI <[rSx(iI|" Q!Ai& ȤƫUUvAVCW@!WΑ`iti@eE#,~_Irr7- )hh/qV sF`z"@Wjg^Ydh\x@45*B82تF#cX iYT*1 w)І9_Rof2999/Ujz|=Z)`=Bm;$?HoǘiJ"+9qOU7ex)30`~Cj2a.G@+)P'%-Y$H.K"Vr2c6%m~^]h {m+^|^L`>lL5/--͔i]^Z=٩E^ t02*Rtio!(% ݧCJx@*wt:ih-ׇj"1̻KM1kTF:A.6 VzlM{jN}#^Hy.T׽>~M'wx_asֶ,H`I3pϣW2.z^?p_0fw6B RZD.d_ӽɿ`7: 1)FFX%DZ ^2; ֿt+ @YZ.*#%Rm;8.I%w~0pǁEW8;RlO.xD"!> _GZ2ωk@Z9IE s*D8W?S[' F(:_:#vЁ}OLk)㨻N(k-&ܒUzo2ۛ EMh [¼/l( e\}cYgD7S٨x sE$3&qr;(2%z̷t1cm!ݙ>,*/FZ[V~@8p-U~wXpsgp{5wQ|?Y`UMTbswIQxۏ] 8H wҊ{:`qОlIENDB`avogadrolibs-1.93.0/avogadro/qtplugins/playertool/playertool.cpp000066400000000000000000000310561360735163600252170ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "playertool.h" #include "gif.h" #include "gwavi.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using QtGui::Molecule; PlayerTool::PlayerTool(QObject* parent_) : QtGui::ToolPlugin(parent_) , m_activateAction(new QAction(this)) , m_molecule(nullptr) , m_renderer(nullptr) , m_currentFrame(0) , m_toolWidget(nullptr) , m_frameIdx(nullptr) , m_slider(nullptr) { m_activateAction->setText(tr("Player")); m_activateAction->setIcon(QIcon(":/icons/player.png")); } PlayerTool::~PlayerTool() {} QWidget* PlayerTool::toolWidget() const { if (!m_toolWidget) { m_toolWidget = new QWidget(qobject_cast(parent())); QVBoxLayout* layout = new QVBoxLayout; QHBoxLayout* controls = new QHBoxLayout; controls->addStretch(1); QPushButton* leftButton = new QPushButton("<"); connect(leftButton, SIGNAL(clicked()), SLOT(back())); controls->addWidget(leftButton); playButton = new QPushButton(tr("Play")); connect(playButton, SIGNAL(clicked()), SLOT(play())); controls->addWidget(playButton); stopButton = new QPushButton(tr("Stop")); connect(stopButton, SIGNAL(clicked()), SLOT(stop())); controls->addWidget(stopButton); stopButton->setEnabled(false); QPushButton* rightButton = new QPushButton(">"); connect(rightButton, SIGNAL(clicked()), SLOT(forward())); controls->addWidget(rightButton); controls->addStretch(1); layout->addLayout(controls); QHBoxLayout* frames = new QHBoxLayout; QLabel* label = new QLabel(tr("Frame rate:")); frames->addWidget(label); m_animationFPS = new QSpinBox; m_animationFPS->setValue(5); m_animationFPS->setMinimum(0); m_animationFPS->setMaximum(1000); m_animationFPS->setSuffix(tr(" FPS", "frames per second")); frames->addWidget(m_animationFPS); layout->addLayout(frames); QHBoxLayout* sliderLayout = new QHBoxLayout; m_slider = new QSlider(Qt::Horizontal); m_slider->setMinimum(0); m_slider->setTickInterval(1); connect(m_slider, SIGNAL(valueChanged(int)), SLOT(sliderPositionChanged(int))); sliderLayout->addWidget(m_slider); layout->addLayout(sliderLayout); if (m_molecule->coordinate3dCount() > 1) m_slider->setMaximum(m_molecule->coordinate3dCount() - 1); QHBoxLayout* frameLayout = new QHBoxLayout; // QHBoxLayout* leftColumn = new QHBoxLayout; // QLabel* label2 = new QLabel(tr("Timestep:")); // leftColumn->addWidget(label2); // frameLayout->addLayout(leftColumn); QHBoxLayout* rightColumn = new QHBoxLayout; rightColumn->addStretch(1); QLabel* label3 = new QLabel(tr("Frame:")); rightColumn->addWidget(label3); m_frameIdx = new QSpinBox; m_frameIdx->setValue(1); m_frameIdx->setMinimum(1); if (m_molecule->coordinate3dCount() > 1) { m_frameIdx->setMaximum(m_molecule->coordinate3dCount()); m_frameIdx->setSuffix(tr(" of %0").arg(m_molecule->coordinate3dCount())); } connect(m_frameIdx, SIGNAL(valueChanged(int)), SLOT(spinnerPositionChanged(int))); rightColumn->addWidget(m_frameIdx); frameLayout->addLayout(rightColumn); layout->addLayout(frameLayout); QHBoxLayout* bonding = new QHBoxLayout; bonding->addStretch(1); m_dynamicBonding = new QCheckBox(tr("Dynamic bonding?")); m_dynamicBonding->setChecked(true); bonding->addWidget(m_dynamicBonding); bonding->addStretch(1); layout->addLayout(bonding); QHBoxLayout* recordLayout = new QHBoxLayout; recordLayout->addStretch(1); QPushButton* recordButton = new QPushButton(tr("Record Movie...")); connect(recordButton, SIGNAL(clicked()), SLOT(recordMovie())); recordLayout->addWidget(recordButton); recordLayout->addStretch(1); layout->addLayout(recordLayout); m_toolWidget->setLayout(layout); } connect(&m_timer, SIGNAL(timeout()), SLOT(animate())); return m_toolWidget; } QUndoCommand* PlayerTool::mousePressEvent(QMouseEvent*) { return nullptr; } QUndoCommand* PlayerTool::mouseReleaseEvent(QMouseEvent*) { return nullptr; } QUndoCommand* PlayerTool::mouseDoubleClickEvent(QMouseEvent*) { return nullptr; } void PlayerTool::setActiveWidget(QWidget* widget) { m_glWidget = qobject_cast(widget); } void PlayerTool::back() { animate(-1); } void PlayerTool::forward() { animate(1); } void PlayerTool::play() { playButton->setEnabled(false); stopButton->setEnabled(true); double fps = static_cast(m_animationFPS->value()); if (fps < 0.00001) fps = 5; int timeOut = static_cast(1000 / fps); if (m_timer.isActive()) m_timer.stop(); m_timer.start(timeOut); } void PlayerTool::stop() { playButton->setEnabled(true); stopButton->setEnabled(false); m_timer.stop(); } void PlayerTool::animate(int advance) { if (m_molecule) { if (m_currentFrame < m_molecule->coordinate3dCount() - advance && m_currentFrame + advance >= 0) { m_currentFrame += advance; m_molecule->setCoordinate3d(m_currentFrame); } else { m_currentFrame = advance > 0 ? 0 : m_molecule->coordinate3dCount() - 1; m_molecule->setCoordinate3d(m_currentFrame); } if (m_dynamicBonding->isChecked()) { m_molecule->clearBonds(); m_molecule->perceiveBondsSimple(); } m_molecule->emitChanged(Molecule::Atoms | Molecule::Added); m_slider->setValue(m_currentFrame); m_frameIdx->setValue(m_currentFrame + 1); } } void PlayerTool::recordMovie() { int EXPORT_WIDTH = 800, EXPORT_HEIGHT = 600; if (m_timer.isActive()) m_timer.stop(); QString baseFileName; if (m_molecule) baseFileName = m_molecule->data("fileName").toString().c_str(); QString selfFilter = tr("Movie (*.mp4)"); QString baseName = QFileDialog::getSaveFileName( qobject_cast(parent()), tr("Export Bitmap Graphics"), "", tr("Movie (*.mp4);;Movie (*.avi);;GIF (*.gif)"), &selfFilter); if (baseName.isEmpty()) return; QFileInfo fileInfo(baseName); if (!fileInfo.suffix().isEmpty()) baseName = fileInfo.absolutePath() + "/" + fileInfo.baseName(); bool bonding = m_dynamicBonding->isChecked(); int numberLength = static_cast( ceil(log10(static_cast(m_molecule->coordinate3dCount()) + 1))); m_glWidget->resize(EXPORT_WIDTH, EXPORT_HEIGHT); if (selfFilter == tr("GIF (*.gif)")) { GifWriter writer; // GIF only supports up to 100 FPS, this minimizes breakage when FPS>100 QMessageBox::warning( qobject_cast(parent()), tr("GIF FPS support warning"), tr("The GIF file format does not support frame rates over 100 FPS.")); GifBegin(&writer, (baseName + ".gif").toLatin1().data(), EXPORT_WIDTH, EXPORT_HEIGHT, 100 / std::min(m_animationFPS->value(), 100)); for (int i = 0; i < m_molecule->coordinate3dCount(); ++i) { m_molecule->setCoordinate3d(i); if (bonding) { m_molecule->clearBonds(); m_molecule->perceiveBondsSimple(); } m_molecule->emitChanged(Molecule::Atoms | Molecule::Modified); QImage exportImage; m_glWidget->raise(); m_glWidget->repaint(); if (QOpenGLFramebufferObject::hasOpenGLFramebufferObjects()) { exportImage = m_glWidget->grabFramebuffer(); } else { QPixmap pixmap = QPixmap::grabWindow(m_glWidget->winId()); exportImage = pixmap.toImage(); } int frameWidth = exportImage.width(); int frameHeight = exportImage.height(); int numbPixels = frameWidth * frameHeight; uint8_t* imageData = new uint8_t[numbPixels * 4]; int imageIndex = 0; for (int j = 0; j < frameHeight; ++j) { for (int k = 0; k < frameWidth; ++k) { QColor color = exportImage.pixel(k, j); imageData[imageIndex] = (uint8_t)color.red(); imageData[imageIndex + 1] = (uint8_t)color.green(); imageData[imageIndex + 2] = (uint8_t)color.blue(); imageData[imageIndex + 3] = (uint8_t)color.alpha(); imageIndex += 4; } } GifWriteFrame(&writer, imageData, EXPORT_WIDTH, EXPORT_HEIGHT, 100 / std::min(m_animationFPS->value(), 100)); delete[] imageData; } GifEnd(&writer); } else if (selfFilter == tr("Movie (*.avi)")) { gwavi_t* gwavi; gwavi = gwavi_open((baseName + ".avi").toLatin1().data(), EXPORT_WIDTH, EXPORT_HEIGHT, "MJPG", m_animationFPS->value(), NULL); for (int i = 0; i < m_molecule->coordinate3dCount(); ++i) { m_molecule->setCoordinate3d(i); if (bonding) { m_molecule->clearBonds(); m_molecule->perceiveBondsSimple(); } m_molecule->emitChanged(Molecule::Atoms | Molecule::Modified); QImage exportImage; m_glWidget->raise(); m_glWidget->repaint(); if (QOpenGLFramebufferObject::hasOpenGLFramebufferObjects()) { exportImage = m_glWidget->grabFramebuffer(); } else { QPixmap pixmap = QPixmap::grabWindow(m_glWidget->winId()); exportImage = pixmap.toImage(); } QByteArray ba; QBuffer buffer(&ba); buffer.open(QIODevice::WriteOnly); exportImage.save(&buffer, "JPG"); if (gwavi_add_frame( gwavi, reinterpret_cast(buffer.data().data()), buffer.size()) == -1) { QMessageBox::warning(qobject_cast(parent()), tr("Avogadro"), tr("Error: cannot add frame to video.")); } } gwavi_close(gwavi); } else if (selfFilter == tr("Movie (*.mp4)")) { for (int i = 0; i < m_molecule->coordinate3dCount(); ++i) { m_molecule->setCoordinate3d(i); if (bonding) { m_molecule->clearBonds(); m_molecule->perceiveBondsSimple(); } m_molecule->emitChanged(Molecule::Atoms | Molecule::Modified); QString fileName = QString::number(i); while (fileName.length() < numberLength) fileName.prepend('0'); fileName.prepend(baseName); fileName.append(".png"); QImage exportImage; m_glWidget->raise(); m_glWidget->repaint(); if (QOpenGLFramebufferObject::hasOpenGLFramebufferObjects()) { exportImage = m_glWidget->grabFramebuffer(); } else { QPixmap pixmap = QPixmap::grabWindow(m_glWidget->winId()); exportImage = pixmap.toImage(); } if (!exportImage.save(fileName)) { QMessageBox::warning(qobject_cast(parent()), tr("Avogadro"), tr("Cannot save file %1.").arg(fileName)); return; } QProcess proc; QStringList args; args << "-y" << "-r" << QString::number(m_animationFPS->value()) << "-i" << baseName + "%0" + QString::number(numberLength) + "d.png" << "-c:v" << "libx264" << "-r" << "30" << "-pix_fmt" << "yuv420p" << baseName + ".mp4"; proc.execute("avconv", args); } } } void PlayerTool::sliderPositionChanged(int k) { animate(k - m_currentFrame); } void PlayerTool::spinnerPositionChanged(int k) { animate(k - m_currentFrame - 1); } void PlayerTool::setSliderLimit() { if (m_molecule->coordinate3dCount() > 1 && m_slider) m_slider->setMaximum(m_molecule->coordinate3dCount() - 1); if (m_molecule->coordinate3dCount() > 1 && m_frameIdx) { m_frameIdx->setMaximum(m_molecule->coordinate3dCount()); m_frameIdx->setSuffix(tr(" of %0").arg(m_molecule->coordinate3dCount())); } } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/playertool/playertool.h000066400000000000000000000054601360735163600246640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_PLAYERTOOL_H #define AVOGADRO_QTPLUGINS_PLAYERTOOL_H #include #include #include class QLabel; class QSpinBox; class QCheckBox; class QOpenGLWidget; class QPushButton; class QSlider; namespace Avogadro { namespace QtPlugins { /** * @brief PlayerTool enables playback of trajectories. */ class PlayerTool : public QtGui::ToolPlugin { Q_OBJECT public: explicit PlayerTool(QObject* p = nullptr); ~PlayerTool() override; QString name() const override { return tr("Player tool"); } QString description() const override { return tr("Play back trajectories"); } unsigned char priority() const override { return 80; } QAction* activateAction() const override { return m_activateAction; } QWidget* toolWidget() const override; QUndoCommand* mousePressEvent(QMouseEvent* e) override; QUndoCommand* mouseReleaseEvent(QMouseEvent* e) override; QUndoCommand* mouseDoubleClickEvent(QMouseEvent* e) override; public slots: void setMolecule(QtGui::Molecule*) override; void setGLRenderer(Rendering::GLRenderer* renderer) override; void setActiveWidget(QWidget* widget) override; protected slots: void back(); void forward(); void play(); void stop(); void animate(int advance = 1); void recordMovie(); void sliderPositionChanged(int k); void spinnerPositionChanged(int k); void setSliderLimit(); private: QAction* m_activateAction; QtGui::Molecule* m_molecule; Rendering::GLRenderer* m_renderer; int m_currentFrame; mutable QWidget* m_toolWidget; QTimer m_timer; mutable QSpinBox* m_animationFPS; mutable QSpinBox* m_frameIdx; mutable QCheckBox* m_dynamicBonding; mutable QOpenGLWidget* m_glWidget; mutable QSlider* m_slider; mutable QPushButton* playButton; mutable QPushButton* stopButton; }; inline void PlayerTool::setMolecule(QtGui::Molecule* mol) { if (m_molecule != mol) { m_molecule = mol; m_currentFrame = 0; setSliderLimit(); } } inline void PlayerTool::setGLRenderer(Rendering::GLRenderer* renderer) { m_renderer = renderer; } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_PLAYERTOOL_H avogadrolibs-1.93.0/avogadro/qtplugins/playertool/playertool.qrc000066400000000000000000000002011360735163600252060ustar00rootroot00000000000000 player.png player@2x.png avogadrolibs-1.93.0/avogadro/qtplugins/plotpdf/000077500000000000000000000000001360735163600215725ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/plotpdf/CMakeLists.txt000066400000000000000000000004511360735163600243320ustar00rootroot00000000000000set(plotpdf_srcs plotpdf.cpp pdfoptionsdialog.cpp ) set(plotpdf_uis pdfoptionsdialog.ui ) avogadro_plugin(PlotPdf "Create a pair distribution plot." ExtensionPlugin plotpdf.h PlotPdf "${plotpdf_srcs}" "${plotpdf_uis}" ) target_link_libraries(PlotPdf LINK_PRIVATE AvogadroVtk) avogadrolibs-1.93.0/avogadro/qtplugins/plotpdf/pdfoptionsdialog.cpp000066400000000000000000000031341360735163600256440ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "pdfoptionsdialog.h" #include "ui_pdfoptionsdialog.h" #include namespace Avogadro { namespace QtPlugins { PdfOptionsDialog::PdfOptionsDialog(QWidget* aParent) : QDialog(aParent) , m_ui(new Ui::PdfOptionsDialog) { m_ui->setupUi(this); // Read the settings QSettings settings; m_ui->spin_maxRadius->setValue( settings.value("plotpdfcurveoptions/maxRadius", 10.0).toDouble()); m_ui->spin_step->setValue( settings.value("plotpdfcurveoptions/step", 0.1).toDouble()); } PdfOptionsDialog::~PdfOptionsDialog() = default; double PdfOptionsDialog::maxRadius() const { return m_ui->spin_maxRadius->value(); } double PdfOptionsDialog::step() const { return m_ui->spin_step->value(); } void PdfOptionsDialog::accept() { QSettings settings; settings.setValue("plotpdfcurveoptions/maxRadius", maxRadius()); settings.setValue("plotpdfcurveoptions/step", step()); QDialog::accept(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/plotpdf/pdfoptionsdialog.h000066400000000000000000000024011360735163600253050ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_PDFOPTIONSDIALOG_H #define AVOGADRO_QTPLUGINS_PDFOPTIONSDIALOG_H #include namespace Avogadro { namespace QtPlugins { namespace Ui { class PdfOptionsDialog; } /** * @brief Dialog to set options for PDF curve plotting. */ class PdfOptionsDialog : public QDialog { Q_OBJECT public: explicit PdfOptionsDialog(QWidget* parent = 0); ~PdfOptionsDialog(); double maxRadius() const; double step() const; protected slots: void accept(); private: QScopedPointer m_ui; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_PDFOPTIONSDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/plotpdf/pdfoptionsdialog.ui000066400000000000000000000062351360735163600255040ustar00rootroot00000000000000 Avogadro::QtPlugins::PdfOptionsDialog 0 0 324 145 PDF Plot Options Maximum Radius: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Å 5 0.00001 100.00000 10.00000 Step (dr): Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Å 5 0.00001 100.00000 10.00000 QDialogButtonBox::Cancel|QDialogButtonBox::Ok spin_maxRadius spin_step buttonBox accepted() Avogadro::QtPlugins::PdfOptionsDialog accept() 226 204 161 118 buttonBox rejected() Avogadro::QtPlugins::PdfOptionsDialog reject() 226 204 161 118 avogadrolibs-1.93.0/avogadro/qtplugins/plotpdf/plotpdf.cpp000066400000000000000000000137211360735163600237520ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include #include #include "pdfoptionsdialog.h" #include "plotpdf.h" using Avogadro::Core::CrystalTools; using Avogadro::Core::UnitCell; using Avogadro::QtGui::Molecule; using std::map; namespace Avogadro { namespace QtPlugins { using Core::Array; PlotPdf::PlotPdf(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_) , m_actions(QList()) , m_molecule(nullptr) , m_pdfOptionsDialog(new PdfOptionsDialog(qobject_cast(parent()))) , m_displayDialogAction(new QAction(this)) { m_displayDialogAction->setText(tr("Plot Pair Distribution Function...")); connect(m_displayDialogAction.data(), &QAction::triggered, this, &PlotPdf::displayDialog); m_actions.push_back(m_displayDialogAction.data()); m_displayDialogAction->setProperty("menu priority", 70); updateActions(); } PlotPdf::~PlotPdf() = default; QList PlotPdf::actions() const { return m_actions; } QStringList PlotPdf::menuPath(QAction*) const { return QStringList() << tr("&Crystal"); } void PlotPdf::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateActions(); } void PlotPdf::moleculeChanged(unsigned int c) { Q_ASSERT(m_molecule == qobject_cast(sender())); Molecule::MoleculeChanges changes = static_cast(c); if (changes & Molecule::UnitCell) { if (changes & Molecule::Added || changes & Molecule::Removed) updateActions(); } } void PlotPdf::updateActions() { // Disable everything for nullptr molecules. if (!m_molecule) { foreach (QAction* action, m_actions) action->setEnabled(false); return; } // Only display the actions if there is a unit cell if (m_molecule->unitCell()) { foreach (QAction* action, m_actions) action->setEnabled(true); } else { foreach (QAction* action, m_actions) action->setEnabled(false); } } void PlotPdf::displayDialog() { // Do nothing if the user cancels if (m_pdfOptionsDialog->exec() != QDialog::Accepted) return; // Otherwise, fetch the options and perform the run double maxRadius = m_pdfOptionsDialog->maxRadius(); double step = m_pdfOptionsDialog->step(); // size_t numpoints = m_pdfOptionsDialog->numDataPoints(); // double max2theta = m_pdfOptionsDialog->max2Theta(); PdfData results; QString err; if (!generatePdfPattern(*m_molecule, results, err, maxRadius, step)) { QMessageBox::critical(qobject_cast(parent()), tr("Failed to generate PDF pattern"), tr("Error message: ") + err); return; } // Now generate a plot with the data std::vector xData; std::vector yData; for (const auto& item : results) { xData.push_back(item.first); yData.push_back(item.second); } std::vector> data{ xData, yData }; std::vector lineLabels{ "PdfData" }; std::array color = { 255, 0, 0, 255 }; std::vector> lineColors{ color }; const char* xTitle = "r (Å)"; const char* yTitle = "g(r)"; const char* windowName = "Pair Distribution Function"; VTK::VtkPlot::generatePlot(data, lineLabels, lineColors, xTitle, yTitle, windowName); } bool PlotPdf::generatePdfPattern(QtGui::Molecule& mol, PdfData& results, QString& err, double maxRadius, double step) { Array refAtomCoords = mol.atomPositions3d(); size_t i, j; UnitCell* uc = mol.unitCell(); if (!uc) { err = "No unit cell found."; return false; } size_t a = static_cast(maxRadius / uc->a()) + 1; size_t b = static_cast(maxRadius / uc->b()) + 1; size_t c = static_cast(maxRadius / uc->c()) + 1; Vector3 disp = a * uc->aVector() + b * uc->bVector() + c * uc->cVector(); for (i = 0; i < refAtomCoords.size(); ++i) { refAtomCoords[i] += disp; } Molecule newMolecule = mol; CrystalTools::buildSupercell(newMolecule, 2 * a + 1, 2 * b + 1, 2 * c + 1); Array newAtomCoords = newMolecule.atomPositions3d(); map pdfCount; double dist, rStep = step; size_t k, binIdx; for (i = 0; i < refAtomCoords.size(); ++i) { for (j = 0; j < newAtomCoords.size(); ++j) { dist = (refAtomCoords.at(i) - newAtomCoords.at(j)).norm(); binIdx = static_cast(dist / rStep); if (pdfCount.find(binIdx) == pdfCount.end()) { pdfCount.insert(std::make_pair(binIdx, 1)); } else { pdfCount[binIdx]++; } } } for (k = 0; k < static_cast(maxRadius / rStep); k++) { if (pdfCount.find(k) == pdfCount.end()) { results.push_back(std::make_pair(k * rStep, 0.0)); } else { results.push_back(std::make_pair( k * rStep, pdfCount[k] * newMolecule.unitCell()->volume() / (4 * M_PI * pow(k * rStep, 2) * rStep * refAtomCoords.size() * newAtomCoords.size()))); } } return true; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/plotpdf/plotpdf.h000066400000000000000000000044451360735163600234220ustar00rootroot00000000000000/******************************************************************************* This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. *******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_PLOTPDF_H #define AVOGADRO_QTPLUGINS_PLOTPDF_H #include // Forward declarations class QByteArray; class QStringList; namespace Avogadro { namespace QtPlugins { class PdfOptionsDialog; // First item in the pair is radius. Second is the pdf value. typedef std::vector> PdfData; /** * @brief Generate and plot a PDF curve */ class PlotPdf : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit PlotPdf(QObject* parent_ = 0); ~PlotPdf(); QString name() const { return tr("PlotPdf"); } QString description() const; QList actions() const; QStringList menuPath(QAction*) const; public slots: void setMolecule(QtGui::Molecule* mol); void moleculeChanged(unsigned int changes); private slots: void updateActions(); void displayDialog(); private: // Generate Pdf curve from a crystal // Writes the results to @p results, which is a vector of pairs of doubles // (see definition above). // err will be set to an error string if the function fails. // radius is in Angstroms. static bool generatePdfPattern(QtGui::Molecule& mol, PdfData& results, QString& err, double maxRadius = 10.0, double step = 0.1); QList m_actions; QtGui::Molecule* m_molecule; QScopedPointer m_pdfOptionsDialog; QScopedPointer m_displayDialogAction; }; inline QString PlotPdf::description() const { return tr("Generate and plot a Pair Distribution Function curve."); } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_PLOTPDF_H avogadrolibs-1.93.0/avogadro/qtplugins/plotrmsd/000077500000000000000000000000001360735163600217665ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/plotrmsd/CMakeLists.txt000066400000000000000000000003261360735163600245270ustar00rootroot00000000000000set(plotrmsd_srcs plotrmsd.cpp ) avogadro_plugin(PlotRmsd "Create an RMSD plot." ExtensionPlugin plotrmsd.h PlotRmsd "${plotrmsd_srcs}" "" ) target_link_libraries(PlotRmsd LINK_PRIVATE AvogadroVtk) avogadrolibs-1.93.0/avogadro/qtplugins/plotrmsd/plotrmsd.cpp000066400000000000000000000103041360735163600243340ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include #include #include #include "plotrmsd.h" using Avogadro::QtGui::Molecule; namespace Avogadro { namespace QtPlugins { using Core::Array; PlotRmsd::PlotRmsd(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_) , m_actions(QList()) , m_molecule(nullptr) , m_displayDialogAction(new QAction(this)) { m_displayDialogAction->setText(tr("Plot RMSD curve...")); connect(m_displayDialogAction.get(), &QAction::triggered, this, &PlotRmsd::displayDialog); m_actions.push_back(m_displayDialogAction.get()); m_displayDialogAction->setProperty("menu priority", 80); updateActions(); } PlotRmsd::~PlotRmsd() = default; QList PlotRmsd::actions() const { return m_actions; } QStringList PlotRmsd::menuPath(QAction*) const { return QStringList() << tr("&Crystal"); } void PlotRmsd::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateActions(); } void PlotRmsd::moleculeChanged(unsigned int c) { Q_ASSERT(m_molecule == qobject_cast(sender())); Molecule::MoleculeChanges changes = static_cast(c); if (changes & Molecule::UnitCell) { if (changes & Molecule::Added || changes & Molecule::Removed) updateActions(); } } void PlotRmsd::updateActions() { // Disable everything for nullptr molecules. if (!m_molecule) { foreach (QAction* action, m_actions) action->setEnabled(false); return; } // Only display the actions if multimolecule. if (m_molecule->coordinate3dCount() > 1) { foreach (QAction* action, m_actions) action->setEnabled(true); } else { foreach (QAction* action, m_actions) action->setEnabled(false); } } void PlotRmsd::displayDialog() { RmsdData results; generateRmsdPattern(results); // Now generate a plot with the data std::vector xData; std::vector yData; for (const auto& item : results) { xData.push_back(item.first); yData.push_back(item.second); } std::vector> data{ xData, yData }; std::vector lineLabels{ "RmsdData" }; std::array color = { 255, 0, 0, 255 }; std::vector> lineColors{ color }; const char* xTitle = "Frame"; const char* yTitle = "RMSD (Angstrom)"; const char* windowName = "RMSD Curve"; VTK::VtkPlot::generatePlot(data, lineLabels, lineColors, xTitle, yTitle, windowName); } void PlotRmsd::generateRmsdPattern(RmsdData& results) { m_molecule->setCoordinate3d(0); Array ref = m_molecule->atomPositions3d(); for (size_t i = 0; i < m_molecule->coordinate3dCount(); ++i) { m_molecule->setCoordinate3d(i); Array positions = m_molecule->atomPositions3d(); double sum = 0; for (size_t j = 0; j < positions.size(); ++j) { sum += (positions[j][0] - ref[j][0]) * (positions[j][0] - ref[j][0]) + (positions[j][1] - ref[j][1]) * (positions[j][1] - ref[j][1]) + (positions[j][2] - ref[j][2]) * (positions[j][2] - ref[j][2]); } sum = sqrt(sum / m_molecule->coordinate3dCount()); results.push_back(std::make_pair(static_cast(i), sum)); } } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/plotrmsd/plotrmsd.h000066400000000000000000000037771360735163600240210ustar00rootroot00000000000000/******************************************************************************* This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. *******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_PLOTRMSD_H #define AVOGADRO_QTPLUGINS_PLOTRMSD_H #include #include // Forward declarations class QByteArray; class QStringList; namespace Avogadro { namespace QtPlugins { // First item in the pair is the frame number. Second is the RMSD value. typedef std::vector> RmsdData; /** * @brief Generate and plot an RMSD curve. */ class PlotRmsd : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit PlotRmsd(QObject* parent_ = 0); ~PlotRmsd(); QString name() const { return tr("PlotRmsd"); } QString description() const; QList actions() const; QStringList menuPath(QAction*) const; public slots: void setMolecule(QtGui::Molecule* mol); void moleculeChanged(unsigned int changes); private slots: void updateActions(); void displayDialog(); private: // Generate RMSD data from a coordinate set // Writes the results to @p results, which is a vector of pairs of doubles // (see definition above). void generateRmsdPattern(RmsdData& results); QList m_actions; QtGui::Molecule* m_molecule; std::unique_ptr m_displayDialogAction; }; inline QString PlotRmsd::description() const { return tr("Generate and plot an RMSD curve."); } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_PLOTRMSD_H avogadrolibs-1.93.0/avogadro/qtplugins/plotxrd/000077500000000000000000000000001360735163600216165ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/plotxrd/CMakeLists.txt000066400000000000000000000007551360735163600243650ustar00rootroot00000000000000# Download the executable if we are not to use the system one if(NOT USE_SYSTEM_GENXRDPATTERN) include(DownloadGenXrdPattern) DownloadGenXrdPattern() endif(NOT USE_SYSTEM_GENXRDPATTERN) set(plotxrd_srcs plotxrd.cpp xrdoptionsdialog.cpp ) set(plotxrd_uis xrdoptionsdialog.ui ) avogadro_plugin(PlotXrd "Use ObjCryst++ to create an XRD plot." ExtensionPlugin plotxrd.h PlotXrd "${plotxrd_srcs}" "${plotxrd_uis}" ) target_link_libraries(PlotXrd LINK_PRIVATE AvogadroVtk) avogadrolibs-1.93.0/avogadro/qtplugins/plotxrd/plotxrd.cpp000066400000000000000000000202741360735163600240230ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include #include "plotxrd.h" #include "xrdoptionsdialog.h" using Avogadro::QtGui::Molecule; namespace Avogadro { namespace QtPlugins { PlotXrd::PlotXrd(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_actions(QList()), m_molecule(nullptr), m_xrdOptionsDialog(new XrdOptionsDialog(qobject_cast(parent()))), m_displayDialogAction(new QAction(this)) { m_displayDialogAction->setText(tr("Plot Theoretical XRD Pattern...")); connect(m_displayDialogAction.get(), &QAction::triggered, this, &PlotXrd::displayDialog); m_actions.push_back(m_displayDialogAction.get()); m_displayDialogAction->setProperty("menu priority", 90); updateActions(); } PlotXrd::~PlotXrd() = default; QList PlotXrd::actions() const { return m_actions; } QStringList PlotXrd::menuPath(QAction*) const { return QStringList() << tr("&Crystal"); } void PlotXrd::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateActions(); } void PlotXrd::moleculeChanged(unsigned int c) { Q_ASSERT(m_molecule == qobject_cast(sender())); Molecule::MoleculeChanges changes = static_cast(c); if (changes & Molecule::UnitCell) { if (changes & Molecule::Added || changes & Molecule::Removed) updateActions(); } } void PlotXrd::updateActions() { // Disable everything for nullptr molecules. if (!m_molecule) { foreach (QAction* action, m_actions) action->setEnabled(false); return; } // Only display the actions if there is a unit cell if (m_molecule->unitCell()) { foreach (QAction* action, m_actions) action->setEnabled(true); } else { foreach (QAction* action, m_actions) action->setEnabled(false); } } void PlotXrd::displayDialog() { // Do nothing if the user cancels if (m_xrdOptionsDialog->exec() != QDialog::Accepted) return; // Otherwise, fetch the options and perform the run double wavelength = m_xrdOptionsDialog->wavelength(); double peakwidth = m_xrdOptionsDialog->peakWidth(); size_t numpoints = m_xrdOptionsDialog->numDataPoints(); double max2theta = m_xrdOptionsDialog->max2Theta(); XrdData results; QString err; if (!generateXrdPattern(*m_molecule, results, err, wavelength, peakwidth, numpoints, max2theta)) { QMessageBox::critical(qobject_cast(parent()), tr("Failed to generate XRD pattern"), tr("Error message: ") + err); return; } // Now generate a plot with the data std::vector xData; std::vector yData; for (const auto& item : results) { xData.push_back(item.first); yData.push_back(item.second); } std::vector> data{ xData, yData }; std::vector lineLabels{ "XrdData" }; std::array color = { 255, 0, 0, 255 }; std::vector> lineColors{ color }; const char* xTitle = "2 Theta"; const char* yTitle = "Intensity"; const char* windowName = "Theoretical XRD Pattern"; VTK::VtkPlot::generatePlot(data, lineLabels, lineColors, xTitle, yTitle, windowName); } bool PlotXrd::generateXrdPattern(const QtGui::Molecule& mol, XrdData& results, QString& err, double wavelength, double peakwidth, size_t numpoints, double max2theta) { // Get the molecule as a cif file std::string cifData; if (!Io::FileFormatManager::instance().writeString(mol, cifData, "cif")) { err = tr("Failed to convert molecule to CIF format."); qDebug() << "Error in" << __FUNCTION__ << ":" << err; return false; } // Now, execute genXrdPattern with the given inputs QStringList args; args << "--read-from-stdin" << "--wavelength=" + QString::number(wavelength) << "--peakwidth=" + QString::number(peakwidth) << "--numpoints=" + QString::number(numpoints) << "--max2theta=" + QString::number(max2theta); QByteArray output; if (!executeGenXrdPattern(args, cifData.c_str(), output, err)) { qDebug() << "Error in" << __FUNCTION__ << ":" << err; return false; } // Store the results results.clear(); // Find the section of data in the output bool dataStarted = false; QStringList lines = QString(output).split(QRegExp("[\r\n]"), QString::SkipEmptyParts); for (const auto& line : lines) { if (!dataStarted && line.contains("# 2Theta/TOF ICalc")) { dataStarted = true; continue; } if (dataStarted) { QStringList rowData = line.split(" ", QString::SkipEmptyParts); if (rowData.size() != 2) { err = tr("Data read from genXrdPattern appears to be corrupt!"); qDebug() << "Error in" << __FUNCTION__ << err; qDebug() << "Data is:"; for (const auto& lineTmp : lines) qDebug() << lineTmp; return false; } results.push_back( std::make_pair(rowData[0].toDouble(), rowData[1].toDouble())); } } return true; } bool PlotXrd::executeGenXrdPattern(const QStringList& args, const QByteArray& input, QByteArray& output, QString& err) { QString program; // If the GENXRDPATTERN_EXECUTABLE environment variable is set, then // use that QByteArray xrdExec = qgetenv("GENXRDPATTERN_EXECUTABLE"); if (!xrdExec.isEmpty()) { program = xrdExec; } else { // Otherwise, search in the current directory, and then ../bin #ifdef _WIN32 QString executable = "genXrdPattern.exe"; #else QString executable = "genXrdPattern"; #endif QString path = QCoreApplication::applicationDirPath(); if (QFile::exists(path + "/" + executable)) program = path + "/" + executable; else if (QFile::exists(path + "/../bin/" + executable)) program = path + "/../bin/" + executable; else { err = tr("Error: could not find genXrdPattern executable!"); qDebug() << err; return false; } } QProcess p; p.start(program, args); if (!p.waitForStarted()) { err = tr("Error: " + program.toLocal8Bit() + " failed to start"); qDebug() << err; return false; } // Give it the input! p.write(input.data()); // Close the write channel p.closeWriteChannel(); if (!p.waitForFinished()) { err = tr("Error: " + program.toLocal8Bit() + " failed to finish"); qDebug() << err; output = p.readAll(); qDebug() << "Output is as follows:\n" << output; return false; } int exitStatus = p.exitStatus(); output = p.readAll(); if (exitStatus == QProcess::CrashExit) { err = tr("Error: " + program.toLocal8Bit() + " crashed!"); qDebug() << err; qDebug() << "Output is as follows:\n" << output; return false; } if (exitStatus != QProcess::NormalExit) { err = tr("Error: " + program.toLocal8Bit() + " finished abnormally with exit code " + QString::number(exitStatus).toLocal8Bit()); qDebug() << err; qDebug() << "Output is as follows:\n" << output; return false; } // We did it! return true; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/plotxrd/plotxrd.h000066400000000000000000000060261360735163600234670ustar00rootroot00000000000000/******************************************************************************* This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. *******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_PLOTXRD_H #define AVOGADRO_QTPLUGINS_PLOTXRD_H #include #include // Forward declarations class QByteArray; class QStringList; namespace Avogadro { namespace QtPlugins { class XrdOptionsDialog; // First item in the pair is 2*theta. Second is the intensity. typedef std::vector> XrdData; /** * @brief Generate and plot a theoretical XRD pattern using ObjCryst++ */ class PlotXrd : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit PlotXrd(QObject* parent_ = 0); ~PlotXrd(); QString name() const { return tr("PlotXrd"); } QString description() const; QList actions() const; QStringList menuPath(QAction*) const; public slots: void setMolecule(QtGui::Molecule* mol); void moleculeChanged(unsigned int changes); private slots: void updateActions(); void displayDialog(); private: // Generate an Xrd pattern from a crystal // Writes the results to @p results, which is a vector of pairs of doubles // (see definition above). // err will be set to an error string if the function fails. // wavelength is an Angstroms. // peakwidth is in degrees. // numpoints is an unsigned integer. // max2theta is in degrees. static bool generateXrdPattern(const QtGui::Molecule& mol, XrdData& results, QString& err, double wavelength = 1.505600, double peakwidth = 0.529580, size_t numpoints = 1000, double max2theta = 162.0); // Use QProcess to execute genXrdPattern // If the GENXRDPATTERN_EXECUTABLE environment variable is set, that will be // used for the executable. Otherwise, it will search for the executable in // some common places and use it if it can be found. static bool executeGenXrdPattern(const QStringList& args, const QByteArray& input, QByteArray& output, QString& err); QList m_actions; QtGui::Molecule* m_molecule; std::unique_ptr m_xrdOptionsDialog; std::unique_ptr m_displayDialogAction; }; inline QString PlotXrd::description() const { return tr("Generate and plot a theoretical XRD pattern using ObjCryst++."); } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_PLOTXRD_H avogadrolibs-1.93.0/avogadro/qtplugins/plotxrd/xrdoptionsdialog.cpp000066400000000000000000000043151360735163600257160ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "xrdoptionsdialog.h" #include "ui_xrdoptionsdialog.h" #include namespace Avogadro { namespace QtPlugins { XrdOptionsDialog::XrdOptionsDialog(QWidget* aParent) : QDialog(aParent), m_ui(new Ui::XrdOptionsDialog) { m_ui->setupUi(this); // Read the settings QSettings settings; m_ui->spin_wavelength->setValue( settings.value("plotxrdoptions/wavelength", 1.505600).toDouble()); m_ui->spin_peakWidth->setValue( settings.value("plotxrdoptions/peakWidth", 0.529580).toDouble()); m_ui->spin_numDataPoints->setValue( settings.value("plotxrdoptions/numDataPoints", 1000).toUInt()); m_ui->spin_max2Theta->setValue( settings.value("plotxrdoptions/max2Theta", 162.0).toDouble()); } XrdOptionsDialog::~XrdOptionsDialog() = default; double XrdOptionsDialog::wavelength() const { return m_ui->spin_wavelength->value(); } double XrdOptionsDialog::peakWidth() const { return m_ui->spin_peakWidth->value(); } size_t XrdOptionsDialog::numDataPoints() const { return m_ui->spin_numDataPoints->value(); } double XrdOptionsDialog::max2Theta() const { return m_ui->spin_max2Theta->value(); } void XrdOptionsDialog::accept() { // Write the settings and accept QSettings settings; settings.setValue("plotxrdoptions/wavelength", wavelength()); settings.setValue("plotxrdoptions/peakWidth", peakWidth()); settings.setValue("plotxrdoptions/numDataPoints", static_cast(numDataPoints())); settings.setValue("plotxrdoptions/max2Theta", max2Theta()); QDialog::accept(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/plotxrd/xrdoptionsdialog.h000066400000000000000000000025521360735163600253640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_XRDOPTIONSDIALOG_H #define AVOGADRO_QTPLUGINS_XRDOPTIONSDIALOG_H #include #include namespace Avogadro { namespace QtPlugins { namespace Ui { class XrdOptionsDialog; } /** * @brief Dialog to set options for a theoretical XRD pattern calculation. */ class XrdOptionsDialog : public QDialog { Q_OBJECT public: explicit XrdOptionsDialog(QWidget* parent = 0); ~XrdOptionsDialog(); double wavelength() const; double peakWidth() const; size_t numDataPoints() const; double max2Theta() const; protected slots: void accept(); private: std::unique_ptr m_ui; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_XRDOPTIONSDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/plotxrd/xrdoptionsdialog.ui000066400000000000000000000136561360735163600255610ustar00rootroot00000000000000 Avogadro::QtPlugins::XrdOptionsDialog 0 0 324 237 Theoretical XRD Pattern Options <html><head/><body><p>The broadening of the peak at the base (in degrees).</p></body></html> <html><head/><body><p>The max 2theta value in degrees.</p><p>Default: 162.00°</p></body></html> ° 2 360.000000000000000 0.100000000000000 162.000000000000000 <html><head/><body><p>The broadening of the peaks at the base in degrees.</p><p>Default: 0.52958°</p></body></html> ° 5 100.000000000000000 0.100000000000000 0.529580000000000 Number of points: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Peak width: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Wavelength: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter <html><head/><body><p>The wavelength of the x-ray in Angstroms. </p><p>Default: 1.50560 Å</p></body></html> Å 5 0.000000000000000 100.000000000000000 0.100000000000000 1.505600000000000 <html><head/><body><p>The number of 2theta points to generate.</p><p>Default: 1000</p></body></html> 1 100000 1000 Qt::LeftToRight Max 2*theta: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter QDialogButtonBox::Cancel|QDialogButtonBox::Ok spin_wavelength spin_peakWidth spin_numDataPoints spin_max2Theta buttonBox accepted() Avogadro::QtPlugins::XrdOptionsDialog accept() 226 204 161 118 buttonBox rejected() Avogadro::QtPlugins::XrdOptionsDialog reject() 226 204 161 118 avogadrolibs-1.93.0/avogadro/qtplugins/plugindownloader/000077500000000000000000000000001360735163600234775ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/plugindownloader/CMakeLists.txt000066400000000000000000000010631360735163600262370ustar00rootroot00000000000000include_directories(SYSTEM "${AvogadroLibs_SOURCE_DIR}/thirdparty") find_package(LibArchive REQUIRED) include_directories(SYSTEM ${LIBARCHIVE_INCLUDE_DIRS}) # Extension set(plugindownloader_srcs plugindownloader.cpp downloaderwidget.cpp zipextracter.cpp ) avogadro_plugin(PluginDownloader "Download plugins from Github repositories" ExtensionPlugin plugindownloader.h PluginDownloader "${plugindownloader_srcs}" downloaderwidget.ui "" ) target_link_libraries(PluginDownloader LINK_PRIVATE ${Qt5Network_LIBRARIES} ${LIBARCHIVE_LIBRARIES}) avogadrolibs-1.93.0/avogadro/qtplugins/plugindownloader/downloaderwidget.cpp000066400000000000000000000255731360735163600275610ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2017 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "downloaderwidget.h" #include "ui_downloaderwidget.h" #include "zipextracter.h" #include #include #include #include #include #include #include #include #include #include #include using json = nlohmann::json; namespace Avogadro { namespace QtPlugins { DownloaderWidget::DownloaderWidget(QWidget* parent) : QDialog(parent), m_ui(new Ui::DownloaderWidget) { m_filePath = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); m_NetworkAccessManager = new QNetworkAccessManager(this); m_ui->setupUi(this); connect(m_ui->downloadButton, SIGNAL(clicked(bool)), this, SLOT(getCheckedRepos())); connect(m_ui->repoTable, SIGNAL(cellClicked(int, int)), this, SLOT(downloadREADME(int, int))); m_ui->repoTable->setColumnCount(4); m_ui->repoTable->setSelectionBehavior(QAbstractItemView::SelectRows); m_ui->repoTable->setHorizontalHeaderLabels(QStringList() << "Update" << "Name" << "Description" << "Releases"); m_ui->repoTable->horizontalHeader()->setStretchLastSection(true); m_ui->repoTable->setRowCount(0); getRepoData(); } DownloaderWidget::~DownloaderWidget() { delete m_ui; } // download master plugin.json from Avogadro.cc void DownloaderWidget::getRepoData() { QString url = "https://avogadro.cc/plugins.json"; QNetworkRequest request; request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/" "xml;q=0.9,image/webp,*/*;q=0.8"); request.setRawHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " "AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/54.0.2840.71 Safari/537.36"); request.setRawHeader("Accept-Language", "en - US, en; q = 0.8"); request.setUrl(url); // Set the url m_reply = m_NetworkAccessManager->get(request); connect(m_reply, SIGNAL(finished()), this, SLOT(updateRepoData())); } // Process the master plugin.json hosted on Avogadro.cc void DownloaderWidget::updateRepoData() { if (m_reply->error() == QNetworkReply::NoError) { // Reading the data from the response QByteArray bytes = m_reply->readAll(); // parse the json m_root = json::parse(bytes.data()); int numRepos = m_root.size(); m_ui->repoTable->setRowCount(numRepos); m_repoList.clear(); for (int i = 0; i < numRepos; i++) { m_repoList.push_back(repo()); const auto& currentRoot = m_root[i]; // Loop through the keys for (auto it = currentRoot.cbegin(); it != currentRoot.cend(); ++it) { if (it.key() == "name" && it.value().is_string()) m_repoList[i].name = it.value().get().c_str(); else if (it.key() == "description" && it.value().is_string()) m_repoList[i].description = it.value().get().c_str(); else if (it.key() == "release_version" && it.value().is_string()) m_repoList[i].releaseVersion = it.value().get().c_str(); else if (it.key() == "type" && it.value().is_string()) m_repoList[i].type = it.value().get().c_str(); else if (it.key() == "updated_at" && it.value().is_string()) m_repoList[i].updatedAt = it.value().get().c_str(); else if (it.key() == "zipball_url" && it.value().is_string()) m_repoList[i].zipballUrl = it.value().get().c_str(); else if (it.key() == "has_release" && it.value().is_boolean()) m_repoList[i].hasRelease = it.value().get(); } // readme should be included or at least the repo url so we don't have to // do this QStringList urlParts = m_repoList[i].zipballUrl.split("/"); urlParts.removeLast(); urlParts.removeLast(); // remove /zipball/(version/branch) urlParts.append("readme"); QString readmeUrl = urlParts.join("/"); m_repoList[i].readmeUrl = readmeUrl; QTableWidgetItem* checkbox = new QTableWidgetItem(); checkbox->setCheckState(Qt::Unchecked); m_ui->repoTable->setItem(i, 0, checkbox); m_ui->repoTable->setItem(i, 1, new QTableWidgetItem(m_repoList[i].name)); m_ui->repoTable->setItem(i, 2, new QTableWidgetItem(m_repoList[i].description)); if (m_repoList[i].hasRelease) m_ui->repoTable->setItem( i, 3, new QTableWidgetItem(m_repoList[i].releaseVersion)); else m_ui->repoTable->setItem(i, 3, new QTableWidgetItem(m_repoList[i].updatedAt)); } } m_reply->deleteLater(); } // Grab README data from Github void DownloaderWidget::downloadREADME(int row, int col) { m_ui->readmeBrowser->clear(); QString url = m_repoList[row].readmeUrl; QNetworkRequest request; request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/" "xml;q=0.9,image/webp,*/*;q=0.8"); request.setRawHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " "AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/54.0.2840.71 Safari/537.36"); request.setRawHeader("Accept-Language", "en - US, en; q = 0.8"); request.setUrl(url); // Set the url m_reply = m_NetworkAccessManager->get(request); connect(m_reply, SIGNAL(finished()), this, SLOT(showREADME())); } // display README when the user clicks a row void DownloaderWidget::showREADME() { if (m_reply->error() == QNetworkReply::NoError) { // Reading the data from the response QByteArray bytes = m_reply->readAll(); // parse the json m_root = json::parse(bytes.data()); QByteArray content("ERROR"); if (m_root.find("content") != m_root.end() && m_root["content"].is_string()) { content = m_root["content"].get().c_str(); } m_ui->readmeBrowser->append(QByteArray::fromBase64(content).data()); } } // see which repositories the user checked void DownloaderWidget::getCheckedRepos() { m_ui->readmeBrowser->clear(); m_downloadList.clear(); for (size_t i = 0; i < m_repoList.size(); i++) { if (m_ui->repoTable->item(i, 0)->checkState() == Qt::Checked) { downloadEntry newEntry; newEntry.url = m_repoList[i].zipballUrl; newEntry.name = m_repoList[i].name; newEntry.type = m_repoList[i].type; m_downloadList.append(newEntry); } } downloadNext(); } // Used to download one zip at a time so we know which plugin data we're getting void DownloaderWidget::downloadNext() { if (!m_downloadList.isEmpty()) { QString url = m_downloadList.last().url; QNetworkRequest request; request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/" "xml;q=0.9,image/webp,*/*;q=0.8"); request.setRawHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " "AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/54.0.2840.71 Safari/537.36"); request.setRawHeader("Accept-Language", "en - US, en; q = 0.8"); request.setUrl(url); // Set the url m_reply = m_NetworkAccessManager->get(request); connect(m_reply, SIGNAL(finished()), this, SLOT(handleRedirect())); } } // The download url for Github is always a redirect to the actual zip void DownloaderWidget::handleRedirect() { if (m_reply->error() == QNetworkReply::NoError) { QVariant statusCode = m_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute); if (statusCode.toInt() == 302) { QVariant possibleRedirectUrl = m_reply->attribute(QNetworkRequest::RedirectionTargetAttribute); QUrl _urlRedirectedTo = possibleRedirectUrl.toUrl(); QNetworkRequest request; request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/" "xml;q=0.9,image/webp,*/*;q=0.8"); request.setRawHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " "AppleWebKit/537.36 (KHTML, like Gecko) " "Chrome/54.0.2840.71 Safari/537.36"); request.setRawHeader("Accept-Language", "en - US, en; q = 0.8"); request.setUrl(_urlRedirectedTo); // Set the url m_reply = m_NetworkAccessManager->get(request); connect(m_reply, SIGNAL(finished()), this, SLOT(unzipPlugin())); } } else { m_reply->deleteLater(); m_downloadList.removeLast(); downloadNext(); } } // Save and unzip the plugin zipball void DownloaderWidget::unzipPlugin() { if (m_reply->error() == QNetworkReply::NoError) { // done with redirect QByteArray fileData = m_reply->readAll(); QDir().mkpath(m_filePath); QString repoName = m_downloadList.last().name; QString filename = repoName + ".zip"; QString absolutePath = m_filePath + "/" + filename; QString extractdirectory; QString subdir = m_downloadList.last().type; extractdirectory = m_filePath + "/" + subdir + "/"; QDir().mkpath(extractdirectory); m_ui->readmeBrowser->append("\nDownloading " + filename + " to " + m_filePath); QFile out(absolutePath); out.open(QIODevice::WriteOnly); QDataStream outstr(&out); outstr << fileData; std::string extractdir = extractdirectory.toStdString(); std::string absolutep = absolutePath.toStdString(); ZipExtracter unzip; m_ui->readmeBrowser->append("Extracting " + absolutePath + " to " + extractdirectory); QList ret = unzip.extract(extractdir, absolutep); if (ret.empty()) { m_ui->readmeBrowser->append("Extraction successful"); } else { m_ui->readmeBrowser->append("Error while extracting: " + ret.first()); } out.remove(); m_reply->deleteLater(); m_downloadList.removeLast(); downloadNext(); } } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/plugindownloader/downloaderwidget.h000066400000000000000000000044521360735163600272170ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2017 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_DOWNLOADERWIDGET_H #define AVOGADRO_DOWNLOADERWIDGET_H #include #include #include #include #include class QNetworkAccessManager; class QNetworkReply; namespace Ui { class DownloaderWidget; } namespace Avogadro { namespace QtPlugins { class DownloaderWidget : public QDialog { Q_OBJECT public: DownloaderWidget(QWidget* parent = 0); ~DownloaderWidget() override; public slots: void showREADME(); void downloadREADME(int, int); void updateRepoData(); void getCheckedRepos(); void handleRedirect(); void unzipPlugin(); private: struct repo { QString name; QString description; QString releaseVersion; QString type; QString updatedAt; QString zipballUrl; QString readmeUrl; bool hasRelease; // Default constructor repo() : name("Error"), description("Error"), releaseVersion("Error"), type("other"), updatedAt("Error"), zipballUrl("Error"), readmeUrl("Error"), hasRelease(false) {} }; struct downloadEntry { QString url; QString name; QString type; }; void downloadNextPlugin(); void getRepoData(); void downloadNext(); bool checkSHA1(QByteArray); std::vector m_repoList; Ui::DownloaderWidget* m_ui; QNetworkAccessManager* m_NetworkAccessManager; QNetworkReply* m_reply; /** Holds a node of JSON results */ nlohmann::json m_root; /** Used to parse JSON results */ QVariantMap m_jsonResult; QString m_filePath; QList m_downloadList; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_DOWNLOADERWIDGET_H avogadrolibs-1.93.0/avogadro/qtplugins/plugindownloader/downloaderwidget.ui000066400000000000000000000015261360735163600274040ustar00rootroot00000000000000 DownloaderWidget 0 0 950 700 Plugin Downloader Download Selected avogadrolibs-1.93.0/avogadro/qtplugins/plugindownloader/plugindownloader.cpp000066400000000000000000000037131360735163600275640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2017 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "plugindownloader.h" #include "downloaderwidget.h" #include #include #include #include #include #include #include #include #include //#include namespace Avogadro { namespace QtPlugins { PluginDownloader::PluginDownloader(QObject* parent_) : ExtensionPlugin(parent_), m_action(new QAction(this)), m_molecule(nullptr), m_network(nullptr) { m_action->setEnabled(true); m_action->setText("Plugin Downloader"); connect(m_action, SIGNAL(triggered()), SLOT(showDialog())); } PluginDownloader::~PluginDownloader() = default; QList PluginDownloader::actions() const { return QList() << m_action; } QStringList PluginDownloader::menuPath(QAction*) const { return QStringList() << tr("&Extensions"); } void PluginDownloader::setMolecule(QtGui::Molecule* mol) { } bool PluginDownloader::readMolecule(QtGui::Molecule& mol) { return true; } void PluginDownloader::showDialog() { DownloaderWidget* widget = new DownloaderWidget(qobject_cast(parent())); widget->show(); } void PluginDownloader::replyFinished(QNetworkReply* reply) { } } } avogadrolibs-1.93.0/avogadro/qtplugins/plugindownloader/plugindownloader.h000066400000000000000000000035551360735163600272350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2017 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_PLUGINDOWNLOADER_H #define AVOGADRO_QTPLUGINS_PLUGINDOWNLOADER_H #include #include #include class QNetworkAccessManager; class QNetworkReply; class QProgressDialog; namespace Avogadro { namespace QtPlugins { /** * @brief Downloads Github repos and extracts their contents into a Avogadro * folder for plugins, molecule data, etc.. */ class PluginDownloader : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit PluginDownloader(QObject* parent = 0); ~PluginDownloader() override; QString name() const override { return tr("Plugin Downloader"); } QString description() const override { return tr("Downloader plugins from Github repositories."); } QList actions() const override; QStringList menuPath(QAction*) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; bool readMolecule(QtGui::Molecule& mol) override; private slots: void showDialog(); void replyFinished(QNetworkReply*); private: QAction* m_action; QtGui::Molecule* m_molecule; QNetworkAccessManager* m_network; QString m_moleculeName; }; } } #endif // AVOGADRO_QTPLUGINS_PLUGINDOWNLOADER_H avogadrolibs-1.93.0/avogadro/qtplugins/plugindownloader/zipextracter.cpp000066400000000000000000000073131360735163600267330ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2017 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "zipextracter.h" #include namespace Avogadro { namespace QtPlugins { ZipExtracter::ZipExtracter() { } ZipExtracter::~ZipExtracter() { } int ZipExtracter::copyData(struct archive* ar, struct archive* aw) { int r; const void* buff; size_t size; la_int64_t offset; for (;;) { r = archive_read_data_block(ar, &buff, &size, &offset); if (r == ARCHIVE_EOF) return (ARCHIVE_OK); if (r < ARCHIVE_OK) return (r); r = archive_write_data_block(aw, buff, size, offset); if (r < ARCHIVE_OK) { fprintf(stderr, "%s\n", archive_error_string(aw)); return (r); } } } char* ZipExtracter::convert(const std::string& str) { char* result = new char[str.length() + 1]; strcpy(result, str.c_str()); return result; } // Extract method from libarchive docs, changed to return QList of errors QList ZipExtracter::extract(std::string extractdir, std::string absolutepath) { struct archive* a; struct archive* ext; struct archive_entry* entry; int flags; int r; QList toReturn; std::string extractdirectory = extractdir; std::string newFilename; std::string currentFilename; /* Select which attributes we want to restore. */ flags = ARCHIVE_EXTRACT_TIME; flags |= ARCHIVE_EXTRACT_PERM; flags |= ARCHIVE_EXTRACT_ACL; flags |= ARCHIVE_EXTRACT_FFLAGS; a = archive_read_new(); archive_read_support_format_all(a); ext = archive_write_disk_new(); archive_write_disk_set_options(ext, flags); archive_write_disk_set_standard_lookup(ext); if ((r = archive_read_open_filename(a, convert(absolutepath), 10240))) { toReturn.append("ERROR - archive_read_open_filename == true"); toReturn.append(QString::number(r)); QString errorMsg = archive_error_string(a); toReturn.append(errorMsg); return toReturn; } long itrCount = 0; for (;;) { r = archive_read_next_header(a, &entry); if (r == ARCHIVE_EOF) break; if (r < ARCHIVE_OK) fprintf(stderr, "%s\n", archive_error_string(a)); if (r < ARCHIVE_WARN) { toReturn.append("ERROR - r < ARCHIVE_WARN"); return toReturn; } currentFilename = archive_entry_pathname(entry); newFilename = extractdirectory; newFilename.append(currentFilename); archive_entry_set_pathname(entry, convert(newFilename)); r = archive_write_header(ext, entry); if (r < ARCHIVE_OK) fprintf(stderr, "%s\n", archive_error_string(ext)); else if (archive_entry_size(entry) > 0) { r = copyData(a, ext); if (r < ARCHIVE_OK) fprintf(stderr, "%s\n", archive_error_string(ext)); if (r < ARCHIVE_WARN) { toReturn.append("ERROR - r < ARCHIVE_WARN"); return toReturn; } } r = archive_write_finish_entry(ext); if (r < ARCHIVE_OK) fprintf(stderr, "%s\n", archive_error_string(ext)); if (r < ARCHIVE_WARN) { toReturn.append("ERROR - r < ARCHIVE_WARN"); return toReturn; } } archive_read_close(a); archive_read_free(a); archive_write_close(ext); archive_write_free(ext); return toReturn; } } } avogadrolibs-1.93.0/avogadro/qtplugins/plugindownloader/zipextracter.h000066400000000000000000000017721360735163600264030ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2017 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "archive.h" #include "archive_entry.h" #include #include namespace Avogadro { namespace QtPlugins { class ZipExtracter { public: ZipExtracter(); ~ZipExtracter(); char* convert(const std::string&); int copyData(struct archive* ar, struct archive* aw); QList extract(std::string extractdir, std::string absolutepath); }; } } avogadrolibs-1.93.0/avogadro/qtplugins/pluginfactory.h000066400000000000000000000023701360735163600231630ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_PLUGINFACTORY_H #define AVOGADRO_QTPLUGINS_PLUGINFACTORY_H #include #include namespace Avogadro { namespace QtPlugins { /** * @class PluginFactory pluginfactory.h * @brief The base class for plugin factories in Avogadro. */ template class PluginFactory { public: virtual ~PluginFactory() {} virtual T* createInstance() = 0; virtual QString identifier() const = 0; virtual QString description() const = 0; }; } /* namespace QtPlugins */ } /* namespace Avogadro */ #endif /* AVOGADRO_QTPLUGINS_PLUGINFACTORY_H */ avogadrolibs-1.93.0/avogadro/qtplugins/pluginmanager.cpp000066400000000000000000000107431360735163600234640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "pluginmanager.h" #include "avogadrostaticqtplugins.h" #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { PluginManager::PluginManager(QObject* p) : QObject(p) , m_staticPluginsLoaded(false) { QString libDir(QtGui::Utilities::libraryDirectory()); // http://doc.qt.digia.com/qt/deployment-plugins.html#debugging-plugins bool debugPlugins = !qgetenv("QT_DEBUG_PLUGINS").isEmpty(); // The usual base directory is the parent directory of the executable's // location. (exe is in "bin" or "MacOS" and plugins are under the parent // directory at "/avogadro2/plugins"...) QDir baseDir(QCoreApplication::applicationDirPath() + "/.."); #ifdef __APPLE__ // But if NOT running from the installed bundle on the Mac, the plugins are // relative to the build directory instead: // if (!QFileInfo(baseDir.absolutePath() + "/Resources/qt.conf").exists()) { QDir buildDir(QCoreApplication::applicationDirPath() + "/../../../.."); baseDir = buildDir; if (debugPlugins) qDebug() << " using buildDir:" << buildDir.absolutePath(); } #endif // If the environment variable is set, use that as the base directory. QByteArray pluginDir = qgetenv("AVOGADRO_PLUGIN_DIR"); if (!pluginDir.isEmpty()) baseDir.setPath(pluginDir); if (debugPlugins) qDebug() << " baseDir:" << baseDir.absolutePath(); QDir pluginsDir(baseDir.absolutePath() + "/" + libDir + "/avogadro2/plugins"); m_pluginDirs.append(pluginsDir.absolutePath()); if (debugPlugins) { qDebug() << " pluginsDir:" << pluginsDir.absolutePath(); int count = 0; foreach (const QString& pluginPath, pluginsDir.entryList(QDir::Files)) { ++count; qDebug() << " " << pluginsDir.absolutePath() + "/" + pluginPath; } if (count > 0) qDebug() << " " << count << "files found in" << pluginsDir.absolutePath(); else qDebug() << " no plugin files found in" << pluginsDir.absolutePath(); } initAvogadroPluginResources(); } PluginManager::~PluginManager() {} PluginManager* PluginManager::instance() { static QMutex mutex; // Compiler initializes this static pointer to 0. static PluginManager* pluginManagerInstance; if (!pluginManagerInstance) { mutex.lock(); if (!pluginManagerInstance) pluginManagerInstance = new PluginManager(QCoreApplication::instance()); mutex.unlock(); } return pluginManagerInstance; } void PluginManager::load() { foreach (const QString& dir, m_pluginDirs) load(dir); } void PluginManager::load(const QString& path) { // Load any static plugins first. if (!m_staticPluginsLoaded) { QObjectList staticPlugins = QPluginLoader::staticInstances(); foreach (QObject* pluginInstance, staticPlugins) m_plugins.append(pluginInstance); m_staticPluginsLoaded = true; } QDir dir(path); foreach (const QString& pluginPath, dir.entryList(QDir::Files)) { QPluginLoader pluginLoader(dir.absolutePath() + "/" + pluginPath); // We only want to count plugins once, the || should not be necessary but // I found that on the Mac at least isLoaded was not always reliable (and // if it is we skip the second in the short-circuit). if (pluginLoader.isLoaded() || m_plugins.contains(pluginLoader.instance())) continue; QObject* pluginInstance = pluginLoader.instance(); // Check if the plugin loaded correctly. Keep debug output for now, should // go away once we have verified this (or added to a logger). if (!pluginInstance) { qDebug() << "Failed to load" << pluginPath << "error" << pluginLoader.errorString(); continue; } m_plugins.append(pluginInstance); } } } // End QtGui namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/qtplugins/pluginmanager.h000066400000000000000000000077271360735163600231410ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTGUI_PLUGINMANAGER_H #define AVOGADRO_QTGUI_PLUGINMANAGER_H #include "avogadroqtpluginsexport.h" #include #include #include namespace Avogadro { namespace QtPlugins { class ScenePluginFactory; class ExtensionPluginFactory; /** * @class PluginManager pluginmanager.h * @brief This class takes care of finding and loading Avogadro plugins. * @author Marcus D. Hanwell * * This class will find and load Avogadro plugins. Once loaded you can use an * instance of this class to query and construct plugin instances. By default * plugins are loaded from * QApplication::applicationDirPath()..//avogadro/plugins but this can * be changed, or more paths can be added. * * The load methods can be called multiple times, and will load any new plugins * while ignoring plugins that have already been loaded. */ class AVOGADROQTPLUGINS_EXPORT PluginManager : public QObject { Q_OBJECT public: /** * Get the singleton instance of the plugin manager. This instance should not * be deleted. */ static PluginManager* instance(); /** * Get a reference to the plugin directory path list. Modifying this before * calling load will allow you to add, remove or append to the search paths. */ QStringList& pluginDirList() { return m_pluginDirs; } /** Load all plugins available in the specified plugin directories. */ void load(); void load(const QString& dir); /** * Let the user request plugins with a certain type, this must use the Qt * mechanisms as qobject_cast is used in conjunction with interfaces. * * @code * factory = * pluginManager->pluginFactories(); * @endcode */ template QList pluginFactories() const; /** * Let the user request a plugin by name, this must use the Qt * mechanisms as qobject_cast is used in conjunction with interfaces. * * @code factory = pluginManager-> pluginFactories("name"); * @endcode * * @param id The identifier of the plugin factory. * @return The plugin factory if the plugin was found, nullptr otherwise. */ template T* pluginFactory(const QString& id) const; private: // Hide the constructor, destructor, copy and assignment operator. PluginManager(QObject* parent = 0); ~PluginManager() override; PluginManager(const PluginManager&); // Not implemented. PluginManager& operator=(const PluginManager&); // Not implemented. QStringList m_pluginDirs; QString m_relativeToApp; bool m_staticPluginsLoaded; // Storage for the loaded plugin instances. QList m_plugins; }; template QList PluginManager::pluginFactories() const { QList factories; foreach (QObject* plugin, m_plugins) { T* factory = qobject_cast(plugin); if (factory) factories.append(factory); } return factories; } template T* PluginManager::pluginFactory(const QString& id) const { T* factory; foreach (QObject* plugin, m_plugins) { factory = qobject_cast(plugin); if (factory && factory->identifier() == id) break; } return factory; } } // End QtPlugins namespace } // End Avogadro namespace #endif // AVOGADRO_QTGUI_PLUGINMANAGER_H avogadrolibs-1.93.0/avogadro/qtplugins/povray/000077500000000000000000000000001360735163600214425ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/povray/CMakeLists.txt000066400000000000000000000003471360735163600242060ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_BINARY_DIR}) avogadro_plugin(POVRay "Render the scene using POV-Ray." ExtensionPlugin povray.h POVRay "povray.cpp" "" ) target_link_libraries(POVRay LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/povray/povray.cpp000066400000000000000000000045331360735163600234730ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "povray.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { POVRay::POVRay(QObject* p) : Avogadro::QtGui::ExtensionPlugin(p), m_molecule(nullptr), m_scene(nullptr), m_camera(nullptr), m_action(new QAction(tr("POV-Ray Render"), this)) { connect(m_action, SIGNAL(triggered()), SLOT(render())); } POVRay::~POVRay() { } QList POVRay::actions() const { QList result; return result << m_action; } QStringList POVRay::menuPath(QAction*) const { return QStringList() << tr("&File") << tr("&Export"); } void POVRay::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } void POVRay::setScene(Rendering::Scene* scene) { m_scene = scene; } void POVRay::setCamera(Rendering::Camera* camera) { m_camera = camera; } void POVRay::render() { if (!m_scene || !m_camera) return; QString filename = QFileDialog::getSaveFileName( qobject_cast(parent()), tr("Save File"), QDir::homePath(), tr("POV-Ray (*.pov);;Text file (*.txt)")); QFile file(filename); if (!file.open(QIODevice::WriteOnly)) return; QTextStream fileStream(&file); Rendering::POVRayVisitor visitor(*m_camera); visitor.begin(); m_scene->rootNode().accept(visitor); fileStream << visitor.end().c_str(); file.close(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/povray/povray.h000066400000000000000000000032631360735163600231370ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_POVRAY_H #define AVOGADRO_QTPLUGINS_POVRAY_H #include #include namespace Avogadro { namespace QtPlugins { /** * @brief The POVRay class performs POVRay operations on demand. */ class POVRay : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit POVRay(QObject* p = 0); ~POVRay() override; QString name() const override { return tr("POVRay"); } QString description() const override { return tr("Render the scene using POV-Ray."); } QList actions() const override; QStringList menuPath(QAction* action) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; void setScene(Rendering::Scene* scene) override; void setCamera(Rendering::Camera* camera) override; private slots: void render(); private: QtGui::Molecule* m_molecule; Rendering::Scene* m_scene; Rendering::Camera* m_camera; QAction* m_action; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_POVRAY_H avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/000077500000000000000000000000001360735163600212355ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/CMakeLists.txt000066400000000000000000000014301360735163600237730ustar00rootroot00000000000000set(qtaimextension_SRCS qtaimextension.cpp qtaimwavefunction.cpp qtaimwavefunctionevaluator.cpp qtaimodeintegrator.cpp qtaimcriticalpointlocator.cpp qtaimmathutilities.cpp qtaimodeintegrator.cpp qtaimlsodaintegrator.cpp qtaimcubature.cpp ) avogadro_plugin(QTAIMExtension "QTAIM extension" ExtensionPlugin qtaimextension.h QTAIMExtension "${qtaimextension_SRCS}" ) # The settings widget is not built -- its settings weren't actually used by the # engine in Avogadro 1. The sources are kept for later if we decide to use it. avogadro_plugin(QTAIMScenePlugin "QTAIM scene plugin" ScenePlugin qtaimengine.h QTAIMEngine qtaimengine.cpp ) target_link_libraries(QTAIMScenePlugin LINK_PRIVATE AvogadroRendering ${Qt5Concurrent_LIBRARIES}) avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimcriticalpointlocator.cpp000066400000000000000000000673041360735163600272370ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "qtaimcriticalpointlocator.h" #include "qtaimlsodaintegrator.h" #include "qtaimmathutilities.h" #include "qtaimodeintegrator.h" #include "qtaimwavefunction.h" #include #include #include #include #include #include #include #include #include #include #include using namespace std; using namespace Eigen; #define HUGE_REAL_NUMBER 1.e20 #define SMALL_GRADIENT_NORM 1.e-4 namespace Avogadro { namespace QtPlugins { QList QTAIMLocateNuclearCriticalPoint(QList input) { const QString fileName = input.at(0).toString(); const qint64 nucleus = input.at(1).toInt(); const QVector3D x0y0z0(input.at(2).toReal(), input.at(3).toReal(), input.at(4).toReal()); QTAIMWavefunction wfn; wfn.loadFromBinaryFile(fileName); QTAIMWavefunctionEvaluator eval(wfn); QVector3D result; if (wfn.nuclearCharge(nucleus) < 4) { // QTAIMODEIntegrator // ode(eval,QTAIMODEIntegrator::CMBPMinusThreeGradientInElectronDensity); QTAIMLSODAIntegrator ode( eval, QTAIMLSODAIntegrator::CMBPMinusThreeGradientInElectronDensity); result = ode.integrate(x0y0z0); } else { result = x0y0z0; } bool correctSignature; Matrix xyz; xyz << result.x(), result.y(), result.z(); if (QTAIMMathUtilities::signatureOfASymmetricThreeByThreeMatrix( eval.hessianOfElectronDensity(xyz)) == -3) { correctSignature = true; } else { correctSignature = false; } QList value; if (correctSignature) { value.append(correctSignature); value.append(result.x()); value.append(result.y()); value.append(result.z()); } else { value.append(false); } return value; } QList QTAIMLocateBondCriticalPoint(QList input) { QList value; value.clear(); const QString wfnFileName = input.at(0).toString(); const QString nuclearCriticalPointsFileName = input.at(1).toString(); const qint64 nucleusA = input.at(2).toInt(); const qint64 nucleusB = input.at(3).toInt(); const QVector3D x0y0z0(input.at(4).toReal(), input.at(5).toReal(), input.at(6).toReal()); QTAIMWavefunction wfn; wfn.loadFromBinaryFile(wfnFileName); QList nuclearCriticalPoints; QFile nuclearCriticalPointsFile(nuclearCriticalPointsFileName); nuclearCriticalPointsFile.open(QIODevice::ReadOnly); QDataStream nuclearCriticalPointsFileIn(&nuclearCriticalPointsFile); nuclearCriticalPointsFileIn >> nuclearCriticalPoints; nuclearCriticalPointsFile.close(); QList> betaSpheres; for (qint64 i = 0; i < nuclearCriticalPoints.length(); ++i) { QPair thisBetaSphere; thisBetaSphere.first = nuclearCriticalPoints.at(i); thisBetaSphere.second = 0.1; betaSpheres.append(thisBetaSphere); } QTAIMWavefunctionEvaluator eval(wfn); QList ncpList; QVector3D result; // QTAIMODEIntegrator // ode(eval,QTAIMODEIntegrator::CMBPMinusOneGradientInElectronDensity); QTAIMLSODAIntegrator ode( eval, QTAIMLSODAIntegrator::CMBPMinusOneGradientInElectronDensity); result = ode.integrate(x0y0z0); Matrix xyz; xyz << result.x(), result.y(), result.z(); if (!(QTAIMMathUtilities::signatureOfASymmetricThreeByThreeMatrix( eval.hessianOfElectronDensity(xyz)) == -1) || (eval.gradientOfElectronDensity(xyz)).norm() > SMALL_GRADIENT_NORM) { value.append(false); value.append(result.x()); value.append(result.y()); value.append(result.z()); return value; } Matrix eigenvectorsOfHessian; eigenvectorsOfHessian = QTAIMMathUtilities::eigenvectorsOfASymmetricThreeByThreeMatrix( eval.hessianOfElectronDensity(xyz)); Matrix highestEigenvectorOfHessian; highestEigenvectorOfHessian << eigenvectorsOfHessian(0, 2), eigenvectorsOfHessian(1, 2), eigenvectorsOfHessian(2, 2); const qreal smallStep = 0.01; QVector3D forwardStartingPoint( result.x() + smallStep * highestEigenvectorOfHessian(0), result.y() + smallStep * highestEigenvectorOfHessian(1), result.z() + smallStep * highestEigenvectorOfHessian(2)); QVector3D backwardStartingPoint( result.x() - smallStep * highestEigenvectorOfHessian(0), result.y() - smallStep * highestEigenvectorOfHessian(1), result.z() - smallStep * highestEigenvectorOfHessian(2)); // QTAIMODEIntegrator // forwardODE(eval,QTAIMODEIntegrator::SteepestAscentPathInElectronDensity); QTAIMLSODAIntegrator forwardODE( eval, QTAIMLSODAIntegrator::SteepestAscentPathInElectronDensity); forwardODE.setBetaSpheres(betaSpheres); QVector3D forwardEndpoint = forwardODE.integrate(forwardStartingPoint); QList forwardPath = forwardODE.path(); // QTAIMODEIntegrator // backwardODE(eval,QTAIMODEIntegrator::SteepestAscentPathInElectronDensity); QTAIMLSODAIntegrator backwardODE( eval, QTAIMLSODAIntegrator::SteepestAscentPathInElectronDensity); backwardODE.setBetaSpheres(betaSpheres); QVector3D backwardEndpoint = backwardODE.integrate(backwardStartingPoint); QList backwardPath = backwardODE.path(); qreal smallestDistance = HUGE_REAL_NUMBER; qint64 smallestDistanceIndex = 0; for (qint64 n = 0; n < wfn.numberOfNuclei(); ++n) { Matrix a(forwardEndpoint.x(), forwardEndpoint.y(), forwardEndpoint.z()); Matrix b(wfn.xNuclearCoordinate(n), wfn.yNuclearCoordinate(n), wfn.zNuclearCoordinate(n)); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < smallestDistance) { smallestDistance = distance; smallestDistanceIndex = n; } } qint64 forwardNucleusIndex = smallestDistanceIndex; smallestDistance = HUGE_REAL_NUMBER; smallestDistanceIndex = 0; for (qint64 n = 0; n < wfn.numberOfNuclei(); ++n) { Matrix a(backwardEndpoint.x(), backwardEndpoint.y(), backwardEndpoint.z()); Matrix b(wfn.xNuclearCoordinate(n), wfn.yNuclearCoordinate(n), wfn.zNuclearCoordinate(n)); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < smallestDistance) { smallestDistance = distance; smallestDistanceIndex = n; } } qint64 backwardNucleusIndex = smallestDistanceIndex; bool bondPathConnectsPair; if ((forwardNucleusIndex == nucleusA && backwardNucleusIndex == nucleusB) || (forwardNucleusIndex == nucleusB && backwardNucleusIndex == nucleusA)) { bondPathConnectsPair = true; } else { bondPathConnectsPair = false; } if (bondPathConnectsPair) { value.append(true); value.append(nucleusA); value.append(nucleusB); value.append(result.x()); value.append(result.y()); value.append(result.z()); Matrix xyz_; xyz_ << result.x(), result.y(), result.z(); value.append(eval.laplacianOfElectronDensity(xyz_)); value.append(QTAIMMathUtilities::ellipticityOfASymmetricThreeByThreeMatrix( eval.hessianOfElectronDensity(xyz_))); value.append(1 + forwardPath.length() + 1 + backwardPath.length() + 1); value.append(forwardEndpoint.x()); for (qint64 i = forwardPath.length() - 1; i >= 0; --i) { value.append(forwardPath.at(i).x()); } value.append(result.x()); for (qint64 i = 0; i < backwardPath.length(); ++i) { value.append(backwardPath.at(i).x()); } value.append(backwardEndpoint.x()); value.append(forwardEndpoint.y()); for (qint64 i = forwardPath.length() - 1; i >= 0; --i) { value.append(forwardPath.at(i).y()); } value.append(result.y()); for (qint64 i = 0; i < backwardPath.length(); ++i) { value.append(backwardPath.at(i).y()); } value.append(backwardEndpoint.y()); value.append(forwardEndpoint.z()); for (qint64 i = forwardPath.length() - 1; i >= 0; --i) { value.append(forwardPath.at(i).z()); } value.append(result.z()); for (qint64 i = 0; i < backwardPath.length(); ++i) { value.append(backwardPath.at(i).z()); } value.append(backwardEndpoint.z()); } else { value.append(false); // for debugging value.append(result.x()); value.append(result.y()); value.append(result.z()); } return value; } QList QTAIMLocateElectronDensitySink(QList input) { qint64 counter = 0; const QString fileName = input.at(counter).toString(); counter++; // const qint64 nucleus=input.at(counter).toInt(); counter++ qreal x0 = input.at(counter).toReal(); counter++; qreal y0 = input.at(counter).toReal(); counter++; qreal z0 = input.at(counter).toReal(); counter++; const QVector3D x0y0z0(x0, y0, z0); QTAIMWavefunction wfn; wfn.loadFromBinaryFile(fileName); QTAIMWavefunctionEvaluator eval(wfn); bool correctSignature; QVector3D result; Matrix xyz; xyz << x0, y0, z0; if (eval.electronDensity(xyz) < 1.e-1) { correctSignature = false; } else { // QTAIMODEIntegrator // ode(eval,QTAIMODEIntegrator::CMBPMinusThreeGradientInElectronDensityLaplacian); QTAIMLSODAIntegrator ode( eval, QTAIMLSODAIntegrator::CMBPMinusThreeGradientInElectronDensityLaplacian); result = ode.integrate(x0y0z0); Matrix xyz_; xyz_ << result.x(), result.y(), result.z(); if (eval.electronDensity(xyz_) > 1.e-1 && eval.gradientOfElectronDensityLaplacian(xyz_).norm() < 1.e-3) { if (QTAIMMathUtilities::signatureOfASymmetricThreeByThreeMatrix( eval.hessianOfElectronDensityLaplacian(xyz_)) == -3) { correctSignature = true; } else { correctSignature = false; } } else { correctSignature = false; } } QList value; if (correctSignature) { value.append(correctSignature); value.append(result.x()); value.append(result.y()); value.append(result.z()); } else { value.append(false); } return value; } QList QTAIMLocateElectronDensitySource(QList input) { qint64 counter = 0; const QString fileName = input.at(counter).toString(); counter++; // const qint64 nucleus=input.at(counter).toInt(); counter++ qreal x0 = input.at(counter).toReal(); counter++; qreal y0 = input.at(counter).toReal(); counter++; qreal z0 = input.at(counter).toReal(); counter++; const QVector3D x0y0z0(x0, y0, z0); QTAIMWavefunction wfn; wfn.loadFromBinaryFile(fileName); QTAIMWavefunctionEvaluator eval(wfn); bool correctSignature; QVector3D result; Matrix xyz; xyz << x0, y0, z0; if (eval.electronDensity(xyz) < 1.e-1) { correctSignature = false; } else { // QTAIMODEIntegrator // ode(eval,QTAIMODEIntegrator::CMBPPlusThreeGradientInElectronDensityLaplacian); QTAIMLSODAIntegrator ode( eval, QTAIMLSODAIntegrator::CMBPPlusThreeGradientInElectronDensityLaplacian); result = ode.integrate(x0y0z0); Matrix xyz_; xyz_ << result.x(), result.y(), result.z(); if (eval.electronDensity(xyz_) > 1.e-1 && eval.gradientOfElectronDensityLaplacian(xyz_).norm() < 1.e-3) { if (QTAIMMathUtilities::signatureOfASymmetricThreeByThreeMatrix( eval.hessianOfElectronDensityLaplacian(xyz_)) == 3) { correctSignature = true; } else { correctSignature = false; } } else { correctSignature = false; } } QList value; if (correctSignature) { value.append(correctSignature); value.append(result.x()); value.append(result.y()); value.append(result.z()); } else { value.append(false); } return value; } QTAIMCriticalPointLocator::QTAIMCriticalPointLocator(QTAIMWavefunction& wfn) { m_wfn = &wfn; m_nuclearCriticalPoints.empty(); m_bondCriticalPoints.empty(); m_ringCriticalPoints.empty(); m_cageCriticalPoints.empty(); m_laplacianAtBondCriticalPoints.empty(); m_ellipticityAtBondCriticalPoints.empty(); m_bondPaths.empty(); m_bondedAtoms.empty(); m_electronDensitySources.empty(); m_electronDensitySinks.empty(); } void QTAIMCriticalPointLocator::locateNuclearCriticalPoints() { QString tempFileName = QTAIMCriticalPointLocator::temporaryFileName(); QList> inputList; const qint64 numberOfNuclei = m_wfn->numberOfNuclei(); for (qint64 n = 0; n < numberOfNuclei; ++n) { QList input; input.append(tempFileName); input.append(n); input.append(m_wfn->xNuclearCoordinate(n)); input.append(m_wfn->yNuclearCoordinate(n)); input.append(m_wfn->zNuclearCoordinate(n)); inputList.append(input); } m_wfn->saveToBinaryFile(tempFileName); QProgressDialog dialog; dialog.setWindowTitle("QTAIM"); dialog.setLabelText(QString("Nuclear Critical Points Search")); QFutureWatcher futureWatcher; QObject::connect(&futureWatcher, SIGNAL(finished()), &dialog, SLOT(reset())); QObject::connect(&dialog, SIGNAL(canceled()), &futureWatcher, SLOT(cancel())); QObject::connect(&futureWatcher, SIGNAL(progressRangeChanged(int, int)), &dialog, SLOT(setRange(int, int))); QObject::connect(&futureWatcher, SIGNAL(progressValueChanged(int)), &dialog, SLOT(setValue(int))); QFuture> future = QtConcurrent::mapped(inputList, QTAIMLocateNuclearCriticalPoint); futureWatcher.setFuture(future); dialog.exec(); futureWatcher.waitForFinished(); QList> results; if (futureWatcher.future().isCanceled()) { results.clear(); } else { results = future.results(); } QFile file; file.remove(tempFileName); for (qint64 n = 0; n < results.length(); ++n) { bool correctSignature = results.at(n).at(0).toBool(); if (correctSignature) { QVector3D result(results.at(n).at(1).toReal(), results.at(n).at(2).toReal(), results.at(n).at(3).toReal()); m_nuclearCriticalPoints.append(result); } } } void QTAIMCriticalPointLocator::locateBondCriticalPoints() { if (m_nuclearCriticalPoints.length() < 1) { return; } const qint64 numberOfNuclei = m_wfn->numberOfNuclei(); if (numberOfNuclei < 2) { return; } QString tempFileName = QTAIMCriticalPointLocator::temporaryFileName(); QString nuclearCriticalPointsFileName = QTAIMCriticalPointLocator::temporaryFileName(); QFile nuclearCriticalPointsFile(nuclearCriticalPointsFileName); nuclearCriticalPointsFile.open(QIODevice::WriteOnly); QDataStream nuclearCriticalPointsOut(&nuclearCriticalPointsFile); nuclearCriticalPointsOut << m_nuclearCriticalPoints; nuclearCriticalPointsFile.close(); QList> inputList; for (qint64 M = 0; M < numberOfNuclei - 1; ++M) { for (qint64 N = M + 1; N < numberOfNuclei; ++N) { const qreal distanceCutoff = 8.0; Matrix a; Matrix b; a << m_wfn->xNuclearCoordinate(M), m_wfn->yNuclearCoordinate(M), m_wfn->zNuclearCoordinate(M); b << m_wfn->xNuclearCoordinate(N), m_wfn->yNuclearCoordinate(N), m_wfn->zNuclearCoordinate(N); if (QTAIMMathUtilities::distance(a, b) < distanceCutoff) { QVector3D x0y0z0( (m_wfn->xNuclearCoordinate(M) + m_wfn->xNuclearCoordinate(N)) / 2.0, (m_wfn->yNuclearCoordinate(M) + m_wfn->yNuclearCoordinate(N)) / 2.0, (m_wfn->zNuclearCoordinate(M) + m_wfn->zNuclearCoordinate(N)) / 2.0); QList input; input.append(tempFileName); input.append(nuclearCriticalPointsFileName); input.append(M); input.append(N); input.append(x0y0z0.x()); input.append(x0y0z0.y()); input.append(x0y0z0.z()); inputList.append(input); } } // end N } // end M m_wfn->saveToBinaryFile(tempFileName); QProgressDialog dialog; dialog.setWindowTitle("QTAIM"); dialog.setLabelText(QString("Bond Critical Points Search")); QFutureWatcher futureWatcher; QObject::connect(&futureWatcher, SIGNAL(finished()), &dialog, SLOT(reset())); QObject::connect(&dialog, SIGNAL(canceled()), &futureWatcher, SLOT(cancel())); QObject::connect(&futureWatcher, SIGNAL(progressRangeChanged(int, int)), &dialog, SLOT(setRange(int, int))); QObject::connect(&futureWatcher, SIGNAL(progressValueChanged(int)), &dialog, SLOT(setValue(int))); QFuture> future = QtConcurrent::mapped(inputList, QTAIMLocateBondCriticalPoint); ; futureWatcher.setFuture(future); dialog.exec(); futureWatcher.waitForFinished(); QList> results; if (futureWatcher.future().isCanceled()) { results.clear(); } else { results = future.results(); } QFile file; file.remove(tempFileName); file.remove(nuclearCriticalPointsFileName); for (qint64 i = 0; i < results.length(); ++i) { QList thisCriticalPoint = results.at(i); bool success = thisCriticalPoint.at(0).toBool(); if (success) { QPair bondedAtoms_; bondedAtoms_.first = thisCriticalPoint.at(1).toInt(); bondedAtoms_.second = thisCriticalPoint.at(2).toInt(); m_bondedAtoms.append(bondedAtoms_); QVector3D coordinates(thisCriticalPoint.at(3).toReal(), thisCriticalPoint.at(4).toReal(), thisCriticalPoint.at(5).toReal()); m_bondCriticalPoints.append(coordinates); m_laplacianAtBondCriticalPoints.append(thisCriticalPoint.at(6).toReal()); m_ellipticityAtBondCriticalPoints.append( thisCriticalPoint.at(7).toReal()); qint64 pathLength = thisCriticalPoint.at(8).toInt(); QList bondPath; for (qint64 j = 0; j < pathLength; ++j) { QVector3D pathPoint( thisCriticalPoint.at(9 + j).toReal(), thisCriticalPoint.at(9 + j + pathLength).toReal(), thisCriticalPoint.at(9 + j + 2 * pathLength).toReal()); bondPath.append(pathPoint); } m_bondPaths.append(bondPath); } } } void QTAIMCriticalPointLocator::locateElectronDensitySources() { QString tempFileName = QTAIMCriticalPointLocator::temporaryFileName(); QList> inputList; qreal xmin, ymin, zmin; qreal xmax, ymax, zmax; qreal xstep, ystep, zstep; // TODO: if only we were using Eigen data structures... QList xNuclearCoordinates; QList yNuclearCoordinates; QList zNuclearCoordinates; for (qint64 i = 0; i < m_wfn->numberOfNuclei(); ++i) { xNuclearCoordinates.append(m_wfn->xNuclearCoordinate(i)); yNuclearCoordinates.append(m_wfn->yNuclearCoordinate(i)); zNuclearCoordinates.append(m_wfn->zNuclearCoordinate(i)); } xmin = xNuclearCoordinates.first(); xmax = xNuclearCoordinates.first(); for (qint64 i = 1; i < m_wfn->numberOfNuclei(); ++i) { if (xNuclearCoordinates.at(i) < xmin) { xmin = xNuclearCoordinates.at(i); } if (xNuclearCoordinates.at(i) > xmax) { xmax = xNuclearCoordinates.at(i); } } ymin = yNuclearCoordinates.first(); ymax = yNuclearCoordinates.first(); for (qint64 i = 1; i < yNuclearCoordinates.count(); ++i) { if (yNuclearCoordinates.at(i) < ymin) { ymin = yNuclearCoordinates.at(i); } if (yNuclearCoordinates.at(i) > ymax) { ymax = yNuclearCoordinates.at(i); } } zmin = zNuclearCoordinates.first(); zmax = zNuclearCoordinates.first(); for (qint64 i = 1; i < zNuclearCoordinates.count(); ++i) { if (zNuclearCoordinates.at(i) < zmin) { zmin = zNuclearCoordinates.at(i); } if (zNuclearCoordinates.at(i) > zmax) { zmax = zNuclearCoordinates.at(i); } } xmin = -2.0 + xmin; ymin = -2.0 + ymin; zmin = -2.0 + zmin; xmax = 2.0 + xmax; ymax = 2.0 + ymax; zmax = 2.0 + zmax; xstep = ystep = zstep = 0.5; for (qreal x = xmin; x < xmax + xstep; x = x + xstep) { for (qreal y = ymin; y < ymax + ystep; y = y + ystep) { for (qreal z = zmin; z < zmax + zstep; z = z + zstep) { QList input; input.append(tempFileName); // input.append( n ); input.append(x); input.append(y); input.append(z); inputList.append(input); } } } m_wfn->saveToBinaryFile(tempFileName); QProgressDialog dialog; dialog.setWindowTitle("QTAIM"); dialog.setLabelText(QString("Electron Density Sources Search")); QFutureWatcher futureWatcher; QObject::connect(&futureWatcher, SIGNAL(finished()), &dialog, SLOT(reset())); QObject::connect(&dialog, SIGNAL(canceled()), &futureWatcher, SLOT(cancel())); QObject::connect(&futureWatcher, SIGNAL(progressRangeChanged(int, int)), &dialog, SLOT(setRange(int, int))); QObject::connect(&futureWatcher, SIGNAL(progressValueChanged(int)), &dialog, SLOT(setValue(int))); QFuture> future = QtConcurrent::mapped(inputList, QTAIMLocateElectronDensitySource); futureWatcher.setFuture(future); dialog.exec(); futureWatcher.waitForFinished(); QList> results; if (futureWatcher.future().isCanceled()) { results.clear(); } else { results = future.results(); } QFile file; file.remove(tempFileName); for (qint64 n = 0; n < results.length(); ++n) { qint64 counter = 0; bool correctSignature = results.at(n).at(counter).toBool(); counter++; if (correctSignature) { qreal x = results.at(n).at(counter).toReal(); counter++; qreal y = results.at(n).at(counter).toReal(); counter++; qreal z = results.at(n).at(counter).toReal(); counter++; if ((xmin < x && x < xmax) && (ymin < y && y < ymax) && (zmin < z && z < zmax)) { QVector3D result(x, y, z); qreal smallestDistance = HUGE_REAL_NUMBER; for (qint64 i = 0; i < m_electronDensitySources.length(); ++i) { Matrix a(x, y, z); Matrix b(m_electronDensitySources.at(i).x(), m_electronDensitySources.at(i).y(), m_electronDensitySources.at(i).z()); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < smallestDistance) { smallestDistance = distance; } } if (smallestDistance > 1.e-2) { m_electronDensitySources.append(result); } } } } // qDebug() << "SOURCES" << m_electronDensitySources; } void QTAIMCriticalPointLocator::locateElectronDensitySinks() { QString tempFileName = QTAIMCriticalPointLocator::temporaryFileName(); QList> inputList; qreal xmin, ymin, zmin; qreal xmax, ymax, zmax; qreal xstep, ystep, zstep; // TODO: if only we were using Eigen data structures... QList xNuclearCoordinates; QList yNuclearCoordinates; QList zNuclearCoordinates; for (qint64 i = 0; i < m_wfn->numberOfNuclei(); ++i) { xNuclearCoordinates.append(m_wfn->xNuclearCoordinate(i)); yNuclearCoordinates.append(m_wfn->yNuclearCoordinate(i)); zNuclearCoordinates.append(m_wfn->zNuclearCoordinate(i)); } xmin = xNuclearCoordinates.first(); xmax = xNuclearCoordinates.first(); for (qint64 i = 1; i < m_wfn->numberOfNuclei(); ++i) { if (xNuclearCoordinates.at(i) < xmin) { xmin = xNuclearCoordinates.at(i); } if (xNuclearCoordinates.at(i) > xmax) { xmax = xNuclearCoordinates.at(i); } } ymin = yNuclearCoordinates.first(); ymax = yNuclearCoordinates.first(); for (qint64 i = 1; i < yNuclearCoordinates.count(); ++i) { if (yNuclearCoordinates.at(i) < ymin) { ymin = yNuclearCoordinates.at(i); } if (yNuclearCoordinates.at(i) > ymax) { ymax = yNuclearCoordinates.at(i); } } zmin = zNuclearCoordinates.first(); zmax = zNuclearCoordinates.first(); for (qint64 i = 1; i < zNuclearCoordinates.count(); ++i) { if (zNuclearCoordinates.at(i) < zmin) { zmin = zNuclearCoordinates.at(i); } if (zNuclearCoordinates.at(i) > zmax) { zmax = zNuclearCoordinates.at(i); } } xmin = -2.0 + xmin; ymin = -2.0 + ymin; zmin = -2.0 + zmin; xmax = 2.0 + xmax; ymax = 2.0 + ymax; zmax = 2.0 + zmax; xstep = ystep = zstep = 0.5; for (qreal x = xmin; x < xmax + xstep; x = x + xstep) { for (qreal y = ymin; y < ymax + ystep; y = y + ystep) { for (qreal z = zmin; z < zmax + zstep; z = z + zstep) { QList input; input.append(tempFileName); // input.append( n ); input.append(x); input.append(y); input.append(z); inputList.append(input); } } } m_wfn->saveToBinaryFile(tempFileName); QProgressDialog dialog; dialog.setWindowTitle("QTAIM"); dialog.setLabelText(QString("Electron Density Sinks Search")); QFutureWatcher futureWatcher; QObject::connect(&futureWatcher, SIGNAL(finished()), &dialog, SLOT(reset())); QObject::connect(&dialog, SIGNAL(canceled()), &futureWatcher, SLOT(cancel())); QObject::connect(&futureWatcher, SIGNAL(progressRangeChanged(int, int)), &dialog, SLOT(setRange(int, int))); QObject::connect(&futureWatcher, SIGNAL(progressValueChanged(int)), &dialog, SLOT(setValue(int))); QFuture> future = QtConcurrent::mapped(inputList, QTAIMLocateElectronDensitySink); futureWatcher.setFuture(future); dialog.exec(); futureWatcher.waitForFinished(); QList> results; if (futureWatcher.future().isCanceled()) { results.clear(); } else { results = future.results(); } QFile file; file.remove(tempFileName); for (qint64 n = 0; n < results.length(); ++n) { qint64 counter = 0; bool correctSignature = results.at(n).at(counter).toBool(); counter++; if (correctSignature) { qreal x = results.at(n).at(counter).toReal(); counter++; qreal y = results.at(n).at(counter).toReal(); counter++; qreal z = results.at(n).at(counter).toReal(); counter++; if ((xmin < x && x < xmax) && (ymin < y && y < ymax) && (zmin < z && z < zmax)) { QVector3D result(x, y, z); qreal smallestDistance = HUGE_REAL_NUMBER; for (qint64 i = 0; i < m_electronDensitySinks.length(); ++i) { Matrix a(x, y, z); Matrix b(m_electronDensitySinks.at(i).x(), m_electronDensitySinks.at(i).y(), m_electronDensitySinks.at(i).z()); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < smallestDistance) { smallestDistance = distance; } } if (smallestDistance > 1.e-2) { m_electronDensitySinks.append(result); } } } } // qDebug() << "SINKS" << m_electronDensitySinks; } QString QTAIMCriticalPointLocator::temporaryFileName() { QTemporaryFile temporaryFile; temporaryFile.open(); QString tempFileName = temporaryFile.fileName(); temporaryFile.close(); temporaryFile.remove(); // wait for temporary file to be deleted QDir dir; do { // Nothing } while (dir.exists(tempFileName)); return tempFileName; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimcriticalpointlocator.h000066400000000000000000000051441360735163600266760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef QTAIMCRITICALPOINTLOCATOR_H #define QTAIMCRITICALPOINTLOCATOR_H #include #include #include #include #include "qtaimmathutilities.h" #include "qtaimwavefunction.h" #include "qtaimwavefunctionevaluator.h" namespace Avogadro { namespace QtPlugins { class QTAIMCriticalPointLocator { public: explicit QTAIMCriticalPointLocator(QTAIMWavefunction& wfn); void locateNuclearCriticalPoints(); void locateBondCriticalPoints(); void locateElectronDensitySources(); void locateElectronDensitySinks(); QList nuclearCriticalPoints() const { return m_nuclearCriticalPoints; } QList bondCriticalPoints() const { return m_bondCriticalPoints; } QList ringCriticalPoints() const { return m_ringCriticalPoints; } QList cageCriticalPoints() const { return m_cageCriticalPoints; } QList laplacianAtBondCriticalPoints() const { return m_laplacianAtBondCriticalPoints; } QList ellipticityAtBondCriticalPoints() const { return m_ellipticityAtBondCriticalPoints; } QList> bondPaths() { return m_bondPaths; } QList> bondedAtoms() { return m_bondedAtoms; } QList electronDensitySources() const { return m_electronDensitySources; } QList electronDensitySinks() const { return m_electronDensitySinks; } private: QTAIMWavefunction* m_wfn; QList m_nuclearCriticalPoints; QList m_bondCriticalPoints; QList m_ringCriticalPoints; QList m_cageCriticalPoints; QList m_laplacianAtBondCriticalPoints; QList m_ellipticityAtBondCriticalPoints; QList> m_bondedAtoms; QList> m_bondPaths; QList m_electronDensitySources; QList m_electronDensitySinks; QString temporaryFileName(); }; } // namespace QtPlugins } // namespace Avogadro #endif // QTAIMCRITICALPOINTLOCATOR_H avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimcubature.cpp000066400000000000000000002070651360735163600246210ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the GPL v3 or later (the "License"). You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ /* Based on */ /* http://ab-initio.mit.edu/cubature/cubature-20101018.tgz */ /* Adaptive multidimensional integration of a vector of integrands. * * Copyright (c) 2005-2010 Steven G. Johnson * * Portions (see comments) based on HIntLib (also distributed under * the GNU GPL, v2 or later), copyright (c) 2002-2005 Rudolf Schuerer. * (http://www.cosy.sbg.ac.at/~rschuer/hintlib/) * * Portions (see comments) based on GNU GSL (also distributed under * the GNU GPL, v2 or later), copyright (c) 1996-2000 Brian Gough. * (http://www.gnu.org/software/gsl/) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* Adaptive multidimensional integration on hypercubes (or, really, hyper-rectangles) using cubature rules. A cubature rule takes a function and a hypercube and evaluates the function at a small number of points, returning an estimate of the integral as well as an estimate of the error, and also a suggested dimension of the hypercube to subdivide. Given such a rule, the adaptive integration is simple: 1) Evaluate the cubature rule on the hypercube(s). Stop if converged. 2) Pick the hypercube with the largest estimated error, and divide it in two along the suggested dimension. 3) Goto (1). The basic algorithm is based on the adaptive cubature described in A. C. Genz and A. A. Malik, "An adaptive algorithm for numeric integration over an N-dimensional rectangular region," J. Comput. Appl. Math. 6 (4), 295-302 (1980). and subsequently extended to integrating a vector of integrands in J. Berntsen, T. O. Espelid, and A. Genz, "An adaptive algorithm for the approximate calculation of multiple integrals," ACM Trans. Math. Soft. 17 (4), 437-451 (1991). Note, however, that we do not use any of code from the above authors (in part because their code is Fortran 77, but mostly because it is under the restrictive ACM copyright license). I did make use of some GPL code from Rudolf Schuerer's HIntLib and from the GNU Scientific Library as listed in the copyright notice above, on the other hand. I am also grateful to Dmitry Turbiner , who implemented an initial prototype of the "vectorized" functionality for evaluating multiple points in a single call (as opposed to multiple functions in a single call). (Although Dmitry implemented a working version, I ended up re-implementing this feature from scratch as part of a larger code-cleanup, and in order to have a single code path for the vectorized and non-vectorized APIs. I subsequently implemented the algorithm by Gladwell to extract even more parallelism by evalutating many hypercubes at once.) TODO: * Putting these routines into the GNU GSL library would be nice. * A Python interface would be nice. (Also a Matlab interface, a GNU Octave interface, ...) * For high-dimensional integrals, it would be nice to implement a sparse-grid cubature scheme using Clenshaw-Curtis quadrature. Currently, for dimensions > 7 or so, quasi Monte Carlo methods win. * Berntsen et. al also describe a "two-level" error estimation scheme that they claim makes the algorithm more robust. It might be nice to implement this, at least as an option (although I seem to remember trying it once and it made the number of evaluations substantially worse for my test integrands). */ /* USAGE: Call adapt_integrate with your function as described in cubature.h. To compile a test program, compile cubature.c with -DTEST_INTEGRATOR as described at the end. */ #include "qtaimcubature.h" using namespace Avogadro::QtPlugins; /* error return codes */ #define SUCCESS 0 #define FAILURE 1 /***************************************************************************/ /* Basic datatypes */ typedef struct { double val, err; } esterr; static double relError(esterr ee) { return (ee.val == 0.0 ? HUGE_VAL : fabs(ee.err / ee.val)); } static double errMax(unsigned int fdim, const esterr* ee) { double errmax = 0; unsigned int k; for (k = 0; k < fdim; ++k) if (ee[k].err > errmax) errmax = ee[k].err; return errmax; } typedef struct { unsigned int dim; double* data; /* length 2*dim = center followed by half-widths */ double vol; /* cache volume = product of widths */ } hypercube; static double compute_vol(const hypercube* h) { unsigned int i; double vol = 1; for (i = 0; i < h->dim; ++i) vol *= 2 * h->data[i + h->dim]; return vol; } static hypercube make_hypercube(unsigned int dim, const double* center, const double* halfwidth) { unsigned int i; hypercube h; h.dim = dim; h.data = (double*)malloc(sizeof(double) * dim * 2); h.vol = 0; if (h.data) { for (i = 0; i < dim; ++i) { h.data[i] = center[i]; h.data[i + dim] = halfwidth[i]; } h.vol = compute_vol(&h); } return h; } static hypercube make_hypercube_range(unsigned int dim, const double* xmin, const double* xmax) { hypercube h = make_hypercube(dim, xmin, xmax); unsigned int i; if (h.data) { for (i = 0; i < dim; ++i) { h.data[i] = 0.5 * (xmin[i] + xmax[i]); h.data[i + dim] = 0.5 * (xmax[i] - xmin[i]); } h.vol = compute_vol(&h); } return h; } static void destroy_hypercube(hypercube* h) { free(h->data); h->dim = 0; } typedef struct { hypercube h; unsigned int splitDim; unsigned int fdim; /* dimensionality of vector integrand */ esterr* ee; /* array of length fdim */ double errmax; /* max ee[k].err */ } region; static region make_region(const hypercube* h, unsigned int fdim) { region R; R.h = make_hypercube(h->dim, h->data, h->data + h->dim); R.splitDim = 0; R.fdim = fdim; R.ee = R.h.data ? (esterr*)malloc(sizeof(esterr) * fdim) : nullptr; return R; } static void destroy_region(region* R) { destroy_hypercube(&R->h); free(R->ee); R->ee = 0; } static int cut_region(region* R, region* R2) { unsigned int d = R->splitDim, dim = R->h.dim; *R2 = *R; R->h.data[d + dim] *= 0.5; R->h.vol *= 0.5; R2->h = make_hypercube(dim, R->h.data, R->h.data + dim); if (!R2->h.data) return FAILURE; R->h.data[d] -= R->h.data[d + dim]; R2->h.data[d] += R->h.data[d + dim]; R2->ee = (esterr*)malloc(sizeof(esterr) * R2->fdim); return R2->ee == nullptr; } struct rule_s; /* forward declaration */ typedef int (*evalError_func)(struct rule_s* r, unsigned int fdim, integrand_v f, void* fdata, unsigned int nR, region* R); typedef void (*destroy_func)(struct rule_s* r); typedef struct rule_s { unsigned int dim, fdim; /* the dimensionality & number of functions */ unsigned int num_points; /* number of evaluation points */ unsigned int num_regions; /* max number of regions evaluated at once */ double* pts; /* points to eval: num_regions * num_points * dim */ double* vals; /* num_regions * num_points * fdim */ evalError_func evalError; destroy_func destroy; } rule; static void destroy_rule(rule* r) { if (r) { if (r->destroy) r->destroy(r); free(r->pts); free(r); } } static int alloc_rule_pts(rule* r, unsigned int num_regions) { if (num_regions > r->num_regions) { free(r->pts); r->pts = r->vals = nullptr; r->num_regions = 0; num_regions *= 2; /* allocate extra so that repeatedly calling alloc_rule_pts with growing num_regions only needs a logarithmic number of allocations */ r->pts = (double*)malloc( sizeof(double) * (num_regions * r->num_points * (r->dim + r->fdim))); if (r->fdim + r->dim > 0 && !r->pts) return FAILURE; r->vals = r->pts + num_regions * r->num_points * r->dim; r->num_regions = num_regions; } return SUCCESS; } static rule* make_rule(size_t sz, /* >= sizeof(rule) */ unsigned int dim, unsigned int fdim, unsigned int num_points, evalError_func evalError, destroy_func destroy) { rule* r; if (sz < sizeof(rule)) return nullptr; r = (rule*)malloc(sz); if (!r) return nullptr; r->pts = r->vals = nullptr; r->num_regions = 0; r->dim = dim; r->fdim = fdim; r->num_points = num_points; r->evalError = evalError; r->destroy = destroy; return r; } /* note: all regions must have same fdim */ static int eval_regions(unsigned int nR, region* R, integrand_v f, void* fdata, rule* r) { unsigned int iR; if (nR == 0) return SUCCESS; /* nothing to evaluate */ if (r->evalError(r, R->fdim, f, fdata, nR, R)) return FAILURE; for (iR = 0; iR < nR; ++iR) R[iR].errmax = errMax(R->fdim, R[iR].ee); return SUCCESS; } /***************************************************************************/ /* Functions to loop over points in a hypercube. */ /* Based on orbitrule.cpp in HIntLib-0.0.10 */ /* ls0 returns the least-significant 0 bit of n (e.g. it returns 0 if the LSB is 0, it returns 1 if the 2 LSBs are 01, etcetera). */ static unsigned int ls0(unsigned int n) { #if defined(__GNUC__) && \ ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ > 3) return __builtin_ctz(~n); /* gcc builtin for version >= 3.4 */ #else const unsigned int bits[256] = { 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 8, }; unsigned int bit = 0; while ((n & 0xff) == 0xff) { n >>= 8; bit += 8; } return bit + bits[n & 0xff]; #endif } /** * Evaluate the integration points for all 2^n points (+/-r,...+/-r) * * A Gray-code ordering is used to minimize the number of coordinate updates * in p, although this doesn't matter as much now that we are saving all pts. */ static void evalR_Rfs(double* pts, unsigned int dim, double* p, const double* c, const double* r) { unsigned int i; unsigned int signs = 0; /* 0/1 bit = +/- for corresponding element of r[] */ /* We start with the point where r is ADDed in every coordinate (this implies signs=0). */ for (i = 0; i < dim; ++i) p[i] = c[i] + r[i]; /* Loop through the points in Gray-code ordering */ for (i = 0;; ++i) { unsigned int mask, d; memcpy(pts, p, sizeof(double) * dim); pts += dim; d = ls0(i); /* which coordinate to flip */ if (d >= dim) break; /* flip the d-th bit and add/subtract r[d] */ mask = 1U << d; signs ^= mask; p[d] = (signs & mask) ? c[d] - r[d] : c[d] + r[d]; } } static void evalRR0_0fs(double* pts, unsigned int dim, double* p, const double* c, const double* r) { unsigned int i, j; for (i = 0; i < dim - 1; ++i) { p[i] = c[i] - r[i]; for (j = i + 1; j < dim; ++j) { p[j] = c[j] - r[j]; memcpy(pts, p, sizeof(double) * dim); pts += dim; p[i] = c[i] + r[i]; memcpy(pts, p, sizeof(double) * dim); pts += dim; p[j] = c[j] + r[j]; memcpy(pts, p, sizeof(double) * dim); pts += dim; p[i] = c[i] - r[i]; memcpy(pts, p, sizeof(double) * dim); pts += dim; p[j] = c[j]; /* Done with j -> Restore p[j] */ } p[i] = c[i]; /* Done with i -> Restore p[i] */ } } static void evalR0_0fs4d(double* pts, unsigned int dim, double* p, const double* c, const double* r1, const double* r2) { unsigned int i; memcpy(pts, p, sizeof(double) * dim); pts += dim; for (i = 0; i < dim; i++) { p[i] = c[i] - r1[i]; memcpy(pts, p, sizeof(double) * dim); pts += dim; p[i] = c[i] + r1[i]; memcpy(pts, p, sizeof(double) * dim); pts += dim; p[i] = c[i] - r2[i]; memcpy(pts, p, sizeof(double) * dim); pts += dim; p[i] = c[i] + r2[i]; memcpy(pts, p, sizeof(double) * dim); pts += dim; p[i] = c[i]; } } #define num0_0(dim) (1U) #define numR0_0fs(dim) (2 * (dim)) #define numRR0_0fs(dim) (2 * (dim) * (dim - 1)) #define numR_Rfs(dim) (1U << (dim)) /***************************************************************************/ /* Based on rule75genzmalik.cpp in HIntLib-0.0.10: An embedded cubature rule of degree 7 (embedded rule degree 5) due to A. C. Genz and A. A. Malik. See: A. C. Genz and A. A. Malik, "An imbedded [sic] family of fully symmetric numerical integration rules," SIAM J. Numer. Anal. 20 (3), 580-588 (1983). */ typedef struct { rule parent; /* temporary arrays of length dim */ double *widthLambda, *widthLambda2, *p; /* dimension-dependent constants */ double weight1, weight3, weight5; double weightE1, weightE3; } rule75genzmalik; #define real(x) ((double)(x)) #define to_int(n) ((int)(n)) static int isqr(int x) { return x * x; } static void destroy_rule75genzmalik(rule* r_) { rule75genzmalik* r = (rule75genzmalik*)r_; free(r->p); } static int rule75genzmalik_evalError(rule* r_, unsigned int fdim, integrand_v f, void* fdata, unsigned int nR, region* R) { /* lambda2 = sqrt(9/70), lambda4 = sqrt(9/10), lambda5 = sqrt(9/19) */ const double lambda2 = 0.3585685828003180919906451539079374954541; const double lambda4 = 0.9486832980505137995996680633298155601160; const double lambda5 = 0.6882472016116852977216287342936235251269; const double weight2 = 980. / 6561.; const double weight4 = 200. / 19683.; const double weightE2 = 245. / 486.; const double weightE4 = 25. / 729.; const double ratio = (lambda2 * lambda2) / (lambda4 * lambda4); rule75genzmalik* r = (rule75genzmalik*)r_; unsigned int i, j, iR, dim = r_->dim, npts = 0; double *diff, *pts, *vals; if (alloc_rule_pts(r_, nR)) return FAILURE; pts = r_->pts; vals = r_->vals; for (iR = 0; iR < nR; ++iR) { const double* center = R[iR].h.data; const double* halfwidth = R[iR].h.data + dim; for (i = 0; i < dim; ++i) r->p[i] = center[i]; for (i = 0; i < dim; ++i) r->widthLambda2[i] = halfwidth[i] * lambda2; for (i = 0; i < dim; ++i) r->widthLambda[i] = halfwidth[i] * lambda4; /* Evaluate points in the center, in (lambda2,0,...,0) and (lambda3=lambda4, 0,...,0). */ evalR0_0fs4d(pts + npts * dim, dim, r->p, center, r->widthLambda2, r->widthLambda); npts += num0_0(dim) + 2 * numR0_0fs(dim); /* Calculate points for (lambda4, lambda4, 0, ...,0) */ evalRR0_0fs(pts + npts * dim, dim, r->p, center, r->widthLambda); npts += numRR0_0fs(dim); /* Calculate points for (lambda5, lambda5, ..., lambda5) */ for (i = 0; i < dim; ++i) r->widthLambda[i] = halfwidth[i] * lambda5; evalR_Rfs(pts + npts * dim, dim, r->p, center, r->widthLambda); npts += numR_Rfs(dim); } /* Evaluate the integrand function(s) at all the points */ f(dim, npts, pts, fdata, fdim, vals); /* we are done with the points, and so we can re-use the pts array to store the maximum difference diff[i] in each dimension for each hypercube */ diff = pts; for (i = 0; i < dim * nR; ++i) diff[i] = 0; for (j = 0; j < fdim; ++j) { for (iR = 0; iR < nR; ++iR) { double result, res5th; double val0, sum2 = 0, sum3 = 0, sum4 = 0, sum5 = 0; unsigned int k, k0 = 0; /* accumulate j-th function values into j-th integrals NOTE: this relies on the ordering of the eval functions above, as well as on the internal structure of the evalR0_0fs4d function */ val0 = vals[0]; /* central point */ k0 += 1; for (k = 0; k < dim; ++k) { double v0 = vals[k0 + 4 * k]; double v1 = vals[(k0 + 4 * k) + 1]; double v2 = vals[(k0 + 4 * k) + 2]; double v3 = vals[(k0 + 4 * k) + 3]; sum2 += v0 + v1; sum3 += v2 + v3; diff[iR * dim + k] += fabs(v0 + v1 - 2 * val0 - ratio * (v2 + v3 - 2 * val0)); } k0 += 4 * k; for (k = 0; k < numRR0_0fs(dim); ++k) sum4 += vals[k0 + k]; k0 += k; for (k = 0; k < numR_Rfs(dim); ++k) sum5 += vals[k0 + k]; /* Calculate fifth and seventh order results */ result = R[iR].h.vol * (r->weight1 * val0 + weight2 * sum2 + r->weight3 * sum3 + weight4 * sum4 + r->weight5 * sum5); res5th = R[iR].h.vol * (r->weightE1 * val0 + weightE2 * sum2 + r->weightE3 * sum3 + weightE4 * sum4); R[iR].ee[j].val = result; R[iR].ee[j].err = fabs(res5th - result); vals += r_->num_points; } } /* figure out dimension to split: */ for (iR = 0; iR < nR; ++iR) { double maxdiff = 0; unsigned int dimDiffMax = 0; for (i = 0; i < dim; ++i) if (diff[iR * dim + i] > maxdiff) { maxdiff = diff[iR * dim + i]; dimDiffMax = i; } R[iR].splitDim = dimDiffMax; } return SUCCESS; } static rule* make_rule75genzmalik(unsigned int dim, unsigned int fdim) { rule75genzmalik* r; if (dim < 2) return nullptr; /* this rule does not support 1d integrals */ /* Because of the use of a bit-field in evalR_Rfs, we are limited to be < 32 dimensions (or however many bits are in unsigned int). This is not a practical limitation...long before you reach 32 dimensions, the Genz-Malik cubature becomes excruciatingly slow and is superseded by other methods (e.g. Monte-Carlo). */ if (dim >= sizeof(unsigned int) * 8) return nullptr; r = (rule75genzmalik*)make_rule( sizeof(rule75genzmalik), dim, fdim, num0_0(dim) + 2 * numR0_0fs(dim) + numRR0_0fs(dim) + numR_Rfs(dim), rule75genzmalik_evalError, destroy_rule75genzmalik); if (!r) return nullptr; r->weight1 = (real(12824 - 9120 * to_int(dim) + 400 * isqr(to_int(dim))) / real(19683)); r->weight3 = real(1820 - 400 * to_int(dim)) / real(19683); r->weight5 = real(6859) / real(19683) / real(1U << dim); r->weightE1 = (real(729 - 950 * to_int(dim) + 50 * isqr(to_int(dim))) / real(729)); r->weightE3 = real(265 - 100 * to_int(dim)) / real(1458); r->p = (double*)malloc(sizeof(double) * dim * 3); if (!r->p) { destroy_rule((rule*)r); return nullptr; } r->widthLambda = r->p + dim; r->widthLambda2 = r->p + 2 * dim; return (rule*)r; } /***************************************************************************/ /* 1d 15-point Gaussian quadrature rule, based on qk15.c and qk.c in GNU GSL (which in turn is based on QUADPACK). */ static int rule15gauss_evalError(rule* r, unsigned int fdim, integrand_v f, void* fdata, unsigned int nR, region* R) { /* Gauss quadrature weights and kronrod quadrature abscissae and weights as evaluated with 80 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov. 1981. */ const unsigned int n = 8; const double xgk[8] = { /* abscissae of the 15-point kronrod rule */ 0.991455371120812639206854697526329, 0.949107912342758524526189684047851, 0.864864423359769072789712788640926, 0.741531185599394439863864773280788, 0.586087235467691130294144838258730, 0.405845151377397166906606412076961, 0.207784955007898467600689403773245, 0.000000000000000000000000000000000 /* xgk[1], xgk[3], ... abscissae of the 7-point gauss rule. xgk[0], xgk[2], ... to optimally extend the 7-point gauss rule */ }; static const double wg[4] = { /* weights of the 7-point gauss rule */ 0.129484966168869693270611432679082, 0.279705391489276667901467771423780, 0.381830050505118944950369775488975, 0.417959183673469387755102040816327 }; static const double wgk[8] = { /* weights of the 15-point kronrod rule */ 0.022935322010529224963732008058970, 0.063092092629978553290700663189204, 0.104790010322250183839876322541518, 0.140653259715525918745189590510238, 0.169004726639267902826583426598550, 0.190350578064785409913256402421014, 0.204432940075298892414161999234649, 0.209482141084727828012999174891714 }; unsigned int j, k, iR, npts = 0; double *pts, *vals; if (alloc_rule_pts(r, nR)) return FAILURE; pts = r->pts; vals = r->vals; for (iR = 0; iR < nR; ++iR) { const double center = R[iR].h.data[0]; const double halfwidth = R[iR].h.data[1]; pts[npts++] = center; for (j = 0; j < (n - 1) / 2; ++j) { int j2 = 2 * j + 1; double w = halfwidth * xgk[j2]; pts[npts++] = center - w; pts[npts++] = center + w; } for (j = 0; j < n / 2; ++j) { int j2 = 2 * j; double w = halfwidth * xgk[j2]; pts[npts++] = center - w; pts[npts++] = center + w; } R[iR].splitDim = 0; /* no choice but to divide 0th dimension */ } f(1, npts, pts, fdata, fdim, vals); for (k = 0; k < fdim; ++k) { for (iR = 0; iR < nR; ++iR) { const double halfwidth = R[iR].h.data[1]; double result_gauss = vals[0] * wg[n / 2 - 1]; double result_kronrod = vals[0] * wgk[n - 1]; double result_abs = fabs(result_kronrod); double result_asc, mean, err; /* accumulate integrals */ npts = 1; for (j = 0; j < (n - 1) / 2; ++j) { int j2 = 2 * j + 1; double v = vals[npts] + vals[npts + 1]; result_gauss += wg[j] * v; result_kronrod += wgk[j2] * v; result_abs += wgk[j2] * (fabs(vals[npts]) + fabs(vals[npts + 1])); npts += 2; } for (j = 0; j < n / 2; ++j) { int j2 = 2 * j; result_kronrod += wgk[j2] * (vals[npts] + vals[npts + 1]); result_abs += wgk[j2] * (fabs(vals[npts]) + fabs(vals[npts + 1])); npts += 2; } /* integration result */ R[iR].ee[k].val = result_kronrod * halfwidth; /* error estimate (from GSL, probably dates back to QUADPACK ... not completely clear to me why we don't just use fabs(result_kronrod - result_gauss) * halfwidth */ mean = result_kronrod * 0.5; result_asc = wgk[n - 1] * fabs(vals[0] - mean); npts = 1; for (j = 0; j < (n - 1) / 2; ++j) { int j2 = 2 * j + 1; result_asc += wgk[j2] * (fabs(vals[npts] - mean) + fabs(vals[npts + 1] - mean)); npts += 2; } for (j = 0; j < n / 2; ++j) { int j2 = 2 * j; result_asc += wgk[j2] * (fabs(vals[npts] - mean) + fabs(vals[npts + 1] - mean)); npts += 2; } err = fabs(result_kronrod - result_gauss) * halfwidth; result_abs *= halfwidth; result_asc *= halfwidth; if (result_asc != 0 && err != 0) { double scale = pow((200 * err / result_asc), 1.5); err = (scale < 1) ? result_asc * scale : result_asc; } if (result_abs > DBL_MIN / (50 * DBL_EPSILON)) { double min_err = 50 * DBL_EPSILON * result_abs; if (min_err > err) err = min_err; } R[iR].ee[k].err = err; /* increment vals to point to next batch of results */ vals += 15; } } return SUCCESS; } static rule* make_rule15gauss(unsigned int dim, unsigned int fdim) { if (dim != 1) return nullptr; /* this rule is only for 1d integrals */ return make_rule(sizeof(rule), dim, fdim, 15, rule15gauss_evalError, 0); } /***************************************************************************/ /* binary heap implementation (ala _Introduction to Algorithms_ by Cormen, Leiserson, and Rivest), for use as a priority queue of regions to integrate. */ typedef region heap_item; #define KEY(hi) ((hi).errmax) typedef struct { unsigned int n, nalloc; heap_item* items; unsigned int fdim; esterr* ee; /* array of length fdim of the total integrand & error */ } heap; static void heap_resize(heap* h, unsigned int nalloc) { h->nalloc = nalloc; h->items = (heap_item*)realloc(h->items, sizeof(heap_item) * nalloc); } static heap heap_alloc(unsigned int nalloc, unsigned int fdim) { heap h; unsigned int i; h.n = 0; h.nalloc = 0; h.items = 0; h.fdim = fdim; h.ee = (esterr*)malloc(sizeof(esterr) * fdim); if (h.ee) { for (i = 0; i < fdim; ++i) h.ee[i].val = h.ee[i].err = 0; heap_resize(&h, nalloc); } return h; } /* note that heap_free does not deallocate anything referenced by the items */ static void heap_free(heap* h) { h->n = 0; heap_resize(h, 0); h->fdim = 0; free(h->ee); } static int heap_push(heap* h, heap_item hi) { int insert; unsigned int i, fdim = h->fdim; for (i = 0; i < fdim; ++i) { h->ee[i].val += hi.ee[i].val; h->ee[i].err += hi.ee[i].err; } insert = h->n; if (++(h->n) > h->nalloc) { heap_resize(h, h->n * 2); if (!h->items) return FAILURE; } while (insert) { int parent = (insert - 1) / 2; if (KEY(hi) <= KEY(h->items[parent])) break; h->items[insert] = h->items[parent]; insert = parent; } h->items[insert] = hi; return SUCCESS; } static int heap_push_many(heap* h, unsigned int ni, heap_item* hi) { unsigned int i; for (i = 0; i < ni; ++i) if (heap_push(h, hi[i])) return FAILURE; return SUCCESS; } static heap_item heap_pop(heap* h) { heap_item ret; int i, n, child; if (!(h->n)) { fprintf(stderr, "attempted to pop an empty heap\n"); exit(EXIT_FAILURE); } ret = h->items[0]; h->items[i = 0] = h->items[n = --(h->n)]; while ((child = i * 2 + 1) < n) { int largest; heap_item swap; if (KEY(h->items[child]) <= KEY(h->items[i])) largest = i; else largest = child; if (++child < n && KEY(h->items[largest]) < KEY(h->items[child])) largest = child; if (largest == i) break; swap = h->items[i]; h->items[i] = h->items[largest]; h->items[i = largest] = swap; } { unsigned int i_, fdim = h->fdim; for (i_ = 0; i_ < fdim; ++i_) { h->ee[i_].val -= ret.ee[i_].val; h->ee[i_].err -= ret.ee[i_].err; } } return ret; } /***************************************************************************/ /* adaptive integration, analogous to adaptintegrator.cpp in HIntLib */ static int ruleadapt_integrate(rule* r, unsigned int fdim, integrand_v f, void* fdata, const hypercube* h, unsigned int maxEval, double reqAbsError, double reqRelError, double* val, double* err, int parallel) { unsigned int numEval = 0; heap regions; unsigned int i, j; region* R = nullptr; /* array of regions to evaluate */ unsigned int nR_alloc = 0; esterr* ee = nullptr; regions = heap_alloc(1, fdim); if (!regions.ee || !regions.items) goto bad; ee = (esterr*)malloc(sizeof(esterr) * fdim); if (!ee) goto bad; nR_alloc = 2; R = (region*)malloc(sizeof(region) * nR_alloc); if (!R) goto bad; R[0] = make_region(h, fdim); if (!R[0].ee || eval_regions(1, R, f, fdata, r) || heap_push(®ions, R[0])) goto bad; numEval += r->num_points; while (numEval < maxEval || !maxEval) { for (j = 0; j < fdim && (regions.ee[j].err <= reqAbsError || relError(regions.ee[j]) <= reqRelError); ++j) ; if (j == fdim) break; /* convergence */ if (parallel) { /* maximize potential parallelism */ /* adapted from I. Gladwell, "Vectorization of one dimensional quadrature codes," pp. 230--238 in _Numerical Integration. Recent Developments, Software and Applications_, G. Fairweather and P. M. Keast, eds., NATO ASI Series C203, Dordrecht (1987), as described in J. M. Bull and T. L. Freeman, "Parallel Globally Adaptive Algorithms for Multi-dimensional Integration," http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.6638 (1994). Basically, this evaluates in one shot all regions that *must* be evaluated in order to reduce the error to the requested bound: the minimum set of largest-error regions whose errors push the total error over the bound. [Note: Bull and Freeman claim that the Gladwell approach is intrinsically inefficient because it "requires sorting", and propose an alternative algorithm that "only" requires three passes over the entire set of regions. Apparently, they didn't realize that one could use a heap data structure, in which case the time to pop K biggest-error regions out of N is only O(K log N), much better than the O(N) cost of the Bull and Freeman algorithm if K << N, and it is also much simpler.] */ unsigned int nR = 0; for (j = 0; j < fdim; ++j) ee[j] = regions.ee[j]; do { if (nR + 2 > nR_alloc) { nR_alloc = (nR + 2) * 2; R = (region*)realloc(R, nR_alloc * sizeof(region)); if (!R) goto bad; } R[nR] = heap_pop(®ions); for (j = 0; j < fdim; ++j) ee[j].err -= R[nR].ee[j].err; if (cut_region(R + nR, R + nR + 1)) goto bad; numEval += r->num_points * 2; nR += 2; for (j = 0; j < fdim && (ee[j].err <= reqAbsError || relError(ee[j]) <= reqRelError); ++j) ; if (j == fdim) break; /* other regions have small errs */ } while (regions.n > 0 && (numEval < maxEval || !maxEval)); if (eval_regions(nR, R, f, fdata, r) || heap_push_many(®ions, nR, R)) goto bad; } else { /* minimize number of function evaluations */ R[0] = heap_pop(®ions); /* get worst region */ if (cut_region(R, R + 1) || eval_regions(2, R, f, fdata, r) || heap_push_many(®ions, 2, R)) goto bad; numEval += r->num_points * 2; } } /* re-sum integral and errors */ for (j = 0; j < fdim; ++j) val[j] = err[j] = 0; for (i = 0; i < regions.n; ++i) { for (j = 0; j < fdim; ++j) { val[j] += regions.items[i].ee[j].val; err[j] += regions.items[i].ee[j].err; } destroy_region(®ions.items[i]); } /* printf("regions.nalloc = %d\n", regions.nalloc); */ free(ee); heap_free(®ions); free(R); return SUCCESS; bad: free(ee); heap_free(®ions); free(R); return FAILURE; } static int integrate(unsigned int fdim, integrand_v f, void* fdata, unsigned int dim, const double* xmin, const double* xmax, unsigned int maxEval, double reqAbsError, double reqRelError, double* val, double* err, int parallel) { rule* r; hypercube h; int status; unsigned int i; if (fdim == 0) /* nothing to do */ return SUCCESS; if (dim == 0) { /* trivial integration */ f(0, 1, xmin, fdata, fdim, val); for (i = 0; i < fdim; ++i) err[i] = 0; return SUCCESS; } r = dim == 1 ? make_rule15gauss(dim, fdim) : make_rule75genzmalik(dim, fdim); if (!r) { for (i = 0; i < fdim; ++i) { val[i] = 0; err[i] = HUGE_VAL; } return FAILURE; } h = make_hypercube_range(dim, xmin, xmax); status = !h.data ? FAILURE : ruleadapt_integrate(r, fdim, f, fdata, &h, maxEval, reqAbsError, reqRelError, val, err, parallel); destroy_hypercube(&h); destroy_rule(r); return status; } int adapt_integrate_v(unsigned int fdim, integrand_v f, void* fdata, unsigned int dim, const double* xmin, const double* xmax, unsigned int maxEval, double reqAbsError, double reqRelError, double* val, double* err) { return integrate(fdim, f, fdata, dim, xmin, xmax, maxEval, reqAbsError, reqRelError, val, err, 1); } /* wrapper around non-vectorized integrand */ typedef struct fv_data_s { integrand f; void* fdata; double* fval1; } fv_data; static void fv(unsigned int ndim, unsigned int npt, const double* x, void* d_, unsigned int fdim, double* fval) { fv_data* d = (fv_data*)d_; double* fval1 = d->fval1; unsigned int i, k; /* printf("npt = %u\n", npt); */ for (i = 0; i < npt; ++i) { d->f(ndim, x + i * ndim, d->fdata, fdim, fval1); for (k = 0; k < fdim; ++k) fval[k * npt + i] = fval1[k]; } } int adapt_integrate(unsigned int fdim, integrand f, void* fdata, unsigned int dim, const double* xmin, const double* xmax, unsigned int maxEval, double reqAbsError, double reqRelError, double* val, double* err) { int ret; fv_data d; if (fdim == 0) return SUCCESS; /* nothing to do */ d.f = f; d.fdata = fdata; d.fval1 = (double*)malloc(sizeof(double) * fdim); if (!d.fval1) { unsigned int i; for (i = 0; i < fdim; ++i) { val[i] = 0; err[i] = HUGE_VAL; } return -2; /* ERROR */ } ret = integrate(fdim, fv, &d, dim, xmin, xmax, maxEval, reqAbsError, reqRelError, val, err, 0); free(d.fval1); return ret; } // TODO: Consider QVariantList. For now, mimic what is known to work. QList QTAIMEvaluateProperty(QList variantList) { /* Order of variantList: QString wfnFileName qreal x0 qreal y0 qreal z0 qint64 nncp qint64 xncp1 qint64 yncp1 qint64 zncp1 qint64 xncp2 qint64 yncp2 qint64 zncp2 ... qint64 nmode qint64 mode1 qint64 mode2 ... qint64 nbasin qint64 basin1 qint64 basin2 ... */ qint64 counter = 0; QString wfnFileName = variantList.at(counter).toString(); counter++; qreal x0 = variantList.at(counter).toDouble(); counter++; qreal y0 = variantList.at(counter).toDouble(); counter++; qreal z0 = variantList.at(counter).toDouble(); counter++; qint64 nncp = variantList.at(counter).toLongLong(); counter++; QList ncpList; for (qint64 n = 0; n < nncp; ++n) { qreal x = variantList.at(counter).toDouble(); counter++; qreal y = variantList.at(counter).toDouble(); counter++; qreal z = variantList.at(counter).toDouble(); counter++; ncpList.append(QVector3D(x, y, z)); } qint64 nmode = variantList.at(counter).toLongLong(); counter++; QList modeList; for (qint64 m = 0; m < nmode; ++m) { qint64 mode = variantList.at(counter).toLongLong(); counter++; modeList.append(mode); } qint64 nbasin = variantList.at(counter).toLongLong(); counter++; QList basinList; for (qint64 b = 0; b < nbasin; ++b) { qint64 basin = variantList.at(counter).toLongLong(); counter++; basinList.append(basin); } QSet basinSet = basinList.toSet(); QTAIMWavefunction wfn; wfn.loadFromBinaryFile(wfnFileName); QTAIMWavefunctionEvaluator eval(wfn); QList valueList; double initialElectronDensity = eval.electronDensity(Eigen::Vector3d(x0, y0, z0)); // if less than some small value, then return zero for all integrands. if (initialElectronDensity < 1.e-5) { for (qint64 m = 0; m < nmode; ++m) { qreal zero = 0.0; valueList.append(zero); } } else { QList> betaSpheres; for (qint64 i = 0; i < nncp; ++i) { QPair thisBetaSphere; thisBetaSphere.first = QVector3D(ncpList.at(i).x(), ncpList.at(i).y(), ncpList.at(i).z()); thisBetaSphere.second = 0.10; betaSpheres.append(thisBetaSphere); } QTAIMLSODAIntegrator ode(eval, 0); // Avogadro::QTAIMODEIntegrator ode(eval,0); ode.setBetaSpheres(betaSpheres); QVector3D endpoint = ode.integrate(QVector3D(x0, y0, z0)); // QList path=ode.path(); #define HUGE_REAL_NUMBER 1.e20 qreal smallestDistance = HUGE_REAL_NUMBER; qint64 smallestDistanceIndex = -1; for (qint64 n = 0; n < betaSpheres.length(); ++n) { Matrix a(endpoint.x(), endpoint.y(), endpoint.z()); Matrix b(betaSpheres.at(n).first.x(), betaSpheres.at(n).first.y(), betaSpheres.at(n).first.z()); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < smallestDistance) { smallestDistance = distance; smallestDistanceIndex = n; } } qint64 nucleusIndex = smallestDistanceIndex; if (basinSet.contains(nucleusIndex)) { // if(nucleusIndex==0) // { // QFile file("/scratch/brown/0.txt"); // file.open(QIODevice::WriteOnly | QIODevice::Append); // QTextStream out(&file); // out << x0 << " " << y0 << " " << z0 << "\n"; // file.close(); // } for (qint64 m = 0; m < nmode; ++m) { if (modeList.at(m) == 0) { valueList.append(eval.electronDensity(Eigen::Vector3d(x0, y0, z0))); } else { qDebug() << "mode not defined"; qreal zero = 0.0; valueList.append(zero); } } } else { for (qint64 m = 0; m < nmode; ++m) { qreal zero = 0.0; valueList.append(zero); } } } return valueList; } void property_v(unsigned int /* ndim */, unsigned int npts, const double* xyz, void* param, unsigned int /* dim */, double* fval) { QVariantList* paramVariantListPtr = (QVariantList*)param; QVariantList paramVariantList = *paramVariantListPtr; qint64 counter = 0; QString wfnFileName = paramVariantList.at(counter).toString(); counter++; qint64 nncp = paramVariantList.at(counter).toLongLong(); counter++; QList ncpList; for (qint64 i = 0; i < nncp; ++i) { qreal x = paramVariantList.at(counter).toDouble(); counter++; qreal y = paramVariantList.at(counter).toDouble(); counter++; qreal z = paramVariantList.at(counter).toDouble(); counter++; ncpList.append(QVector3D(x, y, z)); } qint64 nmode = 1; qint64 mode = paramVariantList.at(counter).toLongLong(); counter++; QList basinList; for (qint64 i = counter; i < paramVariantList.length(); ++i) { basinList.append(paramVariantList.at(i).toLongLong()); counter++; } // prepare input QList> inputList; for (unsigned int i = 0; i < npts; ++i) { double x0 = xyz[i * 3 + 0]; double y0 = xyz[i * 3 + 1]; double z0 = xyz[i * 3 + 2]; QList variantList; variantList.append(wfnFileName); variantList.append(x0); variantList.append(y0); variantList.append(z0); variantList.append(nncp); for (qint64 n = 0; n < nncp; ++n) { variantList.append(ncpList.at(n).x()); variantList.append(ncpList.at(n).y()); variantList.append(ncpList.at(n).z()); } variantList.append(nmode); // for now, one mode for (qint64 m = 0; m < nmode; ++m) { variantList.append(mode); } qint64 nbasin = basinList.length(); variantList.append(nbasin); for (qint64 b = 0; b < basinList.length(); ++b) { variantList.append(basinList.at(b)); } inputList.append(variantList); } // calculate QProgressDialog dialog; dialog.setWindowTitle("QTAIM"); dialog.setLabelText(QString("Atomic Basin Integration")); QFutureWatcher futureWatcher; QObject::connect(&futureWatcher, SIGNAL(finished()), &dialog, SLOT(reset())); QObject::connect(&dialog, SIGNAL(canceled()), &futureWatcher, SLOT(cancel())); QObject::connect(&futureWatcher, SIGNAL(progressRangeChanged(int, int)), &dialog, SLOT(setRange(int, int))); QObject::connect(&futureWatcher, SIGNAL(progressValueChanged(int)), &dialog, SLOT(setValue(int))); QFuture> future = QtConcurrent::mapped(inputList, QTAIMEvaluateProperty); futureWatcher.setFuture(future); dialog.exec(); futureWatcher.waitForFinished(); QList> results; if (futureWatcher.future().isCanceled()) { results.clear(); } else { results = future.results(); } // harvest results for (qint64 i = 0; i < npts; ++i) { for (qint64 m = 0; m < nmode; ++m) { fval[m * nmode + i] = results.at(i).at(m).toDouble(); } } } // TODO: Consider QVariantList. For now, mimic what is known to work. // This version performs integration in Spherical Polar Coordinates. // Note that the basin limits are not explicitly determined. QList QTAIMEvaluatePropertyRTP(QList variantList) { /* Order of variantList: QString wfnFileName qreal r0 qreal t0 qreal p0 qint64 nncp qint64 xncp1 qint64 yncp1 qint64 zncp1 qint64 xncp2 qint64 yncp2 qint64 zncp2 ... qint64 nmode qint64 mode1 qint64 mode2 ... qint64 nbasin qint64 basin1 qint64 basin2 ... */ qint64 counter = 0; QString wfnFileName = variantList.at(counter).toString(); counter++; qreal r0 = variantList.at(counter).toDouble(); counter++; qreal t0 = variantList.at(counter).toDouble(); counter++; qreal p0 = variantList.at(counter).toDouble(); counter++; qint64 nncp = variantList.at(counter).toLongLong(); counter++; QList ncpList; for (qint64 n = 0; n < nncp; ++n) { qreal x = variantList.at(counter).toDouble(); counter++; qreal y = variantList.at(counter).toDouble(); counter++; qreal z = variantList.at(counter).toDouble(); counter++; ncpList.append(QVector3D(x, y, z)); } qint64 nmode = variantList.at(counter).toLongLong(); counter++; QList modeList; for (qint64 m = 0; m < nmode; ++m) { qint64 mode = variantList.at(counter).toLongLong(); counter++; modeList.append(mode); } qint64 nbasin = variantList.at(counter).toLongLong(); counter++; QList basinList; for (qint64 b = 0; b < nbasin; ++b) { qint64 basin = variantList.at(counter).toLongLong(); counter++; basinList.append(basin); } QSet basinSet = basinList.toSet(); Matrix r0t0p0; r0t0p0 << r0, t0, p0; Matrix origin; origin << ncpList.at(basinList.at(0)).x(), ncpList.at(basinList.at(0)).y(), ncpList.at(basinList.at(0)).z(); Matrix x0y0z0 = QTAIMMathUtilities::sphericalToCartesian(r0t0p0, origin); qreal x0 = x0y0z0(0); qreal y0 = x0y0z0(1); qreal z0 = x0y0z0(2); QTAIMWavefunction wfn; wfn.loadFromBinaryFile(wfnFileName); QTAIMWavefunctionEvaluator eval(wfn); QList valueList; double initialElectronDensity = eval.electronDensity(Eigen::Vector3d(x0, y0, z0)); // if less than some small value, then return zero for all integrands. if (initialElectronDensity < 1.e-5) { for (qint64 m = 0; m < nmode; ++m) { qreal zero = 0.0; valueList.append(zero); } } else { QList> betaSpheres; for (qint64 i = 0; i < nncp; ++i) { QPair thisBetaSphere; thisBetaSphere.first = QVector3D(ncpList.at(i).x(), ncpList.at(i).y(), ncpList.at(i).z()); thisBetaSphere.second = 0.10; betaSpheres.append(thisBetaSphere); } QTAIMLSODAIntegrator ode(eval, 0); // Avogadro::QTAIMODEIntegrator ode(eval,0); ode.setBetaSpheres(betaSpheres); QVector3D endpoint = ode.integrate(QVector3D(x0, y0, z0)); // QList path=ode.path(); #define HUGE_REAL_NUMBER 1.e20 qreal smallestDistance = HUGE_REAL_NUMBER; qint64 smallestDistanceIndex = -1; for (qint64 n = 0; n < betaSpheres.length(); ++n) { Matrix a(endpoint.x(), endpoint.y(), endpoint.z()); Matrix b(betaSpheres.at(n).first.x(), betaSpheres.at(n).first.y(), betaSpheres.at(n).first.z()); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < smallestDistance) { smallestDistance = distance; smallestDistanceIndex = n; } } qint64 nucleusIndex = smallestDistanceIndex; if (basinSet.contains(nucleusIndex)) { // if(nucleusIndex==0) // { // QFile file("/scratch/brown/0.txt"); // file.open(QIODevice::WriteOnly | QIODevice::Append); // QTextStream out(&file); // out << x0 << " " << y0 << " " << z0 << "\n"; //// out << r0 << " " << t0 << " " << p0 << "\n"; // file.close(); // } for (qint64 m = 0; m < nmode; ++m) { if (modeList.at(m) == 0) { valueList.append( r0 * r0 * sin(t0) * eval.electronDensity(Eigen::Vector3d(x0, y0, z0)) ); } else { qDebug() << "mode not defined"; qreal zero = 0.0; valueList.append(zero); } } } else { for (qint64 m = 0; m < nmode; ++m) { qreal zero = 0.0; valueList.append(zero); } } } return valueList; } void property_v_rtp(unsigned int /* ndim */, unsigned int npts, const double* xyz, void* param, unsigned int /* fdim */, double* fval) { QVariantList* paramVariantListPtr = (QVariantList*)param; QVariantList paramVariantList = *paramVariantListPtr; qint64 counter = 0; QString wfnFileName = paramVariantList.at(counter).toString(); counter++; qint64 nncp = paramVariantList.at(counter).toLongLong(); counter++; QList ncpList; for (qint64 i = 0; i < nncp; ++i) { qreal x = paramVariantList.at(counter).toDouble(); counter++; qreal y = paramVariantList.at(counter).toDouble(); counter++; qreal z = paramVariantList.at(counter).toDouble(); counter++; ncpList.append(QVector3D(x, y, z)); } qint64 nmode = 1; qint64 mode = paramVariantList.at(counter).toLongLong(); counter++; QList basinList; for (qint64 i = counter; i < paramVariantList.length(); ++i) { basinList.append(paramVariantList.at(i).toLongLong()); counter++; } // prepare input QList> inputList; for (unsigned int i = 0; i < npts; ++i) { double x0 = xyz[i * 3 + 0]; double y0 = xyz[i * 3 + 1]; double z0 = xyz[i * 3 + 2]; QList variantList; variantList.append(wfnFileName); variantList.append(x0); variantList.append(y0); variantList.append(z0); variantList.append(nncp); for (qint64 n = 0; n < nncp; ++n) { variantList.append(ncpList.at(n).x()); variantList.append(ncpList.at(n).y()); variantList.append(ncpList.at(n).z()); } variantList.append(nmode); // for now, one mode for (qint64 m = 0; m < nmode; ++m) { variantList.append(mode); } qint64 nbasin = basinList.length(); variantList.append(nbasin); for (qint64 b = 0; b < basinList.length(); ++b) { variantList.append(basinList.at(b)); } inputList.append(variantList); } // calculate QProgressDialog dialog; dialog.setWindowTitle("QTAIM"); dialog.setLabelText(QString("Atomic Basin Integration")); QFutureWatcher futureWatcher; QObject::connect(&futureWatcher, SIGNAL(finished()), &dialog, SLOT(reset())); QObject::connect(&dialog, SIGNAL(canceled()), &futureWatcher, SLOT(cancel())); QObject::connect(&futureWatcher, SIGNAL(progressRangeChanged(int, int)), &dialog, SLOT(setRange(int, int))); QObject::connect(&futureWatcher, SIGNAL(progressValueChanged(int)), &dialog, SLOT(setValue(int))); QFuture> future = QtConcurrent::mapped(inputList, QTAIMEvaluatePropertyRTP); futureWatcher.setFuture(future); dialog.exec(); futureWatcher.waitForFinished(); QList> results; if (futureWatcher.future().isCanceled()) { results.clear(); } else { results = future.results(); } // harvest results for (qint64 i = 0; i < npts; ++i) { for (qint64 m = 0; m < nmode; ++m) { fval[m * nmode + i] = results.at(i).at(m).toDouble(); } } } void property_r(unsigned int ndim, const double* xyz, void* param, unsigned int fdim, double* fval) { ndim = ndim; fdim = fdim; QVariantList* paramVariantListPtr = (QVariantList*)param; QVariantList paramVariantList = *paramVariantListPtr; qint64 counter = 0; QString wfnFileName = paramVariantList.at(counter).toString(); counter++; qreal r = xyz[0]; qreal t = paramVariantList.at(counter).toDouble(); counter++; qreal p = paramVariantList.at(counter).toDouble(); counter++; qint64 nncp = paramVariantList.at(counter).toLongLong(); counter++; QList ncpList; for (qint64 i = 0; i < nncp; ++i) { qreal x = paramVariantList.at(counter).toDouble(); counter++; qreal y = paramVariantList.at(counter).toDouble(); counter++; qreal z = paramVariantList.at(counter).toDouble(); counter++; ncpList.append(QVector3D(x, y, z)); } qint64 nmode = 1; qint64 mode = paramVariantList.at(counter).toLongLong(); counter++; QList basinList; for (qint64 i = counter; i < paramVariantList.length(); ++i) { basinList.append(paramVariantList.at(i).toLongLong()); counter++; } Matrix rtp; rtp << r, t, p; Matrix origin; origin << ncpList.at(basinList.at(0)).x(), ncpList.at(basinList.at(0)).y(), ncpList.at(basinList.at(0)).z(); Matrix XYZ = QTAIMMathUtilities::sphericalToCartesian(rtp, origin); qreal x = XYZ(0); qreal y = XYZ(1); qreal z = XYZ(2); // This routine reads the wavefunction file repeatedly. // Let's hope that this time is dwarfed by the time // taken to delineate the atomic basins in the calling routine. QTAIMWavefunction wfn; wfn.loadFromBinaryFile(wfnFileName); QTAIMWavefunctionEvaluator eval(wfn); for (qint64 m = 0; m < nmode; ++m) { if (mode == 0) { fval[m] = r * r * eval.electronDensity(Eigen::Vector3d(x, y, z)); } } } QList QTAIMEvaluatePropertyTP(QList variantList) { /* Order of variantList: QString wfnFileName qreal t qreal p qint64 nncp qint64 xncp1 qint64 yncp1 qint64 zncp1 qint64 xncp2 qint64 yncp2 qint64 zncp2 ... qint64 nmode qint64 mode1 qint64 mode2 ... qint64 nbasin qint64 basin1 qint64 basin2 ... */ qint64 counter = 0; QString wfnFileName = variantList.at(counter).toString(); counter++; qreal t = variantList.at(counter).toDouble(); counter++; qreal p = variantList.at(counter).toDouble(); counter++; qint64 nncp = variantList.at(counter).toLongLong(); counter++; QList ncpList; for (qint64 n = 0; n < nncp; ++n) { qreal x = variantList.at(counter).toDouble(); counter++; qreal y = variantList.at(counter).toDouble(); counter++; qreal z = variantList.at(counter).toDouble(); counter++; ncpList.append(QVector3D(x, y, z)); } qint64 nmode = variantList.at(counter).toLongLong(); counter++; QList modeList; for (qint64 m = 0; m < nmode; ++m) { qint64 mode = variantList.at(counter).toLongLong(); counter++; modeList.append(mode); } qint64 nbasin = variantList.at(counter).toLongLong(); counter++; QList basinList; for (qint64 b = 0; b < nbasin; ++b) { qint64 basin = variantList.at(counter).toLongLong(); counter++; basinList.append(basin); } QSet basinSet = basinList.toSet(); QTAIMWavefunction wfn; wfn.loadFromBinaryFile(wfnFileName); QTAIMWavefunctionEvaluator eval(wfn); // Set up steepest ascent integrator and beta spheres QList> betaSpheres; for (qint64 i = 0; i < nncp; ++i) { QPair thisBetaSphere; thisBetaSphere.first = QVector3D(ncpList.at(i).x(), ncpList.at(i).y(), ncpList.at(i).z()); thisBetaSphere.second = 0.10; betaSpheres.append(thisBetaSphere); } QTAIMLSODAIntegrator ode(eval, 0); // Avogadro::QTAIMODEIntegrator ode(eval,0); ode.setBetaSpheres(betaSpheres); // Determine radial basin limit via bisection // Bisection Algorithm courtesey of Wikipedia qint64 thisBasin = basinList.at(0); Matrix origin; origin << ncpList.at(thisBasin).x(), ncpList.at(thisBasin).y(), ncpList.at(thisBasin).z(); const qreal rmin = betaSpheres.at(thisBasin).second; const qreal rmax = 8.0; const qreal epsilon = 1.e-3; qreal left = rmin; qreal right = rmax; Matrix rtpl; rtpl << left, t, p; Matrix xyzl = QTAIMMathUtilities::sphericalToCartesian(rtpl, origin); qreal fleft; qreal x = xyzl(0); qreal y = xyzl(1); qreal z = xyzl(2); qreal leftElectronDensity = eval.electronDensity(Eigen::Vector3d(x, y, z)); if (leftElectronDensity < 1.e-5) { fleft = -1.0; } else { QVector3D endpoint = ode.integrate(QVector3D(x, y, z)); #define HUGE_REAL_NUMBER 1.e20 qreal smallestDistance = HUGE_REAL_NUMBER; qint64 smallestDistanceIndex = -1; for (qint64 n = 0; n < betaSpheres.length(); ++n) { Matrix a(endpoint.x(), endpoint.y(), endpoint.z()); Matrix b(betaSpheres.at(n).first.x(), betaSpheres.at(n).first.y(), betaSpheres.at(n).first.z()); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < smallestDistance) { smallestDistance = distance; smallestDistanceIndex = n; } } qint64 nucleusIndex = smallestDistanceIndex; if (thisBasin == nucleusIndex) { fleft = leftElectronDensity; } else { fleft = -1.0; } } Matrix rtpr; rtpr << right, t, p; Matrix xyzr = QTAIMMathUtilities::sphericalToCartesian(rtpr, origin); qreal fright; x = xyzr(0); y = xyzr(1); z = xyzr(2); qreal rightElectronDensity = eval.electronDensity(Eigen::Vector3d(x, y, z)); if (rightElectronDensity < 1.e-5) { fright = -1.0; } else { QVector3D endpoint = ode.integrate(QVector3D(x, y, z)); #define HUGE_REAL_NUMBER 1.e20 qreal smallestDistance = HUGE_REAL_NUMBER; qint64 smallestDistanceIndex = -1; for (qint64 n = 0; n < betaSpheres.length(); ++n) { Matrix a(endpoint.x(), endpoint.y(), endpoint.z()); Matrix b(betaSpheres.at(n).first.x(), betaSpheres.at(n).first.y(), betaSpheres.at(n).first.z()); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < smallestDistance) { smallestDistance = distance; smallestDistanceIndex = n; } } qint64 nucleusIndex = smallestDistanceIndex; if (thisBasin == nucleusIndex) { fright = rightElectronDensity; } else { fright = -1.0; } } if (fleft > 0.0 && fright > 0.0) { qDebug() << "error in bisection: both values positive."; } qreal rf(0.0); while (fabs(right - left) > 2.0 * epsilon) { qreal midpoint = (right + left) / 2.0; rf = midpoint; // qDebug() << left << midpoint << right ; Matrix rtpm; rtpm << midpoint, t, p; Matrix xyzm = QTAIMMathUtilities::sphericalToCartesian(rtpm, origin); qreal fmidpoint; x = xyzm(0); y = xyzm(1); z = xyzm(2); qreal midpointElectronDensity = eval.electronDensity(Eigen::Vector3d(x, y, z)); if (midpointElectronDensity < 1.e-5) { fmidpoint = -1.0; } else { QVector3D endpoint = ode.integrate(QVector3D(x, y, z)); #define HUGE_REAL_NUMBER 1.e20 qreal smallestDistance = HUGE_REAL_NUMBER; qint64 smallestDistanceIndex = -1; for (qint64 n = 0; n < betaSpheres.length(); ++n) { Matrix a(endpoint.x(), endpoint.y(), endpoint.z()); Matrix b(betaSpheres.at(n).first.x(), betaSpheres.at(n).first.y(), betaSpheres.at(n).first.z()); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < smallestDistance) { smallestDistance = distance; smallestDistanceIndex = n; } } qint64 nucleusIndex = smallestDistanceIndex; if (thisBasin == nucleusIndex) { fmidpoint = midpointElectronDensity; } else { fmidpoint = -1.0; } } if ((fleft * fmidpoint) < 0) { right = midpoint; fright = fmidpoint; } else if ((fright * fmidpoint) < 0) { left = midpoint; fleft = fmidpoint; } else { goto endOfBisection; } } endOfBisection: // Integration over r unsigned int fdim = 1; double* val; double* err; val = (double*)malloc(sizeof(double) * fdim); err = (double*)malloc(sizeof(double) * fdim); double tol = 1.e-6; unsigned int maxEval = 0; unsigned int dim = 1; double* xmin; double* xmax; xmin = (double*)malloc(dim * sizeof(double)); xmax = (double*)malloc(dim * sizeof(double)); xmin[0] = 0.0; xmax[0] = rf; QVariantList paramVariantList; paramVariantList.append(wfnFileName); paramVariantList.append(t); paramVariantList.append(p); paramVariantList.append( ncpList.length()); // number of nuclear critical points for (qint64 j = 0; j < ncpList.length(); ++j) { paramVariantList.append(ncpList.at(j).x()); paramVariantList.append(ncpList.at(j).y()); paramVariantList.append(ncpList.at(j).z()); } paramVariantList.append(0); // mode paramVariantList.append(basinList.at(0)); // basin // qDebug() << "Into R with rf=" << rf; adapt_integrate(fdim, property_r, ¶mVariantList, dim, xmin, xmax, maxEval, tol, 0, val, err); // qDebug() << "Out of R with val=" << val[0] << "err=" << err[0]; qreal Rval = val[0]; free(xmin); free(xmax); free(val); free(err); // QList variantList; variantList.append(sin(t) * Rval); // qDebug() << rf << t << p << sin(t) * Rval; return variantList; } void property_v_tp(unsigned int /* ndim */, unsigned int npts, const double* xyz, void* param, unsigned int /* fdim */, double* fval) { QVariantList* paramVariantListPtr = (QVariantList*)param; QVariantList paramVariantList = *paramVariantListPtr; qint64 counter = 0; QString wfnFileName = paramVariantList.at(counter).toString(); counter++; qint64 nncp = paramVariantList.at(counter).toLongLong(); counter++; QList ncpList; for (qint64 i = 0; i < nncp; ++i) { qreal x = paramVariantList.at(counter).toDouble(); counter++; qreal y = paramVariantList.at(counter).toDouble(); counter++; qreal z = paramVariantList.at(counter).toDouble(); counter++; ncpList.append(QVector3D(x, y, z)); } qint64 nmode = 1; qint64 mode = paramVariantList.at(counter).toLongLong(); counter++; QList basinList; for (qint64 i = counter; i < paramVariantList.length(); ++i) { basinList.append(paramVariantList.at(i).toLongLong()); counter++; } // prepare input QList> inputList; for (unsigned int i = 0; i < npts; ++i) { double t = xyz[i * 2 + 0]; double p = xyz[i * 2 + 1]; QList variantList; variantList.append(wfnFileName); variantList.append(t); variantList.append(p); variantList.append(nncp); for (qint64 n = 0; n < nncp; ++n) { variantList.append(ncpList.at(n).x()); variantList.append(ncpList.at(n).y()); variantList.append(ncpList.at(n).z()); } variantList.append(nmode); // for now, one mode for (qint64 m = 0; m < nmode; ++m) { variantList.append(mode); } qint64 nbasin = basinList.length(); variantList.append(nbasin); for (qint64 b = 0; b < basinList.length(); ++b) { variantList.append(basinList.at(b)); } inputList.append(variantList); } // calculate QProgressDialog dialog; dialog.setWindowTitle("QTAIM"); dialog.setLabelText(QString("Atomic Basin Integration")); QFutureWatcher futureWatcher; QObject::connect(&futureWatcher, SIGNAL(finished()), &dialog, SLOT(reset())); QObject::connect(&dialog, SIGNAL(canceled()), &futureWatcher, SLOT(cancel())); QObject::connect(&futureWatcher, SIGNAL(progressRangeChanged(int, int)), &dialog, SLOT(setRange(int, int))); QObject::connect(&futureWatcher, SIGNAL(progressValueChanged(int)), &dialog, SLOT(setValue(int))); QFuture> future = QtConcurrent::mapped(inputList, QTAIMEvaluatePropertyTP); futureWatcher.setFuture(future); dialog.exec(); futureWatcher.waitForFinished(); QList> results; if (futureWatcher.future().isCanceled()) { results.clear(); } else { results = future.results(); } // harvest results // qDebug() << "results=" << results; for (qint64 i = 0; i < npts; ++i) { for (qint64 m = 0; m < nmode; ++m) { fval[m * nmode + i] = results.at(i).at(m).toDouble(); } } } namespace Avogadro { namespace QtPlugins { QTAIMCubature::QTAIMCubature(QTAIMWavefunction& wfn) { m_wfn = &wfn; m_temporaryFileName = QTAIMCubature::temporaryFileName(); m_wfn->saveToBinaryFile(m_temporaryFileName); // Instantiate a Critical Point Locator QTAIMCriticalPointLocator cpl(wfn); // Locate the Nuclear Critical Points cpl.locateNuclearCriticalPoints(); // QLists of results m_ncpList = cpl.nuclearCriticalPoints(); } QList> QTAIMCubature::integrate(qint64 mode, QList basins) { QList> value; m_mode = mode; m_basins = basins; double tol = 1.e-2; unsigned int maxEval = 0; bool threeDimensionalIntegration = false; bool cartesianIntegrationLimits = false; unsigned int fdim = 1; double* val; double* err; val = (double*)malloc(sizeof(double) * fdim); err = (double*)malloc(sizeof(double) * fdim); for (qint64 i = 0; i < m_basins.length(); ++i) { if (threeDimensionalIntegration) { unsigned int dim = 3; double* xmin; double* xmax; xmin = (double*)malloc(dim * sizeof(double)); xmax = (double*)malloc(dim * sizeof(double)); if (cartesianIntegrationLimits) { // shift origin of the integration to the nuclear coordinates of the ith // nucleus. xmin[0] = -8. + m_ncpList.at(i).x(); xmax[0] = 8. + m_ncpList.at(i).x(); xmin[1] = -8. + m_ncpList.at(i).y(); xmax[1] = 8. + m_ncpList.at(i).y(); xmin[2] = -8. + m_ncpList.at(i).z(); xmax[2] = 8. + m_ncpList.at(i).z(); QVariantList paramVariantList; paramVariantList.append(m_temporaryFileName); paramVariantList.append( m_ncpList.length()); // number of nuclear critical points for (qint64 j = 0; j < m_ncpList.length(); ++j) { paramVariantList.append(m_ncpList.at(j).x()); paramVariantList.append(m_ncpList.at(j).y()); paramVariantList.append(m_ncpList.at(j).z()); } paramVariantList.append(0); // mode paramVariantList.append(basins.at(i)); // basin adapt_integrate_v(fdim, property_v, ¶mVariantList, dim, xmin, xmax, maxEval, tol, 0, val, err); } else { const qreal pi = 4.0 * atan(1.0); xmin[0] = 0.; xmax[0] = 8.; xmin[1] = 0.; xmax[1] = pi; xmin[2] = 0.; xmax[2] = 2.0 * pi; QVariantList paramVariantList; paramVariantList.append(m_temporaryFileName); paramVariantList.append( m_ncpList.length()); // number of nuclear critical points for (qint64 j = 0; j < m_ncpList.length(); ++j) { paramVariantList.append(m_ncpList.at(j).x()); paramVariantList.append(m_ncpList.at(j).y()); paramVariantList.append(m_ncpList.at(j).z()); } paramVariantList.append(0); // mode paramVariantList.append(basins.at(i)); // basin adapt_integrate_v(fdim, property_v_rtp, ¶mVariantList, dim, xmin, xmax, maxEval, tol, 0, val, err); } free(xmin); free(xmax); } else { unsigned int dim = 2; double* xmin; double* xmax; xmin = (double*)malloc(dim * sizeof(double)); xmax = (double*)malloc(dim * sizeof(double)); const qreal pi = 4.0 * atan(1.0); xmin[0] = 0.; xmax[0] = pi; xmin[1] = 0.; xmax[1] = 2.0 * pi; QVariantList paramVariantList; paramVariantList.append(m_temporaryFileName); paramVariantList.append( m_ncpList.length()); // number of nuclear critical points for (qint64 j = 0; j < m_ncpList.length(); ++j) { paramVariantList.append(m_ncpList.at(j).x()); paramVariantList.append(m_ncpList.at(j).y()); paramVariantList.append(m_ncpList.at(j).z()); } paramVariantList.append(0); // mode paramVariantList.append(basins.at(i)); // basin adapt_integrate_v(fdim, property_v_tp, ¶mVariantList, dim, xmin, xmax, maxEval, tol, 0, val, err); free(xmin); free(xmax); } qDebug() << "basin=" << basins.at(i) + 1 << "value= " << val[0] << "err=" << err[0]; QPair thisPair; thisPair.first = val[0]; thisPair.second = err[0]; value.append(thisPair); } free(val); free(err); return value; } QTAIMCubature::~QTAIMCubature() { if (QFile::exists(m_temporaryFileName)) { QFile::remove(m_temporaryFileName); } } void QTAIMCubature::setMode(qint64 mode) { m_mode = mode; } QString QTAIMCubature::temporaryFileName() { QTemporaryFile temporaryFile; temporaryFile.open(); QString tempFileName = temporaryFile.fileName(); temporaryFile.close(); temporaryFile.remove(); // wait for temporary file to be deleted QDir dir; do { // Nothing } while (dir.exists(tempFileName)); return tempFileName; } } // end namespace QtPlugins } // end namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimcubature.h000066400000000000000000000120621360735163600242550ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the GPL v3 or later (the "License"). You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ /* Based on */ /* Adaptive multidimensional integration of a vector of integrands. * * Copyright (c) 2005-2009 Steven G. Johnson * * Portions (see comments) based on HIntLib (also distributed under * the GNU GPL, v2 or later), copyright (c) 2002-2005 Rudolf Schuerer. * (http://www.cosy.sbg.ac.at/~rschuer/hintlib/) * * Portions (see comments) based on GNU GSL (also distributed under * the GNU GPL, v2 or later), copyright (c) 1996-2000 Brian Gough. * (http://www.gnu.org/software/gsl/) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ifndef QTAIMCUBATURE_H #define QTAIMCUBATURE_H #include //#ifdef __cplusplus // extern "C" //{ //#endif /* __cplusplus */ /* USAGE: Call adapt_integrate with your function as described below. To compile a test program, compile cubature.c with -DTEST_INTEGRATOR as described at the end. */ /* a vector integrand - evaluates the function at the given point x (an array of length ndim) and returns the result in fval (an array of length fdim). The void* parameter is there in case you have to pass any additional data through to your function (it corresponds to the fdata parameter you pass to adapt_integrate). */ typedef void (*integrand)(unsigned int ndim, const double* x, void*, unsigned int fdim, double* fval); /* a vector integrand of a vector of npt points: x[i*ndim + j] is the j-th coordinate of the i-th point, and the k-th function evaluation for the i-th point is returned in fval[k*npt + i]. */ typedef void (*integrand_v)(unsigned int ndim, unsigned int npt, const double* x, void*, unsigned int fdim, double* fval); /* Integrate the function f from xmin[dim] to xmax[dim], with at most maxEval function evaluations (0 for no limit), until the given absolute or relative error is achieved. val returns the integral, and err returns the estimate for the absolute error in val; both of these are arrays of length fdim, the dimension of the vector integrand f(x). The return value of the function is 0 on success and non-zero if there was an error. */ int adapt_integrate(unsigned int fdim, integrand f, void* fdata, unsigned int dim, const double* xmin, const double* xmax, unsigned int maxEval, double reqAbsError, double reqRelError, double* val, double* err); /* as adapt_integrate, but vectorized integrand */ int adapt_integrate_v(unsigned int fdim, integrand_v f, void* fdata, unsigned int dim, const double* xmin, const double* xmax, unsigned int maxEval, double reqAbsError, double reqRelError, double* val, double* err); //#ifdef __cplusplus //} /* extern "C" */ //#endif /* __cplusplus */ #include "qtaimcriticalpointlocator.h" #include "qtaimlsodaintegrator.h" #include "qtaimmathutilities.h" #include "qtaimodeintegrator.h" #include "qtaimwavefunction.h" #include "qtaimwavefunctionevaluator.h" namespace Avogadro { namespace QtPlugins { class QTAIMCubature { public: enum { ElectronDensity = 0, ElectronDensityLaplacian = 1 }; explicit QTAIMCubature(QTAIMWavefunction& wfn); ~QTAIMCubature(); QList> integrate(qint64 mode, QList basins); void setMode(qint64 mode); private: QTAIMWavefunction* m_wfn; qint64 m_mode; QList m_basins; QString m_temporaryFileName; QString temporaryFileName(); QList m_ncpList; }; } /* namespace QtPlugins */ } /* namespace Avogadro */ #endif /* QTAIMCUBATURE_H */ avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimengine.cpp000066400000000000000000000232511360735163600242450ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007 Donald Ephraim Curtis Copyright 2010 Eric C. Brown Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "qtaimengine.h" #include #include #include #include #include #include using namespace std; using namespace Avogadro; using namespace Avogadro::Rendering; namespace Avogadro { namespace QtPlugins { QTAIMEngine::QTAIMEngine(QObject* aParent) : QtGui::ScenePlugin(aParent), m_enabled(false) { } QTAIMEngine::~QTAIMEngine() { } void QTAIMEngine::process(const Core::Molecule& coreMolecule, Rendering::GroupNode& node) { const QtGui::Molecule* molecule = dynamic_cast(&coreMolecule); if (!molecule) return; // Create sphere/cylinder nodes. GeometryNode* geometry = new GeometryNode; node.addChild(geometry); SphereGeometry* spheres = new SphereGeometry; geometry->addDrawable(spheres); CylinderGeometry* cylinders = new CylinderGeometry; geometry->addDrawable(cylinders); // Render the bond paths if (molecule->property("QTAIMFirstNCPIndexVariantList").isValid() && molecule->property("QTAIMSecondNCPIndexVariantList").isValid() && molecule->property("QTAIMLaplacianAtBondCriticalPoints").isValid() && molecule->property("QTAIMEllipticityAtBondCriticalPoints").isValid() && molecule->property("QTAIMBondPathSegmentStartIndex").isValid() && molecule->property("QTAIMBondPathSegmentEndIndex").isValid() && molecule->property("QTAIMXBondPaths").isValid() && molecule->property("QTAIMYBondPaths").isValid() && molecule->property("QTAIMZBondPaths").isValid()) { QVariant firstNCPIndexVariant = molecule->property("QTAIMFirstNCPIndexVariantList"); QVariant secondNCPIndexVariant = molecule->property("QTAIMSecondNCPIndexVariantList"); QVariant laplacianAtBondCriticalPointsVariant = molecule->property("QTAIMLaplacianAtBondCriticalPoints"); QVariant ellipticityAtBondCriticalPointsVariant = molecule->property("QTAIMEllipticityAtBondCriticalPoints"); QVariant bondPathSegmentStartIndexVariant = molecule->property("QTAIMBondPathSegmentStartIndex"); QVariant bondPathSegmentEndIndexVariant = molecule->property("QTAIMBondPathSegmentEndIndex"); QVariant xBondPathsVariant = molecule->property("QTAIMXBondPaths"); QVariant yBondPathsVariant = molecule->property("QTAIMYBondPaths"); QVariant zBondPathsVariant = molecule->property("QTAIMZBondPaths"); QVariantList firstNCPIndexVariantList = firstNCPIndexVariant.toList(); QVariantList secondNCPIndexVariantList = secondNCPIndexVariant.toList(); QVariantList laplacianAtBondCriticalPointsVariantList = laplacianAtBondCriticalPointsVariant.toList(); QVariantList ellipticityAtBondCriticalPointsVariantList = ellipticityAtBondCriticalPointsVariant.toList(); QVariantList bondPathSegmentStartIndexVariantList = bondPathSegmentStartIndexVariant.toList(); QVariantList bondPathSegmentEndIndexVariantList = bondPathSegmentEndIndexVariant.toList(); QVariantList xBondPathsVariantList = xBondPathsVariant.toList(); QVariantList yBondPathsVariantList = yBondPathsVariant.toList(); QVariantList zBondPathsVariantList = zBondPathsVariant.toList(); for (qint64 i = 0; i < firstNCPIndexVariantList.length(); ++i) { qint64 start = bondPathSegmentStartIndexVariantList.at(i).toLongLong(); qint64 end = bondPathSegmentEndIndexVariantList.at(i).toLongLong(); if (laplacianAtBondCriticalPointsVariantList.at(i).toReal() > 0.0) { const qint64 step = 4; Vector3f xyz; Vector3ub color(255, 255, 255); for (qint64 j = start; j < end - 1; j = j + step) { xyz << xBondPathsVariantList.at(j).toFloat(), yBondPathsVariantList.at(j).toFloat(), zBondPathsVariantList.at(j).toFloat(); spheres->addSphere(xyz, color, 0.025f); } } else { const qint64 step = 1; Vector3ub color(255, 255, 255); double radius = 0.025; Vector3f v1; Vector3f v2; Vector3f direction; for (qint64 j = start; j < end - 1; j = j + step) { v1 << xBondPathsVariantList.at(j).toFloat(), yBondPathsVariantList.at(j).toFloat(), zBondPathsVariantList.at(j).toFloat(); v2 << xBondPathsVariantList.at(j + 1).toFloat(), yBondPathsVariantList.at(j + 1).toFloat(), zBondPathsVariantList.at(j + 1).toFloat(); direction = v2 - v1; float length = direction.norm(); direction /= length; cylinders->addCylinder(v1, v2, radius, color); } } } // bond path } if (molecule->property("QTAIMXNuclearCriticalPoints").isValid() && molecule->property("QTAIMYNuclearCriticalPoints").isValid() && molecule->property("QTAIMZNuclearCriticalPoints").isValid()) { QVariant xNuclearCriticalPointsVariant = molecule->property("QTAIMXNuclearCriticalPoints"); QVariant yNuclearCriticalPointsVariant = molecule->property("QTAIMYNuclearCriticalPoints"); QVariant zNuclearCriticalPointsVariant = molecule->property("QTAIMZNuclearCriticalPoints"); QVariantList xNuclearCriticalPointsVariantList = xNuclearCriticalPointsVariant.toList(); QVariantList yNuclearCriticalPointsVariantList = yNuclearCriticalPointsVariant.toList(); QVariantList zNuclearCriticalPointsVariantList = zNuclearCriticalPointsVariant.toList(); if (xNuclearCriticalPointsVariantList.length() == yNuclearCriticalPointsVariantList.length() && xNuclearCriticalPointsVariantList.length() == zNuclearCriticalPointsVariantList.length()) { Vector3f xyz; Vector3ub color(255, 64, 255); for (qint64 i = 0; i < xNuclearCriticalPointsVariantList.length(); ++i) { xyz << xNuclearCriticalPointsVariantList.at(i).toFloat(), yNuclearCriticalPointsVariantList.at(i).toFloat(), zNuclearCriticalPointsVariantList.at(i).toFloat(); // map->setFromPrimitive(ncp); spheres->addSphere(xyz, color, 0.1f); } } } if (molecule->property("QTAIMXBondCriticalPoints").isValid() && molecule->property("QTAIMYBondCriticalPoints").isValid() && molecule->property("QTAIMZBondCriticalPoints").isValid()) { QVariant xBondCriticalPointsVariant = molecule->property("QTAIMXBondCriticalPoints"); QVariant yBondCriticalPointsVariant = molecule->property("QTAIMYBondCriticalPoints"); QVariant zBondCriticalPointsVariant = molecule->property("QTAIMZBondCriticalPoints"); QVariantList xBondCriticalPointsVariantList = xBondCriticalPointsVariant.toList(); QVariantList yBondCriticalPointsVariantList = yBondCriticalPointsVariant.toList(); QVariantList zBondCriticalPointsVariantList = zBondCriticalPointsVariant.toList(); if (xBondCriticalPointsVariantList.length() == yBondCriticalPointsVariantList.length() && xBondCriticalPointsVariantList.length() == zBondCriticalPointsVariantList.length()) { Vector3ub color(255, 255, 32); Vector3f xyz; for (qint64 i = 0; i < xBondCriticalPointsVariantList.length(); ++i) { xyz << xBondCriticalPointsVariantList.at(i).toFloat(), yBondCriticalPointsVariantList.at(i).toFloat(), zBondCriticalPointsVariantList.at(i).toFloat(); // map->setFromPrimitive(ncp); spheres->addSphere(xyz, color, 0.1f); } } } if (molecule->property("QTAIMXElectronDensitySources").isValid() && molecule->property("QTAIMYElectronDensitySources").isValid() && molecule->property("QTAIMZElectronDensitySources").isValid()) { QVariant xElectronDensitySourcesVariant = molecule->property("QTAIMXElectronDensitySources"); QVariant yElectronDensitySourcesVariant = molecule->property("QTAIMYElectronDensitySources"); QVariant zElectronDensitySourcesVariant = molecule->property("QTAIMZElectronDensitySources"); QVariantList xElectronDensitySourcesVariantList = xElectronDensitySourcesVariant.toList(); QVariantList yElectronDensitySourcesVariantList = yElectronDensitySourcesVariant.toList(); QVariantList zElectronDensitySourcesVariantList = zElectronDensitySourcesVariant.toList(); if (xElectronDensitySourcesVariantList.length() == yElectronDensitySourcesVariantList.length() && xElectronDensitySourcesVariantList.length() == zElectronDensitySourcesVariantList.length()) { Vector3ub color(64, 64, 255); Vector3f xyz; for (qint64 i = 0; i < xElectronDensitySourcesVariantList.length(); ++i) { xyz << xElectronDensitySourcesVariantList.at(i).toFloat(), yElectronDensitySourcesVariantList.at(i).toFloat(), zElectronDensitySourcesVariantList.at(i).toFloat(); // map->setFromPrimitive(ncp); spheres->addSphere(xyz, color, 0.1f); } } } } } // end namespace QtPlugins } // end namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimengine.h000066400000000000000000000027511360735163600237140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2007 Donald Ephraim Curtis Copyright 2010 Eric C. Brown Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef QTAIMENGINE_H #define QTAIMENGINE_H #include #include namespace Avogadro { namespace QtPlugins { class QTAIMEngine : public QtGui::ScenePlugin { Q_OBJECT public: explicit QTAIMEngine(QObject* parent = 0); virtual ~QTAIMEngine() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("QTAIM"); } QString description() const override { return tr("Renders primitives using QTAIM properties"); } bool isEnabled() const override { return m_enabled; } void setEnabled(bool enable) override { m_enabled = enable; } private: bool m_enabled; }; } // end namespace QtPlugins } // end namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimextension.cpp000066400000000000000000000711031360735163600250130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2010 Eric C. Brown Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "qtaimextension.h" #include #include #include #include #include #include #include #include #include #include #include "qtaimcriticalpointlocator.h" #include "qtaimcubature.h" #include "qtaimwavefunction.h" #include "qtaimwavefunctionevaluator.h" #include using namespace std; using namespace Eigen; namespace Avogadro { namespace QtPlugins { enum QTAIMExtensionIndex { FirstAction = 0, SecondAction, ThirdAction }; QTAIMExtension::QTAIMExtension(QObject* aParent) : QtGui::ExtensionPlugin(aParent) { // create an action for our first action QAction* action = new QAction(this); action->setText(tr("Molecular Graph...")); m_actions.append(action); action->setData(FirstAction); connect(action, SIGNAL(triggered()), SLOT(triggered())); // create an action for our second action action = new QAction(this); action->setText(tr("Molecular Graph with Lone Pairs...")); m_actions.append(action); action->setData(SecondAction); connect(action, SIGNAL(triggered()), SLOT(triggered())); // create an action for our third action action = new QAction(this); action->setText(tr("Atomic Charge...")); m_actions.append(action); action->setData(ThirdAction); connect(action, SIGNAL(triggered()), SLOT(triggered())); } QTAIMExtension::~QTAIMExtension() { } QList QTAIMExtension::actions() const { return m_actions; } QStringList QTAIMExtension::menuPath(QAction*) const { return QStringList() << tr("E&xtensions") << tr("QTAIM"); } void QTAIMExtension::setMolecule(QtGui::Molecule* molecule) { m_molecule = molecule; } void QTAIMExtension::triggered() { QAction* action = qobject_cast(sender()); if (!action) return; bool wavefunctionAlreadyLoaded; if (m_molecule->property("QTAIMComment").isValid()) { wavefunctionAlreadyLoaded = true; } else { wavefunctionAlreadyLoaded = false; } int i = action->data().toInt(); QTime timer; timer.start(); QString fileName; if (wavefunctionAlreadyLoaded) { // do nothing } else { fileName = QFileDialog::getOpenFileName( new QWidget, tr("Open WFN File"), QDir::homePath(), tr("WFN files (*.wfn);;All files (*.*)")); if (fileName.isNull()) { qDebug() << "No such file."; return; } } // Instantiate a Wavefunction bool success; QTAIMWavefunction wfn; if (wavefunctionAlreadyLoaded) { success = wfn.initializeWithMoleculeProperties(m_molecule); } else { success = wfn.initializeWithWFNFile(fileName); } if (!success) { if (wavefunctionAlreadyLoaded) { qDebug() << "Error initializing wavefunction."; } else { qDebug() << "Error reading WFN file."; } return; } QtGui::Molecule::MoleculeChanges changes; if (m_molecule->atomCount() > 0) changes |= QtGui::Molecule::Atoms | QtGui::Molecule::Removed; if (m_molecule->bondCount() > 0) changes |= QtGui::Molecule::Bonds | QtGui::Molecule::Removed; m_molecule->clearAtoms(); m_molecule->emitChanged(static_cast(changes)); // Instantiate an Evaluator QTAIMWavefunctionEvaluator eval(wfn); switch (i) { case FirstAction: // Molecular Graph { // Instantiate a Critical Point Locator QTAIMCriticalPointLocator cpl(wfn); // Locate the Nuclear Critical Points cpl.locateNuclearCriticalPoints(); // QLists of results QList nucChargeList = wfn.nuclearChargesList(); QList ncpList = cpl.nuclearCriticalPoints(); QVariantList xNCPsVariantList; QVariantList yNCPsVariantList; QVariantList zNCPsVariantList; QVariantList nuclearChargesVariantList; const qreal convertBohrToAngstrom = 0.529177249; // Nuclear Critical Points for (qint64 n = 0; n < ncpList.length(); ++n) { QVector3D thisNuclearCriticalPoint = ncpList.at(n); qreal x = thisNuclearCriticalPoint.x() * convertBohrToAngstrom; qreal y = thisNuclearCriticalPoint.y() * convertBohrToAngstrom; qreal z = thisNuclearCriticalPoint.z() * convertBohrToAngstrom; xNCPsVariantList.append(x); yNCPsVariantList.append(y); zNCPsVariantList.append(z); nuclearChargesVariantList.append(wfn.nuclearCharge(n)); } m_molecule->setProperty("QTAIMXNuclearCriticalPoints", xNCPsVariantList); m_molecule->setProperty("QTAIMYNuclearCriticalPoints", yNCPsVariantList); m_molecule->setProperty("QTAIMZNuclearCriticalPoints", zNCPsVariantList); m_molecule->setProperty("QTAIMNuclearCharges", nuclearChargesVariantList); // Nuclei stored as Atoms for (qint64 n = 0; n < wfn.numberOfNuclei(); ++n) { qreal x = wfn.xNuclearCoordinate(n) * convertBohrToAngstrom; qreal y = wfn.yNuclearCoordinate(n) * convertBohrToAngstrom; qreal z = wfn.zNuclearCoordinate(n) * convertBohrToAngstrom; int Z = (int)wfn.nuclearCharge(n); m_molecule->addAtom(static_cast(Z)) .setPosition3d(Vector3(static_cast(x), static_cast(y), static_cast(z))); } if (m_molecule->atomCount() > 0) { m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Added); } // Locate the Bond Critical Points and Trace Bond Paths cpl.locateBondCriticalPoints(); // BCP and Bond Path Results QList bcpList = cpl.bondCriticalPoints(); QList> bondPathList = cpl.bondPaths(); QList> bondedAtomsList = cpl.bondedAtoms(); QList laplacianAtBondCriticalPoints = cpl.laplacianAtBondCriticalPoints(); QList ellipticityAtBondCriticalPoints = cpl.ellipticityAtBondCriticalPoints(); QVariantList xBCPsVariantList; QVariantList yBCPsVariantList; QVariantList zBCPsVariantList; QVariantList firstNCPIndexVariantList; QVariantList secondNCPIndexVariantList; QVariantList laplacianAtBondCriticalPointsVariantList; QVariantList ellipticityAtBondCriticalPointsVariantList; QVariantList bondPathSegmentStartIndexVariantList; QVariantList bondPathSegmentEndIndexVariantList; QVariantList xBondPathsVariantList; QVariantList yBondPathsVariantList; QVariantList zBondPathsVariantList; // Connectivity stored as Bonds qint64 bpCtr = 0; qint64 numAtoms = static_cast(m_molecule->atomCount()); for (qint64 atom0 = 0; atom0 < numAtoms - 1; ++atom0) { for (qint64 atom1 = atom0 + 1; atom1 < numAtoms; ++atom1) { bool areBonded = false; for (qint64 bondPair = 0; bondPair < bondedAtomsList.length(); ++bondPair) { if (atom0 == bondedAtomsList.at(bondPair).first && atom1 == bondedAtomsList.at(bondPair).second) { areBonded = true; if (areBonded) { if ((wfn.nuclearCharge(atom0) == 1 || wfn.nuclearCharge(atom1) == 1) && laplacianAtBondCriticalPoints.at(bondPair) > 0.0) { // do not draw Bond because it looks like hydrogen bond } else { m_molecule->addBond( m_molecule->atom(static_cast(atom0)), m_molecule->atom(static_cast(atom1))); // bond->setAromaticity(isAromatic); // bond->setOrder( (int) order); } qreal x = bcpList.at(bondPair).x() * convertBohrToAngstrom; qreal y = bcpList.at(bondPair).y() * convertBohrToAngstrom; qreal z = bcpList.at(bondPair).z() * convertBohrToAngstrom; xBCPsVariantList.append(x); yBCPsVariantList.append(y); zBCPsVariantList.append(z); firstNCPIndexVariantList.append(atom0); secondNCPIndexVariantList.append(atom1); laplacianAtBondCriticalPointsVariantList.append( laplacianAtBondCriticalPoints.at(bondPair)); ellipticityAtBondCriticalPointsVariantList.append( ellipticityAtBondCriticalPoints.at(bondPair)); bondPathSegmentStartIndexVariantList.append(bpCtr); for (qint64 j = 0; j < bondPathList.at(bondPair).length(); ++j) { x = bondPathList.at(bondPair).at(j).x() * convertBohrToAngstrom; y = bondPathList.at(bondPair).at(j).y() * convertBohrToAngstrom; z = bondPathList.at(bondPair).at(j).z() * convertBohrToAngstrom; xBondPathsVariantList.append(x); yBondPathsVariantList.append(y); zBondPathsVariantList.append(z); bpCtr++; } bondPathSegmentEndIndexVariantList.append(bpCtr); } } } // bond pairs } // atom1 } // atom 0 m_molecule->setProperty("QTAIMXBondCriticalPoints", xBCPsVariantList); m_molecule->setProperty("QTAIMYBondCriticalPoints", yBCPsVariantList); m_molecule->setProperty("QTAIMZBondCriticalPoints", zBCPsVariantList); m_molecule->setProperty("QTAIMFirstNCPIndexVariantList", firstNCPIndexVariantList); m_molecule->setProperty("QTAIMSecondNCPIndexVariantList", secondNCPIndexVariantList); m_molecule->setProperty("QTAIMLaplacianAtBondCriticalPoints", laplacianAtBondCriticalPointsVariantList); m_molecule->setProperty("QTAIMEllipticityAtBondCriticalPoints", ellipticityAtBondCriticalPointsVariantList); m_molecule->setProperty("QTAIMBondPathSegmentStartIndex", bondPathSegmentStartIndexVariantList); m_molecule->setProperty("QTAIMBondPathSegmentEndIndex", bondPathSegmentEndIndexVariantList); m_molecule->setProperty("QTAIMXBondPaths", xBondPathsVariantList); m_molecule->setProperty("QTAIMYBondPaths", yBondPathsVariantList); m_molecule->setProperty("QTAIMZBondPaths", zBondPathsVariantList); if (m_molecule->bondCount()) { m_molecule->emitChanged(QtGui::Molecule::Bonds | QtGui::Molecule::Added); } } break; case SecondAction: // Molecular Graph with Lone Pairs { // Instantiate a Critical Point Locator QTAIMCriticalPointLocator cpl(wfn); // Locate the Nuclear Critical Points cpl.locateNuclearCriticalPoints(); // QLists of results QList nucChargeList = wfn.nuclearChargesList(); QList ncpList = cpl.nuclearCriticalPoints(); QVariantList xNCPsVariantList; QVariantList yNCPsVariantList; QVariantList zNCPsVariantList; QVariantList nuclearChargesVariantList; const qreal convertBohrToAngstrom = 0.529177249; // Nuclear Critical Points for (qint64 n = 0; n < ncpList.length(); ++n) { QVector3D thisNuclearCriticalPoint = ncpList.at(n); qreal x = thisNuclearCriticalPoint.x() * convertBohrToAngstrom; qreal y = thisNuclearCriticalPoint.y() * convertBohrToAngstrom; qreal z = thisNuclearCriticalPoint.z() * convertBohrToAngstrom; xNCPsVariantList.append(x); yNCPsVariantList.append(y); zNCPsVariantList.append(z); nuclearChargesVariantList.append(wfn.nuclearCharge(n)); } m_molecule->setProperty("QTAIMXNuclearCriticalPoints", xNCPsVariantList); m_molecule->setProperty("QTAIMYNuclearCriticalPoints", yNCPsVariantList); m_molecule->setProperty("QTAIMZNuclearCriticalPoints", zNCPsVariantList); m_molecule->setProperty("QTAIMNuclearCharges", nuclearChargesVariantList); // Nuclei stored as Atoms for (qint64 n = 0; n < wfn.numberOfNuclei(); ++n) { qreal x = wfn.xNuclearCoordinate(n) * convertBohrToAngstrom; qreal y = wfn.yNuclearCoordinate(n) * convertBohrToAngstrom; qreal z = wfn.zNuclearCoordinate(n) * convertBohrToAngstrom; int Z = (int)wfn.nuclearCharge(n); m_molecule->addAtom(static_cast(Z)) .setPosition3d(Vector3(static_cast(x), static_cast(y), static_cast(z))); } if (m_molecule->atomCount() > 0) { m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Added); } // Locate the Bond Critical Points and Trace Bond Paths cpl.locateBondCriticalPoints(); // BCP and Bond Path Results QList bcpList = cpl.bondCriticalPoints(); QList> bondPathList = cpl.bondPaths(); QList> bondedAtomsList = cpl.bondedAtoms(); QList laplacianAtBondCriticalPoints = cpl.laplacianAtBondCriticalPoints(); QList ellipticityAtBondCriticalPoints = cpl.ellipticityAtBondCriticalPoints(); QVariantList xBCPsVariantList; QVariantList yBCPsVariantList; QVariantList zBCPsVariantList; QVariantList firstNCPIndexVariantList; QVariantList secondNCPIndexVariantList; QVariantList laplacianAtBondCriticalPointsVariantList; QVariantList ellipticityAtBondCriticalPointsVariantList; QVariantList bondPathSegmentStartIndexVariantList; QVariantList bondPathSegmentEndIndexVariantList; QVariantList xBondPathsVariantList; QVariantList yBondPathsVariantList; QVariantList zBondPathsVariantList; // Connectivity stored as Bonds qint64 bpCtr = 0; qint64 numAtoms = static_cast(m_molecule->atomCount()); for (qint64 atom0 = 0; atom0 < numAtoms - 1; ++atom0) { for (qint64 atom1 = atom0 + 1; atom1 < numAtoms; ++atom1) { bool areBonded = false; for (qint64 bondPair = 0; bondPair < bondedAtomsList.length(); ++bondPair) { if (atom0 == bondedAtomsList.at(bondPair).first && atom1 == bondedAtomsList.at(bondPair).second) { areBonded = true; if (areBonded) { if ((wfn.nuclearCharge(atom0) == 1 || wfn.nuclearCharge(atom1) == 1) && laplacianAtBondCriticalPoints.at(bondPair) > 0.0) { // do not draw Bond because it looks like hydrogen bond } else { m_molecule->addBond( m_molecule->atom(static_cast(atom0)), m_molecule->atom(static_cast(atom1))); // bond->setAromaticity(isAromatic); // bond->setOrder( (int) order); } qreal x = bcpList.at(bondPair).x() * convertBohrToAngstrom; qreal y = bcpList.at(bondPair).y() * convertBohrToAngstrom; qreal z = bcpList.at(bondPair).z() * convertBohrToAngstrom; xBCPsVariantList.append(x); yBCPsVariantList.append(y); zBCPsVariantList.append(z); firstNCPIndexVariantList.append(atom0); secondNCPIndexVariantList.append(atom1); laplacianAtBondCriticalPointsVariantList.append( laplacianAtBondCriticalPoints.at(bondPair)); ellipticityAtBondCriticalPointsVariantList.append( ellipticityAtBondCriticalPoints.at(bondPair)); bondPathSegmentStartIndexVariantList.append(bpCtr); for (qint64 j = 0; j < bondPathList.at(bondPair).length(); ++j) { x = bondPathList.at(bondPair).at(j).x() * convertBohrToAngstrom; y = bondPathList.at(bondPair).at(j).y() * convertBohrToAngstrom; z = bondPathList.at(bondPair).at(j).z() * convertBohrToAngstrom; xBondPathsVariantList.append(x); yBondPathsVariantList.append(y); zBondPathsVariantList.append(z); bpCtr++; } bondPathSegmentEndIndexVariantList.append(bpCtr); } } } // bond pairs } // atom1 } // atom 0 m_molecule->setProperty("QTAIMXBondCriticalPoints", xBCPsVariantList); m_molecule->setProperty("QTAIMYBondCriticalPoints", yBCPsVariantList); m_molecule->setProperty("QTAIMZBondCriticalPoints", zBCPsVariantList); m_molecule->setProperty("QTAIMFirstNCPIndexVariantList", firstNCPIndexVariantList); m_molecule->setProperty("QTAIMSecondNCPIndexVariantList", secondNCPIndexVariantList); m_molecule->setProperty("QTAIMLaplacianAtBondCriticalPoints", laplacianAtBondCriticalPointsVariantList); m_molecule->setProperty("QTAIMEllipticityAtBondCriticalPoints", ellipticityAtBondCriticalPointsVariantList); m_molecule->setProperty("QTAIMBondPathSegmentStartIndex", bondPathSegmentStartIndexVariantList); m_molecule->setProperty("QTAIMBondPathSegmentEndIndex", bondPathSegmentEndIndexVariantList); m_molecule->setProperty("QTAIMXBondPaths", xBondPathsVariantList); m_molecule->setProperty("QTAIMYBondPaths", yBondPathsVariantList); m_molecule->setProperty("QTAIMZBondPaths", zBondPathsVariantList); if (m_molecule->bondCount()) { m_molecule->emitChanged(QtGui::Molecule::Bonds | QtGui::Molecule::Added); } // Locate Electron Density Sources / Lone Pairs cpl.locateElectronDensitySources(); QList electronDensitySourcesList = cpl.electronDensitySources(); QVariantList xElectronDensitySourcesVariantList; QVariantList yElectronDensitySourcesVariantList; QVariantList zElectronDensitySourcesVariantList; for (qint64 n = 0; n < electronDensitySourcesList.length(); ++n) { QVector3D thisCriticalPoint = electronDensitySourcesList.at(n); qreal x = thisCriticalPoint.x() * convertBohrToAngstrom; qreal y = thisCriticalPoint.y() * convertBohrToAngstrom; qreal z = thisCriticalPoint.z() * convertBohrToAngstrom; xElectronDensitySourcesVariantList.append(x); yElectronDensitySourcesVariantList.append(y); zElectronDensitySourcesVariantList.append(z); } m_molecule->setProperty("QTAIMXElectronDensitySources", xElectronDensitySourcesVariantList); m_molecule->setProperty("QTAIMYElectronDensitySources", yElectronDensitySourcesVariantList); m_molecule->setProperty("QTAIMZElectronDensitySources", zElectronDensitySourcesVariantList); // TODO need some way to indicate that the properties have changed: // m_molecule->update(); } break; case ThirdAction: // perform third action { // Instantiate a Critical Point Locator QTAIMCriticalPointLocator cpl(wfn); // Locate the Nuclear Critical Points cpl.locateNuclearCriticalPoints(); // QLists of results QList nucChargeList = wfn.nuclearChargesList(); QList ncpList = cpl.nuclearCriticalPoints(); QVariantList xNCPsVariantList; QVariantList yNCPsVariantList; QVariantList zNCPsVariantList; QVariantList nuclearChargesVariantList; const qreal convertBohrToAngstrom = 0.529177249; // Nuclear Critical Points for (qint64 n = 0; n < ncpList.length(); ++n) { QVector3D thisNuclearCriticalPoint = ncpList.at(n); qreal x = thisNuclearCriticalPoint.x() * convertBohrToAngstrom; qreal y = thisNuclearCriticalPoint.y() * convertBohrToAngstrom; qreal z = thisNuclearCriticalPoint.z() * convertBohrToAngstrom; xNCPsVariantList.append(x); yNCPsVariantList.append(y); zNCPsVariantList.append(z); nuclearChargesVariantList.append(wfn.nuclearCharge(n)); } m_molecule->setProperty("QTAIMXNuclearCriticalPoints", xNCPsVariantList); m_molecule->setProperty("QTAIMYNuclearCriticalPoints", yNCPsVariantList); m_molecule->setProperty("QTAIMZNuclearCriticalPoints", zNCPsVariantList); m_molecule->setProperty("QTAIMNuclearCharges", nuclearChargesVariantList); // Nuclei stored as Atoms for (qint64 n = 0; n < wfn.numberOfNuclei(); ++n) { qreal x = wfn.xNuclearCoordinate(n) * convertBohrToAngstrom; qreal y = wfn.yNuclearCoordinate(n) * convertBohrToAngstrom; qreal z = wfn.zNuclearCoordinate(n) * convertBohrToAngstrom; int Z = (int)wfn.nuclearCharge(n); m_molecule->addAtom(static_cast(Z)) .setPosition3d(Vector3(static_cast(x), static_cast(y), static_cast(z))); } if (m_molecule->atomCount() > 0) { m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Added); } // Locate the Bond Critical Points and Trace Bond Paths cpl.locateBondCriticalPoints(); // BCP and Bond Path Results QList bcpList = cpl.bondCriticalPoints(); QList> bondPathList = cpl.bondPaths(); QList> bondedAtomsList = cpl.bondedAtoms(); QList laplacianAtBondCriticalPoints = cpl.laplacianAtBondCriticalPoints(); QList ellipticityAtBondCriticalPoints = cpl.ellipticityAtBondCriticalPoints(); QVariantList xBCPsVariantList; QVariantList yBCPsVariantList; QVariantList zBCPsVariantList; QVariantList firstNCPIndexVariantList; QVariantList secondNCPIndexVariantList; QVariantList laplacianAtBondCriticalPointsVariantList; QVariantList ellipticityAtBondCriticalPointsVariantList; QVariantList bondPathSegmentStartIndexVariantList; QVariantList bondPathSegmentEndIndexVariantList; QVariantList xBondPathsVariantList; QVariantList yBondPathsVariantList; QVariantList zBondPathsVariantList; // Connectivity stored as Bonds qint64 bpCtr = 0; qint64 numAtoms = static_cast(m_molecule->atomCount()); for (qint64 atom0 = 0; atom0 < numAtoms - 1; ++atom0) { for (qint64 atom1 = atom0 + 1; atom1 < numAtoms; ++atom1) { bool areBonded = false; for (qint64 bondPair = 0; bondPair < bondedAtomsList.length(); ++bondPair) { if (atom0 == bondedAtomsList.at(bondPair).first && atom1 == bondedAtomsList.at(bondPair).second) { areBonded = true; if (areBonded) { if ((wfn.nuclearCharge(atom0) == 1 || wfn.nuclearCharge(atom1) == 1) && laplacianAtBondCriticalPoints.at(bondPair) > 0.0) { // do not draw Bond because it looks like hydrogen bond } else { m_molecule->addBond( m_molecule->atom(static_cast(atom0)), m_molecule->atom(static_cast(atom1))); // bond->setAromaticity(isAromatic); // bond->setOrder( (int) order); } qreal x = bcpList.at(bondPair).x() * convertBohrToAngstrom; qreal y = bcpList.at(bondPair).y() * convertBohrToAngstrom; qreal z = bcpList.at(bondPair).z() * convertBohrToAngstrom; xBCPsVariantList.append(x); yBCPsVariantList.append(y); zBCPsVariantList.append(z); firstNCPIndexVariantList.append(atom0); secondNCPIndexVariantList.append(atom1); laplacianAtBondCriticalPointsVariantList.append( laplacianAtBondCriticalPoints.at(bondPair)); ellipticityAtBondCriticalPointsVariantList.append( ellipticityAtBondCriticalPoints.at(bondPair)); bondPathSegmentStartIndexVariantList.append(bpCtr); for (qint64 j = 0; j < bondPathList.at(bondPair).length(); ++j) { x = bondPathList.at(bondPair).at(j).x() * convertBohrToAngstrom; y = bondPathList.at(bondPair).at(j).y() * convertBohrToAngstrom; z = bondPathList.at(bondPair).at(j).z() * convertBohrToAngstrom; xBondPathsVariantList.append(x); yBondPathsVariantList.append(y); zBondPathsVariantList.append(z); bpCtr++; } bondPathSegmentEndIndexVariantList.append(bpCtr); } } } // bond pairs } // atom1 } // atom 0 m_molecule->setProperty("QTAIMXBondCriticalPoints", xBCPsVariantList); m_molecule->setProperty("QTAIMYBondCriticalPoints", yBCPsVariantList); m_molecule->setProperty("QTAIMZBondCriticalPoints", zBCPsVariantList); m_molecule->setProperty("QTAIMFirstNCPIndexVariantList", firstNCPIndexVariantList); m_molecule->setProperty("QTAIMSecondNCPIndexVariantList", secondNCPIndexVariantList); m_molecule->setProperty("QTAIMLaplacianAtBondCriticalPoints", laplacianAtBondCriticalPointsVariantList); m_molecule->setProperty("QTAIMEllipticityAtBondCriticalPoints", ellipticityAtBondCriticalPointsVariantList); m_molecule->setProperty("QTAIMBondPathSegmentStartIndex", bondPathSegmentStartIndexVariantList); m_molecule->setProperty("QTAIMBondPathSegmentEndIndex", bondPathSegmentEndIndexVariantList); m_molecule->setProperty("QTAIMXBondPaths", xBondPathsVariantList); m_molecule->setProperty("QTAIMYBondPaths", yBondPathsVariantList); m_molecule->setProperty("QTAIMZBondPaths", zBondPathsVariantList); if (m_molecule->bondCount() > 0) { m_molecule->emitChanged(QtGui::Molecule::Bonds | QtGui::Molecule::Added); } // Electron Density qint64 mode = 0; // All Atomic Basins QList basins; for (qint64 j = 0; j < wfn.numberOfNuclei(); ++j) { basins.append(j); } QTAIMCubature cub(wfn); // QTime time; // time.start(); QList> results = cub.integrate(mode, basins); // qDebug() << "Time Elapsed:" << time.elapsed(); for (qint64 j = 0; j < results.length(); ++j) { qDebug() << "basin" << j << results.at(j).first << results.at(j).second; } // TODO: Set the properties of the atoms. // I don't know why this bombs. for (qint64 j = 0; static_cast(m_molecule->atomCount()); ++j) { // Atom *atom=m_molecule->atoms().at(i); // const qreal charge=results.at(i).first; // atom->setPartialCharge( charge ); } } break; } emit requestActiveTool("Navigator"); emit requestActiveDisplayTypes(QStringList() << "QTAIMScenePlugin"); return; } } // end namespace QtPlugins } // end namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimextension.h000066400000000000000000000027341360735163600244640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2010 Eric C. Brown Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef QTAIMEXTENSION_H #define QTAIMEXTENSION_H #include #include namespace Avogadro { namespace QtPlugins { class QTAIMExtension : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit QTAIMExtension(QObject* parent = 0); ~QTAIMExtension() override; QString name() const override { return tr("QTAIM"); } QString description() const override { return tr("QTAIM extension"); } QList actions() const override; QStringList menuPath(QAction* action) const override; public slots: void setMolecule(QtGui::Molecule* molecule) override; private slots: void triggered(); private: QList m_actions; QtGui::Molecule* m_molecule; }; } // end namespace QtPlugins } // end namespace Avogadro #endif // QTAIMEXTENSION_H avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimlsodaintegrator.cpp000066400000000000000000002141131360735163600262000ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ /* From tam@dragonfly.wri.com Wed Apr 24 01:35:52 1991 Return-Path: Date: Wed, 24 Apr 91 03:35:24 CDT From: tam@dragonfly.wri.com To: whitbeck@wheeler.wrc.unr.edu Subject: lsoda.c Cc: augenbau@sparc0.brc.uconn.edu I'm told by Steve Nichols at Georgia Tech that you are interested in a stiff integrator. Here's a translation of the fortran code LSODA. Please note that there is no comment. The interface is the same as the FORTRAN code and I believe the documentation in LSODA will suffice. As usual, a free software comes with no guarantee. Hon Wah Tam Wolfram Research, Inc. tam@wri.com */ #include "qtaimlsodaintegrator.h" namespace Avogadro { namespace QtPlugins { QTAIMLSODAIntegrator::QTAIMLSODAIntegrator(QTAIMWavefunctionEvaluator& eval, const qint64 mode) { m_eval = &eval; m_mode = mode; m_betaSpheres.empty(); m_associatedSphere = 0; } QVector3D QTAIMLSODAIntegrator::integrate(QVector3D x0y0z0) { qreal x0 = x0y0z0.x(); qreal y0 = x0y0z0.y(); qreal z0 = x0y0z0.z(); mord[0] = 0; mord[1] = 12; mord[2] = 5; sm1[0] = 0.; sm1[1] = 0.5; sm1[2] = 0.575; sm1[3] = 0.55; sm1[4] = 0.45; sm1[5] = 0.35; sm1[6] = 0.25; sm1[7] = 0.2; sm1[8] = 0.15; sm1[9] = 0.1; sm1[10] = 0.075; sm1[11] = 0.05; sm1[12] = 0.025; illin = 0; init = 0; ntrep = 0; ixpr = 0; mesflg = 1; double rwork1, rwork5, rwork6, rwork7; double atol[4], rtol[4], t, tout, y[4]; int iwork1, iwork2, iwork5, iwork6, iwork7, iwork8, iwork9; int neq = 3; int itol, itask, istate, iopt, jt; y[1] = x0; y[2] = y0; y[3] = z0; double t0; double tf = 100.0; double dt = 0.1; m_path.clear(); m_path.append(QVector3D(y[1], y[2], y[3])); t = 0.0; for (t0 = 0.0; t0 < tf; t0 = t0 + dt) { iwork1 = iwork2 = iwork5 = iwork6 = iwork7 = iwork8 = iwork9 = 0; rwork1 = rwork5 = rwork6 = rwork7 = 0.0; t = t0; tout = t0 + dt; itol = 2; rtol[0] = 0.0; atol[0] = 0.0; rtol[1] = 0.0; rtol[2] = 0.0; rtol[3] = 0.0; atol[1] = 5.0E-5; atol[2] = 5.0E-5; atol[3] = 5.0E-5; itask = 1; istate = 1; iopt = 0; jt = 2; // if( t0 + dt > tf ) qDebug() << "END"; // beta spheres if (m_mode == QTAIMLSODAIntegrator::SteepestAscentPathInElectronDensity) { if (m_betaSpheres.length() > 0) { for (qint64 n_ = 0; n_ < m_betaSpheres.length(); ++n_) { Matrix a(y[1], y[2], y[3]); Matrix b(m_betaSpheres.at(n_).first.x(), m_betaSpheres.at(n_).first.y(), m_betaSpheres.at(n_).first.z()); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < m_betaSpheres.at(n_).second) { m_status = 0; m_associatedSphere = n_; return QVector3D(m_betaSpheres.at(n_).first.x(), m_betaSpheres.at(n_).first.y(), m_betaSpheres.at(n_).first.z()); } } } } // beta spheres lsoda(neq, y, &t, tout, itol, rtol, atol, itask, &istate, iopt, jt, iwork1, iwork2, iwork5, iwork6, iwork7, iwork8, iwork9, rwork1, rwork5, rwork6, rwork7); m_path.append(QVector3D(y[1], y[2], y[3])); // qDebug(" at t= %12.4e y= %14.6e %14.6e %14.6e", t,y[1],y[2],y[3]); if (istate <= 0) { // qDebug("error istate = %d",istate); // qDebug(" at t= %12.4e y= %14.6e %14.6e %14.6e", // t,y[1],y[2],y[3]); return QVector3D(y[1], y[2], y[3]); } } // ode step return QVector3D(y[1], y[2], y[3]); } void QTAIMLSODAIntegrator::f(int neq, double t, double* y, double* ydot) { neq = neq; // suppress warning t = t; // suppress warning Matrix gradient; Matrix gH; Matrix g; Matrix H; Matrix xyz; xyz << y[1], y[2], y[3]; if (m_mode == SteepestAscentPathInElectronDensity) { g = m_eval->gradientOfElectronDensity(xyz); } else { if (m_mode == 1 || m_mode == 2 || m_mode == 3 || m_mode == 4) { gH = m_eval->gradientAndHessianOfElectronDensity(xyz); } else { gH = m_eval->gradientAndHessianOfElectronDensityLaplacian(xyz); } g(0) = gH(0, 0); g(1) = gH(1, 0); g(2) = gH(2, 0); H(0, 0) = gH(0, 1); H(1, 0) = gH(1, 1); H(2, 0) = gH(2, 1); H(0, 1) = gH(0, 2); H(1, 1) = gH(1, 2); H(2, 1) = gH(2, 2); H(0, 2) = gH(0, 3); H(1, 2) = gH(1, 3); H(2, 2) = gH(2, 3); } switch (m_mode) { case SteepestAscentPathInElectronDensity: gradient = g; break; case CMBPMinusThreeGradientInElectronDensity: gradient = QTAIMMathUtilities::minusThreeSignatureLocatorGradient(g, H); break; case CMBPMinusOneGradientInElectronDensity: gradient = QTAIMMathUtilities::minusOneSignatureLocatorGradient(g, H); break; case CMBPPlusOneGradientInElectronDensity: gradient = QTAIMMathUtilities::plusOneSignatureLocatorGradient(g, H); break; case CMBPPlusThreeGradientInElectronDensity: gradient = QTAIMMathUtilities::plusThreeSignatureLocatorGradient(g, H); break; case CMBPMinusThreeGradientInElectronDensityLaplacian: gradient = QTAIMMathUtilities::minusThreeSignatureLocatorGradient(g, H); break; case CMBPMinusOneGradientInElectronDensityLaplacian: gradient = QTAIMMathUtilities::minusOneSignatureLocatorGradient(g, H); break; case CMBPPlusOneGradientInElectronDensityLaplacian: gradient = QTAIMMathUtilities::plusOneSignatureLocatorGradient(g, H); break; case CMBPPlusThreeGradientInElectronDensityLaplacian: gradient = QTAIMMathUtilities::plusThreeSignatureLocatorGradient(g, H); break; default: qDebug() << "Catastrophic: No ODE parameters for this property."; exit(1); break; } qreal normGradient = sqrt(gradient(0) * gradient(0) + gradient(1) * gradient(1) + gradient(2) * gradient(2)); ydot[1] = gradient(0) / normGradient; ydot[2] = gradient(1) / normGradient; ydot[3] = gradient(2) / normGradient; } void QTAIMLSODAIntegrator::daxpy(int n_, double da, double* dx, int incx, double* dy, int incy) /* Purpose : To compute dy = da * dx + dy --- Input --- n : number of elements in input vector(s) da : double scalar multiplier dx : double vector with n+1 elements, dx[0] is not used incx : storage spacing between elements of dx dy : double vector with n+1 elements, dy[0] is not used incy : storage spacing between elements of dy --- Output --- dy = da * dx + dy, unchanged if n <= 0 For i = 0 to n-1, replace dy[ly+i*incy] with da*dx[lx+i*incx] + dy[ly+i*incy], where lx = 1 if incx >= 0, else lx = (-incx)*(n-1)+1 and ly is defined in a similar way using incy. */ { int ix, iy, i, m; if (n_ < 0 || da == 0.) return; /* Code for nonequal or nonpositive increments. */ if (incx != incy || incx < 1) { ix = 1; iy = 1; if (incx < 0) ix = (-n_ + 1) * incx + 1; if (incy < 0) iy = (-n_ + 1) * incy + 1; for (i = 1; i <= n_; i++) { dy[iy] = dy[iy] + da * dx[ix]; ix = ix + incx; iy = iy + incy; } return; } /* Code for both increments equal to 1. */ /* Clean-up loop so remaining vector length is a multiple of 4. */ if (incx == 1) { m = n_ % 4; if (m != 0) { for (i = 1; i <= m; i++) dy[i] = dy[i] + da * dx[i]; if (n_ < 4) return; } for (i = m + 1; i <= n_; i = i + 4) { dy[i] = dy[i] + da * dx[i]; dy[i + 1] = dy[i + 1] + da * dx[i + 1]; dy[i + 2] = dy[i + 2] + da * dx[i + 2]; dy[i + 3] = dy[i + 3] + da * dx[i + 3]; } return; } /* Code for equal, positive, nonunit increments. */ for (i = 1; i <= n_ * incx; i = i + incx) dy[i] = da * dx[i] + dy[i]; return; } double QTAIMLSODAIntegrator::ddot(int n_, double* dx, int incx, double* dy, int incy) /* Purpose : Inner product dx . dy --- Input --- n : number of elements in input vector(s) dx : double vector with n+1 elements, dx[0] is not used incx : storage spacing between elements of dx dy : double vector with n+1 elements, dy[0] is not used incy : storage spacing between elements of dy --- Output --- ddot : dot product dx . dy, 0 if n <= 0 ddot = sum for i = 0 to n-1 of dx[lx+i*incx] * dy[ly+i*incy] where lx = 1 if incx >= 0, else lx = (-incx)*(n-1)+1, and ly is defined in a similar way using incy. */ { double dotprod; int ix, iy, i, m; dotprod = 0.; if (n_ <= 0) return dotprod; /* Code for unequal or nonpositive increments. */ if (incx != incy || incx < 1) { ix = 1; iy = 1; if (incx < 0) ix = (-n_ + 1) * incx + 1; if (incy < 0) iy = (-n_ + 1) * incy + 1; for (i = 1; i <= n_; i++) { dotprod = dotprod + dx[ix] * dy[iy]; ix = ix + incx; iy = iy + incy; } return dotprod; } /* Code for both increments equal to 1. */ /* Clean-up loop so remaining vector length is a multiple of 5. */ if (incx == 1) { m = n_ % 5; if (m != 0) { for (i = 1; i <= m; i++) dotprod = dotprod + dx[i] * dy[i]; if (n_ < 5) return dotprod; } for (i = m + 1; i <= n_; i = i + 5) dotprod = dotprod + dx[i] * dy[i] + dx[i + 1] * dy[i + 1] + dx[i + 2] * dy[i + 2] + dx[i + 3] * dy[i + 3] + dx[i + 4] * dy[i + 4]; return dotprod; } /* Code for positive equal nonunit increments. */ for (i = 1; i <= n_ * incx; i = i + incx) dotprod = dotprod + dx[i] * dy[i]; return dotprod; } void QTAIMLSODAIntegrator::dgefa(double** a, int n_, int* ipvt_, int* info) /* Purpose : dgefa factors a double matrix by Gaussian elimination. dgefa is usually called by dgeco, but it can be called directly with a saving in time if rcond is not needed. (Time for dgeco) = (1+9/n)*(time for dgefa). This c version uses algorithm kji rather than the kij in dgefa.f. Note that the fortran version input variable lda is not needed. On Entry : a : double matrix of dimension ( n+1, n+1 ), the 0-th row and column are not used. a is created using NewDoubleMatrix, hence lda is unnecessary. n : the row dimension of a. On Return : a : a lower triangular matrix and the multipliers which were used to obtain it. The factorization can be written a = L * U where U is a product of permutation and unit upper triangular matrices and L is lower triangular. ipvt : an n+1 integer vector of pivot indices. *info : = 0 normal value, = k if U[k][k] == 0. This is not an error condition for this subroutine, but it does indicate that dgesl or dgedi will divide by zero if called. Use rcond in dgeco for a reliable indication of singularity. Notice that the calling program must use &info. BLAS : daxpy, dscal, idamax */ { int j, k, i; double t; /* Gaussian elimination with partial pivoting. */ *info = 0; for (k = 1; k <= n_ - 1; k++) { /* Find j = pivot index. Note that a[k]+k-1 is the address of the 0-th element of the row vector whose 1st element is a[k][k]. */ j = idamax(n_ - k + 1, a[k] + k - 1, 1) + k - 1; ipvt_[k] = j; /* Zero pivot implies this row already triangularized. */ if (a[k][j] == 0.) { *info = k; continue; } /* Interchange if necessary. */ if (j != k) { t = a[k][j]; a[k][j] = a[k][k]; a[k][k] = t; } /* Compute multipliers. */ t = -1. / a[k][k]; dscal(n_ - k, t, a[k] + k, 1); /* Column elimination with row indexing. */ for (i = k + 1; i <= n_; i++) { t = a[i][j]; if (j != k) { a[i][j] = a[i][k]; a[i][k] = t; } daxpy(n_ - k, t, a[k] + k, 1, a[i] + k, 1); } } /* end k-loop */ ipvt_[n_] = n_; if (a[n_][n_] == 0.) *info = n_; } void QTAIMLSODAIntegrator::dgesl(double** a, int n_, int* ipvt_, double* b, int job) /* Purpose : dgesl solves the linear system a * x = b or Transpose(a) * x = b using the factors computed by dgeco or degfa. On Entry : a : double matrix of dimension ( n+1, n+1 ), the output from dgeco or dgefa. The 0-th row and column are not used. n : the row dimension of a. ipvt : the pivot vector from degco or dgefa. b : the right hand side vector. job : = 0 to solve a * x = b, = nonzero to solve Transpose(a) * x = b. On Return : b : the solution vector x. Error Condition : A division by zero will occur if the input factor contains a zero on the diagonal. Technically this indicates singularity but it is often caused by improper arguments or improper setting of the pointers of a. It will not occur if the subroutines are called correctly and if dgeco has set rcond > 0 or dgefa has set info = 0. BLAS : daxpy, ddot */ { int k, j; double t; /* Job = 0, solve a * x = b. */ if (job == 0) { /* First solve L * y = b. */ for (k = 1; k <= n_; k++) { t = ddot(k - 1, a[k], 1, b, 1); b[k] = (b[k] - t) / a[k][k]; } /* Now solve U * x = y. */ for (k = n_ - 1; k >= 1; k--) { b[k] = b[k] + ddot(n_ - k, a[k] + k, 1, b + k, 1); j = ipvt_[k]; if (j != k) { t = b[j]; b[j] = b[k]; b[k] = t; } } return; } /* Job = nonzero, solve Transpose(a) * x = b. First solve Transpose(U) * y = b. */ for (k = 1; k <= n_ - 1; k++) { j = ipvt_[k]; t = b[j]; if (j != k) { b[j] = b[k]; b[k] = t; } daxpy(n_ - k, t, a[k] + k, 1, b + k, 1); } /* Now solve Transpose(L) * x = y. */ for (k = n_; k >= 1; k--) { b[k] = b[k] / a[k][k]; t = -b[k]; daxpy(k - 1, t, a[k], 1, b, 1); } } void QTAIMLSODAIntegrator::dscal(int n_, double da, double* dx, int incx) /* Purpose : scalar vector multiplication dx = da * dx --- Input --- n : number of elements in input vector da : double scale factor dx : double vector with n+1 elements, dx[0] is not used incx : storage spacing between elements of dx --- Output --- dx = da * dx, unchanged if n <= 0 For i = 0 to n-1, replace dx[1+i*incx] with da * dx[1+i*incx]. */ { int m, i; if (n_ <= 0) return; /* Code for increments not equal to 1. */ if (incx != 1) { for (i = 1; i <= n_ * incx; i = i + incx) dx[i] = da * dx[i]; return; } /* Code for increments equal to 1. */ /* Clean-up loop so remaining vector length is a multiple of 5. */ m = n_ % 5; if (m != 0) { for (i = 1; i <= m; i++) dx[i] = da * dx[i]; if (n_ < 5) return; } for (i = m + 1; i <= n_; i = i + 5) { dx[i] = da * dx[i]; dx[i + 1] = da * dx[i + 1]; dx[i + 2] = da * dx[i + 2]; dx[i + 3] = da * dx[i + 3]; dx[i + 4] = da * dx[i + 4]; } return; } int QTAIMLSODAIntegrator::idamax(int n_, double* dx, int incx) /* Purpose : Find largest component of double vector dx --- Input --- n : number of elements in input vector dx : double vector with n+1 elements, dx[0] is not used incx : storage spacing between elements of dx --- Output --- idamax : smallest index, 0 if n <= 0 Find smallest index of maximum magnitude of dx. idamax = first i, i=1 to n, to minimize fabs( dx[1-incx+i*incx] ). */ { double dmax, xmag; int i, ii, xindex; xindex = 0; if (n_ <= 0) return xindex; xindex = 1; if (n_ <= 1 || incx <= 0) return xindex; /* Code for increments not equal to 1. */ if (incx != 1) { dmax = fabs(dx[1]); ii = 2; for (i = 1 + incx; i <= n_ * incx; i = i + incx) { xmag = fabs(dx[i]); if (xmag > dmax) { xindex = ii; dmax = xmag; } ii++; } return xindex; } /* Code for increments equal to 1. */ dmax = fabs(dx[1]); for (i = 2; i <= n_; i++) { xmag = fabs(dx[i]); if (xmag > dmax) { xindex = i; dmax = xmag; } } return xindex; } // lsoda.c #define max(a, b) ((a) > (b) ? (a) : (b)) #define min(a, b) ((a) < (b) ? (a) : (b)) #define ETA 2.2204460492503131e-16 /* static void prja(), solsy(), stoda(), cfode(), ewset(), intdy(), terminate(), terminate2(), successreturn(), scaleh(), correction(), methodswitch(), orderswitch(), endstoda(), resetcoeff(), freevectors(), corfailure(); static double vmnorm(), bnorm(), fnorm(); */ /* The following are useful statistics. hu, h, tn, tolsf, tsw, nst, nfe, nje, nqu, nq, imxer, mused, meth */ /* Terminate lsoda due to illegal input. */ void QTAIMLSODAIntegrator::terminate(int* istate) { if (illin == 5) { qDebug("lsoda -- repeated occurrence of illegal input"); qDebug(" run aborted.. apparent infinite loop"); } else { illin++; *istate = -3; } } /* end terminate */ /* Terminate lsoda due to various error conditions. */ void QTAIMLSODAIntegrator::terminate2(double* y, double* t) { int i; yp1 = yh[1]; for (i = 1; i <= n; i++) y[i] = yp1[i]; *t = tn; illin = 0; freevectors(); return; } /* end terminate2 */ /* The following block handles all successful returns from lsoda. If itask != 1, y is loaded from yh and t is set accordingly. *Istate is set to 2, the illegal input counter is zeroed, and the optional outputs are loaded into the work arrays before returning. */ void QTAIMLSODAIntegrator::successreturn(double* y, double* t, int itask, int ihit, double tcrit, int* istate) { int i; yp1 = yh[1]; for (i = 1; i <= n; i++) y[i] = yp1[i]; *t = tn; if (itask == 4 || itask == 5) if (ihit) *t = tcrit; *istate = 2; illin = 0; freevectors(); } /* end successreturn */ /* In this version all memory allocated using malloc is freed upon exit. Therefore *istate = 2 and *istate = 3 will not work. */ void QTAIMLSODAIntegrator::lsoda(int neq, double* y, double* t, double tout, int itol, double* rtol, double* atol, int itask, int* istate, int iopt, int jt, int iwork1, int iwork2, int iwork5, int iwork6, int iwork7, int iwork8, int iwork9, double rwork1, double rwork5, double rwork6, double rwork7) /* If the user does not supply any of these values, the calling program should initialize those untouched working variables to zero. ml = iwork1 mu = iwork2 ixpr = iwork5 mxstep = iwork6 mxhnil = iwork7 mxordn = iwork8 mxords = iwork9 tcrit = rwork1 h0 = rwork5 hmax = rwork6 hmin = rwork7 */ { int mxstp0 = 500, mxhnl0 = -1 /* 10 */; int i, iflag, lenyh; double atoli, ayi, big, hmax, hmx, rh, rtoli, tdist, tnext, tol, tolsf, tp, size, sum, w0; /* Block a. This code block is executed on every call. It tests *istate and itask for legality and branches appropriately. If *istate > 1 but the flag init shows that initialization has not yet been done, an error return occurs. If *istate = 1 and tout = t, return immediately. */ if (*istate < 1 || *istate > 3) { qDebug("lsoda -- illegal istate = %d", *istate); terminate(istate); return; } if (itask < 1 || itask > 5) { qDebug("lsoda -- illegal itask = %d", itask); terminate(istate); return; } if (init == 0 && (*istate == 2 || *istate == 3)) { qDebug("lsoda -- istate > 1 but lsoda not initialized"); terminate(istate); return; } if (*istate == 1) { init = 0; if (tout == *t) { ntrep++; if (ntrep < 5) return; qDebug("lsoda -- repeated calls with istate = 1 and tout = t"); qDebug(" run aborted.. apparent infinite loop"); return; } } /* Block b. The next code block is executed for the initial call ( *istate = 1 ), or for a continuation call with parameter changes ( *istate = 3 ). It contains checking of all inputs and various initializations. First check legality of the non-optional inputs neq, itol, iopt, jt, ml, and mu. */ double h0(0.0); if (*istate == 1 || *istate == 3) { ntrep = 0; if (neq <= 0) { qDebug("lsoda -- neq = %d is less than 1", neq); terminate(istate); return; } if (*istate == 3 && neq > n) { qDebug("lsoda -- istate = 3 and neq increased"); terminate(istate); return; } n = neq; if (itol < 1 || itol > 4) { qDebug("lsoda -- itol = %d illegal", itol); terminate(istate); return; } if (iopt < 0 || iopt > 1) { qDebug("lsoda -- iopt = %d illegal", iopt); terminate(istate); return; } if (jt == 3 || jt < 1 || jt > 5) { qDebug("lsoda -- jt = %d illegal", jt); terminate(istate); return; } jtyp = jt; if (jt > 2) { ml = iwork1; mu = iwork2; if (ml < 0 || ml >= n) { qDebug("lsoda -- ml = %d not between 1 and neq", ml); terminate(istate); return; } if (mu < 0 || mu >= n) { qDebug("lsoda -- mu = %d not between 1 and neq", mu); terminate(istate); return; } } /* Next process and check the optional inpus. */ /* Default options. */ if (iopt == 0) { ixpr = 0; mxstep = mxstp0; mxhnil = mxhnl0; hmxi = 0.; hmin = 0.; if (*istate == 1) { h0 = 0.; mxordn = mord[1]; mxords = mord[2]; } } /* end if ( iopt == 0 ) */ /* Optional inputs. */ else { /* if ( iopt = 1 ) */ ixpr = iwork5; if (ixpr < 0 || ixpr > 1) { qDebug("lsoda -- ixpr = %d is illegal", ixpr); terminate(istate); return; } mxstep = iwork6; if (mxstep < 0) { qDebug("lsoda -- mxstep < 0"); terminate(istate); return; } if (mxstep == 0) mxstep = mxstp0; mxhnil = iwork7; if (mxhnil < 0) { qDebug("lsoda -- mxhnil < 0"); terminate(istate); return; } if (*istate == 1) { h0 = rwork5; mxordn = iwork8; if (mxordn < 0) { qDebug("lsoda -- mxordn = %d is less than 0", mxordn); terminate(istate); return; } if (mxordn == 0) mxordn = 100; mxordn = min(mxordn, mord[1]); mxords = iwork9; if (mxords < 0) { qDebug("lsoda -- mxords = %d is less than 0", mxords); terminate(istate); return; } if (mxords == 0) mxords = 100; mxords = min(mxords, mord[2]); if ((tout - *t) * h0 < 0.) { qDebug("lsoda -- tout = %g behind t = %g", tout, *t); qDebug(" integration direction is given by %g", h0); terminate(istate); return; } } /* end if ( *istate == 1 ) */ hmax = rwork6; if (hmax < 0.) { qDebug("lsoda -- hmax < 0."); terminate(istate); return; } hmxi = 0.; if (hmax > 0) hmxi = 1. / hmax; hmin = rwork7; if (hmin < 0.) { qDebug("lsoda -- hmin < 0."); terminate(istate); return; } } /* end else */ /* end iopt = 1 */ } /* end if ( *istate == 1 || *istate == 3 ) */ /* If *istate = 1, meth is initialized to 1. Also allocate memory for yh, wm, ewt, savf, acor, ipvt. */ if (*istate == 1) { /* If memory were not freed, *istate = 3 need not reallocate memory. Hence this section is not executed by *istate = 3. */ sqrteta = sqrt(ETA); meth = 1; nyh = n; lenyh = 1 + max(mxordn, mxords); m_lenyh = lenyh; m_nyh = nyh; yh = (double**)malloc((1 + lenyh) * sizeof(*yh)); if (yh == nullptr) { qDebug("lsoda -- insufficient memory for your problem"); terminate(istate); return; } for (i = 1; i <= lenyh; i++) yh[i] = (double*)malloc((1 + nyh) * sizeof(double)); wm = (double**)malloc((1 + nyh) * sizeof(*wm)); if (wm == nullptr) { free(yh); qDebug("lsoda -- insufficient memory for your problem"); terminate(istate); return; } for (i = 1; i <= nyh; i++) wm[i] = (double*)malloc((1 + nyh) * sizeof(double)); ewt = (double*)malloc((1 + nyh) * sizeof(double)); if (ewt == nullptr) { free(yh); free(wm); qDebug("lsoda -- insufficient memory for your problem"); terminate(istate); return; } savf = (double*)malloc((1 + nyh) * sizeof(double)); if (savf == nullptr) { free(yh); free(wm); free(ewt); qDebug("lsoda -- insufficient memory for your problem"); terminate(istate); return; } acor = (double*)malloc((1 + nyh) * sizeof(double)); if (acor == nullptr) { free(yh); free(wm); free(ewt); free(savf); qDebug("lsoda -- insufficient memory for your problem"); terminate(istate); return; } ipvt = (int*)malloc((1 + nyh) * sizeof(int)); if (ipvt == nullptr) { free(yh); free(wm); free(ewt); free(savf); free(acor); qDebug("lsoda -- insufficient memory for your problem"); terminate(istate); return; } } /* Check rtol and atol for legality. */ if (*istate == 1 || *istate == 3) { rtoli = rtol[1]; atoli = atol[1]; for (i = 1; i <= n; i++) { if (itol >= 3) rtoli = rtol[i]; if (itol == 2 || itol == 4) atoli = atol[i]; if (rtoli < 0.) { qDebug("lsoda -- rtol = %g is less than 0.", rtoli); terminate(istate); freevectors(); return; } if (atoli < 0.) { qDebug("lsoda -- atol = %g is less than 0.", atoli); terminate(istate); freevectors(); return; } } /* end for */ } /* end if ( *istate == 1 || *istate == 3 ) */ /* If *istate = 3, set flag to signal parameter changes to stoda. */ if (*istate == 3) { jstart = -1; } /* Block c. The next block is for the initial call only ( *istate = 1 ). It contains all remaining initializations, the initial call to f, and the calculation of the initial step size. The error weights in ewt are inverted after being loaded. */ int tcrit(0); if (*istate == 1) { tn = *t; tsw = *t; maxord = mxordn; if (itask == 4 || itask == 5) { tcrit = rwork1; if ((tcrit - tout) * (tout - *t) < 0.) { qDebug("lsoda -- itask = 4 or 5 and tcrit behind tout"); terminate(istate); freevectors(); return; } if (h0 != 0. && (*t + h0 - tcrit) * h0 > 0.) h0 = tcrit - *t; } jstart = 0; nhnil = 0; nst = 0; nje = 0; nslast = 0; hu = 0.; nqu = 0; mused = 0; miter = 0; ccmax = 0.3; maxcor = 3; msbp = 20; mxncf = 10; /* Initial call to f. */ f(neq, *t, y, yh[2]); nfe = 1; /* Load the initial value vector in yh. */ yp1 = yh[1]; for (i = 1; i <= n; i++) yp1[i] = y[i]; /* Load and invert the ewt array. ( h is temporarily set to 1. ) */ nq = 1; h = 1.; ewset(itol, rtol, atol, y); for (i = 1; i <= n; i++) { if (ewt[i] <= 0.) { qDebug("lsoda -- ewt[%d] = %g <= 0.", i, ewt[i]); // ECB Comment out because wrong number of arguments. // terminate( y, yh, t, tn ); return; } ewt[i] = 1. / ewt[i]; } /* The coding below computes the step size, h0, to be attempted on the first step, unless the user has supplied a value for this. First check that tout - *t differs significantly from zero. A scalar tolerance quantity tol is computed, as max(rtol[i]) if this is positive, or max(atol[i]/fabs(y[i])) otherwise, adjusted so as to be between 100*ETA and 0.001. Then the computed value h0 is given by h0^(-2) = 1. / ( tol * w0^2 ) + tol * ( norm(f) )^2 where w0 = max( fabs(*t), fabs(tout) ), f = the initial value of the vector f(t,y), and norm() = the weighted vector norm used throughout, given by the vmnorm function routine, and weighted by the tolerances initially loaded into the ewt array. The sign of h0 is inferred from the initial values of tout and *t. fabs(h0) is made < fabs(tout-*t) in any case. */ if (h0 == 0.) { tdist = fabs(tout - *t); w0 = max(fabs(*t), fabs(tout)); if (tdist < 2. * ETA * w0) { qDebug("lsoda -- tout too close to t to start integration "); terminate(istate); freevectors(); return; } tol = rtol[1]; if (itol > 2) { for (i = 2; i <= n; i++) tol = max(tol, rtol[i]); } if (tol <= 0.) { atoli = atol[1]; for (i = 1; i <= n; i++) { if (itol == 2 || itol == 4) atoli = atol[i]; ayi = fabs(y[i]); if (ayi != 0.) tol = max(tol, atoli / ayi); } } tol = max(tol, 100. * ETA); tol = min(tol, 0.001); sum = vmnorm(n, yh[2], ewt); sum = 1. / (tol * w0 * w0) + tol * sum * sum; h0 = 1. / sqrt(sum); h0 = min(h0, tdist); h0 = h0 * ((tout - *t >= 0.) ? 1. : -1.); } /* end if ( h0 == 0. ) */ /* Adjust h0 if necessary to meet hmax bound. */ rh = fabs(h0) * hmxi; if (rh > 1.) h0 /= rh; /* Load h with h0 and scale yh[2] by h0. */ h = h0; yp1 = yh[2]; for (i = 1; i <= n; i++) yp1[i] *= h0; } /* if ( *istate == 1 ) */ /* Block d. The next code block is for continuation calls only ( *istate = 2 or 3 ) and is to check stop conditions before taking a step. */ int ihit(0); if (*istate == 2 || *istate == 3) { nslast = nst; switch (itask) { case 1: if ((tn - tout) * h >= 0.) { intdy(tout, 0, y, &iflag); if (iflag != 0) { qDebug("lsoda -- trouble from intdy, itask = %d, tout = %g", itask, tout); terminate(istate); freevectors(); return; } *t = tout; *istate = 2; illin = 0; freevectors(); return; } break; case 2: break; case 3: tp = tn - hu * (1. + 100. * ETA); if ((tp - tout) * h > 0.) { qDebug("lsoda -- itask = %d and tout behind tcur - hu", itask); terminate(istate); freevectors(); return; } if ((tn - tout) * h < 0.) break; successreturn(y, t, itask, ihit, tcrit, istate); return; case 4: tcrit = rwork1; if ((tn - tcrit) * h > 0.) { qDebug("lsoda -- itask = 4 or 5 and tcrit behind tcur"); terminate(istate); freevectors(); return; } if ((tcrit - tout) * h < 0.) { qDebug("lsoda -- itask = 4 or 5 and tcrit behind tout"); terminate(istate); freevectors(); return; } if ((tn - tout) * h >= 0.) { intdy(tout, 0, y, &iflag); if (iflag != 0) { qDebug("lsoda -- trouble from intdy, itask = %d, tout = %g", itask, tout); terminate(istate); freevectors(); return; } *t = tout; *istate = 2; illin = 0; freevectors(); return; } case 5: if (itask == 5) { tcrit = rwork1; if ((tn - tcrit) * h > 0.) { qDebug("lsoda -- itask = 4 or 5 and tcrit behind tcur"); terminate(istate); freevectors(); return; } } hmx = fabs(tn) + fabs(h); ihit = fabs(tn - tcrit) <= (100. * ETA * hmx); if (ihit) { *t = tcrit; successreturn(y, t, itask, ihit, tcrit, istate); return; } tnext = tn + h * (1. + 4. * ETA); if ((tnext - tcrit) * h <= 0.) break; h = (tcrit - tn) * (1. - 4. * ETA); if (*istate == 2) jstart = -2; break; } /* end switch */ } /* end if ( *istate == 2 || *istate == 3 ) */ /* Block e. The next block is normally executed for all calls and contains the call to the one-step core integrator stoda. This is a looping point for the integration steps. First check for too many steps being taken, update ewt ( if not at start of problem). Check for too much accuracy being requested, and check for h below the roundoff level in *t. */ while (1) { if (*istate != 1 || nst != 0) { if ((nst - nslast) >= mxstep) { // qDebug( "lsoda -- %d steps taken before reaching tout", // mxstep ); *istate = -1; terminate2(y, t); return; } ewset(itol, rtol, atol, yh[1]); for (i = 1; i <= n; i++) { if (ewt[i] <= 0.) { qDebug("lsoda -- ewt[%d] = %g <= 0.", i, ewt[i]); *istate = -6; terminate2(y, t); return; } ewt[i] = 1. / ewt[i]; } } tolsf = ETA * vmnorm(n, yh[1], ewt); if (tolsf > 0.01) { tolsf = tolsf * 200.; if (nst == 0) { qDebug("lsoda -- at start of problem, too much accuracy"); qDebug(" requested for precision of machine,"); qDebug(" suggested scaling factor = %g", tolsf); terminate(istate); freevectors(); return; } qDebug("lsoda -- at t = %g, too much accuracy requested", *t); qDebug(" for precision of machine, suggested"); qDebug(" scaling factor = %g", tolsf); *istate = -2; terminate2(y, t); return; } if ((tn + h) == tn) { nhnil++; if (nhnil <= mxhnil) { qDebug("lsoda -- warning..internal t = %g and h = %g are", tn, h); qDebug(" such that in the machine, t + h = t on the next step"); qDebug(" solver will continue anyway."); if (nhnil == mxhnil) { qDebug("lsoda -- above warning has been issued %d times,", nhnil); qDebug(" it will not be issued again for this problem"); } } } /* Call stoda */ stoda(neq, y); /* qDebug( "meth= %d, order= %d, nfe= %d, nje= %d", meth, nq, nfe, nje ); qDebug( "t= %20.15e, h= %20.15e, nst=%d", tn, h, nst ); qDebug( "y= %20.15e, %20.15e, %20.15e", yh[1][1], yh[1][2], yh[1][3] ); */ if (kflag == 0) { /* Block f. The following block handles the case of a successful return from the core integrator ( kflag = 0 ). If a method switch was just made, record tsw, reset maxord, set jstart to -1 to signal stoda to complete the switch, and do extra printing of data if ixpr = 1. Then, in any case, check for stop conditions. */ init = 1; if (meth != mused) { tsw = tn; maxord = mxordn; if (meth == 2) maxord = mxords; jstart = -1; if (ixpr) { if (meth == 2) qDebug() << "lsoda -- a switch to the stiff method has occurred"; if (meth == 1) qDebug() << "lsoda -- a switch to the nonstiff method has occurred"; qDebug() << " at t = " << tn << ", tentative step size h = " << h << ", step nst = " << nst; } } /* end if ( meth != mused ) */ /* itask = 1. If tout has been reached, interpolate. */ if (itask == 1) { if ((tn - tout) * h < 0.) continue; intdy(tout, 0, y, &iflag); *t = tout; *istate = 2; illin = 0; freevectors(); return; } /* itask = 2. */ if (itask == 2) { successreturn(y, t, itask, ihit, tcrit, istate); return; } /* itask = 3. Jump to exit if tout was reached. */ if (itask == 3) { if ((tn - tout) * h >= 0.) { successreturn(y, t, itask, ihit, tcrit, istate); return; } continue; } /* itask = 4. See if tout or tcrit was reached. Adjust h if necessary. */ if (itask == 4) { if ((tn - tout) * h >= 0.) { intdy(tout, 0, y, &iflag); *t = tout; *istate = 2; illin = 0; freevectors(); return; } else { hmx = fabs(tn) + fabs(h); ihit = fabs(tn - tcrit) <= (100. * ETA * hmx); if (ihit) { successreturn(y, t, itask, ihit, tcrit, istate); return; } tnext = tn + h * (1. + 4. * ETA); if ((tnext - tcrit) * h <= 0.) continue; h = (tcrit - tn) * (1. - 4. * ETA); jstart = -2; continue; } } /* end if ( itask == 4 ) */ /* itask = 5. See if tcrit was reached and jump to exit. */ if (itask == 5) { hmx = fabs(tn) + fabs(h); ihit = fabs(tn - tcrit) <= (100. * ETA * hmx); successreturn(y, t, itask, ihit, tcrit, istate); return; } } /* end if ( kflag == 0 ) */ /* kflag = -1, error test failed repeatedly or with fabs(h) = hmin. kflag = -2, convergence failed repeatedly or with fabs(h) = hmin. */ if (kflag == -1 || kflag == -2) { qDebug("lsoda -- at t = %g and step size h = %g, the", tn, h); if (kflag == -1) { qDebug(" error test failed repeatedly or"); qDebug(" with fabs(h) = hmin"); *istate = -4; } if (kflag == -2) { qDebug(" corrector convergence failed repeatedly or"); qDebug(" with fabs(h) = hmin"); *istate = -5; } big = 0.; imxer = 1; for (i = 1; i <= n; i++) { size = fabs(acor[i]) * ewt[i]; if (big < size) { big = size; imxer = i; } } terminate2(y, t); return; } /* end if ( kflag == -1 || kflag == -2 ) */ } /* end while */ } /* end lsoda */ void QTAIMLSODAIntegrator::stoda(int neq, double* y) { int corflag, orderflag; int i, i1, j, m, ncf; double del, delp, dup, exup, r, rh, rhup, told; double pdh, pnorm; /* stoda performs one step of the integration of an initial value problem for a system of ordinary differential equations. Note.. stoda is independent of the value of the iteration method indicator miter, when this is != 0, and hence is independent of the type of chord method used, or the Jacobian structure. Communication with stoda is done with the following variables: jstart = an integer used for input only, with the following values and meanings: 0 perform the first step, > 0 take a new step continuing from the last, -1 take the next step with a new value of h, n, meth, miter, and/or matrix parameters. -2 take the next step with a new value of h, but with other inputs unchanged. kflag = a completion code with the following meanings: 0 the step was successful, -1 the requested error could not be achieved, -2 corrector convergence could not be achieved, -3 fatal error in prja or solsy. miter = corrector iteration method: 0 functional iteration, >0 a chord method corresponding to jacobian type jt. */ kflag = 0; told = tn; ncf = 0; ierpj = 0; iersl = 0; jcur = 0; delp = 0.; /* On the first call, the order is set to 1, and other variables are initialized. rmax is the maximum ratio by which h can be increased in a single step. It is initially 1.e4 to compensate for the small initial h, but then is normally equal to 10. If a filure occurs (in corrector convergence or error test), rmax is set at 2 for the next increase. cfode is called to get the needed coefficients for both methods. */ if (jstart == 0) { lmax = maxord + 1; nq = 1; l = 2; ialth = 2; rmax = 10000.; rc = 0.; el0 = 1.; crate = 0.7; hold = h; nslp = 0; ipup = miter; /* Initialize switching parameters. meth = 1 is assumed initially. */ icount = 20; irflag = 0; pdest = 0.; pdlast = 0.; ratio = 5.; cfode(2); for (i = 1; i <= 5; i++) cm2[i] = tesco[i][2] * elco[i][i + 1]; cfode(1); for (i = 1; i <= 12; i++) cm1[i] = tesco[i][2] * elco[i][i + 1]; resetcoeff(); } /* end if ( jstart == 0 ) */ /* The following block handles preliminaries needed when jstart = -1. ipup is set to miter to force a matrix update. If an order increase is about to be considered ( ialth = 1 ), ialth is reset to 2 to postpone consideration one more step. If the caller has changed meth, cfode is called to reset the coefficients of the method. If h is to be changed, yh must be rescaled. If h or meth is being changed, ialth is reset to l = nq + 1 to prevent further changes in h for that many steps. */ if (jstart == -1) { ipup = miter; lmax = maxord + 1; if (ialth == 1) ialth = 2; if (meth != mused) { cfode(meth); ialth = l; resetcoeff(); } if (h != hold) { rh = h / hold; h = hold; scaleh(&rh, &pdh); } } /* if ( jstart == -1 ) */ if (jstart == -2) { if (h != hold) { rh = h / hold; h = hold; scaleh(&rh, &pdh); } } /* if ( jstart == -2 ) */ /* Prediction. This section computes the predicted values by effectively multiplying the yh array by the pascal triangle matrix. rc is the ratio of new to old values of the coefficient h * el[1]. When rc differs from 1 by more than ccmax, ipup is set to miter to force pjac to be called, if a jacobian is involved. In any case, prja is called at least every msbp steps. */ while (1) { while (1) { if (fabs(rc - 1.) > ccmax) ipup = miter; if (nst >= nslp + msbp) ipup = miter; tn += h; for (j = nq; j >= 1; j--) for (i1 = j; i1 <= nq; i1++) { yp1 = yh[i1]; yp2 = yh[i1 + 1]; for (i = 1; i <= n; i++) yp1[i] += yp2[i]; } pnorm = vmnorm(n, yh[1], ewt); correction(neq, y, &corflag, pnorm, &del, &delp, &told, &ncf, &rh, &m); if (corflag == 0) break; if (corflag == 1) { rh = max(rh, hmin / fabs(h)); scaleh(&rh, &pdh); continue; } if (corflag == 2) { kflag = -2; hold = h; jstart = 1; return; } } /* end inner while ( corrector loop ) */ /* The corrector has converged. jcur is set to 0 to signal that the Jacobian involved may need updating later. The local error test is done now. */ jcur = 0; double dsm(0.0); if (m == 0) dsm = del / tesco[nq][2]; if (m > 0) dsm = vmnorm(n, acor, ewt) / tesco[nq][2]; if (dsm <= 1.) { /* After a successful step, update the yh array. Decrease icount by 1, and if it is -1, consider switching methods. If a method switch is made, reset various parameters, rescale the yh array, and exit. If there is no switch, consider changing h if ialth = 1. Otherwise decrease ialth by 1. If ialth is then 1 and nq < maxord, then acor is saved for use in a possible order increase on the next step. If a change in h is considered, an increase or decrease in order by one is considered also. A change in h is made only if it is by a factor of at least 1.1. If not, ialth is set to 3 to prevent testing for that many steps. */ kflag = 0; nst++; hu = h; nqu = nq; mused = meth; for (j = 1; j <= l; j++) { yp1 = yh[j]; r = el[j]; for (i = 1; i <= n; i++) yp1[i] += r * acor[i]; } icount--; if (icount < 0) { methodswitch(dsm, pnorm, &pdh, &rh); if (meth != mused) { rh = max(rh, hmin / fabs(h)); scaleh(&rh, &pdh); rmax = 10.; endstoda(); break; } } /* No method switch is being made. Do the usual step/order selection. */ ialth--; if (ialth == 0) { rhup = 0.; if (l != lmax) { yp1 = yh[lmax]; for (i = 1; i <= n; i++) savf[i] = acor[i] - yp1[i]; dup = vmnorm(n, savf, ewt) / tesco[nq][3]; exup = 1. / (double)(l + 1); rhup = 1. / (1.4 * pow(dup, exup) + 0.0000014); } orderswitch(&rhup, dsm, &pdh, &rh, &orderflag); /* No change in h or nq. */ if (orderflag == 0) { endstoda(); break; } /* h is changed, but not nq. */ if (orderflag == 1) { rh = max(rh, hmin / fabs(h)); scaleh(&rh, &pdh); rmax = 10.; endstoda(); break; } /* both nq and h are changed. */ if (orderflag == 2) { resetcoeff(); rh = max(rh, hmin / fabs(h)); scaleh(&rh, &pdh); rmax = 10.; endstoda(); break; } } /* end if ( ialth == 0 ) */ if (ialth > 1 || l == lmax) { endstoda(); break; } yp1 = yh[lmax]; for (i = 1; i <= n; i++) yp1[i] = acor[i]; endstoda(); break; } /* end if ( dsm <= 1. ) */ /* The error test failed. kflag keeps track of multiple failures. Restore tn and the yh array to their previous values, and prepare to try the step again. Compute the optimum step size for this or one lower. After 2 or more failures, h is forced to decrease by a factor of 0.2 or less. */ else { kflag--; tn = told; for (j = nq; j >= 1; j--) for (i1 = j; i1 <= nq; i1++) { yp1 = yh[i1]; yp2 = yh[i1 + 1]; for (i = 1; i <= n; i++) yp1[i] -= yp2[i]; } rmax = 2.; if (fabs(h) <= hmin * 1.00001) { kflag = -1; hold = h; jstart = 1; break; } if (kflag > -3) { rhup = 0.; orderswitch(&rhup, dsm, &pdh, &rh, &orderflag); if (orderflag == 1 || orderflag == 0) { if (orderflag == 0) rh = min(rh, 0.2); rh = max(rh, hmin / fabs(h)); scaleh(&rh, &pdh); } if (orderflag == 2) { resetcoeff(); rh = max(rh, hmin / fabs(h)); scaleh(&rh, &pdh); } continue; } /* if ( kflag > -3 ) */ /* Control reaches this section if 3 or more failures have occurred. If 10 failures have occurred, exit with kflag = -1. It is assumed that the derivatives that have accumulated in the yh array have errors of the wrong order. Hence the first derivative is recomputed, and the order is set to 1. Then h is reduced by a factor of 10, and the step is retried, until it succeeds or h reaches hmin. */ else { if (kflag == -10) { kflag = -1; hold = h; jstart = 1; break; } else { rh = 0.1; rh = max(hmin / fabs(h), rh); h *= rh; yp1 = yh[1]; for (i = 1; i <= n; i++) y[i] = yp1[i]; f(neq, tn, y, savf); nfe++; yp1 = yh[2]; for (i = 1; i <= n; i++) yp1[i] = h * savf[i]; ipup = miter; ialth = 5; if (nq == 1) continue; nq = 1; l = 2; resetcoeff(); continue; } } /* end else -- kflag <= -3 */ } /* end error failure handling */ } /* end outer while */ } /* end stoda */ void QTAIMLSODAIntegrator::ewset(int itol, double* rtol, double* atol, double* ycur) { int i; switch (itol) { case 1: for (i = 1; i <= n; i++) ewt[i] = rtol[1] * fabs(ycur[i]) + atol[1]; break; case 2: for (i = 1; i <= n; i++) ewt[i] = rtol[1] * fabs(ycur[i]) + atol[i]; break; case 3: for (i = 1; i <= n; i++) ewt[i] = rtol[i] * fabs(ycur[i]) + atol[1]; break; case 4: for (i = 1; i <= n; i++) ewt[i] = rtol[i] * fabs(ycur[i]) + atol[i]; break; } } /* end ewset */ void QTAIMLSODAIntegrator::intdy(double t, int k, double* dky, int* iflag) /* Intdy computes interpolated values of the k-th derivative of the dependent variable vector y, and stores it in dky. This routine is called within the package with k = 0 and *t = tout, but may also be called by the user for any k up to the current order. ( See detailed instructions in the usage documentation. ) The computed values in dky are gotten by interpolation using the Nordsieck history array yh. This array corresponds uniquely to a vector-valued polynomial of degree nqcur or less, and dky is set to the k-th derivative of this polynomial at t. The formula for dky is q dky[i] = sum c[k][j] * ( t - tn )^(j-k) * h^(-j) * yh[j+1][i] j=k where c[k][j] = j*(j-1)*...*(j-k+1), q = nqcur, tn = tcur, h = hcur. The quantities nq = nqcur, l = nq+1, n = neq, tn, and h are declared static globally. The above sum is done in reverse order. *iflag is returned negative if either k or t is out of bounds. */ { int i, ic, j, jj, jp1; double c, r, s, tp; *iflag = 0; if (k < 0 || k > nq) { qDebug("intdy -- k = %d illegal", k); *iflag = -1; return; } tp = tn - hu - 100. * ETA * (tn + hu); if ((t - tp) * (t - tn) > 0.) { qDebug("intdy -- t = %g illegal", t); qDebug(" t not in interval tcur - hu to tcur"); *iflag = -2; return; } s = (t - tn) / h; ic = 1; for (jj = l - k; jj <= nq; jj++) ic *= jj; c = (double)ic; yp1 = yh[l]; for (i = 1; i <= n; i++) dky[i] = c * yp1[i]; for (j = nq - 1; j >= k; j--) { jp1 = j + 1; ic = 1; for (jj = jp1 - k; jj <= j; jj++) ic *= jj; c = (double)ic; yp1 = yh[jp1]; for (i = 1; i <= n; i++) dky[i] = c * yp1[i] + s * dky[i]; } if (k == 0) return; r = pow(h, (double)(-k)); for (i = 1; i <= n; i++) dky[i] *= r; } /* end intdy */ void QTAIMLSODAIntegrator::cfode(int meth_) { int i, nq_, nqm1, nqp1; double agamq, fnq, fnqm1, pc[13], pint, ragq, rqfac, rq1fac, tsign, xpin; /* cfode is called by the integrator routine to set coefficients needed there. The coefficients for the current method, as given by the value of meth, are set for all orders and saved. The maximum order assumed here is 12 if meth = 1 and 5 if meth = 2. ( A smaller value of the maximum order is also allowed. ) cfode is called once at the beginning of the problem, and is not called again unless and until meth is changed. The elco array contains the basic method coefficients. The coefficients el[i], 1 < i < nq+1, for the method of order nq are stored in elco[nq][i]. They are given by a generating polynomial, i.e., l(x) = el[1] + el[2]*x + ... + el[nq+1]*x^nq. For the implicit Adams method, l(x) is given by dl/dx = (x+1)*(x+2)*...*(x+nq-1)/factorial(nq-1), l(-1) = 0. For the bdf methods, l(x) is given by l(x) = (x+1)*(x+2)*...*(x+nq)/k, where k = factorial(nq)*(1+1/2+...+1/nq). The tesco array contains test constants used for the local error test and the selection of step size and/or order. At order nq, tesco[nq][k] is used for the selection of step size at order nq-1 if k = 1, at order nq if k = 2, and at order nq+1 if k = 3. */ if (meth_ == 1) { elco[1][1] = 1.; elco[1][2] = 1.; tesco[1][1] = 0.; tesco[1][2] = 2.; tesco[2][1] = 1.; tesco[12][3] = 0.; pc[1] = 1.; rqfac = 1.; for (nq_ = 2; nq_ <= 12; nq_++) { /* The pc array will contain the coefficients of the polynomial p(x) = (x+1)*(x+2)*...*(x+nq-1). Initially, p(x) = 1. */ rq1fac = rqfac; rqfac = rqfac / (double)nq_; nqm1 = nq_ - 1; fnqm1 = (double)nqm1; nqp1 = nq_ + 1; /* Form coefficients of p(x)*(x+nq-1). */ pc[nq_] = 0.; for (i = nq_; i >= 2; i--) pc[i] = pc[i - 1] + fnqm1 * pc[i]; pc[1] = fnqm1 * pc[1]; /* Compute integral, -1 to 0, of p(x) and x*p(x). */ pint = pc[1]; xpin = pc[1] / 2.; tsign = 1.; for (i = 2; i <= nq_; i++) { tsign = -tsign; pint += tsign * pc[i] / (double)i; xpin += tsign * pc[i] / (double)(i + 1); } /* Store coefficients in elco and tesco. */ elco[nq_][1] = pint * rq1fac; elco[nq_][2] = 1.; for (i = 2; i <= nq_; i++) elco[nq_][i + 1] = rq1fac * pc[i] / (double)i; agamq = rqfac * xpin; ragq = 1. / agamq; tesco[nq_][2] = ragq; if (nq_ < 12) tesco[nqp1][1] = ragq * rqfac / (double)nqp1; tesco[nqm1][3] = ragq; } /* end for */ return; } /* end if ( meth == 1 ) */ /* meth = 2. */ pc[1] = 1.; rq1fac = 1.; /* The pc array will contain the coefficients of the polynomial p(x) = (x+1)*(x+2)*...*(x+nq). Initially, p(x) = 1. */ for (nq_ = 1; nq_ <= 5; nq_++) { fnq = (double)nq_; nqp1 = nq_ + 1; /* Form coefficients of p(x)*(x+nq). */ pc[nqp1] = 0.; for (i = nq_ + 1; i >= 2; i--) pc[i] = pc[i - 1] + fnq * pc[i]; pc[1] *= fnq; /* Store coefficients in elco and tesco. */ for (i = 1; i <= nqp1; i++) elco[nq_][i] = pc[i] / pc[2]; elco[nq_][2] = 1.; tesco[nq_][1] = rq1fac; tesco[nq_][2] = ((double)nqp1) / elco[nq_][1]; tesco[nq_][3] = ((double)(nq_ + 2)) / elco[nq_][1]; rq1fac /= fnq; } return; } /* end cfode */ void QTAIMLSODAIntegrator::scaleh(double* rh, double* pdh) { double r; int j, i; /* If h is being changed, the h ratio rh is checked against rmax, hmin, and hmxi, and the yh array is rescaled. ialth is set to l = nq + 1 to prevent a change of h for that many steps, unless forced by a convergence or error test failure. */ *rh = min(*rh, rmax); *rh = *rh / max(1., fabs(h) * hmxi * *rh); /* If meth = 1, also restrict the new step size by the stability region. If this reduces h, set irflag to 1 so that if there are roundoff problems later, we can assume that is the cause of the trouble. */ if (meth == 1) { irflag = 0; *pdh = max(fabs(h) * pdlast, 0.000001); if ((*rh * *pdh * 1.00001) >= sm1[nq]) { *rh = sm1[nq] / *pdh; irflag = 1; } } r = 1.; for (j = 2; j <= l; j++) { r *= *rh; yp1 = yh[j]; for (i = 1; i <= n; i++) yp1[i] *= r; } h *= *rh; rc *= *rh; ialth = l; } /* end scaleh */ void QTAIMLSODAIntegrator::prja(int neq, double* y) { int i, ier, j; double fac, hl0, r, r0, yj; /* prja is called by stoda to compute and process the matrix P = I - h * el[1] * J, where J is an approximation to the Jacobian. Here J is computed by finite differencing. J, scaled by -h * el[1], is stored in wm. Then the norm of J ( the matrix norm consistent with the weighted max-norm on vectors given by vmnorm ) is computed, and J is overwritten by P. P is then subjected to LU decomposition in preparation for later solution of linear systems with p as coefficient matrix. This is done by dgefa if miter = 2, and by dgbfa if miter = 5. */ nje++; ierpj = 0; jcur = 1; hl0 = h * el0; /* If miter = 2, make n calls to f to approximate J. */ if (miter != 2) { qDebug("prja -- miter != 2"); return; } if (miter == 2) { fac = vmnorm(n, savf, ewt); r0 = 1000. * fabs(h) * ETA * ((double)n) * fac; if (r0 == 0.) r0 = 1.; for (j = 1; j <= n; j++) { yj = y[j]; r = max(sqrteta * fabs(yj), r0 / ewt[j]); y[j] += r; fac = -hl0 / r; f(neq, tn, y, acor); for (i = 1; i <= n; i++) wm[i][j] = (acor[i] - savf[i]) * fac; y[j] = yj; } nfe += n; /* Compute norm of Jacobian. */ pdnorm = fnorm(n, wm, ewt) / fabs(hl0); /* Add identity matrix. */ for (i = 1; i <= n; i++) wm[i][i] += 1.; /* Do LU decomposition on P. */ dgefa(wm, n, ipvt, &ier); if (ier != 0) ierpj = 1; return; } } /* end prja */ double QTAIMLSODAIntegrator::vmnorm(int n_, double* v, double* w) /* This function routine computes the weighted max-norm of the vector of length n contained in the array v, with weights contained in the array w of length n. vmnorm = max( i = 1, ..., n ) fabs( v[i] ) * w[i]. */ { int i; double vm; vm = 0.; for (i = 1; i <= n_; i++) vm = max(vm, fabs(v[i]) * w[i]); return vm; } /* end vmnorm */ double QTAIMLSODAIntegrator::fnorm(int n_, double** a, double* w) /* This subroutine computes the norm of a full n by n matrix, stored in the array a, that is consistent with the weighted max-norm on vectors, with weights stored in the array w. fnorm = max(i=1,...,n) ( w[i] * sum(j=1,...,n) fabs( a[i][j] ) / w[j] ) */ { int i, j; double an, sum, *ap1; an = 0.; for (i = 1; i <= n_; i++) { sum = 0.; ap1 = a[i]; for (j = 1; j <= n_; j++) sum += fabs(ap1[j]) / w[j]; an = max(an, sum * w[i]); } return an; } /* end fnorm */ // double QTAIMLSODAIntegrator::bnorm() // { // } /* end bnorm */ void QTAIMLSODAIntegrator::correction(int neq, double* y, int* corflag, double pnorm, double* del, double* delp, double* told, int* ncf, double* rh, int* m) /* *corflag = 0 : corrector converged, 1 : step size to be reduced, redo prediction, 2 : corrector cannot converge, failure flag. */ { int i; double rm, rate, dcon; /* Up to maxcor corrector iterations are taken. A convergence test is made on the r.m.s. norm of each correction, weighted by the error weight vector ewt. The sum of the corrections is accumulated in the vector acor[i]. The yh array is not altered in the corrector loop. */ *m = 0; *corflag = 0; rate = 0.; *del = 0.; yp1 = yh[1]; for (i = 1; i <= n; i++) y[i] = yp1[i]; f(neq, tn, y, savf); nfe++; /* If indicated, the matrix P = I - h * el[1] * J is reevaluated and preprocessed before starting the corrector iteration. ipup is set to 0 as an indicator that this has been done. */ while (1) { if (*m == 0) { if (ipup > 0) { prja(neq, y); ipup = 0; rc = 1.; nslp = nst; crate = 0.7; if (ierpj != 0) { corfailure(told, rh, ncf, corflag); return; } } for (i = 1; i <= n; i++) acor[i] = 0.; } /* end if ( *m == 0 ) */ if (miter == 0) { /* In case of functional iteration, update y directly from the result of the last function evaluation. */ yp1 = yh[2]; for (i = 1; i <= n; i++) { savf[i] = h * savf[i] - yp1[i]; y[i] = savf[i] - acor[i]; } *del = vmnorm(n, y, ewt); yp1 = yh[1]; for (i = 1; i <= n; i++) { y[i] = yp1[i] + el[1] * savf[i]; acor[i] = savf[i]; } } /* end functional iteration */ /* In the case of the chord method, compute the corrector error, and solve the linear system with that as right-hand side and P as coefficient matrix. */ else { yp1 = yh[2]; for (i = 1; i <= n; i++) y[i] = h * savf[i] - (yp1[i] + acor[i]); solsy(y); *del = vmnorm(n, y, ewt); yp1 = yh[1]; for (i = 1; i <= n; i++) { acor[i] += y[i]; y[i] = yp1[i] + el[1] * acor[i]; } } /* end chord method */ /* Test for convergence. If *m > 0, an estimate of the convergence rate constant is stored in crate, and this is used in the test. We first check for a change of iterates that is the size of roundoff error. If this occurs, the iteration has converged, and a new rate estimate is not formed. In all other cases, force at least two iterations to estimate a local Lipschitz constant estimate for Adams method. On convergence, form pdest = local maximum Lipschitz constant estimate. pdlast is the most recent nonzero estimate. */ if (*del <= 100. * pnorm * ETA) break; if (*m != 0 || meth != 1) { if (*m != 0) { rm = 1024.0; if (*del <= (1024. * *delp)) rm = *del / *delp; rate = max(rate, rm); crate = max(0.2 * crate, rm); } dcon = *del * min(1., 1.5 * crate) / (tesco[nq][2] * conit); if (dcon <= 1.) { pdest = max(pdest, rate / fabs(h * el[1])); if (pdest != 0.) pdlast = pdest; break; } } /* The corrector iteration failed to converge. If miter != 0 and the Jacobian is out of date, prja is called for the next try. Otherwise the yh array is retracted to its values before prediction, and h is reduced, if possible. If h cannot be reduced or mxncf failures have occured, exit with corflag = 2. */ (*m)++; if (*m == maxcor || (*m >= 2 && *del > 2. * *delp)) { if (miter == 0 || jcur == 1) { corfailure(told, rh, ncf, corflag); return; } ipup = miter; /* Restart corrector if Jacobian is recomputed. */ *m = 0; rate = 0.; *del = 0.; yp1 = yh[1]; for (i = 1; i <= n; i++) y[i] = yp1[i]; f(neq, tn, y, savf); nfe++; } /* Iterate corrector. */ else { *delp = *del; f(neq, tn, y, savf); nfe++; } } /* end while */ } /* end correction */ void QTAIMLSODAIntegrator::corfailure(double* told, double* rh, int* ncf, int* corflag) { int j, i1, i; (*ncf)++; rmax = 2.; tn = *told; for (j = nq; j >= 1; j--) for (i1 = j; i1 <= nq; i1++) { yp1 = yh[i1]; yp2 = yh[i1 + 1]; for (i = 1; i <= n; i++) yp1[i] -= yp2[i]; } if (fabs(h) <= hmin * 1.00001 || *ncf == mxncf) { *corflag = 2; return; } *corflag = 1; *rh = 0.25; ipup = miter; } /* end corfailure */ void QTAIMLSODAIntegrator::solsy(double* y) /* This routine manages the solution of the linear system arising from a chord iteration. It is called if miter != 0. If miter is 2, it calls dgesl to accomplish this. If miter is 5, it calls dgbsl. y = the right-hand side vector on input, and the solution vector on output. */ { iersl = 0; if (miter != 2) { qDebug("solsy -- miter != 2"); return; } if (miter == 2) dgesl(wm, n, ipvt, y, 0); return; } /* end solsy */ void QTAIMLSODAIntegrator::methodswitch(double dsm, double pnorm, double* pdh, double* rh) { int lm1, lm1p1, lm2, lm2p1, nqm1, nqm2; double rh1, rh2, rh1it, exm2, dm2, exm1, dm1, alpha, exsm; /* We are current using an Adams method. Consider switching to bdf. If the current order is greater than 5, assume the problem is not stiff, and skip this section. If the Lipschitz constant and error estimate are not polluted by roundoff, perform the usual test. Otherwise, switch to the bdf methods if the last step was restricted to insure stability ( irflag = 1 ), and stay with Adams method if not. When switching to bdf with polluted error estimates, in the absence of other information, double the step size. When the estimates are ok, we make the usual test by computing the step size we could have (ideally) used on this step, with the current (Adams) method, and also that for the bdf. If nq > mxords, we consider changing to order mxords on switching. Compare the two step sizes to decide whether to switch. The step size advantage must be at least ratio = 5 to switch. */ if (meth == 1) { if (nq > 5) return; if (dsm <= (100. * pnorm * ETA) || pdest == 0.) { if (irflag == 0) return; rh2 = 2.; nqm2 = min(nq, mxords); } else { exsm = 1. / (double)l; rh1 = 1. / (1.2 * pow(dsm, exsm) + 0.0000012); rh1it = 2. * rh1; *pdh = pdlast * fabs(h); if ((*pdh * rh1) > 0.00001) rh1it = sm1[nq] / *pdh; rh1 = min(rh1, rh1it); if (nq > mxords) { nqm2 = mxords; lm2 = mxords + 1; exm2 = 1. / (double)lm2; lm2p1 = lm2 + 1; dm2 = vmnorm(n, yh[lm2p1], ewt) / cm2[mxords]; rh2 = 1. / (1.2 * pow(dm2, exm2) + 0.0000012); } else { dm2 = dsm * (cm1[nq] / cm2[nq]); rh2 = 1. / (1.2 * pow(dm2, exsm) + 0.0000012); nqm2 = nq; } if (rh2 < ratio * rh1) return; } /* The method switch test passed. Reset relevant quantities for bdf. */ *rh = rh2; icount = 20; meth = 2; miter = jtyp; pdlast = 0.; nq = nqm2; l = nq + 1; return; } /* end if ( meth == 1 ) */ /* We are currently using a bdf method, considering switching to Adams. Compute the step size we could have (ideally) used on this step, with the current (bdf) method, and also that for the Adams. If nq > mxordn, we consider changing to order mxordn on switching. Compare the two step sizes to decide whether to switch. The step size advantage must be at least 5/ratio = 1 to switch. If the step size for Adams would be so small as to cause roundoff pollution, we stay with bdf. */ exsm = 1. / (double)l; if (mxordn < nq) { nqm1 = mxordn; lm1 = mxordn + 1; exm1 = 1. / (double)lm1; lm1p1 = lm1 + 1; dm1 = vmnorm(n, yh[lm1p1], ewt) / cm1[mxordn]; rh1 = 1. / (1.2 * pow(dm1, exm1) + 0.0000012); } else { dm1 = dsm * (cm2[nq] / cm1[nq]); rh1 = 1. / (1.2 * pow(dm1, exsm) + 0.0000012); nqm1 = nq; exm1 = exsm; } rh1it = 2. * rh1; *pdh = pdnorm * fabs(h); if ((*pdh * rh1) > 0.00001) rh1it = sm1[nqm1] / *pdh; rh1 = min(rh1, rh1it); rh2 = 1. / (1.2 * pow(dsm, exsm) + 0.0000012); if ((rh1 * ratio) < (5. * rh2)) return; alpha = max(0.001, rh1); dm1 *= pow(alpha, exm1); if (dm1 <= 1000. * ETA * pnorm) return; /* The switch test passed. Reset relevant quantities for Adams. */ *rh = rh1; icount = 20; meth = 1; miter = 0; pdlast = 0.; nq = nqm1; l = nq + 1; } /* end methodswitch */ /* This routine returns from stoda to lsoda. Hence freevectors() is not executed. */ void QTAIMLSODAIntegrator::endstoda() { double r; int i; r = 1. / tesco[nqu][2]; for (i = 1; i <= n; i++) acor[i] *= r; hold = h; jstart = 1; } /* end endstoda */ void QTAIMLSODAIntegrator::orderswitch(double* rhup, double dsm, double* pdh, double* rh, int* orderflag) /* Regardless of the success or failure of the step, factors rhdn, rhsm, and rhup are computed, by which h could be multiplied at order nq - 1, order nq, or order nq + 1, respectively. In the case of a failure, rhup = 0. to avoid an order increase. The largest of these is determined and the new order chosen accordingly. If the order is to be increased, we compute one additional scaled derivative. orderflag = 0 : no change in h or nq, 1 : change in h but not nq, 2 : change in both h and nq. */ { int newq, i; double exsm, rhdn, rhsm, ddn, exdn, r; *orderflag = 0; exsm = 1. / (double)l; rhsm = 1. / (1.2 * pow(dsm, exsm) + 0.0000012); rhdn = 0.; if (nq != 1) { ddn = vmnorm(n, yh[l], ewt) / tesco[nq][1]; exdn = 1. / (double)nq; rhdn = 1. / (1.3 * pow(ddn, exdn) + 0.0000013); } /* If meth = 1, limit rh according to the stability region also. */ if (meth == 1) { *pdh = max(fabs(h) * pdlast, 0.000001); if (l < lmax) *rhup = min(*rhup, sm1[l] / *pdh); rhsm = min(rhsm, sm1[nq] / *pdh); if (nq > 1) rhdn = min(rhdn, sm1[nq - 1] / *pdh); pdest = 0.; } if (rhsm >= *rhup) { if (rhsm >= rhdn) { newq = nq; *rh = rhsm; } else { newq = nq - 1; *rh = rhdn; if (kflag < 0 && *rh > 1.) *rh = 1.; } } else { if (*rhup <= rhdn) { newq = nq - 1; *rh = rhdn; if (kflag < 0 && *rh > 1.) *rh = 1.; } else { *rh = *rhup; if (*rh >= 1.1) { r = el[l] / (double)l; nq = l; l = nq + 1; yp1 = yh[l]; for (i = 1; i <= n; i++) yp1[i] = acor[i] * r; *orderflag = 2; return; } else { ialth = 3; return; } } } /* If meth = 1 and h is restricted by stability, bypass 10 percent test. */ if (meth == 1) { if ((*rh * *pdh * 1.00001) < sm1[newq]) if (kflag == 0 && *rh < 1.1) { ialth = 3; return; } } else { if (kflag == 0 && *rh < 1.1) { ialth = 3; return; } } if (kflag <= -2) *rh = min(*rh, 0.2); /* If there is a change of order, reset nq, l, and the coefficients. In any case h is reset according to rh and the yh array is rescaled. Then exit or redo the step. */ if (newq == nq) { *orderflag = 1; return; } nq = newq; l = nq + 1; *orderflag = 2; } /* end orderswitch */ void QTAIMLSODAIntegrator::resetcoeff() /* The el vector and related constants are reset whenever the order nq is changed, or at the start of the problem. */ { int i; double* ep1; ep1 = elco[nq]; for (i = 1; i <= l; i++) el[i] = ep1[i]; rc = rc * el[1] / el0; el0 = el[1]; conit = 0.5 / (double)(nq + 2); } /* end resetcoeff */ void QTAIMLSODAIntegrator::freevectors() { int i; for (i = 1; i <= m_lenyh; ++i) { free(yh[i]); } free(yh); for (i = 1; i <= m_nyh; ++i) { free(wm[i]); } free(wm); free(ewt); free(savf); free(acor); free(ipvt); } /* end freevectors */ } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimlsodaintegrator.h000066400000000000000000000115211360735163600256430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef QTAIMLSODAINTEGRATOR_H #define QTAIMLSODAINTEGRATOR_H #include #include #include #include #include #include "qtaimmathutilities.h" #include "qtaimwavefunction.h" #include "qtaimwavefunctionevaluator.h" #include #include namespace Avogadro { namespace QtPlugins { class QTAIMLSODAIntegrator { public: enum { SteepestAscentPathInElectronDensity = 0, CMBPMinusThreeGradientInElectronDensity = 1, CMBPMinusOneGradientInElectronDensity = 2, CMBPPlusOneGradientInElectronDensity = 3, CMBPPlusThreeGradientInElectronDensity = 4, CMBPMinusThreeGradientInElectronDensityLaplacian = 5, CMBPMinusOneGradientInElectronDensityLaplacian = 6, CMBPPlusOneGradientInElectronDensityLaplacian = 7, CMBPPlusThreeGradientInElectronDensityLaplacian = 8 }; explicit QTAIMLSODAIntegrator(QTAIMWavefunctionEvaluator& eval, const qint64 mode); QVector3D integrate(QVector3D x0y0z0); qint64 status() const { return m_status; } const QList path() const { return m_path; } void setBetaSpheres(QList> betaSpheres) { m_betaSpheres = betaSpheres; } qint64 associatedSphere() const { return m_associatedSphere; } private: QTAIMWavefunctionEvaluator* m_eval; qint64 m_mode; qint64 m_status; QList m_path; QList> m_betaSpheres; qint64 m_associatedSphere; // LSODA integrator void f(int neq, double t, double* y, double* ydot); void daxpy(int n, double da, double* dx, int incx, double* dy, int incy); double ddot(int n, double* dx, int incx, double* dy, int incy); void dgefa(double** a, int n, int* ipvt, int* info); void dgesl(double** a, int n, int* ipvt, double* b, int job); void dscal(int n, double da, double* dx, int incx); int idamax(int n, double* dx, int incx); void terminate(int* istate); void terminate2(double* y, double* t); void successreturn(double* y, double* t, int itask, int ihit, double tcrit, int* istate); void lsoda(int neq, double* y, double* t, double tout, int itol, double* rtol, double* atol, int itask, int* istate, int iopt, int jt, int iwork1, int iwork2, int iwork5, int iwork6, int iwork7, int iwork8, int iwork9, double rwork1, double rwork5, double rwork6, double rwork7); void stoda(int neq, double* y); void ewset(int itol, double* rtol, double* atol, double* ycur); void intdy(double t, int k, double* dky, int* iflag); void cfode(int meth); void scaleh(double* rh, double* pdh); void prja(int neq, double* y); double vmnorm(int n, double* v, double* w); double fnorm(int n, double** a, double* w); // double bnorm(); void correction(int neq, double* y, int* corflag, double pnorm, double* del, double* delp, double* told, int* ncf, double* rh, int* m); void corfailure(double* told, double* rh, int* ncf, int* corflag); void solsy(double* y); void methodswitch(double dsm, double pnorm, double* pdh, double* rh); void endstoda(); void orderswitch(double* rhup, double dsm, double* pdh, double* rh, int* orderflag); void resetcoeff(); void freevectors(); /* newly added static variables */ int ml, mu, imxer; int mord[3]; double sqrteta, *yp1, *yp2; double sm1[13]; /* static variables for lsoda() */ double ccmax, el0, h, hmin, hmxi, hu, rc, tn; int illin, init, mxstep, mxhnil, nhnil, ntrep, nslast, nyh, ierpj, iersl, jcur, jstart, kflag, l, meth, miter, maxord, maxcor, msbp, mxncf, n, nq, nst, nfe, nje, nqu; double tsw, pdnorm; int ixpr, jtyp, mused, mxordn, mxords; /* no static variable for prja(), solsy() */ /* static variables for stoda() */ double conit, crate, el[14], elco[13][14], hold, rmax, tesco[13][4]; int ialth, ipup, lmax, meo, nslp; double pdest, pdlast, ratio, cm1[13], cm2[6]; int icount, irflag; /* static variable for block data */ int mesflg; /* static variables for various vectors and the Jacobian. */ double **yh, **wm, *ewt, *savf, *acor; int* ipvt; int m_lenyh; int m_nyh; }; } // namespace QtPlugins } // namespace Avogadro #endif // QTAIMLSODAINTEGRATOR_H avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimmathutilities.cpp000066400000000000000000000175601360735163600256730ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "qtaimmathutilities.h" #include #include #include namespace Avogadro { namespace QtPlugins { namespace QTAIMMathUtilities { Matrix eigenvaluesOfASymmetricThreeByThreeMatrix( const Matrix& A) { SelfAdjointEigenSolver> eigensolver(A); return eigensolver.eigenvalues(); } Matrix eigenvectorsOfASymmetricThreeByThreeMatrix( const Matrix& A) { SelfAdjointEigenSolver> eigensolver(A); return eigensolver.eigenvectors(); } Matrix eigenvaluesOfASymmetricFourByFourMatrix( const Matrix& A) { SelfAdjointEigenSolver> eigensolver(A); return eigensolver.eigenvalues(); } Matrix eigenvectorsOfASymmetricFourByFourMatrix( const Matrix& A) { SelfAdjointEigenSolver> eigensolver(A); return eigensolver.eigenvectors(); } qint64 signOfARealNumber(qreal x) { if (x > 0.) return 1; else if (x == 0.) return 0; else return -1; } qint64 signatureOfASymmetricThreeByThreeMatrix(const Matrix& A) { SelfAdjointEigenSolver> eigensolver(A); Matrix eigenvalues = eigensolver.eigenvalues(); return signOfARealNumber(eigenvalues(0)) + signOfARealNumber(eigenvalues(1)) + signOfARealNumber(eigenvalues(2)); } qreal ellipticityOfASymmetricThreeByThreeMatrix(const Matrix& A) { SelfAdjointEigenSolver> eigensolver(A); Matrix eigenvalues = eigensolver.eigenvalues(); return (eigenvalues(0) / eigenvalues(1)) - 1.0; } qreal distance(const Matrix& a, const Matrix& b) { return sqrt(pow(a(0) - b(0), 2) + pow(a(1) - b(1), 2) + pow(a(2) - b(2), 2)); } Matrix sphericalToCartesian(const Matrix& rtp, const Matrix& x0y0z0) { qreal r = rtp(0); qreal theta = rtp(1); qreal phi = rtp(2); qreal x0 = x0y0z0(0); qreal y0 = x0y0z0(1); qreal z0 = x0y0z0(2); qreal costheta = cos(theta); qreal cosphi = cos(phi); qreal sintheta = sin(theta); qreal sinphi = sin(phi); Matrix xyz(r * cosphi * sintheta + x0, r * sintheta * sinphi + y0, r * costheta + z0); return xyz; } Matrix sphericalToCartesian(const Matrix& rtp) { Matrix x0y0z0(0., 0., 0.); return sphericalToCartesian(rtp, x0y0z0); } Matrix cartesianToSpherical(const Matrix& xyz, const Matrix& x0y0z0) { qreal x = xyz(0); qreal y = xyz(1); qreal z = xyz(2); qreal x0 = x0y0z0(0); qreal y0 = x0y0z0(1); qreal z0 = x0y0z0(2); qreal xshift = x - x0; qreal yshift = y - y0; qreal zshift = z - z0; qreal length = sqrt(pow(xshift, 2) + pow(yshift, 2) + pow(zshift, 2)); Matrix rtp; if (length == 0.) rtp << x0, y0, z0; else if (xshift == 0. && yshift == 0.) rtp << length, acos(zshift / length), 0.; else rtp << length, acos(zshift / length), atan2(xshift, yshift); return rtp; } Matrix cartesianToSpherical(const Matrix& xyz) { Matrix x0y0z0(0., 0., 0.); return cartesianToSpherical(xyz, x0y0z0); } // Cerjan-Miller-Baker-Popelier Methods // // Based on: // Popelier, P.L.A. Comput. Phys. Comm. 1996, 93, 212. Matrix minusThreeSignatureLocatorGradient( const Matrix& g, const Matrix& H) { Matrix value; Matrix b = eigenvaluesOfASymmetricThreeByThreeMatrix(H); Matrix U = eigenvectorsOfASymmetricThreeByThreeMatrix(H); Matrix F = U.transpose() * g; Matrix A; A << b(0), 0., 0., F(0), 0., b(1), 0., F(1), 0., 0., b(2), F(2), F(0), F(1), F(2), 0.; Matrix eval = eigenvaluesOfASymmetricFourByFourMatrix(A); Matrix lambda; lambda << eval(3), eval(3), eval(3); Matrix denom; denom = b - lambda; for (qint64 i = 0; i < 3; ++i) if (denom(i) < SMALL) denom(i) = denom(i) + SMALL; Matrix h; h << 0., 0., 0.; for (qint64 j = 0; j < 3; ++j) for (qint64 i = 0; i < 3; ++i) h(j) = h(j) + (-F(i) * U(j, i)) / denom(i); value = h; return value; } Matrix minusOneSignatureLocatorGradient( const Matrix& g, const Matrix& H) { Matrix value; Matrix b = eigenvaluesOfASymmetricThreeByThreeMatrix(H); Matrix U = eigenvectorsOfASymmetricThreeByThreeMatrix(H); Matrix F = U.transpose() * g; Matrix A; A << b(0), 0., F(0), 0., b(1), F(1), F(0), F(1), 0.; Matrix eval = eigenvaluesOfASymmetricThreeByThreeMatrix(A); Matrix lambda; lambda << eval(2), eval(2), (0.5) * (b(2) - sqrt(pow(b(2), 2) + 4.0 * pow(F(2), 2))); Matrix denom; denom = b - lambda; for (qint64 i = 0; i < 3; ++i) if (denom(i) < SMALL) denom(i) = denom(i) + SMALL; Matrix h; h << 0., 0., 0.; for (qint64 j = 0; j < 3; ++j) for (qint64 i = 0; i < 3; ++i) h(j) = h(j) + (-F(i) * U(j, i)) / denom(i); value = h; return value; } Matrix plusOneSignatureLocatorGradient( const Matrix& g, const Matrix& H) { Matrix value; Matrix b = eigenvaluesOfASymmetricThreeByThreeMatrix(H); Matrix U = eigenvectorsOfASymmetricThreeByThreeMatrix(H); Matrix F = U * g; Matrix A; A << b(1), 0., F(1), 0., b(2), F(2), F(1), F(2), 0.; Matrix eval = eigenvaluesOfASymmetricThreeByThreeMatrix(A); Matrix lambda; lambda << eval(2), eval(2), (0.5) * (b(0) + sqrt(pow(b(0), 2) + 4.0 * pow(F(0), 2))); Matrix denom; denom = b - lambda; for (qint64 i = 0; i < 3; ++i) if (denom(i) < SMALL) denom(i) = denom(i) + SMALL; Matrix h; h << 0., 0., 0.; for (qint64 j = 0; j < 3; ++j) for (qint64 i = 0; i < 3; ++i) h(j) = h(j) + (-F(i) * U(i, j)) / denom(i); value = h; return value; } Matrix plusThreeSignatureLocatorGradient( const Matrix& g, const Matrix& H) { Matrix value; Matrix b = eigenvaluesOfASymmetricThreeByThreeMatrix(H); Matrix U = eigenvectorsOfASymmetricThreeByThreeMatrix(H); Matrix F = U * g; Matrix A; A << b(0), 0., 0., F(0), 0., b(1), 0., F(1), 0., 0., b(2), F(2), F(0), F(1), F(2), 0.; Matrix eval = eigenvaluesOfASymmetricFourByFourMatrix(A); Matrix lambda; lambda << eval(0), eval(0), eval(0); Matrix denom; denom = b - lambda; for (qint64 i = 0; i < 3; ++i) if (denom(i) < SMALL) denom(i) = denom(i) + SMALL; Matrix h; h << 0., 0., 0.; for (qint64 j = 0; j < 3; ++j) for (qint64 i = 0; i < 3; ++i) h(j) = h(j) + (-F(i) * U(i, j)) / denom(i); value = h; return value; } } // namespace QTAIMMathUtilities } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimmathutilities.h000066400000000000000000000051031360735163600253260ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef QTAIMMATHUTILITIES_H #define QTAIMMATHUTILITIES_H #include #include using namespace Eigen; namespace Avogadro { namespace QtPlugins { namespace QTAIMMathUtilities { Matrix eigenvaluesOfASymmetricThreeByThreeMatrix( const Matrix& A); Matrix eigenvectorsOfASymmetricThreeByThreeMatrix( const Matrix& A); Matrix eigenvaluesOfASymmetricFourByFourMatrix( const Matrix& A); Matrix eigenvectorsOfASymmetricFourByFourMatrix( const Matrix& A); qint64 signOfARealNumber(qreal x); qint64 signatureOfASymmetricThreeByThreeMatrix(const Matrix& A); qreal ellipticityOfASymmetricThreeByThreeMatrix(const Matrix& A); qreal distance(const Matrix& a, const Matrix& b); Matrix sphericalToCartesian(const Matrix& rtp, const Matrix& x0y0z0); Matrix sphericalToCartesian(const Matrix& rtp); Matrix cartesianToSpherical(const Matrix& xyz, const Matrix& x0y0z0); Matrix cartesianToSpherical(const Matrix& xyz); // Cerjan-Miller-Baker-Popelier Methods // A small number to prevent divide by zero in CMBP routines #define SMALL 1.e-10 Matrix minusThreeSignatureLocatorGradient( const Matrix& g, const Matrix& H); Matrix minusOneSignatureLocatorGradient( const Matrix& g, const Matrix& H); Matrix plusOneSignatureLocatorGradient( const Matrix& g, const Matrix& H); Matrix plusThreeSignatureLocatorGradient( const Matrix& g, const Matrix& H); } } // namespace QtPlugins } // namespace Avogadro #endif // QTAIMMATHUTILITIES_H avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimodeintegrator.cpp000066400000000000000000000764751360735163600256660ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ /* Based on codes written by Herman Watts, Lawrence Shampine, and John Burkardt. */ #include "qtaimodeintegrator.h" namespace Avogadro { namespace QtPlugins { QTAIMODEIntegrator::QTAIMODEIntegrator(QTAIMWavefunctionEvaluator& eval, const qint64 mode) { m_eval = &eval; m_mode = mode; m_betaSpheres.empty(); m_associatedSphere = 0; } QVector3D QTAIMODEIntegrator::integrate(QVector3D x0y0z0) { qreal x0 = x0y0z0.x(); qreal y0 = x0y0z0.y(); qreal z0 = x0y0z0.z(); const qint64 NEQN = 3; abserr_save = -1.0; flag_save = -1000; h = -1.0; init = -1000; kflag = -1000; kop = -1; nfe = -1; relerr_save = -1.0; remin = 1.0e-12; qreal abserr; qint64 flag; qint64 i_step; qint64 n_step; qreal relerr; qreal t; qreal t_out; qreal t_start; qreal t_stop; qreal y[3]; qreal yp[3]; switch (m_mode) { case SteepestAscentPathInElectronDensity: abserr = 1.e-5; // sqrt ( r8_epsilon ( ) ); relerr = 1.e10; // sqrt ( r8_epsilon ( ) ); t_start = 0.0; t_stop = 10.0; n_step = t_stop * 20; break; case CMBPMinusThreeGradientInElectronDensity: abserr = sqrt(r8_epsilon()); relerr = sqrt(r8_epsilon()); t_start = 0.0; t_stop = 1.0; n_step = t_stop * 1000; break; case CMBPMinusOneGradientInElectronDensity: abserr = sqrt(r8_epsilon()); relerr = sqrt(r8_epsilon()); t_start = 0.0; t_stop = 1.0; n_step = t_stop * 100; break; case CMBPPlusOneGradientInElectronDensity: abserr = sqrt(r8_epsilon()); relerr = sqrt(r8_epsilon()); t_start = 0.0; t_stop = 1.0; n_step = t_stop * 200; break; case CMBPPlusThreeGradientInElectronDensity: abserr = sqrt(r8_epsilon()); relerr = sqrt(r8_epsilon()); t_start = 0.0; t_stop = 1.0; n_step = t_stop * 200; break; case CMBPMinusThreeGradientInElectronDensityLaplacian: abserr = sqrt(r8_epsilon()); relerr = sqrt(r8_epsilon()); t_start = 0.0; t_stop = 1.0; n_step = t_stop * 200; break; case CMBPMinusOneGradientInElectronDensityLaplacian: abserr = sqrt(r8_epsilon()); relerr = sqrt(r8_epsilon()); t_start = 0.0; t_stop = 1.0; n_step = t_stop * 200; break; case CMBPPlusOneGradientInElectronDensityLaplacian: abserr = sqrt(r8_epsilon()); relerr = sqrt(r8_epsilon()); t_start = 0.0; t_stop = 1.0; n_step = t_stop * 200; break; case CMBPPlusThreeGradientInElectronDensityLaplacian: abserr = sqrt(r8_epsilon()); relerr = sqrt(r8_epsilon()); t_start = 0.0; t_stop = 1.0; n_step = t_stop * 200; break; default: qDebug() << "Catastrophic: No ODE parameters for this property."; exit(1); break; } y[0] = x0; y[1] = y0; y[2] = z0; m_path.clear(); m_path.append(QVector3D(y[0], y[1], y[2])); flag = 1; for (i_step = 1; i_step <= n_step; i_step++) { t = ((qreal)(n_step - i_step + 1) * t_start + (qreal)(i_step - 1) * t_stop) / (qreal)(n_step); t_out = ((qreal)(n_step - i_step) * t_start + (qreal)(i_step)*t_stop) / (qreal)(n_step); flag = QTAIMODEIntegrator::r8_rkf45(NEQN, y, yp, &t, t_out, &relerr, abserr, flag); m_status = flag; m_path.append(QVector3D(y[0], y[1], y[2])); if (flag == 7) { flag = 2; m_status = flag; } if (flag != 2) { m_status = flag; return QVector3D(y[0], y[1], y[2]); } if (m_betaSpheres.length() > 0) { for (qint64 n = 0; n < m_betaSpheres.length(); ++n) { Matrix a(y[0], y[1], y[2]); Matrix b(m_betaSpheres.at(n).first.x(), m_betaSpheres.at(n).first.y(), m_betaSpheres.at(n).first.z()); qreal distance = QTAIMMathUtilities::distance(a, b); if (distance < m_betaSpheres.at(n).second) { m_status = 0; m_associatedSphere = n; return QVector3D(m_betaSpheres.at(n).first.x(), m_betaSpheres.at(n).first.y(), m_betaSpheres.at(n).first.z()); } } } // beta spheres } // ODE step return QVector3D(y[0], y[1], y[2]); } void QTAIMODEIntegrator::r8_f(qreal t, qreal y[], qreal yp[]) { t = t; // suppress warning Matrix gradient; Matrix gH; Matrix g; Matrix H; Matrix xyz; xyz << y[0], y[1], y[2]; if (m_mode == SteepestAscentPathInElectronDensity) { g = m_eval->gradientOfElectronDensity(xyz); } else { if (m_mode == 1 || m_mode == 2 || m_mode == 3 || m_mode == 4) { gH = m_eval->gradientAndHessianOfElectronDensity(xyz); } else { gH = m_eval->gradientAndHessianOfElectronDensityLaplacian(xyz); } g(0) = gH(0, 0); g(1) = gH(1, 0); g(2) = gH(2, 0); H(0, 0) = gH(0, 1); H(1, 0) = gH(1, 1); H(2, 0) = gH(2, 1); H(0, 1) = gH(0, 2); H(1, 1) = gH(1, 2); H(2, 1) = gH(2, 2); H(0, 2) = gH(0, 3); H(1, 2) = gH(1, 3); H(2, 2) = gH(2, 3); } switch (m_mode) { case SteepestAscentPathInElectronDensity: gradient = g; break; case CMBPMinusThreeGradientInElectronDensity: gradient = QTAIMMathUtilities::minusThreeSignatureLocatorGradient(g, H); break; case CMBPMinusOneGradientInElectronDensity: gradient = QTAIMMathUtilities::minusOneSignatureLocatorGradient(g, H); break; case CMBPPlusOneGradientInElectronDensity: gradient = QTAIMMathUtilities::plusOneSignatureLocatorGradient(g, H); break; case CMBPPlusThreeGradientInElectronDensity: gradient = QTAIMMathUtilities::plusThreeSignatureLocatorGradient(g, H); break; case CMBPMinusThreeGradientInElectronDensityLaplacian: gradient = QTAIMMathUtilities::minusThreeSignatureLocatorGradient(g, H); break; case CMBPMinusOneGradientInElectronDensityLaplacian: gradient = QTAIMMathUtilities::minusOneSignatureLocatorGradient(g, H); break; case CMBPPlusOneGradientInElectronDensityLaplacian: gradient = QTAIMMathUtilities::plusOneSignatureLocatorGradient(g, H); break; case CMBPPlusThreeGradientInElectronDensityLaplacian: gradient = QTAIMMathUtilities::plusThreeSignatureLocatorGradient(g, H); break; default: qDebug() << "Catastrophic: No ODE parameters for this property."; exit(1); break; } qreal normGradient = sqrt(gradient(0) * gradient(0) + gradient(1) * gradient(1) + gradient(2) * gradient(2)); yp[0] = gradient(0) / normGradient; yp[1] = gradient(1) / normGradient; yp[2] = gradient(2) / normGradient; } //****************************************************************************80 qreal QTAIMODEIntegrator::r8_abs(qreal x) //****************************************************************************80 // // Purpose: // // R8_ABS returns the absolute value of an R8. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 02 April 2005 // // Author: // // John Burkardt // // Parameters: // // Input, qreal X, the quantity whose absolute value is desired. // // Output, qreal R8_ABS, the absolute value of X. // { if (0.0 <= x) { return x; } else { return (-x); } } //****************************************************************************80 qreal QTAIMODEIntegrator::r8_epsilon() //****************************************************************************80 // // Purpose: // // R8_EPSILON returns the R8 round off unit. // // Discussion: // // R8_EPSILON is a number R which is a power of 2 with the property that, // to the precision of the computer's arithmetic, // 1 < 1 + R // but // 1 = ( 1 + R / 2 ) // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 06 May 2003 // // Author: // // John Burkardt // // Parameters: // // Output, qreal R8_EPSILON, the R8 round-off unit. // { qreal r; r = 1.0; while (1.0 < (qreal)(1.0 + r)) { r = r / 2.0; } return (2.0 * r); } //****************************************************************************80 void QTAIMODEIntegrator::r8_fehl(qint64 neqn, qreal y[], qreal t, qreal h_, qreal yp[], qreal f1[], qreal f2[], qreal f3[], qreal f4[], qreal f5[], qreal s[]) //****************************************************************************80 // // Purpose: // // R8_FEHL takes one Fehlberg fourth-fifth order step. // // Discussion: // // This version of the routine uses qreal real arithmetic. // // This routine integrates a system of NEQN first order ordinary differential // equations of the form // dY(i)/dT = F(T,Y(1:NEQN)) // where the initial values Y and the initial derivatives // YP are specified at the starting point T. // // The routine advances the solution over the fixed step H and returns // the fifth order (sixth order accurate locally) solution // approximation at T+H in array S. // // The formulas have been grouped to control loss of significance. // The routine should be called with an H not smaller than 13 units of // roundoff in T so that the various independent arguments can be // distinguished. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 27 March 2004 // // Author: // // Original FORTRAN77 version by Herman Watts, Lawrence Shampine. // C++ version by John Burkardt. // // Reference: // // Erwin Fehlberg, // Low-order Classical Runge-Kutta Formulas with Stepsize Control, // NASA Technical Report R-315, 1969. // // Lawrence Shampine, Herman Watts, S Davenport, // Solving Non-stiff Ordinary Differential Equations - The State of the Art, // SIAM Review, // Volume 18, pages 376-411, 1976. // // Parameters: // // Input, external F, a user-supplied subroutine to evaluate the // derivatives Y'(T), of the form: // // void f ( qreal t, qreal y[], qreal yp[] ) // // Input, qint64 NEQN, the number of equations to be integrated. // // Input, qreal Y[NEQN], the current value of the dependent variable. // // Input, qreal T, the current value of the independent variable. // // Input, qreal H, the step size to take. // // Input, qreal YP[NEQN], the current value of the derivative of the // dependent variable. // // Output, qreal F1[NEQN], F2[NEQN], F3[NEQN], F4[NEQN], F5[NEQN], derivative // values needed for the computation. // // Output, qreal S[NEQN], the estimate of the solution at T+H. // { qreal ch; qint64 i; ch = h_ / 4.0; for (i = 0; i < neqn; i++) { f5[i] = y[i] + ch * yp[i]; } QTAIMODEIntegrator::r8_f(t + ch, f5, f1); ch = 3.0 * h_ / 32.0; for (i = 0; i < neqn; i++) { f5[i] = y[i] + ch * (yp[i] + 3.0 * f1[i]); } QTAIMODEIntegrator::r8_f(t + 3.0 * h_ / 8.0, f5, f2); ch = h_ / 2197.0; for (i = 0; i < neqn; i++) { f5[i] = y[i] + ch * (1932.0 * yp[i] + (7296.0 * f2[i] - 7200.0 * f1[i])); } QTAIMODEIntegrator::r8_f(t + 12.0 * h_ / 13.0, f5, f3); ch = h_ / 4104.0; for (i = 0; i < neqn; i++) { f5[i] = y[i] + ch * ((8341.0 * yp[i] - 845.0 * f3[i]) + (29440.0 * f2[i] - 32832.0 * f1[i])); } QTAIMODEIntegrator::r8_f(t + h_, f5, f4); ch = h_ / 20520.0; for (i = 0; i < neqn; i++) { f1[i] = y[i] + ch * ((-6080.0 * yp[i] + (9295.0 * f3[i] - 5643.0 * f4[i])) + (41040.0 * f1[i] - 28352.0 * f2[i])); } QTAIMODEIntegrator::r8_f(t + h_ / 2.0, f1, f5); // // Ready to compute the approximate solution at T+H. // ch = h_ / 7618050.0; for (i = 0; i < neqn; i++) { s[i] = y[i] + ch * ((902880.0 * yp[i] + (3855735.0 * f3[i] - 1371249.0 * f4[i])) + (3953664.0 * f2[i] + 277020.0 * f5[i])); } return; } //****************************************************************************80 qreal QTAIMODEIntegrator::r8_max(qreal x, qreal y) //****************************************************************************80 // // Purpose: // // R8_MAX returns the maximum of two R8's. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 10 January 2002 // // Author: // // John Burkardt // // Parameters: // // Input, qreal X, Y, the quantities to compare. // // Output, qreal R8_MAX, the maximum of X and Y. // { if (y < x) { return x; } else { return y; } } //****************************************************************************80 qreal QTAIMODEIntegrator::r8_min(qreal x, qreal y) //****************************************************************************80 // // Purpose: // // R8_MIN returns the minimum of two R8's. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 09 May 2003 // // Author: // // John Burkardt // // Parameters: // // Input, qreal X, Y, the quantities to compare. // // Output, qreal R8_MIN, the minimum of X and Y. // { if (y < x) { return y; } else { return x; } } //****************************************************************************80 qint64 QTAIMODEIntegrator::r8_rkf45(qint64 neqn, qreal y[], qreal yp[], qreal* t, qreal tout, qreal* relerr, qreal abserr, qint64 flag) //****************************************************************************80 // // Purpose: // // R8_RKF45 carries out the Runge-Kutta-Fehlberg method. // // Discussion: // // This version of the routine uses qreal real arithmetic. // // This routine is primarily designed to solve non-stiff and mildly stiff // differential equations when derivative evaluations are inexpensive. // It should generally not be used when the user is demanding // high accuracy. // // This routine integrates a system of NEQN first-order ordinary differential // equations of the form: // // dY(i)/dT = F(T,Y(1),Y(2),...,Y(NEQN)) // // where the Y(1:NEQN) are given at T. // // Typically the subroutine is used to integrate from T to TOUT but it // can be used as a one-step integrator to advance the solution a // single step in the direction of TOUT. On return, the parameters in // the call list are set for continuing the integration. The user has // only to call again (and perhaps define a new value for TOUT). // // Before the first call, the user must // // * supply the subroutine F(T,Y,YP) to evaluate the right hand side; // and declare F in an EXTERNAL statement; // // * initialize the parameters: // NEQN, Y(1:NEQN), T, TOUT, RELERR, ABSERR, FLAG. // In particular, T should initially be the starting point for integration, // Y should be the value of the initial conditions, and FLAG should // normally be +1. // // Normally, the user only sets the value of FLAG before the first call, and // thereafter, the program manages the value. On the first call, FLAG should // normally be +1 (or -1 for single step mode.) On normal return, FLAG will // have been reset by the program to the value of 2 (or -2 in single // step mode), and the user can continue to call the routine with that // value of FLAG. // // (When the input magnitude of FLAG is 1, this indicates to the program // that it is necessary to do some initialization work. An input magnitude // of 2 lets the program know that initialization can be skipped, // and that useful information was computed earlier.) // // The routine returns with all the information needed to continue // the integration. If the integration reached TOUT, the user need only // define a new TOUT and call again. In the one-step integrator // mode, returning with FLAG = -2, the user must keep in mind that // each step taken is in the direction of the current TOUT. Upon // reaching TOUT, indicated by the output value of FLAG switching to 2, // the user must define a new TOUT and reset FLAG to -2 to continue // in the one-step integrator mode. // // In some cases, an error or difficulty occurs during a call. In that case, // the output value of FLAG is used to indicate that there is a problem // that the user must address. These values include: // // * 3, integration was not completed because the input value of RELERR, the // relative error tolerance, was too small. RELERR has been increased // appropriately for continuing. If the user accepts the output value of // RELERR, then simply reset FLAG to 2 and continue. // // * 4, integration was not completed because more than MAXNFE derivative // evaluations were needed. This is approximately (MAXNFE/6) steps. // The user may continue by simply calling again. The function counter // will be reset to 0, and another MAXNFE function evaluations are allowed. // // * 5, integration was not completed because the solution vanished, // making a pure relative error test impossible. The user must use // a non-zero ABSERR to continue. Using the one-step integration mode // for one step is a good way to proceed. // // * 6, integration was not completed because the requested accuracy // could not be achieved, even using the smallest allowable stepsize. // The user must increase the error tolerances ABSERR or RELERR before // continuing. It is also necessary to reset FLAG to 2 (or -2 when // the one-step integration mode is being used). The occurrence of // FLAG = 6 indicates a trouble spot. The solution is changing // rapidly, or a singularity may be present. It often is inadvisable // to continue. // // * 7, it is likely that this routine is inefficient for solving // this problem. Too much output is restricting the natural stepsize // choice. The user should use the one-step integration mode with // the stepsize determined by the code. If the user insists upon // continuing the integration, reset FLAG to 2 before calling // again. Otherwise, execution will be terminated. // // * 8, invalid input parameters, indicates one of the following: // NEQN <= 0; // T = TOUT and |FLAG| /= 1; // RELERR < 0 or ABSERR < 0; // FLAG == 0 or FLAG < -2 or 8 < FLAG. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 27 March 2004 // // Author: // // Original FORTRAN77 version by Herman Watts, Lawrence Shampine. // C++ version by John Burkardt. // // Reference: // // Erwin Fehlberg, // Low-order Classical Runge-Kutta Formulas with Stepsize Control, // NASA Technical Report R-315, 1969. // // Lawrence Shampine, Herman Watts, S Davenport, // Solving Non-stiff Ordinary Differential Equations - The State of the Art, // SIAM Review, // Volume 18, pages 376-411, 1976. // // Parameters: // // Input, external F, a user-supplied subroutine to evaluate the // derivatives Y'(T), of the form: // // void f ( qreal t, qreal y[], qreal yp[] ) // // Input, qint64 NEQN, the number of equations to be integrated. // // Input/output, qreal Y[NEQN], the current solution vector at T. // // Input/output, qreal YP[NEQN], the derivative of the current solution // vector at T. The user should not set or alter this information! // // Input/output, qreal *T, the current value of the independent variable. // // Input, qreal TOUT, the output point at which solution is desired. // TOUT = T is allowed on the first call only, in which case the routine // returns with FLAG = 2 if continuation is possible. // // Input, qreal *RELERR, ABSERR, the relative and absolute error tolerances // for the local error test. At each step the code requires: // abs ( local error ) <= RELERR * abs ( Y ) + ABSERR // for each component of the local error and the solution vector Y. // RELERR cannot be "too small". If the routine believes RELERR has been // set too small, it will reset RELERR to an acceptable value and return // immediately for user action. // // Input, qint64 FLAG, indicator for status of integration. On the first // call, // set FLAG to +1 for normal use, or to -1 for single step mode. On // subsequent continuation steps, FLAG should be +2, or -2 for single // step mode. // // Output, qint64 RKF45_D, indicator for status of integration. A value of 2 // or -2 indicates normal progress, while any other value indicates a // problem that should be addressed. // { // ECB: originally 3000 #define MAXNFE 1000 qreal ae; qreal dt; qreal ee; qreal eeoet; qreal eps; qreal esttol; qreal et; qreal* f1; qreal* f2; qreal* f3; qreal* f4; qreal* f5; bool hfaild; qreal hmin; qint64 i; qint64 k; qint64 mflag; bool output; qreal relerr_min; qreal s; qreal scale; qreal tol; qreal toln; qreal ypk; // // Check the input parameters. // eps = r8_epsilon(); if (neqn < 1) { return 8; } if ((*relerr) < 0.0) { return 8; } if (abserr < 0.0) { return 8; } if (flag == 0 || 8 < flag || flag < -2) { return 8; } mflag = (qint64)abs((long)flag); // // Is this a continuation call? // if (mflag != 1) { if (*t == tout && kflag != 3) { return 8; } // // FLAG = -2 or +2: // if (mflag == 2) { if (kflag == 3) { flag = flag_save; mflag = (qint64)abs((long)flag); } else if (init == 0) { flag = flag_save; } else if (kflag == 4) { nfe = 0; } else if (kflag == 5 && abserr == 0.0) { exit(1); } else if (kflag == 6 && (*relerr) <= relerr_save && abserr <= abserr_save) { exit(1); } } // // FLAG = 3, 4, 5, 6, 7 or 8. // else { if (flag == 3) { flag = flag_save; if (kflag == 3) { mflag = (qint64)abs((long)flag); } } else if (flag == 4) { nfe = 0; flag = flag_save; if (kflag == 3) { mflag = (qint64)abs((long)flag); } } else if (flag == 5 && 0.0 < abserr) { flag = flag_save; if (kflag == 3) { mflag = (qint64)abs((long)flag); } } // // Integration cannot be continued because the user did not respond to // the instructions pertaining to FLAG = 5, 6, 7 or 8. // else { exit(1); } } } // // Save the input value of FLAG. // Set the continuation flag KFLAG for subsequent input checking. // flag_save = flag; kflag = 0; // // Save RELERR and ABSERR for checking input on subsequent calls. // relerr_save = (*relerr); abserr_save = abserr; // // Restrict the relative error tolerance to be at least // // 2*EPS+REMIN // // to avoid limiting precision difficulties arising from impossible // accuracy requests. // relerr_min = 2.0 * r8_epsilon() + remin; // // Is the relative error tolerance too small? // if ((*relerr) < relerr_min) { (*relerr) = relerr_min; kflag = 3; return 3; } dt = tout - *t; // // Initialization: // // Set the initialization completion indicator, INIT; // set the indicator for too many output points, KOP; // evaluate the initial derivatives // set the counter for function evaluations, NFE; // estimate the starting stepsize. // f1 = new qreal[neqn]; f2 = new qreal[neqn]; f3 = new qreal[neqn]; f4 = new qreal[neqn]; f5 = new qreal[neqn]; if (mflag == 1) { init = 0; kop = 0; QTAIMODEIntegrator::r8_f(*t, y, yp); nfe = 1; if (*t == tout) { return 2; } } if (init == 0) { init = 1; h = r8_abs(dt); toln = 0.0; for (k = 0; k < neqn; k++) { tol = (*relerr) * r8_abs(y[k]) + abserr; if (0.0 < tol) { toln = tol; ypk = r8_abs(yp[k]); if (tol < ypk * pow(h, 5)) { h = pow((tol / ypk), 0.2); } } } if (toln <= 0.0) { h = 0.0; } h = r8_max(h, 26.0 * eps * r8_max(r8_abs(*t), r8_abs(dt))); if (flag < 0) { flag_save = -2; } else { flag_save = 2; } } // // Set stepsize for integration in the direction from T to TOUT. // h = r8_sign(dt) * r8_abs(h); // // Test to see if too may output points are being requested. // if (2.0 * r8_abs(dt) <= r8_abs(h)) { kop = kop + 1; } // // Unnecessary frequency of output. // if (kop == 100) { kop = 0; delete[] f1; delete[] f2; delete[] f3; delete[] f4; delete[] f5; return 7; } // // If we are too close to the output point, then simply extrapolate and // return. // if (r8_abs(dt) <= 26.0 * eps * r8_abs(*t)) { *t = tout; for (i = 0; i < neqn; i++) { y[i] = y[i] + dt * yp[i]; } QTAIMODEIntegrator::r8_f(*t, y, yp); nfe = nfe + 1; delete[] f1; delete[] f2; delete[] f3; delete[] f4; delete[] f5; return 2; } // // Initialize the output point indicator. // output = false; // // To avoid premature underflow in the error tolerance function, // scale the error tolerances. // scale = 2.0 / (*relerr); ae = scale * abserr; // // Step by step integration. // for (;;) { hfaild = false; // // Set the smallest allowable stepsize. // hmin = 26.0 * eps * r8_abs(*t); // // Adjust the stepsize if necessary to hit the output point. // // Look ahead two steps to avoid drastic changes in the stepsize and // thus lessen the impact of output points on the code. // dt = tout - *t; if (2.0 * r8_abs(h) <= r8_abs(dt)) { } else // // Will the next successful step complete the integration to the output // point? // { if (r8_abs(dt) <= r8_abs(h)) { output = true; h = dt; } else { h = 0.5 * dt; } } // // Here begins the core integrator for taking a single step. // // The tolerances have been scaled to avoid premature underflow in // computing the error tolerance function ET. // To avoid problems with zero crossings, relative error is measured // using the average of the magnitudes of the solution at the // beginning and end of a step. // The error estimate formula has been grouped to control loss of // significance. // // To distinguish the various arguments, H is not permitted // to become smaller than 26 units of roundoff in T. // Practical limits on the change in the stepsize are enforced to // smooth the stepsize selection process and to avoid excessive // chattering on problems having discontinuities. // To prevent unnecessary failures, the code uses 9/10 the stepsize // it estimates will succeed. // // After a step failure, the stepsize is not allowed to increase for // the next attempted step. This makes the code more efficient on // problems having discontinuities and more effective in general // since local extrapolation is being used and extra caution seems // warranted. // // Test the number of derivative function evaluations. // If okay, try to advance the integration from T to T+H. // for (;;) { // // Have we done too much work? // if (MAXNFE < nfe) { kflag = 4; delete[] f1; delete[] f2; delete[] f3; delete[] f4; delete[] f5; return 4; } // // Advance an approximate solution over one step of length H. // r8_fehl(neqn, y, *t, h, yp, f1, f2, f3, f4, f5, f1); nfe = nfe + 5; // // Compute and test allowable tolerances versus local error estimates // and remove scaling of tolerances. The relative error is // measured with respect to the average of the magnitudes of the // solution at the beginning and end of the step. // eeoet = 0.0; for (k = 0; k < neqn; k++) { et = r8_abs(y[k]) + r8_abs(f1[k]) + ae; if (et <= 0.0) { delete[] f1; delete[] f2; delete[] f3; delete[] f4; delete[] f5; return 5; } ee = r8_abs((-2090.0 * yp[k] + (21970.0 * f3[k] - 15048.0 * f4[k])) + (22528.0 * f2[k] - 27360.0 * f5[k])); eeoet = r8_max(eeoet, ee / et); } esttol = r8_abs(h) * eeoet * scale / 752400.0; if (esttol <= 1.0) { break; } // // Unsuccessful step. Reduce the stepsize, try again. // The decrease is limited to a factor of 1/10. // hfaild = true; output = false; if (esttol < 59049.0) { s = 0.9 / pow(esttol, 0.2); } else { s = 0.1; } h = s * h; if (r8_abs(h) < hmin) { kflag = 6; delete[] f1; delete[] f2; delete[] f3; delete[] f4; delete[] f5; return 6; } } // // We exited the loop because we took a successful step. // Store the solution for T+H, and evaluate the derivative there. // *t = *t + h; for (i = 0; i < neqn; i++) { y[i] = f1[i]; } QTAIMODEIntegrator::r8_f(*t, y, yp); nfe = nfe + 1; // // Choose the next stepsize. The increase is limited to a factor of 5. // If the step failed, the next stepsize is not allowed to increase. // if (0.0001889568 < esttol) { s = 0.9 / pow(esttol, 0.2); } else { s = 5.0; } if (hfaild) { s = r8_min(s, 1.0); } h = r8_sign(h) * r8_max(s * r8_abs(h), hmin); // // End of core integrator // // Should we take another step? // if (output) { *t = tout; delete[] f1; delete[] f2; delete[] f3; delete[] f4; delete[] f5; return 2; } if (flag <= 0) { delete[] f1; delete[] f2; delete[] f3; delete[] f4; delete[] f5; return (-2); } } #undef MAXNFE } //****************************************************************************80 qreal QTAIMODEIntegrator::r8_sign(qreal x) //****************************************************************************80 // // Purpose: // // R8_SIGN returns the sign of an R8. // // Licensing: // // This code is distributed under the GNU LGPL license. // // Modified: // // 27 March 2004 // // Author: // // John Burkardt // // Parameters: // // Input, qreal X, the number whose sign is desired. // // Output, qreal R8_SIGN, the sign of X. // { if (x < 0.0) { return (-1.0); } else { return (+1.0); } } //****************************************************************************80 } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimodeintegrator.h000066400000000000000000000054011360735163600253100ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef QTAIMODEINTEGRATOR_H #define QTAIMODEINTEGRATOR_H #include #include #include #include #include #include "qtaimmathutilities.h" #include "qtaimwavefunction.h" #include "qtaimwavefunctionevaluator.h" namespace Avogadro { namespace QtPlugins { class QTAIMODEIntegrator { public: enum { SteepestAscentPathInElectronDensity = 0, CMBPMinusThreeGradientInElectronDensity = 1, CMBPMinusOneGradientInElectronDensity = 2, CMBPPlusOneGradientInElectronDensity = 3, CMBPPlusThreeGradientInElectronDensity = 4, CMBPMinusThreeGradientInElectronDensityLaplacian = 5, CMBPMinusOneGradientInElectronDensityLaplacian = 6, CMBPPlusOneGradientInElectronDensityLaplacian = 7, CMBPPlusThreeGradientInElectronDensityLaplacian = 8 }; explicit QTAIMODEIntegrator(QTAIMWavefunctionEvaluator& eval, const qint64 mode); QVector3D integrate(QVector3D x0y0z0); qint64 status() const { return m_status; } const QList path() const { return m_path; } void setBetaSpheres(QList> betaSpheres) { m_betaSpheres = betaSpheres; } qint64 associatedSphere() const { return m_associatedSphere; } private: QTAIMWavefunctionEvaluator* m_eval; qint64 m_mode; qint64 m_status; QList m_path; QList> m_betaSpheres; qint64 m_associatedSphere; // ODE integrator qreal r8_abs(qreal x); qreal r8_epsilon(); void r8_fehl(qint64 neqn, qreal y[], qreal t, qreal h, qreal yp[], qreal f1[], qreal f2[], qreal f3[], qreal f4[], qreal f5[], qreal s[]); qreal r8_max(qreal x, qreal y); qreal r8_min(qreal x, qreal y); qint64 r8_rkf45(qint64 neqn, qreal y[], qreal yp[], qreal* t, qreal tout, qreal* relerr, qreal abserr, qint64 flag); qreal r8_sign(qreal x); void r8_f(qreal t, qreal y[], qreal yp[]); qreal abserr_save; qint64 flag_save; qreal h; qint64 init; qint64 kflag; qint64 kop; qint64 nfe; qreal relerr_save; qreal remin; }; } // namespace QtPlugins } // namespace Avogadro #endif // QTAIMODEINTEGRATOR_H avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimsettingswidget.ui000066400000000000000000000114101360735163600256710ustar00rootroot00000000000000 QTAIMSettingsWidget 0 0 307 285 Critical Point Radius: 5 65 10 25 Qt::Horizontal QSlider::TicksBothSides Bond Path Radius: 1 6 1 2 Qt::Horizontal QSlider::TicksBothSides 2 0 20 1 2 20 20 Qt::Horizontal false QSlider::TicksBothSides 4 0 0 0 0 0 Covalent Constant Size Qt::Horizontal Qt::Horizontal Opacity: Qt::Vertical 20 40 avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimwavefunction.cpp000066400000000000000000000464361360735163600255220ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include "qtaimwavefunction.h" namespace Avogadro { namespace QtPlugins { QTAIMWavefunction::QTAIMWavefunction() { m_initializationSuccessful = false; } bool QTAIMWavefunction::initializeWithWFNFile(const QString& fileName) { m_initializationSuccessful = false; QFile file(fileName); bool fileExists = file.exists(); if (!(fileExists)) { m_initializationSuccessful = false; m_fileDoesNotExist = true; return m_initializationSuccessful; } else { m_fileDoesNotExist = false; } bool success; success = file.open(QIODevice::ReadOnly | QIODevice::Text); if (!(success)) { m_initializationSuccessful = false; m_ioError = true; return m_initializationSuccessful; } else { m_ioError = false; } m_fileName = fileName; QTextStream in(&file); QString fileContents = in.readAll(); file.close(); QStringList fileContentsByLine(fileContents.split("\n")); // Title/Comment m_comment = fileContentsByLine.first(); fileContentsByLine.removeFirst(); m_numberOfMolecularOrbitals = fileContentsByLine.first().mid(8, 15).toLongLong(); m_numberOfGaussianPrimitives = fileContentsByLine.first().mid(36, 8).toLongLong(); ; m_numberOfNuclei = fileContentsByLine.first().mid(54, 10).toLongLong(); ; fileContentsByLine.removeFirst(); // Maximum Number of Nuclei Due to Fixed Format if (m_numberOfNuclei > 999) { m_initializationSuccessful = false; m_tooManyNuclei = true; return m_initializationSuccessful; } else { m_tooManyNuclei = false; } m_xNuclearCoordinates.resize(m_numberOfNuclei); m_yNuclearCoordinates.resize(m_numberOfNuclei); m_zNuclearCoordinates.resize(m_numberOfNuclei); m_nuclearCharges.resize(m_numberOfNuclei); for (qint64 i = 0; i < m_numberOfNuclei; ++i) { m_xNuclearCoordinates[i] = fileContentsByLine.first().mid(24, 13).toDouble(); m_yNuclearCoordinates[i] = fileContentsByLine.first().mid(36, 12).toDouble(); m_zNuclearCoordinates[i] = fileContentsByLine.first().mid(48, 12).toDouble(); m_nuclearCharges[i] = fileContentsByLine.first().mid(70, 3).toLongLong(); fileContentsByLine.removeFirst(); } QList centerAssignmentsList; while (fileContentsByLine.first().startsWith("CENTRE ASSIGNMENTS")) { QString line(fileContentsByLine.first().mid(20, -1)); qint64 counter = 0; while (counter < line.length()) { centerAssignmentsList.append(line.mid(counter, 3).toLongLong()); counter = counter + 3; } fileContentsByLine.removeFirst(); } m_xGaussianPrimitiveCenterCoordinates.resize(m_numberOfGaussianPrimitives); m_yGaussianPrimitiveCenterCoordinates.resize(m_numberOfGaussianPrimitives); m_zGaussianPrimitiveCenterCoordinates.resize(m_numberOfGaussianPrimitives); for (qint64 i = 0; i < m_numberOfGaussianPrimitives; ++i) { m_xGaussianPrimitiveCenterCoordinates[i] = m_xNuclearCoordinates[centerAssignmentsList.at(i) - 1]; m_yGaussianPrimitiveCenterCoordinates[i] = m_yNuclearCoordinates[centerAssignmentsList.at(i) - 1]; m_zGaussianPrimitiveCenterCoordinates[i] = m_zNuclearCoordinates[centerAssignmentsList.at(i) - 1]; } QList typeAssignmentsList; while (fileContentsByLine.first().startsWith("TYPE ASSIGNMENTS")) { QString line(fileContentsByLine.first().mid(20, -1)); QStringList splitLine(line.split(" ", QString::SkipEmptyParts)); for (qint64 i = 0; i < splitLine.length(); ++i) { typeAssignmentsList.append(splitLine.at(i).toLongLong()); } fileContentsByLine.removeFirst(); } m_xGaussianPrimitiveAngularMomenta.resize(m_numberOfGaussianPrimitives); m_yGaussianPrimitiveAngularMomenta.resize(m_numberOfGaussianPrimitives); m_zGaussianPrimitiveAngularMomenta.resize(m_numberOfGaussianPrimitives); for (qint64 i = 0; i < m_numberOfGaussianPrimitives; ++i) { switch (typeAssignmentsList.at(i)) { case 1: m_xGaussianPrimitiveAngularMomenta[i] = 0; m_yGaussianPrimitiveAngularMomenta[i] = 0; m_zGaussianPrimitiveAngularMomenta[i] = 0; break; case 2: m_xGaussianPrimitiveAngularMomenta[i] = 1; m_yGaussianPrimitiveAngularMomenta[i] = 0; m_zGaussianPrimitiveAngularMomenta[i] = 0; break; case 3: m_xGaussianPrimitiveAngularMomenta[i] = 0; m_yGaussianPrimitiveAngularMomenta[i] = 1; m_zGaussianPrimitiveAngularMomenta[i] = 0; break; case 4: m_xGaussianPrimitiveAngularMomenta[i] = 0; m_yGaussianPrimitiveAngularMomenta[i] = 0; m_zGaussianPrimitiveAngularMomenta[i] = 1; break; case 5: m_xGaussianPrimitiveAngularMomenta[i] = 2; m_yGaussianPrimitiveAngularMomenta[i] = 0; m_zGaussianPrimitiveAngularMomenta[i] = 0; break; case 6: m_xGaussianPrimitiveAngularMomenta[i] = 0; m_yGaussianPrimitiveAngularMomenta[i] = 2; m_zGaussianPrimitiveAngularMomenta[i] = 0; break; case 7: m_xGaussianPrimitiveAngularMomenta[i] = 0; m_yGaussianPrimitiveAngularMomenta[i] = 0; m_zGaussianPrimitiveAngularMomenta[i] = 2; break; case 8: m_xGaussianPrimitiveAngularMomenta[i] = 1; m_yGaussianPrimitiveAngularMomenta[i] = 1; m_zGaussianPrimitiveAngularMomenta[i] = 0; break; case 9: m_xGaussianPrimitiveAngularMomenta[i] = 1; m_yGaussianPrimitiveAngularMomenta[i] = 0; m_zGaussianPrimitiveAngularMomenta[i] = 1; break; case 10: m_xGaussianPrimitiveAngularMomenta[i] = 0; m_yGaussianPrimitiveAngularMomenta[i] = 1; m_zGaussianPrimitiveAngularMomenta[i] = 1; break; case 11: m_xGaussianPrimitiveAngularMomenta[i] = 3; m_yGaussianPrimitiveAngularMomenta[i] = 0; m_zGaussianPrimitiveAngularMomenta[i] = 0; break; case 12: m_xGaussianPrimitiveAngularMomenta[i] = 0; m_yGaussianPrimitiveAngularMomenta[i] = 3; m_zGaussianPrimitiveAngularMomenta[i] = 0; break; case 13: m_xGaussianPrimitiveAngularMomenta[i] = 0; m_yGaussianPrimitiveAngularMomenta[i] = 0; m_zGaussianPrimitiveAngularMomenta[i] = 3; break; case 14: m_xGaussianPrimitiveAngularMomenta[i] = 2; m_yGaussianPrimitiveAngularMomenta[i] = 1; m_zGaussianPrimitiveAngularMomenta[i] = 0; break; case 15: m_xGaussianPrimitiveAngularMomenta[i] = 2; m_yGaussianPrimitiveAngularMomenta[i] = 0; m_zGaussianPrimitiveAngularMomenta[i] = 1; break; case 16: m_xGaussianPrimitiveAngularMomenta[i] = 0; m_yGaussianPrimitiveAngularMomenta[i] = 2; m_zGaussianPrimitiveAngularMomenta[i] = 1; break; case 17: m_xGaussianPrimitiveAngularMomenta[i] = 1; m_yGaussianPrimitiveAngularMomenta[i] = 2; m_zGaussianPrimitiveAngularMomenta[i] = 0; break; case 18: m_xGaussianPrimitiveAngularMomenta[i] = 1; m_yGaussianPrimitiveAngularMomenta[i] = 0; m_zGaussianPrimitiveAngularMomenta[i] = 2; break; case 19: m_xGaussianPrimitiveAngularMomenta[i] = 0; m_yGaussianPrimitiveAngularMomenta[i] = 1; m_zGaussianPrimitiveAngularMomenta[i] = 2; break; case 20: m_xGaussianPrimitiveAngularMomenta[i] = 1; m_yGaussianPrimitiveAngularMomenta[i] = 1; m_zGaussianPrimitiveAngularMomenta[i] = 1; break; default: m_initializationSuccessful = false; m_maximumAngularMomentumExceeded = true; return m_initializationSuccessful; } } m_maximumAngularMomentumExceeded = false; QList exponentsList; while (fileContentsByLine.first().startsWith("EXPONENTS")) { QString line(fileContentsByLine.first().mid(9, -1)); QStringList splitLine(line.split(" ", QString::SkipEmptyParts)); for (qint64 i = 0; i < splitLine.length(); ++i) { QString str(splitLine.at(i)); QString replacedString(str.replace("d", "e", Qt::CaseSensitive) .replace("D", "e", Qt::CaseSensitive) .replace("E", "e", Qt::CaseSensitive)); exponentsList.append(replacedString.toDouble()); } fileContentsByLine.removeFirst(); } m_gaussianPrimitiveExponentCoefficients.resize(m_numberOfGaussianPrimitives); for (qint64 i = 0; i < m_numberOfGaussianPrimitives; ++i) { m_gaussianPrimitiveExponentCoefficients[i] = exponentsList.at(i); } m_totalEnergy = fileContentsByLine.last().mid(17, 20).toDouble(); m_virialRatio = fileContentsByLine.last().mid(55, -1).toDouble(); fileContentsByLine.removeLast(); fileContentsByLine.removeLast(); if (fileContentsByLine.last().trimmed().contains("END DATA", Qt::CaseSensitive)) fileContentsByLine.removeLast(); QStringList moHeaderStringList; QStringList moCoefficientsStringList; QList moCoefficientsList; for (qint64 i = 0; i < fileContentsByLine.length(); ++i) { if (fileContentsByLine.at(i).trimmed().startsWith("MO")) { moHeaderStringList.append(fileContentsByLine.at(i)); } else { moCoefficientsStringList.append(fileContentsByLine.at(i)); } } QList molecularOrbitalOccupationNumbersList; QList molecularOrbitalEigenvaluesList; for (qint64 i = 0; i < moHeaderStringList.length(); ++i) { molecularOrbitalOccupationNumbersList.append( moHeaderStringList.at(i).mid(34, 13).toDouble()); molecularOrbitalEigenvaluesList.append( moHeaderStringList.at(i).mid(62, -1).toDouble()); } m_molecularOrbitalOccupationNumbers.resize(m_numberOfMolecularOrbitals); for (qint64 i = 0; i < m_numberOfMolecularOrbitals; ++i) m_molecularOrbitalOccupationNumbers[i] = molecularOrbitalOccupationNumbersList.at(i); m_molecularOrbitalEigenvalues.resize(m_numberOfMolecularOrbitals); for (qint64 i = 0; i < m_numberOfMolecularOrbitals; ++i) m_molecularOrbitalEigenvalues[i] = molecularOrbitalEigenvaluesList.at(i); moCoefficientsStringList = moCoefficientsStringList.join(" ").split(" ", QString::SkipEmptyParts); for (qint64 i = 0; i < moCoefficientsStringList.length(); ++i) { QString str(moCoefficientsStringList.at(i)); QString replacedString(str.replace("d", "e", Qt::CaseSensitive) .replace("D", "e", Qt::CaseSensitive) .replace("E", "e", Qt::CaseSensitive)); moCoefficientsList.append(replacedString.toDouble()); } m_molecularOrbitalCoefficients.resize(m_numberOfMolecularOrbitals * m_numberOfGaussianPrimitives); for (qint64 i = 0; i < (m_numberOfMolecularOrbitals * m_numberOfGaussianPrimitives); ++i) m_molecularOrbitalCoefficients[i] = moCoefficientsList.at(i); m_initializationSuccessful = true; return m_initializationSuccessful; } bool QTAIMWavefunction::initializeWithMoleculeProperties(QtGui::Molecule*& mol) { if (mol->property("QTAIMNumberOfMolecularOrbitals").isValid()) { QVariant numberOfMolecularOrbitalsVariant = mol->property("QTAIMNumberOfMolecularOrbitals"); m_numberOfMolecularOrbitals = numberOfMolecularOrbitalsVariant.toLongLong(); QVariant numberOfGaussianPrimitivesVariant = mol->property("QTAIMNumberOfGaussianPrimitives"); m_numberOfGaussianPrimitives = numberOfGaussianPrimitivesVariant.toLongLong(); QVariant numberOfNucleiVariant = mol->property("QTAIMNumberOfNuclei"); m_numberOfNuclei = numberOfNucleiVariant.toLongLong(); QVariant xNuclearCoordinatesVariant = mol->property("QTAIMXNuclearCoordinates"); QVariant yNuclearCoordinatesVariant = mol->property("QTAIMYNuclearCoordinates"); QVariant zNuclearCoordinatesVariant = mol->property("QTAIMZNuclearCoordinates"); QVariant nuclearChargesVariant = mol->property("QTAIMNuclearCharges"); QVariantList xNuclearCoordinatesVariantList = xNuclearCoordinatesVariant.toList(); QVariantList yNuclearCoordinatesVariantList = yNuclearCoordinatesVariant.toList(); QVariantList zNuclearCoordinatesVariantList = zNuclearCoordinatesVariant.toList(); QVariantList nuclearChargesVariantList = nuclearChargesVariant.toList(); QList xNuclearCoordinatesList; QList yNuclearCoordinatesList; QList zNuclearCoordinatesList; QList nuclearChargesList_; for (qint64 i = 0; i < m_numberOfNuclei; ++i) { xNuclearCoordinatesList.append( xNuclearCoordinatesVariantList.at(i).toReal()); yNuclearCoordinatesList.append( yNuclearCoordinatesVariantList.at(i).toReal()); zNuclearCoordinatesList.append( zNuclearCoordinatesVariantList.at(i).toReal()); nuclearChargesList_.append(nuclearChargesVariantList.at(i).toLongLong()); } m_xNuclearCoordinates = xNuclearCoordinatesList.toVector(); m_yNuclearCoordinates = yNuclearCoordinatesList.toVector(); m_zNuclearCoordinates = zNuclearCoordinatesList.toVector(); m_nuclearCharges = nuclearChargesList_.toVector(); QVariant xGaussianPrimitiveCenterCoordinatesVariant = mol->property("QTAIMXGaussianPrimitiveCenterCoordinates"); QVariant yGaussianPrimitiveCenterCoordinatesVariant = mol->property("QTAIMYGaussianPrimitiveCenterCoordinates"); QVariant zGaussianPrimitiveCenterCoordinatesVariant = mol->property("QTAIMZGaussianPrimitiveCenterCoordinates"); QVariant xGaussianPrimitiveAngularMomentaVariant = mol->property("QTAIMXGaussianPrimitiveAngularMomenta"); QVariant yGaussianPrimitiveAngularMomentaVariant = mol->property("QTAIMYGaussianPrimitiveAngularMomenta"); QVariant zGaussianPrimitiveAngularMomentaVariant = mol->property("QTAIMZGaussianPrimitiveAngularMomenta"); QVariant gaussianPrimitiveExponentCoefficientsVariant = mol->property("QTAIMGaussianPrimitiveExponentCoefficients"); QVariantList xGaussianPrimitiveCenterCoordinatesVariantList = xGaussianPrimitiveCenterCoordinatesVariant.toList(); QVariantList yGaussianPrimitiveCenterCoordinatesVariantList = yGaussianPrimitiveCenterCoordinatesVariant.toList(); QVariantList zGaussianPrimitiveCenterCoordinatesVariantList = zGaussianPrimitiveCenterCoordinatesVariant.toList(); QVariantList xGaussianPrimitiveAngularMomentaVariantList = xGaussianPrimitiveAngularMomentaVariant.toList(); QVariantList yGaussianPrimitiveAngularMomentaVariantList = yGaussianPrimitiveAngularMomentaVariant.toList(); QVariantList zGaussianPrimitiveAngularMomentaVariantList = zGaussianPrimitiveAngularMomentaVariant.toList(); QVariantList gaussianPrimitiveExponentCoefficientsVariantList = gaussianPrimitiveExponentCoefficientsVariant.toList(); QList xGaussianPrimitiveCenterCoordinatesList; QList yGaussianPrimitiveCenterCoordinatesList; QList zGaussianPrimitiveCenterCoordinatesList; QList xGaussianPrimitiveAngularMomentaList; QList yGaussianPrimitiveAngularMomentaList; QList zGaussianPrimitiveAngularMomentaList; QList gaussianPrimitiveExponentCoefficientsList; for (qint64 p = 0; p < m_numberOfGaussianPrimitives; ++p) { xGaussianPrimitiveCenterCoordinatesList.append( xGaussianPrimitiveCenterCoordinatesVariantList.at(p).toReal()); yGaussianPrimitiveCenterCoordinatesList.append( yGaussianPrimitiveCenterCoordinatesVariantList.at(p).toReal()); zGaussianPrimitiveCenterCoordinatesList.append( zGaussianPrimitiveCenterCoordinatesVariantList.at(p).toReal()); xGaussianPrimitiveAngularMomentaList.append( xGaussianPrimitiveAngularMomentaVariantList.at(p).toLongLong()); yGaussianPrimitiveAngularMomentaList.append( yGaussianPrimitiveAngularMomentaVariantList.at(p).toLongLong()); zGaussianPrimitiveAngularMomentaList.append( zGaussianPrimitiveAngularMomentaVariantList.at(p).toLongLong()); gaussianPrimitiveExponentCoefficientsList.append( gaussianPrimitiveExponentCoefficientsVariantList.at(p).toReal()); } m_xGaussianPrimitiveCenterCoordinates = xGaussianPrimitiveCenterCoordinatesList.toVector(); m_yGaussianPrimitiveCenterCoordinates = yGaussianPrimitiveCenterCoordinatesList.toVector(); m_zGaussianPrimitiveCenterCoordinates = zGaussianPrimitiveCenterCoordinatesList.toVector(); m_xGaussianPrimitiveAngularMomenta = xGaussianPrimitiveAngularMomentaList.toVector(); m_yGaussianPrimitiveAngularMomenta = yGaussianPrimitiveAngularMomentaList.toVector(); m_zGaussianPrimitiveAngularMomenta = zGaussianPrimitiveAngularMomentaList.toVector(); m_gaussianPrimitiveExponentCoefficients = gaussianPrimitiveExponentCoefficientsList.toVector(); QVariant molecularOrbitalOccupationNumbersVariant = mol->property("QTAIMMolecularOrbitalOccupationNumbers"); QVariant molecularOrbitalEigenvaluesVariant = mol->property("QTAIMMolecularOrbitalEigenvalues"); QVariant molecularOrbitalCoefficientsVariant = mol->property("QTAIMMolecularOrbitalCoefficients"); QVariantList molecularOrbitalOccupationNumbersVariantList = molecularOrbitalOccupationNumbersVariant.toList(); QVariantList molecularOrbitalEigenvaluesVariantList = molecularOrbitalEigenvaluesVariant.toList(); QVariantList molecularOrbitalCoefficientsVariantList = molecularOrbitalCoefficientsVariant.toList(); QList molecularOrbitalOccupationNumbersList; QList molecularOrbitalEigenvaluesList; QList molecularOrbitalCoefficientsList; for (qint64 m = 0; m < m_numberOfMolecularOrbitals; ++m) { molecularOrbitalOccupationNumbersList.append( molecularOrbitalOccupationNumbersVariantList.at(m).toReal()); molecularOrbitalEigenvaluesList.append( molecularOrbitalEigenvaluesVariantList.at(m).toReal()); } for (qint64 i = 0; i < (m_numberOfMolecularOrbitals * m_numberOfGaussianPrimitives); ++i) { molecularOrbitalCoefficientsList.append( molecularOrbitalCoefficientsVariantList.at(i).toReal()); } m_molecularOrbitalOccupationNumbers = molecularOrbitalOccupationNumbersList.toVector(); m_molecularOrbitalEigenvalues = molecularOrbitalEigenvaluesList.toVector(); m_molecularOrbitalCoefficients = molecularOrbitalCoefficientsList.toVector(); QVariant totalEnergyVariant = mol->property("QTAIMTotalEnergy"); QVariant virialRatioVariant = mol->property("QTAIMVirialRatio"); m_totalEnergy = totalEnergyVariant.toReal(); m_virialRatio = virialRatioVariant.toReal(); } return true; } } // end namespace QtPlugins } // end namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimwavefunction.h000066400000000000000000000177471360735163600251720ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef QTAIMWAVEFUNCTION_H #define QTAIMWAVEFUNCTION_H #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { class QTAIMWavefunctionEvaluator; class QTAIMWavefunction { public: explicit QTAIMWavefunction(); void saveToBinaryFile(const QString& fileName) { QFile file(fileName); file.open(QIODevice::WriteOnly); QDataStream out(&file); out << m_fileName; out << m_comment; out << m_numberOfMolecularOrbitals; out << m_numberOfGaussianPrimitives; out << m_numberOfNuclei; out << m_xNuclearCoordinates; out << m_yNuclearCoordinates; out << m_zNuclearCoordinates; out << m_nuclearCharges; out << m_xGaussianPrimitiveCenterCoordinates; out << m_yGaussianPrimitiveCenterCoordinates; out << m_zGaussianPrimitiveCenterCoordinates; out << m_xGaussianPrimitiveAngularMomenta; out << m_yGaussianPrimitiveAngularMomenta; out << m_zGaussianPrimitiveAngularMomenta; out << m_gaussianPrimitiveExponentCoefficients; out << m_molecularOrbitalOccupationNumbers; out << m_molecularOrbitalEigenvalues; out << m_molecularOrbitalCoefficients; out << m_totalEnergy; out << m_virialRatio; } void loadFromBinaryFile(const QString& fileName) { QFile file(fileName); file.open(QIODevice::ReadOnly); QDataStream in(&file); in >> m_fileName; in >> m_comment; in >> m_numberOfMolecularOrbitals; in >> m_numberOfGaussianPrimitives; in >> m_numberOfNuclei; in >> m_xNuclearCoordinates; in >> m_yNuclearCoordinates; in >> m_zNuclearCoordinates; in >> m_nuclearCharges; in >> m_xGaussianPrimitiveCenterCoordinates; in >> m_yGaussianPrimitiveCenterCoordinates; in >> m_zGaussianPrimitiveCenterCoordinates; in >> m_xGaussianPrimitiveAngularMomenta; in >> m_yGaussianPrimitiveAngularMomenta; in >> m_zGaussianPrimitiveAngularMomenta; in >> m_gaussianPrimitiveExponentCoefficients; in >> m_molecularOrbitalOccupationNumbers; in >> m_molecularOrbitalEigenvalues; in >> m_molecularOrbitalCoefficients; in >> m_totalEnergy; in >> m_virialRatio; } bool initializeWithWFNFile(const QString& fileName); // bool initializeWithMoleculeProperties( Molecule &mol ); bool initializeWithMoleculeProperties(QtGui::Molecule*& mol); // TODO initialize with Avogadro general wavefunction qint64 numberOfMolecularOrbitals() const { return m_numberOfMolecularOrbitals; } qint64 numberOfGaussianPrimitives() const { return m_numberOfGaussianPrimitives; } qint64 numberOfNuclei() const { return m_numberOfNuclei; } const qreal* xNuclearCoordinates() const { return m_xNuclearCoordinates.constData(); } const qreal* yNuclearCoordinates() const { return m_yNuclearCoordinates.constData(); } const qreal* zNuclearCoordinates() const { return m_zNuclearCoordinates.constData(); } qreal xNuclearCoordinate(qint64 i) const { return m_xNuclearCoordinates.at(i); } qreal yNuclearCoordinate(qint64 i) const { return m_yNuclearCoordinates.at(i); } qreal zNuclearCoordinate(qint64 i) const { return m_zNuclearCoordinates.at(i); } const qint64* nuclearCharges() const { return m_nuclearCharges.constData(); } qint64 nuclearCharge(qint64 i) const { return m_nuclearCharges.at(i); } const QList nuclearChargesList() const { return m_nuclearCharges.toList(); } const qreal* xGaussianPrimitiveCenterCoordinates() const { return m_xGaussianPrimitiveCenterCoordinates.constData(); } const qreal* yGaussianPrimitiveCenterCoordinates() const { return m_yGaussianPrimitiveCenterCoordinates.constData(); } const qreal* zGaussianPrimitiveCenterCoordinates() const { return m_zGaussianPrimitiveCenterCoordinates.constData(); } qreal xGaussianPrimitiveCenterCoordinate(qint64 i) const { return m_xGaussianPrimitiveCenterCoordinates.at(i); } qreal yGaussianPrimitiveCenterCoordinate(qint64 i) const { return m_yGaussianPrimitiveCenterCoordinates.at(i); } qreal zGaussianPrimitiveCenterCoordinate(qint64 i) const { return m_zGaussianPrimitiveCenterCoordinates.at(i); } const qint64* xGaussianPrimitiveAngularMomenta() const { return m_xGaussianPrimitiveAngularMomenta.constData(); } const qint64* yGaussianPrimitiveAngularMomenta() const { return m_yGaussianPrimitiveAngularMomenta.constData(); } const qint64* zGaussianPrimitiveAngularMomenta() const { return m_zGaussianPrimitiveAngularMomenta.constData(); } qint64 xGaussianPrimitiveAngularMomentum(qint64 i) const { return m_xGaussianPrimitiveAngularMomenta.at(i); } qint64 yGaussianPrimitiveAngularMomentum(qint64 i) const { return m_yGaussianPrimitiveAngularMomenta.at(i); } qint64 zGaussianPrimitiveAngularMomentum(qint64 i) const { return m_zGaussianPrimitiveAngularMomenta.at(i); } const qreal* gaussianPrimitiveExponentCoefficients() const { return m_gaussianPrimitiveExponentCoefficients.constData(); } qreal gaussianPrimitiveExponentCoefficient(qint64 i) const { return m_gaussianPrimitiveExponentCoefficients.at(i); } const qreal* molecularOrbitalOccupationNumbers() const { return m_molecularOrbitalOccupationNumbers.constData(); } qreal molecularOrbitalOccupationNumber(qint64 i) const { return m_molecularOrbitalOccupationNumbers.at(i); } const qreal* molecularOrbitalEigenvalues() const { return m_molecularOrbitalEigenvalues.constData(); } qreal molecularOrbitalEigenvalue(qint64 i) const { return m_molecularOrbitalEigenvalues.at(i); } const qreal* molecularOrbitalCoefficients() const { return m_molecularOrbitalCoefficients.constData(); } qreal molecularOrbitalCoefficient(qint64 i) const { return m_molecularOrbitalCoefficients.at(i); } qreal molecularOrbitalCoefficient(qint64 mo, qint64 prim) const { return m_molecularOrbitalCoefficients.at(mo * m_numberOfGaussianPrimitives + prim); } qreal totalEnergy() const { return m_totalEnergy; } qreal virialRatio() const { return m_virialRatio; } private: bool m_initializationSuccessful; bool m_fileDoesNotExist; bool m_ioError; bool m_tooManyNuclei; bool m_maximumAngularMomentumExceeded; QString m_fileName; QString m_comment; qint64 m_numberOfMolecularOrbitals; qint64 m_numberOfGaussianPrimitives; qint64 m_numberOfNuclei; QVector m_xNuclearCoordinates; QVector m_yNuclearCoordinates; QVector m_zNuclearCoordinates; QVector m_nuclearCharges; QVector m_xGaussianPrimitiveCenterCoordinates; QVector m_yGaussianPrimitiveCenterCoordinates; QVector m_zGaussianPrimitiveCenterCoordinates; QVector m_xGaussianPrimitiveAngularMomenta; QVector m_yGaussianPrimitiveAngularMomenta; QVector m_zGaussianPrimitiveAngularMomenta; QVector m_gaussianPrimitiveExponentCoefficients; QVector m_molecularOrbitalOccupationNumbers; QVector m_molecularOrbitalEigenvalues; QVector m_molecularOrbitalCoefficients; qreal m_totalEnergy; qreal m_virialRatio; }; } // namespace QtPlugins } // namespace Avogadro #endif // QTAIMWAVEFUNCTION_H avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimwavefunctionevaluator.cpp000066400000000000000000002130221360735163600274300ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include "qtaimwavefunctionevaluator.h" namespace Avogadro { namespace QtPlugins { QTAIMWavefunctionEvaluator::QTAIMWavefunctionEvaluator(QTAIMWavefunction& wfn) { m_nmo = wfn.numberOfMolecularOrbitals(); m_nprim = wfn.numberOfGaussianPrimitives(); m_nnuc = wfn.numberOfNuclei(); m_nucxcoord = Map>(wfn.xNuclearCoordinates(), m_nnuc); m_nucycoord = Map>(wfn.yNuclearCoordinates(), m_nnuc); m_nuczcoord = Map>(wfn.zNuclearCoordinates(), m_nnuc); m_nucz = Map>(wfn.nuclearCharges(), m_nnuc); m_X0 = Map>( wfn.xGaussianPrimitiveCenterCoordinates(), m_nprim, 1); m_Y0 = Map>( wfn.yGaussianPrimitiveCenterCoordinates(), m_nprim, 1); m_Z0 = Map>( wfn.zGaussianPrimitiveCenterCoordinates(), m_nprim, 1); m_xamom = Map>( wfn.xGaussianPrimitiveAngularMomenta(), m_nprim, 1); m_yamom = Map>( wfn.yGaussianPrimitiveAngularMomenta(), m_nprim, 1); m_zamom = Map>( wfn.zGaussianPrimitiveAngularMomenta(), m_nprim, 1); m_alpha = Map>( wfn.gaussianPrimitiveExponentCoefficients(), m_nprim, 1); // TODO Implement screening for unoccupied molecular orbitals. m_occno = Map>( wfn.molecularOrbitalOccupationNumbers(), m_nmo, 1); m_orbe = Map>( wfn.molecularOrbitalEigenvalues(), m_nmo, 1); m_coef = Map>( wfn.molecularOrbitalCoefficients(), m_nmo, m_nprim); m_totalEnergy = wfn.totalEnergy(); m_virialRatio = wfn.virialRatio(); m_cutoff = log(1.e-15); m_cdg000.resize(m_nmo); m_cdg100.resize(m_nmo); m_cdg010.resize(m_nmo); m_cdg001.resize(m_nmo); m_cdg200.resize(m_nmo); m_cdg110.resize(m_nmo); m_cdg101.resize(m_nmo); m_cdg020.resize(m_nmo); m_cdg011.resize(m_nmo); m_cdg002.resize(m_nmo); m_cdg300.resize(m_nmo); m_cdg120.resize(m_nmo); m_cdg102.resize(m_nmo); m_cdg210.resize(m_nmo); m_cdg030.resize(m_nmo); m_cdg012.resize(m_nmo); m_cdg201.resize(m_nmo); m_cdg021.resize(m_nmo); m_cdg003.resize(m_nmo); m_cdg111.resize(m_nmo); m_cdg400.resize(m_nmo); m_cdg220.resize(m_nmo); m_cdg202.resize(m_nmo); m_cdg310.resize(m_nmo); m_cdg130.resize(m_nmo); m_cdg112.resize(m_nmo); m_cdg301.resize(m_nmo); m_cdg121.resize(m_nmo); m_cdg103.resize(m_nmo); m_cdg040.resize(m_nmo); m_cdg022.resize(m_nmo); m_cdg211.resize(m_nmo); m_cdg031.resize(m_nmo); m_cdg013.resize(m_nmo); m_cdg004.resize(m_nmo); } qreal QTAIMWavefunctionEvaluator::molecularOrbital( const qint64 mo, const Matrix xyz) { qreal value = 0.0; for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qreal ax0 = ipow(xx0, m_xamom(p)); qreal ay0 = ipow(yy0, m_yamom(p)); qreal az0 = ipow(zz0, m_zamom(p)); qreal b0 = exp(b0arg); qreal dg000 = ax0 * ay0 * az0 * b0; value += m_coef(mo, p) * dg000; } } return value; } qreal QTAIMWavefunctionEvaluator::electronDensity(const Matrix xyz) { qreal value; m_cdg000.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qreal ax0 = ipow(xx0, m_xamom(p)); qreal ay0 = ipow(yy0, m_yamom(p)); qreal az0 = ipow(zz0, m_zamom(p)); qreal b0 = exp(b0arg); qreal dg000 = ax0 * ay0 * az0 * b0; for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; } } } value = 0.0; for (qint64 m = 0; m < m_nmo; ++m) { value += m_occno(m) * ipow(m_cdg000(m), 2); } return value; } const Matrix QTAIMWavefunctionEvaluator::gradientOfElectronDensity( Matrix xyz) { Matrix value; const qreal zero = 0.0; const qreal one = 1.0; m_cdg000.setZero(); m_cdg100.setZero(); m_cdg010.setZero(); m_cdg001.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qint64 aax0 = 1; qint64 aay0 = 1; qint64 aaz0 = 1; qint64 aax1 = m_xamom(p); qint64 aay1 = m_yamom(p); qint64 aaz1 = m_zamom(p); qreal ax0 = aax0 * ipow(xx0, m_xamom(p)); qreal ay0 = aay0 * ipow(yy0, m_yamom(p)); qreal az0 = aaz0 * ipow(zz0, m_zamom(p)); qreal ax1; qreal ay1; qreal az1; if (m_xamom(p) < 1) { ax1 = zero; } else if (m_xamom(p) == 1) { ax1 = one; } else { ax1 = aax1 * ipow(xx0, m_xamom(p) - 1); } if (m_yamom(p) < 1) { ay1 = zero; } else if (m_yamom(p) == 1) { ay1 = one; } else { ay1 = aay1 * ipow(yy0, m_yamom(p) - 1); } if (m_zamom(p) < 1) { az1 = zero; } else if (m_zamom(p) == 1) { az1 = one; } else { az1 = aaz1 * ipow(zz0, m_zamom(p) - 1); } qreal b0 = exp(b0arg); qreal bx1 = -2 * m_alpha(p) * xx0; qreal by1 = -2 * m_alpha(p) * yy0; qreal bz1 = -2 * m_alpha(p) * zz0; qreal dg000 = ax0 * ay0 * az0 * b0; qreal dg100 = ay0 * az0 * b0 * (ax1 + ax0 * bx1); qreal dg010 = ax0 * az0 * b0 * (ay1 + ay0 * by1); qreal dg001 = ax0 * ay0 * b0 * (az1 + az0 * bz1); for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; m_cdg100(m) += m_coef(m, p) * dg100; m_cdg010(m) += m_coef(m, p) * dg010; m_cdg001(m) += m_coef(m, p) * dg001; } } } value.setZero(); for (qint64 m = 0; m < m_nmo; ++m) { value(0) += m_occno(m) * m_cdg100(m) * m_cdg000(m); value(1) += m_occno(m) * m_cdg010(m) * m_cdg000(m); value(2) += m_occno(m) * m_cdg001(m) * m_cdg000(m); } return value; } const Matrix QTAIMWavefunctionEvaluator::hessianOfElectronDensity( const Matrix xyz) { Matrix value; const qreal zero = 0.0; const qreal one = 1.0; m_cdg000.setZero(); m_cdg100.setZero(); m_cdg010.setZero(); m_cdg001.setZero(); m_cdg200.setZero(); m_cdg020.setZero(); m_cdg002.setZero(); m_cdg110.setZero(); m_cdg101.setZero(); m_cdg011.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qint64 aax0 = 1; qint64 aay0 = 1; qint64 aaz0 = 1; qint64 aax1 = m_xamom(p); qint64 aay1 = m_yamom(p); qint64 aaz1 = m_zamom(p); qint64 aax2 = m_xamom(p) * (m_xamom(p) - 1); qint64 aay2 = m_yamom(p) * (m_yamom(p) - 1); qint64 aaz2 = m_zamom(p) * (m_zamom(p) - 1); qreal ax0 = aax0 * ipow(xx0, m_xamom(p)); qreal ay0 = aay0 * ipow(yy0, m_yamom(p)); qreal az0 = aaz0 * ipow(zz0, m_zamom(p)); qreal ax1; qreal ay1; qreal az1; if (m_xamom(p) < 1) { ax1 = zero; } else if (m_xamom(p) == 1) { ax1 = one; } else { ax1 = aax1 * ipow(xx0, m_xamom(p) - 1); } if (m_yamom(p) < 1) { ay1 = zero; } else if (m_yamom(p) == 1) { ay1 = one; } else { ay1 = aay1 * ipow(yy0, m_yamom(p) - 1); } if (m_zamom(p) < 1) { az1 = zero; } else if (m_zamom(p) == 1) { az1 = one; } else { az1 = aaz1 * ipow(zz0, m_zamom(p) - 1); } qreal ax2; qreal ay2; qreal az2; if (m_xamom(p) < 2) { ax2 = zero; } else if (m_xamom(p) == 2) { ax2 = one; } else { ax2 = aax2 * ipow(xx0, m_xamom(p) - 2); } if (m_yamom(p) < 2) { ay2 = zero; } else if (m_yamom(p) == 2) { ay2 = one; } else { ay2 = aay2 * ipow(yy0, m_yamom(p) - 2); } if (m_zamom(p) < 2) { az2 = zero; } else if (m_zamom(p) == 2) { az2 = one; } else { az2 = aaz2 * ipow(zz0, m_zamom(p) - 2); } qreal b0 = exp(b0arg); qreal bx1 = -2 * m_alpha(p) * xx0; qreal by1 = -2 * m_alpha(p) * yy0; qreal bz1 = -2 * m_alpha(p) * zz0; qreal bx2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(xx0, 2)); qreal by2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(yy0, 2)); qreal bz2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(zz0, 2)); qreal dg000 = ax0 * ay0 * az0 * b0; qreal dg100 = ay0 * az0 * b0 * (ax1 + ax0 * bx1); qreal dg010 = ax0 * az0 * b0 * (ay1 + ay0 * by1); qreal dg001 = ax0 * ay0 * b0 * (az1 + az0 * bz1); qreal dg200 = ay0 * az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2); qreal dg020 = ax0 * az0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg002 = ax0 * ay0 * b0 * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg110 = az0 * b0 * (ax1 + ax0 * bx1) * (ay1 + ay0 * by1); qreal dg101 = ay0 * b0 * (ax1 + ax0 * bx1) * (az1 + az0 * bz1); qreal dg011 = ax0 * b0 * (ay1 + ay0 * by1) * (az1 + az0 * bz1); for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; m_cdg100(m) += m_coef(m, p) * dg100; m_cdg010(m) += m_coef(m, p) * dg010; m_cdg001(m) += m_coef(m, p) * dg001; m_cdg200(m) += m_coef(m, p) * dg200; m_cdg020(m) += m_coef(m, p) * dg020; m_cdg002(m) += m_coef(m, p) * dg002; m_cdg110(m) += m_coef(m, p) * dg110; m_cdg101(m) += m_coef(m, p) * dg101; m_cdg011(m) += m_coef(m, p) * dg011; } } } value.setZero(); for (qint64 m = 0; m < m_nmo; ++m) { value(0, 0) += 2 * m_occno(m) * (ipow(m_cdg100(m), 2) + m_cdg000(m) * m_cdg200(m)); value(1, 1) += 2 * m_occno(m) * (ipow(m_cdg010(m), 2) + m_cdg000(m) * m_cdg020(m)); value(2, 2) += 2 * m_occno(m) * (ipow(m_cdg001(m), 2) + m_cdg000(m) * m_cdg002(m)); value(0, 1) += 2 * m_occno(m) * (m_cdg100(m) * m_cdg010(m) + m_cdg000(m) * m_cdg110(m)); value(0, 2) += 2 * m_occno(m) * (m_cdg100(m) * m_cdg001(m) + m_cdg000(m) * m_cdg101(m)); value(1, 2) += 2 * m_occno(m) * (m_cdg010(m) * m_cdg001(m) + m_cdg000(m) * m_cdg011(m)); } value(1, 0) = value(0, 1); value(2, 0) = value(0, 2); value(2, 1) = value(1, 2); return value; } const Matrix QTAIMWavefunctionEvaluator::gradientAndHessianOfElectronDensity( const Matrix xyz) { Matrix gValue; Matrix hValue; Matrix value; const qreal zero = 0.0; const qreal one = 1.0; m_cdg000.setZero(); m_cdg100.setZero(); m_cdg010.setZero(); m_cdg001.setZero(); m_cdg200.setZero(); m_cdg020.setZero(); m_cdg002.setZero(); m_cdg110.setZero(); m_cdg101.setZero(); m_cdg011.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qint64 aax0 = 1; qint64 aay0 = 1; qint64 aaz0 = 1; qint64 aax1 = m_xamom(p); qint64 aay1 = m_yamom(p); qint64 aaz1 = m_zamom(p); qint64 aax2 = m_xamom(p) * (m_xamom(p) - 1); qint64 aay2 = m_yamom(p) * (m_yamom(p) - 1); qint64 aaz2 = m_zamom(p) * (m_zamom(p) - 1); qreal ax0 = aax0 * ipow(xx0, m_xamom(p)); qreal ay0 = aay0 * ipow(yy0, m_yamom(p)); qreal az0 = aaz0 * ipow(zz0, m_zamom(p)); qreal ax1; qreal ay1; qreal az1; if (m_xamom(p) < 1) { ax1 = zero; } else if (m_xamom(p) == 1) { ax1 = one; } else { ax1 = aax1 * ipow(xx0, m_xamom(p) - 1); } if (m_yamom(p) < 1) { ay1 = zero; } else if (m_yamom(p) == 1) { ay1 = one; } else { ay1 = aay1 * ipow(yy0, m_yamom(p) - 1); } if (m_zamom(p) < 1) { az1 = zero; } else if (m_zamom(p) == 1) { az1 = one; } else { az1 = aaz1 * ipow(zz0, m_zamom(p) - 1); } qreal ax2; qreal ay2; qreal az2; if (m_xamom(p) < 2) { ax2 = zero; } else if (m_xamom(p) == 2) { ax2 = one; } else { ax2 = aax2 * ipow(xx0, m_xamom(p) - 2); } if (m_yamom(p) < 2) { ay2 = zero; } else if (m_yamom(p) == 2) { ay2 = one; } else { ay2 = aay2 * ipow(yy0, m_yamom(p) - 2); } if (m_zamom(p) < 2) { az2 = zero; } else if (m_zamom(p) == 2) { az2 = one; } else { az2 = aaz2 * ipow(zz0, m_zamom(p) - 2); } qreal b0 = exp(b0arg); qreal bx1 = -2 * m_alpha(p) * xx0; qreal by1 = -2 * m_alpha(p) * yy0; qreal bz1 = -2 * m_alpha(p) * zz0; qreal bx2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(xx0, 2)); qreal by2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(yy0, 2)); qreal bz2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(zz0, 2)); qreal dg000 = ax0 * ay0 * az0 * b0; qreal dg100 = ay0 * az0 * b0 * (ax1 + ax0 * bx1); qreal dg010 = ax0 * az0 * b0 * (ay1 + ay0 * by1); qreal dg001 = ax0 * ay0 * b0 * (az1 + az0 * bz1); qreal dg200 = ay0 * az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2); qreal dg020 = ax0 * az0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg002 = ax0 * ay0 * b0 * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg110 = az0 * b0 * (ax1 + ax0 * bx1) * (ay1 + ay0 * by1); qreal dg101 = ay0 * b0 * (ax1 + ax0 * bx1) * (az1 + az0 * bz1); qreal dg011 = ax0 * b0 * (ay1 + ay0 * by1) * (az1 + az0 * bz1); for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; m_cdg100(m) += m_coef(m, p) * dg100; m_cdg010(m) += m_coef(m, p) * dg010; m_cdg001(m) += m_coef(m, p) * dg001; m_cdg200(m) += m_coef(m, p) * dg200; m_cdg020(m) += m_coef(m, p) * dg020; m_cdg002(m) += m_coef(m, p) * dg002; m_cdg110(m) += m_coef(m, p) * dg110; m_cdg101(m) += m_coef(m, p) * dg101; m_cdg011(m) += m_coef(m, p) * dg011; } } } gValue.setZero(); for (qint64 m = 0; m < m_nmo; ++m) { gValue(0) += m_occno(m) * m_cdg100(m) * m_cdg000(m); gValue(1) += m_occno(m) * m_cdg010(m) * m_cdg000(m); gValue(2) += m_occno(m) * m_cdg001(m) * m_cdg000(m); } hValue.setZero(); for (qint64 m = 0; m < m_nmo; ++m) { hValue(0, 0) += 2 * m_occno(m) * (ipow(m_cdg100(m), 2) + m_cdg000(m) * m_cdg200(m)); hValue(1, 1) += 2 * m_occno(m) * (ipow(m_cdg010(m), 2) + m_cdg000(m) * m_cdg020(m)); hValue(2, 2) += 2 * m_occno(m) * (ipow(m_cdg001(m), 2) + m_cdg000(m) * m_cdg002(m)); hValue(0, 1) += 2 * m_occno(m) * (m_cdg100(m) * m_cdg010(m) + m_cdg000(m) * m_cdg110(m)); hValue(0, 2) += 2 * m_occno(m) * (m_cdg100(m) * m_cdg001(m) + m_cdg000(m) * m_cdg101(m)); hValue(1, 2) += 2 * m_occno(m) * (m_cdg010(m) * m_cdg001(m) + m_cdg000(m) * m_cdg011(m)); } hValue(1, 0) = hValue(0, 1); hValue(2, 0) = hValue(0, 2); hValue(2, 1) = hValue(1, 2); value(0, 0) = gValue(0); value(1, 0) = gValue(1); value(2, 0) = gValue(2); value(0, 1) = hValue(0, 0); value(1, 1) = hValue(1, 0); value(2, 1) = hValue(2, 0); value(0, 2) = hValue(0, 1); value(1, 2) = hValue(1, 1); value(2, 2) = hValue(2, 1); value(0, 3) = hValue(0, 2); value(1, 3) = hValue(1, 2); value(2, 3) = hValue(2, 2); return value; } qreal QTAIMWavefunctionEvaluator::laplacianOfElectronDensity( const Matrix xyz) { qreal value; const qreal zero = 0.0; const qreal one = 1.0; m_cdg000.setZero(); m_cdg100.setZero(); m_cdg010.setZero(); m_cdg001.setZero(); m_cdg200.setZero(); m_cdg020.setZero(); m_cdg002.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qint64 aax0 = 1; qint64 aay0 = 1; qint64 aaz0 = 1; qint64 aax1 = m_xamom(p); qint64 aay1 = m_yamom(p); qint64 aaz1 = m_zamom(p); qint64 aax2 = m_xamom(p) * (m_xamom(p) - 1); qint64 aay2 = m_yamom(p) * (m_yamom(p) - 1); qint64 aaz2 = m_zamom(p) * (m_zamom(p) - 1); qreal ax0 = aax0 * ipow(xx0, m_xamom(p)); qreal ay0 = aay0 * ipow(yy0, m_yamom(p)); qreal az0 = aaz0 * ipow(zz0, m_zamom(p)); qreal ax1; qreal ay1; qreal az1; if (m_xamom(p) < 1) { ax1 = zero; } else if (m_xamom(p) == 1) { ax1 = one; } else { ax1 = aax1 * ipow(xx0, m_xamom(p) - 1); } if (m_yamom(p) < 1) { ay1 = zero; } else if (m_yamom(p) == 1) { ay1 = one; } else { ay1 = aay1 * ipow(yy0, m_yamom(p) - 1); } if (m_zamom(p) < 1) { az1 = zero; } else if (m_zamom(p) == 1) { az1 = one; } else { az1 = aaz1 * ipow(zz0, m_zamom(p) - 1); } qreal ax2; qreal ay2; qreal az2; if (m_xamom(p) < 2) { ax2 = zero; } else if (m_xamom(p) == 2) { ax2 = one; } else { ax2 = aax2 * ipow(xx0, m_xamom(p) - 2); } if (m_yamom(p) < 2) { ay2 = zero; } else if (m_yamom(p) == 2) { ay2 = one; } else { ay2 = aay2 * ipow(yy0, m_yamom(p) - 2); } if (m_zamom(p) < 2) { az2 = zero; } else if (m_zamom(p) == 2) { az2 = one; } else { az2 = aaz2 * ipow(zz0, m_zamom(p) - 2); } qreal b0 = exp(b0arg); qreal bx1 = -2 * m_alpha(p) * xx0; qreal by1 = -2 * m_alpha(p) * yy0; qreal bz1 = -2 * m_alpha(p) * zz0; qreal bx2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(xx0, 2)); qreal by2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(yy0, 2)); qreal bz2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(zz0, 2)); qreal dg000 = ax0 * ay0 * az0 * b0; qreal dg100 = ay0 * az0 * b0 * (ax1 + ax0 * bx1); qreal dg010 = ax0 * az0 * b0 * (ay1 + ay0 * by1); qreal dg001 = ax0 * ay0 * b0 * (az1 + az0 * bz1); qreal dg200 = ay0 * az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2); qreal dg020 = ax0 * az0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg002 = ax0 * ay0 * b0 * (az2 + 2 * az1 * bz1 + az0 * bz2); for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; m_cdg100(m) += m_coef(m, p) * dg100; m_cdg010(m) += m_coef(m, p) * dg010; m_cdg001(m) += m_coef(m, p) * dg001; m_cdg200(m) += m_coef(m, p) * dg200; m_cdg020(m) += m_coef(m, p) * dg020; m_cdg002(m) += m_coef(m, p) * dg002; } } } value = 0.0; for (qint64 m = 0; m < m_nmo; ++m) { value += 2 * m_occno(m) * (ipow(m_cdg100(m), 2) + m_cdg000(m) * m_cdg200(m)) + 2 * m_occno(m) * (ipow(m_cdg010(m), 2) + m_cdg000(m) * m_cdg020(m)) + 2 * m_occno(m) * (ipow(m_cdg001(m), 2) + m_cdg000(m) * m_cdg002(m)); } return value; } const Matrix QTAIMWavefunctionEvaluator::gradientOfElectronDensityLaplacian( const Matrix xyz) { Matrix value; const qreal zero = 0.0; const qreal one = 1.0; m_cdg000.setZero(); m_cdg100.setZero(); m_cdg010.setZero(); m_cdg001.setZero(); m_cdg200.setZero(); m_cdg020.setZero(); m_cdg002.setZero(); m_cdg110.setZero(); m_cdg101.setZero(); m_cdg011.setZero(); m_cdg300.setZero(); m_cdg120.setZero(); m_cdg102.setZero(); m_cdg210.setZero(); m_cdg030.setZero(); m_cdg012.setZero(); m_cdg201.setZero(); m_cdg021.setZero(); m_cdg003.setZero(); // m_cdg111.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qint64 aax0 = 1; qint64 aay0 = 1; qint64 aaz0 = 1; qint64 aax1 = m_xamom(p); qint64 aay1 = m_yamom(p); qint64 aaz1 = m_zamom(p); qint64 aax2 = m_xamom(p) * (m_xamom(p) - 1); qint64 aay2 = m_yamom(p) * (m_yamom(p) - 1); qint64 aaz2 = m_zamom(p) * (m_zamom(p) - 1); qint64 aax3 = m_xamom(p) * (m_xamom(p) - 1) * (m_xamom(p) - 2); qint64 aay3 = m_yamom(p) * (m_yamom(p) - 1) * (m_yamom(p) - 2); qint64 aaz3 = m_zamom(p) * (m_zamom(p) - 1) * (m_zamom(p) - 2); qreal ax0 = aax0 * ipow(xx0, m_xamom(p)); qreal ay0 = aay0 * ipow(yy0, m_yamom(p)); qreal az0 = aaz0 * ipow(zz0, m_zamom(p)); qreal ax1; qreal ay1; qreal az1; if (m_xamom(p) < 1) { ax1 = zero; } else if (m_xamom(p) == 1) { ax1 = one; } else { ax1 = aax1 * ipow(xx0, m_xamom(p) - 1); } if (m_yamom(p) < 1) { ay1 = zero; } else if (m_yamom(p) == 1) { ay1 = one; } else { ay1 = aay1 * ipow(yy0, m_yamom(p) - 1); } if (m_zamom(p) < 1) { az1 = zero; } else if (m_zamom(p) == 1) { az1 = one; } else { az1 = aaz1 * ipow(zz0, m_zamom(p) - 1); } qreal ax2; qreal ay2; qreal az2; if (m_xamom(p) < 2) { ax2 = zero; } else if (m_xamom(p) == 2) { ax2 = one; } else { ax2 = aax2 * ipow(xx0, m_xamom(p) - 2); } if (m_yamom(p) < 2) { ay2 = zero; } else if (m_yamom(p) == 2) { ay2 = one; } else { ay2 = aay2 * ipow(yy0, m_yamom(p) - 2); } if (m_zamom(p) < 2) { az2 = zero; } else if (m_zamom(p) == 2) { az2 = one; } else { az2 = aaz2 * ipow(zz0, m_zamom(p) - 2); } qreal ax3; qreal ay3; qreal az3; if (m_xamom(p) < 3) { ax3 = zero; } else if (m_xamom(p) == 3) { ax3 = one; } else { ax3 = aax3 * ipow(xx0, m_xamom(p) - 3); } if (m_yamom(p) < 3) { ay3 = zero; } else if (m_yamom(p) == 3) { ay3 = one; } else { ay3 = aay3 * ipow(yy0, m_yamom(p) - 3); } if (m_zamom(p) < 3) { az3 = zero; } else if (m_zamom(p) == 3) { az3 = one; } else { az3 = aaz3 * ipow(zz0, m_zamom(p) - 3); } qreal b0 = exp(b0arg); qreal bx1 = -2 * m_alpha(p) * xx0; qreal by1 = -2 * m_alpha(p) * yy0; qreal bz1 = -2 * m_alpha(p) * zz0; qreal bx2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(xx0, 2)); qreal by2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(yy0, 2)); qreal bz2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(zz0, 2)); qreal bx3 = (12 * ipow(m_alpha(p), 2) * xx0) - (8 * ipow(m_alpha(p), 3) * ipow(xx0, 3)); qreal by3 = (12 * ipow(m_alpha(p), 2) * yy0) - (8 * ipow(m_alpha(p), 3) * ipow(yy0, 3)); qreal bz3 = (12 * ipow(m_alpha(p), 2) * zz0) - (8 * ipow(m_alpha(p), 3) * ipow(zz0, 3)); qreal dg000 = ax0 * ay0 * az0 * b0; qreal dg100 = ay0 * az0 * b0 * (ax1 + ax0 * bx1); qreal dg010 = ax0 * az0 * b0 * (ay1 + ay0 * by1); qreal dg001 = ax0 * ay0 * b0 * (az1 + az0 * bz1); qreal dg200 = ay0 * az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2); qreal dg020 = ax0 * az0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg002 = ax0 * ay0 * b0 * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg110 = az0 * b0 * (ax1 + ax0 * bx1) * (ay1 + ay0 * by1); qreal dg101 = ay0 * b0 * (ax1 + ax0 * bx1) * (az1 + az0 * bz1); qreal dg011 = ax0 * b0 * (ay1 + ay0 * by1) * (az1 + az0 * bz1); qreal dg300 = ay0 * az0 * b0 * (ax3 + 3 * ax2 * bx1 + 3 * ax1 * bx2 + ax0 * bx3); qreal dg030 = ax0 * az0 * b0 * (ay3 + 3 * ay2 * by1 + 3 * ay1 * by2 + ay0 * by3); qreal dg003 = ax0 * ay0 * b0 * (az3 + 3 * az2 * bz1 + 3 * az1 * bz2 + az0 * bz3); qreal dg210 = az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (ay1 + ay0 * by1); qreal dg201 = ay0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (az1 + az0 * bz1); qreal dg120 = az0 * b0 * (ax1 + ax0 * bx1) * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg021 = ax0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2) * (az1 + az0 * bz1); qreal dg102 = ay0 * b0 * (ax1 + ax0 * bx1) * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg012 = ax0 * b0 * (ay1 + ay0 * by1) * (az2 + 2 * az1 * bz1 + az0 * bz2); // qreal dg111 = b0*(ax1+ax0*bx1)*(ay1+ay0*by1)*(az1+az0*bz1); for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; m_cdg100(m) += m_coef(m, p) * dg100; m_cdg010(m) += m_coef(m, p) * dg010; m_cdg001(m) += m_coef(m, p) * dg001; m_cdg200(m) += m_coef(m, p) * dg200; m_cdg020(m) += m_coef(m, p) * dg020; m_cdg002(m) += m_coef(m, p) * dg002; m_cdg110(m) += m_coef(m, p) * dg110; m_cdg101(m) += m_coef(m, p) * dg101; m_cdg011(m) += m_coef(m, p) * dg011; m_cdg300(m) += m_coef(m, p) * dg300; m_cdg030(m) += m_coef(m, p) * dg030; m_cdg003(m) += m_coef(m, p) * dg003; m_cdg210(m) += m_coef(m, p) * dg210; m_cdg201(m) += m_coef(m, p) * dg201; m_cdg120(m) += m_coef(m, p) * dg120; m_cdg021(m) += m_coef(m, p) * dg021; m_cdg102(m) += m_coef(m, p) * dg102; m_cdg012(m) += m_coef(m, p) * dg012; // m_cdg111(m) += m_coef(m,p) * dg111; } } } qreal deriv300 = zero; qreal deriv030 = zero; qreal deriv003 = zero; qreal deriv210 = zero; qreal deriv201 = zero; qreal deriv120 = zero; qreal deriv021 = zero; qreal deriv102 = zero; qreal deriv012 = zero; // qreal deriv111=zero; for (qint64 m = 0; m < m_nmo; ++m) { deriv300 += (m_occno(m) * (6 * m_cdg100(m) * m_cdg200(m) + 2 * m_cdg000(m) * m_cdg300(m))); deriv030 += (m_occno(m) * (6 * m_cdg010(m) * m_cdg020(m) + 2 * m_cdg000(m) * m_cdg030(m))); deriv003 += (m_occno(m) * (6 * m_cdg001(m) * m_cdg002(m) + 2 * m_cdg000(m) * m_cdg003(m))); deriv210 += (m_occno(m) * (2 * (2 * m_cdg100(m) * m_cdg110(m) + m_cdg010(m) * m_cdg200(m) + m_cdg000(m) * m_cdg210(m)))); deriv201 += (m_occno(m) * (2 * (2 * m_cdg100(m) * m_cdg101(m) + m_cdg001(m) * m_cdg200(m) + m_cdg000(m) * m_cdg201(m)))); deriv120 += (m_occno(m) * (2 * (m_cdg020(m) * m_cdg100(m) + 2 * m_cdg010(m) * m_cdg110(m) + m_cdg000(m) * m_cdg120(m)))); deriv021 += (m_occno(m) * (2 * (2 * m_cdg010(m) * m_cdg011(m) + m_cdg001(m) * m_cdg020(m) + m_cdg000(m) * m_cdg021(m)))); deriv102 += (m_occno(m) * (2 * (m_cdg002(m) * m_cdg100(m) + 2 * m_cdg001(m) * m_cdg101(m) + m_cdg000(m) * m_cdg102(m)))); deriv012 += (m_occno(m) * (2 * (m_cdg002(m) * m_cdg010(m) + 2 * m_cdg001(m) * m_cdg011(m) + m_cdg000(m) * m_cdg012(m)))); // deriv111+=(m_occno(m)*( // 2*(m_cdg011(m)*m_cdg100(m)+m_cdg010(m)*m_cdg101(m)+m_cdg001(m)*m_cdg110(m)+m_cdg000(m)*m_cdg111(m)) // )); } value(0) = deriv300 + deriv120 + deriv102; value(1) = deriv210 + deriv030 + deriv012; value(2) = deriv201 + deriv021 + deriv003; return value; } const Matrix QTAIMWavefunctionEvaluator::hessianOfElectronDensityLaplacian( const Matrix xyz) { Matrix value; const qreal zero = 0.0; const qreal one = 1.0; m_cdg000.setZero(); m_cdg100.setZero(); m_cdg010.setZero(); m_cdg001.setZero(); m_cdg200.setZero(); m_cdg020.setZero(); m_cdg002.setZero(); m_cdg110.setZero(); m_cdg101.setZero(); m_cdg011.setZero(); m_cdg300.setZero(); m_cdg120.setZero(); m_cdg102.setZero(); m_cdg210.setZero(); m_cdg030.setZero(); m_cdg012.setZero(); m_cdg201.setZero(); m_cdg021.setZero(); m_cdg003.setZero(); m_cdg111.setZero(); m_cdg400.setZero(); m_cdg040.setZero(); m_cdg004.setZero(); m_cdg310.setZero(); m_cdg301.setZero(); m_cdg130.setZero(); m_cdg031.setZero(); m_cdg103.setZero(); m_cdg013.setZero(); m_cdg220.setZero(); m_cdg202.setZero(); m_cdg022.setZero(); m_cdg211.setZero(); m_cdg121.setZero(); m_cdg112.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qint64 aax0 = 1; qint64 aay0 = 1; qint64 aaz0 = 1; qint64 aax1 = m_xamom(p); qint64 aay1 = m_yamom(p); qint64 aaz1 = m_zamom(p); qint64 aax2 = m_xamom(p) * (m_xamom(p) - 1); qint64 aay2 = m_yamom(p) * (m_yamom(p) - 1); qint64 aaz2 = m_zamom(p) * (m_zamom(p) - 1); qint64 aax3 = m_xamom(p) * (m_xamom(p) - 1) * (m_xamom(p) - 2); qint64 aay3 = m_yamom(p) * (m_yamom(p) - 1) * (m_yamom(p) - 2); qint64 aaz3 = m_zamom(p) * (m_zamom(p) - 1) * (m_zamom(p) - 2); qint64 aax4 = m_xamom(p) * (m_xamom(p) - 1) * (m_xamom(p) - 2) * (m_xamom(p) - 3); qint64 aay4 = m_yamom(p) * (m_yamom(p) - 1) * (m_yamom(p) - 2) * (m_xamom(p) - 3); qint64 aaz4 = m_zamom(p) * (m_zamom(p) - 1) * (m_zamom(p) - 2) * (m_xamom(p) - 3); qreal ax0 = aax0 * ipow(xx0, m_xamom(p)); qreal ay0 = aay0 * ipow(yy0, m_yamom(p)); qreal az0 = aaz0 * ipow(zz0, m_zamom(p)); qreal ax1; qreal ay1; qreal az1; if (m_xamom(p) < 1) { ax1 = zero; } else if (m_xamom(p) == 1) { ax1 = one; } else { ax1 = aax1 * ipow(xx0, m_xamom(p) - 1); } if (m_yamom(p) < 1) { ay1 = zero; } else if (m_yamom(p) == 1) { ay1 = one; } else { ay1 = aay1 * ipow(yy0, m_yamom(p) - 1); } if (m_zamom(p) < 1) { az1 = zero; } else if (m_zamom(p) == 1) { az1 = one; } else { az1 = aaz1 * ipow(zz0, m_zamom(p) - 1); } qreal ax2; qreal ay2; qreal az2; if (m_xamom(p) < 2) { ax2 = zero; } else if (m_xamom(p) == 2) { ax2 = one; } else { ax2 = aax2 * ipow(xx0, m_xamom(p) - 2); } if (m_yamom(p) < 2) { ay2 = zero; } else if (m_yamom(p) == 2) { ay2 = one; } else { ay2 = aay2 * ipow(yy0, m_yamom(p) - 2); } if (m_zamom(p) < 2) { az2 = zero; } else if (m_zamom(p) == 2) { az2 = one; } else { az2 = aaz2 * ipow(zz0, m_zamom(p) - 2); } qreal ax3; qreal ay3; qreal az3; if (m_xamom(p) < 3) { ax3 = zero; } else if (m_xamom(p) == 3) { ax3 = one; } else { ax3 = aax3 * ipow(xx0, m_xamom(p) - 3); } if (m_yamom(p) < 3) { ay3 = zero; } else if (m_yamom(p) == 3) { ay3 = one; } else { ay3 = aay3 * ipow(yy0, m_yamom(p) - 3); } if (m_zamom(p) < 3) { az3 = zero; } else if (m_zamom(p) == 3) { az3 = one; } else { az3 = aaz3 * ipow(zz0, m_zamom(p) - 3); } qreal ax4; qreal ay4; qreal az4; if (m_xamom(p) < 4) { ax4 = zero; } else if (m_xamom(p) == 4) { ax4 = one; } else { ax4 = aax4 * ipow(xx0, m_xamom(p) - 4); } if (m_yamom(p) < 4) { ay4 = zero; } else if (m_yamom(p) == 4) { ay4 = one; } else { ay4 = aay4 * ipow(yy0, m_yamom(p) - 4); } if (m_zamom(p) < 4) { az4 = zero; } else if (m_zamom(p) == 4) { az4 = one; } else { az4 = aaz4 * ipow(zz0, m_zamom(p) - 4); } qreal b0 = exp(b0arg); qreal bx1 = -2 * m_alpha(p) * xx0; qreal by1 = -2 * m_alpha(p) * yy0; qreal bz1 = -2 * m_alpha(p) * zz0; qreal bx2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(xx0, 2)); qreal by2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(yy0, 2)); qreal bz2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(zz0, 2)); qreal bx3 = (12 * ipow(m_alpha(p), 2) * xx0) - (8 * ipow(m_alpha(p), 3) * ipow(xx0, 3)); qreal by3 = (12 * ipow(m_alpha(p), 2) * yy0) - (8 * ipow(m_alpha(p), 3) * ipow(yy0, 3)); qreal bz3 = (12 * ipow(m_alpha(p), 2) * zz0) - (8 * ipow(m_alpha(p), 3) * ipow(zz0, 3)); qreal bx4 = (12 * ipow(m_alpha(p), 2)) - (48 * ipow(m_alpha(p), 3) * ipow(xx0, 2)) + (16 * ipow(m_alpha(p), 4) * ipow(xx0, 4)); qreal by4 = (12 * ipow(m_alpha(p), 2)) - (48 * ipow(m_alpha(p), 3) * ipow(yy0, 2)) + (16 * ipow(m_alpha(p), 4) * ipow(yy0, 4)); qreal bz4 = (12 * ipow(m_alpha(p), 2)) - (48 * ipow(m_alpha(p), 3) * ipow(zz0, 2)) + (16 * ipow(m_alpha(p), 4) * ipow(zz0, 4)); qreal dg000 = ax0 * ay0 * az0 * b0; qreal dg100 = ay0 * az0 * b0 * (ax1 + ax0 * bx1); qreal dg010 = ax0 * az0 * b0 * (ay1 + ay0 * by1); qreal dg001 = ax0 * ay0 * b0 * (az1 + az0 * bz1); qreal dg200 = ay0 * az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2); qreal dg020 = ax0 * az0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg002 = ax0 * ay0 * b0 * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg110 = az0 * b0 * (ax1 + ax0 * bx1) * (ay1 + ay0 * by1); qreal dg101 = ay0 * b0 * (ax1 + ax0 * bx1) * (az1 + az0 * bz1); qreal dg011 = ax0 * b0 * (ay1 + ay0 * by1) * (az1 + az0 * bz1); qreal dg300 = ay0 * az0 * b0 * (ax3 + 3 * ax2 * bx1 + 3 * ax1 * bx2 + ax0 * bx3); qreal dg030 = ax0 * az0 * b0 * (ay3 + 3 * ay2 * by1 + 3 * ay1 * by2 + ay0 * by3); qreal dg003 = ax0 * ay0 * b0 * (az3 + 3 * az2 * bz1 + 3 * az1 * bz2 + az0 * bz3); qreal dg210 = az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (ay1 + ay0 * by1); qreal dg201 = ay0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (az1 + az0 * bz1); qreal dg120 = az0 * b0 * (ax1 + ax0 * bx1) * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg021 = ax0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2) * (az1 + az0 * bz1); qreal dg102 = ay0 * b0 * (ax1 + ax0 * bx1) * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg012 = ax0 * b0 * (ay1 + ay0 * by1) * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg111 = b0 * (ax1 + ax0 * bx1) * (ay1 + ay0 * by1) * (az1 + az0 * bz1); qreal dg400 = ay0 * az0 * b0 * (ax4 + 4 * ax3 * bx1 + 6 * ax2 * bx2 + 4 * ax1 * bx3 + ax0 * bx4); qreal dg040 = ax0 * az0 * b0 * (ay4 + 4 * ay3 * by1 + 6 * ay2 * by2 + 4 * ay1 * by3 + ay0 * by4); qreal dg004 = ax0 * ay0 * b0 * (az4 + 4 * az3 * bz1 + 6 * az2 * bz2 + 4 * az1 * bz3 + az0 * bz4); qreal dg310 = az0 * b0 * (ax3 + 3 * ax2 * bx1 + 3 * ax1 * bx2 + ax0 * bx3) * (ay1 + ay0 * by1); qreal dg301 = ay0 * b0 * (ax3 + 3 * ax2 * bx1 + 3 * ax1 * bx2 + ax0 * bx3) * (az1 + az0 * bz1); qreal dg130 = az0 * b0 * (ax1 + ax0 * bx1) * (ay3 + 3 * ay2 * by1 + 3 * ay1 * by2 + ay0 * by3); qreal dg031 = ax0 * b0 * (ay3 + 3 * ay2 * by1 + 3 * ay1 * by2 + ay0 * by3) * (az1 + az0 * bz1); qreal dg103 = ay0 * b0 * (ax1 + ax0 * bx1) * (az3 + 3 * az2 * bz1 + 3 * az1 * bz2 + az0 * bz3); qreal dg013 = ax0 * b0 * (ay1 + ay0 * by1) * (az3 + 3 * az2 * bz1 + 3 * az1 * bz2 + az0 * bz3); qreal dg220 = az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg202 = ay0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg022 = ax0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2) * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg211 = b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (ay1 + ay0 * by1) * (az1 + az0 * bz1); qreal dg121 = b0 * (ax1 + ax0 * bx1) * (ay2 + 2 * ay1 * by1 + ay0 * by2) * (az1 + az0 * bz1); qreal dg112 = b0 * (ax1 + ax0 * bx1) * (ay1 + ay0 * by1) * (az2 + 2 * az1 * bz1 + az0 * bz2); for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; m_cdg100(m) += m_coef(m, p) * dg100; m_cdg010(m) += m_coef(m, p) * dg010; m_cdg001(m) += m_coef(m, p) * dg001; m_cdg200(m) += m_coef(m, p) * dg200; m_cdg020(m) += m_coef(m, p) * dg020; m_cdg002(m) += m_coef(m, p) * dg002; m_cdg110(m) += m_coef(m, p) * dg110; m_cdg101(m) += m_coef(m, p) * dg101; m_cdg011(m) += m_coef(m, p) * dg011; m_cdg300(m) += m_coef(m, p) * dg300; m_cdg030(m) += m_coef(m, p) * dg030; m_cdg003(m) += m_coef(m, p) * dg003; m_cdg210(m) += m_coef(m, p) * dg210; m_cdg201(m) += m_coef(m, p) * dg201; m_cdg120(m) += m_coef(m, p) * dg120; m_cdg021(m) += m_coef(m, p) * dg021; m_cdg102(m) += m_coef(m, p) * dg102; m_cdg012(m) += m_coef(m, p) * dg012; m_cdg111(m) += m_coef(m, p) * dg111; m_cdg400(m) += m_coef(m, p) * dg400; m_cdg040(m) += m_coef(m, p) * dg040; m_cdg004(m) += m_coef(m, p) * dg004; m_cdg310(m) += m_coef(m, p) * dg310; m_cdg301(m) += m_coef(m, p) * dg301; m_cdg130(m) += m_coef(m, p) * dg130; m_cdg031(m) += m_coef(m, p) * dg031; m_cdg103(m) += m_coef(m, p) * dg103; m_cdg013(m) += m_coef(m, p) * dg013; m_cdg220(m) += m_coef(m, p) * dg220; m_cdg202(m) += m_coef(m, p) * dg202; m_cdg022(m) += m_coef(m, p) * dg022; m_cdg211(m) += m_coef(m, p) * dg211; m_cdg121(m) += m_coef(m, p) * dg121; m_cdg112(m) += m_coef(m, p) * dg112; } } } qreal deriv400 = zero; qreal deriv040 = zero; qreal deriv004 = zero; qreal deriv310 = zero; qreal deriv301 = zero; qreal deriv130 = zero; qreal deriv031 = zero; qreal deriv103 = zero; qreal deriv013 = zero; qreal deriv220 = zero; qreal deriv202 = zero; qreal deriv022 = zero; qreal deriv211 = zero; qreal deriv121 = zero; qreal deriv112 = zero; for (qint64 m = 0; m < m_nmo; ++m) { deriv400 += (m_occno(m) * (6 * ipow(m_cdg200(m), 2) + 8 * m_cdg100(m) * m_cdg300(m) + 2 * m_cdg000(m) * m_cdg400(m))); deriv040 += (m_occno(m) * (6 * ipow(m_cdg020(m), 2) + 8 * m_cdg010(m) * m_cdg030(m) + 2 * m_cdg000(m) * m_cdg040(m))); deriv004 += (m_occno(m) * (6 * ipow(m_cdg002(m), 2) + 8 * m_cdg001(m) * m_cdg003(m) + 2 * m_cdg000(m) * m_cdg004(m))); deriv310 += (m_occno(m) * (2 * (3 * m_cdg110(m) * m_cdg200(m) + 3 * m_cdg100(m) * m_cdg210(m) + m_cdg010(m) * m_cdg300(m) + m_cdg000(m) * m_cdg310(m)))); deriv301 += (m_occno(m) * (2 * (3 * m_cdg101(m) * m_cdg200(m) + 3 * m_cdg100(m) * m_cdg201(m) + m_cdg001(m) * m_cdg300(m) + m_cdg000(m) * m_cdg301(m)))); deriv130 += (m_occno(m) * (2 * (m_cdg030(m) * m_cdg100(m) + 3 * m_cdg020(m) * m_cdg110(m) + 3 * m_cdg010(m) * m_cdg120(m) + m_cdg000(m) * m_cdg130(m)))); deriv031 += (m_occno(m) * (2 * (3 * m_cdg011(m) * m_cdg020(m) + 3 * m_cdg010(m) * m_cdg021(m) + m_cdg001(m) * m_cdg030(m) + m_cdg000(m) * m_cdg031(m)))); deriv103 += (m_occno(m) * (2 * (m_cdg003(m) * m_cdg100(m) + 3 * m_cdg002(m) * m_cdg101(m) + 3 * m_cdg001(m) * m_cdg102(m) + m_cdg000(m) * m_cdg103(m)))); deriv013 += (m_occno(m) * (2 * (m_cdg003(m) * m_cdg010(m) + 3 * m_cdg002(m) * m_cdg011(m) + 3 * m_cdg001(m) * m_cdg012(m) + m_cdg000(m) * m_cdg013(m)))); deriv220 += (m_occno(m) * (2 * (2 * ipow(m_cdg110(m), 2) + 2 * m_cdg100(m) * m_cdg120(m) + m_cdg020(m) * m_cdg200(m) + 2 * m_cdg010(m) * m_cdg210(m) + m_cdg000(m) * m_cdg220(m)))); deriv202 += (m_occno(m) * (2 * (2 * ipow(m_cdg101(m), 2) + 2 * m_cdg100(m) * m_cdg102(m) + m_cdg002(m) * m_cdg200(m) + 2 * m_cdg001(m) * m_cdg201(m) + m_cdg000(m) * m_cdg202(m)))); deriv022 += (m_occno(m) * (2 * (2 * ipow(m_cdg011(m), 2) + 2 * m_cdg010(m) * m_cdg012(m) + m_cdg002(m) * m_cdg020(m) + 2 * m_cdg001(m) * m_cdg021(m) + m_cdg000(m) * m_cdg022(m)))); deriv211 += (m_occno(m) * (2 * (2 * m_cdg101(m) * m_cdg110(m) + 2 * m_cdg100(m) * m_cdg111(m) + m_cdg011(m) * m_cdg200(m) + m_cdg010(m) * m_cdg201(m) + m_cdg001(m) * m_cdg210(m) + m_cdg000(m) * m_cdg211(m)))); deriv121 += (m_occno(m) * (2 * (m_cdg021(m) * m_cdg100(m) + m_cdg020(m) * m_cdg101(m) + 2 * m_cdg011(m) * m_cdg110(m) + 2 * m_cdg010(m) * m_cdg111(m) + m_cdg001(m) * m_cdg120(m) + m_cdg000(m) * m_cdg121(m)))); deriv112 += (m_occno(m) * (2 * (m_cdg012(m) * m_cdg100(m) + 2 * m_cdg011(m) * m_cdg101(m) + m_cdg010(m) * m_cdg102(m) + m_cdg002(m) * m_cdg110(m) + 2 * m_cdg001(m) * m_cdg111(m) + m_cdg000(m) * m_cdg112(m)))); } value(0, 0) = deriv400 + deriv220 + deriv202; value(1, 1) = deriv220 + deriv040 + deriv022; value(2, 2) = deriv202 + deriv022 + deriv004; value(0, 1) = deriv310 + deriv130 + deriv112; value(0, 2) = deriv301 + deriv121 + deriv103; value(1, 2) = deriv211 + deriv031 + deriv013; value(1, 0) = value(0, 1); value(2, 0) = value(0, 2); value(2, 1) = value(1, 2); return value; } const Matrix QTAIMWavefunctionEvaluator::gradientAndHessianOfElectronDensityLaplacian( const Matrix xyz) { Matrix gValue; Matrix hValue; Matrix value; const qreal zero = 0.0; const qreal one = 1.0; m_cdg000.setZero(); m_cdg100.setZero(); m_cdg010.setZero(); m_cdg001.setZero(); m_cdg200.setZero(); m_cdg020.setZero(); m_cdg002.setZero(); m_cdg110.setZero(); m_cdg101.setZero(); m_cdg011.setZero(); m_cdg300.setZero(); m_cdg120.setZero(); m_cdg102.setZero(); m_cdg210.setZero(); m_cdg030.setZero(); m_cdg012.setZero(); m_cdg201.setZero(); m_cdg021.setZero(); m_cdg003.setZero(); m_cdg111.setZero(); m_cdg400.setZero(); m_cdg040.setZero(); m_cdg004.setZero(); m_cdg310.setZero(); m_cdg301.setZero(); m_cdg130.setZero(); m_cdg031.setZero(); m_cdg103.setZero(); m_cdg013.setZero(); m_cdg220.setZero(); m_cdg202.setZero(); m_cdg022.setZero(); m_cdg211.setZero(); m_cdg121.setZero(); m_cdg112.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qint64 aax0 = 1; qint64 aay0 = 1; qint64 aaz0 = 1; qint64 aax1 = m_xamom(p); qint64 aay1 = m_yamom(p); qint64 aaz1 = m_zamom(p); qint64 aax2 = m_xamom(p) * (m_xamom(p) - 1); qint64 aay2 = m_yamom(p) * (m_yamom(p) - 1); qint64 aaz2 = m_zamom(p) * (m_zamom(p) - 1); qint64 aax3 = m_xamom(p) * (m_xamom(p) - 1) * (m_xamom(p) - 2); qint64 aay3 = m_yamom(p) * (m_yamom(p) - 1) * (m_yamom(p) - 2); qint64 aaz3 = m_zamom(p) * (m_zamom(p) - 1) * (m_zamom(p) - 2); qint64 aax4 = m_xamom(p) * (m_xamom(p) - 1) * (m_xamom(p) - 2) * (m_xamom(p) - 3); qint64 aay4 = m_yamom(p) * (m_yamom(p) - 1) * (m_yamom(p) - 2) * (m_xamom(p) - 3); qint64 aaz4 = m_zamom(p) * (m_zamom(p) - 1) * (m_zamom(p) - 2) * (m_xamom(p) - 3); qreal ax0 = aax0 * ipow(xx0, m_xamom(p)); qreal ay0 = aay0 * ipow(yy0, m_yamom(p)); qreal az0 = aaz0 * ipow(zz0, m_zamom(p)); qreal ax1; qreal ay1; qreal az1; if (m_xamom(p) < 1) { ax1 = zero; } else if (m_xamom(p) == 1) { ax1 = one; } else { ax1 = aax1 * ipow(xx0, m_xamom(p) - 1); } if (m_yamom(p) < 1) { ay1 = zero; } else if (m_yamom(p) == 1) { ay1 = one; } else { ay1 = aay1 * ipow(yy0, m_yamom(p) - 1); } if (m_zamom(p) < 1) { az1 = zero; } else if (m_zamom(p) == 1) { az1 = one; } else { az1 = aaz1 * ipow(zz0, m_zamom(p) - 1); } qreal ax2; qreal ay2; qreal az2; if (m_xamom(p) < 2) { ax2 = zero; } else if (m_xamom(p) == 2) { ax2 = one; } else { ax2 = aax2 * ipow(xx0, m_xamom(p) - 2); } if (m_yamom(p) < 2) { ay2 = zero; } else if (m_yamom(p) == 2) { ay2 = one; } else { ay2 = aay2 * ipow(yy0, m_yamom(p) - 2); } if (m_zamom(p) < 2) { az2 = zero; } else if (m_zamom(p) == 2) { az2 = one; } else { az2 = aaz2 * ipow(zz0, m_zamom(p) - 2); } qreal ax3; qreal ay3; qreal az3; if (m_xamom(p) < 3) { ax3 = zero; } else if (m_xamom(p) == 3) { ax3 = one; } else { ax3 = aax3 * ipow(xx0, m_xamom(p) - 3); } if (m_yamom(p) < 3) { ay3 = zero; } else if (m_yamom(p) == 3) { ay3 = one; } else { ay3 = aay3 * ipow(yy0, m_yamom(p) - 3); } if (m_zamom(p) < 3) { az3 = zero; } else if (m_zamom(p) == 3) { az3 = one; } else { az3 = aaz3 * ipow(zz0, m_zamom(p) - 3); } qreal ax4; qreal ay4; qreal az4; if (m_xamom(p) < 4) { ax4 = zero; } else if (m_xamom(p) == 4) { ax4 = one; } else { ax4 = aax4 * ipow(xx0, m_xamom(p) - 4); } if (m_yamom(p) < 4) { ay4 = zero; } else if (m_yamom(p) == 4) { ay4 = one; } else { ay4 = aay4 * ipow(yy0, m_yamom(p) - 4); } if (m_zamom(p) < 4) { az4 = zero; } else if (m_zamom(p) == 4) { az4 = one; } else { az4 = aaz4 * ipow(zz0, m_zamom(p) - 4); } qreal b0 = exp(b0arg); qreal bx1 = -2 * m_alpha(p) * xx0; qreal by1 = -2 * m_alpha(p) * yy0; qreal bz1 = -2 * m_alpha(p) * zz0; qreal bx2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(xx0, 2)); qreal by2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(yy0, 2)); qreal bz2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(zz0, 2)); qreal bx3 = (12 * ipow(m_alpha(p), 2) * xx0) - (8 * ipow(m_alpha(p), 3) * ipow(xx0, 3)); qreal by3 = (12 * ipow(m_alpha(p), 2) * yy0) - (8 * ipow(m_alpha(p), 3) * ipow(yy0, 3)); qreal bz3 = (12 * ipow(m_alpha(p), 2) * zz0) - (8 * ipow(m_alpha(p), 3) * ipow(zz0, 3)); qreal bx4 = (12 * ipow(m_alpha(p), 2)) - (48 * ipow(m_alpha(p), 3) * ipow(xx0, 2)) + (16 * ipow(m_alpha(p), 4) * ipow(xx0, 4)); qreal by4 = (12 * ipow(m_alpha(p), 2)) - (48 * ipow(m_alpha(p), 3) * ipow(yy0, 2)) + (16 * ipow(m_alpha(p), 4) * ipow(yy0, 4)); qreal bz4 = (12 * ipow(m_alpha(p), 2)) - (48 * ipow(m_alpha(p), 3) * ipow(zz0, 2)) + (16 * ipow(m_alpha(p), 4) * ipow(zz0, 4)); qreal dg000 = ax0 * ay0 * az0 * b0; qreal dg100 = ay0 * az0 * b0 * (ax1 + ax0 * bx1); qreal dg010 = ax0 * az0 * b0 * (ay1 + ay0 * by1); qreal dg001 = ax0 * ay0 * b0 * (az1 + az0 * bz1); qreal dg200 = ay0 * az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2); qreal dg020 = ax0 * az0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg002 = ax0 * ay0 * b0 * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg110 = az0 * b0 * (ax1 + ax0 * bx1) * (ay1 + ay0 * by1); qreal dg101 = ay0 * b0 * (ax1 + ax0 * bx1) * (az1 + az0 * bz1); qreal dg011 = ax0 * b0 * (ay1 + ay0 * by1) * (az1 + az0 * bz1); qreal dg300 = ay0 * az0 * b0 * (ax3 + 3 * ax2 * bx1 + 3 * ax1 * bx2 + ax0 * bx3); qreal dg030 = ax0 * az0 * b0 * (ay3 + 3 * ay2 * by1 + 3 * ay1 * by2 + ay0 * by3); qreal dg003 = ax0 * ay0 * b0 * (az3 + 3 * az2 * bz1 + 3 * az1 * bz2 + az0 * bz3); qreal dg210 = az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (ay1 + ay0 * by1); qreal dg201 = ay0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (az1 + az0 * bz1); qreal dg120 = az0 * b0 * (ax1 + ax0 * bx1) * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg021 = ax0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2) * (az1 + az0 * bz1); qreal dg102 = ay0 * b0 * (ax1 + ax0 * bx1) * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg012 = ax0 * b0 * (ay1 + ay0 * by1) * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg111 = b0 * (ax1 + ax0 * bx1) * (ay1 + ay0 * by1) * (az1 + az0 * bz1); qreal dg400 = ay0 * az0 * b0 * (ax4 + 4 * ax3 * bx1 + 6 * ax2 * bx2 + 4 * ax1 * bx3 + ax0 * bx4); qreal dg040 = ax0 * az0 * b0 * (ay4 + 4 * ay3 * by1 + 6 * ay2 * by2 + 4 * ay1 * by3 + ay0 * by4); qreal dg004 = ax0 * ay0 * b0 * (az4 + 4 * az3 * bz1 + 6 * az2 * bz2 + 4 * az1 * bz3 + az0 * bz4); qreal dg310 = az0 * b0 * (ax3 + 3 * ax2 * bx1 + 3 * ax1 * bx2 + ax0 * bx3) * (ay1 + ay0 * by1); qreal dg301 = ay0 * b0 * (ax3 + 3 * ax2 * bx1 + 3 * ax1 * bx2 + ax0 * bx3) * (az1 + az0 * bz1); qreal dg130 = az0 * b0 * (ax1 + ax0 * bx1) * (ay3 + 3 * ay2 * by1 + 3 * ay1 * by2 + ay0 * by3); qreal dg031 = ax0 * b0 * (ay3 + 3 * ay2 * by1 + 3 * ay1 * by2 + ay0 * by3) * (az1 + az0 * bz1); qreal dg103 = ay0 * b0 * (ax1 + ax0 * bx1) * (az3 + 3 * az2 * bz1 + 3 * az1 * bz2 + az0 * bz3); qreal dg013 = ax0 * b0 * (ay1 + ay0 * by1) * (az3 + 3 * az2 * bz1 + 3 * az1 * bz2 + az0 * bz3); qreal dg220 = az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg202 = ay0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg022 = ax0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2) * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg211 = b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2) * (ay1 + ay0 * by1) * (az1 + az0 * bz1); qreal dg121 = b0 * (ax1 + ax0 * bx1) * (ay2 + 2 * ay1 * by1 + ay0 * by2) * (az1 + az0 * bz1); qreal dg112 = b0 * (ax1 + ax0 * bx1) * (ay1 + ay0 * by1) * (az2 + 2 * az1 * bz1 + az0 * bz2); for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; m_cdg100(m) += m_coef(m, p) * dg100; m_cdg010(m) += m_coef(m, p) * dg010; m_cdg001(m) += m_coef(m, p) * dg001; m_cdg200(m) += m_coef(m, p) * dg200; m_cdg020(m) += m_coef(m, p) * dg020; m_cdg002(m) += m_coef(m, p) * dg002; m_cdg110(m) += m_coef(m, p) * dg110; m_cdg101(m) += m_coef(m, p) * dg101; m_cdg011(m) += m_coef(m, p) * dg011; m_cdg300(m) += m_coef(m, p) * dg300; m_cdg030(m) += m_coef(m, p) * dg030; m_cdg003(m) += m_coef(m, p) * dg003; m_cdg210(m) += m_coef(m, p) * dg210; m_cdg201(m) += m_coef(m, p) * dg201; m_cdg120(m) += m_coef(m, p) * dg120; m_cdg021(m) += m_coef(m, p) * dg021; m_cdg102(m) += m_coef(m, p) * dg102; m_cdg012(m) += m_coef(m, p) * dg012; m_cdg111(m) += m_coef(m, p) * dg111; m_cdg400(m) += m_coef(m, p) * dg400; m_cdg040(m) += m_coef(m, p) * dg040; m_cdg004(m) += m_coef(m, p) * dg004; m_cdg310(m) += m_coef(m, p) * dg310; m_cdg301(m) += m_coef(m, p) * dg301; m_cdg130(m) += m_coef(m, p) * dg130; m_cdg031(m) += m_coef(m, p) * dg031; m_cdg103(m) += m_coef(m, p) * dg103; m_cdg013(m) += m_coef(m, p) * dg013; m_cdg220(m) += m_coef(m, p) * dg220; m_cdg202(m) += m_coef(m, p) * dg202; m_cdg022(m) += m_coef(m, p) * dg022; m_cdg211(m) += m_coef(m, p) * dg211; m_cdg121(m) += m_coef(m, p) * dg121; m_cdg112(m) += m_coef(m, p) * dg112; } } } qreal deriv300 = zero; qreal deriv030 = zero; qreal deriv003 = zero; qreal deriv210 = zero; qreal deriv201 = zero; qreal deriv120 = zero; qreal deriv021 = zero; qreal deriv102 = zero; qreal deriv012 = zero; qreal deriv400 = zero; qreal deriv040 = zero; qreal deriv004 = zero; qreal deriv310 = zero; qreal deriv301 = zero; qreal deriv130 = zero; qreal deriv031 = zero; qreal deriv103 = zero; qreal deriv013 = zero; qreal deriv220 = zero; qreal deriv202 = zero; qreal deriv022 = zero; qreal deriv211 = zero; qreal deriv121 = zero; qreal deriv112 = zero; for (qint64 m = 0; m < m_nmo; ++m) { deriv300 += (m_occno(m) * (6 * m_cdg100(m) * m_cdg200(m) + 2 * m_cdg000(m) * m_cdg300(m))); deriv030 += (m_occno(m) * (6 * m_cdg010(m) * m_cdg020(m) + 2 * m_cdg000(m) * m_cdg030(m))); deriv003 += (m_occno(m) * (6 * m_cdg001(m) * m_cdg002(m) + 2 * m_cdg000(m) * m_cdg003(m))); deriv210 += (m_occno(m) * (2 * (2 * m_cdg100(m) * m_cdg110(m) + m_cdg010(m) * m_cdg200(m) + m_cdg000(m) * m_cdg210(m)))); deriv201 += (m_occno(m) * (2 * (2 * m_cdg100(m) * m_cdg101(m) + m_cdg001(m) * m_cdg200(m) + m_cdg000(m) * m_cdg201(m)))); deriv120 += (m_occno(m) * (2 * (m_cdg020(m) * m_cdg100(m) + 2 * m_cdg010(m) * m_cdg110(m) + m_cdg000(m) * m_cdg120(m)))); deriv021 += (m_occno(m) * (2 * (2 * m_cdg010(m) * m_cdg011(m) + m_cdg001(m) * m_cdg020(m) + m_cdg000(m) * m_cdg021(m)))); deriv102 += (m_occno(m) * (2 * (m_cdg002(m) * m_cdg100(m) + 2 * m_cdg001(m) * m_cdg101(m) + m_cdg000(m) * m_cdg102(m)))); deriv012 += (m_occno(m) * (2 * (m_cdg002(m) * m_cdg010(m) + 2 * m_cdg001(m) * m_cdg011(m) + m_cdg000(m) * m_cdg012(m)))); // deriv111+=(m_occno(m)*( // 2*(m_cdg011(m)*m_cdg100(m)+m_cdg010(m)*m_cdg101(m)+m_cdg001(m)*m_cdg110(m)+m_cdg000(m)*m_cdg111(m)) // )); deriv400 += (m_occno(m) * (6 * ipow(m_cdg200(m), 2) + 8 * m_cdg100(m) * m_cdg300(m) + 2 * m_cdg000(m) * m_cdg400(m))); deriv040 += (m_occno(m) * (6 * ipow(m_cdg020(m), 2) + 8 * m_cdg010(m) * m_cdg030(m) + 2 * m_cdg000(m) * m_cdg040(m))); deriv004 += (m_occno(m) * (6 * ipow(m_cdg002(m), 2) + 8 * m_cdg001(m) * m_cdg003(m) + 2 * m_cdg000(m) * m_cdg004(m))); deriv310 += (m_occno(m) * (2 * (3 * m_cdg110(m) * m_cdg200(m) + 3 * m_cdg100(m) * m_cdg210(m) + m_cdg010(m) * m_cdg300(m) + m_cdg000(m) * m_cdg310(m)))); deriv301 += (m_occno(m) * (2 * (3 * m_cdg101(m) * m_cdg200(m) + 3 * m_cdg100(m) * m_cdg201(m) + m_cdg001(m) * m_cdg300(m) + m_cdg000(m) * m_cdg301(m)))); deriv130 += (m_occno(m) * (2 * (m_cdg030(m) * m_cdg100(m) + 3 * m_cdg020(m) * m_cdg110(m) + 3 * m_cdg010(m) * m_cdg120(m) + m_cdg000(m) * m_cdg130(m)))); deriv031 += (m_occno(m) * (2 * (3 * m_cdg011(m) * m_cdg020(m) + 3 * m_cdg010(m) * m_cdg021(m) + m_cdg001(m) * m_cdg030(m) + m_cdg000(m) * m_cdg031(m)))); deriv103 += (m_occno(m) * (2 * (m_cdg003(m) * m_cdg100(m) + 3 * m_cdg002(m) * m_cdg101(m) + 3 * m_cdg001(m) * m_cdg102(m) + m_cdg000(m) * m_cdg103(m)))); deriv013 += (m_occno(m) * (2 * (m_cdg003(m) * m_cdg010(m) + 3 * m_cdg002(m) * m_cdg011(m) + 3 * m_cdg001(m) * m_cdg012(m) + m_cdg000(m) * m_cdg013(m)))); deriv220 += (m_occno(m) * (2 * (2 * ipow(m_cdg110(m), 2) + 2 * m_cdg100(m) * m_cdg120(m) + m_cdg020(m) * m_cdg200(m) + 2 * m_cdg010(m) * m_cdg210(m) + m_cdg000(m) * m_cdg220(m)))); deriv202 += (m_occno(m) * (2 * (2 * ipow(m_cdg101(m), 2) + 2 * m_cdg100(m) * m_cdg102(m) + m_cdg002(m) * m_cdg200(m) + 2 * m_cdg001(m) * m_cdg201(m) + m_cdg000(m) * m_cdg202(m)))); deriv022 += (m_occno(m) * (2 * (2 * ipow(m_cdg011(m), 2) + 2 * m_cdg010(m) * m_cdg012(m) + m_cdg002(m) * m_cdg020(m) + 2 * m_cdg001(m) * m_cdg021(m) + m_cdg000(m) * m_cdg022(m)))); deriv211 += (m_occno(m) * (2 * (2 * m_cdg101(m) * m_cdg110(m) + 2 * m_cdg100(m) * m_cdg111(m) + m_cdg011(m) * m_cdg200(m) + m_cdg010(m) * m_cdg201(m) + m_cdg001(m) * m_cdg210(m) + m_cdg000(m) * m_cdg211(m)))); deriv121 += (m_occno(m) * (2 * (m_cdg021(m) * m_cdg100(m) + m_cdg020(m) * m_cdg101(m) + 2 * m_cdg011(m) * m_cdg110(m) + 2 * m_cdg010(m) * m_cdg111(m) + m_cdg001(m) * m_cdg120(m) + m_cdg000(m) * m_cdg121(m)))); deriv112 += (m_occno(m) * (2 * (m_cdg012(m) * m_cdg100(m) + 2 * m_cdg011(m) * m_cdg101(m) + m_cdg010(m) * m_cdg102(m) + m_cdg002(m) * m_cdg110(m) + 2 * m_cdg001(m) * m_cdg111(m) + m_cdg000(m) * m_cdg112(m)))); } gValue(0) = deriv300 + deriv120 + deriv102; gValue(1) = deriv210 + deriv030 + deriv012; gValue(2) = deriv201 + deriv021 + deriv003; hValue(0, 0) = deriv400 + deriv220 + deriv202; hValue(1, 1) = deriv220 + deriv040 + deriv022; hValue(2, 2) = deriv202 + deriv022 + deriv004; hValue(0, 1) = deriv310 + deriv130 + deriv112; hValue(0, 2) = deriv301 + deriv121 + deriv103; hValue(1, 2) = deriv211 + deriv031 + deriv013; hValue(1, 0) = hValue(0, 1); hValue(2, 0) = hValue(0, 2); hValue(2, 1) = hValue(1, 2); value(0, 0) = gValue(0); value(1, 0) = gValue(1); value(2, 0) = gValue(2); value(0, 1) = hValue(0, 0); value(1, 1) = hValue(1, 0); value(2, 1) = hValue(2, 0); value(0, 2) = hValue(0, 1); value(1, 2) = hValue(1, 1); value(2, 2) = hValue(2, 1); value(0, 3) = hValue(0, 2); value(1, 3) = hValue(1, 2); value(2, 3) = hValue(2, 2); return value; } qreal QTAIMWavefunctionEvaluator::kineticEnergyDensityG(Matrix xyz) { qreal value; const qreal zero = 0.0; const qreal one = 1.0; m_cdg000.setZero(); m_cdg100.setZero(); m_cdg010.setZero(); m_cdg001.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qint64 aax0 = 1; qint64 aay0 = 1; qint64 aaz0 = 1; qint64 aax1 = m_xamom(p); qint64 aay1 = m_yamom(p); qint64 aaz1 = m_zamom(p); qreal ax0 = aax0 * ipow(xx0, m_xamom(p)); qreal ay0 = aay0 * ipow(yy0, m_yamom(p)); qreal az0 = aaz0 * ipow(zz0, m_zamom(p)); qreal ax1; qreal ay1; qreal az1; if (m_xamom(p) < 1) { ax1 = zero; } else if (m_xamom(p) == 1) { ax1 = one; } else { ax1 = aax1 * ipow(xx0, m_xamom(p) - 1); } if (m_yamom(p) < 1) { ay1 = zero; } else if (m_yamom(p) == 1) { ay1 = one; } else { ay1 = aay1 * ipow(yy0, m_yamom(p) - 1); } if (m_zamom(p) < 1) { az1 = zero; } else if (m_zamom(p) == 1) { az1 = one; } else { az1 = aaz1 * ipow(zz0, m_zamom(p) - 1); } qreal b0 = exp(b0arg); qreal bx1 = -2 * m_alpha(p) * xx0; qreal by1 = -2 * m_alpha(p) * yy0; qreal bz1 = -2 * m_alpha(p) * zz0; qreal dg000 = ax0 * ay0 * az0 * b0; qreal dg100 = ay0 * az0 * b0 * (ax1 + ax0 * bx1); qreal dg010 = ax0 * az0 * b0 * (ay1 + ay0 * by1); qreal dg001 = ax0 * ay0 * b0 * (az1 + az0 * bz1); for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; m_cdg100(m) += m_coef(m, p) * dg100; m_cdg010(m) += m_coef(m, p) * dg010; m_cdg001(m) += m_coef(m, p) * dg001; } } } value = zero; for (qint64 m = 0; m < m_nmo; ++m) { value += (0.5) * (m_occno(m) * (ipow(m_cdg100(m), 2) + ipow(m_cdg010(m), 2) + ipow(m_cdg001(m), 2))); } return value; } qreal QTAIMWavefunctionEvaluator::kineticEnergyDensityK( const Matrix xyz) { qreal value; const qreal zero = 0.0; const qreal one = 1.0; m_cdg000.setZero(); m_cdg200.setZero(); m_cdg020.setZero(); m_cdg002.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qint64 aax0 = 1; qint64 aay0 = 1; qint64 aaz0 = 1; qint64 aax1 = m_xamom(p); qint64 aay1 = m_yamom(p); qint64 aaz1 = m_zamom(p); qint64 aax2 = m_xamom(p) * (m_xamom(p) - 1); qint64 aay2 = m_yamom(p) * (m_yamom(p) - 1); qint64 aaz2 = m_zamom(p) * (m_zamom(p) - 1); qreal ax0 = aax0 * ipow(xx0, m_xamom(p)); qreal ay0 = aay0 * ipow(yy0, m_yamom(p)); qreal az0 = aaz0 * ipow(zz0, m_zamom(p)); qreal ax1; qreal ay1; qreal az1; if (m_xamom(p) < 1) { ax1 = zero; } else if (m_xamom(p) == 1) { ax1 = one; } else { ax1 = aax1 * ipow(xx0, m_xamom(p) - 1); } if (m_yamom(p) < 1) { ay1 = zero; } else if (m_yamom(p) == 1) { ay1 = one; } else { ay1 = aay1 * ipow(yy0, m_yamom(p) - 1); } if (m_zamom(p) < 1) { az1 = zero; } else if (m_zamom(p) == 1) { az1 = one; } else { az1 = aaz1 * ipow(zz0, m_zamom(p) - 1); } qreal ax2; qreal ay2; qreal az2; if (m_xamom(p) < 2) { ax2 = zero; } else if (m_xamom(p) == 2) { ax2 = one; } else { ax2 = aax2 * ipow(xx0, m_xamom(p) - 2); } if (m_yamom(p) < 2) { ay2 = zero; } else if (m_yamom(p) == 2) { ay2 = one; } else { ay2 = aay2 * ipow(yy0, m_yamom(p) - 2); } if (m_zamom(p) < 2) { az2 = zero; } else if (m_zamom(p) == 2) { az2 = one; } else { az2 = aaz2 * ipow(zz0, m_zamom(p) - 2); } qreal b0 = exp(b0arg); qreal bx1 = -2 * m_alpha(p) * xx0; qreal by1 = -2 * m_alpha(p) * yy0; qreal bz1 = -2 * m_alpha(p) * zz0; qreal bx2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(xx0, 2)); qreal by2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(yy0, 2)); qreal bz2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(zz0, 2)); qreal dg000 = ax0 * ay0 * az0 * b0; qreal dg200 = ay0 * az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2); qreal dg020 = ax0 * az0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg002 = ax0 * ay0 * b0 * (az2 + 2 * az1 * bz1 + az0 * bz2); for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; m_cdg200(m) += m_coef(m, p) * dg200; m_cdg020(m) += m_coef(m, p) * dg020; m_cdg002(m) += m_coef(m, p) * dg002; } } } value = 0.0; for (qint64 m = 0; m < m_nmo; ++m) { value += (0.25) * (m_occno(m) * (2 * m_cdg000(m) * (m_cdg200(m) + m_cdg020(m) + m_cdg002(m)))); } return value; } const Matrix QTAIMWavefunctionEvaluator::quantumStressTensor( const Matrix xyz) { Matrix value; const qreal zero = 0.0; const qreal one = 1.0; m_cdg000.setZero(); m_cdg100.setZero(); m_cdg010.setZero(); m_cdg001.setZero(); m_cdg200.setZero(); m_cdg020.setZero(); m_cdg002.setZero(); m_cdg110.setZero(); m_cdg101.setZero(); m_cdg011.setZero(); for (qint64 p = 0; p < m_nprim; ++p) { qreal xx0 = xyz(0) - m_X0(p); qreal yy0 = xyz(1) - m_Y0(p); qreal zz0 = xyz(2) - m_Z0(p); qreal b0arg = -m_alpha(p) * (xx0 * xx0 + yy0 * yy0 + zz0 * zz0); if (b0arg > m_cutoff) { qint64 aax0 = 1; qint64 aay0 = 1; qint64 aaz0 = 1; qint64 aax1 = m_xamom(p); qint64 aay1 = m_yamom(p); qint64 aaz1 = m_zamom(p); qint64 aax2 = m_xamom(p) * (m_xamom(p) - 1); qint64 aay2 = m_yamom(p) * (m_yamom(p) - 1); qint64 aaz2 = m_zamom(p) * (m_zamom(p) - 1); qreal ax0 = aax0 * ipow(xx0, m_xamom(p)); qreal ay0 = aay0 * ipow(yy0, m_yamom(p)); qreal az0 = aaz0 * ipow(zz0, m_zamom(p)); qreal ax1; qreal ay1; qreal az1; if (m_xamom(p) < 1) { ax1 = zero; } else if (m_xamom(p) == 1) { ax1 = one; } else { ax1 = aax1 * ipow(xx0, m_xamom(p) - 1); } if (m_yamom(p) < 1) { ay1 = zero; } else if (m_yamom(p) == 1) { ay1 = one; } else { ay1 = aay1 * ipow(yy0, m_yamom(p) - 1); } if (m_zamom(p) < 1) { az1 = zero; } else if (m_zamom(p) == 1) { az1 = one; } else { az1 = aaz1 * ipow(zz0, m_zamom(p) - 1); } qreal ax2; qreal ay2; qreal az2; if (m_xamom(p) < 2) { ax2 = zero; } else if (m_xamom(p) == 2) { ax2 = one; } else { ax2 = aax2 * ipow(xx0, m_xamom(p) - 2); } if (m_yamom(p) < 2) { ay2 = zero; } else if (m_yamom(p) == 2) { ay2 = one; } else { ay2 = aay2 * ipow(yy0, m_yamom(p) - 2); } if (m_zamom(p) < 2) { az2 = zero; } else if (m_zamom(p) == 2) { az2 = one; } else { az2 = aaz2 * ipow(zz0, m_zamom(p) - 2); } qreal b0 = exp(b0arg); qreal bx1 = -2 * m_alpha(p) * xx0; qreal by1 = -2 * m_alpha(p) * yy0; qreal bz1 = -2 * m_alpha(p) * zz0; qreal bx2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(xx0, 2)); qreal by2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(yy0, 2)); qreal bz2 = -2 * m_alpha(p) + 4 * (ipow(m_alpha(p), 2) * ipow(zz0, 2)); qreal dg000 = ax0 * ay0 * az0 * b0; qreal dg100 = ay0 * az0 * b0 * (ax1 + ax0 * bx1); qreal dg010 = ax0 * az0 * b0 * (ay1 + ay0 * by1); qreal dg001 = ax0 * ay0 * b0 * (az1 + az0 * bz1); qreal dg200 = ay0 * az0 * b0 * (ax2 + 2 * ax1 * bx1 + ax0 * bx2); qreal dg020 = ax0 * az0 * b0 * (ay2 + 2 * ay1 * by1 + ay0 * by2); qreal dg002 = ax0 * ay0 * b0 * (az2 + 2 * az1 * bz1 + az0 * bz2); qreal dg110 = az0 * b0 * (ax1 + ax0 * bx1) * (ay1 + ay0 * by1); qreal dg101 = ay0 * b0 * (ax1 + ax0 * bx1) * (az1 + az0 * bz1); qreal dg011 = ax0 * b0 * (ay1 + ay0 * by1) * (az1 + az0 * bz1); for (qint64 m = 0; m < m_nmo; ++m) { m_cdg000(m) += m_coef(m, p) * dg000; m_cdg100(m) += m_coef(m, p) * dg100; m_cdg010(m) += m_coef(m, p) * dg010; m_cdg001(m) += m_coef(m, p) * dg001; m_cdg200(m) += m_coef(m, p) * dg200; m_cdg020(m) += m_coef(m, p) * dg020; m_cdg002(m) += m_coef(m, p) * dg002; m_cdg110(m) += m_coef(m, p) * dg110; m_cdg101(m) += m_coef(m, p) * dg101; m_cdg011(m) += m_coef(m, p) * dg011; } } } value.setZero(); for (qint64 m = 0; m < m_nmo; ++m) { value(0, 0) += (m_occno(m) * (2 * m_cdg000(m) * m_cdg200(m) - 2 * ipow(m_cdg100(m), 2))); value(0, 1) += (m_occno(m) * (2 * m_cdg000(m) * m_cdg110(m) - 2 * m_cdg100(m) * m_cdg010(m))); value(0, 2) += (m_occno(m) * (2 * m_cdg000(m) * m_cdg101(m) - 2 * m_cdg100(m) * m_cdg001(m))); value(1, 1) += (m_occno(m) * (2 * m_cdg000(m) * m_cdg020(m) - 2 * ipow(m_cdg010(m), 2))); value(1, 2) += (m_occno(m) * (2 * m_cdg000(m) * m_cdg011(m) - 2 * m_cdg010(m) * m_cdg001(m))); value(2, 2) += (m_occno(m) * (2 * m_cdg000(m) * m_cdg002(m) - 2 * ipow(m_cdg001(m), 2))); } value(1, 0) = value(0, 1); value(2, 0) = value(0, 2); value(2, 1) = value(1, 2); return 0.25 * value; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/qtaimwavefunctionevaluator.h000066400000000000000000000104311360735163600270740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2010 Eric C. Brown This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef QTAIMWAVEFUNCTIONEVALUATOR_H #define QTAIMWAVEFUNCTIONEVALUATOR_H #include "qtaimwavefunction.h" #include using namespace Eigen; namespace Avogadro { namespace QtPlugins { class QTAIMWavefunction; class QTAIMWavefunctionEvaluator { public: EIGEN_MAKE_ALIGNED_OPERATOR_NEW explicit QTAIMWavefunctionEvaluator(QTAIMWavefunction& wfn); qreal molecularOrbital(const qint64 mo, const Matrix xyz); qreal electronDensity(const Matrix xyz); const Matrix gradientOfElectronDensity( const Matrix xyz); const Matrix hessianOfElectronDensity( const Matrix xyz); const Matrix gradientAndHessianOfElectronDensity( const Matrix xyz); qreal laplacianOfElectronDensity(const Matrix xyz); qreal electronDensityLaplacian(const Matrix xyz) { return laplacianOfElectronDensity(xyz); } const Matrix gradientOfElectronDensityLaplacian( const Matrix xyz); const Matrix hessianOfElectronDensityLaplacian( const Matrix xyz); const Matrix gradientAndHessianOfElectronDensityLaplacian( const Matrix xyz); qreal kineticEnergyDensityG(const Matrix xyz); qreal kineticEnergyDensityK(const Matrix xyz); const Matrix quantumStressTensor(const Matrix xyz); private: qint64 m_nmo; qint64 m_nprim; qint64 m_nnuc; // qint64 m_noccmo; // number of (significantly) occupied molecular // orbitals Matrix m_nucxcoord; Matrix m_nucycoord; Matrix m_nuczcoord; Matrix m_nucz; Matrix m_X0; Matrix m_Y0; Matrix m_Z0; Matrix m_xamom; Matrix m_yamom; Matrix m_zamom; Matrix m_alpha; Matrix m_occno; Matrix m_orbe; Matrix m_coef; qreal m_totalEnergy; qreal m_virialRatio; qreal m_cutoff; Matrix m_cdg000; Matrix m_cdg100; Matrix m_cdg010; Matrix m_cdg001; Matrix m_cdg200; Matrix m_cdg110; Matrix m_cdg101; Matrix m_cdg020; Matrix m_cdg011; Matrix m_cdg002; Matrix m_cdg300; Matrix m_cdg120; Matrix m_cdg102; Matrix m_cdg210; Matrix m_cdg030; Matrix m_cdg012; Matrix m_cdg201; Matrix m_cdg021; Matrix m_cdg003; Matrix m_cdg111; Matrix m_cdg400; Matrix m_cdg220; Matrix m_cdg202; Matrix m_cdg310; Matrix m_cdg130; Matrix m_cdg112; Matrix m_cdg301; Matrix m_cdg121; Matrix m_cdg103; Matrix m_cdg040; Matrix m_cdg022; Matrix m_cdg211; Matrix m_cdg031; Matrix m_cdg013; Matrix m_cdg004; static inline qreal ipow(qreal a, qint64 n) { return (qreal)pow(a, (int)n); } }; } // namespace QtPlugins } // namespace Avogadro #endif // QTAIMWAVEFUNCTIONEVALUATOR_H avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/test/000077500000000000000000000000001360735163600222145ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/test/c4h4.wfn000066400000000000000000001023651360735163600235010ustar00rootroot00000000000000Tetrahedrane 6-31G* at 6-31G* geometry 1/11/91 JRC GAUSSIAN 14 MOL ORBITALS 128 PRIMITIVES 8 NUCLEI C 1 (CENTRE 1) 0.97775600 0.97775600 0.97775600 CHARGE = 6.0 C 2 (CENTRE 2) -0.97775600 -0.97775600 0.97775600 CHARGE = 6.0 C 3 (CENTRE 3) 0.97775600 -0.97775600 -0.97775600 CHARGE = 6.0 C 4 (CENTRE 4) -0.97775600 0.97775600 -0.97775600 CHARGE = 6.0 H 5 (CENTRE 5) 2.13806500 2.13806500 2.13806500 CHARGE = 1.0 H 6 (CENTRE 6) -2.13806500 -2.13806500 2.13806500 CHARGE = 1.0 H 7 (CENTRE 7) 2.13806500 -2.13806500 -2.13806500 CHARGE = 1.0 H 8 (CENTRE 8) -2.13806500 2.13806500 -2.13806500 CHARGE = 1.0 CENTRE ASSIGNMENTS 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 CENTRE ASSIGNMENTS 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 CENTRE ASSIGNMENTS 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 CENTRE ASSIGNMENTS 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 CENTRE ASSIGNMENTS 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 CENTRE ASSIGNMENTS 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 6 6 6 6 CENTRE ASSIGNMENTS 7 7 7 7 8 8 8 8 TYPE ASSIGNMENTS 1 1 1 1 1 1 1 1 1 2 2 2 3 3 3 4 4 4 1 2 TYPE ASSIGNMENTS 3 4 5 6 7 8 9 10 1 1 1 1 1 1 1 1 1 2 2 2 TYPE ASSIGNMENTS 3 3 3 4 4 4 1 2 3 4 5 6 7 8 9 10 1 1 1 1 TYPE ASSIGNMENTS 1 1 1 1 1 2 2 2 3 3 3 4 4 4 1 2 3 4 5 6 TYPE ASSIGNMENTS 7 8 9 10 1 1 1 1 1 1 1 1 1 2 2 2 3 3 3 4 TYPE ASSIGNMENTS 4 4 1 2 3 4 5 6 7 8 9 10 1 1 1 1 1 1 1 1 TYPE ASSIGNMENTS 1 1 1 1 1 1 1 1 EXPONENTS 0.3047525E+04 0.4573695E+03 0.1039487E+03 0.2921016E+02 0.9286663E+01 EXPONENTS 0.3163927E+01 0.7868272E+01 0.1881289E+01 0.5442493E+00 0.7868272E+01 EXPONENTS 0.1881289E+01 0.5442493E+00 0.7868272E+01 0.1881289E+01 0.5442493E+00 EXPONENTS 0.7868272E+01 0.1881289E+01 0.5442493E+00 0.1687145E+00 0.1687145E+00 EXPONENTS 0.1687145E+00 0.1687145E+00 0.8000000E+00 0.8000000E+00 0.8000000E+00 EXPONENTS 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.3047525E+04 0.4573695E+03 EXPONENTS 0.1039487E+03 0.2921016E+02 0.9286663E+01 0.3163927E+01 0.7868272E+01 EXPONENTS 0.1881289E+01 0.5442493E+00 0.7868272E+01 0.1881289E+01 0.5442493E+00 EXPONENTS 0.7868272E+01 0.1881289E+01 0.5442493E+00 0.7868272E+01 0.1881289E+01 EXPONENTS 0.5442493E+00 0.1687145E+00 0.1687145E+00 0.1687145E+00 0.1687145E+00 EXPONENTS 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.8000000E+00 EXPONENTS 0.8000000E+00 0.3047525E+04 0.4573695E+03 0.1039487E+03 0.2921016E+02 EXPONENTS 0.9286663E+01 0.3163927E+01 0.7868272E+01 0.1881289E+01 0.5442493E+00 EXPONENTS 0.7868272E+01 0.1881289E+01 0.5442493E+00 0.7868272E+01 0.1881289E+01 EXPONENTS 0.5442493E+00 0.7868272E+01 0.1881289E+01 0.5442493E+00 0.1687145E+00 EXPONENTS 0.1687145E+00 0.1687145E+00 0.1687145E+00 0.8000000E+00 0.8000000E+00 EXPONENTS 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.3047525E+04 EXPONENTS 0.4573695E+03 0.1039487E+03 0.2921016E+02 0.9286663E+01 0.3163927E+01 EXPONENTS 0.7868272E+01 0.1881289E+01 0.5442493E+00 0.7868272E+01 0.1881289E+01 EXPONENTS 0.5442493E+00 0.7868272E+01 0.1881289E+01 0.5442493E+00 0.7868272E+01 EXPONENTS 0.1881289E+01 0.5442493E+00 0.1687145E+00 0.1687145E+00 0.1687145E+00 EXPONENTS 0.1687145E+00 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.8000000E+00 EXPONENTS 0.8000000E+00 0.8000000E+00 0.1873114E+02 0.2825394E+01 0.6401217E+00 EXPONENTS 0.1612778E+00 0.1873114E+02 0.2825394E+01 0.6401217E+00 0.1612778E+00 EXPONENTS 0.1873114E+02 0.2825394E+01 0.6401217E+00 0.1612778E+00 0.1873114E+02 EXPONENTS 0.2825394E+01 0.6401217E+00 0.1612778E+00 MO 1 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -11.2380343 0.26693201E+00 0.49243743E+00 0.79494670E+00 0.10347844E+01 0.88298341E+00 0.30487295E+00 -0.58011440E-02 -0.26737419E-02 0.74974515E-02 -0.61745883E-03 -0.47342827E-03 -0.23627389E-03 -0.61745883E-03 -0.47342827E-03 -0.23627389E-03 -0.61745883E-03 -0.47342827E-03 -0.23627389E-03 -0.24675943E-03 0.17853802E-03 0.17853802E-03 0.17853802E-03 -0.13142320E-02 -0.13142320E-02 -0.13142320E-02 0.30335721E-05 0.30335722E-05 0.30335721E-05 0.26693201E+00 0.49243743E+00 0.79494670E+00 0.10347844E+01 0.88298341E+00 0.30487295E+00 -0.58011440E-02 -0.26737419E-02 0.74974515E-02 0.61745883E-03 0.47342827E-03 0.23627389E-03 0.61745883E-03 0.47342827E-03 0.23627389E-03 -0.61745883E-03 -0.47342827E-03 -0.23627389E-03 -0.24675943E-03 -0.17853802E-03 -0.17853802E-03 0.17853802E-03 -0.13142320E-02 -0.13142320E-02 -0.13142320E-02 0.30335721E-05 -0.30335721E-05 -0.30335722E-05 0.26693201E+00 0.49243743E+00 0.79494670E+00 0.10347844E+01 0.88298341E+00 0.30487295E+00 -0.58011440E-02 -0.26737419E-02 0.74974515E-02 -0.61745883E-03 -0.47342827E-03 -0.23627389E-03 0.61745883E-03 0.47342827E-03 0.23627389E-03 0.61745883E-03 0.47342827E-03 0.23627389E-03 -0.24675943E-03 0.17853802E-03 -0.17853802E-03 -0.17853802E-03 -0.13142320E-02 -0.13142320E-02 -0.13142320E-02 -0.30335722E-05 -0.30335722E-05 0.30335722E-05 0.26693201E+00 0.49243743E+00 0.79494670E+00 0.10347844E+01 0.88298341E+00 0.30487295E+00 -0.58011440E-02 -0.26737419E-02 0.74974515E-02 0.61745883E-03 0.47342827E-03 0.23627389E-03 -0.61745883E-03 -0.47342827E-03 -0.23627389E-03 0.61745883E-03 0.47342827E-03 0.23627389E-03 -0.24675943E-03 -0.17853802E-03 0.17853802E-03 -0.17853802E-03 -0.13142320E-02 -0.13142320E-02 -0.13142320E-02 -0.30335721E-05 0.30335721E-05 -0.30335721E-05 -0.89875950E-04 -0.15244662E-03 -0.17355509E-03 -0.12370279E-03 -0.89875950E-04 -0.15244662E-03 -0.17355509E-03 -0.12370279E-03 -0.89875950E-04 -0.15244662E-03 -0.17355509E-03 -0.12370279E-03 -0.89875950E-04 -0.15244662E-03 -0.17355509E-03 -0.12370279E-03 MO 2 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -11.2364689 -0.13360531E+00 -0.24647571E+00 -0.39788822E+00 -0.51793224E+00 -0.44195252E+00 -0.15259558E+00 0.27798091E-02 0.12812115E-02 -0.35926507E-02 0.40226024E-03 0.30842764E-03 0.15392701E-03 0.39414475E-03 0.30220519E-03 0.15082157E-03 0.39124026E-03 0.29997822E-03 0.14971015E-03 0.87725150E-03 0.46622737E-04 -0.19861053E-03 -0.28637795E-03 0.65105547E-03 0.24361944E-03 0.97800673E-04 -0.47048277E-04 -0.23342264E-03 -0.75417612E-03 -0.24930352E+00 -0.45991631E+00 -0.74244752E+00 -0.96644607E+00 -0.82467018E+00 -0.28473880E+00 0.51870406E-02 0.23907023E-02 -0.67037788E-02 -0.73635732E-03 -0.56459209E-03 -0.28177102E-03 -0.74447281E-03 -0.57081453E-03 -0.28487646E-03 0.73528041E-03 0.56376638E-03 0.28135893E-03 0.16369251E-02 0.34355622E-03 0.98322959E-04 -0.37609819E-03 0.49951990E-03 0.90695593E-03 0.44545394E-03 -0.42388701E-03 0.10137435E-02 0.49298997E-03 0.44833820E+00 0.82709643E+00 0.13351901E+01 0.17380208E+01 0.14830563E+01 0.51206369E+00 -0.93281815E-02 -0.42993503E-02 0.12055827E-01 -0.13282068E-02 -0.10183847E-02 -0.50824535E-03 0.13300344E-02 0.10197860E-02 0.50894468E-03 0.13271299E-02 0.10175590E-02 0.50783326E-03 -0.29437854E-02 0.49790122E-03 -0.44267576E-03 -0.53044319E-03 -0.10975850E-02 -0.11893378E-02 -0.10435190E-02 -0.10721596E-02 -0.12585340E-02 0.11412626E-02 -0.65429372E-01 -0.12070441E+00 -0.19485435E+00 -0.25364247E+00 -0.21643358E+00 -0.74729313E-01 0.13613318E-02 0.62743659E-03 -0.17593977E-02 -0.18958922E-03 -0.14536499E-03 -0.72547319E-04 0.19141680E-03 0.14676626E-03 0.73246649E-04 -0.20060920E-03 -0.15381441E-03 -0.76764171E-04 0.42960878E-03 0.20096773E-03 -0.14574228E-03 -0.13203295E-03 -0.52990380E-04 0.38762430E-04 0.50026442E-03 0.60122434E-03 -0.11367898E-04 -0.10590350E-03 0.33934163E-04 0.57558764E-04 0.65528618E-04 -0.16786044E-04 0.63320134E-04 0.10740293E-03 0.12227444E-03 -0.31322256E-04 -0.11387258E-03 -0.19314945E-03 -0.21989382E-03 0.56328784E-04 0.16618284E-04 0.28187755E-04 0.32090762E-04 -0.82204838E-05 MO 3 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -11.2364689 0.41906123E+00 0.77308614E+00 0.12480007E+01 0.16245261E+01 0.13862111E+01 0.47862538E+00 -0.87190411E-02 -0.40185981E-02 0.11268569E-01 -0.12393200E-02 -0.95023195E-03 -0.47423234E-03 -0.12443521E-02 -0.95409025E-03 -0.47615790E-03 -0.12414499E-02 -0.95186503E-03 -0.47504736E-03 -0.27515530E-02 0.53046067E-03 0.37840097E-03 0.46609931E-03 -0.91779785E-03 -0.11704332E-02 -0.10247293E-02 0.10652259E-02 0.12514535E-02 0.92855433E-03 -0.12338996E+00 -0.22763039E+00 -0.36746603E+00 -0.47833158E+00 -0.40816121E+00 -0.14092826E+00 0.25672673E-02 0.11832511E-02 -0.33179597E-02 -0.36011201E-03 -0.27611105E-03 -0.13779877E-03 -0.36514412E-03 -0.27996935E-03 -0.13972433E-03 0.37158279E-03 0.28490611E-03 0.14218812E-03 0.81017761E-03 0.30117711E-03 0.14911741E-03 0.45445851E-04 0.29356401E-04 0.28199180E-03 0.60524356E-03 -0.70158307E-03 0.28842746E-03 -0.34471718E-04 0.11448112E-01 0.21119531E-01 0.34093471E-01 0.44379569E-01 0.37869167E-01 0.13075313E-01 -0.23819087E-03 -0.10978195E-03 0.30784006E-03 -0.27241759E-04 -0.20887253E-04 -0.10424203E-04 0.35810339E-04 0.27457097E-04 0.13703016E-04 0.38712536E-04 0.29682317E-04 0.14813557E-04 -0.75168219E-04 0.21436981E-03 0.44554818E-04 0.13225316E-03 0.30700967E-03 -0.12317350E-03 -0.26887749E-03 -0.33697909E-03 -0.15075143E-03 -0.39907570E-03 -0.30711937E+00 -0.56657528E+00 -0.91462817E+00 -0.11905741E+01 -0.10159191E+01 -0.35077243E+00 0.63899647E-02 0.29451289E-02 -0.82584489E-02 -0.90644972E-03 -0.69500816E-03 -0.34685778E-03 0.91501831E-03 0.70157800E-03 0.35013659E-03 -0.90857963E-03 -0.69664123E-03 -0.34767280E-03 0.20165436E-02 0.44365337E-03 -0.18472874E-03 0.37929200E-03 0.58143178E-03 0.10116150E-02 0.68836319E-03 0.70062187E-03 -0.11137775E-02 0.56395035E-03 -0.10643658E-03 -0.18053658E-03 -0.20553452E-03 0.52650453E-04 0.31339586E-04 0.53157870E-04 0.60518356E-04 -0.15502597E-04 -0.29076845E-05 -0.49319833E-05 -0.56148887E-05 0.14383298E-05 0.78004676E-04 0.13231069E-03 0.15063105E-03 -0.38586185E-04 MO 4 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -11.2364689 -0.14319701E+00 -0.26417052E+00 -0.42645312E+00 -0.55511525E+00 -0.47368085E+00 -0.16355061E+00 0.29793751E-02 0.13731913E-02 -0.38505716E-02 0.42533783E-03 0.32612207E-03 0.16275777E-03 0.41818344E-03 0.32063654E-03 0.16002010E-03 0.42938655E-03 0.32922637E-03 0.16430703E-03 0.94023051E-03 -0.12532999E-03 -0.34152068E-03 -0.29858984E-05 0.40654850E-03 0.47364448E-04 0.60981372E-03 -0.69586773E-03 0.23011784E-04 -0.43606972E-03 0.36958185E+00 0.68180636E+00 0.11006469E+01 0.14327152E+01 0.12225385E+01 0.42211315E+00 -0.76895670E-02 -0.35441144E-02 0.99380668E-02 0.10985157E-02 0.84227219E-03 0.42035285E-03 0.10913613E-02 0.83678666E-03 0.41761519E-03 -0.10954125E-02 -0.83989282E-03 -0.41916538E-03 -0.24266718E-02 -0.30088417E-03 -0.51707486E-03 0.39465762E-03 -0.10867962E-02 -0.72761210E-03 -0.93099883E-03 0.97429593E-03 -0.71434261E-03 -0.11734241E-02 0.11326904E+00 0.20895925E+00 0.33732502E+00 0.43909695E+00 0.37468223E+00 0.12936877E+00 -0.23566899E-02 -0.10861962E-02 0.30458076E-02 -0.33728951E-03 -0.25861220E-03 -0.12906561E-03 0.32918963E-03 0.25240173E-03 0.12596615E-03 0.34039275E-03 0.26099157E-03 0.13025308E-03 -0.74372367E-03 0.73551176E-04 -0.31831250E-03 0.20222281E-04 -0.36408798E-03 0.42563974E-04 -0.51988530E-03 -0.59838982E-03 0.12048969E-03 0.39926164E-03 -0.33965388E+00 -0.62659509E+00 -0.10115188E+01 -0.13166969E+01 -0.11235398E+01 -0.38793130E+00 0.70668818E-02 0.32571194E-02 -0.91333027E-02 -0.10104674E-02 -0.77476232E-03 -0.38666070E-03 0.10023675E-02 0.76855185E-03 0.38356124E-03 -0.10064187E-02 -0.77165802E-03 -0.38511143E-03 0.22301649E-02 0.24910535E-03 -0.49386668E-03 0.37144944E-03 0.10443356E-02 0.63768368E-03 0.84107041E-03 0.87681802E-03 -0.61686470E-03 0.11366160E-02 0.36370340E-04 0.61690981E-04 0.70233001E-04 -0.17991135E-04 -0.93869405E-04 -0.15922028E-03 -0.18126666E-03 0.46433912E-04 -0.28768991E-04 -0.48797653E-04 -0.55554403E-04 0.14231014E-04 0.86268055E-04 0.14632695E-03 0.16658806E-03 -0.42673790E-04 MO 5 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -1.2965995 -0.57728863E-01 -0.10649848E+00 -0.17192157E+00 -0.22379080E+00 -0.19096109E+00 -0.65934276E-01 -0.82048544E-01 -0.37816099E-01 0.10604029E+00 -0.10615075E+00 -0.81389661E-01 -0.40619145E-01 -0.10615075E+00 -0.81389661E-01 -0.40619145E-01 -0.10615075E+00 -0.81389661E-01 -0.40619145E-01 0.19143947E-01 -0.39103300E-03 -0.39103300E-03 -0.39103300E-03 0.25806563E-02 0.25806563E-02 0.25806563E-02 0.20153688E-01 0.20153688E-01 0.20153688E-01 -0.57728863E-01 -0.10649848E+00 -0.17192157E+00 -0.22379080E+00 -0.19096109E+00 -0.65934276E-01 -0.82048544E-01 -0.37816099E-01 0.10604029E+00 0.10615075E+00 0.81389661E-01 0.40619145E-01 0.10615075E+00 0.81389661E-01 0.40619145E-01 -0.10615075E+00 -0.81389661E-01 -0.40619145E-01 0.19143947E-01 0.39103300E-03 0.39103300E-03 -0.39103300E-03 0.25806563E-02 0.25806563E-02 0.25806563E-02 0.20153688E-01 -0.20153688E-01 -0.20153688E-01 -0.57728863E-01 -0.10649848E+00 -0.17192157E+00 -0.22379080E+00 -0.19096109E+00 -0.65934276E-01 -0.82048544E-01 -0.37816099E-01 0.10604029E+00 -0.10615075E+00 -0.81389661E-01 -0.40619145E-01 0.10615075E+00 0.81389661E-01 0.40619145E-01 0.10615075E+00 0.81389661E-01 0.40619145E-01 0.19143947E-01 -0.39103300E-03 0.39103300E-03 0.39103300E-03 0.25806563E-02 0.25806563E-02 0.25806563E-02 -0.20153688E-01 -0.20153688E-01 0.20153688E-01 -0.57728863E-01 -0.10649848E+00 -0.17192157E+00 -0.22379080E+00 -0.19096109E+00 -0.65934276E-01 -0.82048544E-01 -0.37816099E-01 0.10604029E+00 0.10615075E+00 0.81389661E-01 0.40619145E-01 -0.10615075E+00 -0.81389661E-01 -0.40619145E-01 0.10615075E+00 0.81389661E-01 0.40619145E-01 0.19143947E-01 0.39103300E-03 -0.39103300E-03 0.39103300E-03 0.25806563E-02 0.25806563E-02 0.25806563E-02 -0.20153688E-01 0.20153688E-01 -0.20153688E-01 0.44775954E-02 0.75948493E-02 0.86464675E-02 -0.11533665E-02 0.44775954E-02 0.75948493E-02 0.86464675E-02 -0.11533665E-02 0.44775954E-02 0.75948493E-02 0.86464675E-02 -0.11533665E-02 0.44775954E-02 0.75948493E-02 0.86464675E-02 -0.11533665E-02 MO 6 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.8053912 -0.96389409E-02 -0.17781964E-01 -0.28705603E-01 -0.37366166E-01 -0.31884617E-01 -0.11008992E-01 -0.13914564E-01 -0.64132098E-02 0.17983310E-01 -0.11652462E+00 -0.89343685E-01 -0.44588761E-01 -0.18258901E-01 -0.13999767E-01 -0.69868648E-02 0.16412115E+00 0.12583769E+00 0.62801825E-01 0.76330712E-02 -0.37176846E-02 -0.66911543E-03 0.49889942E-02 0.12085810E-01 0.31759623E-02 -0.13360614E-01 0.24911443E-01 -0.13498814E-02 -0.15499389E-01 -0.69432276E-01 -0.12808899E+00 -0.20677535E+00 -0.26916006E+00 -0.22967477E+00 -0.79301179E-01 -0.10023091E+00 -0.46196336E-01 0.12953935E+00 -0.84750158E-01 -0.64981046E-01 -0.32430096E-01 0.13515558E-01 0.10362872E-01 0.51717996E-02 0.14009343E+00 0.10741476E+00 0.53607492E-01 0.54983376E-01 -0.18898018E-02 0.11587674E-02 0.36067566E-02 0.32676048E-02 0.12177453E-01 -0.17504234E-02 0.29387282E-01 -0.72687689E-02 -0.21418276E-01 0.62661333E-01 0.11559792E+00 0.18661089E+00 0.24291193E+00 0.20727719E+00 0.71567833E-01 0.90456527E-01 0.41691331E-01 -0.11690684E+00 -0.87471035E-01 -0.67067242E-01 -0.33471254E-01 -0.39565741E-01 -0.30336500E-01 -0.15140040E-01 0.14281431E+00 0.10950095E+00 0.54648650E-01 -0.49621470E-01 -0.20463252E-02 -0.18948297E-02 0.37632800E-02 -0.19528773E-02 -0.13471425E-01 0.30651509E-02 0.28880442E-01 0.26191175E-02 -0.20911436E-01 0.16409884E-01 0.30273032E-01 0.48870060E-01 0.63614298E-01 0.54282196E-01 0.18742338E-01 0.23688949E-01 0.10918215E-01 -0.30615815E-01 -0.11924549E+00 -0.91429881E-01 -0.45629919E-01 -0.77912824E-02 -0.59738611E-02 -0.29813754E-02 0.16140027E+00 0.12375149E+00 0.61760667E-01 -0.12994977E-01 -0.38742080E-02 -0.66946879E-04 0.48324709E-02 -0.13400538E-01 -0.18819898E-02 0.12045886E-01 0.25418283E-01 -0.32997700E-02 -0.14992549E-01 0.48009308E-02 0.81432872E-02 0.92708447E-02 0.18997559E-02 0.34582591E-01 0.58658619E-01 0.66780765E-01 0.13684530E-01 -0.31210142E-01 -0.52938309E-01 -0.60268393E-01 -0.12350033E-01 -0.81733791E-02 -0.13863598E-01 -0.15783216E-01 -0.32342531E-02 MO 7 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.8053912 -0.74474309E-01 -0.13739056E+00 -0.22179096E+00 -0.28870593E+00 -0.24635329E+00 -0.85059872E-01 -0.10750948E+00 -0.49551022E-01 0.13894624E+00 0.13361497E+00 0.10244749E+00 0.51128476E-01 0.99095615E-02 0.75980232E-02 0.37919461E-02 0.83149717E-01 0.63753929E-01 0.31817679E-01 0.58976159E-01 0.33520723E-02 -0.48573120E-03 0.17864517E-02 -0.36770411E-03 0.10848786E-01 0.42080297E-02 0.21856993E-01 0.11310974E-01 0.29123602E-01 0.21251560E-01 0.39204978E-01 0.63288991E-01 0.82383461E-01 0.70297957E-01 0.24272195E-01 0.30678286E-01 0.14139594E-01 -0.39648898E-01 0.15500233E+00 0.11884595E+00 0.59312459E-01 0.31296915E-01 0.23996489E-01 0.11975930E-01 0.12161678E+00 0.93248035E-01 0.46537305E-01 -0.16829097E-01 0.45824182E-02 0.74461472E-03 0.39993388E-02 0.10702071E-01 -0.51441884E-03 -0.14379252E-01 0.14691419E-01 0.73269772E-02 0.25139605E-01 -0.25012937E-02 -0.46143984E-02 -0.74490698E-02 -0.96964755E-02 -0.82740201E-02 -0.28568203E-02 -0.36108127E-02 -0.16642203E-02 0.46666474E-02 0.16253705E+00 0.12462310E+00 0.62195660E-01 0.40841906E-01 0.31314983E-01 0.15628371E-01 0.11408206E+00 0.87470888E-01 0.43654104E-01 0.19807729E-02 0.50158666E-02 0.12937075E-02 0.35658904E-02 -0.14342847E-01 0.40977199E-02 0.10738476E-01 0.16094973E-01 0.55489539E-02 0.23736051E-01 0.55724043E-01 0.10279998E+00 0.16595104E+00 0.21601895E+00 0.18432936E+00 0.63644498E-01 0.80442008E-01 0.37075648E-01 -0.10396399E+00 0.14114969E+00 0.10822463E+00 0.54011676E-01 0.62229259E-01 0.47713449E-01 0.23812355E-01 0.90684438E-01 0.69531075E-01 0.34700880E-01 -0.44127835E-01 0.37855206E-02 0.25240534E-02 0.22199001E-02 0.40084805E-02 -0.14432087E-01 -0.56725327E-03 0.20453439E-01 0.15649572E-02 0.27720048E-01 0.37093910E-01 0.62918292E-01 0.71630251E-01 0.14678273E-01 -0.10584904E-01 -0.17954001E-01 -0.20439996E-01 -0.41885076E-02 0.12458358E-02 0.21131733E-02 0.24057731E-02 0.49298440E-03 -0.27754841E-01 -0.47077464E-01 -0.53596028E-01 -0.10982750E-01 MO 8 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.8053912 -0.34536587E-01 -0.63713259E-01 -0.10285295E+00 -0.13388399E+00 -0.11424345E+00 -0.39445517E-01 -0.49856260E-01 -0.22978705E-01 0.64434686E-01 -0.54903460E-01 -0.42096491E-01 -0.21009099E-01 0.18442817E+00 0.14140782E+00 0.70572415E-01 -0.24407188E-01 -0.18713884E-01 -0.93395396E-02 0.27349501E-01 -0.20711301E-02 0.53538302E-02 -0.11250220E-02 0.10425820E-01 -0.11274611E-01 0.76606938E-02 0.10691756E-02 0.31139861E-01 -0.33220531E-02 0.39492253E-01 0.72855495E-01 0.11761136E+00 0.15309504E+00 0.13063628E+00 0.45105567E-01 0.57010151E-01 0.26275926E-01 -0.73680441E-01 -0.56894875E-01 -0.43623381E-01 -0.21771125E-01 0.18243676E+00 0.13988093E+00 0.69810389E-01 0.53410106E-02 0.40951482E-02 0.20437659E-02 -0.31273890E-01 -0.21856899E-02 0.52392704E-02 0.58629661E-03 -0.11388072E-01 0.10312360E-01 -0.67136329E-02 -0.44722640E-02 0.31510818E-01 -0.29510959E-02 0.53846158E-01 0.99335647E-01 0.16035853E+00 0.20873916E+00 0.17811751E+00 0.61499695E-01 0.77731134E-01 0.35826208E-01 -0.10046043E+00 -0.19387201E-01 -0.14864876E-01 -0.74186149E-02 0.17666870E+00 0.13545835E+00 0.67603210E-01 -0.32166663E-01 -0.24663357E-01 -0.12308744E-01 -0.42640739E-01 -0.27993513E-04 0.49074524E-02 -0.15713997E-02 -0.67356325E-02 0.75252335E-02 -0.11410071E-01 0.25145963E-02 0.32585282E-01 -0.99379563E-02 -0.58801824E-01 -0.10847788E+00 -0.17511694E+00 -0.22795022E+00 -0.19451034E+00 -0.67159745E-01 -0.84885025E-01 -0.39123430E-01 0.10970618E+00 -0.17395786E-01 -0.13337985E-01 -0.66565894E-02 0.17467728E+00 0.13393146E+00 0.66841185E-01 0.13100486E-01 0.10044622E-01 0.50129702E-02 0.46565127E-01 0.86566212E-04 0.47928927E-02 0.10326744E-02 0.76978840E-02 -0.65629820E-02 0.10463011E-01 -0.59176848E-02 0.32956239E-01 -0.10308913E-01 0.17201865E-01 0.29177619E-01 0.33217688E-01 0.68068770E-02 -0.19670166E-01 -0.33364325E-01 -0.37984105E-01 -0.77835980E-02 -0.26819510E-01 -0.45490966E-01 -0.51789856E-01 -0.10612635E-01 0.29287812E-01 0.49677672E-01 0.56556273E-01 0.11589356E-01 MO 9 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.7096543 -0.16783389E-01 -0.30962076E-01 -0.49982391E-01 -0.65062221E-01 -0.55517711E-01 -0.19168932E-01 -0.23164280E-01 -0.10676395E-01 0.29937727E-01 0.17449554E+00 0.13379211E+00 0.66771640E-01 0.17449554E+00 0.13379211E+00 0.66771640E-01 0.17449554E+00 0.13379211E+00 0.66771640E-01 0.19011742E-01 0.65481182E-02 0.65481182E-02 0.65481182E-02 0.30838012E-02 0.30838012E-02 0.30838012E-02 -0.23251198E-02 -0.23251198E-02 -0.23251198E-02 -0.16783389E-01 -0.30962076E-01 -0.49982391E-01 -0.65062221E-01 -0.55517711E-01 -0.19168932E-01 -0.23164280E-01 -0.10676395E-01 0.29937727E-01 -0.17449554E+00 -0.13379211E+00 -0.66771640E-01 -0.17449554E+00 -0.13379211E+00 -0.66771640E-01 0.17449554E+00 0.13379211E+00 0.66771640E-01 0.19011742E-01 -0.65481182E-02 -0.65481182E-02 0.65481182E-02 0.30838012E-02 0.30838012E-02 0.30838012E-02 -0.23251198E-02 0.23251198E-02 0.23251198E-02 -0.16783389E-01 -0.30962076E-01 -0.49982391E-01 -0.65062221E-01 -0.55517711E-01 -0.19168932E-01 -0.23164280E-01 -0.10676395E-01 0.29937727E-01 0.17449554E+00 0.13379211E+00 0.66771640E-01 -0.17449554E+00 -0.13379211E+00 -0.66771640E-01 -0.17449554E+00 -0.13379211E+00 -0.66771640E-01 0.19011742E-01 0.65481182E-02 -0.65481182E-02 -0.65481182E-02 0.30838012E-02 0.30838012E-02 0.30838012E-02 0.23251198E-02 0.23251198E-02 -0.23251198E-02 -0.16783389E-01 -0.30962076E-01 -0.49982391E-01 -0.65062221E-01 -0.55517711E-01 -0.19168932E-01 -0.23164280E-01 -0.10676395E-01 0.29937727E-01 -0.17449554E+00 -0.13379211E+00 -0.66771640E-01 0.17449554E+00 0.13379211E+00 0.66771640E-01 -0.17449554E+00 -0.13379211E+00 -0.66771640E-01 0.19011742E-01 -0.65481182E-02 0.65481182E-02 -0.65481182E-02 0.30838012E-02 0.30838012E-02 0.30838012E-02 0.23251198E-02 -0.23251198E-02 0.23251198E-02 0.31940020E-01 0.54176319E-01 0.61677824E-01 0.14962780E-01 0.31940020E-01 0.54176319E-01 0.61677824E-01 0.14962780E-01 0.31940020E-01 0.54176319E-01 0.61677824E-01 0.14962780E-01 0.31940020E-01 0.54176319E-01 0.61677824E-01 0.14962780E-01 MO 10 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.5340742 0.20525814E-02 0.37866118E-02 0.61127655E-02 0.79570044E-02 0.67897263E-02 0.23443293E-02 0.31345534E-02 0.14447128E-02 -0.40511255E-02 0.25602753E+00 0.19630567E+00 0.97970288E-01 0.24662185E+00 0.18909399E+00 0.94371155E-01 -0.93560206E-01 -0.71736032E-01 -0.35801308E-01 -0.11031654E-01 0.15958983E-01 0.15481969E-01 -0.17705431E-02 -0.12066960E-01 -0.11144779E-01 0.22208400E-01 -0.39594607E-02 0.22729481E-01 0.23467402E-01 0.20410881E-02 0.37654090E-02 0.60785376E-02 0.79124499E-02 0.67517078E-02 0.23312025E-02 0.31170018E-02 0.14366233E-02 -0.40284416E-02 -0.24618151E+00 -0.18875637E+00 -0.94202657E-01 -0.25558719E+00 -0.19596805E+00 -0.97801791E-01 -0.94970192E-01 -0.72817119E-01 -0.36340846E-01 -0.10969883E-01 -0.15442982E-01 -0.15919996E-01 -0.18587063E-02 -0.11174596E-01 -0.12096777E-01 0.22273652E-01 -0.40890114E-02 -0.23413925E-01 -0.22676004E-01 -0.21025775E-02 -0.38788450E-02 -0.62616585E-02 -0.81508188E-02 -0.69551085E-02 -0.24014318E-02 -0.32109040E-02 -0.14799027E-02 0.41498016E-02 -0.25372500E+00 -0.19454024E+00 -0.97089213E-01 0.25275535E+00 0.19379677E+00 0.96718172E-01 -0.87426704E-01 -0.67033251E-01 -0.33454290E-01 0.11300360E-01 -0.15914659E-01 0.15865483E-01 -0.13870295E-02 0.11523699E-01 0.11428629E-01 -0.21924550E-01 -0.33959091E-02 0.23293032E-01 -0.23369106E-01 -0.19910919E-02 -0.36731758E-02 -0.59296447E-02 -0.77186355E-02 -0.65863257E-02 -0.22741000E-02 -0.30406512E-02 -0.14014334E-02 0.39297655E-02 0.24848404E+00 0.19052180E+00 0.95083733E-01 -0.24945369E+00 -0.19126527E+00 -0.95454774E-01 -0.10110369E+00 -0.77519900E-01 -0.38687863E-01 0.10701177E-01 0.15487306E-01 -0.15536482E-01 -0.22422199E-02 0.11717858E-01 0.11812927E-01 -0.22557503E-01 -0.46525630E-02 -0.22850374E-01 0.22774300E-01 0.25401252E-01 0.43085330E-01 0.49051126E-01 0.15391510E-01 0.25259019E-01 0.42844078E-01 0.48776468E-01 0.15305326E-01 -0.26019968E-01 -0.44134790E-01 -0.50245899E-01 -0.15766412E-01 -0.24640303E-01 -0.41794618E-01 -0.47581695E-01 -0.14930424E-01 MO 11 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.5340742 0.28913561E-02 0.53339874E-02 0.86107096E-02 0.11208585E-01 0.95643062E-02 0.33023251E-02 0.44154694E-02 0.20350858E-02 -0.57065930E-02 0.10575234E+00 0.81084189E-01 0.40466693E-01 0.11524226E+00 0.88360457E-01 0.44098061E-01 0.35526634E+00 0.27239570E+00 0.13594454E+00 -0.15539672E-01 0.95531729E-02 0.10034459E-01 0.22207407E-01 0.79935715E-02 0.70631316E-02 -0.16470051E-01 0.32634712E-01 0.13803652E-01 0.13059122E-01 -0.28979513E-02 -0.53461544E-02 -0.86303508E-02 -0.11234152E-01 -0.95861226E-02 -0.33098578E-02 -0.44255412E-02 -0.20397279E-02 0.57196099E-02 0.10656145E+00 0.81704558E-01 0.40776301E-01 0.11605136E+00 0.88980825E-01 0.44407668E-01 -0.35496261E+00 -0.27216281E+00 -0.13582832E+00 0.15575118E-01 0.96037642E-02 0.10085050E-01 -0.22201560E-01 -0.79561273E-02 -0.70256874E-02 0.16398386E-01 -0.32621745E-01 0.13877993E-01 0.13133463E-01 0.59539660E-04 0.10983905E-03 0.17731428E-03 0.23081051E-03 0.19695102E-03 0.68002455E-04 0.90924652E-04 0.41907089E-04 -0.11751185E-03 -0.24165329E+00 -0.18528441E+00 -0.92469909E-01 -0.24677195E+00 -0.18920908E+00 -0.94428593E-01 -0.67478710E-02 -0.51738395E-02 -0.25821085E-02 -0.31999751E-03 -0.12169294E-01 -0.12601449E-01 -0.42850123E-03 0.24071035E-01 -0.23816661E-01 -0.28347844E-03 -0.62747080E-03 -0.19458531E-01 -0.18860812E-01 -0.52944403E-04 -0.97672085E-04 -0.15767303E-03 -0.20524344E-03 -0.17513460E-03 -0.60469767E-04 -0.80852853E-04 -0.37265006E-04 0.10449497E-03 -0.24246239E+00 -0.18590478E+00 -0.92779516E-01 -0.24596285E+00 -0.18858871E+00 -0.94118985E-01 0.70516099E-02 0.54067272E-02 0.26983358E-02 0.28455113E-03 -0.12219886E-01 -0.12550858E-01 0.43434826E-03 -0.24108479E-01 0.23779216E-01 0.35514290E-03 0.64043758E-03 -0.19384190E-01 -0.18935153E-01 0.35781317E-01 0.60691885E-01 0.69095566E-01 0.21681156E-01 -0.35862935E-01 -0.60830325E-01 -0.69253175E-01 -0.21730611E-01 0.73681946E-03 0.12497853E-02 0.14228363E-02 0.44646477E-03 -0.65520136E-03 -0.11113455E-02 -0.12652276E-02 -0.39700950E-03 MO 12 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.5340742 0.16654145E-04 0.30723645E-04 0.49597490E-04 0.64561195E-04 0.55090184E-04 0.19021317E-04 0.25433003E-04 0.11722048E-04 -0.32869845E-04 0.24147428E+00 0.18514716E+00 0.92401409E-01 -0.24686103E+00 -0.18927738E+00 -0.94462677E-01 0.87059979E-02 0.66752070E-02 0.33313961E-02 -0.89508152E-04 0.12270629E-01 -0.12495553E-01 0.46566292E-03 -0.23569602E-01 0.24309276E-01 -0.74781523E-03 0.71045894E-03 -0.19340021E-01 0.18972266E-01 -0.95629266E-04 -0.17641732E-03 -0.28479226E-03 -0.37071490E-03 -0.31633170E-03 -0.10922173E-03 -0.14603808E-03 -0.67308819E-04 0.18874095E-03 0.25116290E+00 0.19257578E+00 0.96108812E-01 -0.23717240E+00 -0.18184876E+00 -0.90755274E-01 -0.50688672E-02 -0.38864859E-02 -0.19396288E-02 0.51396208E-03 0.12876436E-01 -0.11889746E-01 -0.39564740E-03 0.24017978E-01 -0.23860900E-01 -0.11033307E-03 -0.55518772E-03 -0.18449821E-01 0.19862465E-01 -0.28546331E-02 -0.52662407E-02 -0.85013454E-02 -0.11066226E-01 -0.94428305E-02 -0.32603824E-02 -0.43593888E-02 -0.20092383E-02 0.56341139E-02 -0.11077362E+00 -0.84934183E-01 -0.42388110E-01 0.10130063E+00 0.77670895E-01 0.38763220E-01 0.35686765E+00 0.27362348E+00 0.13655729E+00 0.15342303E-01 -0.97546139E-02 0.92741862E-02 0.22235402E-01 -0.72680448E-02 -0.81968249E-02 0.16860266E-01 0.32699856E-01 0.12649376E-01 -0.13392579E-01 0.29336083E-02 0.54119344E-02 0.87365402E-02 0.11372379E-01 0.97040720E-02 0.33505829E-02 0.44799939E-02 0.20648251E-02 -0.57899850E-02 -0.12046224E+00 -0.92362804E-01 -0.46095513E-01 0.11098925E+00 0.85099516E-01 0.42470623E-01 -0.35323052E+00 -0.27083476E+00 -0.13516553E+00 -0.15766757E-01 -0.10360421E-01 0.98799933E-02 -0.22165387E-01 0.68196684E-02 0.77484485E-02 -0.16002118E-01 -0.32544585E-01 0.13539576E-01 -0.14282778E-01 0.20609956E-03 0.34958387E-03 0.39798888E-03 0.12488296E-03 -0.11834381E-02 -0.20073351E-02 -0.22852800E-02 -0.71708670E-03 -0.35326860E-01 -0.59921041E-01 -0.68217988E-01 -0.21405784E-01 0.36304199E-01 0.61578793E-01 0.70105279E-01 0.21997988E-01 MO 13 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.3317291 -0.36495206E-14 -0.67326530E-14 -0.10868589E-13 -0.14147674E-13 -0.12072236E-13 -0.41682530E-14 -0.18851650E-14 -0.86887083E-15 0.24364045E-14 -0.63288358E-01 -0.48525499E-01 -0.24217625E-01 -0.24830844E+00 -0.19038716E+00 -0.95016539E-01 0.31159680E+00 0.23891266E+00 0.11923416E+00 0.65142744E-13 -0.59376216E-02 -0.23295936E-01 0.29233558E-01 -0.74388283E-03 -0.29185840E-02 0.36624668E-02 0.38365817E-01 -0.30573344E-01 -0.77924727E-02 -0.20221178E-14 -0.37304124E-14 -0.60220424E-14 -0.78389098E-14 -0.66889560E-14 -0.23095357E-14 -0.88316400E-14 -0.40704948E-14 0.11414092E-13 0.63288358E-01 0.48525499E-01 0.24217625E-01 0.24830844E+00 0.19038716E+00 0.95016539E-01 0.31159680E+00 0.23891266E+00 0.11923416E+00 0.34430177E-13 0.59376216E-02 0.23295936E-01 0.29233558E-01 -0.74388283E-03 -0.29185840E-02 0.36624668E-02 0.38365817E-01 0.30573344E-01 0.77924727E-02 0.57685046E-16 0.10641765E-15 0.17179108E-15 0.22362094E-15 0.19081615E-15 0.65884232E-16 -0.14807045E-13 -0.68245535E-14 0.19136760E-13 -0.63288358E-01 -0.48525499E-01 -0.24217625E-01 0.24830844E+00 0.19038716E+00 0.95016539E-01 -0.31159680E+00 -0.23891266E+00 -0.11923416E+00 0.55760697E-14 -0.59376216E-02 0.23295936E-01 -0.29233558E-01 -0.74388283E-03 -0.29185840E-02 0.36624668E-02 -0.38365817E-01 0.30573344E-01 -0.77924727E-02 -0.15149400E-14 -0.27947685E-14 -0.45116230E-14 -0.58727926E-14 -0.50112645E-14 -0.17302692E-14 -0.70233960E-14 -0.32370768E-14 0.90771012E-14 0.63288358E-01 0.48525499E-01 0.24217625E-01 -0.24830844E+00 -0.19038716E+00 -0.95016539E-01 -0.31159680E+00 -0.23891266E+00 -0.11923416E+00 0.36183546E-13 0.59376216E-02 -0.23295936E-01 -0.29233558E-01 -0.74388283E-03 -0.29185840E-02 0.36624668E-02 -0.38365817E-01 -0.30573344E-01 0.77924727E-02 -0.55690635E-15 -0.94461857E-15 -0.10754149E-14 -0.25677310E-13 -0.97427039E-15 -0.16525470E-14 -0.18813663E-14 -0.37625618E-13 -0.24248538E-14 -0.41130109E-14 -0.46825176E-14 -0.46528245E-13 -0.12681288E-14 -0.21509864E-14 -0.24488220E-14 -0.35763604E-13 MO 14 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.3317291 0.39348459E-14 0.72590224E-14 0.11718313E-13 0.15253762E-13 0.13016062E-13 0.44941335E-14 0.47891249E-13 0.22073033E-13 -0.61895088E-13 0.32326144E+00 0.24785637E+00 0.12369770E+00 -0.21644005E+00 -0.16595250E+00 -0.82821928E-01 -0.10682140E+00 -0.81903871E-01 -0.40875772E-01 -0.34844584E-13 0.30327918E-01 -0.20306090E-01 -0.10021828E-01 0.37995714E-02 -0.25440071E-02 -0.12555643E-02 -0.13152542E-01 -0.26649501E-01 0.39802043E-01 0.38265503E-14 0.70592381E-14 0.11395799E-13 0.14833944E-13 0.12657832E-13 0.43704451E-14 0.48856706E-13 0.22518011E-13 -0.63142854E-13 -0.32326144E+00 -0.24785637E+00 -0.12369770E+00 0.21644005E+00 0.16595250E+00 0.82821928E-01 -0.10682140E+00 -0.81903871E-01 -0.40875772E-01 -0.33404032E-13 -0.30327918E-01 0.20306090E-01 -0.10021828E-01 0.37995714E-02 -0.25440071E-02 -0.12555643E-02 -0.13152542E-01 0.26649501E-01 -0.39802043E-01 0.31654048E-14 0.58395537E-14 0.94268504E-14 0.12270958E-13 0.10470831E-13 0.36153263E-14 0.47551396E-13 0.21916395E-13 -0.61455859E-13 0.32326144E+00 0.24785637E+00 0.12369770E+00 0.21644005E+00 0.16595250E+00 0.82821928E-01 0.10682140E+00 0.81903871E-01 0.40875772E-01 -0.33164406E-13 0.30327918E-01 0.20306090E-01 0.10021828E-01 0.37995714E-02 -0.25440071E-02 -0.12555643E-02 0.13152542E-01 0.26649501E-01 0.39802043E-01 0.37820742E-14 0.69771885E-14 0.11263346E-13 0.14661529E-13 0.12510709E-13 0.43196473E-14 0.44902243E-13 0.20695403E-13 -0.58032070E-13 -0.32326144E+00 -0.24785637E+00 -0.12369770E+00 -0.21644005E+00 -0.16595250E+00 -0.82821928E-01 0.10682140E+00 0.81903871E-01 0.40875772E-01 -0.44495561E-13 -0.30327918E-01 -0.20306090E-01 0.10021828E-01 0.37995714E-02 -0.25440071E-02 -0.12555643E-02 0.13152542E-01 -0.26649501E-01 -0.39802043E-01 -0.19063144E-14 -0.32334701E-14 -0.36811914E-14 0.42081563E-13 -0.12518890E-14 -0.21234406E-14 -0.24174621E-14 0.41194256E-13 -0.79033825E-15 -0.13405633E-14 -0.15261839E-14 0.42572468E-13 -0.11195100E-14 -0.18989009E-14 -0.21618315E-14 0.38501656E-13 END DATA THE RHF ENERGY = -153.597882732801 THE VIRIAL(-V/T)= 2.00054039 avogadrolibs-1.93.0/avogadro/qtplugins/qtaim/test/hco2.wfn000066400000000000000000000571401360735163600235720ustar00rootroot00000000000000Formate anion 6-31++G** GAUSSIAN 12 MOL ORBITALS 104 PRIMITIVES 4 NUCLEI C 1 (CENTRE 1) 0.00000000 0.00000000 0.57942804 CHARGE = 6.0 O 2 (CENTRE 2) 0.00000000 2.11695431 -0.38686460 CHARGE = 8.0 O 3 (CENTRE 3) 0.00000000 -2.11695431 -0.38686460 CHARGE = 8.0 H 4 (CENTRE 4) 0.00000000 0.00000000 2.71326541 CHARGE = 1.0 CENTRE ASSIGNMENTS 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 CENTRE ASSIGNMENTS 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 CENTRE ASSIGNMENTS 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 CENTRE ASSIGNMENTS 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 CENTRE ASSIGNMENTS 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 CENTRE ASSIGNMENTS 4 4 4 4 TYPE ASSIGNMENTS 1 1 1 1 1 1 1 1 1 2 2 2 3 3 3 4 4 4 1 2 TYPE ASSIGNMENTS 3 4 1 2 3 4 5 6 7 8 9 10 1 1 1 1 1 1 1 1 TYPE ASSIGNMENTS 1 2 2 2 3 3 3 4 4 4 1 2 3 4 1 2 3 4 5 6 TYPE ASSIGNMENTS 7 8 9 10 1 1 1 1 1 1 1 1 1 2 2 2 3 3 3 4 TYPE ASSIGNMENTS 4 4 1 2 3 4 1 2 3 4 5 6 7 8 9 10 1 1 1 1 TYPE ASSIGNMENTS 1 2 3 4 EXPONENTS 0.3047525E+04 0.4573695E+03 0.1039487E+03 0.2921016E+02 0.9286663E+01 EXPONENTS 0.3163927E+01 0.7868272E+01 0.1881289E+01 0.5442493E+00 0.7868272E+01 EXPONENTS 0.1881289E+01 0.5442493E+00 0.7868272E+01 0.1881289E+01 0.5442493E+00 EXPONENTS 0.7868272E+01 0.1881289E+01 0.5442493E+00 0.1687145E+00 0.1687145E+00 EXPONENTS 0.1687145E+00 0.1687145E+00 0.4380000E-01 0.4380000E-01 0.4380000E-01 EXPONENTS 0.4380000E-01 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.8000000E+00 EXPONENTS 0.8000000E+00 0.8000000E+00 0.5484672E+04 0.8252349E+03 0.1880470E+03 EXPONENTS 0.5296450E+02 0.1689757E+02 0.5799635E+01 0.1553962E+02 0.3599934E+01 EXPONENTS 0.1013762E+01 0.1553962E+02 0.3599934E+01 0.1013762E+01 0.1553962E+02 EXPONENTS 0.3599934E+01 0.1013762E+01 0.1553962E+02 0.3599934E+01 0.1013762E+01 EXPONENTS 0.2700058E+00 0.2700058E+00 0.2700058E+00 0.2700058E+00 0.8450000E-01 EXPONENTS 0.8450000E-01 0.8450000E-01 0.8450000E-01 0.8000000E+00 0.8000000E+00 EXPONENTS 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.5484672E+04 EXPONENTS 0.8252349E+03 0.1880470E+03 0.5296450E+02 0.1689757E+02 0.5799635E+01 EXPONENTS 0.1553962E+02 0.3599934E+01 0.1013762E+01 0.1553962E+02 0.3599934E+01 EXPONENTS 0.1013762E+01 0.1553962E+02 0.3599934E+01 0.1013762E+01 0.1553962E+02 EXPONENTS 0.3599934E+01 0.1013762E+01 0.2700058E+00 0.2700058E+00 0.2700058E+00 EXPONENTS 0.2700058E+00 0.8450000E-01 0.8450000E-01 0.8450000E-01 0.8450000E-01 EXPONENTS 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.8000000E+00 0.8000000E+00 EXPONENTS 0.8000000E+00 0.1873114E+02 0.2825394E+01 0.6401217E+00 0.1612778E+00 EXPONENTS 0.3600000E-01 0.1100000E+01 0.1100000E+01 0.1100000E+01 MO 1 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -20.2999736 -0.12188442E-13 -0.22485295E-13 -0.36298238E-13 -0.47249521E-13 -0.40318102E-13 -0.13920872E-13 -0.41960794E-12 -0.19339692E-12 0.54230514E-12 -0.39273770E-15 -0.30112636E-15 -0.15028316E-15 0.29917662E-03 0.22938966E-03 0.11448152E-03 -0.63478413E-13 -0.48671221E-13 -0.24290350E-13 0.22529127E-12 0.13071387E-15 0.10185809E-03 -0.62728986E-13 0.10023463E-12 -0.29802626E-16 0.15830967E-04 -0.98332270E-14 -0.24693743E-12 -0.14752123E-11 -0.25765489E-12 0.18297189E-14 -0.66615675E-15 0.54705851E-03 0.58494882E+00 0.10766181E+01 0.17421713E+01 0.22901329E+01 0.19642337E+01 0.67160487E+00 -0.91594649E-02 -0.40869354E-02 0.12068775E-01 0.13518265E-14 0.10415094E-14 0.45727874E-15 -0.28829800E-02 -0.22211807E-02 -0.97521795E-03 0.12404677E-02 0.95571350E-03 0.41960970E-03 0.87774840E-03 -0.32212280E-15 0.15512643E-03 -0.10153969E-03 -0.16545660E-03 0.61506469E-16 -0.37903054E-05 -0.37038128E-05 -0.33187344E-02 -0.31410279E-02 -0.33038069E-02 0.74824127E-15 -0.24267011E-15 0.10744751E-03 -0.58494882E+00 -0.10766181E+01 -0.17421713E+01 -0.22901329E+01 -0.19642337E+01 -0.67160487E+00 0.91594649E-02 0.40869354E-02 -0.12068775E-01 0.12737899E-14 0.98138644E-15 0.43088151E-15 -0.28829800E-02 -0.22211807E-02 -0.97521795E-03 -0.12404677E-02 -0.95571350E-03 -0.41960970E-03 -0.87774839E-03 -0.13253444E-15 0.15512643E-03 0.10153969E-03 0.16545660E-03 0.23148336E-16 -0.37903054E-05 0.37038128E-05 0.33187344E-02 0.31410279E-02 0.33038069E-02 -0.14848270E-16 -0.68315079E-15 0.10744751E-03 -0.34702469E-13 -0.58861956E-13 -0.67012256E-13 0.22566017E-13 -0.31113147E-14 0.92067613E-15 -0.20220193E-03 0.19169822E-12 MO 2 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -20.2999400 -0.76032131E-05 -0.14026444E-04 -0.22643029E-04 -0.29474496E-04 -0.25150641E-04 -0.86839118E-05 -0.25352583E-03 -0.11684982E-03 0.32765910E-03 -0.46458861E-15 -0.35621708E-15 -0.17777729E-15 -0.49717214E-12 -0.38120007E-12 -0.19024555E-12 -0.36505553E-04 -0.27990143E-04 -0.13969043E-04 0.13379545E-03 0.15410457E-15 -0.16985819E-12 -0.37260932E-04 0.59582199E-04 -0.33013166E-17 -0.26264395E-13 -0.59799736E-05 -0.14837160E-03 -0.88805571E-03 -0.15585303E-03 0.91654207E-15 -0.56688934E-15 -0.90845593E-12 0.58494329E+00 0.10766079E+01 0.17421548E+01 0.22901113E+01 0.19642151E+01 0.67159852E+00 -0.91359783E-02 -0.40764557E-02 0.12037828E-01 -0.69384055E-15 -0.53456674E-15 -0.23470359E-15 -0.28671447E-02 -0.22089804E-02 -0.96986139E-03 0.13496592E-02 0.10398397E-02 0.45654563E-03 0.97103205E-03 0.32365768E-16 0.12453228E-03 -0.14888987E-04 -0.14163251E-03 -0.51015398E-17 -0.58826214E-06 0.49234601E-06 -0.34141266E-02 -0.32557299E-02 -0.31636818E-02 0.85810319E-15 -0.21994607E-15 -0.26326172E-03 0.58494329E+00 0.10766079E+01 0.17421548E+01 0.22901113E+01 0.19642151E+01 0.67159852E+00 -0.91359783E-02 -0.40764557E-02 0.12037828E-01 -0.93713542E-16 -0.72201232E-16 -0.31700230E-16 0.28671447E-02 0.22089804E-02 0.96986139E-03 0.13496592E-02 0.10398397E-02 0.45654563E-03 0.97103205E-03 -0.11050101E-15 -0.12453228E-03 -0.14888987E-04 -0.14163251E-03 -0.29425795E-17 0.58826216E-06 0.49234600E-06 -0.34141266E-02 -0.32557299E-02 -0.31636818E-02 -0.53710110E-15 0.19194431E-15 0.26326172E-03 -0.20738602E-04 -0.35176594E-04 -0.40047309E-04 0.13445219E-04 -0.14915103E-05 -0.62765065E-15 0.33685368E-12 0.11682620E-03 MO 3 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -11.1259858 0.53422217E+00 0.98553558E+00 0.15909600E+01 0.20709572E+01 0.17671515E+01 0.61015496E+00 -0.10842516E-01 -0.49973057E-02 0.14012967E-01 -0.26399094E-15 -0.20241151E-15 -0.10101753E-15 -0.67153739E-15 -0.51489227E-15 -0.25696733E-15 -0.51904345E-03 -0.39796960E-03 -0.19861472E-03 -0.24364266E-02 -0.44618693E-16 -0.11138516E-14 -0.14900667E-04 -0.34405146E-03 0.49907391E-17 -0.72656510E-16 -0.36041018E-04 -0.22405914E-02 -0.17736819E-03 -0.13078581E-02 0.25464249E-16 0.80735526E-16 -0.22785222E-14 -0.21118904E-03 -0.38870057E-03 -0.62899089E-03 -0.82682613E-03 -0.70916397E-03 -0.24247521E-03 -0.32654787E-03 -0.14570502E-03 0.43026889E-03 0.44005858E-15 0.33904142E-15 0.14885744E-15 -0.59465254E-03 -0.45814773E-03 -0.20115153E-03 0.28425497E-03 0.21900313E-03 0.96154171E-04 -0.39057537E-03 0.90780662E-16 0.19698398E-03 -0.14874850E-03 0.51083855E-03 -0.15573357E-16 -0.11842933E-03 0.10543451E-03 0.41231631E-03 0.62289754E-04 0.92118237E-04 -0.21381963E-15 0.15794712E-15 0.36723638E-03 -0.21118904E-03 -0.38870057E-03 -0.62899089E-03 -0.82682613E-03 -0.70916397E-03 -0.24247521E-03 -0.32654787E-03 -0.14570502E-03 0.43026889E-03 -0.56970734E-15 -0.43892879E-15 -0.19271338E-15 0.59465254E-03 0.45814773E-03 0.20115153E-03 0.28425497E-03 0.21900313E-03 0.96154171E-04 -0.39057537E-03 0.88802174E-16 -0.19698398E-03 -0.14874850E-03 0.51083855E-03 -0.16841347E-16 0.11842933E-03 0.10543451E-03 0.41231631E-03 0.62289754E-04 0.92118237E-04 0.85807874E-15 0.14026940E-16 -0.36723638E-03 -0.11890413E-04 -0.20168390E-04 -0.22960999E-04 0.23697920E-03 0.11546874E-03 0.43195428E-15 0.21925556E-14 0.50274602E-03 MO 4 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -1.1740934 -0.73231042E-01 -0.13509697E+00 -0.21808840E+00 -0.28388630E+00 -0.24224069E+00 -0.83639890E-01 -0.10522870E+00 -0.48499814E-01 0.13599854E+00 -0.28727776E-16 -0.22026636E-16 -0.10992835E-16 0.12100552E-13 0.92779359E-14 0.46303402E-14 -0.11901634E+00 -0.91254183E-01 -0.45542233E-01 0.10549147E-01 0.31762539E-16 -0.27780100E-14 0.49219789E-02 0.20754759E-02 0.25998815E-17 -0.53719651E-15 0.17045827E-03 -0.24548666E-01 0.31766034E-01 -0.17348874E-01 0.21249983E-15 0.68948723E-16 0.22101938E-15 -0.11052937E+00 -0.20343305E+00 -0.32919307E+00 -0.43273351E+00 -0.37115301E+00 -0.12690352E+00 -0.18013184E+00 -0.80374477E-01 0.23734691E+00 0.14708424E-14 0.11332048E-14 0.49753794E-15 -0.29446967E+00 -0.22687301E+00 -0.99609470E-01 0.11368823E+00 0.87590655E-01 0.38457016E-01 0.72481314E-01 0.23669280E-15 -0.12000654E-01 0.36696488E-02 -0.63902347E-03 -0.48889586E-16 0.13084694E-03 -0.35384531E-03 -0.10010288E-02 0.15647882E-01 -0.15052629E-02 -0.87594485E-16 -0.29313373E-17 -0.12142530E-01 -0.11052937E+00 -0.20343305E+00 -0.32919307E+00 -0.43273351E+00 -0.37115301E+00 -0.12690352E+00 -0.18013184E+00 -0.80374477E-01 0.23734691E+00 -0.15949994E-14 -0.12288610E-14 -0.53953618E-15 0.29446967E+00 0.22687301E+00 0.99609470E-01 0.11368823E+00 0.87590655E-01 0.38457016E-01 0.72481314E-01 -0.23399000E-15 0.12000654E-01 0.36696488E-02 -0.63902347E-03 0.27944600E-16 -0.13084694E-03 -0.35384531E-03 -0.10010288E-02 0.15647882E-01 -0.15052629E-02 -0.32611019E-16 -0.13048552E-16 0.12142530E-01 0.80895605E-02 0.13721426E-01 0.15621358E-01 -0.20758061E-02 -0.74912400E-03 -0.40079127E-16 0.88502528E-16 -0.12462681E-01 MO 5 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -1.0744921 0.18692576E-14 0.34484153E-14 0.55668115E-14 0.72463345E-14 0.61833103E-14 0.21349485E-14 0.31631417E-14 0.14578891E-14 -0.40880733E-14 0.85863809E-15 0.65834923E-15 0.32856241E-15 0.34495054E+00 0.26448620E+00 0.13199715E+00 0.24759331E-14 0.18983885E-14 0.94742889E-15 0.21014382E-14 0.12892468E-15 -0.41275671E-02 -0.69889242E-15 0.22560192E-15 0.30391526E-16 0.26353774E-03 -0.17884285E-15 0.21133158E-14 0.17535656E-14 0.21051693E-14 -0.33941281E-15 -0.21678398E-15 -0.64772949E-01 -0.12539442E+00 -0.23079267E+00 -0.37346611E+00 -0.49093165E+00 -0.42106922E+00 -0.14397072E+00 -0.20379474E+00 -0.90932815E-01 0.26852582E+00 0.25676757E-14 0.19782557E-14 0.86856081E-15 -0.21694570E+00 -0.16714497E+00 -0.73385643E-01 0.14375607E+00 0.11075630E+00 0.48627981E-01 0.86738391E-01 0.63864588E-16 -0.70857096E-02 0.61101790E-02 0.22488619E-02 -0.43160215E-16 -0.66559843E-03 0.24865111E-03 -0.19514481E-02 0.67320129E-02 0.27753057E-02 -0.88513393E-16 0.19930271E-15 -0.14003368E-01 0.12539442E+00 0.23079267E+00 0.37346611E+00 0.49093165E+00 0.42106922E+00 0.14397072E+00 0.20379474E+00 0.90932815E-01 -0.26852582E+00 -0.28628612E-15 -0.22056802E-15 -0.96841242E-16 -0.21694570E+00 -0.16714497E+00 -0.73385643E-01 -0.14375607E+00 -0.11075630E+00 -0.48627981E-01 -0.86738391E-01 -0.13876243E-15 -0.70857096E-02 -0.61101790E-02 -0.22488619E-02 -0.41652027E-16 -0.66559843E-03 -0.24865111E-03 0.19514481E-02 -0.67320129E-02 -0.27753057E-02 -0.46396439E-15 -0.20076890E-15 -0.14003368E-01 -0.39863194E-15 -0.67615522E-15 -0.76977882E-15 0.31285519E-15 0.25992725E-15 -0.74759164E-16 0.33628781E-02 0.96439545E-15 MO 6 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.5530167 -0.70117172E-01 -0.12935249E+00 -0.20881503E+00 -0.27181512E+00 -0.23194034E+00 -0.80083424E-01 -0.11157011E+00 -0.51422559E-01 0.14419422E+00 0.17896166E-16 0.13721645E-16 0.68480624E-17 -0.21223634E-14 -0.16272936E-14 -0.81213356E-15 0.28800605E+00 0.22082477E+00 0.11020704E+00 0.52815085E-01 -0.21353772E-16 0.14236388E-14 0.10449305E-01 0.81723774E-03 0.55233791E-17 0.16612234E-15 0.41658645E-03 -0.14158017E-01 -0.21644039E-02 0.85164950E-02 0.91567838E-15 0.81779774E-15 0.13475524E-14 0.58244667E-01 0.10720128E+00 0.17347191E+00 0.22803367E+00 0.19558316E+00 0.66873203E-01 0.98204491E-01 0.43818653E-01 -0.12939707E+00 0.44951010E-14 0.34632330E-14 0.15205458E-14 -0.33527287E+00 -0.25830967E+00 -0.11341186E+00 0.48675301E+00 0.37501695E+00 0.16465264E+00 -0.63886549E-01 0.43431938E-15 -0.12722688E-01 0.21301169E-01 -0.47251497E-02 -0.68698575E-16 0.57636688E-04 -0.33885860E-03 -0.31899863E-02 0.19678919E-02 0.35950450E-02 -0.42946813E-15 -0.35150773E-16 -0.20700089E-01 0.58244667E-01 0.10720128E+00 0.17347191E+00 0.22803367E+00 0.19558316E+00 0.66873203E-01 0.98204491E-01 0.43818653E-01 -0.12939707E+00 -0.36200009E-14 -0.27890155E-14 -0.12245280E-14 0.33527287E+00 0.25830967E+00 0.11341186E+00 0.48675301E+00 0.37501695E+00 0.16465264E+00 -0.63886549E-01 -0.22043429E-15 0.12722688E-01 0.21301169E-01 -0.47251497E-02 0.65414131E-16 -0.57636688E-04 -0.33885860E-03 -0.31899863E-02 0.19678919E-02 0.35950450E-02 0.10055396E-14 0.20933174E-15 0.20700089E-01 0.48260411E-01 0.81858791E-01 0.93193340E-01 0.27286475E-01 -0.18822032E-03 -0.24601791E-15 0.94535590E-15 -0.24668746E-01 MO 7 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.4350704 0.29516069E-01 0.54451384E-01 0.87901417E-01 0.11442153E+00 0.97636096E-01 0.33711398E-01 0.54618306E-01 0.25173527E-01 -0.70589198E-01 0.55987897E-15 0.42927968E-15 0.21424065E-15 0.17236844E-13 0.13216118E-13 0.65957693E-14 0.41469345E+00 0.31796063E+00 0.15868464E+00 -0.13947528E-01 0.28029789E-16 -0.83951432E-15 0.11799832E-01 0.25914292E-03 -0.72652828E-17 -0.18414718E-15 0.11905279E-03 0.96763138E-02 -0.26911937E-02 0.62491930E-02 -0.13411045E-14 -0.42749602E-16 0.23406753E-15 -0.42022439E-01 -0.77343721E-01 -0.12515674E+00 -0.16452204E+00 -0.14110960E+00 -0.48247767E-01 -0.70337187E-01 -0.31384316E-01 0.92678305E-01 0.93458021E-14 0.72004367E-14 0.31613795E-14 0.10123545E+01 0.77996454E+00 0.34244644E+00 0.25096101E+00 0.19335193E+00 0.84891910E-01 0.51948210E-01 0.49498841E-15 0.49336295E-01 0.16426237E-01 0.46901968E-02 0.49969754E-16 0.13228224E-02 0.36500115E-03 0.48533355E-02 -0.23809057E-01 0.13331413E-01 -0.82678011E-15 0.75855186E-15 0.14884136E-02 -0.42022439E-01 -0.77343721E-01 -0.12515674E+00 -0.16452204E+00 -0.14110960E+00 -0.48247767E-01 -0.70337187E-01 -0.31384316E-01 0.92678305E-01 -0.60862544E-14 -0.46891309E-14 -0.20587810E-14 -0.10123545E+01 -0.77996454E+00 -0.34244644E+00 0.25096101E+00 0.19335193E+00 0.84891910E-01 0.51948210E-01 -0.30099943E-15 -0.49336295E-01 0.16426237E-01 0.46901968E-02 -0.28745755E-16 -0.13228224E-02 0.36500115E-03 0.48533355E-02 -0.23809057E-01 0.13331413E-01 -0.72580272E-15 -0.98662623E-15 -0.14884136E-02 0.25631277E-01 0.43475498E-01 0.49495318E-01 0.20088197E-01 0.32421027E-03 0.32117158E-15 -0.36079578E-15 -0.77174499E-02 MO 8 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.3925008 -0.10990965E-14 -0.20276184E-14 -0.32732048E-14 -0.42607401E-14 -0.36356972E-14 -0.12553189E-14 -0.12597383E-14 -0.58061223E-15 0.16280973E-14 0.30391715E-15 0.23302440E-15 0.11629551E-15 0.47521351E+00 0.36436358E+00 0.18184296E+00 -0.15674025E-13 -0.12017848E-13 -0.59977485E-14 0.23959725E-14 0.10003107E-15 0.13052360E-01 -0.10191030E-14 0.13275707E-14 -0.84108065E-16 -0.20431390E-03 0.11305413E-15 -0.11047004E-14 -0.41105133E-15 -0.64244187E-15 0.80951759E-15 -0.85955184E-15 -0.34592804E-01 0.45179757E-01 0.83154871E-01 0.13456028E+00 0.17688325E+00 0.15171174E+00 0.51872819E-01 0.76245321E-01 0.34020514E-01 -0.10046303E+00 0.10940547E-13 0.84291014E-14 0.37008295E-14 -0.91268535E+00 -0.70317486E+00 -0.30873164E+00 0.73641683E+00 0.56736947E+00 0.24910576E+00 -0.63894105E-01 0.43466765E-15 -0.40970939E-01 0.36101567E-01 -0.50146391E-02 0.18405106E-15 -0.16027372E-02 0.12749166E-02 -0.75700601E-02 0.10995193E-01 0.26772376E-02 0.71963657E-15 -0.13181106E-15 -0.31118299E-01 -0.45179757E-01 -0.83154871E-01 -0.13456028E+00 -0.17688325E+00 -0.15171174E+00 -0.51872819E-01 -0.76245321E-01 -0.34020514E-01 0.10046303E+00 -0.92429181E-14 -0.71211701E-14 -0.31265772E-14 -0.91268535E+00 -0.70317486E+00 -0.30873164E+00 -0.73641683E+00 -0.56736947E+00 -0.24910576E+00 0.63894105E-01 -0.78890469E-15 -0.40970939E-01 -0.36101567E-01 0.50146391E-02 0.84189932E-16 -0.16027372E-02 -0.12749166E-02 0.75700601E-02 -0.10995193E-01 -0.26772376E-02 -0.10409164E-14 -0.13401409E-14 -0.31118299E-01 -0.93365222E-15 -0.15836509E-14 -0.18029305E-14 -0.46280510E-15 -0.65902358E-15 0.55049012E-15 0.43684877E-02 0.42292198E-15 MO 9 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.3515679 0.42992532E-16 0.79312826E-16 0.12803549E-15 0.16666417E-15 0.14221484E-15 0.49103366E-16 -0.33638851E-15 -0.15504116E-15 0.43475159E-15 0.42325022E+00 0.32452142E+00 0.16195893E+00 -0.21186711E-14 -0.16244626E-14 -0.81072068E-15 0.31852096E-15 0.24422167E-15 0.12188373E-15 -0.44831012E-15 0.22943621E-01 -0.28520655E-14 -0.17311944E-15 -0.25890548E-15 0.10780039E-02 -0.45327461E-16 -0.37838258E-16 -0.16648437E-15 -0.35671005E-15 0.35656373E-15 0.28405848E-14 -0.32004969E-01 0.46027347E-15 -0.46083976E-15 -0.84819117E-15 -0.13725334E-14 -0.18042336E-14 -0.15474807E-14 -0.52910992E-15 0.13739851E-14 0.61306947E-15 -0.18104024E-14 0.10693282E+01 0.82385976E+00 0.36171881E+00 -0.14596552E-13 -0.11245856E-13 -0.49375367E-14 -0.19854389E-13 -0.15296737E-13 -0.67160913E-14 0.45588133E-14 0.63719638E-01 -0.25630748E-14 -0.57762674E-16 -0.34971873E-15 0.11768325E-02 0.32156253E-15 0.39635969E-16 -0.12216953E-14 0.12505853E-15 -0.22736117E-14 -0.47807263E-01 0.23803807E-01 -0.11705483E-14 0.56351519E-15 0.10371688E-14 0.16783348E-14 0.22062181E-14 0.18922605E-14 0.64699599E-15 -0.17334309E-14 -0.77345349E-15 0.22840185E-14 0.10693282E+01 0.82385976E+00 0.36171881E+00 -0.11070953E-13 -0.85295724E-14 -0.37449417E-14 0.14112768E-13 0.10873127E-13 0.47738883E-14 -0.51586321E-14 0.63719638E-01 -0.24936818E-14 -0.11371921E-15 0.55393074E-15 0.11768325E-02 0.40932747E-15 0.18333847E-16 0.14023041E-14 0.11391859E-14 0.25528990E-14 0.47807263E-01 0.23803807E-01 -0.17811519E-14 0.14250971E-15 0.24172344E-15 0.27519359E-15 0.75032357E-16 0.22625231E-15 0.86480103E-02 0.11570854E-14 0.10925372E-15 MO 10 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.2088715 0.16186460E-15 0.29860858E-15 0.48204684E-15 0.62748176E-15 0.53543132E-15 0.18487157E-15 0.94603044E-15 0.43602457E-15 -0.12226584E-14 0.33879951E-14 0.25976997E-14 0.12964342E-14 -0.72908341E-01 -0.55901492E-01 -0.27898762E-01 -0.11993699E-13 -0.91960074E-14 -0.45894522E-14 0.33915210E-15 0.36801763E-16 0.95685588E-02 -0.38307992E-15 0.10074515E-14 0.22947369E-16 0.12130812E-02 0.23928569E-15 -0.35157680E-15 0.36640424E-14 -0.30475341E-14 -0.17735846E-13 0.12387032E-14 0.93730918E-01 0.32475817E-02 0.59772839E-02 0.96723736E-02 0.12714606E-01 0.10905244E-01 0.37286880E-02 0.21740825E-02 0.97007138E-03 -0.28646338E-02 -0.20180964E-12 -0.15548345E-12 -0.68265610E-13 0.89726886E+00 0.69129729E+00 0.30351674E+00 0.11078994E+01 0.85357673E+00 0.37476616E+00 -0.11070026E-01 -0.13948942E-13 0.58903491E-01 0.71329483E-01 -0.36231867E-02 -0.10058512E-14 0.27838881E-02 0.40027887E-02 0.27068274E-02 -0.14876593E-01 0.18711862E-01 0.71278538E-14 -0.34660657E-14 -0.17097552E-01 -0.32475817E-02 -0.59772839E-02 -0.96723736E-02 -0.12714606E-01 -0.10905244E-01 -0.37286880E-02 -0.21740825E-02 -0.97007138E-03 0.28646338E-02 0.23460372E-12 0.18074952E-12 0.79358773E-13 0.89726886E+00 0.69129729E+00 0.30351674E+00 -0.11078994E+01 -0.85357673E+00 -0.37476616E+00 0.11070026E-01 0.16128442E-13 0.58903491E-01 -0.71329483E-01 0.36231867E-02 0.10491727E-14 0.27838881E-02 -0.40027887E-02 -0.27068274E-02 0.14876593E-01 -0.18711862E-01 0.58494747E-14 0.21608028E-14 -0.17097552E-01 -0.26074836E-14 -0.44227857E-14 -0.50351852E-14 -0.35055129E-14 -0.89434247E-15 -0.25195570E-14 0.16181864E-02 0.20874339E-15 MO 11 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.1883276 -0.91916341E-15 -0.16956770E-14 -0.27373485E-14 -0.35632144E-14 -0.30404973E-14 -0.10498106E-14 0.33614825E-14 0.15493042E-14 -0.43444107E-14 -0.33020665E-14 -0.25318152E-14 -0.12635532E-14 -0.14816542E-13 -0.11360385E-13 -0.56696282E-14 -0.57293829E-13 -0.43929274E-13 -0.21923787E-13 0.24193504E-13 -0.34477690E-15 0.24743909E-14 -0.87598959E-14 0.24511915E-13 0.96136067E-18 0.22701680E-15 0.15171890E-14 -0.45754063E-14 0.20657721E-13 -0.17738499E-13 0.10830363E+00 -0.16024470E-15 0.13125499E-13 -0.17260972E-14 -0.31769403E-14 -0.51408891E-14 -0.67578426E-14 -0.57961624E-14 -0.19818064E-14 0.56234982E-15 0.25091939E-15 -0.74096833E-15 0.13558285E+01 0.10445928E+01 0.45863249E+00 0.14837758E-12 0.11431692E-12 0.50191287E-13 0.47994820E-12 0.36977421E-12 0.16235080E-12 0.25551546E-14 0.92788274E-01 0.16808313E-13 0.30752203E-13 -0.19442261E-13 0.64962109E-02 0.30282181E-14 -0.46354044E-16 -0.30222011E-14 -0.10210477E-13 0.22273685E-15 -0.40099335E-01 0.22392489E-01 -0.48999307E-14 -0.21761755E-14 -0.40053247E-14 -0.64813714E-14 -0.85199441E-14 -0.73075065E-14 -0.24985606E-14 -0.13635060E-16 -0.60839372E-17 0.17965948E-16 -0.13558285E+01 -0.10445928E+01 -0.45863249E+00 0.13658309E-12 0.10522991E-12 0.46201597E-13 0.14559424E-12 0.11217251E-12 0.49249775E-13 0.56860577E-14 -0.92788274E-01 0.23147249E-14 0.10382293E-13 -0.16654836E-13 -0.64962109E-02 -0.18573361E-14 -0.11933823E-14 -0.37001322E-14 -0.59396267E-14 -0.34550931E-14 -0.40099335E-01 -0.22392489E-01 0.81285579E-15 -0.12454088E-13 -0.21124490E-13 -0.24049485E-13 -0.14903127E-13 -0.11784076E-13 -0.69210390E-15 -0.35169975E-17 0.29960746E-14 MO 12 MO 0. OCC NO = 2.0000000 ORB. ENERGY = -0.1853055 0.16440141E-02 0.30328851E-02 0.48960169E-02 0.63731592E-02 0.54382283E-02 0.18776895E-02 -0.32414818E-02 -0.14939960E-02 0.41893207E-02 0.10617617E-14 0.81409155E-15 0.40628874E-15 0.43777004E-15 0.33565430E-15 0.16751502E-15 -0.20485919E+00 -0.15707304E+00 -0.78390454E-01 -0.19383023E-01 0.15402398E-15 -0.22614904E-14 -0.36658076E-02 -0.18987697E-02 -0.46312070E-18 -0.13457127E-15 0.61367607E-03 -0.59317254E-02 0.63841864E-01 -0.64032243E-01 -0.27945291E-13 0.71540579E-15 0.50370806E-15 -0.52521498E-02 -0.96667594E-02 -0.15642641E-01 -0.20562690E-01 -0.17636500E-01 -0.60302188E-02 -0.56501612E-02 -0.25210909E-02 0.74448153E-02 -0.34627860E-12 -0.26678900E-12 -0.11713474E-12 0.23389523E-01 0.18020366E-01 0.79119114E-02 0.12252558E+01 0.94399358E+00 0.41446403E+00 0.12234358E-01 -0.24022089E-13 0.10768208E-02 0.82285813E-01 0.39539767E-02 -0.16303915E-14 0.38969476E-03 0.48002253E-02 -0.48315857E-02 -0.56669261E-02 0.34009425E-02 0.11162655E-13 -0.70095075E-14 -0.22149149E-01 -0.52521498E-02 -0.96667594E-02 -0.15642641E-01 -0.20562690E-01 -0.17636500E-01 -0.60302188E-02 -0.56501612E-02 -0.25210909E-02 0.74448153E-02 0.35070484E-12 0.27019917E-12 0.11863199E-12 -0.23389523E-01 -0.18020366E-01 -0.79119114E-02 0.12252558E+01 0.94399358E+00 0.41446403E+00 0.12234358E-01 0.23920700E-13 -0.10768208E-02 0.82285813E-01 0.39539767E-02 0.16340155E-14 -0.38969476E-03 0.48002253E-02 -0.48315857E-02 -0.56669261E-02 0.34009425E-02 0.93558014E-14 0.54268186E-14 0.22149149E-01 -0.46606863E-01 -0.79054060E-01 -0.90000254E-01 -0.61419635E-01 -0.48996275E-02 -0.19529193E-14 0.44206302E-16 0.94257513E-02 END DATA THE RHF ENERGY = -188.209663369086 THE VIRIAL(-V/T)= 2.00251408 avogadrolibs-1.93.0/avogadro/qtplugins/quantuminput/000077500000000000000000000000001360735163600226745ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/quantuminput/CMakeLists.txt000066400000000000000000000025031360735163600254340ustar00rootroot00000000000000# Pull in MoleQueue find_package(MoleQueue REQUIRED NO_MODULE) include_directories(${MoleQueue_INCLUDE_DIRS}) # Needed to find avogadroioexport.h: include_directories("${AvogadroLibs_BINARY_DIR}/avogadro/io/") # Extension set(quantuminput_srcs quantuminput.cpp ) avogadro_plugin(QuantumInput "Quantum input file generation" ExtensionPlugin quantuminput.h QuantumInput "${quantuminput_srcs}" ) target_link_libraries(QuantumInput LINK_PRIVATE AvogadroIO AvogadroMoleQueue) set(_prefix "${AvogadroLibs_SOURCE_DIR}/../avogadrogenerators") # Look in parallel directory for the avogadrogenerators repository. if(EXISTS "${_prefix}/generators.cmake") # Bundled generator scripts, include("${_prefix}/generators.cmake") message("We have ${input_generators}") unset(_generators) foreach(gen ${input_generators}) list(APPEND _generators "${_prefix}/${gen}") endforeach() message("We have ${_generators}") option(INSTALL_TEST_INPUT_GENERATOR "Install a dummy input generator that is used to test generator scripts." OFF) if(INSTALL_TEST_INPUT_GENERATOR) list(APPEND _generators "${_prefix}/${test_generator}") endif() install(PROGRAMS ${_generators} DESTINATION "${INSTALL_LIBRARY_DIR}/avogadro2/scripts/inputGenerators/") else() message("Avogadro Generators not found at ${_prefix}!") endif() avogadrolibs-1.93.0/avogadro/qtplugins/quantuminput/quantuminput.cpp000066400000000000000000000165261360735163600261640ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "quantuminput.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using MoleQueue::InputGenerator; using MoleQueue::InputGeneratorDialog; using ::MoleQueue::JobObject; QuantumInput::QuantumInput(QObject* parent_) : ExtensionPlugin(parent_) , m_molecule(nullptr) , m_outputFormat(nullptr) { refreshGenerators(); } QuantumInput::~QuantumInput() { qDeleteAll(m_dialogs.values()); m_dialogs.clear(); } QList QuantumInput::actions() const { return m_actions; } QStringList QuantumInput::menuPath(QAction*) const { QStringList path; path << tr("&Quantum") << tr("Input Generators"); return path; } void QuantumInput::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol) return; m_molecule = mol; foreach (InputGeneratorDialog* dlg, m_dialogs.values()) dlg->setMolecule(mol); } void QuantumInput::openJobOutput(const JobObject& job) { m_outputFormat = nullptr; m_outputFileName.clear(); QString outputPath(job.value("outputDirectory").toString()); using QtGui::FileFormatDialog; FileFormatDialog::FormatFilePair result = FileFormatDialog::fileToRead( qobject_cast(parent()), tr("Open Output File"), outputPath); if (result.first == nullptr) // User canceled return; m_outputFormat = result.first; m_outputFileName = result.second; emit moleculeReady(1); } bool QuantumInput::readMolecule(QtGui::Molecule& mol) { Io::FileFormat* reader = m_outputFormat->newInstance(); bool success = reader->readFile(m_outputFileName.toStdString(), mol); if (!success) { QMessageBox::information(qobject_cast(parent()), tr("Error"), tr("Error reading output file '%1':\n%2") .arg(m_outputFileName) .arg(QString::fromStdString(reader->error()))); } m_outputFormat = nullptr; m_outputFileName.clear(); return success; } void QuantumInput::refreshGenerators() { updateInputGeneratorScripts(); updateActions(); } void QuantumInput::menuActivated() { QAction* theSender = qobject_cast(sender()); if (!theSender) return; QString scriptFileName = theSender->data().toString(); QWidget* theParent = qobject_cast(parent()); InputGeneratorDialog* dlg = m_dialogs.value(scriptFileName, nullptr); if (!dlg) { dlg = new InputGeneratorDialog(scriptFileName, theParent); connect(&dlg->widget(), SIGNAL(openJobOutput(const ::MoleQueue::JobObject&)), this, SLOT(openJobOutput(const ::MoleQueue::JobObject&))); m_dialogs.insert(scriptFileName, dlg); } dlg->setMolecule(m_molecule); dlg->show(); dlg->raise(); } void QuantumInput::configurePython() { // Create objects QSettings settings; QDialog dlg(qobject_cast(parent())); QLabel* label = new QLabel; QVBoxLayout* layout = new QVBoxLayout; QtGui::FileBrowseWidget* browser = new QtGui::FileBrowseWidget; QDialogButtonBox* buttonBox = new QDialogButtonBox; // Configure objects // Check for python interpreter in env var QString pythonInterp = QString::fromLocal8Bit(qgetenv("AVO_PYTHON_INTERPRETER")); if (pythonInterp.isEmpty()) { // Check settings pythonInterp = settings.value("interpreters/python", QString()).toString(); } // Use compile-time default if still not found. if (pythonInterp.isEmpty()) pythonInterp = QString(pythonInterpreterPath); browser->setMode(QtGui::FileBrowseWidget::ExecutableFile); browser->setFileName(pythonInterp); buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); dlg.setWindowTitle(tr("Set path to Python interpreter:")); label->setText(tr("Select the python interpreter used to run input generator " "scripts.\nAvogadro must be restarted for any changes to " "take effect.")); // Build layout layout->addWidget(label); layout->addWidget(browser); layout->addWidget(buttonBox); dlg.setLayout(layout); // Connect connect(buttonBox, SIGNAL(accepted()), &dlg, SLOT(accept())); connect(buttonBox, SIGNAL(rejected()), &dlg, SLOT(reject())); // Show dialog QDialog::DialogCode response = static_cast(dlg.exec()); if (response != QDialog::Accepted) return; // Handle response settings.setValue("interpreters/python", browser->fileName()); } void QuantumInput::updateInputGeneratorScripts() { m_inputGeneratorScripts = QtGui::ScriptLoader::scriptList("inputGenerators"); } void QuantumInput::updateActions() { m_actions.clear(); QAction* action = new QAction(tr("Set Python Path..."), this); connect(action, SIGNAL(triggered()), SLOT(configurePython())); m_actions << action; foreach (const QString& programName, m_inputGeneratorScripts.uniqueKeys()) { QStringList scripts = m_inputGeneratorScripts.values(programName); // Include the full path if there are multiple generators with the same // name. if (scripts.size() == 1) { addAction(programName, scripts.first()); } else { foreach (const QString& filePath, scripts) { addAction(QString("%1 (%2)").arg(programName, filePath), filePath); } } } } void QuantumInput::addAction(const QString& label, const QString& scriptFilePath) { QAction* action = new QAction(label, this); action->setData(scriptFilePath); action->setEnabled(true); connect(action, SIGNAL(triggered()), SLOT(menuActivated())); m_actions << action; } bool QuantumInput::queryProgramName(const QString& scriptFilePath, QString& displayName) { InputGenerator gen(scriptFilePath); displayName = gen.displayName(); if (gen.hasErrors()) { displayName.clear(); qWarning() << "QuantumInput::queryProgramName: Unable to retrieve program " "name for" << scriptFilePath << ";" << gen.errorList().join("\n\n"); return false; } return true; } } } avogadrolibs-1.93.0/avogadro/qtplugins/quantuminput/quantuminput.h000066400000000000000000000050571360735163600256260ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_QUANTUMINPUT_H #define AVOGADRO_QTPLUGINS_QUANTUMINPUT_H #include #include #include class QAction; class QDialog; namespace MoleQueue { class JobObject; } namespace Avogadro { namespace Io { class FileFormat; } namespace MoleQueue { class InputGeneratorDialog; } namespace QtPlugins { /** * @brief The QuantumInput class implements the extension interface for * simulation input generators. * @author David C. Lonie */ class QuantumInput : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit QuantumInput(QObject* parent = 0); ~QuantumInput() override; QString name() const override { return tr("Quantum input"); } QString description() const override { return tr("Generate input for quantum codes."); } QList actions() const override; QStringList menuPath(QAction*) const override; void setMolecule(QtGui::Molecule* mol) override; public slots: /** * Scan for new scripts in the input generator directories. */ void refreshGenerators(); /** * Emitted when the user requests that a job's output be loaded in Avogadro. */ void openJobOutput(const ::MoleQueue::JobObject& job); bool readMolecule(QtGui::Molecule& mol) override; private slots: void menuActivated(); void configurePython(); private: void updateInputGeneratorScripts(); void updateActions(); void addAction(const QString& label, const QString& scriptFilePath); bool queryProgramName(const QString& scriptFilePath, QString& displayName); QList m_actions; QtGui::Molecule* m_molecule; // keyed on script file path QMap m_dialogs; // maps program name --> script file path QMap m_inputGeneratorScripts; const Io::FileFormat* m_outputFormat; QString m_outputFileName; }; } } #endif // AVOGADRO_QTPLUGINS_QUANTUMINPUT_H avogadrolibs-1.93.0/avogadro/qtplugins/scriptfileformats/000077500000000000000000000000001360735163600236625ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/scriptfileformats/CMakeLists.txt000066400000000000000000000010101360735163600264120ustar00rootroot00000000000000set(scriptfileformats_srcs scriptfileformats.cpp fileformatscript.cpp ) avogadro_plugin(ScriptFileFormats "Scriptable file formats" ExtensionPlugin scriptfileformats.h ScriptFileFormats "${scriptfileformats_srcs}" "" ) target_link_libraries(ScriptFileFormats LINK_PRIVATE AvogadroQuantumIO) # Bundled format scripts: set(format_scripts formatScripts/zyx.py formatScripts/cclibScript.py ) install(PROGRAMS ${format_scripts} DESTINATION "${INSTALL_LIBRARY_DIR}/avogadro2/scripts/formatScripts/") avogadrolibs-1.93.0/avogadro/qtplugins/scriptfileformats/fileformatscript.cpp000066400000000000000000000242021360735163600277430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "fileformatscript.h" #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { FileFormatScript::FileFormatScript(const QString& scriptFileName_) : m_interpreter(new QtGui::PythonScript(scriptFileName_)), m_valid(false), m_inputFormat(NotUsed), m_outputFormat(NotUsed) { readMetaData(); } FileFormatScript::~FileFormatScript() { delete m_interpreter; } QString FileFormatScript::scriptFilePath() const { return m_interpreter->scriptFilePath(); } Io::FileFormat* FileFormatScript::newInstance() const { return new FileFormatScript(m_interpreter->scriptFilePath()); } bool FileFormatScript::read(std::istream& in, Core::Molecule& molecule) { // Create intermediate format reader QScopedPointer format(createFileFormat(m_outputFormat)); if (format.isNull()) { appendError("Invalid intermediate format enum value."); return false; } // Copy input into memory /// @todo would be nice to pass the stream to the interpreter directly... // Get length first: in.seekg(0, std::istream::end); std::istream::pos_type size = in.tellg(); // Construct byte array QByteArray buffer; buffer.resize(static_cast(size)); in.seekg(0, std::istream::beg); in.read(buffer.data(), size); // Call the script to convert the file QByteArray result = m_interpreter->execute(QStringList() << "--read", buffer); if (m_interpreter->hasErrors()) { foreach (const QString& err, m_interpreter->errorList()) appendError(err.toStdString()); return false; } if (!format->readString(std::string(result.constData(), result.size()), molecule)) { appendError(format->error(), false); return false; } return true; } bool FileFormatScript::write(std::ostream& out, const Core::Molecule& molecule) { // Create the intermediate format writer std::string intermediate; QScopedPointer format(createFileFormat(m_inputFormat)); if (format.isNull()) { appendError("Invalid intermediate format enum value."); return false; } if (!format->writeString(intermediate, molecule)) { appendError(format->error(), false); return false; } // Call the script to convert the file QByteArray result = m_interpreter->execute( QStringList() << "--write", QByteArray::fromRawData(intermediate.c_str(), intermediate.size())); if (m_interpreter->hasErrors()) { foreach (const QString& err, m_interpreter->errorList()) appendError(err.toStdString()); return false; } out.write(result.constData(), result.size()); return true; } FileFormatScript::Format FileFormatScript::stringToFormat( const std::string& str) { if (str == "cjson") return Cjson; else if (str == "cml") return Cml; else if (str == "xyz") return Xyz; return NotUsed; } Io::FileFormat* FileFormatScript::createFileFormat(FileFormatScript::Format fmt) { switch (fmt) { case Cjson: return new Io::CjsonFormat; case Cml: return new Io::CmlFormat; case Xyz: return new Io::XyzFormat; default: case NotUsed: return nullptr; } } void FileFormatScript::resetMetaData() { m_operations = Io::FileFormat::None; m_valid = false; m_inputFormat = NotUsed; m_identifier.clear(); m_name.clear(); m_description.clear(); m_specificationUrl.clear(); m_fileExtensions.clear(); m_mimeTypes.clear(); } void FileFormatScript::readMetaData() { resetMetaData(); QByteArray output(m_interpreter->execute(QStringList() << "--metadata")); if (m_interpreter->hasErrors()) { qWarning() << "Error retrieving metadata for file format script:" << scriptFilePath() << "\n" << m_interpreter->errorList(); return; } QJsonParseError parseError; QJsonDocument doc(QJsonDocument::fromJson(output, &parseError)); if (parseError.error != QJsonParseError::NoError) { qWarning() << "Error parsing metadata for file format script:" << scriptFilePath() << "\n" << parseError.errorString() << "(at offset" << parseError.offset << ")"; return; } if (!doc.isObject()) { qWarning() << "Error parsing metadata for file format script:" << scriptFilePath() << "\nResult is not a JSON object:\n" << output; return; } const QJsonObject metaData(doc.object()); // Read required inputs first. std::vector opStringsTmp; if (!parseStringArray(metaData, "operations", opStringsTmp)) { qWarning() << "Error parsing metadata for file format script:" << scriptFilePath() << "\n" << "Error parsing required member 'operations'" << "\n" << output; return; } // validate operations: Operations operationsTmp = Io::FileFormat::None; typedef std::vector::const_iterator StringVectorIter; for (StringVectorIter it = opStringsTmp.begin(), itEnd = opStringsTmp.end(); it != itEnd; ++it) { if (*it == "read") operationsTmp |= Io::FileFormat::Read; else if (*it == "write") operationsTmp |= Io::FileFormat::Write; else { qWarning() << "Error parsing metadata for file format script:" << scriptFilePath() << "\n" << "Unrecognized operation:" << it->c_str() << "\n" << output; return; } } std::string identifierTmp; if (!parseString(metaData, "identifier", identifierTmp)) { qWarning() << "Error parsing metadata for file format script:" << scriptFilePath() << "\n" << "Error parsing required member 'operations'" << "\n" << output; return; } std::string nameTmp; if (!parseString(metaData, "name", nameTmp)) { qWarning() << "Error parsing metadata for file format script:" << scriptFilePath() << "\n" << "Error parsing required member 'name'" << "\n" << output; return; } // input format is required if write operations are supported: Format inputFormatTmp = NotUsed; if (operationsTmp & Io::FileFormat::Write) { std::string inputFormatStrTmp; if (!parseString(metaData, "inputFormat", inputFormatStrTmp)) { qWarning() << "Error parsing metadata for file format script:" << scriptFilePath() << "\n" << "Member 'inputFormat' required for writable formats." << "\n" << output; return; } // Validate the input format inputFormatTmp = stringToFormat(inputFormatStrTmp); if (inputFormatTmp == NotUsed) { qWarning() << "Error parsing metadata for file format script:" << scriptFilePath() << "\n" << "Member 'inputFormat' not recognized:" << inputFormatStrTmp.c_str() << "\nValid values are cjson, cml, or xyz.\n" << output; return; } } // output format is required if read operations are supported: Format outputFormatTmp = NotUsed; if (operationsTmp & Io::FileFormat::Read) { std::string outputFormatStrTmp; if (!parseString(metaData, "outputFormat", outputFormatStrTmp)) { qWarning() << "Error parsing metadata for file format script:" << scriptFilePath() << "\n" << "Member 'outputFormat' required for readable formats." << "\n" << output; return; } // Validate the output format outputFormatTmp = stringToFormat(outputFormatStrTmp); if (outputFormatTmp == NotUsed) { qWarning() << "Error parsing metadata for file format script:" << scriptFilePath() << "\n" << "Member 'outputFormat' not recognized:" << outputFormatStrTmp.c_str() << "\nValid values are cjson, cml, or xyz.\n" << output; return; } } // If all required data is present, go ahead and set the member vars: m_operations = operationsTmp | Io::FileFormat::File | Io::FileFormat::Stream | Io::FileFormat::String; m_inputFormat = inputFormatTmp; m_outputFormat = outputFormatTmp; m_identifier = std::string("User Script: ") + identifierTmp; m_name = nameTmp; // Everything else is optional: parseString(metaData, "description", m_description); parseString(metaData, "specificationUrl", m_specificationUrl); parseStringArray(metaData, "fileExtensions", m_fileExtensions); parseStringArray(metaData, "mimeTypes", m_mimeTypes); m_valid = true; } bool FileFormatScript::parseString(const QJsonObject& ob, const QString& key, std::string& str) { if (!ob[key].isString()) return false; str = ob[key].toString().toStdString(); return !str.empty(); } bool FileFormatScript::parseStringArray(const QJsonObject& ob, const QString& key, std::vector& array) { array.clear(); if (!ob[key].isArray()) return false; foreach (const QJsonValue& val, ob[key].toArray()) { if (!val.isString()) return false; array.push_back(val.toString().toStdString()); if (array.back().empty()) return false; } return !array.empty(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/scriptfileformats/fileformatscript.h000066400000000000000000000144301360735163600274120ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_FILEFORMATSCRIPT_H #define AVOGADRO_QTPLUGINS_FILEFORMATSCRIPT_H #include #include #include class QJsonObject; namespace Avogadro { namespace QtGui { class PythonScript; } namespace QtPlugins { /** * @brief The FileFormatScript class interfaces with external scripts that * implement chemical file reader/writers. * * Script Entry Points * =================== * * The script must handle the following command line arguments: * - `--metadata` Print metadata describing the format and the script's * abilities and exit. * - `--read` Read data from standard input and produce a standard * representation on standard output. * - `--write` Read a standard representation from standard input and write * the formatted result to standard output. * * Identify the Format with `--metadata` * ===================================== * * Running the script with the `--metadata` option should print a JSON object * of the following form: ~~~{.js} { "inputFormat": "cml", "outputFormat": "cml", "operations": ["read", "write"], "identifier": "Unique Name", "name": "User-friendly Name", "description": "Description of format.", "specificationUrl": "http://url.specifying.format/if/any/exist", "fileExtensions": ["ext"], "mimeTypes": ["chemical/x-ext"] } ~~~ * * Details: * - `inputFormat` indicates the format that the script can convert to the * implemented format by the `--write` command. Allowed values are `"cml"`, * `"cjson"`, or `"xyz"`. See the `--write` documentation for more detail. * - `outputFormat` indicates the format that the script can convert to from the * implemented format by the `--read` command. Allowed values are `"cml"`, * `"cjson"`, or `"xyz"`. See the `--read` documentation for more detail. * - `operations` specifies the scripts capabilies. The array should contain * `"read"` if the script implements the `--read` option, and/or `"write"` if * `--write` is available. * - `identifier` is a unique identifier. The value must only be unique amongst * script formats, as it will be prefixed with "User Script: " internally by * Avogadro. * - `name` is a user-friendly name for the format. * - `description` is a description of the format, along with any relevant help * text for users. * - `specificationUrl` is the URL of the format specification if available * (or relevant web page/wiki otherwise). * - `fileExtensions` is an array specifying the file extensions that this * format supports. * - `mimeTypes` is an array specifying the mime types that this format * supports. * * Required members are * - `operations` * - `inputFormat` (if `"write"` is specified in `operations`) * - `outputFormat` (if `"read"` is specified in `operations`) * - `identifier` * - `name` * * Optional members are * - `description` * - `specificationUrl` * - `fileExtensions` * - `mimeTypes` * * Reading a format with `--read` * ============================== * * If `"read"` is specified in the `operations` `--metadata` output along with * a valid `outputFormat`, Avogadro will call the script with `--read` and * write the implemented format to the script's standard input. The script shall * convert the input to `outputFormat` and print it to standard output. * * Writing a format with `--write` * =============================== * * If `"write"` is specified in the `operations` `--metadata` output along with * a valid `inputFormat`, Avogadro will call the script with `--write` and * write the `inputFormat` to the script's standard input. The script shall * convert the input to the implemented format and print it to standard output. */ class FileFormatScript : public Avogadro::Io::FileFormat { public: /** Formats that may be written to the script's input/output formats. */ enum Format { NotUsed, Cjson, Cml, Xyz }; FileFormatScript(const QString& scriptFileName); ~FileFormatScript() override; QString scriptFilePath() const; Format inputFormat() const { return m_inputFormat; } Format outputFormat() const { return m_outputFormat; } bool isValid() const { return m_valid; } FileFormat* newInstance() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream& out, const Core::Molecule& molecule) override; Operations supportedOperations() const override { return m_operations; } std::string identifier() const override { return m_identifier; } std::string name() const override { return m_name; } std::string description() const override { return m_description; } std::string specificationUrl() const override { return m_specificationUrl; } std::vector fileExtensions() const override { return m_fileExtensions; } std::vector mimeTypes() const override { return m_mimeTypes; } private: static Format stringToFormat(const std::string& str); static Io::FileFormat* createFileFormat(Format fmt); void resetMetaData(); void readMetaData(); bool parseString(const QJsonObject& ob, const QString& key, std::string& str); bool parseStringArray(const QJsonObject& ob, const QString& key, std::vector& array); private: QtGui::PythonScript* m_interpreter; bool m_valid; Operations m_operations; Format m_inputFormat; Format m_outputFormat; std::string m_identifier; std::string m_name; std::string m_description; std::string m_specificationUrl; std::vector m_fileExtensions; std::vector m_mimeTypes; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_FILEFORMATSCRIPT_H avogadrolibs-1.93.0/avogadro/qtplugins/scriptfileformats/formatScripts/000077500000000000000000000000001360735163600265225ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/scriptfileformats/formatScripts/cclibScript.py000066400000000000000000000042131360735163600313350ustar00rootroot00000000000000""" /****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ """ import argparse import json import sys from cclib.io.ccio import ccopen from cclib.io.cjsonwriter import CJSON def getMetaData(): metaData = {} metaData['inputFormat'] = 'cjson' metaData['outputFormat'] = 'cjson' metaData['operations'] = ['read'] metaData['identifier'] = 'CJSON writer' metaData['name'] = 'CJSON' metaData['description'] = "The cclib script provided by the cclib repository is used to " +\ "write the CJSON format using the input file provided " +\ "to Avogadro2." metaData['fileExtensions'] = ['out', 'log', 'adfout', 'g09'] metaData['mimeTypes'] = [''] return metaData def read(): # Pass the standard input to ccopen: log = ccopen(sys.stdin) ccdata = log.parse() output_obj = CJSON(ccdata, terse=True) output = output_obj.generate_repr() return output if __name__ == "__main__": parser = argparse.ArgumentParser('Read files using cclib') parser.add_argument('--metadata', action='store_true') parser.add_argument('--read', action='store_true') parser.add_argument('--write', action='store_true') parser.add_argument('--display-name', action='store_true') parser.add_argument('--lang', nargs='?', default='en') args = vars(parser.parse_args()) if args['metadata']: print(json.dumps(getMetaData())) elif args['display_name']: print(getMetaData()['name']) elif args['read']: print(read()) elif args['write']: pass avogadrolibs-1.93.0/avogadro/qtplugins/scriptfileformats/formatScripts/zyx.py000077500000000000000000000054311360735163600277340ustar00rootroot00000000000000""" /****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ """ import argparse import json import sys def getMetaData(): metaData = {} metaData['inputFormat'] = 'xyz' metaData['outputFormat'] = 'xyz' metaData['operations'] = ['read', 'write'] metaData['identifier'] = 'ZYX Example Format' metaData['name'] = 'ZYX' metaData['description'] = "Mostly useless file format that reads xyz-style " +\ "files with reversed coordinates. Demonstrates " +\ "the implementation of a user-scripted file format." metaData['fileExtensions'] = ['zyx'] metaData['mimeTypes'] = ['chemical/x-zyx'] return metaData def write(): result = "" # Just copy the first two lines: numAtoms and comment/title result += sys.stdin.readline() result += sys.stdin.readline() for line in sys.stdin: words = line.split() result += '%-3s %9.5f %9.5f %9.5f' %\ (words[0], float(words[3]), float(words[2]), float(words[1])) if len(words) > 4: result += words[4:].join(' ') result += '\n' return result def read(): result = "" # Just copy the first two lines: numAtoms and comment/title result += sys.stdin.readline() result += sys.stdin.readline() for line in sys.stdin: words = line.split() result += '%-3s %9.5f %9.5f %9.5f' %\ (words[0], float(words[3]), float(words[2]), float(words[1])) if len(words) > 4: result += words[4:].join(' ') result += '\n' return result if __name__ == "__main__": parser = argparse.ArgumentParser('Example file format script.') parser.add_argument('--metadata', action='store_true') parser.add_argument('--read', action='store_true') parser.add_argument('--write', action='store_true') parser.add_argument('--display-name', action='store_true') parser.add_argument('--lang', nargs='?', default='en') args = vars(parser.parse_args()) if args['metadata']: print(json.dumps(getMetaData())) elif args['display_name']: print(getMetaData()['name']) elif args['read']: print(read()) elif args['write']: print(write()) avogadrolibs-1.93.0/avogadro/qtplugins/scriptfileformats/scriptfileformats.cpp000066400000000000000000000051401360735163600301260ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "scriptfileformats.h" #include "fileformatscript.h" #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { ScriptFileFormats::ScriptFileFormats(QObject* p) : ExtensionPlugin(p) { refreshFileFormats(); } ScriptFileFormats::~ScriptFileFormats() {} QList ScriptFileFormats::actions() const { return QList(); } QStringList ScriptFileFormats::menuPath(QAction*) const { return QStringList(); } void ScriptFileFormats::setMolecule(QtGui::Molecule*) {} void ScriptFileFormats::refreshFileFormats() { unregisterFileFormats(); qDeleteAll(m_formats); m_formats.clear(); QMap scriptPaths = QtGui::ScriptLoader::scriptList("formatScripts"); foreach (const QString& filePath, scriptPaths) { FileFormatScript* format = new FileFormatScript(filePath); if (format->isValid()) m_formats.push_back(format); else delete format; } registerFileFormats(); } void ScriptFileFormats::unregisterFileFormats() { for (QList::const_iterator it = m_formats.constBegin(), itEnd = m_formats.constEnd(); it != itEnd; ++it) { Io::FileFormatManager::unregisterFormat((*it)->identifier()); } } void ScriptFileFormats::registerFileFormats() { for (QList::const_iterator it = m_formats.constBegin(), itEnd = m_formats.constEnd(); it != itEnd; ++it) { if (!Io::FileFormatManager::registerFormat((*it)->newInstance())) { qDebug() << "Could not register format" << (*it)->identifier().c_str() << "due to name conflict."; } } } } // end namespace QtPlugins } // end namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/scriptfileformats/scriptfileformats.h000066400000000000000000000032001360735163600275660ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SCRIPTFILEFORMATS_H #define AVOGADRO_QTPLUGINS_SCRIPTFILEFORMATS_H #include #include namespace Avogadro { namespace QtPlugins { /** * @brief This extension registers FileFormat reader/writers that are * implemented as external scripts. */ class ScriptFileFormats : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit ScriptFileFormats(QObject* parent = 0); ~ScriptFileFormats() override; QString name() const override { return tr("Script File Formats"); } QString description() const override { return tr("Load file reader/writers from external scripts."); } QList actions() const override; QStringList menuPath(QAction*) const override; void setMolecule(QtGui::Molecule* mol) override; private: QList m_formats; void refreshFileFormats(); void unregisterFileFormats(); void registerFileFormats(); }; } } #endif // AVOGADRO_QTPLUGINS_QUANTUMOUTPUT_H avogadrolibs-1.93.0/avogadro/qtplugins/select/000077500000000000000000000000001360735163600214015ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/select/CMakeLists.txt000066400000000000000000000002551360735163600241430ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_BINARY_DIR}) avogadro_plugin(Select "Extension that modifies selections." ExtensionPlugin select.h Select "select.cpp" "" ) avogadrolibs-1.93.0/avogadro/qtplugins/select/select.cpp000066400000000000000000000050551360735163600233710ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "select.h" #include #include #include #include using Avogadro::QtGui::Molecule; namespace Avogadro { namespace QtPlugins { Select::Select(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_molecule(nullptr) { QAction* action = new QAction(tr("Select All"), this); action->setShortcut(QKeySequence("Ctrl+A")); connect(action, SIGNAL(triggered()), SLOT(selectAll())); m_actions.append(action); action = new QAction(tr("Select None"), this); action->setShortcut(QKeySequence("Ctrl+Shift+A")); connect(action, SIGNAL(triggered()), SLOT(selectNone())); m_actions.append(action); action = new QAction(this); action->setSeparator(true); m_actions.append(action); action = new QAction(tr("Invert Selection"), this); connect(action, SIGNAL(triggered()), SLOT(invertSelection())); m_actions.append(action); } Select::~Select() { } QString Select::description() const { return tr("Change selections"); } QList Select::actions() const { return m_actions; } QStringList Select::menuPath(QAction*) const { return QStringList() << tr("&Select"); } void Select::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } void Select::selectAll() { if (m_molecule) { for (Index i = 0; i < m_molecule->atomCount(); ++i) m_molecule->atom(i).setSelected(true); m_molecule->emitChanged(Molecule::Atoms); } } void Select::selectNone() { if (m_molecule) { for (Index i = 0; i < m_molecule->atomCount(); ++i) m_molecule->atom(i).setSelected(false); m_molecule->emitChanged(Molecule::Atoms); } } void Select::invertSelection() { if (m_molecule) { for (Index i = 0; i < m_molecule->atomCount(); ++i) m_molecule->atom(i).setSelected(!m_molecule->atomSelected(i)); m_molecule->emitChanged(Molecule::Atoms); } } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/select/select.h000066400000000000000000000027531360735163600230400ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SELECT_H #define AVOGADRO_QTPLUGINS_SELECT_H #include namespace Avogadro { namespace QtPlugins { /** * @brief The Select class is an extension to modify selections */ class Select : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit Select(QObject* parent_ = 0); ~Select() override; QString name() const override { return tr("Select"); } QString description() const override; QList actions() const override; QStringList menuPath(QAction*) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; private slots: void selectAll(); void selectNone(); void invertSelection(); private: QList m_actions; QtGui::Molecule* m_molecule; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_SELECT_H avogadrolibs-1.93.0/avogadro/qtplugins/selectiontool/000077500000000000000000000000001360735163600230055ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/selectiontool/CMakeLists.txt000066400000000000000000000005301360735163600255430ustar00rootroot00000000000000set(tool_srcs selectiontool.cpp selectiontoolwidget.cpp ) set(tool_uis selectiontoolwidget.ui ) set(tool_rcs selectiontool.qrc) avogadro_plugin(Selection "Selection tool" ToolPlugin selectiontool.h SelectionTool "${tool_srcs}" "${tool_uis}" "${tool_rcs}" ) target_link_libraries(Selection LINK_PRIVATE AvogadroQtOpenGL) avogadrolibs-1.93.0/avogadro/qtplugins/selectiontool/selectiontool.cpp000066400000000000000000000160411360735163600263760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. Adapted from Avogadro 1.x with the following authors' permission: Copyright 2007 Donald Ephraim Curtis Copyright 2008 Marcus D. Hanwell This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "selectiontool.h" #include "selectiontoolwidget.h" #include #include #include #include #include #include #include #include #include #include #include #include #include using Avogadro::Core::Array; using Avogadro::Core::Atom; using Avogadro::QtGui::Molecule; using Avogadro::Rendering::GeometryNode; using Avogadro::Rendering::GroupNode; using Avogadro::Rendering::Identifier; using Avogadro::Rendering::MeshGeometry; namespace Avogadro { namespace QtPlugins { SelectionTool::SelectionTool(QObject* parent_) : QtGui::ToolPlugin(parent_), m_activateAction(new QAction(this)), m_molecule(nullptr), m_renderer(nullptr), m_toolWidget(new SelectionToolWidget(qobject_cast(parent_))), m_drawSelectionBox(false) { m_activateAction->setText(tr("Selection")); m_activateAction->setIcon(QIcon(":/icons/selectiontool.png")); connect(m_toolWidget, SIGNAL(colorApplied(Vector3ub)), this, SLOT(applyColor(Vector3ub))); } SelectionTool::~SelectionTool() {} QWidget* SelectionTool::toolWidget() const { return m_toolWidget; } QUndoCommand* SelectionTool::mousePressEvent(QMouseEvent* e) { if (e->button() != Qt::LeftButton || !m_renderer) return nullptr; m_drawSelectionBox = false; m_start = Vector2(e->pos().x(), e->pos().y()); m_end = m_start; Identifier hit = m_renderer->hit(e->pos().x(), e->pos().y()); // If an atom is clicked, accept the event, but don't add it to the atom list // until the button is released (this way the user can cancel the click by // moving off the atom, and the click won't get passed to the default tool). if (hit.type == Rendering::AtomType) e->accept(); // Remove the global accept to prevent the rectangle selection area from being // rendered as the selection code is not yet in place for the scene. e->accept(); return nullptr; } QUndoCommand* SelectionTool::mouseReleaseEvent(QMouseEvent* e) { // If the click is released on an atom, add it to the list if (e->button() != Qt::LeftButton || !m_renderer) return nullptr; // Assess whether the selection box is big enough to use, or a mis-click. bool bigEnough = false; m_end = Vector2(e->pos().x(), e->pos().y()); if (fabs(m_start.x() - m_end.x()) > 2 && fabs(m_start.y() - m_end.y()) > 2) bigEnough = true; if (m_drawSelectionBox && bigEnough) { auto hits = m_renderer->hits(m_start.x(), m_start.y(), m_end.x(), m_end.y()); // Toggle the selection if the Ctrl modifier is pressed. if (e->modifiers() & Qt::ControlModifier) { for (auto it = hits.begin(); it != hits.end(); ++it) { toggleAtom(*it); } } else { // If the shift modifier is not pressed clear the previous selection. if (!(e->modifiers() & Qt::ShiftModifier)) { clearAtoms(); } for (auto it = hits.begin(); it != hits.end(); ++it) { addAtom(*it); } } } else { // Single click m_start = Vector2(e->pos().x(), e->pos().y()); m_end = m_start; Identifier hit = m_renderer->hit(e->pos().x(), e->pos().y()); // Now add the atom on release. if (hit.type == Rendering::AtomType) { toggleAtom(hit); } } m_drawSelectionBox = false; // Disable this code until rectangle selection is ready. emit drawablesChanged(); e->accept(); return nullptr; } QUndoCommand* SelectionTool::mouseDoubleClickEvent(QMouseEvent* e) { // Reset the atom list if (e->button() == Qt::LeftButton) { clearAtoms(); emit drawablesChanged(); e->accept(); } return nullptr; } QUndoCommand* SelectionTool::mouseMoveEvent(QMouseEvent* e) { // Disable this code until rectangle selection is ready. m_drawSelectionBox = true; m_end = Vector2(e->pos().x(), e->pos().y()); emit drawablesChanged(); e->accept(); return nullptr; } QUndoCommand* SelectionTool::keyPressEvent(QKeyEvent*) { return nullptr; } void SelectionTool::draw(Rendering::GroupNode& node) { if (!m_drawSelectionBox) { node.clear(); return; } GeometryNode* geo = new GeometryNode; node.addChild(geo); MeshGeometry* mesh = new MeshGeometry; mesh->setRenderPass(Rendering::Overlay2DPass); Array verts(4); Vector3f start(m_start.x() < m_end.x() ? m_start.x() : m_end.x(), m_start.y() < m_end.y() ? m_start.y() : m_end.y(), 0.0f); Vector3f end(m_start.x() > m_end.x() ? m_start.x() : m_end.x(), m_start.y() > m_end.y() ? m_start.y() : m_end.y(), 0.0f); start.y() = m_renderer->overlayCamera().height() - start.y(); end.y() = m_renderer->overlayCamera().height() - end.y(); verts[0] = Vector3f(start.x(), end.y(), 0.0f); verts[1] = Vector3f(end.x(), end.y(), 0.0f); verts[2] = Vector3f(start.x(), start.y(), 0.0f); verts[3] = Vector3f(end.x(), start.y(), 0.0f); const Vector3f normal = verts[0].cross(verts[1]).normalized(); Array norms(4, normal); Array indices(6); indices[0] = 0; indices[1] = 1; indices[2] = 2; indices[3] = 2; indices[4] = 1; indices[5] = 3; mesh->setColor(Vector3ub(200, 200, 0)); mesh->setOpacity(180); mesh->addVertices(verts, norms); mesh->addTriangles(indices); geo->addDrawable(mesh); } void SelectionTool::applyColor(Vector3ub color) { for (Index i = 0; i < m_molecule->atomCount(); ++i) { auto a = m_molecule->atom(i); if (a.selected()) a.setColor(color); } m_molecule->emitChanged(Molecule::Atoms); } void SelectionTool::clearAtoms() { for (Index i = 0; i < m_molecule->atomCount(); ++i) m_molecule->atom(i).setSelected(false); } bool SelectionTool::addAtom(const Rendering::Identifier& atom) { m_molecule->atom(atom.index).setSelected(true); return true; } bool SelectionTool::removeAtom(const Rendering::Identifier& atom) { m_molecule->atom(atom.index).setSelected(false); return true; } bool SelectionTool::toggleAtom(const Rendering::Identifier& atom) { Atom a = m_molecule->atom(atom.index); a.setSelected(!a.selected()); return true; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/selectiontool/selectiontool.h000066400000000000000000000055061360735163600260470ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. Adapted from Avogadro 1.x with the following authors' permission: Copyright 2007 Donald Ephraim Curtis Copyright 2008 Marcus D. Hanwell This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SelectionTool_H #define AVOGADRO_QTPLUGINS_SelectionTool_H #include #include #include #include #include namespace Avogadro { namespace QtPlugins { class SelectionToolWidget; /** * @brief SelectionTool selects atoms and bonds from the screen. */ class SelectionTool : public QtGui::ToolPlugin { Q_OBJECT public: explicit SelectionTool(QObject* parent_ = nullptr); ~SelectionTool() override; QString name() const override { return tr("Selection tool"); } QString description() const override { return tr("Selection tool"); } unsigned char priority() const override { return 25; } QAction* activateAction() const override { return m_activateAction; } QWidget* toolWidget() const override; void setMolecule(QtGui::Molecule*) override; void setGLRenderer(Rendering::GLRenderer* renderer) override; QUndoCommand* mousePressEvent(QMouseEvent* e) override; QUndoCommand* mouseReleaseEvent(QMouseEvent* e) override; QUndoCommand* mouseDoubleClickEvent(QMouseEvent* e) override; QUndoCommand* mouseMoveEvent(QMouseEvent* e) override; QUndoCommand* keyPressEvent(QKeyEvent* e) override; void draw(Rendering::GroupNode& node) override; private slots: void applyColor(Vector3ub color); private: void clearAtoms(); bool addAtom(const Rendering::Identifier& atom); bool removeAtom(const Rendering::Identifier& atom); bool toggleAtom(const Rendering::Identifier& atom); QAction* m_activateAction; QtGui::Molecule* m_molecule; Rendering::GLRenderer* m_renderer; SelectionToolWidget* m_toolWidget; bool m_drawSelectionBox; Vector2 m_start; Vector2 m_end; }; inline void SelectionTool::setMolecule(QtGui::Molecule* mol) { if (m_molecule != mol) { m_molecule = mol; } } inline void SelectionTool::setGLRenderer(Rendering::GLRenderer* renderer) { m_renderer = renderer; } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_SelectionTool_H avogadrolibs-1.93.0/avogadro/qtplugins/selectiontool/selectiontool.png000066400000000000000000000036051360735163600264020ustar00rootroot00000000000000PNG  IHDR szz pHYsRtEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmpUTF-8XML:com.adobe.xmp(}n _ћM 8uzUbZ/\UiAݼ.H{aΦI.W΁;pvY Q1.q3N?t`I vn@׼HKVq}A0H!|/A q8!,Y&1 "8L# n.pmPgD$A8BQxE`_@ڋB-3B;$j.p҆8!S *H?²X4gun_5Gn0=ifx*2^9eJ,^ |zV<0eIoud6OτBt$,ϊ &^],On"d1bdžK7_6d{;܈.j06ӽ{yc^֓,͠>{Ly۳u}p6?[>6D 5IDATXŖkPTeg.g]媀Q 342c9לLc5e/((5V/8vA ]PEAYXv&}}QoL6Ir}e6;2_ʲL٪ N.eYKKUUj8.r{l6}JRnZ JV7Dd+V~ /tw ,˓ӹݕ PR y D?|#Gŋ!!acAPWoBիXJt(ڴÕáQ1 $92Z-kjj4g͍HJJX0v A<ηl'O. y~l֬'Sy 1Dɓn޺E~TWZvJy_i ?~M n+Vjn]҅U0šPy79w.Z sc*|.,-C!33QZ Aiyy# `sϢ͍Lػ; selectiontool.png selectiontool@2x.png avogadrolibs-1.93.0/avogadro/qtplugins/selectiontool/selectiontool@2x.png000066400000000000000000000074051360735163600267560ustar00rootroot00000000000000PNG  IHDR@@iqtEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp 6q b uIDATx[ XSW>yIE+R@v V? VQ\ڊvŭ~آUօ u\PT)DHdH2> Is9?0d2tea?.M (H@"dENI ?Eq8Fj&&٢p`!?x@ ܰ[|l@ E,C,FTj/bbxK++|gh ]gJ h) b6 DRp<0x2)Xl60ASP]u 0WRfM@*•k!/ 8uѪd2ik@mu5(h]"뒓倻©'!R.Ntj2jE)@?BHh(}xq]X|sr֏P˗˃'` pzPٌu 544@EExGy32A|IRC[E"=TZB+8ƽML9I|B*ҺX,=*m32, ``YM(;G@{AwKKOCb~7!۫7h pfXX$:A|E焳y0 zh""&|lwE@RRtLi!؝=5đ΍Ox[)Nu*O^/Ў<:JyAhX8;?55 8.,_C~ƍx=xӧż2x"ӧFH$>%4F,-aJd$þ|z9+Ե:O]̓}A>!BՄGF8":l}5:"nHHO݌=Y)DFNիVQajLp43b1,Ml : ž%<5o< +[·$rzRaBEÂhvZhl|BB /E;uz"ݍv|ϜFj]/^0w[F6<Fr⁣@MM mvcG{{ضm;-G'\BhBl8qRwrSNcS:3,,vN!Wg'4C!36eJ$T=AMѣGj3gCv}%hƦ&eG !Æ#=NGp1zX*1á;puGҥۛmD4.#h9Mi %'=(W؆cds~ C ʕQCC~ YX#.jAĮ-L135cgup M yy~(C B?`E2yZ `HKM}3Ls~ i%D,q}ϡu i66`id$/^Hgs3Sp"UPd: X[pv٧4|ΊCS;VV2AވkVhZ|1Sk7n*l}N:8DOE>6!ƼZl%kڂ<)`(>@G ]5rqah8-Sdֳ:4kj Ƒ2+[&ކ+mώmfnnFލ>|dl&~IV޳ mmOn3nIP$RBB o9 C,@|+GG$+3ψe;:Q,==diJsTWLY T&3ctGO`mRc42=w';zC\jֶd/ )M8.a<~RJ$T9s5&fo;)${WaGU~jH`c#~FSPVҴ_@ tl{ ]x+y~ߗWZK:m**,lRF\Ψ*L5Ǥح½*jk73Wm߹Ga~}B͛tY]N!kɶ\153X3Ǽ9[!ߺzhJwm >  +}jCfG@l:"HQYoŭXX5SMk7`XI1Tu@li<ۄTiIlilh(^V(7# $ |[ cca('C1[<\[Ғ+?+ʚ3g!i(Sm' \poVU 暘B(wj]Q/IENDB`avogadrolibs-1.93.0/avogadro/qtplugins/selectiontool/selectiontoolwidget.cpp000066400000000000000000000037651360735163600276130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "selectiontoolwidget.h" #include "ui_selectiontoolwidget.h" #include namespace Avogadro { namespace QtPlugins { SelectionToolWidget::SelectionToolWidget(QWidget* parent) : QWidget(parent), m_ui(new Ui::SelectionToolWidget) { m_ui->setupUi(this); connect(m_ui->applyColorButton, SIGNAL(clicked()), this, SLOT(userClickedColor())); } SelectionToolWidget::~SelectionToolWidget() { delete m_ui; } void SelectionToolWidget::setColor(Vector3ub color) { QColor new_color(color[0], color[1], color[2]); QPalette pal = m_ui->applyColorButton->palette(); pal.setColor(QPalette::Button, new_color); m_ui->applyColorButton->setPalette(pal); m_ui->applyColorButton->update(); } void SelectionToolWidget::userClickedColor() { QColorDialog dlg(this); QPalette pal = m_ui->applyColorButton->palette(); dlg.setCurrentColor(pal.color(QPalette::Button)); if (dlg.exec()) { QColor new_color = dlg.currentColor(); pal.setColor(QPalette::Button, new_color); m_ui->applyColorButton->setPalette(pal); m_ui->applyColorButton->update(); Vector3ub color; color[0] = static_cast(new_color.red()); color[1] = static_cast(new_color.green()); color[2] = static_cast(new_color.blue()); emit colorApplied(color); } } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/selectiontool/selectiontoolwidget.h000066400000000000000000000024731360735163600272530ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SELECTIONTOOLWIDGET_H #define AVOGADRO_QTPLUGINS_SELECTIONTOOLWIDGET_H #include #include namespace Avogadro { namespace QtPlugins { namespace Ui { class SelectionToolWidget; } class SelectionToolWidget : public QWidget { Q_OBJECT public: explicit SelectionToolWidget(QWidget* parent = 0); ~SelectionToolWidget(); void setColor(Vector3ub color); signals: void colorApplied(Vector3ub color); private slots: void userClickedColor(); private: Ui::SelectionToolWidget* m_ui; Vector3ub m_currentColor; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_SELECTIONTOOLWIDGET_H avogadrolibs-1.93.0/avogadro/qtplugins/selectiontool/selectiontoolwidget.ui000066400000000000000000000017551360735163600274430ustar00rootroot00000000000000 Avogadro::QtPlugins::SelectionToolWidget 0 0 400 300 Form Apply Color true true avogadrolibs-1.93.0/avogadro/qtplugins/spacegroup/000077500000000000000000000000001360735163600222725ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/spacegroup/CMakeLists.txt000066400000000000000000000003371360735163600250350ustar00rootroot00000000000000set(spacegroup_srcs spacegroup.cpp ) set(spacegroup_uis ) avogadro_plugin(SpaceGroup "Space group features for crystals." ExtensionPlugin spacegroup.h SpaceGroup "${spacegroup_srcs}" "${spacegroup_uis}" ) avogadrolibs-1.93.0/avogadro/qtplugins/spacegroup/spacegroup.cpp000066400000000000000000000317131360735163600251530ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "spacegroup.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using Avogadro::Core::AvoSpglib; using Avogadro::Core::CrystalTools; using Avogadro::Core::UnitCell; using Avogadro::QtGui::Molecule; namespace Avogadro { namespace QtPlugins { SpaceGroup::SpaceGroup(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_), m_actions(QList()), m_molecule(nullptr), m_spgTol(1e-5), m_perceiveSpaceGroupAction(new QAction(this)), m_reduceToPrimitiveAction(new QAction(this)), m_conventionalizeCellAction(new QAction(this)), m_symmetrizeAction(new QAction(this)), m_fillUnitCellAction(new QAction(this)), m_reduceToAsymmetricUnitAction(new QAction(this)), m_setToleranceAction(new QAction(this)) { m_perceiveSpaceGroupAction->setText(tr("Perceive Space Group")); connect(m_perceiveSpaceGroupAction, SIGNAL(triggered()), SLOT(perceiveSpaceGroup())); m_actions.push_back(m_perceiveSpaceGroupAction); m_perceiveSpaceGroupAction->setProperty("menu priority", 90); m_reduceToPrimitiveAction->setText(tr("Reduce to Primitive")); connect(m_reduceToPrimitiveAction, SIGNAL(triggered()), SLOT(reduceToPrimitive())); m_actions.push_back(m_reduceToPrimitiveAction); m_reduceToPrimitiveAction->setProperty("menu priority", 80); m_conventionalizeCellAction->setText(tr("Conventionalize Cell")); connect(m_conventionalizeCellAction, SIGNAL(triggered()), SLOT(conventionalizeCell())); m_actions.push_back(m_conventionalizeCellAction); m_conventionalizeCellAction->setProperty("menu priority", 70); m_symmetrizeAction->setText(tr("Symmetrize")); connect(m_symmetrizeAction, SIGNAL(triggered()), SLOT(symmetrize())); m_actions.push_back(m_symmetrizeAction); m_symmetrizeAction->setProperty("menu priority", 60); m_fillUnitCellAction->setText(tr("Fill Unit Cell")); connect(m_fillUnitCellAction, SIGNAL(triggered()), SLOT(fillUnitCell())); m_actions.push_back(m_fillUnitCellAction); m_fillUnitCellAction->setProperty("menu priority", 50); m_reduceToAsymmetricUnitAction->setText(tr("Reduce to Asymmetric Unit")); connect(m_reduceToAsymmetricUnitAction, SIGNAL(triggered()), SLOT(reduceToAsymmetricUnit())); m_actions.push_back(m_reduceToAsymmetricUnitAction); m_reduceToAsymmetricUnitAction->setProperty("menu priority", 40); m_setToleranceAction->setText(tr("Set Tolerance")); connect(m_setToleranceAction, SIGNAL(triggered()), SLOT(setTolerance())); m_actions.push_back(m_setToleranceAction); m_setToleranceAction->setProperty("menu priority", 0); updateActions(); } SpaceGroup::~SpaceGroup() { qDeleteAll(m_actions); m_actions.clear(); } QList SpaceGroup::actions() const { return m_actions; } QStringList SpaceGroup::menuPath(QAction*) const { return QStringList() << tr("&Crystal") << tr("Space Group"); } void SpaceGroup::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateActions(); } void SpaceGroup::moleculeChanged(unsigned int c) { Q_ASSERT(m_molecule == qobject_cast(sender())); Molecule::MoleculeChanges changes = static_cast(c); if (changes & Molecule::UnitCell) { if (changes & Molecule::Added || changes & Molecule::Removed) updateActions(); } } void SpaceGroup::updateActions() { // Disable everything for nullptr molecules. if (!m_molecule) { foreach (QAction* action, m_actions) action->setEnabled(false); return; } if (m_molecule->unitCell()) { foreach (QAction* action, m_actions) action->setEnabled(true); } else { foreach (QAction* action, m_actions) action->setEnabled(false); } } void SpaceGroup::perceiveSpaceGroup() { unsigned short hallNumber = AvoSpglib::getHallNumber(*m_molecule, m_spgTol); unsigned short intNum = Core::SpaceGroups::internationalNumber(hallNumber); std::string hallSymbol = Core::SpaceGroups::hallSymbol(hallNumber); std::string intShort = Core::SpaceGroups::internationalShort(hallNumber); // Success! if (hallNumber != 0) { // Let's make the message std::stringstream ss; ss << "Tolerance: " << m_spgTol << " Å" << "\nSpace Group: " << intNum << "\nHall symbol: " << hallSymbol << "\nInternational symbol: " << intShort; // Now let's make the Message Box QMessageBox retMsgBox; retMsgBox.setText(tr(ss.str().c_str())); retMsgBox.exec(); } // Failure else { // Ask if the user wants to try again with a different tolerance QMessageBox::StandardButton reply; reply = QMessageBox::question(nullptr, tr("Failure"), tr("Space group perception failed.\n" "Would you like to try again with a " "different tolerance?"), QMessageBox::Yes | QMessageBox::No); if (reply == QMessageBox::Yes) { setTolerance(); perceiveSpaceGroup(); // Recursion! } } } void SpaceGroup::reduceToPrimitive() { // Confirm the tolerance QMessageBox::StandardButton reply; reply = QMessageBox::question(nullptr, tr("Primitive Reduction"), tr("The tolerance is currently set to: %1.\n" "Proceed with this tolerance?") .arg(m_spgTol), QMessageBox::Yes | QMessageBox::No); if (reply == QMessageBox::No) setTolerance(); // Primitive reduction! bool success = m_molecule->undoMolecule()->reduceCellToPrimitive(m_spgTol); if (!success) { // Print an error message. QMessageBox retMsgBox; retMsgBox.setText(tr("Primitive reduction failed.\n" "Please check your crystal and try again " "with a different tolerance.")); retMsgBox.exec(); } } void SpaceGroup::conventionalizeCell() { // Confirm the tolerance QMessageBox::StandardButton reply; reply = QMessageBox::question(nullptr, tr("Conventionalize Cell"), tr("The tolerance is currently set to: %1.\n" "Proceed with this tolerance?") .arg(m_spgTol), QMessageBox::Yes | QMessageBox::No); if (reply == QMessageBox::No) setTolerance(); // Conventionalize the cell! bool success = m_molecule->undoMolecule()->conventionalizeCell(m_spgTol); if (!success) { // Print an error message. QMessageBox retMsgBox; retMsgBox.setText(tr("Conventionalize cell failed.\n" "Please check your crystal and try again " "with a different tolerance.")); retMsgBox.exec(); } } void SpaceGroup::symmetrize() { // Confirm the tolerance QMessageBox::StandardButton reply; reply = QMessageBox::question(nullptr, tr("Symmetrize Cell"), tr("The tolerance is currently set to: %1.\n" "Proceed with this tolerance?") .arg(m_spgTol), QMessageBox::Yes | QMessageBox::No); if (reply == QMessageBox::No) setTolerance(); bool success = m_molecule->undoMolecule()->symmetrizeCell(m_spgTol); if (!success) { // Print an error message. QMessageBox retMsgBox; retMsgBox.setText(tr("Symmetrization failed.\n" "Please check your crystal and try again " "with a different tolerance.")); retMsgBox.exec(); } } void SpaceGroup::fillUnitCell() { // Ask the user to select a space group unsigned short hallNumber = selectSpaceGroup(); // If the hall number is zero, the user canceled if (hallNumber == 0) return; m_molecule->undoMolecule()->fillUnitCell(hallNumber, m_spgTol); } void SpaceGroup::reduceToAsymmetricUnit() { // Let's gather some information about the space group first unsigned short hallNumber = AvoSpglib::getHallNumber(*m_molecule, m_spgTol); unsigned short intNum = Core::SpaceGroups::internationalNumber(hallNumber); std::string hallSymbol = Core::SpaceGroups::hallSymbol(hallNumber); std::string intShort = Core::SpaceGroups::internationalShort(hallNumber); // Ask the user if he/she wants to use this space group std::stringstream ss; ss << "With a tolerance of " << m_spgTol << " Å, " << "the space group information was perceived to be the following:" << "\nSpace Group: " << intNum << "\nHall symbol: " << hallSymbol << "\nInternational symbol: " << intShort << "\n\nProceed with this space group?"; QMessageBox::StandardButton reply; reply = QMessageBox::question(nullptr, tr("Reduce to Asymmetric Unit"), tr(ss.str().c_str()), QMessageBox::Yes | QMessageBox::No); // If the user does not want to use the perceived space group, // let the user set it. if (reply == QMessageBox::No) hallNumber = selectSpaceGroup(); // If 0 was set, that means the user cancelled if (hallNumber == 0) return; // Perform the operation! m_molecule->undoMolecule()->reduceCellToAsymmetricUnit(hallNumber, m_spgTol); } void SpaceGroup::setTolerance() { bool ok; double tol = QInputDialog::getDouble(nullptr, tr("Avogadro2"), // title tr("Select tolerance in Å:"), // label m_spgTol, // initial 1e-5, // min 0.5, // max 5, // decimals &ok); if (!ok) return; m_spgTol = tol; } unsigned short SpaceGroup::selectSpaceGroup() { QStandardItemModel spacegroups; QStringList modelHeader; modelHeader << tr("International") << tr("Hall") << tr("Hermann-Mauguin"); spacegroups.setHorizontalHeaderLabels(modelHeader); for (unsigned short i = 1; i <= 530; ++i) { QList row; row << new QStandardItem( QString::number(Core::SpaceGroups::internationalNumber(i))) << new QStandardItem(QString(Core::SpaceGroups::hallSymbol(i))) << new QStandardItem(QString(Core::SpaceGroups::internationalShort(i))); spacegroups.appendRow(row); } QDialog dialog; dialog.setLayout(new QVBoxLayout); dialog.setWindowTitle(tr("Select Space Group")); QTableView* view = new QTableView; view->setSelectionBehavior(QAbstractItemView::SelectRows); view->setSelectionMode(QAbstractItemView::SingleSelection); view->setCornerButtonEnabled(false); view->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); view->verticalHeader()->hide(); view->setModel(&spacegroups); dialog.layout()->addWidget(view); view->selectRow(0); view->resizeColumnsToContents(); view->resizeRowsToContents(); view->setMinimumWidth(view->horizontalHeader()->length() + view->verticalScrollBar()->sizeHint().width()); connect(view, SIGNAL(activated(QModelIndex)), &dialog, SLOT(accept())); QDialogButtonBox* buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttons, SIGNAL(accepted()), &dialog, SLOT(accept())); connect(buttons, SIGNAL(rejected()), &dialog, SLOT(reject())); dialog.layout()->addWidget(buttons); if (dialog.exec() != QDialog::Accepted) return 0; // This should be hall number return view->currentIndex().row() + 1; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/spacegroup/spacegroup.h000066400000000000000000000043041360735163600246140ustar00rootroot00000000000000/******************************************************************************* This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. *******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SPACEGROUP_H #define AVOGADRO_QTPLUGINS_SPACEGROUP_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Space group features for crystals. */ class SpaceGroup : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit SpaceGroup(QObject* parent_ = 0); ~SpaceGroup(); QString name() const { return tr("SpaceGroup"); } QString description() const; QList actions() const; QStringList menuPath(QAction*) const; public slots: void setMolecule(QtGui::Molecule* mol); void moleculeChanged(unsigned int changes); private slots: void updateActions(); void perceiveSpaceGroup(); void reduceToPrimitive(); void conventionalizeCell(); void symmetrize(); void fillUnitCell(); void reduceToAsymmetricUnit(); void setTolerance(); private: // Pop up a dialog box and ask the user to select a space group. // Returns the hall number for the selected space group. // Returns 0 if the user canceled. unsigned short selectSpaceGroup(); QList m_actions; QtGui::Molecule* m_molecule; double m_spgTol; QAction* m_perceiveSpaceGroupAction; QAction* m_reduceToPrimitiveAction; QAction* m_conventionalizeCellAction; QAction* m_symmetrizeAction; QAction* m_fillUnitCellAction; QAction* m_reduceToAsymmetricUnitAction; QAction* m_setToleranceAction; }; inline QString SpaceGroup::description() const { return tr("Space group features for crystals."); } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_SPACEGROUP_H avogadrolibs-1.93.0/avogadro/qtplugins/spectra/000077500000000000000000000000001360735163600215635ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/spectra/CMakeLists.txt000066400000000000000000000003231360735163600243210ustar00rootroot00000000000000set(plugin_srcs vibrationdialog.cpp vibrationmodel.cpp spectra.cpp ) avogadro_plugin(Spectra "Spectra and Vibrations" ExtensionPlugin spectra.h Spectra "${plugin_srcs}" "vibrationdialog.ui" ) avogadrolibs-1.93.0/avogadro/qtplugins/spectra/spectra.cpp000066400000000000000000000127361360735163600237410ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "spectra.h" #include "vibrationdialog.h" #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { Spectra::Spectra(QObject* p) : ExtensionPlugin(p), m_molecule(nullptr), m_dialog(nullptr), m_timer(nullptr), m_mode(0), m_amplitude(20) { QAction* action = new QAction(this); action->setEnabled(false); action->setText(tr("Vibrational modes...")); connect(action, SIGNAL(triggered()), SLOT(openDialog())); m_actions.push_back(action); } Spectra::~Spectra() { } QList Spectra::actions() const { return m_actions; } QStringList Spectra::menuPath(QAction*) const { QStringList path; path << tr("&Quantum"); return path; } void Spectra::setMolecule(QtGui::Molecule* mol) { bool isVibrational(false); if (mol->vibrationFrequencies().size()) isVibrational = true; m_actions[0]->setEnabled(isVibrational); m_molecule = mol; if (m_dialog) m_dialog->setMolecule(mol); } void Spectra::setMode(int mode) { if (mode >= 0 && mode < static_cast(m_molecule->vibrationFrequencies().size())) { m_mode = mode; // Now calculate the frames and set them on the molecule. m_molecule->setCoordinate3d(0); Core::Array atomPositions = m_molecule->atomPositions3d(); Core::Array atomDisplacements = m_molecule->vibrationLx(mode); int frames = 5; int frameCounter = 0; m_molecule->setCoordinate3d(atomPositions, frameCounter++); double factor = 0.01 * m_amplitude; // Current coords + displacement. for (int i = 1; i <= frames; ++i) { Core::Array framePositions; for (Index atom = 0; atom < m_molecule->atomCount(); ++atom) { framePositions.push_back(atomPositions[atom] + atomDisplacements[atom] * factor * (double(i) / frames)); } m_molecule->setCoordinate3d(framePositions, frameCounter++); } // + displacement back to original. for (int i = frames - 1; i >= 0; --i) { Core::Array framePositions; for (Index atom = 0; atom < m_molecule->atomCount(); ++atom) { framePositions.push_back(atomPositions[atom] + atomDisplacements[atom] * factor * (double(i) / frames)); } m_molecule->setCoordinate3d(framePositions, frameCounter++); } // Current coords - displacement. for (int i = 1; i <= frames; ++i) { Core::Array framePositions; for (Index atom = 0; atom < m_molecule->atomCount(); ++atom) { framePositions.push_back(atomPositions[atom] - atomDisplacements[atom] * factor * (double(i) / frames)); } m_molecule->setCoordinate3d(framePositions, frameCounter++); } // - displacement back to original. for (int i = frames - 1; i >= 0; --i) { Core::Array framePositions; for (Index atom = 0; atom < m_molecule->atomCount(); ++atom) { framePositions.push_back(atomPositions[atom] - atomDisplacements[atom] * factor * (double(i) / frames)); } m_molecule->setCoordinate3d(framePositions, frameCounter++); } } } void Spectra::setAmplitude(int amplitude) { m_amplitude = amplitude; setMode(m_mode); } void Spectra::startVibrationAnimation() { // First calculate our frames, and then start our timer. m_totalFrames = m_molecule->coordinate3dCount(); m_currentFrame = 0; if (!m_timer) { m_timer = new QTimer(this); connect(m_timer, SIGNAL(timeout()), SLOT(advanceFrame())); } if (!m_timer->isActive()) { m_timer->start(50); } } void Spectra::stopVibrationAnimation() { if (m_timer && m_timer->isActive()) { m_timer->stop(); m_molecule->setCoordinate3d(0); m_currentFrame = 0; m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Added); } } void Spectra::openDialog() { if (!m_dialog) { m_dialog = new VibrationDialog(qobject_cast(parent())); connect(m_dialog, SIGNAL(modeChanged(int)), SLOT(setMode(int))); connect(m_dialog, SIGNAL(amplitudeChanged(int)), SLOT(setAmplitude(int))); connect(m_dialog, SIGNAL(startAnimation()), SLOT(startVibrationAnimation())); connect(m_dialog, SIGNAL(stopAnimation()), SLOT(stopVibrationAnimation())); } if (m_molecule) m_dialog->setMolecule(m_molecule); m_dialog->show(); } void Spectra::advanceFrame() { if (++m_currentFrame >= m_totalFrames) m_currentFrame = 0; m_molecule->setCoordinate3d(m_currentFrame); m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Added); } } } avogadrolibs-1.93.0/avogadro/qtplugins/spectra/spectra.h000066400000000000000000000034721360735163600234030ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SPECTRA_H #define AVOGADRO_QTPLUGINS_SPECTRA_H #include class QAction; class QDialog; class QTimer; namespace Avogadro { namespace QtPlugins { class VibrationDialog; /** * @brief The Spectra plugin handles vibrations and spectra. */ class Spectra : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit Spectra(QObject* parent = 0); ~Spectra() override; QString name() const override { return tr("Spectra and Vibrations"); } QString description() const override { return tr("Display spectra and vibrational modes."); } QList actions() const override; QStringList menuPath(QAction*) const override; void setMolecule(QtGui::Molecule* mol) override; public slots: void setMode(int mode); void setAmplitude(int amplitude); void startVibrationAnimation(); void stopVibrationAnimation(); void openDialog(); private slots: void advanceFrame(); private: QList m_actions; QtGui::Molecule* m_molecule; VibrationDialog* m_dialog; QTimer* m_timer; int m_currentFrame; int m_totalFrames; int m_mode; int m_amplitude; }; } } #endif // AVOGADRO_QTPLUGINS_Spectra_H avogadrolibs-1.93.0/avogadro/qtplugins/spectra/vibrationdialog.cpp000066400000000000000000000050521360735163600254460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "vibrationdialog.h" #include "ui_vibrationdialog.h" #include "vibrationmodel.h" #include namespace Avogadro { namespace QtPlugins { VibrationDialog::VibrationDialog(QWidget* parent_, Qt::WindowFlags f) : QDialog(parent_, f), m_ui(new Ui::VibrationDialog) { m_ui->setupUi(this); m_ui->tableView->verticalHeader()->setVisible(false); m_ui->tableView->horizontalHeader()->setSectionResizeMode( QHeaderView::Stretch); m_ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows); m_ui->tableView->setSelectionMode(QAbstractItemView::ExtendedSelection); connect(m_ui->amplitudeSlider, SIGNAL(sliderMoved(int)), SIGNAL(amplitudeChanged(int))); connect(m_ui->startButton, SIGNAL(clicked(bool)), SIGNAL(startAnimation())); connect(m_ui->stopButton, SIGNAL(clicked(bool)), SIGNAL(stopAnimation())); } VibrationDialog::~VibrationDialog() { delete m_ui; } void VibrationDialog::setMolecule(QtGui::Molecule* molecule) { if (m_ui->tableView->selectionModel()) { disconnect(m_ui->tableView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), this, SLOT(selectRow(QModelIndex))); } VibrationModel* model = new VibrationModel(this); model->setMolecule(molecule); m_ui->tableView->setModel(model); connect(m_ui->tableView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex, QModelIndex)), SLOT(selectRow(QModelIndex))); Core::Array freqs = molecule->vibrationFrequencies(); for (size_t i = 0; i < freqs.size(); ++i) { if (freqs[i] > 0.5) { m_ui->tableView->selectRow(static_cast(i)); emit modeChanged(i); break; } } } int VibrationDialog::currentMode() const { return m_ui->tableView->currentIndex().row(); } void VibrationDialog::selectRow(QModelIndex idx) { emit modeChanged(idx.row()); } } // End namespace QtPlugins } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/spectra/vibrationdialog.h000066400000000000000000000030021360735163600251040ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_VIBRATIONDIALOG_H #define AVOGADRO_QTPLUGINS_VIBRATIONDIALOG_H #include #include #include namespace Ui { class VibrationDialog; } namespace Avogadro { namespace QtPlugins { /** * @brief The VibrationDialog presents vibrational modes. */ class VibrationDialog : public QDialog { Q_OBJECT public: VibrationDialog(QWidget* parent = 0, Qt::WindowFlags f = 0); ~VibrationDialog() override; void setMolecule(QtGui::Molecule* molecule); int currentMode() const; protected slots: void selectRow(QModelIndex); signals: void modeChanged(int mode); void amplitudeChanged(int amplitude); void startAnimation(); void stopAnimation(); private: Ui::VibrationDialog* m_ui; }; } // End namespace QtPlugins } // End namespace Avogadro #endif // AVOGADRO_QTPLUGINS_VibrationDialog_H avogadrolibs-1.93.0/avogadro/qtplugins/spectra/vibrationdialog.ui000066400000000000000000000055561360735163600253120ustar00rootroot00000000000000 VibrationDialog 0 0 500 600 Vibrational Modes 5 5 5 5 QAbstractItemView::NoEditTriggers false false true QAbstractItemView::ContiguousSelection QAbstractItemView::SelectRows Amplitude: 20 Qt::Horizontal QSlider::TicksBothSides 10 Qt::Horizontal 40 20 Start Animation Stop Animation avogadrolibs-1.93.0/avogadro/qtplugins/spectra/vibrationmodel.cpp000066400000000000000000000054551360735163600253160ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "vibrationmodel.h" #include namespace Avogadro { namespace QtPlugins { VibrationModel::VibrationModel(QObject* p) : QAbstractItemModel(p), m_molecule(nullptr) { } QModelIndex VibrationModel::parent(const QModelIndex&) const { return QModelIndex(); } int VibrationModel::rowCount(const QModelIndex& p) const { if (p.isValid() || !m_molecule) return 0; else return m_molecule->vibrationFrequencies().size(); } int VibrationModel::columnCount(const QModelIndex&) const { return 2; } Qt::ItemFlags VibrationModel::flags(const QModelIndex&) const { return Qt::ItemIsEnabled | Qt::ItemIsSelectable; } QVariant VibrationModel::headerData(int section, Qt::Orientation orientation, int role) const { if (role == Qt::DisplayRole) { if (orientation == Qt::Horizontal) { switch (section) { case 0: return QString("Frequency (cm⁻¹)"); case 1: return QString("Intensity (KM/mol)"); } } } return QVariant(); } bool VibrationModel::setData(const QModelIndex&, const QVariant&, int) { return false; } QVariant VibrationModel::data(const QModelIndex& idx, int role) const { if (!idx.isValid() || idx.column() > 2 || !m_molecule || m_molecule->vibrationFrequencies().size() <= idx.row()) { return QVariant(); } if (role == Qt::DisplayRole) { switch (idx.column()) { case 0: if (m_molecule->vibrationFrequencies().size() > idx.row()) return m_molecule->vibrationFrequencies()[idx.row()]; else return "No value"; case 1: if (m_molecule->vibrationIntensities().size() > idx.row()) return m_molecule->vibrationIntensities()[idx.row()]; else return "No value"; default: return "Invalid"; } } return QVariant(); } QModelIndex VibrationModel::index(int row, int column, const QModelIndex& p) const { if (!p.isValid()) if (row >= 0 && m_molecule && row < m_molecule->vibrationFrequencies().size()) return createIndex(row, column); return QModelIndex(); } void VibrationModel::clear() { } } } avogadrolibs-1.93.0/avogadro/qtplugins/spectra/vibrationmodel.h000066400000000000000000000034101360735163600247500ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_VIBRATIONMODEL_H #define AVOGADRO_QTPLUGINS_VIBRATIONMODEL_H #include namespace Avogadro { namespace QtGui { class Molecule; } namespace QtPlugins { class VibrationModel : public QAbstractItemModel { public: explicit VibrationModel(QObject* p = 0); QModelIndex parent(const QModelIndex& child) const override; int rowCount(const QModelIndex& parent) const override; int columnCount(const QModelIndex& parent) const override; Qt::ItemFlags flags(const QModelIndex& index) const override; QVariant headerData(int section, Qt::Orientation orientation, int role) const override; bool setData(const QModelIndex& index, const QVariant& value, int role) override; QVariant data(const QModelIndex& index, int role) const override; QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override; void clear(); void setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } signals: public slots: private: QtGui::Molecule* m_molecule; }; } } #endif // AVOGADRO_QTPLUGINS_VIBRATIONMODEL_H avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/000077500000000000000000000000001360735163600217355ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/CMakeLists.txt000066400000000000000000000007051360735163600244770ustar00rootroot00000000000000include_directories(SYSTEM "${AvogadroLibs_SOURCE_DIR}/thirdparty/libgwavi" "${AvogadroLibs_SOURCE_DIR}/thirdparty/gif-h") set(surfaces_srcs gaussiansetconcurrent.cpp slatersetconcurrent.cpp surfacedialog.cpp surfaces.cpp ) avogadro_plugin(Surfaces "Surfaces" ExtensionPlugin surfaces.h Surfaces "${surfaces_srcs}" "surfacedialog.ui" ) target_link_libraries(Surfaces LINK_PRIVATE AvogadroQuantumIO ${Qt5Concurrent_LIBRARIES}) avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/gaussiansetconcurrent.cpp000066400000000000000000000107501360735163600270750ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gaussiansetconcurrent.h" #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::BasisSet; using Core::Cube; using Core::GaussianSet; using Core::GaussianSetTools; using Core::Molecule; template class BasisSetConcurrent { void setMolecule(Molecule* mol) { static_cast(this)->setMolecule(mol); } }; struct GaussianShell { GaussianSetTools* tools; // A pointer to the tools, can't write to member vars Cube* tCube; // The target cube, used to initialise temp cubes too unsigned int pos; // The index of the point to calculate the MO for unsigned int state; // The MO number to calculate }; GaussianSetConcurrent::GaussianSetConcurrent(QObject* p) : QObject(p), m_gaussianShells(nullptr), m_set(nullptr), m_tools(nullptr) { // Watch for the future connect(&m_watcher, SIGNAL(finished()), this, SLOT(calculationComplete())); } GaussianSetConcurrent::~GaussianSetConcurrent() { delete m_gaussianShells; } void GaussianSetConcurrent::setMolecule(Core::Molecule* mol) { if (!mol) return; m_set = dynamic_cast(mol->basisSet()); if (m_tools) delete m_tools; m_tools = new GaussianSetTools(mol); } bool GaussianSetConcurrent::calculateMolecularOrbital(Core::Cube* cube, unsigned int state, bool beta) { // We can do some initial set up of the tools here to set electron type. if (!beta) m_tools->setElectronType(BasisSet::Alpha); else m_tools->setElectronType(BasisSet::Beta); return setUpCalculation(cube, state, GaussianSetConcurrent::processOrbital); } bool GaussianSetConcurrent::calculateElectronDensity(Core::Cube* cube) { return setUpCalculation(cube, 0, GaussianSetConcurrent::processDensity); } bool GaussianSetConcurrent::calculateSpinDensity(Core::Cube* cube) { return setUpCalculation(cube, 0, GaussianSetConcurrent::processSpinDensity); } void GaussianSetConcurrent::calculationComplete() { (*m_gaussianShells)[0].tCube->lock()->unlock(); delete m_gaussianShells; m_gaussianShells = 0; emit finished(); } bool GaussianSetConcurrent::setUpCalculation(Core::Cube* cube, unsigned int state, void (*func)(GaussianShell&)) { if (!m_set || !m_tools) return false; m_set->initCalculation(); // Set up the points we want to calculate the density at. m_gaussianShells = new QVector(static_cast(cube->data()->size())); for (int i = 0; i < m_gaussianShells->size(); ++i) { (*m_gaussianShells)[i].tools = m_tools; (*m_gaussianShells)[i].tCube = cube; (*m_gaussianShells)[i].pos = i; (*m_gaussianShells)[i].state = state; } // Lock the cube until we are done. cube->lock()->lock(); // The main part of the mapped reduced function... m_future = QtConcurrent::map(*m_gaussianShells, func); // Connect our watcher to our future m_watcher.setFuture(m_future); return true; } void GaussianSetConcurrent::processOrbital(GaussianShell& shell) { Vector3 pos = shell.tCube->position(shell.pos); shell.tCube->setValue( shell.pos, shell.tools->calculateMolecularOrbital(pos, shell.state)); } void GaussianSetConcurrent::processDensity(GaussianShell& shell) { Vector3 pos = shell.tCube->position(shell.pos); shell.tCube->setValue(shell.pos, shell.tools->calculateElectronDensity(pos)); } void GaussianSetConcurrent::processSpinDensity(GaussianShell& shell) { Vector3 pos = shell.tCube->position(shell.pos); shell.tCube->setValue(shell.pos, shell.tools->calculateSpinDensity(pos)); } } } avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/gaussiansetconcurrent.h000066400000000000000000000044441360735163600265450ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef GAUSSIANSETCONCURRENT_H #define GAUSSIANSETCONCURRENT_H #include #include #include namespace Avogadro { namespace Core { class Cube; class Molecule; class GaussianSet; class GaussianSetTools; } namespace QtPlugins { struct GaussianShell; /** * @brief The GaussianSetConcurrent class uses GaussianSetTools to calculate * values of electronic structure properties from quantum output read in. * @author Marcus D. Hanwell */ class GaussianSetConcurrent : public QObject { Q_OBJECT public: explicit GaussianSetConcurrent(QObject* p = 0); ~GaussianSetConcurrent() override; void setMolecule(Core::Molecule* mol); bool calculateMolecularOrbital(Core::Cube* cube, unsigned int state, bool beta = false); bool calculateElectronDensity(Core::Cube* cube); bool calculateSpinDensity(Core::Cube* cube); QFutureWatcher& watcher() { return m_watcher; } signals: /** * Emitted when the calculation is complete. */ void finished(); private slots: /** * Slot to set the cube data once Qt Concurrent is done */ void calculationComplete(); private: QFuture m_future; QFutureWatcher m_watcher; Core::Cube* m_cube; QVector* m_gaussianShells; Core::GaussianSet* m_set; Core::GaussianSetTools* m_tools; bool setUpCalculation(Core::Cube* cube, unsigned int state, void (*func)(GaussianShell&)); static void processOrbital(GaussianShell& shell); static void processDensity(GaussianShell& shell); static void processSpinDensity(GaussianShell& shell); }; } } #endif // GAUSSIANSETCONCURRENT_H avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/slatersetconcurrent.cpp000066400000000000000000000075201360735163600265560ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "slatersetconcurrent.h" #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::SlaterSet; using Core::SlaterSetTools; using Core::Cube; struct SlaterShell { SlaterSetTools* tools; // A pointer to the tools, cannot write to member vars Cube* tCube; // The target cube, used to initialise temp cubes too unsigned int pos; // The index of the point to calculate the MO for unsigned int state; // The MO number to calculate }; SlaterSetConcurrent::SlaterSetConcurrent(QObject* p) : QObject(p), m_shells(nullptr), m_set(nullptr), m_tools(nullptr) { // Watch for the future connect(&m_watcher, SIGNAL(finished()), this, SLOT(calculationComplete())); } SlaterSetConcurrent::~SlaterSetConcurrent() { delete m_shells; } void SlaterSetConcurrent::setMolecule(Core::Molecule* mol) { if (!mol) return; m_set = dynamic_cast(mol->basisSet()); if (m_tools) delete m_tools; m_tools = new SlaterSetTools(mol); } bool SlaterSetConcurrent::calculateMolecularOrbital(Core::Cube* cube, unsigned int state) { return setUpCalculation(cube, state, SlaterSetConcurrent::processOrbital); } bool SlaterSetConcurrent::calculateElectronDensity(Core::Cube* cube) { return setUpCalculation(cube, 0, SlaterSetConcurrent::processDensity); } bool SlaterSetConcurrent::calculateSpinDensity(Core::Cube* cube) { return setUpCalculation(cube, 0, SlaterSetConcurrent::processSpinDensity); } void SlaterSetConcurrent::calculationComplete() { (*m_shells)[0].tCube->lock()->unlock(); delete m_shells; m_shells = 0; emit finished(); } bool SlaterSetConcurrent::setUpCalculation(Core::Cube* cube, unsigned int state, void (*func)(SlaterShell&)) { if (!m_set || !m_tools) return false; m_set->initCalculation(); // Set up the points we want to calculate the density at. m_shells = new QVector(static_cast(cube->data()->size())); for (int i = 0; i < m_shells->size(); ++i) { (*m_shells)[i].tools = m_tools; (*m_shells)[i].tCube = cube; (*m_shells)[i].pos = i; (*m_shells)[i].state = state; } // Lock the cube until we are done. cube->lock()->lock(); // The main part of the mapped reduced function... m_future = QtConcurrent::map(*m_shells, func); // Connect our watcher to our future m_watcher.setFuture(m_future); return true; } void SlaterSetConcurrent::processOrbital(SlaterShell& shell) { Vector3 pos = shell.tCube->position(shell.pos); shell.tCube->setValue( shell.pos, shell.tools->calculateMolecularOrbital(pos, shell.state)); } void SlaterSetConcurrent::processDensity(SlaterShell& shell) { Vector3 pos = shell.tCube->position(shell.pos); shell.tCube->setValue(shell.pos, shell.tools->calculateElectronDensity(pos)); } void SlaterSetConcurrent::processSpinDensity(SlaterShell& shell) { Vector3 pos = shell.tCube->position(shell.pos); shell.tCube->setValue(shell.pos, shell.tools->calculateSpinDensity(pos)); } } } avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/slatersetconcurrent.h000066400000000000000000000043751360735163600262300ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SLATERSETCONCURRENT_H #define AVOGADRO_QTPLUGINS_SLATERSETCONCURRENT_H #include #include #include namespace Avogadro { namespace Core { class Cube; class Molecule; class SlaterSet; class SlaterSetTools; } namespace QtPlugins { struct SlaterShell; /** * @brief The SlaterSetConcurrent class uses SlaterSetTools to calculate values * of electronic structure properties from quantum output read in. * @author Marcus D. Hanwell */ class SlaterSetConcurrent : public QObject { Q_OBJECT public: explicit SlaterSetConcurrent(QObject* p = 0); ~SlaterSetConcurrent() override; void setMolecule(Core::Molecule* mol); bool calculateMolecularOrbital(Core::Cube* cube, unsigned int state); bool calculateElectronDensity(Core::Cube* cube); bool calculateSpinDensity(Core::Cube* cube); QFutureWatcher& watcher() { return m_watcher; } signals: /** * Emitted when the calculation is complete. */ void finished(); private slots: /** * Slot to set the cube data once Qt Concurrent is done */ void calculationComplete(); private: QFuture m_future; QFutureWatcher m_watcher; Core::Cube* m_cube; QVector* m_shells; Core::SlaterSet* m_set; Core::SlaterSetTools* m_tools; bool setUpCalculation(Core::Cube* cube, unsigned int state, void (*func)(SlaterShell&)); static void processOrbital(SlaterShell& shell); static void processDensity(SlaterShell& shell); static void processSpinDensity(SlaterShell& shell); }; } } #endif // AVOGADRO_QTPLUGINS_SLATERSETCONCURRENT_H avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/surfacedialog.cpp000066400000000000000000000163641360735163600252630ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2009 Marcus D. Hanwell Copyright 2012-2013 Kitware, Inc. Copyright 2018 Geoffrey Hutchison This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "surfacedialog.h" #include "ui_surfacedialog.h" namespace Avogadro { namespace QtPlugins { SurfaceDialog::SurfaceDialog(QWidget* parent_, Qt::WindowFlags f) : QDialog(parent_, f), m_ui(new Ui::SurfaceDialog) { m_ui->setupUi(this); setupSteps(1); m_ui->orbitalCombo->setVisible(false); m_ui->spinCombo->setVisible(false); m_ui->chargeCombo->setVisible(false); m_ui->recordButton->setVisible(false); // set the data for the default items /* Don't add surface types that aren't available yet, uncomment once they are. m_ui->surfaceCombo->addItem(tr("Van der Waals"), Surfaces::Type::VanDerWaals); m_ui->surfaceCombo->addItem(tr("Solvent Accessible"), Surfaces::Type::SolventAccessible); m_ui->surfaceCombo->addItem(tr("Solvent Excluded"), Surfaces::Type::SolventExcluded); */ connect(m_ui->surfaceCombo, SIGNAL(currentIndexChanged(int)), SLOT(surfaceComboChanged(int))); connect(m_ui->resolutionCombo, SIGNAL(currentIndexChanged(int)), SLOT(resolutionComboChanged(int))); connect(m_ui->stepValue, SIGNAL(valueChanged(int)), SIGNAL(stepChanged(int))); connect(m_ui->calculateButton, SIGNAL(clicked()), SLOT(calculateClicked())); connect(m_ui->recordButton, SIGNAL(clicked()), SLOT(record())); } SurfaceDialog::~SurfaceDialog() { delete m_ui; } void SurfaceDialog::surfaceComboChanged(int n) { int type = m_ui->surfaceCombo->itemData(n).toInt(); if (type == Surfaces::Type::MolecularOrbital || type == Surfaces::Type::FromFile) { m_ui->orbitalCombo->setEnabled(true); } else { m_ui->orbitalCombo->setEnabled(false); } } void SurfaceDialog::resolutionComboChanged(int n) { // resolutions are in Angstrom switch (n) { case 0: // Very low resolution m_ui->resolutionDoubleSpinBox->setValue(0.5); m_ui->resolutionDoubleSpinBox->setEnabled(false); break; case 1: // Low resolution m_ui->resolutionDoubleSpinBox->setValue(0.35); m_ui->resolutionDoubleSpinBox->setEnabled(false); break; case 2: // Medium resolution m_ui->resolutionDoubleSpinBox->setValue(0.18); m_ui->resolutionDoubleSpinBox->setEnabled(false); break; case 3: // High resolution m_ui->resolutionDoubleSpinBox->setValue(0.1); m_ui->resolutionDoubleSpinBox->setEnabled(false); break; case 4: // Very high resolution m_ui->resolutionDoubleSpinBox->setValue(0.05); m_ui->resolutionDoubleSpinBox->setEnabled(false); break; case 5: // Custom resolution m_ui->resolutionDoubleSpinBox->setValue(0.18); m_ui->resolutionDoubleSpinBox->setEnabled(true); break; default: m_ui->resolutionDoubleSpinBox->setValue(0.18); m_ui->resolutionDoubleSpinBox->setEnabled(false); break; } } void SurfaceDialog::setupBasis(int numElectrons, int numMOs, bool beta) { // only if we have electrons if (numMOs < 1) return; m_ui->orbitalCombo->setVisible(true); m_ui->orbitalCombo->setEnabled(false); m_ui->surfaceCombo->addItem(tr("Molecular Orbital"), Surfaces::Type::MolecularOrbital); m_ui->surfaceCombo->addItem(tr("Electron Density"), Surfaces::Type::ElectronDensity); if (beta) { m_ui->spinCombo->setVisible(true); m_ui->spinCombo->setEnabled(true); } // TODO: this class doesn't know about alpha / beta spin right now /* if (numElectrons % 2 != 0) { m_ui->surfaceCombo->addItem(tr("Spin Density"), Surfaces::Type::SpinDensity); m_ui->spinCombo->setVisible(true); m_ui->spinCombo->setEnabled(true); } */ // TODO: get this from the basis information QString text; for (int i = 1; i <= numMOs; ++i) { text = tr("MO %L1", "Molecular orbital").arg(i); if (i == numElectrons / 2) text += ' ' + tr("(HOMO)", "Highest occupied molecular orbital"); if (i == numElectrons / 2 + 1) text += ' ' + tr("(LUMO)", "Lowest unoccupied molecular orbital"); m_ui->orbitalCombo->addItem(text); } m_ui->orbitalCombo->setCurrentIndex(numElectrons / 2); } void SurfaceDialog::setupCubes(QStringList cubeNames) { if (cubeNames.size() < 1) return; m_ui->orbitalCombo->setVisible(true); m_ui->orbitalCombo->setEnabled(true); m_ui->surfaceCombo->addItem(tr("From File"), Surfaces::Type::FromFile); for (int i = 0; i < cubeNames.size(); ++i) { m_ui->orbitalCombo->addItem(cubeNames[i]); } m_ui->orbitalCombo->setCurrentIndex(0); } void SurfaceDialog::setupSteps(int stepCount) { if (stepCount < 2) { m_ui->stepValue->setEnabled(false); m_ui->recordButton->setEnabled(false); m_ui->recordButton->setVisible(false); m_ui->vcrBack->setEnabled(false); m_ui->vcrBack->setVisible(false); m_ui->vcrPlay->setEnabled(false); m_ui->vcrPlay->setVisible(false); m_ui->vcrForward->setEnabled(false); m_ui->vcrForward->setVisible(false); } else { m_ui->stepValue->setEnabled(true); m_ui->stepValue->setRange(1, stepCount); m_ui->stepValue->setSuffix(tr(" of %0").arg(stepCount)); m_ui->recordButton->setEnabled(true); m_ui->recordButton->setVisible(true); /* Disable for now, this would be nice in future. m_ui->vcrBack->setEnabled(true); m_ui->vcrBack->setVisible(true); m_ui->vcrPlay->setEnabled(true); m_ui->vcrPlay->setVisible(true); m_ui->vcrForward->setEnabled(true); m_ui->vcrForward->setVisible(true); */ } } Surfaces::Type SurfaceDialog::surfaceType() { return static_cast(m_ui->surfaceCombo->currentData().toInt()); } int SurfaceDialog::surfaceIndex() { return m_ui->orbitalCombo->currentIndex(); } bool SurfaceDialog::beta() { return m_ui->spinCombo->currentIndex() == 1; } float SurfaceDialog::isosurfaceValue() { return static_cast(m_ui->isosurfaceDoubleSpinBox->value()); } float SurfaceDialog::resolution() { return static_cast(m_ui->resolutionDoubleSpinBox->value()); } int SurfaceDialog::step() { return m_ui->stepValue->value(); } void SurfaceDialog::setStep(int step) { m_ui->stepValue->setValue(step); } void SurfaceDialog::calculateClicked() { m_ui->calculateButton->setEnabled(false); emit calculateClickedSignal(); } void SurfaceDialog::reenableCalculateButton() { m_ui->calculateButton->setEnabled(true); } void SurfaceDialog::record() { m_ui->calculateButton->setEnabled(false); m_ui->recordButton->setEnabled(false); emit recordClicked(); } void SurfaceDialog::enableRecord() { m_ui->calculateButton->setEnabled(true); m_ui->recordButton->setEnabled(true); } } // End namespace QtPlugins } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/surfacedialog.h000066400000000000000000000041701360735163600247200ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2009 Marcus D. Hanwell Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SURFACEDIALOG_H #define AVOGADRO_QTPLUGINS_SURFACEDIALOG_H #include #include #include "surfaces.h" // for the enum namespace Ui { class SurfaceDialog; } namespace Avogadro { namespace QtPlugins { /** * @brief The SurfaceDialog presents various properties that have been read in * from a quantum output file and provides interface to initiate calculations. */ class SurfaceDialog : public QDialog { Q_OBJECT public: SurfaceDialog(QWidget* parent = 0, Qt::WindowFlags f = 0); ~SurfaceDialog() override; void setupBasis(int numElectrons, int numMOs, bool beta); void setupCubes(QStringList cubeNames); void setupSteps(int stepCount); void reenableCalculateButton(); void enableRecord(); Surfaces::Type surfaceType(); /** * This holds the value of the molecular orbital at present. */ int surfaceIndex(); /** * Only relevant for electronic structure, was the beta orbital selected? */ bool beta(); float isosurfaceValue(); float resolution(); int step(); void setStep(int step); public slots: protected slots: void surfaceComboChanged(int n); void resolutionComboChanged(int n); void calculateClicked(); void record(); signals: void stepChanged(int n); void calculateClickedSignal(); void recordClicked(); private: Ui::SurfaceDialog* m_ui; }; } // End namespace QtPlugins } // End namespace Avogadro #endif // AVOGADRO_QTPLUGINS_SURFACEDIALOG_H avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/surfacedialog.ui000066400000000000000000000261341360735163600251120ustar00rootroot00000000000000 SurfaceDialog Qt::NonModal true 0 0 610 337 Qt::DefaultContextMenu Create Surfaces false Surface: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter true false false alpha beta Qt::Horizontal 40 20 Color by: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter None false Qt::Horizontal 40 20 Resolution: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter true Medium 2 Very Low Low Medium High Very High Custom true Å 0.010000000000000 2.000000000000000 0.100000000000000 0.180000000000000 Qt::Horizontal 40 20 Isosurface Value: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter 4 0.000100000000000 0.999000000000000 0.001000000000000 0.030000000000000 Qt::Horizontal 40 20 Frame: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter false false false false Qt::Horizontal 40 20 Qt::Vertical 20 40 true Calculate true false Record Movie... true QDialogButtonBox::Close buttonBox clicked(QAbstractButton*) SurfaceDialog close() 307 174 257 106 avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/surfaces.cpp000066400000000000000000000403351360735163600242610ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-2013 Kitware, Inc. Copyright 2018 Geoffrey Hutchison This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "surfaces.h" #include "surfacedialog.h" #include "gaussiansetconcurrent.h" #include "slatersetconcurrent.h" // Header only, but duplicate symbols if included globally... namespace { #include } #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Cube; using Core::GaussianSet; using QtGui::Molecule; class Surfaces::PIMPL { public: GifWriter* gifWriter = nullptr; gwavi_t* gwaviWriter = nullptr; }; Surfaces::Surfaces(QObject* p) : ExtensionPlugin(p), d(new PIMPL()) { auto action = new QAction(this); action->setText(tr("Create Surfaces...")); connect(action, SIGNAL(triggered()), SLOT(surfacesActivated())); m_actions.push_back(action); // Register quantum file formats Io::FileFormatManager::registerFormat(new QuantumIO::GAMESSUSOutput); Io::FileFormatManager::registerFormat(new QuantumIO::GaussianFchk); Io::FileFormatManager::registerFormat(new QuantumIO::GaussianCube); Io::FileFormatManager::registerFormat(new QuantumIO::MoldenFile); Io::FileFormatManager::registerFormat(new QuantumIO::MopacAux); Io::FileFormatManager::registerFormat(new QuantumIO::NWChemJson); Io::FileFormatManager::registerFormat(new QuantumIO::NWChemLog); } Surfaces::~Surfaces() { delete d; delete m_cube; } void Surfaces::setMolecule(QtGui::Molecule* mol) { if (mol->basisSet()) { m_basis = mol->basisSet(); } else if (mol->cubes().size() != 0) { m_cubes = mol->cubes(); } m_cube = nullptr; m_mesh1 = nullptr; m_mesh2 = nullptr; m_molecule = mol; } QList Surfaces::actions() const { return m_actions; } QStringList Surfaces::menuPath(QAction*) const { QStringList path; path << tr("&Extensions"); return path; } void Surfaces::surfacesActivated() { if (!m_dialog) { m_dialog = new SurfaceDialog(qobject_cast(parent())); connect(m_dialog, SIGNAL(calculateClickedSignal()), SLOT(calculateSurface())); connect(m_dialog, SIGNAL(recordClicked()), SLOT(recordMovie())); connect(m_dialog, SIGNAL(stepChanged(int)), SLOT(stepChanged(int))); } if (m_basis) { // we have quantum data, set up the dialog accordingly auto gaussian = dynamic_cast(m_basis); bool beta = false; if (gaussian) { auto b = gaussian->moMatrix(GaussianSet::Beta); if (b.rows() > 0 && b.cols() > 0) beta = true; } m_dialog->setupBasis(m_basis->electronCount(), m_basis->molecularOrbitalCount(), beta); } if (m_cubes.size() > 0) { QStringList cubeNames; for (unsigned int i = 0; i < m_cubes.size(); ++i) { cubeNames << m_cubes[i]->name().c_str(); } m_dialog->setupCubes(cubeNames); } m_dialog->setupSteps(m_molecule->coordinate3dCount()); m_dialog->show(); } void Surfaces::calculateSurface() { if (!m_dialog) return; Type type = m_dialog->surfaceType(); if (!m_cube) m_cube = m_molecule->addCube(); // TODO we should add a name, type, etc. switch (type) { case VanDerWaals: case SolventAccessible: case SolventExcluded: calculateEDT(); // pass a molecule and return a Cube for m_cube // displayMesh(); break; case ElectronDensity: case MolecularOrbital: case ElectrostaticPotential: case SpinDensity: calculateQM(); break; case FromFile: default: calculateCube(); break; } } void Surfaces::calculateEDT() { // pass the molecule to the EDT, plus the surface type // get back a Cube object in m_cube } void Surfaces::calculateQM() { if (!m_basis || !m_dialog) return; // nothing to do // Reset state a little more frequently, minimal cost, avoid bugs. m_molecule->clearCubes(); m_molecule->clearMeshes(); m_cube = nullptr; m_mesh1 = nullptr; m_mesh2 = nullptr; m_molecule->emitChanged(Molecule::Atoms | Molecule::Added); bool connectSlots = false; // set up QtConcurrent calculators for Gaussian or Slater basis sets if (dynamic_cast(m_basis)) { if (!m_gaussianConcurrent) { m_gaussianConcurrent = new GaussianSetConcurrent(this); connectSlots = true; } m_gaussianConcurrent->setMolecule(m_molecule); } else { if (!m_slaterConcurrent) { m_slaterConcurrent = new SlaterSetConcurrent(this); connectSlots = true; } m_slaterConcurrent->setMolecule(m_molecule); } // TODO: Check to see if this cube or surface has already been computed if (!m_progressDialog) { m_progressDialog = new QProgressDialog(qobject_cast(parent())); m_progressDialog->setCancelButtonText(nullptr); m_progressDialog->setWindowModality(Qt::NonModal); connectSlots = true; } if (!m_cube) m_cube = m_molecule->addCube(); Type type = m_dialog->surfaceType(); int index = m_dialog->surfaceIndex(); m_isoValue = m_dialog->isosurfaceValue(); m_cube->setLimits(*m_molecule, m_dialog->resolution(), 5.0); QString progressText; if (type == ElectronDensity) { progressText = tr("Calculating electron density"); m_cube->setName("Electron Denisty"); if (dynamic_cast(m_basis)) { m_gaussianConcurrent->calculateElectronDensity(m_cube); } else { m_slaterConcurrent->calculateElectronDensity(m_cube); } } else if (type == MolecularOrbital) { progressText = tr("Calculating molecular orbital %L1").arg(index); m_cube->setName("Molecular Orbital " + std::to_string(index + 1)); if (dynamic_cast(m_basis)) { m_gaussianConcurrent->calculateMolecularOrbital(m_cube, index, m_dialog->beta()); } else { m_slaterConcurrent->calculateMolecularOrbital(m_cube, index); } } // Set up the progress dialog. if (dynamic_cast(m_basis)) { m_progressDialog->setWindowTitle(progressText); m_progressDialog->setRange( m_gaussianConcurrent->watcher().progressMinimum(), m_gaussianConcurrent->watcher().progressMaximum()); m_progressDialog->setValue(m_gaussianConcurrent->watcher().progressValue()); m_progressDialog->show(); if (connectSlots) { connect(&m_gaussianConcurrent->watcher(), SIGNAL(progressValueChanged(int)), m_progressDialog, SLOT(setValue(int))); connect(&m_gaussianConcurrent->watcher(), SIGNAL(progressRangeChanged(int, int)), m_progressDialog, SLOT(setRange(int, int))); connect(m_gaussianConcurrent, SIGNAL(finished()), SLOT(displayMesh())); } } else { // slaters m_progressDialog->setWindowTitle(progressText); m_progressDialog->setRange(m_slaterConcurrent->watcher().progressMinimum(), m_slaterConcurrent->watcher().progressMaximum()); m_progressDialog->setValue(m_slaterConcurrent->watcher().progressValue()); m_progressDialog->show(); connect(&m_slaterConcurrent->watcher(), SIGNAL(progressValueChanged(int)), m_progressDialog, SLOT(setValue(int))); connect(&m_slaterConcurrent->watcher(), SIGNAL(progressRangeChanged(int, int)), m_progressDialog, SLOT(setRange(int, int))); connect(m_slaterConcurrent, SIGNAL(finished()), SLOT(displayMesh())); } } void Surfaces::calculateCube() { if (!m_dialog || m_cubes.size() == 0) return; // check bounds m_cube = m_cubes[m_dialog->surfaceIndex()]; m_isoValue = m_dialog->isosurfaceValue(); displayMesh(); } void Surfaces::stepChanged(int n) { if (!m_molecule || !m_basis) return; qDebug() << "\n\t==== Step changed to" << n << "===="; auto g = dynamic_cast(m_basis); if (g) { g->setActiveSetStep(n - 1); m_molecule->clearCubes(); m_molecule->clearMeshes(); m_cube = nullptr; m_mesh1 = nullptr; m_mesh2 = nullptr; m_molecule->emitChanged(Molecule::Atoms | Molecule::Added); } } void Surfaces::displayMesh() { if (!m_cube) return; if (!m_mesh1) m_mesh1 = m_molecule->addMesh(); if (!m_meshGenerator1) { m_meshGenerator1 = new QtGui::MeshGenerator; connect(m_meshGenerator1, SIGNAL(finished()), SLOT(meshFinished())); } m_meshGenerator1->initialize(m_cube, m_mesh1, -m_isoValue); // TODO - only do this if we're generating an orbital // and we need two meshes // How do we know? - likely ask the cube if it's an MO? if (!m_mesh2) m_mesh2 = m_molecule->addMesh(); if (!m_meshGenerator2) { m_meshGenerator2 = new QtGui::MeshGenerator; connect(m_meshGenerator2, SIGNAL(finished()), SLOT(meshFinished())); } m_meshGenerator2->initialize(m_cube, m_mesh2, m_isoValue, true); // Start the mesh generation - this needs an improved mutex with a read lock // to function as expected. Write locks are exclusive, read locks can have // many read locks but no write lock. m_meshGenerator1->start(); m_meshGenerator2->start(); // Track how many meshes are left to show. m_meshesLeft = 2; } void Surfaces::meshFinished() { --m_meshesLeft; if (m_meshesLeft == 0) { if (m_recordingMovie) { // Move to the next frame. qDebug() << "Let's get to the next frame..."; m_molecule->emitChanged(QtGui::Molecule::Added); movieFrame(); } else { m_dialog->reenableCalculateButton(); m_molecule->emitChanged(QtGui::Molecule::Added); } } // TODO: enable the mesh display type } void Surfaces::recordMovie() { QString baseFileName; if (m_molecule) baseFileName = m_molecule->data("fileName").toString().c_str(); QString selectedFilter = tr("Movie AVI (*.avi)"); QString baseName = QFileDialog::getSaveFileName( qobject_cast(parent()), tr("Export Movie"), "", tr("Movie MP4 (*.mp4);;Movie AVI (*.avi);;GIF (*.gif)"), &selectedFilter); if (baseName.isEmpty()) { m_dialog->enableRecord(); return; } QFileInfo fileInfo(baseName); if (!fileInfo.suffix().isEmpty()) baseName = fileInfo.absolutePath() + "/" + fileInfo.baseName(); m_baseFileName = baseName; m_numberLength = static_cast( ceil(log10(static_cast(m_molecule->coordinate3dCount()) + 1))); m_recordingMovie = true; m_currentFrame = 1; m_frameCount = m_molecule->coordinate3dCount(); // Figure out the save type, and work accordingly... if (selectedFilter == tr("GIF (*.gif)")) { d->gwaviWriter = nullptr; d->gifWriter = new GifWriter; GifBegin(d->gifWriter, (baseName + ".gif").toLatin1().data(), 800, 600, 100 / 4); } else if (selectedFilter == tr("Movie AVI (*.avi)")) { d->gifWriter = nullptr; d->gwaviWriter = gwavi_open((baseName + ".avi").toLatin1().data(), 800, 600, "MJPG", 4, NULL); } else { d->gwaviWriter = nullptr; d->gifWriter = nullptr; } stepChanged(m_currentFrame); m_dialog->setStep(m_currentFrame); calculateSurface(); } void Surfaces::movieFrame() { // Not ideal, need to let things update asynchronously, complete, before we // capture the frame. When appropriate move to the next frame or complete. QCoreApplication::sendPostedEvents(); QCoreApplication::processEvents(); auto glWidget = QtOpenGL::ActiveObjects::instance().activeGLWidget(); if (!glWidget) { QMessageBox::warning(qobject_cast(parent()), tr("Avogadro"), "Couldn't find the active render widget, failing."); m_recordingMovie = false; m_dialog->enableRecord(); return; } glWidget->resize(800 / glWidget->devicePixelRatio(), 600 / glWidget->devicePixelRatio()); QImage exportImage; glWidget->raise(); glWidget->repaint(); if (QOpenGLFramebufferObject::hasOpenGLFramebufferObjects()) { exportImage = glWidget->grabFramebuffer(); } else { QPixmap pixmap = QPixmap::grabWindow(glWidget->winId()); exportImage = pixmap.toImage(); } if (d->gifWriter) { int pixelCount = exportImage.width() * exportImage.height(); uint8_t* imageData = new uint8_t[pixelCount * 4]; int imageIndex = 0; for (int j = 0; j < exportImage.height(); ++j) { for (int k = 0; k < exportImage.width(); ++k) { QColor color = exportImage.pixel(k, j); imageData[imageIndex] = static_cast(color.red()); imageData[imageIndex + 1] = static_cast(color.green()); imageData[imageIndex + 2] = static_cast(color.blue()); imageData[imageIndex + 3] = static_cast(color.alpha()); imageIndex += 4; } } GifWriteFrame(d->gifWriter, imageData, 800, 600, 100 / 4); delete[] imageData; } else if (d->gwaviWriter) { QByteArray ba; QBuffer buffer(&ba); buffer.open(QIODevice::WriteOnly); exportImage.save(&buffer, "JPG"); if (gwavi_add_frame( d->gwaviWriter, reinterpret_cast(buffer.data().data()), buffer.size()) == -1) { QMessageBox::warning(qobject_cast(parent()), tr("Avogadro"), tr("Error: cannot add frame to video.")); } } else { QString fileName = QString::number(m_currentFrame); while (fileName.length() < m_numberLength) fileName.prepend('0'); fileName.prepend(m_baseFileName); fileName.append(".png"); qDebug() << "Writing to" << fileName; if (!exportImage.save(fileName)) { QMessageBox::warning(qobject_cast(parent()), tr("Avogadro"), tr("Cannot save file %1.").arg(fileName)); return; } } // Increment current frame. ++m_currentFrame; if (m_currentFrame <= m_frameCount) { qDebug() << "Starting next frame..."; stepChanged(m_currentFrame); m_dialog->setStep(m_currentFrame); calculateSurface(); } else { qDebug() << "We are done! Make some movies."; if (d->gifWriter) { GifEnd(d->gifWriter); delete d->gifWriter; d->gifWriter = nullptr; } else if (d->gwaviWriter) { gwavi_close(d->gwaviWriter); d->gwaviWriter = nullptr; } else { QProcess proc; QStringList args; args << "-y" << "-r" << QString::number(10) << "-i" << m_baseFileName + "%0" + QString::number(m_numberLength) + "d.png" << "-c:v" << "libx264" << "-r" << "30" << "-pix_fmt" << "yuv420p" << m_baseFileName + ".mp4"; proc.execute("avconv", args); } /* args.clear(); args << "-dispose" << "Background" << "-delay" << QString::number(100 / 10) << m_baseFileName + "%0" + QString::number(m_numberLength) + "d.png[0-" + QString::number(m_molecule->coordinate3dCount() - 1) + "]" << m_baseFileName + ".gif"; proc.execute("convert", args); */ m_recordingMovie = false; m_dialog->enableRecord(); } } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/surfaces/surfaces.h000066400000000000000000000055321360735163600237260ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-2013 Kitware, Inc. Copyright 2018 Geoffrey Hutchison This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SURFACES_H #define AVOGADRO_QTPLUGINS_SURFACES_H #include class QAction; class QDialog; class QProgressDialog; namespace Avogadro { namespace QtGui { class MeshGenerator; } namespace Core { class BasisSet; class Cube; class Mesh; } namespace QtPlugins { /** * @brief The Surfaces plugin registers quantum file formats, adds several * menu entries to calculate surfaces, including QM ones. */ class GaussianSetConcurrent; class SlaterSetConcurrent; class SurfaceDialog; class Surfaces : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit Surfaces(QObject* parent = 0); ~Surfaces(); enum Type { VanDerWaals, SolventAccessible, SolventExcluded, ElectrostaticPotential, ElectronDensity, MolecularOrbital, SpinDensity, FromFile, Unknown }; QString name() const { return tr("Surfaces"); } QString description() const { return tr("Read and render surfaces."); } QList actions() const override; QStringList menuPath(QAction*) const override; void setMolecule(QtGui::Molecule* mol) override; private slots: void surfacesActivated(); void calculateSurface(); void calculateEDT(); void calculateQM(); void calculateCube(); void stepChanged(int); void displayMesh(); void meshFinished(); void recordMovie(); void movieFrame(); private: QList m_actions; QProgressDialog* m_progressDialog = nullptr; QtGui::Molecule* m_molecule = nullptr; Core::BasisSet* m_basis = nullptr; GaussianSetConcurrent* m_gaussianConcurrent = nullptr; SlaterSetConcurrent* m_slaterConcurrent = nullptr; Core::Cube* m_cube = nullptr; std::vector m_cubes; Core::Mesh* m_mesh1 = nullptr; Core::Mesh* m_mesh2 = nullptr; QtGui::MeshGenerator* m_meshGenerator1 = nullptr; QtGui::MeshGenerator* m_meshGenerator2 = nullptr; float m_isoValue = 0.01; int m_meshesLeft = 0; bool m_recordingMovie = false; int m_currentFrame = 0; int m_frameCount = 1; QString m_baseFileName; int m_numberLength = 1; SurfaceDialog* m_dialog = nullptr; class PIMPL; PIMPL* d = nullptr; }; } } #endif // AVOGADRO_QTPLUGINS_QUANTUMOUTPUT_H avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/000077500000000000000000000000001360735163600220135ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/CMakeLists.txt000066400000000000000000000014251360735163600245550ustar00rootroot00000000000000find_package(libmsym NO_MODULE) if(NOT DEFINED LIBMSYM_INCLUDE_DIRS) find_package(libmsym REQUIRED) endif() include_directories(${LIBMSYM_INCLUDE_DIRS}) message("msym include dir " ${LIBMSYM_INCLUDE_DIRS}) set(symmetry_srcs symmetry.cpp symmetrywidget.cpp operationstablemodel.cpp richtextdelegate.cpp symmetryutil.cpp ) set(symmetry_uis symmetrywidget.ui ) avogadro_plugin(Symmetry "Provide symmetry functionality." ExtensionPlugin symmetry.h Symmetry "${symmetry_srcs}" "${symmetry_uis}" ) avogadro_plugin(SymmetryScene "Render symmetry elements." ScenePlugin symmetryscene.h SymmetryScene symmetryscene.cpp) target_link_libraries(Symmetry LINK_PRIVATE ${LIBMSYM_LIBRARIES}) target_link_libraries(SymmetryScene LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/operationstablemodel.cpp000066400000000000000000000044361360735163600267420ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "operationstablemodel.h" #include "symmetryutil.h" using namespace Avogadro::QtPlugins::SymmetryUtil; namespace Avogadro { namespace QtPlugins { OperationsTableModel::OperationsTableModel(QObject* parent) : QAbstractTableModel(parent) { m_operations = NULL; m_operations_size = 0; } OperationsTableModel::~OperationsTableModel() { } void OperationsTableModel::setOperations( int operations_size, const msym::msym_symmetry_operation_t* operations) { beginResetModel(); m_operations_size = operations_size; m_operations = operations; endResetModel(); } /* Qt */ QVariant OperationsTableModel::headerData(int section, Qt::Orientation orientation, int role) const { if (role != Qt::DisplayRole) return QVariant(); QString name; if (orientation == Qt::Horizontal) { switch (Column(section)) { case ColumnType: return tr("Type"); case ColumnClass: return tr("Class"); case ColumnVector: return tr("Element"); default: return QVariant(); } } else { return QString::number(section + 1); } } QVariant OperationsTableModel::data(const QModelIndex& index, int role) const { if (role != Qt::DisplayRole || !index.isValid()) return QVariant(); const msym::msym_symmetry_operation_t* operation = &m_operations[index.row()]; switch (Column(index.column())) { case ColumnType: return operationSymbol(operation); case ColumnClass: return operation->cla; case ColumnVector: return QString("NA"); default: return QVariant(); } } } } avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/operationstablemodel.h000066400000000000000000000036411360735163600264040ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_OPERATIONSTABLEMODEL_H #define AVOGADRO_QTPLUGINS_OPERATIONSTABLEMODEL_H namespace msym { extern "C" { #include } } #include #include #include #define OPERATIONSTABLEMODEL_COLUMN_COUNT 3 namespace Avogadro { namespace QtPlugins { class OperationsTableModel : public QAbstractTableModel { Q_OBJECT public: enum Column { ColumnType = 0, ColumnClass = 1, ColumnVector = 2 }; explicit OperationsTableModel(QObject* parent = 0); ~OperationsTableModel() override; int rowCount(const QModelIndex&) const override { return m_operations_size; }; int columnCount(const QModelIndex&) const override { return OPERATIONSTABLEMODEL_COLUMN_COUNT; }; QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; QVariant headerData(int section, Qt::Orientation orientation, int role) const override; void setOperations(int operations_size, const msym::msym_symmetry_operation_t* operations); void clearOperations(); private: const msym::msym_symmetry_operation_t* m_operations; int m_operations_size; }; } } #endif // AVOGADRO_QTPLUGINS_OPERATIONSTABLEMODEL_H avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/richtextdelegate.cpp000066400000000000000000000030631360735163600260460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "richtextdelegate.h" namespace Avogadro { namespace QtPlugins { QSize RichTextDelegate::sizeHint(const QStyleOptionViewItem& o, const QModelIndex& index) const { QStyleOptionViewItemV4 ov4 = o; initStyleOption(&ov4, index); QTextDocument doc; doc.setHtml(ov4.text); doc.setTextWidth(ov4.rect.width()); return QSize(doc.idealWidth(), doc.size().height()); } void RichTextDelegate::paint(QPainter* p, const QStyleOptionViewItem& o, const QModelIndex& index) const { QStyleOptionViewItemV4 ov4 = o; initStyleOption(&ov4, index); p->save(); QTextDocument doc; doc.setHtml(ov4.text); ov4.text = ""; ov4.widget->style()->drawControl(QStyle::CE_ItemViewItem, &ov4, p); p->translate(ov4.rect.left(), ov4.rect.top()); QRect clip(0, 0, ov4.rect.width(), ov4.rect.height()); doc.drawContents(p, clip); p->restore(); } } } avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/richtextdelegate.h000066400000000000000000000024301360735163600255100ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_RICHTEXTDELEGATE_H #define AVOGADRO_QTPLUGINS_RICHTEXTDELEGATE_H #include #include #include namespace Avogadro { namespace QtPlugins { class RichTextDelegate : public QStyledItemDelegate { Q_OBJECT public: RichTextDelegate(QObject* parent = 0) : QStyledItemDelegate(parent){}; QSize sizeHint(const QStyleOptionViewItem& o, const QModelIndex& index) const override; void paint(QPainter* p, const QStyleOptionViewItem& o, const QModelIndex& index) const override; }; } } #endif // AVOGADRO_QTPLUGINS_RICHTEXTDELEGATE_H avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/symmetry.cpp000066400000000000000000000265371360735163600244250ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "symmetry.h" #include "symmetrywidget.h" #include "symmetryutil.h" //#include //#include #include #include #include #include #include // using Avogadro::Core::CrystalTools; // using Avogadro::Core::UnitCell; using Avogadro::QtGui::Molecule; using namespace msym; using namespace Avogadro::QtPlugins::SymmetryUtil; namespace Avogadro { namespace QtPlugins { Symmetry::Symmetry(QObject* parent_) : Avogadro::QtGui::ExtensionPlugin(parent_) , m_molecule(NULL) , m_symmetryWidget(nullptr) , m_viewSymmetryAction(new QAction(this)) { m_ctx = msymCreateContext(); m_viewSymmetryAction->setText(tr("Symmetry Properties...")); connect(m_viewSymmetryAction, SIGNAL(triggered()), SLOT(viewSymmetry())); m_actions.push_back(m_viewSymmetryAction); m_viewSymmetryAction->setProperty("menu priority", -50); /* connect(m_symmetryWidget, SIGNAL(clicked()), this, SLOT(detectSymmetry())); connect(m_ui->symmetrizeButton, SIGNAL(clicked()), this, SLOT(symmetrize())); connect(m_ui->toleranceCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(toleranceChanged(int)));*/ /* m_standardOrientationAction->setText(tr("Rotate to Standard &Orientation")); connect(m_standardOrientationAction, SIGNAL(triggered()), SLOT(standardOrientation())); m_actions.push_back(m_standardOrientationAction); m_standardOrientationAction->setProperty("menu priority", -250);*/ updateActions(); } Symmetry::~Symmetry() { if (m_symmetryWidget) m_symmetryWidget->deleteLater(); qDeleteAll(m_actions); m_actions.clear(); if (m_ctx != NULL) { msymReleaseContext(m_ctx); } } QList Symmetry::actions() const { return m_actions; } QStringList Symmetry::menuPath(QAction*) const { return QStringList() << tr("&View"); } void Symmetry::setMolecule(QtGui::Molecule* mol) { if (m_molecule == mol) return; if (m_molecule) m_molecule->disconnect(this); m_molecule = mol; if (m_symmetryWidget) m_symmetryWidget->setMolecule(m_molecule); if (m_molecule) connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); updateActions(); m_dirty = true; } void Symmetry::moleculeChanged(unsigned int c) { Q_ASSERT(m_molecule == qobject_cast(sender())); Molecule::MoleculeChanges changes = static_cast(c); if (changes & Molecule::Added || changes & Molecule::Removed) updateActions(); /* if (changes & Molecule::UnitCell) { if (changes & Molecule::Added || changes & Molecule::Removed) updateActions(); }*/ qDebug() << "moleculeChanged"; if ((changes & Molecule::Atoms) && (changes & Molecule::Modified || changes & Molecule::Added || changes & Molecule::Removed)) { m_dirty = true; } } void Symmetry::updateActions() { // Disable everything for NULL molecules. if (!m_molecule) { foreach (QAction* action, m_actions) action->setEnabled(false); return; } else { foreach (QAction* action, m_actions) action->setEnabled(true); } /* if (m_molecule->unitCell()) { foreach (QAction *action, m_actions) action->setEnabled(true); m_toggleUnitCellAction->setText(tr("Remove &Unit Cell")); } else { foreach (QAction *action, m_actions) action->setEnabled(false); m_toggleUnitCellAction->setEnabled(true); m_toggleUnitCellAction->setText(tr("Add &Unit Cell")); }*/ } void Symmetry::viewSymmetry() { if (!m_symmetryWidget) { m_symmetryWidget = new SymmetryWidget(qobject_cast(parent())); m_symmetryWidget->setMolecule(m_molecule); connect(m_symmetryWidget, SIGNAL(detectSymmetry()), SLOT(detectSymmetry())); connect(m_symmetryWidget, SIGNAL(symmetrizeMolecule()), SLOT(symmetrizeMolecule())); } if (m_dirty) { detectSymmetry(); } m_symmetryWidget->show(); } void Symmetry::detectSymmetry() { unsigned int length = m_molecule->atomCount(); if (m_molecule == NULL || m_molecule->atomPositions3d().size() != length || length < 2) return; // if one atom = Kh if (length == 1) { m_symmetryWidget->setPointGroupSymbol(QString("Kh")); return; } // interface with libmsym msym_error_t ret = MSYM_SUCCESS; msym_element_t* elements = NULL; const char* error = NULL; char point_group[6]; double cm[3], radius = 0.0, symerr = 0.0; /* Do not free these variables */ const msym_symmetry_operation_t* msops = NULL; const msym_subgroup_t* msg = NULL; const msym_equivalence_set_t* mes = NULL; int mesl = 0, msgl = 0, msopsl = 0, mlength = 0; // initialize the c-style array of atom names and coordinates msym_element_t* a; a = (msym_element_t*)malloc(length * sizeof(msym_element_t)); memset(a, 0, length * sizeof(msym_element_t)); for (Index i = 0; i < length; ++i) { Vector3 ipos = m_molecule->atomPositions3d()[i]; a[i].n = m_molecule->atomicNumbers()[i]; a[i].v[0] = ipos[0]; a[i].v[1] = ipos[1]; a[i].v[2] = ipos[2]; } elements = a; if (m_ctx != NULL) { msymReleaseContext(m_ctx); m_ctx = msymCreateContext(); } // Set the thresholds // switch (m_dock->toleranceCombo->currentIndex()) { msym_thresholds_t* thresholds = m_symmetryWidget->getThresholds(); msymSetThresholds(m_ctx, thresholds); // At any point, we'll set the text to NULL which will use C1 instead if (MSYM_SUCCESS != (ret = msymSetElements(m_ctx, length, elements))) { free(elements); m_symmetryWidget->setPointGroupSymbol(pointGroupSymbol(0)); m_symmetryWidget->setEquivalenceSets(0, NULL); m_symmetryWidget->setSymmetryOperations(0, NULL); m_symmetryWidget->setSubgroups(0, NULL); qDebug() << "Error:" << msymErrorString(ret) << " " << msymGetErrorDetails(); return; } if (MSYM_SUCCESS != (ret = msymFindSymmetry(m_ctx))) { free(elements); m_symmetryWidget->setPointGroupSymbol(pointGroupSymbol(0)); m_symmetryWidget->setEquivalenceSets(0, NULL); m_symmetryWidget->setSymmetryOperations(0, NULL); m_symmetryWidget->setSubgroups(0, NULL); qDebug() << "Error:" << msymErrorString(ret) << " " << msymGetErrorDetails(); return; } /* Get the point group name */ if (MSYM_SUCCESS != (ret = msymGetPointGroupName(m_ctx, sizeof(char[6]), point_group))) { free(elements); m_symmetryWidget->setPointGroupSymbol(pointGroupSymbol(0)); m_symmetryWidget->setEquivalenceSets(0, NULL); m_symmetryWidget->setSymmetryOperations(0, NULL); m_symmetryWidget->setSubgroups(0, NULL); qDebug() << "Error:" << msymErrorString(ret) << " " << msymGetErrorDetails(); return; } if (MSYM_SUCCESS != (ret = msymGetSymmetryOperations(m_ctx, &msopsl, &msops))) { free(elements); m_symmetryWidget->setPointGroupSymbol(pointGroupSymbol(0)); m_symmetryWidget->setEquivalenceSets(0, NULL); m_symmetryWidget->setSymmetryOperations(0, NULL); m_symmetryWidget->setSubgroups(0, NULL); qDebug() << "Error:" << msymErrorString(ret) << " " << msymGetErrorDetails(); return; } if (MSYM_SUCCESS != (ret = msymGetEquivalenceSets(m_ctx, &mesl, &mes))) { free(elements); m_symmetryWidget->setPointGroupSymbol(pointGroupSymbol(0)); m_symmetryWidget->setEquivalenceSets(0, NULL); m_symmetryWidget->setSymmetryOperations(0, NULL); m_symmetryWidget->setSubgroups(0, NULL); qDebug() << "Error:" << msymErrorString(ret) << " " << msymGetErrorDetails(); return; } if (MSYM_SUCCESS != (ret = msymGetCenterOfMass(m_ctx, cm))) { free(elements); m_symmetryWidget->setPointGroupSymbol(pointGroupSymbol(0)); m_symmetryWidget->setEquivalenceSets(0, NULL); m_symmetryWidget->setSymmetryOperations(0, NULL); m_symmetryWidget->setSubgroups(0, NULL); qDebug() << "Error:" << msymErrorString(ret) << " " << msymGetErrorDetails(); return; } if (MSYM_SUCCESS != (ret = msymGetRadius(m_ctx, &radius))) { free(elements); m_symmetryWidget->setPointGroupSymbol(pointGroupSymbol(0)); m_symmetryWidget->setEquivalenceSets(0, NULL); m_symmetryWidget->setSymmetryOperations(0, NULL); m_symmetryWidget->setSubgroups(0, NULL); qDebug() << "Error:" << msymErrorString(ret) << " " << msymGetErrorDetails(); return; } if (point_group[1] != '0') { if (MSYM_SUCCESS != (ret = msymGetSubgroups(m_ctx, &msgl, &msg))) { free(elements); m_symmetryWidget->setPointGroupSymbol(pointGroupSymbol(0)); m_symmetryWidget->setEquivalenceSets(0, NULL); m_symmetryWidget->setSymmetryOperations(0, NULL); m_symmetryWidget->setSubgroups(0, NULL); qDebug() << "Error:" << msymErrorString(ret) << " " << msymGetErrorDetails(); return; } } else { m_symmetryWidget->setSubgroups(0, NULL); } // TODO: Subgroups // if(MSYM_SUCCESS != (ret = msymGetSubgroups(ctx, &msgl, &msg))) goto err; // printf("Found point group [0] %s select subgroup\n",point_group); // for(int i = 0; i < msgl;i++) printf("\t [%d] %s\n",i+1,msg[i].name); m_symmetryWidget->setPointGroupSymbol(pointGroupSymbol(point_group)); m_symmetryWidget->setEquivalenceSets(mesl, mes); m_symmetryWidget->setSymmetryOperations(msopsl, msops); m_symmetryWidget->setSubgroups(msgl, msg); m_symmetryWidget->setCenterOfMass(cm); m_symmetryWidget->setRadius(radius); // m_symmetryWidget->m_ui->pointGroupLabel->setText(pgSymbol(point_group)); qDebug() << "detected symmetry" << point_group; free(elements); m_dirty = false; } void Symmetry::symmetrizeMolecule() { qDebug() << "symmetrize"; unsigned int length = m_molecule->atomCount(); if (m_molecule == NULL || m_molecule->atomPositions3d().size() != length || length < 2) return; // if one atom = Kh msym_element_t* melements = NULL; int mlength = 0; double symerr = 0.0; msym_error_t ret = MSYM_SUCCESS; // detectSymmetry(); if (MSYM_SUCCESS != (ret = msymSymmetrizeElements(m_ctx, &symerr))) return; if (MSYM_SUCCESS != (ret = msymGetElements(m_ctx, &mlength, &melements))) return; if (mlength != length) return; for (Index i = 0; i < length; ++i) { m_molecule->atomPositions3d()[i] = Vector3(melements[i].v); } m_molecule->emitChanged(QtGui::Molecule::Atoms | QtGui::Molecule::Modified); } /* void Symmetry::standardOrientation() { CrystalTools::rotateToStandardOrientation(*m_molecule, CrystalTools::TransformAtoms); m_molecule->emitChanged(Molecule::Modified | Molecule::Atoms | Molecule::UnitCell); }*/ } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/symmetry.h000066400000000000000000000036261360735163600240640ustar00rootroot00000000000000/******************************************************************************* This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. *******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SYMMETRY_H #define AVOGADRO_QTPLUGINS_SYMMETRY_H #include #include "symmetrywidget.h" namespace msym { extern "C" { #include } } namespace Avogadro { namespace QtPlugins { class SymmetryWidget; /** * @brief symmetry functionality. */ class Symmetry : public Avogadro::QtGui::ExtensionPlugin { Q_OBJECT public: explicit Symmetry(QObject* parent_ = 0); ~Symmetry() override; QString name() const override { return tr("Symmetry"); } QString description() const override; QList actions() const override; QStringList menuPath(QAction*) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; void moleculeChanged(unsigned int changes); private slots: void updateActions(); void viewSymmetry(); void detectSymmetry(); void symmetrizeMolecule(); private: QList m_actions; QtGui::Molecule* m_molecule; SymmetryWidget* m_symmetryWidget; QAction* m_viewSymmetryAction; msym::msym_context m_ctx; bool m_dirty = true; }; inline QString Symmetry::description() const { return tr("Provide symmetry functionality."); } } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_SYMMETRY_H avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/symmetryscene.cpp000066400000000000000000000103131360735163600254240ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "symmetryscene.h" #include #include #include #include #include #include #include #include #include #include #include using namespace Avogadro; namespace Avogadro { namespace QtPlugins { using Rendering::GeometryNode; using Rendering::GroupNode; using Rendering::SphereGeometry; using Rendering::CylinderGeometry; SymmetryScene::SymmetryScene(QObject* p) : QtGui::ScenePlugin(p), m_enabled(true) { } SymmetryScene::~SymmetryScene() { } void SymmetryScene::process(const Core::Molecule& coreMolecule, Rendering::GroupNode& node) { const QtGui::Molecule* molecule = dynamic_cast(&coreMolecule); if (!molecule) return; QVariant origo = molecule->property("SymmetryOrigo"); QVariant radius = molecule->property("SymmetryRadius"); QVariant inversion = molecule->property("SymmetryInversion"); QVariant properRotation = molecule->property("SymmetryProperRotationVariantList"); QVariant improperRotation = molecule->property("SymmetryImproperRotationVariantList"); QVariant reflection = molecule->property("SymmetryReflectionVariantList"); if (!origo.isValid() || !radius.isValid()) { return; } QVector3D qorigo = origo.value(); Vector3f forigo = Vector3f(qorigo.x(), qorigo.y(), qorigo.z()); float fradius = radius.toFloat(); GeometryNode* geometry = new GeometryNode; node.addChild(geometry); SphereGeometry* spheres = new SphereGeometry; spheres->identifier().molecule = reinterpret_cast(&molecule); spheres->identifier().type = Rendering::AtomType; geometry->addDrawable(spheres); CylinderGeometry* cylinders = new CylinderGeometry; cylinders->identifier().molecule = &molecule; cylinders->identifier().type = Rendering::BondType; geometry->addDrawable(cylinders); if (inversion.isValid()) { Vector3ub color(0, 0, 255); QVector3D qvec = inversion.value(); Vector3f fvec = Vector3f(qvec.x(), qvec.y(), qvec.z()); spheres->addSphere(fvec, color, 0.3f); } if (properRotation.isValid()) { Vector3ub color(255, 0, 0); QVariantList properRotationVariantList = properRotation.toList(); foreach (QVariant qv, properRotationVariantList) { QVector3D qvec = qv.value(); Vector3f fvec = Vector3f(qvec.x(), qvec.y(), qvec.z()); cylinders->addCylinder(forigo, forigo + 1.1 * fradius * fvec, 0.05f, color); } } if (improperRotation.isValid()) { QVariantList improperRotationVariantList = improperRotation.toList(); } if (reflection.isValid()) { Vector3ub color(255, 255, 0); QVariantList reflectionVariantList = reflection.toList(); foreach (QVariant qv, reflectionVariantList) { QVector3D qvec = qv.value(); Vector3f fvec = Vector3f(qvec.x(), qvec.y(), qvec.z()); cylinders->addCylinder(forigo - fvec * 0.025f, forigo + fvec * 0.025f, fradius, color); } } } void SymmetryScene::processEditable(const QtGui::RWMolecule& molecule, Rendering::GroupNode& node) { process(molecule.molecule(), node); } bool SymmetryScene::isEnabled() const { return m_enabled; } void SymmetryScene::setEnabled(bool enable) { m_enabled = enable; } } } avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/symmetryscene.h000066400000000000000000000032011360735163600250670ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SYMMETRYSCENE_H #define AVOGADRO_QTPLUGINS_SYMMETRYSCENE_H #include #include namespace Avogadro { namespace QtPlugins { /** * @brief Render the symmetry elements */ class SymmetryScene : public QtGui::ScenePlugin { Q_OBJECT public: explicit SymmetryScene(QObject* parent = 0); ~SymmetryScene() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; void processEditable(const QtGui::RWMolecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("Symmetry Elements"); } QString description() const override { return tr("Render symmetry elements."); } bool isEnabled() const override; void setEnabled(bool enable) override; private: bool m_enabled; }; } // end namespace QtPlugins } // end namespace Avogadro #endif // AVOGADRO_QTPLUGINS_SYMMETRYSCENE_H avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/symmetryutil.cpp000066400000000000000000000037321360735163600253130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "symmetryutil.h" namespace Avogadro { namespace QtPlugins { namespace SymmetryUtil { QString pointGroupSymbol(const char* point_group) { QString pointGroup(point_group); if (pointGroup.isEmpty()) pointGroup = "C1"; // default // check if we need an infinity symbol if (pointGroup[1] == '0') pointGroup = pointGroup.replace(1, 1, QObject::trUtf8("\u221e")); // After first character, point group should subscript everything pointGroup.insert(1, ""); pointGroup.append(""); return pointGroup; } QString operationSymbol(const msym::msym_symmetry_operation_t* operation) { QString symbol; switch (operation->type) { case IDENTITY: symbol = QString("E"); break; case INVERSION: symbol = QString("i"); break; case PROPER_ROTATION: symbol = QString("C%1%2") .arg(QString::number(operation->order), QString::number(operation->power)); break; case IMPROPER_ROTATION: symbol = QString("S%1%2") .arg(QString::number(operation->order), QString::number(operation->power)); break; case REFLECTION: symbol = QString("σ"); break; default: symbol = QString(); } return symbol; } } } } avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/symmetryutil.h000066400000000000000000000037261360735163600247630ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SYMMETRYUTIL_H #define AVOGADRO_QTPLUGINS_SYMMETRYUTIL_H #include namespace msym { extern "C" { #include } } #ifndef IDENTITY #define IDENTITY \ msym::_msym_symmetry_operation::MSYM_SYMMETRY_OPERATION_TYPE_IDENTITY #endif #ifndef REFLECTION #define REFLECTION \ msym::_msym_symmetry_operation::MSYM_SYMMETRY_OPERATION_TYPE_REFLECTION #endif #ifndef INVERSION #define INVERSION \ msym::_msym_symmetry_operation::MSYM_SYMMETRY_OPERATION_TYPE_INVERSION #endif #ifndef PROPER_ROTATION #define PROPER_ROTATION \ msym::_msym_symmetry_operation::MSYM_SYMMETRY_OPERATION_TYPE_PROPER_ROTATION #endif #ifndef IMPROPER_ROTATION #define IMPROPER_ROTATION \ msym::_msym_symmetry_operation::MSYM_SYMMETRY_OPERATION_TYPE_IMPROPER_ROTATION #endif namespace Avogadro { namespace QtPlugins { namespace SymmetryUtil { QString pointGroupSymbol(const char* point_group); QString operationSymbol(const msym::msym_symmetry_operation_t* operation); } } } #endif // AVOGADRO_QTPLUGINS_SYMMETRYUTIL_H avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/symmetrywidget.cpp000066400000000000000000000310471360735163600256210ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "symmetrywidget.h" #include "richtextdelegate.h" #include "symmetryutil.h" #include "ui_symmetrywidget.h" #include #include #include #include using Avogadro::QtGui::Molecule; using namespace msym; using namespace Avogadro::QtPlugins::SymmetryUtil; namespace Avogadro { namespace QtPlugins { msym_thresholds_t tight_thresholds = { // all defaults /*.zero =*/1.0e-3, /*.geometry =*/1.0e-3, /*.angle =*/1.0e-3, /*.equivalence =*/5.0e-4, /*.eigfact =*/1.0e-3, /*.permutation =*/5.0e-3, /*.orthogonalization =*/0.1 }; msym_thresholds_t medium_thresholds = { /*.zero =*/1.0e-2, /*.geometry =*/1.0e-2, /*.angle =*/1.0e-2, /*.equivalence =*/6.3e-3, /*.eigfact =*/1.0e-3, /*.permutation =*/1.58e-2, /*.orthogonalization =*/0.1 }; msym_thresholds_t loose_thresholds = { /*.zero =*/0.06, /*.geometry =*/0.06, /*.angle =*/0.06, /*.equivalence =*/0.025, /*.eigfact =*/1.0e-3, /*.permutation =*/1.0e-1, /*.orthogonalization =*/0.1 }; msym_thresholds_t sloppy_thresholds = { /*.zero =*/0.08, /*.geometry =*/0.1, /*.angle =*/0.1, /*.equivalence =*/0.06, /*.eigfact =*/1.0e-3, /*.permutation =*/1.0e-1, /*.orthogonalization =*/0.1 }; SymmetryWidget::SymmetryWidget(QWidget* parent_) : QWidget(parent_) , m_ui(new Ui::SymmetryWidget) , m_molecule(NULL) , m_equivalenceTreeModel(new QStandardItemModel(this)) , m_operationsTableModel(new OperationsTableModel(this)) , m_subgroupsTreeModel(new QStandardItemModel(this)) , m_es(NULL) , m_sops(NULL) , m_sg(NULL) , m_sopsl(0) , m_sgl(0) , m_radius(0.0) { setWindowFlags(Qt::Dialog); m_ui->setupUi(this); m_ui->equivalenceTree->setModel(m_equivalenceTreeModel); m_ui->operationsTable->setModel(m_operationsTableModel); m_ui->operationsTable->setItemDelegateForColumn( OperationsTableModel::ColumnType, new RichTextDelegate(this)); m_ui->subgroupsTree->setModel(m_subgroupsTreeModel); m_ui->subgroupsTree->setItemDelegateForColumn(0, new RichTextDelegate(this)); connect( m_ui->detectSymmetryButton, SIGNAL(clicked()), SIGNAL(detectSymmetry())); connect(m_ui->symmetrizeMoleculeButton, SIGNAL(clicked()), SIGNAL(symmetrizeMolecule())); connect( m_ui->equivalenceTree->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), SLOT(equivalenceSelectionChanged(const QItemSelection&, const QItemSelection&))); connect( m_ui->operationsTable->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), SLOT(operationsSelectionChanged(const QItemSelection&, const QItemSelection&))); connect( m_ui->subgroupsTree->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), SLOT( subgroupsSelectionChanged(const QItemSelection&, const QItemSelection&))); } SymmetryWidget::~SymmetryWidget() { delete m_ui; } void SymmetryWidget::setMolecule(QtGui::Molecule* molecule) { if (molecule != m_molecule) { if (m_molecule) m_molecule->disconnect(this); m_molecule = molecule; if (m_molecule) { connect(m_molecule, SIGNAL(changed(uint)), SLOT(moleculeChanged(uint))); } } } void SymmetryWidget::moleculeChanged(unsigned int changes) { /* if (changes & Molecule::UnitCell) revert();*/ } void SymmetryWidget::operationsSelectionChanged( const QItemSelection& selected, const QItemSelection& deselected) { if (!m_molecule) return; if (m_ui->tabWidget->currentWidget() != m_ui->subgroupsTab) { qDebug() << "subgroupsTab not selected"; m_ui->subgroupsTree->selectionModel()->reset(); } else qDebug() << "subgroupsTab selected"; QModelIndexList selection = m_ui->operationsTable->selectionModel()->selectedRows(); qDebug() << "operations changed"; qDebug() << "selection " << selection.size(); QVariantList reflectionVariantList; QVariantList properRotationVariantList; QVariantList improperRotationVariantList; m_molecule->setProperty("SymmetryOrigo", QVariant()); m_molecule->setProperty("SymmetryRadius", QVariant()); m_molecule->setProperty("SymmetryInversion", QVariant()); m_molecule->setProperty("SymmetryProperRotationVariantList", QVariant()); m_molecule->setProperty("SymmetryImproperRotationVariantList", QVariant()); m_molecule->setProperty("SymmetryReflectionVariantList", QVariant()); qDebug() << "cleared elements"; if (m_sopsl > 0 && selection.size() > 0) { m_molecule->setProperty("SymmetryOrigo", m_cm); m_molecule->setProperty("SymmetryRadius", m_radius); } foreach (QModelIndex i, selection) { unsigned int row = i.row(); if (!i.isValid() || row >= m_sopsl) continue; float x = m_sops[row].v[0], y = m_sops[row].v[1], z = m_sops[row].v[2]; switch (m_sops[row].type) { case IDENTITY: break; case PROPER_ROTATION: properRotationVariantList.append(QVector3D(x, y, z)); break; case IMPROPER_ROTATION: improperRotationVariantList.append(QVector3D(x, y, z)); break; case REFLECTION: reflectionVariantList.append(QVector3D(x, y, z)); break; case INVERSION: m_molecule->setProperty("SymmetryInversion", m_cm); break; default: break; } } if (properRotationVariantList.size() > 0) m_molecule->setProperty("SymmetryProperRotationVariantList", properRotationVariantList); if (improperRotationVariantList.size() > 0) m_molecule->setProperty("SymmetryImproperRotationVariantList", improperRotationVariantList); if (reflectionVariantList.size() > 0) m_molecule->setProperty("SymmetryReflectionVariantList", reflectionVariantList); /* A little bit ugly, but it'll do for now */ m_molecule->emitChanged(QtGui::Molecule::Atoms); } void SymmetryWidget::subgroupsSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected) { // QModelIndexList selection = // m_ui->subgroupsTree->selectionModel()->selectedIndexes(); QModelIndex i = m_ui->subgroupsTree->selectionModel()->selectedIndexes().first(); qDebug() << "subgroupsSelectionChanged"; if (!i.isValid()) return; qDebug() << "valid"; int sgi = i.data(Qt::UserRole).value(); qDebug() << "index " << sgi; if (sgi < 0 || sgi >= m_sgl) return; const msym::msym_subgroup_t* sg = &m_sg[sgi]; // m_ui->operationsTable->selectionModel()->clear(); QItemSelectionModel* selectionModel = m_ui->operationsTable->selectionModel(); // selectionModel->clear(); QItemSelection selection; for (int j = 0; j < sg->order; j++) { int row = static_cast(sg->sops[j] - m_sops); QModelIndex left = m_operationsTableModel->index(row, 0); QModelIndex right = m_operationsTableModel->index( row, m_operationsTableModel->columnCount(left) - 1); if (!left.isValid() || !right.isValid()) qDebug() << "invalid index " << j; QItemSelection sel(left, right); selection.merge(sel, QItemSelectionModel::Select); } QModelIndexList tmp = selection.indexes(); foreach (QModelIndex j, tmp) { qDebug() << "selecting " << j.row() << " " << j.column(); } selectionModel->select(selection, QItemSelectionModel::ClearAndSelect); } void SymmetryWidget::equivalenceSelectionChanged( const QItemSelection& selected, const QItemSelection& deselected) { QModelIndex i = m_ui->equivalenceTree->selectionModel()->selectedIndexes().first(); qDebug() << "equivalenceSelectionChanged"; if (!i.isValid()) return; int atomInGroup = i.data(Qt::UserRole).value(); QModelIndex g = i.parent(); if (!g.isValid()) return; int group = g.data(Qt::UserRole).value(); qDebug() << "valid " << group << atomInGroup; if (group < 0 || group >= m_esl) return; // TODO: okay, now we have to find the atoms and select them if (!m_molecule) return; const msym_equivalence_set_t* smes = &m_es[group]; const msym_element_t* a = smes->elements[atomInGroup]; if (a == NULL) return; unsigned int length = m_molecule->atomCount(); for (Index i = 0; i < length; ++i) { qDebug() << "checking atom" << i << " for " << a->n; m_molecule->setAtomSelected(i, false); if (m_molecule->atomicNumbers()[i] != a->n) continue; Vector3 ipos = m_molecule->atomPositions3d()[i]; qDebug() << a->v[0] << ipos[0] - m_cm[0]; qDebug() << a->v[1] << ipos[1] - m_cm[1]; qDebug() << a->v[2] << ipos[2] - m_cm[2]; if (fabs(a->v[0] - (ipos[0] - m_cm[0])) < 0.05 && fabs(a->v[0] - (ipos[0] - m_cm[0])) < 0.05 && fabs(a->v[0] - (ipos[0] - m_cm[0])) < 0.05) { m_molecule->setAtomSelected(i, true); qDebug() << " got one!"; } } m_molecule->emitChanged(QtGui::Molecule::Atoms); } void SymmetryWidget::setRadius(double radius) { m_radius = radius; } void SymmetryWidget::setCenterOfMass(double cm[3]) { m_cm = QVector3D(cm[0], cm[1], cm[2]); } void SymmetryWidget::setPointGroupSymbol(QString pg) { m_ui->pointGroupLabel->setText(pg); } void SymmetryWidget::setSymmetryOperations( int sopsl, const msym::msym_symmetry_operation_t* sops) { m_sops = sops; m_sopsl = sopsl; m_operationsTableModel->setOperations(sopsl, sops); m_molecule->setProperty("SymmetryOrigo", QVariant()); m_molecule->setProperty("SymmetryRadius", QVariant()); m_molecule->setProperty("SymmetryInversion", QVariant()); m_molecule->setProperty("SymmetryProperRotationVariantList", QVariant()); m_molecule->setProperty("SymmetryImproperRotationVariantList", QVariant()); m_molecule->setProperty("SymmetryReflectionVariantList", QVariant()); /* need another change event */ m_molecule->emitChanged(QtGui::Molecule::Atoms); } void SymmetryWidget::setEquivalenceSets(int esl, const msym::msym_equivalence_set_t* es) { m_esl = esl; m_es = es; m_equivalenceTreeModel->clear(); for (int i = 0; i < esl; i++) { QStandardItem* const parent = new QStandardItem; QString label = tr("Group %1").arg(QString::number(i + 1)); parent->setText(label); parent->setData(i, Qt::UserRole); m_equivalenceTreeModel->appendRow(parent); const msym_equivalence_set_t* smes = &es[i]; for (int j = 0; j < smes->length; j++) { QStandardItem* const child = new QStandardItem; label = tr("%1 %2").arg(smes->elements[j]->name).arg(QString::number(j + 1)); child->setText(label); child->setData(j, Qt::UserRole); parent->appendRow(child); } } } void SymmetryWidget::setSubgroups(int sgl, const msym::msym_subgroup_t* sg) { m_sg = sg; m_sgl = sgl; m_subgroupsTreeModel->clear(); for (int i = 0; i < sgl; i++) { if (sg[i].order <= 2) continue; QStandardItem* const parent = new QStandardItem; parent->setText(pointGroupSymbol(sg[i].name)); parent->setData(i, Qt::UserRole); m_subgroupsTreeModel->appendRow(parent); for (int j = 0; j < 2; j++) { if (sg[i].generators[j] == NULL) continue; qDebug() << "child " << sg[i].generators[j] - m_sg << " " << sg[i].generators[j] << " " << m_sg; QStandardItem* const child = new QStandardItem; child->setText(pointGroupSymbol(sg[i].generators[j]->name)); child->setData(static_cast(sg[i].generators[j] - m_sg), Qt::UserRole); parent->appendRow(child); } } } msym_thresholds_t* SymmetryWidget::getThresholds() const { msym_thresholds_t* thresholds = NULL; switch (m_ui->toleranceCombo->currentIndex()) { case 2: // loose thresholds = &loose_thresholds; break; case 1: // normal thresholds = &medium_thresholds; break; case 0: // tight default: thresholds = &tight_thresholds; } return thresholds; } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/symmetrywidget.h000066400000000000000000000057411360735163600252700ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Marcus Johansson This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_SYMMETRYWIDGET_H #define AVOGADRO_QTPLUGINS_SYMMETRYWIDGET_H #include #include #include #include #include #include #include #include "operationstablemodel.h" #include "symmetrywidget.h" // class QPlainTextEdit; namespace msym { extern "C" { #include } } namespace Avogadro { namespace QtGui { class Molecule; } namespace QtPlugins { namespace Ui { class SymmetryWidget; } /** * @brief The SymmetryWidget class provides a widget for handling symmetry * unit cell. */ class SymmetryWidget : public QWidget { Q_OBJECT public: explicit SymmetryWidget(QWidget* parent = 0); ~SymmetryWidget() override; void setMolecule(QtGui::Molecule* molecule); signals: void detectSymmetry(); void symmetrizeMolecule(); public slots: void moleculeChanged(unsigned int changes); void setPointGroupSymbol(QString pg); void setEquivalenceSets(int mesl, const msym::msym_equivalence_set_t* es); void setSymmetryOperations(int sopsl, const msym::msym_symmetry_operation_t* sops); void setSubgroups(int sgl, const msym::msym_subgroup_t* sg); void setCenterOfMass(double cm[3]); void setRadius(double radius); msym::msym_thresholds_t* getThresholds() const; private slots: void equivalenceSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected); void operationsSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected); void subgroupsSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected); private: Ui::SymmetryWidget* m_ui; QStandardItemModel* m_equivalenceTreeModel; OperationsTableModel* m_operationsTableModel; QStandardItemModel* m_subgroupsTreeModel; QtGui::Molecule* m_molecule; QVector3D m_cm; const msym::msym_equivalence_set_t* m_es; const msym::msym_symmetry_operation_t* m_sops; const msym::msym_subgroup_t* m_sg; int m_esl, m_sopsl, m_sgl; double m_radius; void addSubgroup(QStandardItem*, msym::msym_subgroup_t*); }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_SYMMETRYWIDGET_H avogadrolibs-1.93.0/avogadro/qtplugins/symmetry/symmetrywidget.ui000066400000000000000000000163371360735163600254610ustar00rootroot00000000000000 Avogadro::QtPlugins::SymmetryWidget 0 0 412 584 Symmetry 18 75 true true C<sub>1 true 0 Molecule Symmetrically equivalent atoms: 0 0 QAbstractItemView::SingleSelection QAbstractItemView::SelectRows false false Lock Symmetry Qt::Horizontal 40 20 Symmetrize Operations Symmetry elements: 0 0 QAbstractItemView::MultiSelection QAbstractItemView::SelectRows true true Subgroups Subgroups: QAbstractItemView::NoEditTriggers QAbstractItemView::SelectRows false Qt::Horizontal 40 20 Select Qt::Horizontal 40 20 Tolerance: 0 Tight Normal Loose Detect Symmetry true avogadrolibs-1.93.0/avogadro/qtplugins/vanderwaals/000077500000000000000000000000001360735163600224315ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/vanderwaals/CMakeLists.txt000066400000000000000000000003061360735163600251700ustar00rootroot00000000000000avogadro_plugin(VanDerWaals "Van der Waals rendering scheme" ScenePlugin vanderwaals.h VanDerWaals vanderwaals.cpp "") target_link_libraries(VanDerWaals LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/vanderwaals/vanderwaals.cpp000066400000000000000000000037611360735163600254530ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "vanderwaals.h" #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Elements; using Rendering::GeometryNode; using Rendering::GroupNode; using Rendering::SphereGeometry; VanDerWaals::VanDerWaals(QObject* p) : ScenePlugin(p), m_enabled(false) { } VanDerWaals::~VanDerWaals() { } void VanDerWaals::process(const Core::Molecule& molecule, Rendering::GroupNode& node) { // Add a sphere node to contain all of the VdW spheres. GeometryNode* geometry = new GeometryNode; node.addChild(geometry); SphereGeometry* spheres = new SphereGeometry; spheres->identifier().molecule = &molecule; spheres->identifier().type = Rendering::AtomType; geometry->addDrawable(spheres); for (Index i = 0; i < molecule.atomCount(); ++i) { Core::Atom atom = molecule.atom(i); unsigned char atomicNumber = atom.atomicNumber(); Vector3ub color = atom.color(); spheres->addSphere(atom.position3d().cast(), color, static_cast(Elements::radiusVDW(atomicNumber))); } } bool VanDerWaals::isEnabled() const { return m_enabled; } void VanDerWaals::setEnabled(bool enable) { m_enabled = enable; } } } avogadrolibs-1.93.0/avogadro/qtplugins/vanderwaals/vanderwaals.h000066400000000000000000000026651360735163600251220ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_VANDERWAALS_H #define AVOGADRO_QTPLUGINS_VANDERWAALS_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Render the molecule as Van der Waals spheres. * @author Marcus D. Hanwell */ class VanDerWaals : public QtGui::ScenePlugin { Q_OBJECT public: explicit VanDerWaals(QObject* parent = 0); ~VanDerWaals() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("Van der Waals"); } QString description() const override { return tr("Simple display of VdW spheres."); } bool isEnabled() const override; void setEnabled(bool enable) override; private: bool m_enabled; }; } } #endif // AVOGADRO_QTPLUGINS_VANDERWAALS_H avogadrolibs-1.93.0/avogadro/qtplugins/vanderwaalsao/000077500000000000000000000000001360735163600227515ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/vanderwaalsao/CMakeLists.txt000066400000000000000000000003471360735163600255150ustar00rootroot00000000000000avogadro_plugin(VanDerWaalsAO "Van der Waals rendering scheme with ambient occlusion" ScenePlugin vanderwaalsao.h VanDerWaalsAO vanderwaalsao.cpp "") target_link_libraries(VanDerWaalsAO LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/vanderwaalsao/vanderwaalsao.cpp000066400000000000000000000043031360735163600263040ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. Copyright 2013 Tim Vandermeersch This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "vanderwaalsao.h" #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Elements; using Rendering::GeometryNode; using Rendering::GroupNode; using Rendering::AmbientOcclusionSphereGeometry; VanDerWaalsAO::VanDerWaalsAO(QObject* p) : ScenePlugin(p), m_enabled(false) { } VanDerWaalsAO::~VanDerWaalsAO() { } void VanDerWaalsAO::process(const Core::Molecule& molecule, Rendering::GroupNode& node) { // Add a sphere node to contain all of the VdW spheres. GeometryNode* geometry = new GeometryNode; node.addChild(geometry); AmbientOcclusionSphereGeometry* spheres = new AmbientOcclusionSphereGeometry; spheres->identifier().molecule = &molecule; spheres->identifier().type = Rendering::AtomType; geometry->addDrawable(spheres); for (size_t i = 0; i < molecule.atomCount(); ++i) { Core::Atom atom = molecule.atom(i); unsigned char atomicNumber = atom.atomicNumber(); const unsigned char* c = Elements::color(atomicNumber); Vector3ub color(c[0], c[1], c[2]); spheres->addSphere(atom.position3d().cast(), color, static_cast(Elements::radiusVDW(atomicNumber))); } } bool VanDerWaalsAO::isEnabled() const { return m_enabled; } void VanDerWaalsAO::setEnabled(bool enable) { m_enabled = enable; } } } avogadrolibs-1.93.0/avogadro/qtplugins/vanderwaalsao/vanderwaalsao.h000066400000000000000000000030651360735163600257550ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. Copyright 2013 Tim Vandermeersch This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_VANDERWAALSAO_H #define AVOGADRO_QTPLUGINS_VANDERWAALSAO_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Render the molecule as Van der Waals spheres with ambient occlusion. * @author Tim Vandermeersch */ class VanDerWaalsAO : public QtGui::ScenePlugin { Q_OBJECT public: explicit VanDerWaalsAO(QObject* parent = 0); ~VanDerWaalsAO() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("Van der Waals (AO)"); } QString description() const override { return tr("Simple display of VdW spheres with ambient occlusion."); } bool isEnabled() const override; void setEnabled(bool enable) override; private: bool m_enabled; }; } } #endif // AVOGADRO_QTPLUGINS_VANDERWAALSAO_H avogadrolibs-1.93.0/avogadro/qtplugins/vrml/000077500000000000000000000000001360735163600211025ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/vrml/CMakeLists.txt000066400000000000000000000003321360735163600236400ustar00rootroot00000000000000include_directories(${CMAKE_CURRENT_BINARY_DIR}) avogadro_plugin(VRML "Render the scene using VRML." ExtensionPlugin vrml.h VRML "vrml.cpp" "" ) target_link_libraries(VRML LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/vrml/vrml.cpp000066400000000000000000000044731360735163600225760ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "vrml.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { VRML::VRML(QObject* p) : Avogadro::QtGui::ExtensionPlugin(p), m_molecule(nullptr), m_scene(nullptr), m_camera(nullptr), m_action(new QAction(tr("VRML Render"), this)) { connect(m_action, SIGNAL(triggered()), SLOT(render())); } VRML::~VRML() { } QList VRML::actions() const { QList result; return result << m_action; } QStringList VRML::menuPath(QAction*) const { return QStringList() << tr("&File") << tr("&Export"); } void VRML::setMolecule(QtGui::Molecule* mol) { m_molecule = mol; } void VRML::setScene(Rendering::Scene* scene) { m_scene = scene; } void VRML::setCamera(Rendering::Camera* camera) { m_camera = camera; } void VRML::render() { if (!m_scene || !m_camera) return; QString filename = QFileDialog::getSaveFileName( qobject_cast(parent()), tr("Save File"), QDir::homePath(), tr("VRML (*.wrl);;Text file (*.txt)")); QFile file(filename); if (!file.open(QIODevice::WriteOnly)) return; QTextStream fileStream(&file); Rendering::VRMLVisitor visitor(*m_camera); visitor.begin(); m_scene->rootNode().accept(visitor); fileStream << visitor.end().c_str(); file.close(); } } // namespace QtPlugins } // namespace Avogadro avogadrolibs-1.93.0/avogadro/qtplugins/vrml/vrml.h000066400000000000000000000032231360735163600222330ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2017 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_VRML_H #define AVOGADRO_QTPLUGINS_VRML_H #include #include namespace Avogadro { namespace QtPlugins { /** * @brief The VRML class performs VRML operations */ class VRML : public QtGui::ExtensionPlugin { Q_OBJECT public: explicit VRML(QObject* p = 0); ~VRML() override; QString name() const override { return tr("VRML"); } QString description() const override { return tr("Render the scene using VRML."); } QList actions() const override; QStringList menuPath(QAction* action) const override; public slots: void setMolecule(QtGui::Molecule* mol) override; void setScene(Rendering::Scene* scene) override; void setCamera(Rendering::Camera* camera) override; private slots: void render(); private: QtGui::Molecule* m_molecule; Rendering::Scene* m_scene; Rendering::Camera* m_camera; QAction* m_action; }; } // namespace QtPlugins } // namespace Avogadro #endif // AVOGADRO_QTPLUGINS_VRML_H avogadrolibs-1.93.0/avogadro/qtplugins/wireframe/000077500000000000000000000000001360735163600221035ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/qtplugins/wireframe/CMakeLists.txt000066400000000000000000000002701360735163600246420ustar00rootroot00000000000000avogadro_plugin(Wireframe "Wireframe rendering scheme" ScenePlugin wireframe.h Wireframe wireframe.cpp "") target_link_libraries(Wireframe LINK_PRIVATE AvogadroRendering) avogadrolibs-1.93.0/avogadro/qtplugins/wireframe/wireframe.cpp000066400000000000000000000071141360735163600245730ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "wireframe.h" #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace QtPlugins { using Core::Elements; using Core::Molecule; using Core::Array; using Rendering::GeometryNode; using Rendering::GroupNode; using Rendering::LineStripGeometry; Wireframe::Wireframe(QObject* p) : ScenePlugin(p), m_enabled(false), m_group(nullptr), m_setupWidget(nullptr), m_multiBonds(true), m_showHydrogens(true) { } Wireframe::~Wireframe() { if (m_setupWidget) m_setupWidget->deleteLater(); } void Wireframe::process(const Molecule& molecule, Rendering::GroupNode& node) { // Add a sphere node to contain all of the spheres. m_group = &node; GeometryNode* geometry = new GeometryNode; node.addChild(geometry); LineStripGeometry* lines = new LineStripGeometry; lines->identifier().molecule = &molecule; lines->identifier().type = Rendering::BondType; geometry->addDrawable(lines); for (Index i = 0; i < molecule.bondCount(); ++i) { Core::Bond bond = molecule.bond(i); if (!m_showHydrogens && (bond.atom1().atomicNumber() == 1 || bond.atom2().atomicNumber() == 1)) { continue; } Vector3f pos1 = bond.atom1().position3d().cast(); Vector3f pos2 = bond.atom2().position3d().cast(); Vector3ub color1(Elements::color(bond.atom1().atomicNumber())); Vector3ub color2(Elements::color(bond.atom2().atomicNumber())); Array points; Array colors; points.push_back(pos1); points.push_back(pos2); colors.push_back(color1); colors.push_back(color2); lines->addLineStrip(points, colors, 1.0f); } } bool Wireframe::isEnabled() const { return m_enabled; } void Wireframe::setEnabled(bool enable) { m_enabled = enable; } QWidget* Wireframe::setupWidget() { if (!m_setupWidget) { m_setupWidget = new QWidget(qobject_cast(parent())); QVBoxLayout* v = new QVBoxLayout; QCheckBox* check = new QCheckBox(tr("Show multiple bonds?")); check->setChecked(m_multiBonds); connect(check, SIGNAL(clicked(bool)), SLOT(multiBonds(bool))); v->addWidget(check); check = new QCheckBox(tr("Show hydrogens?")); check->setChecked(m_showHydrogens); connect(check, SIGNAL(toggled(bool)), SLOT(showHydrogens(bool))); v->addWidget(check); m_setupWidget->setLayout(v); } return m_setupWidget; } void Wireframe::multiBonds(bool show) { if (show != m_multiBonds) { m_multiBonds = show; emit drawablesChanged(); } } void Wireframe::showHydrogens(bool show) { if (show != m_showHydrogens) { m_showHydrogens = show; emit drawablesChanged(); } } } } avogadrolibs-1.93.0/avogadro/qtplugins/wireframe/wireframe.h000066400000000000000000000032341360735163600242370ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QTPLUGINS_WIREFRAME_H #define AVOGADRO_QTPLUGINS_WIREFRAME_H #include namespace Avogadro { namespace QtPlugins { /** * @brief Render a molecule in the wireframe style. */ class Wireframe : public QtGui::ScenePlugin { Q_OBJECT public: explicit Wireframe(QObject* parent = 0); ~Wireframe() override; void process(const Core::Molecule& molecule, Rendering::GroupNode& node) override; QString name() const override { return tr("Wireframe"); } QString description() const override { return tr("Render the molecule as a wireframe."); } bool isEnabled() const override; void setEnabled(bool enable) override; QWidget* setupWidget() override; private slots: void multiBonds(bool show); void showHydrogens(bool show); private: bool m_enabled; Rendering::GroupNode* m_group; QWidget* m_setupWidget; bool m_multiBonds; bool m_showHydrogens; }; } // end namespace QtPlugins } // end namespace Avogadro #endif // AVOGADRO_QTPLUGINS_WIREFRAME_H avogadrolibs-1.93.0/avogadro/quantumio/000077500000000000000000000000001360735163600201165ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/quantumio/CMakeLists.txt000066400000000000000000000013271360735163600226610ustar00rootroot00000000000000find_package(Eigen3 REQUIRED) # Add as "system headers" to avoid warnings generated by them with # compilers that support that notion. include_directories(SYSTEM "${EIGEN3_INCLUDE_DIR}" "${AvogadroLibs_SOURCE_DIR}/thirdparty") include_directories(${CMAKE_CURRENT_BINARY_DIR}) # Headers for our public API set(HEADERS gamessus.h gaussianfchk.h gaussiancube.h molden.h mopacaux.h nwchemjson.h nwchemlog.h ) # Source files for our data. set(SOURCES #gamessukout.cpp gamessus.cpp gaussianfchk.cpp gaussiancube.cpp molden.cpp mopacaux.cpp nwchemjson.cpp nwchemlog.cpp ) avogadro_add_library(AvogadroQuantumIO ${HEADERS} ${SOURCES}) target_link_libraries(AvogadroQuantumIO LINK_PUBLIC AvogadroIO) avogadrolibs-1.93.0/avogadro/quantumio/gamessukout.cpp000066400000000000000000000605141360735163600231770ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2010 Jens Thomas Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gamessukout.h" #include #include #include #include #include using Eigen::Vector3d; using std::vector; namespace Avogadro { namespace QuantumIO { using Quantum::S; using Quantum::SP; using Quantum::P; using Quantum::D; using Quantum::F; using Quantum::UU; using Quantum::orbital; //! Break a string (supplied as the second argument) into tokens, returned //! in the first argument. Tokens are determined by the delimiters supplied bool tokenize(std::vector& vcr, const char* buf, const char* delimstr) { // Not the most efficient way to do this, but this avoids using GPL code // from openbabel. if (!buf || !delimstr) return false; QString tmp(buf); tmp += "\n"; // for compatibility with old behavior vcr.clear(); QString splitString("["); splitString += QString(delimstr); splitString += QString("]"); QRegExp splitter(splitString); foreach (const QString& str, tmp.split(splitter, QString::SkipEmptyParts)) vcr.push_back(str.toStdString()); return true; } //! Removes white space from front and back of string std::string& Trim(std::string& txt) { // Not the most efficient way to do this, but this avoids using GPL code // from openbabel. txt = QString::fromStdString(txt).trimmed().toStdString(); return txt; } /** * This purloined from: http://www.codeguru.com/forum/showthread.php?t=231054 */ template bool from_string(T& t, const std::string& s, std::ios_base& (*f)(std::ios_base&)) { std::istringstream iss(s); return !(iss >> f >> t).fail(); } void GUKBasisSet::outputCoord() { std::cout << "Coordinates:\n"; for (unsigned int i = 0; i < coordinates.size(); i++) { printf("%d: %3s %10f %10f %10f\n", i, atomLabels[i].c_str(), coordinates[i][0], coordinates[i][1], coordinates[i][2]); } } // end outputCoord void GUKBasisSet::outputBasis() { std::cout << "Basis functions" << std::endl; int prev; for (unsigned int i = 0; i < shellLabels.size(); i++) { std::cout << "Atom(" << i << "): " << shellLabels.at(i) << std::endl; // std::cout << "shells at(i).size() " << shells.at(i).size() << std::endl; for (unsigned int j = 0; j < shells.at(i).size(); j++) { // The first indexes are different as they are the indexes held at the // end of the last shell or 0 for the first one if (i == 0 && j == 0) prev = 0; else if (j == 0) prev = gtoIndicies.at(i - 1).back(); else prev = gtoIndicies.at(i).at(j - 1); std::cout << "shell type " << shells.at(i).at(j) << std::endl; for (unsigned int k = prev; k < gtoIndicies.at(i).at(j); k++) { std::cout << " e = " << gtoExponents.at(k) << " c = " << gtoCoefficients.at(k) << std::endl; } } } std::cout << "Read in nShell " << nShell << std::endl; std::cout << "Read in nBasisFunctions " << nBasisFunctions << std::endl; std::cout << "Read in nElectrons " << nElectrons << std::endl; } // end outputBasis bool GUKBasisSet::labelIndex(std::string label) { for (unsigned int i = 0; i < shellLabels.size(); i++) if (shellLabels.at(i) == label) return true; return false; } // end labelIndex orbital GUKBasisSet::shellTypeFromString(std::string label) { /** * Return the enum from basis.h for the supplied label as a string * basisset.h: enum orbital { S, SP, P, D, D5, F, F7, UU }; * The label is from the GAMESS-UK basis set label, which is printed as shown below: * shell type prim exponents contraction coefficients * 1 1s 3 5.533350 1.801737 ( 0.700713 ) * or * 2 2sp 4 3.664980 -0.747384 ( -0.395897 ) 1.709178 ( 0.236460 ) */ // Could be e.g. 's', 'l', '2sp' or '1s'. // We assume that if it is longer then 1 character long, the rest is the label if (label.size() > 1) { // Remove the shell number label = label.substr(1, std::string::npos); } // Check for sp if (label.size() == 2) { if (label.compare(0, 2, "sp") == 0) return SP; } if (label.size() == 1) { if (label == "l") return SP; if (label == "s") return S; if (label == "p") return P; if (label == "d") return D; } // end label of length 1 // if we get here, it's all gone wrong... std::cerr << "ERROR: shellTypeFromString with label: " << label << std::endl; return UU; } GamessukOut::GamessukOut(const QString& qtfilename, GaussianSet* basis) { std::string filename; filename = qtfilename.toStdString(); GamessukOutNoQt(filename, basis); } // end GamessukOut GamessukOut::~GamessukOut() { } // end ~GamessukOut void GamessukOut::GamessukOutNoQt(const std::string& filename, GaussianSet* basis) { bool ok; std::ifstream ifs; ifs.open(filename.c_str()); if (!ifs) { std::cerr << "Cannot open: " << filename << "\n"; return; } // Initialise the basis set object that holds the parsed data before we // convert // it into Avogadro form gukBasis = GUKBasisSet(); // Now read the file ok = parseFile(ifs); ifs.close(); if (ok) { // outputParsedData(); // Create the Avogadro basis set object load(basis); } else std::cerr << "ERROR READING ORBITALS FROM FILE: " << filename << std::endl; } // end GamessukOutNoQt void GamessukOut::outputParsedData() { gukBasis.outputCoord(); gukBasis.outputBasis(); } // end outputParsedData bool GamessukOut::parseFile(std::ifstream& ifs) { /** * Loop through the file, calling routines that read in the data of interest * into the GUKBasisSet object * Is currently pretty rudimentary - could do with lots of error trapping to * check all o.k. */ bool gotMOs = false; // used as return value - indicates if we have valid // orbitals for the coordinates we've read in while (ifs.good() && ifs.getline(buffer, BUFF_SIZE)) { // First find oriented geometry - use this for single-point calculations if (strstr(buffer, " * atom atomic coordinates") != nullptr) { readInitialCoordinates(ifs); } // The basis set definition if (strstr(buffer, " atom shell type prim exponents " " contraction coefficients") != nullptr) { readBasisSet(ifs); } // Determine the scftype - can't do uhf yet if (strstr(buffer, " * SCF TYPE") != nullptr) { tokenize(tokens, buffer, " \t\n"); if (tokens[3].compare(0, 6, "rhf") != 0) { std::cerr << "ERROR: can currently only do rhf!\n"; return false; } } // The converged geometry if (strstr(buffer, "optimization converged") != nullptr) { readOptimisedCoordinates(ifs); if (gotMOs) gotMOs = false; // If we read in some MOs they are now redundant } // The molecular orbitals if (strstr( buffer, " eigenvectors") != nullptr || strstr(buffer, " molecular orbitals") != nullptr) { readMOs(ifs); gotMOs = true; } } return gotMOs; } void GamessukOut::readInitialCoordinates(std::ifstream& ifs) { // string to mark end of the coordinates char coordEnd[86] = " " "********************************************************" "********************"; double x = 0.0, y = 0.0, z = 0.0; // skip five lines ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE); while (strstr(buffer, coordEnd) == nullptr) { // std::cout << "COORD line" << buffer << std::endl; // ifs.getline(buffer, BUFF_SIZE); tokenize(tokens, buffer, " \t\n"); if (tokens.size() == 8) { // std::cout << "Coord line" << buffer << std::endl; gukBasis.atomLabels.push_back(tokens.at(1)); from_string(x, tokens.at(3), std::dec); from_string(y, tokens.at(4), std::dec); from_string(z, tokens.at(5), std::dec); gukBasis.coordinates.push_back( Eigen::Vector3d(x, y, z)); // Want coordinates in Bohr } ifs.getline(buffer, BUFF_SIZE); } } void GamessukOut::readBasisSet(std::ifstream& ifs) { // std::cout << "readBasisSet\n"; bool newAtom = true, gotAtom = false, firstAtom = true; std::string atomLabel; double exponent, coefficient; orbital stype; int nshell = -1; int lastNshell = -1; // the last shell number - is same as nshell when looping // through a shell int lastStype = -1; // need to keep track of sp shells as we split into s & p // For separating sp-shells std::vector s_coeff; std::vector p_coeff; std::vector sp_exponents; // skip 2 lines to be just before the first atom label ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE); // now loop through the basis sets till we hit the end while (!ifs.eof()) { ifs.getline(buffer, BUFF_SIZE); line = buffer; if (line.compare(0, 10, " =========") == 0) { // End of basis - add indicies of where the coffecients and exponents of // the GTOs for the last shell end gukBasis.gtoIndicies.at(gukBasis.shellLabels.size() - 1) .push_back(static_cast(gukBasis.gtoExponents.size())); break; } // Remove blank space line = Trim(line); // skip blank lines if (line.size() == 0) continue; // Separate into tokens if (!tokenize(tokens, line.c_str(), " \t\n") || tokens.size() == 0) { // If the string couldn't be tokenised, set tokens[0] to the entire string tokens.clear(); tokens.push_back(line); } if (tokens.size() == 1) { // This means a new atomLabel newAtom = true; if (firstAtom) firstAtom = false; else { // Check if the last shell was sp - if so add the temp sp data // structures // to the main ones if (lastStype == SP) { addSpBasis(s_coeff, p_coeff, sp_exponents); // Clear the temp data structures for separating out sp into s & p s_coeff.clear(); p_coeff.clear(); sp_exponents.clear(); lastStype = -1; } else { // Add the index for where the GTO coffecients and exponents for the // previous shell start gukBasis.gtoIndicies.at(gukBasis.shellLabels.size() - 1) .push_back(static_cast(gukBasis.gtoExponents.size())); } } // end firstAtom // Check if we've already processed an atom of this type if (!gukBasis.labelIndex(tokens.at(0))) { // std::cout << "Processing atom label: " << tokens.at(0) << std::endl; gotAtom = false; // we'll be processing this atom gukBasis.shellLabels.push_back(tokens.at(0)); gukBasis.shells.push_back(std::vector()); gukBasis.gtoIndicies.push_back(std::vector()); } else gotAtom = true; continue; } // End new atomLabel // if we're not processing an atom we can skip this line if (gotAtom) continue; /* Here we are reading in a line of the format: shell type prim exponents contraction coefficients 1 1s 3 5.533350 1.801737 ( 0.700713 ) or 2 2sp 4 3.664980 -0.747384 ( -0.395897 ) 1.709178 ( 0.236460 ) */ from_string(nshell, tokens.at(0), std::dec); if (nshell != lastNshell) { // Reading a new shell if (!newAtom) { // Add the data for the last shell processed // First check if last shell was sp & we need to add the data we've // gathered to the main structures if (lastStype == SP) { addSpBasis(s_coeff, p_coeff, sp_exponents); // Clear the temp data structures for separating out sp into s & p s_coeff.clear(); p_coeff.clear(); sp_exponents.clear(); } else { // Add the index for where the primitives for the last shell finish gukBasis.gtoIndicies.at(gukBasis.shellLabels.size() - 1) .push_back(static_cast(gukBasis.gtoExponents.size())); } // end sp shell } // end newAtom // need to determine type stype = gukBasis.shellTypeFromString(tokens.at(1)); // std::cout << "Reading new shell of type " << stype << std::endl; if (stype != SP) { // Add shell to symmetry list and AtomToShellIndex if not sp shell as we // do that separately gukBasis.shells.at(gukBasis.shellLabels.size() - 1).push_back(stype); } } // end new shell // Now check for coefficients - we take the second lot to match Gaussian from_string(exponent, tokens.at(3), std::dec); if (stype == SP) { if (tokens.size() != 12) std::cerr << "PROBLEM READING SP LINE!\n"; from_string(coefficient, tokens.at(6), std::dec); s_coeff.push_back(coefficient); from_string(coefficient, tokens.at(10), std::dec); p_coeff.push_back(coefficient); sp_exponents.push_back(exponent); } else { // std::cout << "Adding exponent " << exponent << std::endl; gukBasis.gtoExponents.push_back(exponent); from_string(coefficient, tokens.at(6), std::dec); gukBasis.gtoCoefficients.push_back(coefficient); } // end type == SP lastNshell = nshell; lastStype = stype; newAtom = false; } // end while // Finished reading the basis data - now just collect some data from the // summary - mainly for checking ifs.getline(buffer, BUFF_SIZE); // blank // nShell ifs.getline(buffer, BUFF_SIZE); if (strstr(buffer, " total number of shells") == nullptr) std::cerr << "Error reading nShell!: " << line << std::endl; // reuse nshell from above as temporary variable tokenize(tokens, buffer, " \t\n"); from_string(nshell, tokens.at(4), std::dec); gukBasis.nShell = nshell; // nBasisFunctions ifs.getline(buffer, BUFF_SIZE); if (strstr(buffer, " total number of basis") == nullptr) std::cerr << "Error reading nBasisFunctions!: " << line << std::endl; tokenize(tokens, buffer, " \t\n"); // reuse nshell from above as temporary variable from_string(nshell, tokens.at(5), std::dec); gukBasis.nBasisFunctions = nshell; // nElectrons ifs.getline(buffer, BUFF_SIZE); if (strstr(buffer, " number of electrons") == nullptr) std::cerr << "Error reading nElectrons!: " << line << std::endl; tokenize(tokens, buffer, " \t\n"); // reuse nshell from above as temporary variable from_string(nshell, tokens.at(3), std::dec); gukBasis.nElectrons = nshell; } // end readBasisSet inline void GamessukOut::addSpBasis(std::vector s_coeff, std::vector p_coeff, std::vector sp_exponents) { // Convenience function for adding separated sp basis // Add s gukBasis.shells.at(gukBasis.shellLabels.size() - 1).push_back(S); for (unsigned int i = 0; i < s_coeff.size(); i++) { gukBasis.gtoExponents.push_back(sp_exponents[i]); gukBasis.gtoCoefficients.push_back(s_coeff[i]); } gukBasis.gtoIndicies.at(gukBasis.shellLabels.size() - 1) .push_back(static_cast(gukBasis.gtoExponents.size())); // Add p gukBasis.shells.at(gukBasis.shellLabels.size() - 1).push_back(P); for (unsigned int i = 0; i < p_coeff.size(); i++) { gukBasis.gtoExponents.push_back(sp_exponents[i]); gukBasis.gtoCoefficients.push_back(p_coeff[i]); } gukBasis.gtoIndicies.at(gukBasis.shellLabels.size() - 1) .push_back(static_cast(gukBasis.gtoExponents.size())); } // end addSpBasis void GamessukOut::readOptimisedCoordinates(std::ifstream& ifs) { // std::cout << "readOptimisedCoordinates\n"; double x, y, z; // Nuke the old coordinates gukBasis.atomLabels.clear(); gukBasis.coordinates.clear(); ifs.getline(buffer, BUFF_SIZE); while (!ifs.eof()) { // This for some optimize runtypes if (strstr( buffer, " x y z chg tag") != nullptr) { // std::cout << "start of opt coord\n"; // Skip 2 lines - should then be at the coordinates ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE); while (!ifs.eof()) { // End of geometry block if (strstr(buffer, " " "===================================================" "=========") != nullptr) return; tokenize(tokens, buffer, " \t\n"); from_string(x, tokens.at(0), std::dec); from_string(y, tokens.at(1), std::dec); from_string(z, tokens.at(2), std::dec); gukBasis.coordinates.push_back(Eigen::Vector3d(x, y, z)); gukBasis.atomLabels.push_back(tokens.at(4)); ifs.getline(buffer, BUFF_SIZE); } // end while } else if (strstr(buffer, "atom znuc x y z") != nullptr) { // print "start of opt coord 2" // Skip 3 lines - should then be at the coordinates ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE); while (!ifs.eof()) { // End of geometry block if (strstr(buffer, "*************************") != nullptr) return; tokenize(tokens, buffer, " \t\n"); gukBasis.atomLabels.push_back(tokens.at(0)); from_string(x, tokens.at(3), std::dec); from_string(y, tokens.at(4), std::dec); from_string(z, tokens.at(5), std::dec); gukBasis.coordinates.push_back(Eigen::Vector3d(x, y, z)); ifs.getline(buffer, BUFF_SIZE); } // end of while } ifs.getline(buffer, BUFF_SIZE); } // end of read loop } // end readOptimisedCoordinates void GamessukOut::readMOs(std::ifstream& ifs) { /* Read the Molecular Orbitals as printed out by util1.m subroutine prev */ int orbitalsRead, orbitalsRead1; // Nuke any old set - fix when look at alpha & beta gukBasis.moVectors.clear(); // Skip 3 lines to be just before first header ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE); orbitalsRead1 = readMOVectors(ifs); orbitalsRead = orbitalsRead1; while (orbitalsRead == orbitalsRead1 || orbitalsRead != 0) orbitalsRead = readMOVectors(ifs); } // end readMos int GamessukOut::readMOVectors(std::ifstream& ifs) { /* Loop through a series of columns of printed MO vectors & return the number of orbitals read in */ unsigned int norbitals, norbitalsRead; double energy; ifs.getline(buffer, BUFF_SIZE); // std::cout << "HeaderLine " << buffer << std::endl; // Check we're not at the end if (strstr(buffer, "end of") != 0) return 0; tokenize(tokens, buffer, " \t\n"); // How many orbital columns: norbitals = static_cast(tokens.size()); for (unsigned int i = 0; i < tokens.size(); i++) { from_string(energy, tokens.at(i), std::dec); // std::cout << "adding e " << energy << std::endl; gukBasis.moEnergies.push_back(energy); } // Add the lists to hold this set of coefficients // How many were read in previously: norbitalsRead = static_cast(gukBasis.moVectors.size()); // Create the arrays to hold the coefficients for each orbital for (unsigned int i = 0; i < norbitals; i++) gukBasis.moVectors.push_back(std::vector()); // skip 5 lines to just before where first set of orbitals are printed ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE) && ifs.getline(buffer, BUFF_SIZE); // loop nBasisFunctions times to read in up to norbitals coefficients for (int i = 0; i < gukBasis.nBasisFunctions; i++) { ifs.getline(buffer, BUFF_SIZE); // std::cout << "MO line " << buffer << std::endl; tokenize(tokens, buffer, " \t\n"); for (unsigned int j = 0; j < norbitals; j++) { // reuse variable energy to hold coefficient from_string(energy, tokens.at(j + 4), std::dec); gukBasis.moVectors.at(norbitalsRead + j).push_back(energy); // std::cout << "Adding " << energy << " to vector " << norbitalsRead+j << // std::endl; } } // skip 2 lines to where the next set of headers are printed ifs.getline(buffer, BUFF_SIZE); ifs.getline(buffer, BUFF_SIZE); // If we are printed out after an optimisation under the control of "iprint // vectors", // the next line with be filled with " =================" if we've finished if (strstr(buffer, " ===============================") != 0) return 0; return norbitals; } // end readMOVectors void GamessukOut::addBasisForLabel(unsigned int atomIndex, std::string label, GaussianSet* basis) { /* Add the basis functions for the atom label */ unsigned int s; int prev; for (unsigned int i = 0; i < gukBasis.shellLabels.size(); i++) { if (gukBasis.shellLabels.at(i) != label) continue; for (unsigned int j = 0; j < gukBasis.shells.at(i).size(); j++) { s = basis->addBasis(atomIndex, gukBasis.shells.at(i).at(j)); // The first indexes are different as they are the indexes held at the end // of the last shell or // 0 for the first one if (i == 0 && j == 0) prev = 0; else if (j == 0) prev = gukBasis.gtoIndicies.at(i - 1).back(); else prev = gukBasis.gtoIndicies.at(i).at(j - 1); for (unsigned int k = prev; k < gukBasis.gtoIndicies.at(i).at(j); k++) { basis->addGTO(s, gukBasis.gtoCoefficients.at(k), gukBasis.gtoExponents.at(k)); } } } return; } // end addBasisForLabel void GamessukOut::load(GaussianSet* basis) { /* We will only have read in a basis set for atoms of each type Loop through the list of all the atoms & add the basis functions for each individual atom */ basis->setNumElectrons(gukBasis.nElectrons); // Add the basis for each atom for (unsigned int i = 0; i < gukBasis.atomLabels.size(); i++) { basis->addAtom(gukBasis.coordinates.at(i)); addBasisForLabel(i, gukBasis.atomLabels.at(i), basis); } // Now to load in the MO coefficients // This currently a dirty hack - basisset addMO just expects a long vector of // doubles, which // it then converts into a square matrix. // For this test, we convert our vector of vectors to a single vector and fill // the remaining // virtual orbitals with zeros. std::vector MOs; unsigned int moEnd, nBasis = static_cast(gukBasis.nBasisFunctions); for (unsigned int i = 0; i < nBasis; i++) { if (i >= gukBasis.moVectors.size()) { // std::cout << "Adding blank vectors for non-printed MOs " << i << // std::endl; moEnd = static_cast(MOs.size()) + nBasis; for (unsigned int j = static_cast(MOs.size()); j < moEnd; j++) MOs.push_back(0.0); } else { // std::cout << "Adding actual vector " << i << std::endl; MOs.insert(MOs.end(), gukBasis.moVectors.at(i).begin(), gukBasis.moVectors.at(i).end()); } } // Need to multiply by -1 to bring into accordance with Gaussian. // for( unsigned int i=0; i addMOs(MOs); // basis->initCalculation(); } // end load } // End Namespace } avogadrolibs-1.93.0/avogadro/quantumio/gamessukout.h000066400000000000000000000075731360735163600226520ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2010 Jens Thomas Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QUANTUMIO_GAMESSUKOUT_H #define AVOGADRO_QUANTUMIO_GAMESSUKOUT_H #include #include #include #include #define BUFF_SIZE 32768 class QString; namespace Avogadro { namespace QuantumIO { using Quantum::GaussianSet; using Quantum::orbital; /** * This class is used to hold the data parsed from the GAMESS-UK output * before we create the Avogadro basis set object */ class GUKBasisSet { public: GUKBasisSet() {} ~GUKBasisSet() {} void outputCoord(); void outputBasis(); /** * Return true if we have already processed an atom of this label type */ bool labelIndex(std::string label); /** * Return the enum from basis.h for the supplied label as a string * basisset.h: enum orbital { S, SP, P, D, D5, F, F7, UU }; */ orbital shellTypeFromString(std::string label); std::vector atomLabels; // ordered list of atom labels mapping to coordinates std::vector coordinates; // Coordinates in Bohr std::vector shellLabels; // list of atom labels for the basis functions std::vector> shells; // vector of shell types for each // atom (use basisset.h orbital enum // here) std::vector> gtoIndicies; // Vector of vector of // index of where the GTO // for a particular shell // ends std::vector gtoExponents; // list of exponents std::vector gtoCoefficients; // list of contraction coefficients // Need to look at what to do about uhf calculations std::vector moEnergies; // list of the energies of the MOs std::vector> moVectors; // list of list of MO vectors in order of moEnergies // These are read in after the basis is printed and used by readMOVectors - // could use to check the basis has been parsed correctly too int nShell; int nBasisFunctions; int nElectrons; }; class GamessukOut { public: GamessukOut(const QString& filename, GaussianSet* basis); ~GamessukOut(); void GamessukOutNoQt(const std::string& filename, GaussianSet* basis); void outputParsedData(); private: bool parseFile(std::ifstream& ifs); void readInitialCoordinates(std::ifstream& ifs); void readBasisSet(std::ifstream& ifs); inline void addSpBasis(std::vector s_coeff, std::vector p_coeff, std::vector sp_exponents); void readOptimisedCoordinates(std::ifstream& ifs); void readMOs(std::ifstream& ifs); int readMOVectors(std::ifstream& ifs); void load(GaussianSet* basis); void addBasisForLabel(unsigned int atomIndex, std::string label, GaussianSet* basis); // This holds the basis data parsed in from the file and which is used to // create the BasisSet GUKBasisSet gukBasis; // For parsing the file char buffer[BUFF_SIZE]; std::string line; std::vector tokens; }; } // End namespace } #endif avogadrolibs-1.93.0/avogadro/quantumio/gamessus.cpp000066400000000000000000000336441360735163600224630ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2010 Geoffrey R. Hutchison This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gamessus.h" #include #include #include using std::vector; using std::string; using std::cout; using std::endl; namespace Avogadro { namespace QuantumIO { using Core::Atom; using Core::BasisSet; using Core::GaussianSet; using Core::Rhf; using Core::Uhf; using Core::Rohf; using Core::Unknown; GAMESSUSOutput::GAMESSUSOutput() : m_coordFactor(1.0), m_scftype(Rhf) { } GAMESSUSOutput::~GAMESSUSOutput() { } std::vector GAMESSUSOutput::fileExtensions() const { std::vector extensions; extensions.push_back("gamout"); extensions.push_back("gamess"); extensions.push_back("log"); extensions.push_back("out"); return extensions; } std::vector GAMESSUSOutput::mimeTypes() const { return std::vector(); } bool GAMESSUSOutput::read(std::istream& in, Core::Molecule& molecule) { // Read the log file line by line, most sections are terminated by an empty // line, so they should be retained. bool atomsRead(false); string buffer; while (getline(in, buffer)) { if (Core::contains(buffer, "COORDINATES (BOHR)")) { if (atomsRead) continue; atomsRead = true; readAtomBlock(in, molecule, false); } else if (Core::contains(buffer, "COORDINATES OF ALL ATOMS ARE (ANGS)")) { if (atomsRead) continue; atomsRead = true; readAtomBlock(in, molecule, true); } else if (Core::contains(buffer, "ATOMIC BASIS SET")) { readBasisSet(in); } else if (Core::contains(buffer, "NUMBER OF ELECTRONS")) { vector parts = Core::split(buffer, '='); if (parts.size() == 2) m_electrons = Core::lexicalCast(parts[1]); else cout << "error" << buffer << endl; } /*else if (Core::contains(buffer, "NUMBER OF OCCUPIED ORBITALS (ALPHA)")) { cout << "Found alpha orbitals\n"; } else if (Core::contains(buffer, "NUMBER OF OCCUPIED ORBITALS (BETA )")) { cout << "Found alpha orbitals\n"; } else if (Core::contains(buffer, "SCFTYP=")) { cout << "Found SCF type\n"; }*/ else if (Core::contains(buffer, "EIGENVECTORS")) { readEigenvectors(in); } } // f functions and beyond need to be reordered reorderMOs(); molecule.perceiveBondsSimple(); GaussianSet* basis = new GaussianSet; load(basis); molecule.setBasisSet(basis); basis->setMolecule(&molecule); // outputAll(); return true; } void GAMESSUSOutput::readAtomBlock(std::istream& in, Core::Molecule& molecule, bool angs) { // We read the atom block in until it terminates with a blank line. double coordFactor = angs ? 1.0 : BOHR_TO_ANGSTROM_D; string buffer; while (getline(in, buffer)) { if (Core::contains(buffer, "CHARGE") || Core::contains(buffer, "------")) continue; else if (buffer == "\n") // Our work here is done. return; vector parts = Core::split(buffer, ' '); if (parts.size() != 5) { appendError("Poorly formed atom line: " + buffer); return; } bool ok(false); Vector3 pos; unsigned char atomicNumber( static_cast(Core::lexicalCast(parts[1], ok))); if (!ok) appendError("Failed to cast to int for atomic number: " + parts[1]); pos.x() = Core::lexicalCast(parts[2], ok) * coordFactor; if (!ok) appendError("Failed to cast to double for position: " + parts[2]); pos.y() = Core::lexicalCast(parts[3], ok) * coordFactor; if (!ok) appendError("Failed to cast to double for position: " + parts[3]); pos.z() = Core::lexicalCast(parts[4], ok) * coordFactor; if (!ok) appendError("Failed to cast to double for position: " + parts[4]); Atom atom = molecule.addAtom(atomicNumber); atom.setPosition3d(pos); } } void GAMESSUSOutput::readBasisSet(std::istream& in) { // Basic strategy is to use the number of parts in a line to determine the // type, where atom has 1 part, and a GTO has 5 (or 6 for SP/L). Termination // of the block when we hit the summary information at the end. string buffer; int currentAtom(0); bool header(true); while (getline(in, buffer)) { if (header) { // Skip the header lines until we hit the last header line. if (Core::contains(buffer, "SHELL")) header = false; continue; } vector parts = Core::split(buffer, ' '); if (Core::contains(buffer, "TOTAL NUMBER OF BASIS SET SHELLS")) { // End of the basis set block. return; } else if (parts.size() == 1) { // Currently just incrememt the current atom, we should probably at least // verify the element matches in the future too. ++currentAtom; } else if (parts.size() == 5 || parts.size() == 6) { if (parts[1].size() != 1) { appendError("Error parsing basis set line, unrecognized type" + parts[1]); continue; } // Determine the shell type. GaussianSet::orbital shellType(GaussianSet::UU); switch (parts[1][0]) { case 'S': shellType = GaussianSet::S; break; case 'L': shellType = GaussianSet::SP; break; case 'P': shellType = GaussianSet::P; break; case 'D': shellType = GaussianSet::D; break; case 'F': shellType = GaussianSet::F; break; default: shellType = GaussianSet::UU; appendError("Unrecognized shell type: " + parts[1]); } // Read in the rest of the shell, terminate when the number of tokens // is not 5 or 6 in a line. int numGTOs(0); while (parts.size() == 5 || parts.size() == 6) { ++numGTOs; m_a.push_back(Core::lexicalCast(parts[3])); m_c.push_back(Core::lexicalCast(parts[4])); if (shellType == GaussianSet::SP && parts.size() == 6) m_csp.push_back(Core::lexicalCast(parts[5])); if (!getline(in, buffer)) break; parts = Core::split(buffer, ' '); } // Now add this to our data structure. m_shellNums.push_back(numGTOs); m_shellTypes.push_back(shellType); m_shelltoAtom.push_back(currentAtom); } } } void GAMESSUSOutput::readEigenvectors(std::istream& in) { string buffer; getline(in, buffer); getline(in, buffer); getline(in, buffer); vector parts = Core::split(buffer, ' '); vector> eigenvectors; bool ok(false); size_t numberOfMos(0); bool newBlock(true); while (!Core::contains(buffer, "END OF") || Core::contains(buffer, "--------")) { // Any line with actual information in it will contain >= 5 parts. if (parts.size() > 5 && buffer.substr(0, 16) != " ") { if (newBlock) { // Reorder the columns/rows, add them and then prepare for (size_t i = 0; i < eigenvectors.size(); ++i) for (size_t j = 0; j < eigenvectors[i].size(); ++j) m_MOcoeffs.push_back(eigenvectors[i][j]); eigenvectors.clear(); eigenvectors.resize(parts.size() - 4); numberOfMos += eigenvectors.size(); newBlock = false; } for (size_t i = 0; i < parts.size() - 4; ++i) { eigenvectors[i].push_back(Core::lexicalCast(parts[i + 4], ok)); if (!ok) appendError("Failed to cast to double for eigenvector: " + parts[i]); } } else { // Note that we are either ending or entering a new block of orbitals. newBlock = true; } if (!getline(in, buffer)) break; parts = Core::split(buffer, ' '); } m_nMOs = numberOfMos; for (size_t i = 0; i < eigenvectors.size(); ++i) for (size_t j = 0; j < eigenvectors[i].size(); ++j) m_MOcoeffs.push_back(eigenvectors[i][j]); // Now we just need to transpose the matrix, as GAMESS uses a different order. // We know the number of columns (MOs), and the number of rows (primitives). if (eigenvectors.size() != numberOfMos * m_a.size()) { appendError("Incorrect number of eigenvectors loaded."); return; } } void GAMESSUSOutput::load(GaussianSet* basis) { // Now load up our basis set basis->setElectronCount(m_electrons); // Set up the GTO primitive counter, go through the shells and add them int nGTO = 0; int nSP = 0; // number of SP shells for (unsigned int i = 0; i < m_shellTypes.size(); ++i) { // Handle the SP case separately - this should possibly be a distinct type if (m_shellTypes.at(i) == GaussianSet::SP) { // SP orbital type - currently have to unroll into two shells int tmpGTO = nGTO; int s = basis->addBasis(m_shelltoAtom.at(i) - 1, GaussianSet::S); for (int j = 0; j < m_shellNums.at(i); ++j) { basis->addGto(s, m_c.at(nGTO), m_a.at(nGTO)); ++nGTO; } int p = basis->addBasis(m_shelltoAtom.at(i) - 1, GaussianSet::P); for (int j = 0; j < m_shellNums.at(i); ++j) { basis->addGto(p, m_csp.at(nSP), m_a.at(tmpGTO)); ++tmpGTO; ++nSP; } } else { int b = basis->addBasis(m_shelltoAtom.at(i) - 1, m_shellTypes.at(i)); for (int j = 0; j < m_shellNums.at(i); ++j) { basis->addGto(b, m_c.at(nGTO), m_a.at(nGTO)); ++nGTO; } } } // qDebug() << " loading MOs " << m_MOcoeffs.size(); // Now to load in the MO coefficients if (m_MOcoeffs.size()) basis->setMolecularOrbitals(m_MOcoeffs); if (m_alphaMOcoeffs.size()) basis->setMolecularOrbitals(m_alphaMOcoeffs, BasisSet::Alpha); if (m_betaMOcoeffs.size()) basis->setMolecularOrbitals(m_betaMOcoeffs, BasisSet::Beta); // generateDensity(); // if (m_density.rows()) // basis->setDensityMatrix(m_density); basis->setScfType(m_scftype); } void GAMESSUSOutput::reorderMOs() { unsigned int GTOcounter = 0; for (int iMO = 0; iMO < m_nMOs; iMO++) { // loop over the basis set shells for (unsigned int i = 0; i < m_shellTypes.size(); i++) { // The angular momentum of the shell // determines the number of primitive GTOs. // GAMESS always prints the full cartesian set. double yyy, zzz, xxy, xxz, yyx, yyz, zzx, zzy, xyz; unsigned int nPrimGTOs = 0; switch (m_shellTypes.at(i)) { case GaussianSet::S: nPrimGTOs = 1; GTOcounter += nPrimGTOs; break; case GaussianSet::P: nPrimGTOs = 3; GTOcounter += nPrimGTOs; break; // L? case GaussianSet::D: nPrimGTOs = 6; GTOcounter += nPrimGTOs; break; case GaussianSet::F: nPrimGTOs = 10; // f functions are the first set to be reordered. // double xxx = m_MOcoeffs.at(GTOcounter); yyy = m_MOcoeffs.at(GTOcounter + 1); zzz = m_MOcoeffs.at(GTOcounter + 2); xxy = m_MOcoeffs.at(GTOcounter + 3); xxz = m_MOcoeffs.at(GTOcounter + 4); yyx = m_MOcoeffs.at(GTOcounter + 5); yyz = m_MOcoeffs.at(GTOcounter + 6); zzx = m_MOcoeffs.at(GTOcounter + 7); zzy = m_MOcoeffs.at(GTOcounter + 8); xyz = m_MOcoeffs.at(GTOcounter + 9); // xxx is unchanged m_MOcoeffs.at(GTOcounter + 1) = xxy; // xxy m_MOcoeffs.at(GTOcounter + 2) = xxz; // xxz m_MOcoeffs.at(GTOcounter + 3) = yyx; // xyy m_MOcoeffs.at(GTOcounter + 4) = xyz; // xyz m_MOcoeffs.at(GTOcounter + 5) = zzx; // xzz m_MOcoeffs.at(GTOcounter + 6) = yyy; // yyy m_MOcoeffs.at(GTOcounter + 7) = yyz; // yyz m_MOcoeffs.at(GTOcounter + 8) = zzy; // yzz m_MOcoeffs.at(GTOcounter + 9) = zzz; // zzz GTOcounter += nPrimGTOs; break; case GaussianSet::G: nPrimGTOs = 15; GTOcounter += nPrimGTOs; break; case GaussianSet::H: nPrimGTOs = 21; GTOcounter += nPrimGTOs; break; case GaussianSet::I: nPrimGTOs = 28; GTOcounter += nPrimGTOs; break; default: cout << "Basis set not handled - results may be incorrect.\n"; } } } } void GAMESSUSOutput::outputAll() { switch (m_scftype) { case Rhf: cout << "SCF type = RHF" << endl; break; case Uhf: cout << "SCF type = UHF" << endl; break; case Rohf: cout << "SCF type = ROHF" << endl; break; default: cout << "SCF typ = Unknown" << endl; } cout << "Shell mappings\n"; for (unsigned int i = 0; i < m_shellTypes.size(); ++i) { cout << i << ": type = " << m_shellTypes.at(i) << ", number = " << m_shellNums.at(i) << ", atom = " << m_shelltoAtom.at(i) << endl; } int nGTOs = 0; if (m_MOcoeffs.size()) { nGTOs = m_MOcoeffs.size() / m_nMOs; cout << m_nMOs << " MOs, " << nGTOs << " GTOs" << endl; } for (unsigned int iMO = 0; iMO < 10; iMO++) { for (unsigned int i = iMO * nGTOs; i < nGTOs * iMO + 10; ++i) // m_MOcoeffs.size(); ++i) cout << m_MOcoeffs.at(i) << "\t"; cout << "\n"; } if (m_alphaMOcoeffs.size()) cout << "Alpha MO coefficients.\n"; for (unsigned int i = 0; i < m_alphaMOcoeffs.size(); ++i) cout << m_alphaMOcoeffs.at(i); if (m_betaMOcoeffs.size()) cout << "Beta MO coefficients.\n"; for (unsigned int i = 0; i < m_betaMOcoeffs.size(); ++i) cout << m_betaMOcoeffs.at(i); cout << std::flush; } } } avogadrolibs-1.93.0/avogadro/quantumio/gamessus.h000066400000000000000000000063511360735163600221230ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008 Marcus D. Hanwell Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QUANTUMIO_GAMESSUS_H #define AVOGADRO_QUANTUMIO_GAMESSUS_H #include "avogadroquantumioexport.h" #include #include #include namespace Avogadro { namespace QuantumIO { class AVOGADROQUANTUMIO_EXPORT GAMESSUSOutput : public Io::FileFormat { public: GAMESSUSOutput(); ~GAMESSUSOutput() override; Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new GAMESSUSOutput; } std::string identifier() const override { return "Avogadro: GAMESS"; } std::string name() const override { return "GAMESS"; } std::string description() const override { return "GAMESS US log file output parser."; } std::string specificationUrl() const override { return ""; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream&, const Core::Molecule&) override { // Empty, as we do not write out GAMESS log files. return false; } private: /** * @brief Read the atom block of the log file. * @param in Our input stream. * @param molecule The molecule to add the atoms to. * @param angs Whether the units are Angstroms (true) or Bohr (false). */ void readAtomBlock(std::istream& in, Core::Molecule& molecule, bool angs); /** * Read in the basis set block. */ void readBasisSet(std::istream& in); /** * Read in the molecular orbitals. */ void readEigenvectors(std::istream& in); /** * Reorder the molecular orbitals. */ void reorderMOs(); /** * Outpull all known properties that have been read, useful for debugging. */ void outputAll(); /** * Load the basis with the properties read in from the file. */ void load(Core::GaussianSet* basis); double m_coordFactor; int m_electrons; int m_electronsA; int m_electronsB; int m_nMOs; Core::ScfType m_scftype; unsigned int m_numBasisFunctions; std::vector m_shellTypes; std::vector m_shellNums; std::vector m_shelltoAtom; std::vector m_a; std::vector m_c; std::vector m_csp; std::vector m_orbitalEnergy; std::vector m_alphaOrbitalEnergy; std::vector m_betaOrbitalEnergy; std::vector m_MOcoeffs; std::vector m_alphaMOcoeffs; std::vector m_betaMOcoeffs; MatrixX m_density; /// Total density matrix }; } } #endif avogadrolibs-1.93.0/avogadro/quantumio/gaussiancube.cpp000066400000000000000000000073721360735163600233040ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Barry E. Moore II This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gaussiancube.h" #include #include #include #include namespace Avogadro { namespace QuantumIO { GaussianCube::GaussianCube() { } GaussianCube::~GaussianCube() { } std::vector GaussianCube::fileExtensions() const { std::vector extensions; extensions.push_back("cube"); return extensions; } std::vector GaussianCube::mimeTypes() const { return std::vector(); } bool GaussianCube::read(std::istream& in, Core::Molecule& molecule) { // Variables we will need std::string line; std::vector list; int nAtoms; Vector3 min; Vector3 spacing; Vector3i dim; // Gaussian Cube format is very specific // Read and set name getline(in, line); molecule.setData("name", line); // Read and skip field title (we may be able to use this to setCubeType in the // future) getline(in, line); // Next line contains nAtoms and m_min in >> nAtoms; for (unsigned int i = 0; i < 3; ++i) in >> min(i); getline(in, line); // capture newline before continuing // Next 3 lines contains spacing and dim for (unsigned int i = 0; i < 3; ++i) { getline(in, line); line = Core::trimmed(line); list = Core::split(line, ' '); dim(i) = Core::lexicalCast(list[0]); spacing(i) = Core::lexicalCast(list[i + 1]); } // Geometry block Vector3 pos; for (int i = 0; i < abs(nAtoms); ++i) { getline(in, line); line = Core::trimmed(line); list = Core::split(line, ' '); short int atomNum = Core::lexicalCast(list[0]); Core::Atom a = molecule.addAtom(static_cast(atomNum)); for (unsigned int j = 2; j < 5; ++j) pos(j - 2) = Core::lexicalCast(list[j]); pos = pos * BOHR_TO_ANGSTROM; a.setPosition3d(pos); } // If the nAtoms were negative there is another line before // the data which is necessary, maybe contain 1 or more cubes unsigned int nCubes = 1; if (nAtoms < 0) { in >> nCubes; std::vector moList(nCubes); for (unsigned int i = 0; i < nCubes; ++i) in >> moList[i]; // clear buffer getline(in, line); } // Render molecule molecule.perceiveBondsSimple(); // Cube block, set limits and populate data // min and spacing are in bohr units, convert to ANGSTROM for (unsigned int j = 0; j < 3; ++j) { min[j] *= BOHR_TO_ANGSTROM; spacing[j] *= BOHR_TO_ANGSTROM; } for (unsigned int i = 0; i < nCubes; ++i) { // Get a cube object from molecule Core::Cube* cube = molecule.addCube(); cube->setLimits(min, dim, spacing); std::vector values; // push_back is slow for this, resize vector first values.resize(dim(0) * dim(1) * dim(2)); for (unsigned int j = 0; j < values.size(); ++j) in >> values[j]; // clear buffer, if more than one cube getline(in, line); cube->setData(values); } return true; } bool GaussianCube::write(std::ostream&, const Core::Molecule&) { // Not implemented yet return false; } } // End QuantumIO namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/quantumio/gaussiancube.h000066400000000000000000000035431360735163600227450ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Barry E. Moore II This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QUANTUMIO_GAUSSIANCUBE_H #define AVOGADRO_QUANTUMIO_GAUSSIANCUBE_H #include "avogadroquantumioexport.h" #include #include namespace Avogadro { namespace QuantumIO { class AVOGADROQUANTUMIO_EXPORT GaussianCube : public Io::FileFormat { public: GaussianCube(); ~GaussianCube() override; Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new GaussianCube; } std::string identifier() const override { return "Avogadro: GaussianCube"; } std::string name() const override { return "Gaussian"; } std::string description() const override { return "Gaussian cube file format."; } std::string specificationUrl() const override { return "http://www.gaussian.com/g_tech/g_ur/u_cubegen.htm"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream& out, const Core::Molecule& molecule) override; private: void outputAll(); }; // End GaussianCube } // End QuantumIO namespace } // End Avogadro namespace #endif avogadrolibs-1.93.0/avogadro/quantumio/gaussianfchk.cpp000066400000000000000000000465441360735163600233050ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright (C) 2008-2009 Marcus D. Hanwell Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "gaussianfchk.h" #include #include #include #include using std::vector; using std::string; using std::cout; using std::endl; namespace Avogadro { namespace QuantumIO { using Core::Atom; using Core::BasisSet; using Core::GaussianSet; using Core::Rhf; using Core::Uhf; using Core::Rohf; using Core::Unknown; GaussianFchk::GaussianFchk() : m_scftype(Rhf) { } GaussianFchk::~GaussianFchk() { } std::vector GaussianFchk::fileExtensions() const { std::vector extensions; extensions.push_back("fchk"); return extensions; } std::vector GaussianFchk::mimeTypes() const { return std::vector(); } bool GaussianFchk::read(std::istream& in, Core::Molecule& molecule) { // Read the log file line by line, most sections are terminated by an empty // line, so they should be retained. while (!in.eof()) processLine(in); GaussianSet* basis = new GaussianSet; int nAtom = 0; for (unsigned int i = 0; i < m_aPos.size(); i += 3) { Atom a = molecule.addAtom(static_cast(m_aNums[nAtom++])); a.setPosition3d(Vector3(m_aPos[i] * BOHR_TO_ANGSTROM, m_aPos[i + 1] * BOHR_TO_ANGSTROM, m_aPos[i + 2] * BOHR_TO_ANGSTROM)); } // Do simple bond perception. molecule.perceiveBondsSimple(); molecule.setBasisSet(basis); basis->setMolecule(&molecule); load(basis); return true; } void GaussianFchk::processLine(std::istream& in) { // First truncate the line, remove trailing white space and check any line of // the required length. We are looking for keyword lines of the form, // Charge I 0 // If we are in any other kind of block that is not known skip through until // we find a recognized block. string line; if (!getline(in, line) || line.size() < 44) return; string key = line.substr(0, 42); // cout << "Key:\t" << key << endl; key = Core::trimmed(key); string tmp = line.substr(43); vector list = Core::split(tmp, ' '); // Big switch statement checking for various things we are interested in if (Core::contains(key, "RHF")) { m_scftype = Rhf; } else if (Core::contains(key, "UHF")) { m_scftype = Uhf; } else if (key == "Number of atoms" && list.size() > 1) { cout << "Number of atoms = " << Core::lexicalCast(list[1]) << endl; } else if (key == "Number of electrons" && list.size() > 1) { m_electrons = Core::lexicalCast(list[1]); } else if (key == "Number of alpha electrons" && list.size() > 1) { m_electronsAlpha = Core::lexicalCast(list[1]); } else if (key == "Number of beta electrons" && list.size() > 1) { m_electronsBeta = Core::lexicalCast(list[1]); } else if (key == "Number of basis functions" && list.size() > 1) { m_numBasisFunctions = Core::lexicalCast(list[1]); cout << "Number of basis functions = " << m_numBasisFunctions << endl; } else if (key == "Atomic numbers" && list.size() > 2) { m_aNums = readArrayI(in, Core::lexicalCast(list[2])); if (static_cast(m_aNums.size()) != Core::lexicalCast(list[2])) cout << "Reading atomic numbers failed.\n"; else cout << "Reading atomic numbers succeeded.\n"; } // Now we get to the meat of it - coordinates of the atoms else if (key == "Current cartesian coordinates" && list.size() > 2) { m_aPos = readArrayD(in, Core::lexicalCast(list[2]), 16); } // The real meat is here - basis sets etc! else if (key == "Shell types" && list.size() > 2) { m_shellTypes = readArrayI(in, Core::lexicalCast(list[2])); } else if (key == "Number of primitives per shell" && list.size() > 2) { m_shellNums = readArrayI(in, Core::lexicalCast(list[2])); } else if (key == "Shell to atom map" && list.size() > 2) { m_shelltoAtom = readArrayI(in, Core::lexicalCast(list[2])); } // Now to get the exponents and coefficients( else if (key == "Primitive exponents" && list.size() > 2) { m_a = readArrayD(in, Core::lexicalCast(list[2]), 16); } else if (key == "Contraction coefficients" && list.size() > 2) { m_c = readArrayD(in, Core::lexicalCast(list[2]), 16); } else if (key == "P(S=P) Contraction coefficients" && list.size() > 2) { m_csp = readArrayD(in, Core::lexicalCast(list[2]), 16); } else if (key == "Alpha Orbital Energies") { if (m_scftype == Rhf) { m_orbitalEnergy = readArrayD(in, Core::lexicalCast(list[2]), 16); cout << "MO energies, n = " << m_orbitalEnergy.size() << endl; } else if (m_scftype == Uhf) { m_alphaOrbitalEnergy = readArrayD(in, Core::lexicalCast(list[2]), 16); cout << "Alpha MO energies, n = " << m_alphaOrbitalEnergy.size() << endl; } } else if (key == "Beta Orbital Energies") { if (m_scftype != Uhf) { cout << "UHF detected. Reassigning Alpha properties." << endl; m_scftype = Uhf; m_alphaOrbitalEnergy = m_orbitalEnergy; m_orbitalEnergy = vector(); m_alphaMOcoeffs = m_MOcoeffs; m_MOcoeffs = vector(); } m_betaOrbitalEnergy = readArrayD(in, Core::lexicalCast(list[2]), 16); cout << "Beta MO energies, n = " << m_betaOrbitalEnergy.size() << endl; } else if (key == "Alpha MO coefficients" && list.size() > 2) { if (m_scftype == Rhf) { m_MOcoeffs = readArrayD(in, Core::lexicalCast(list[2]), 16); if (static_cast(m_MOcoeffs.size()) == Core::lexicalCast(list[2])) cout << "MO coefficients, n = " << m_MOcoeffs.size() << endl; } else if (m_scftype == Uhf) { m_alphaMOcoeffs = readArrayD(in, Core::lexicalCast(list[2]), 16); if (static_cast(m_alphaMOcoeffs.size()) == Core::lexicalCast(list[2])) cout << "Alpha MO coefficients, n = " << m_alphaMOcoeffs.size() << endl; } else { cout << "Error, alpha MO coefficients, n = " << m_MOcoeffs.size() << endl; } } else if (key == "Beta MO coefficients" && list.size() > 2) { m_betaMOcoeffs = readArrayD(in, Core::lexicalCast(list[2]), 16); if (static_cast(m_betaMOcoeffs.size()) == Core::lexicalCast(list[2])) cout << "Beta MO coefficients, n = " << m_betaMOcoeffs.size() << endl; } else if (key == "Total SCF Density" && list.size() > 2) { if (readDensityMatrix(in, Core::lexicalCast(list[2]), 16)) cout << "SCF density matrix read in " << m_density.rows() << endl; else cout << "Error reading in the SCF density matrix.\n"; } else if (key == "Spin SCF Density" && list.size() > 2) { if (readSpinDensityMatrix(in, Core::lexicalCast(list[2]), 16)) cout << "SCF spin density matrix read in " << m_spinDensity.rows() << endl; else cout << "Error reading in the SCF spin density matrix.\n"; } } void GaussianFchk::load(GaussianSet* basis) { // Now load up our basis set basis->setElectronCount(m_electrons); // basis->setElectronCount(m_electronsAlpha, Core::GaussianSet::alpha); // basis->setElectronCount(m_electronsBeta, Core::GaussianSet::beta); // Set up the GTO primitive counter, go through the shells and add them int nGTO = 0; for (unsigned int i = 0; i < m_shellTypes.size(); ++i) { // Handle the SP case separately - this should possibly be a distinct type if (m_shellTypes[i] == -1) { // SP orbital type - actually have to add two shells int s = basis->addBasis(m_shelltoAtom[i] - 1, GaussianSet::S); int tmpGTO = nGTO; for (int j = 0; j < m_shellNums[i]; ++j) { basis->addGto(s, m_c[nGTO], m_a[nGTO]); ++nGTO; } int p = basis->addBasis(m_shelltoAtom[i] - 1, GaussianSet::P); for (int j = 0; j < m_shellNums[i]; ++j) { basis->addGto(p, m_csp[tmpGTO], m_a[tmpGTO]); ++tmpGTO; } } else { GaussianSet::orbital type; switch (m_shellTypes[i]) { case 0: type = GaussianSet::S; break; case 1: type = GaussianSet::P; break; case 2: type = GaussianSet::D; break; case -2: type = GaussianSet::D5; break; case 3: type = GaussianSet::F; break; case -3: type = GaussianSet::F7; break; case 4: type = GaussianSet::G; break; case -4: type = GaussianSet::G9; break; case 5: type = GaussianSet::H; break; case -5: type = GaussianSet::H11; break; case 6: type = GaussianSet::I; break; case -6: type = GaussianSet::I13; break; default: // If we encounter GTOs we do not understand, the basis is likely // invalid type = GaussianSet::UU; /// basis->setValid(false); } if (type != GaussianSet::UU) { int b = basis->addBasis(m_shelltoAtom[i] - 1, type); for (int j = 0; j < m_shellNums[i]; ++j) { basis->addGto(b, m_c[nGTO], m_a[nGTO]); ++nGTO; } } } } // Now to load in the MO coefficients if (basis->isValid()) { if (m_MOcoeffs.size()) basis->setMolecularOrbitals(m_MOcoeffs); else cout << "Error no MO coefficients...\n"; if (m_alphaMOcoeffs.size()) basis->setMolecularOrbitals(m_alphaMOcoeffs, BasisSet::Alpha); if (m_betaMOcoeffs.size()) basis->setMolecularOrbitals(m_betaMOcoeffs, BasisSet::Beta); if (m_density.rows()) basis->setDensityMatrix(m_density); if (m_spinDensity.rows()) basis->setSpinDensityMatrix(m_spinDensity); } else { cout << "Basis set is not valid!\n"; } } vector GaussianFchk::readArrayI(std::istream& in, unsigned int n) { vector tmp; tmp.reserve(n); bool ok(false); while (tmp.size() < n) { if (in.eof()) { cout << "GaussianFchk::readArrayI could not read all elements " << n << " expected " << tmp.size() << " parsed.\n"; return tmp; } string line; if (getline(in, line), line.empty()) return tmp; vector list = Core::split(line, ' '); for (size_t i = 0; i < list.size(); ++i) { if (tmp.size() >= n) { cout << "Too many variables read in. File may be inconsistent. " << tmp.size() << " of " << n << endl; return tmp; } tmp.push_back(Core::lexicalCast(list[i], ok)); if (!ok) { cout << "Warning: problem converting string to integer: " << list[i] << " in GaussianFchk::readArrayI.\n"; return tmp; } } } return tmp; } vector GaussianFchk::readArrayD(std::istream& in, unsigned int n, int width) { vector tmp; tmp.reserve(n); bool ok(false); while (tmp.size() < n) { if (in.eof()) { cout << "GaussianFchk::readArrayD could not read all elements " << n << " expected " << tmp.size() << " parsed.\n"; return tmp; } string line; if (getline(in, line), line.empty()) return tmp; if (width == 0) { // we can split by spaces vector list = Core::split(line, ' '); for (size_t i = 0; i < list.size(); ++i) { if (tmp.size() >= n) { cout << "Too many variables read in. File may be inconsistent. " << tmp.size() << " of " << n << endl; return tmp; } tmp.push_back(Core::lexicalCast(list[i], ok)); if (!ok) { cout << "Warning: problem converting string to integer: " << list[i] << " in GaussianFchk::readArrayD.\n"; return tmp; } } } else { // Q-Chem files use 16 character fields int maxColumns = 80 / width; for (int i = 0; i < maxColumns; ++i) { string substring = line.substr(i * width, width); if (static_cast(substring.length()) != width) break; if (tmp.size() >= n) { cout << "Too many variables read in. File may be inconsistent. " << tmp.size() << " of " << n << endl; return tmp; } tmp.push_back(Core::lexicalCast(substring, ok)); if (!ok) { cout << "Warning: problem converting string to double: " << substring << " in GaussianFchk::readArrayD.\n"; return tmp; } } } } return tmp; } bool GaussianFchk::readDensityMatrix(std::istream& in, unsigned int n, int width) { // This function reads in the lower triangular density matrix m_density.resize(m_numBasisFunctions, m_numBasisFunctions); unsigned int cnt = 0; unsigned int i = 0, j = 0; unsigned int f = 1; bool ok = false; while (cnt < n) { if (in.eof()) { cout << "GaussianFchk::readDensityMatrix could not read all elements " << n << " expected " << cnt << " parsed.\n"; return false; } string line; if (getline(in, line), line.empty()) return false; if (width == 0) { // we can split by spaces vector list = Core::split(line, ' '); for (size_t k = 0; k < list.size(); ++k) { if (cnt >= n) { cout << "Too many variables read in. File may be inconsistent. " << cnt << " of " << n << endl; return false; } // Read in lower half matrix m_density(i, j) = Core::lexicalCast(list[k], ok); if (ok) { // Valid double converted, carry on ++j; ++cnt; if (j == f) { // We need to move down to the next row and increment f - lower tri j = 0; ++f; ++i; } } else { // Invalid conversion of a string to double cout << "Warning: problem converting string to double: " << list.at(k) << "\nIn GaussianFchk::readDensityMatrix.\n"; return false; } } } else { // Q-Chem files use 16-character fields int maxColumns = 80 / width; for (int c = 0; c < maxColumns; ++c) { string substring = line.substr(c * width, width); if (static_cast(substring.length()) != width) { break; } else if (cnt >= n) { cout << "Too many variables read in. File may be inconsistent. " << cnt << " of " << n << endl; return false; } // Read in lower half matrix m_density(i, j) = Core::lexicalCast(substring, ok); if (ok) { // Valid double converted, carry on ++j; ++cnt; if (j == f) { // We need to move down to the next row and increment f - lower tri j = 0; ++f; ++i; } } else { // Invalid conversion of a string to double cout << "Warning: problem converting string to double: " << substring << "\nIn GaussianFchk::readDensityMatrix.\n"; return false; } } } } return true; } bool GaussianFchk::readSpinDensityMatrix(std::istream& in, unsigned int n, int width) { // This function reads in the lower triangular density matrix m_spinDensity.resize(m_numBasisFunctions, m_numBasisFunctions); unsigned int cnt = 0; unsigned int i = 0, j = 0; unsigned int f = 1; bool ok = false; while (cnt < n) { if (in.eof()) { cout << "GaussianFchk::readSpinDensityMatrix could not read all elements " << n << " expected " << cnt << " parsed.\n"; return false; } string line; if (getline(in, line), line.empty()) return false; if (width == 0) { // we can split by spaces vector list = Core::split(line, ' '); for (size_t k = 0; k < list.size(); ++k) { if (cnt >= n) { cout << "Too many variables read in. File may be inconsistent. " << cnt << " of " << n << endl; return false; } // Read in lower half matrix m_spinDensity(i, j) = Core::lexicalCast(list[k], ok); if (ok) { // Valid double converted, carry on ++j; ++cnt; if (j == f) { // We need to move down to the next row and increment f - lower tri j = 0; ++f; ++i; } } else { // Invalid conversion of a string to double cout << "Warning: problem converting string to double: " << list[k] << "\nIn GaussianFchk::readDensityMatrix.\n"; return false; } } } else { // Q-Chem files use 16-character fields int maxColumns = 80 / width; for (int c = 0; c < maxColumns; ++c) { string substring = line.substr(c * width, width); if (static_cast(substring.length()) != width) { break; } else if (cnt >= n) { cout << "Too many variables read in. File may be inconsistent. " << cnt << " of " << n << endl; return false; } // Read in lower half matrix m_spinDensity(i, j) = Core::lexicalCast(substring, ok); if (ok) { // Valid double converted, carry on ++j; ++cnt; if (j == f) { // We need to move down to the next row and increment f - lower tri j = 0; ++f; ++i; } } else { // Invalid conversion of a string to double cout << "Warning: problem converting string to double: " << substring << "\nIn GaussianFchk::readSpinDensityMatrix.\n"; return false; } } } } return true; } void GaussianFchk::outputAll() { switch (m_scftype) { case Rhf: cout << "SCF type = RHF\n"; break; case Uhf: cout << "SCF type = UHF\n"; break; case Rohf: cout << "SCF type = ROHF\n"; break; default: cout << "SCF type = Unknown\n"; } cout << "Shell mappings:\n"; for (unsigned int i = 0; i < m_shellTypes.size(); ++i) cout << i << " : type = " << m_shellTypes.at(i) << ", number = " << m_shellNums.at(i) << ", atom = " << m_shelltoAtom.at(i) << endl; if (m_MOcoeffs.size()) { cout << "MO coefficients:\n"; for (unsigned int i = 0; i < m_MOcoeffs.size(); ++i) cout << m_MOcoeffs.at(i) << "\t"; cout << endl << endl; } if (m_alphaMOcoeffs.size()) { cout << "Alpha MO coefficients:\n"; for (unsigned int i = 0; i < m_alphaMOcoeffs.size(); ++i) cout << m_alphaMOcoeffs.at(i) << "\t"; cout << endl << endl; } if (m_betaMOcoeffs.size()) { cout << "Beta MO coefficients:\n"; for (unsigned int i = 0; i < m_betaMOcoeffs.size(); ++i) cout << m_betaMOcoeffs.at(i) << "\t"; cout << endl << endl; } } } } avogadrolibs-1.93.0/avogadro/quantumio/gaussianfchk.h000066400000000000000000000062501360735163600227400ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QUANTUMIO_GAUSSIANFCHK_H #define AVOGADRO_QUANTUMIO_GAUSSIANFCHK_H #include "avogadroquantumioexport.h" #include #include #include namespace Avogadro { namespace QuantumIO { class AVOGADROQUANTUMIO_EXPORT GaussianFchk : public Io::FileFormat { public: GaussianFchk(); ~GaussianFchk() override; Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new GaussianFchk; } std::string identifier() const override { return "Avogadro: FCHK"; } std::string name() const override { return "Gaussian FCHK"; } std::string description() const override { return "Guassian formatted checkpoint reader."; } std::string specificationUrl() const override { return "http://www.gaussian.com/g_tech/g_ur/f_formchk.htm"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream&, const Core::Molecule&) override { // Empty, as we do not write out Gaussian FCHK files. return false; } void outputAll(); private: void processLine(std::istream& in); void load(Core::GaussianSet* basis); std::vector readArrayI(std::istream& in, unsigned int n); std::vector readArrayD(std::istream& in, unsigned int n, int width = 0); bool readDensityMatrix(std::istream& in, unsigned int n, int width = 0); bool readSpinDensityMatrix(std::istream& in, unsigned int n, int width = 0); /** * Use either m_electrons, or m_electronsAlpha and m_electronsBeta. * This then carries through to the energy, coefficients etc. */ int m_electrons; int m_electronsAlpha; int m_electronsBeta; unsigned int m_numBasisFunctions; std::vector m_aNums; std::vector m_aPos; std::vector m_shellTypes; std::vector m_shellNums; std::vector m_shelltoAtom; std::vector m_a; std::vector m_c; std::vector m_csp; std::vector m_orbitalEnergy; std::vector m_alphaOrbitalEnergy; std::vector m_betaOrbitalEnergy; std::vector m_MOcoeffs; std::vector m_alphaMOcoeffs; std::vector m_betaMOcoeffs; MatrixX m_density; /// Total density matrix MatrixX m_spinDensity; /// Spin density matrix Core::ScfType m_scftype; }; } } #endif avogadrolibs-1.93.0/avogadro/quantumio/molden.cpp000066400000000000000000000174651360735163600221150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2010 Geoffrey R. Hutchison Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "molden.h" #include #include #include #include using std::vector; using std::string; using std::cout; using std::endl; namespace Avogadro { namespace QuantumIO { using Core::Atom; using Core::BasisSet; using Core::GaussianSet; using Core::Rhf; using Core::Uhf; using Core::Rohf; using Core::Unknown; MoldenFile::MoldenFile() : m_coordFactor(1.0), m_electrons(0), m_mode(Unrecognized) { } MoldenFile::~MoldenFile() { } std::vector MoldenFile::fileExtensions() const { std::vector extensions; extensions.push_back("mold"); extensions.push_back("molf"); extensions.push_back("molden"); return extensions; } std::vector MoldenFile::mimeTypes() const { return std::vector(); } bool MoldenFile::read(std::istream& in, Core::Molecule& molecule) { // Read the log file line by line, most sections are terminated by an empty // line, so they should be retained. while (!in.eof()) processLine(in); GaussianSet* basis = new GaussianSet; int nAtom = 0; for (unsigned int i = 0; i < m_aPos.size(); i += 3) { Atom a = molecule.addAtom(static_cast(m_aNums[nAtom++])); a.setPosition3d(Vector3(m_aPos[i], m_aPos[i + 1], m_aPos[i + 2])); } // Do simple bond perception. molecule.perceiveBondsSimple(); molecule.setBasisSet(basis); basis->setMolecule(&molecule); load(basis); return true; } void MoldenFile::processLine(std::istream& in) { // First truncate the line, remove trailing white space and check for blanks. string line; if (!getline(in, line) || Core::trimmed(line).empty()) return; vector list = Core::split(line, ' '); // Big switch statement checking for various things we are interested in. The // Molden file format uses sections, each starts with a header line of the // form [Atoms], and the beginning of a new section denotes the end of the // last. if (Core::contains(line, "[Atoms]")) { if (list.size() > 1 && Core::contains(list[1], "AU")) m_coordFactor = BOHR_TO_ANGSTROM_D; m_mode = Atoms; } else if (Core::contains(line, "[GTO]")) { m_mode = GTO; } else if (Core::contains(line, "[MO]")) { m_mode = MO; } else if (Core::contains(line, "[")) { // unknown section m_mode = Unrecognized; } else { // We are in a section, and must parse the lines in that section. string shell; GaussianSet::orbital shellType; // Parsing a line of data in a section - what mode are we in? switch (m_mode) { case Atoms: readAtom(list); break; case GTO: { // TODO: detect dead files and make bullet-proof int atom = Core::lexicalCast(list[0]); getline(in, line); line = Core::trimmed(line); while (!line.empty()) { // Read the shell types in this GTO. list = Core::split(line, ' '); if (list.size() < 1) break; shell = list[0]; shellType = GaussianSet::UU; if (shell == "sp") shellType = GaussianSet::SP; else if (shell == "s") shellType = GaussianSet::S; else if (shell == "p") shellType = GaussianSet::P; else if (shell == "d") shellType = GaussianSet::D; else if (shell == "f") shellType = GaussianSet::F; else if (shell == "g") shellType = GaussianSet::G; if (shellType != GaussianSet::UU) { m_shellTypes.push_back(shellType); m_shelltoAtom.push_back(atom); } else { return; } int numGTOs = Core::lexicalCast(list[1]); m_shellNums.push_back(numGTOs); // Now read all the exponents and contraction coefficients. for (int gto = 0; gto < numGTOs; ++gto) { getline(in, line); line = Core::trimmed(line); list = Core::split(line, ' '); if (list.size() > 1) { m_a.push_back(Core::lexicalCast(list[0])); m_c.push_back(Core::lexicalCast(list[1])); } if (shellType == GaussianSet::SP && list.size() > 2) m_csp.push_back(Core::lexicalCast(list[2])); } // Start reading the next shell. getline(in, line); line = Core::trimmed(line); } } break; case MO: // Parse the occupation, spin, energy, etc (Occup, Spin, Ene). while (!line.empty() && Core::contains(line, "=")) { getline(in, line); line = Core::trimmed(line); list = Core::split(line, ' '); if (Core::contains(line, "Occup")) m_electrons += Core::lexicalCast(list[1]); } // Parse the molecular orbital coefficients. while (!line.empty() && !Core::contains(line, "=")) { list = Core::split(line, ' '); if (list.size() < 2) break; m_MOcoeffs.push_back(Core::lexicalCast(list[1])); getline(in, line); line = Core::trimmed(line); list = Core::split(line, ' '); } break; default: break; } } } void MoldenFile::readAtom(const vector& list) { // element_name number atomic_number x y z if (list.size() < 6) return; m_aNums.push_back(Core::lexicalCast(list[2])); m_aPos.push_back(Core::lexicalCast(list[3]) * m_coordFactor); m_aPos.push_back(Core::lexicalCast(list[4]) * m_coordFactor); m_aPos.push_back(Core::lexicalCast(list[5]) * m_coordFactor); } void MoldenFile::load(GaussianSet* basis) { // Now load up our basis set basis->setElectronCount(m_electrons); // Set up the GTO primitive counter, go through the shells and add them int nGTO = 0; int nSP = 0; // number of SP shells for (unsigned int i = 0; i < m_shellTypes.size(); ++i) { // Handle the SP case separately - this should possibly be a distinct type if (m_shellTypes.at(i) == GaussianSet::SP) { // SP orbital type - currently have to unroll into two shells int s = basis->addBasis(m_shelltoAtom[i] - 1, GaussianSet::S); int p = basis->addBasis(m_shelltoAtom[i] - 1, GaussianSet::P); for (int j = 0; j < m_shellNums[i]; ++j) { basis->addGto(s, m_c[nGTO], m_a[nGTO]); basis->addGto(p, m_csp[nSP], m_a[nGTO]); ++nSP; ++nGTO; } } else { int b = basis->addBasis(m_shelltoAtom[i] - 1, m_shellTypes[i]); for (int j = 0; j < m_shellNums[i]; ++j) { basis->addGto(b, m_c[nGTO], m_a[nGTO]); ++nGTO; } } } // Now to load in the MO coefficients if (m_MOcoeffs.size()) basis->setMolecularOrbitals(m_MOcoeffs); } void MoldenFile::outputAll() { cout << "Shell mappings:\n"; for (unsigned int i = 0; i < m_shellTypes.size(); ++i) cout << i << ": type = " << m_shellTypes.at(i) << ", number = " << m_shellNums.at(i) << ", atom = " << m_shelltoAtom.at(i) << endl; cout << "MO coefficients:\n"; for (unsigned int i = 0; i < m_MOcoeffs.size(); ++i) cout << m_MOcoeffs.at(i) << "\t"; cout << endl; } } } avogadrolibs-1.93.0/avogadro/quantumio/molden.h000066400000000000000000000047761360735163600215630ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2010 Geoffrey R. Hutchison Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QUANTUMIO_MOLDEN_H #define AVOGADRO_QUANTUMIO_MOLDEN_H #include "avogadroquantumioexport.h" #include #include #include namespace Avogadro { namespace QuantumIO { class AVOGADROQUANTUMIO_EXPORT MoldenFile : public Io::FileFormat { public: MoldenFile(); ~MoldenFile() override; Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new MoldenFile; } std::string identifier() const override { return "Avogadro: Molden"; } std::string name() const override { return "Molden"; } std::string description() const override { return "Molden file format."; } std::string specificationUrl() const override { return "http://www.cmbi.ru.nl/molden/molden_format.html"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream&, const Core::Molecule&) override { // Empty, as we do not write out Molden files. return false; } private: void outputAll(); void processLine(std::istream& in); void readAtom(const std::vector& list); void load(Core::GaussianSet* basis); double m_coordFactor; int m_electrons; unsigned int m_numBasisFunctions; std::vector m_aNums; std::vector m_aPos; std::vector m_shellTypes; std::vector m_shellNums; std::vector m_shelltoAtom; std::vector m_a; std::vector m_c; std::vector m_csp; std::vector m_orbitalEnergy; std::vector m_MOcoeffs; enum Mode { Atoms, GTO, MO, Unrecognized }; Mode m_mode; }; } // End namespace } #endif avogadrolibs-1.93.0/avogadro/quantumio/mopacaux.cpp000066400000000000000000000236761360735163600224550ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "mopacaux.h" #include #include #include #include using std::vector; using std::string; using std::cout; using std::endl; namespace Avogadro { namespace QuantumIO { using Core::Atom; using Core::BasisSet; using Core::SlaterSet; MopacAux::MopacAux() { } MopacAux::~MopacAux() { } std::vector MopacAux::fileExtensions() const { std::vector extensions; extensions.push_back("aux"); return extensions; } std::vector MopacAux::mimeTypes() const { return std::vector(); } bool MopacAux::read(std::istream& in, Core::Molecule& molecule) { // Read the log file line by line, most sections are terminated by an empty // line, so they should be retained. while (!in.eof()) processLine(in); SlaterSet* basis = new SlaterSet; for (unsigned int i = 0; i < m_atomPos.size(); ++i) { Atom a = molecule.addAtom(static_cast(m_atomNums[i])); a.setPosition3d(m_atomPos[i]); } // Do simple bond perception. molecule.perceiveBondsSimple(); molecule.setBasisSet(basis); basis->setMolecule(&molecule); load(basis); return true; } void MopacAux::processLine(std::istream& in) { // First truncate the line, remove trailing white space and check string line; if (!getline(in, line) || Core::trimmed(line).empty()) return; string key = Core::trimmed(line); // Big switch statement checking for various things we are interested in if (Core::contains(key, "ATOM_EL")) { int tmp = Core::lexicalCast(key.substr(key.find('[') + 1, 4)); cout << "Number of atoms = " << tmp << endl; m_atomNums = readArrayElements(in, tmp); } else if (Core::contains(key, "AO_ATOMINDEX")) { int tmp = Core::lexicalCast(key.substr(key.find('[') + 1, 4)); cout << "Number of atomic orbitals = " << tmp << endl; m_atomIndex = readArrayI(in, tmp); for (size_t i = 0; i < m_atomIndex.size(); ++i) --m_atomIndex[i]; } else if (Core::contains(key, "ATOM_SYMTYPE")) { int tmp = Core::lexicalCast(key.substr(key.find('[') + 1, 4)); cout << "Number of atomic orbital types = " << tmp << endl; m_atomSym = readArraySym(in, tmp); } else if (Core::contains(key, "AO_ZETA")) { int tmp = Core::lexicalCast(key.substr(key.find('[') + 1, 4)); cout << "Number of zeta values = " << tmp << endl; m_zeta = readArrayD(in, tmp); } else if (Core::contains(key, "ATOM_PQN")) { int tmp = Core::lexicalCast(key.substr(key.find('[') + 1, 4)); cout << "Number of PQN values =" << tmp << endl; m_pqn = readArrayI(in, tmp); } else if (Core::contains(key, "NUM_ELECTRONS")) { vector list = Core::split(line, '='); if (list.size() > 1) { m_electrons = Core::lexicalCast(list[1]); cout << "Number of electrons = " << m_electrons << endl; } } else if (Core::contains(key, "ATOM_X_OPT:ANGSTROMS")) { int tmp = Core::lexicalCast(key.substr(key.find('[') + 1, 4)); cout << "Number of atomic coordinates = " << tmp << endl; m_atomPos = readArrayVec(in, tmp); } else if (Core::contains(key, "OVERLAP_MATRIX")) { int tmp = Core::lexicalCast(key.substr(key.find('[') + 1, 6)); cout << "Size of lower half triangle of overlap matrix = " << tmp << endl; readOverlapMatrix(in, tmp); } else if (Core::contains(key, "EIGENVECTORS")) { // For large molecules the Eigenvectors counter overflows to [*****] // So just use the square of the m_atomIndex array // QString tmp = key.mid(key.indexOf('[')+1, 6); cout << "Size of eigen vectors matrix = " << m_atomIndex.size() * m_atomIndex.size() << endl; readEigenVectors(in, static_cast(m_atomIndex.size() * m_atomIndex.size())); } else if (Core::contains(key, "TOTAL_DENSITY_MATRIX")) { int tmp = Core::lexicalCast(key.substr(key.find('[') + 1, 6)); cout << "Size of lower half triangle of density matrix = " << tmp << endl; readDensityMatrix(in, tmp); } } void MopacAux::load(SlaterSet* basis) { if (m_atomPos.size() == 0) { cout << "No atoms found in .aux file. Bailing out." << endl; // basis->setIsValid(false); return; } // Now load up our basis set basis->addSlaterIndices(m_atomIndex); basis->addSlaterTypes(m_atomSym); basis->addZetas(m_zeta); basis->addPQNs(m_pqn); basis->setElectronCount(m_electrons); basis->addOverlapMatrix(m_overlap); basis->addEigenVectors(m_eigenVectors); basis->addDensityMatrix(m_density); } vector MopacAux::readArrayElements(std::istream& in, unsigned int n) { vector tmp; while (tmp.size() < n) { string line; getline(in, line); vector list = Core::split(line, ' '); for (size_t i = 0; i < list.size(); ++i) { tmp.push_back( static_cast(Core::Elements::atomicNumberFromSymbol(list[i]))); } } return tmp; } vector MopacAux::readArrayI(std::istream& in, unsigned int n) { vector tmp; while (tmp.size() < n) { string line; getline(in, line); vector list = Core::split(line, ' '); for (size_t i = 0; i < list.size(); ++i) tmp.push_back(Core::lexicalCast(list[i])); } return tmp; } vector MopacAux::readArrayD(std::istream& in, unsigned int n) { vector tmp; while (tmp.size() < n) { string line; getline(in, line); vector list = Core::split(line, ' '); for (size_t i = 0; i < list.size(); ++i) tmp.push_back(Core::lexicalCast(list[i])); } return tmp; } vector MopacAux::readArraySym(std::istream& in, unsigned int n) { int type; vector tmp; while (tmp.size() < n) { string line; getline(in, line); vector list = Core::split(line, ' '); for (size_t i = 0; i < list.size(); ++i) { if (list[i] == "S") type = SlaterSet::S; else if (list[i] == "PX") type = SlaterSet::PX; else if (list[i] == "PY") type = SlaterSet::PY; else if (list[i] == "PZ") type = SlaterSet::PZ; else if (list[i] == "X2") type = SlaterSet::X2; else if (list[i] == "XZ") type = SlaterSet::XZ; else if (list[i] == "Z2") type = SlaterSet::Z2; else if (list[i] == "YZ") type = SlaterSet::YZ; else if (list[i] == "XY") type = SlaterSet::XY; else type = SlaterSet::UU; tmp.push_back(type); } } return tmp; } vector MopacAux::readArrayVec(std::istream& in, unsigned int n) { vector tmp(n / 3); double* ptr = tmp[0].data(); unsigned int cnt = 0; while (cnt < n) { string line; getline(in, line); vector list = Core::split(line, ' '); for (size_t i = 0; i < list.size(); ++i) ptr[cnt++] = Core::lexicalCast(list[i]); } return tmp; } bool MopacAux::readOverlapMatrix(std::istream& in, unsigned int n) { m_overlap.resize(m_zeta.size(), m_zeta.size()); unsigned int cnt = 0; unsigned int i = 0, j = 0; unsigned int f = 1; // Skip the first comment line... string line; getline(in, line); while (cnt < n) { getline(in, line); vector list = Core::split(line, ' '); for (size_t k = 0; k < list.size(); ++k) { // m_overlap.part()(i, j) = list.at(k).toDouble(); m_overlap(i, j) = m_overlap(j, i) = Core::lexicalCast(list[k]); ++i; ++cnt; if (i == f) { // We need to move down to the next row and increment f - lower tri i = 0; ++f; ++j; } } } return true; } bool MopacAux::readEigenVectors(std::istream& in, unsigned int n) { m_eigenVectors.resize(m_zeta.size(), m_zeta.size()); unsigned int cnt = 0; unsigned int i = 0, j = 0; while (cnt < n) { string line; getline(in, line); vector list = Core::split(line, ' '); for (size_t k = 0; k < list.size(); ++k) { m_eigenVectors(i, j) = Core::lexicalCast(list[k]); ++i; ++cnt; if (i == m_zeta.size()) { // We need to move down to the next row and increment f - lower tri i = 0; ++j; } } } return true; } bool MopacAux::readDensityMatrix(std::istream& in, unsigned int n) { m_density.resize(m_zeta.size(), m_zeta.size()); unsigned int cnt = 0; unsigned int i = 0, j = 0; unsigned int f = 1; // Skip the first comment line... string line; getline(in, line); while (cnt < n) { getline(in, line); vector list = Core::split(line, ' '); for (size_t k = 0; k < list.size(); ++k) { // m_overlap.part()(i, j) = list.at(k).toDouble(); m_density(i, j) = m_density(j, i) = Core::lexicalCast(list[k]); ++i; ++cnt; if (i == f) { // We need to move down to the next row and increment f - lower tri i = 0; ++f; ++j; } } } return true; } void MopacAux::outputAll() { cout << "Shell mappings:\n"; for (unsigned int i = 0; i < m_shellTypes.size(); ++i) cout << i << ": type = " << m_shellTypes.at(i) << ", number = " << m_shellNums.at(i) << ", atom = " << m_shelltoAtom.at(i) << endl; cout << "MO coefficients:\n"; for (unsigned int i = 0; i < m_MOcoeffs.size(); ++i) cout << m_MOcoeffs.at(i) << "\t"; cout << endl; } } } avogadrolibs-1.93.0/avogadro/quantumio/mopacaux.h000066400000000000000000000061041360735163600221050ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2008-2009 Marcus D. Hanwell Copyright 2010-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QUANTUMIO_MOPACAUX_H #define AVOGADRO_QUANTUMIO_MOPACAUX_H #include "avogadroquantumioexport.h" #include #include #include namespace Avogadro { namespace QuantumIO { class AVOGADROQUANTUMIO_EXPORT MopacAux : public Io::FileFormat { public: MopacAux(); ~MopacAux() override; void outputAll(); Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new MopacAux; } std::string identifier() const override { return "Avogadro: MOPAC"; } std::string name() const override { return "MOPAC AUX"; } std::string description() const override { return "MOPAC AUX file format."; } std::string specificationUrl() const override { return "http://openmopac.net/manual/auxiliary.html"; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream&, const Core::Molecule&) override { // Empty, as we do not write out MOPAC AUX files. return false; } private: void processLine(std::istream& in); void load(Core::SlaterSet* basis); std::vector readArrayElements(std::istream& in, unsigned int n); std::vector readArrayI(std::istream& in, unsigned int n); std::vector readArrayD(std::istream& in, unsigned int n); std::vector readArraySym(std::istream& in, unsigned int n); std::vector readArrayVec(std::istream& in, unsigned int n); bool readOverlapMatrix(std::istream& in, unsigned int n); bool readEigenVectors(std::istream& in, unsigned int n); bool readDensityMatrix(std::istream& in, unsigned int n); int m_electrons; std::vector m_shellTypes; std::vector m_shellNums; std::vector m_shelltoAtom; std::vector m_c; std::vector m_csp; std::vector m_orbitalEnergy; std::vector m_MOcoeffs; std::vector m_atomIndex; std::vector m_atomSym; std::vector m_atomNums; std::vector m_zeta; std::vector m_pqn; std::vector m_atomPos; Eigen::MatrixXd m_overlap; /// Overlap matrix Eigen::MatrixXd m_eigenVectors; Eigen::MatrixXd m_density; /// Total density matrix }; } // End namespace QuantumIO } // End namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/quantumio/nwchemjson.cpp000066400000000000000000000271241360735163600230030ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "nwchemjson.h" #include #include #include #include #include #include #include #include namespace Avogadro { namespace QuantumIO { using std::cout; using std::endl; using std::string; using std::vector; using nlohmann::json; using Core::Array; using Core::Atom; using Core::BasisSet; using Core::Bond; using Core::CrystalTools; using Core::Elements; using Core::GaussianSet; using Core::Molecule; using Core::split; using Core::Variant; NWChemJson::NWChemJson() {} NWChemJson::~NWChemJson() {} bool NWChemJson::read(std::istream& file, Molecule& molecule) { json root; try { file >> root; } catch (json::parse_error& e) { appendError("Error parsing JSON: " + string(e.what())); return false; } if (!root.is_object()) { appendError("Error: Input is not a JSON object."); return false; } if (root.find("simulation") == root.end()) { appendError("Error: no \"simulation\" key found."); return false; } json simulation = root["simulation"]; if (simulation.find("calculations") == simulation.end() || !simulation["calculations"].is_array()) { appendError("Error: no \"calculations\" array found."); return false; } // Scan the calculations array for calculationSetup.molecule objects. json calculations = simulation["calculations"]; // Iterate through the objects in the array, and print out any molecules. json moleculeArray = json::array(); json basisSetArray = json::array(); json calculationVib; json molecularOrbitals; int numberOfElectrons = 0; string theory; string xcFunctional; for (size_t i = 0; i < calculations.size(); ++i) { json calcObj = calculations[i]; if (calcObj.is_object()) { string calcType = calcObj.value("calculationType", ""); // Store the last vibrational frequencies calculation object. if (calcType == "vibrationalModes") calculationVib = calcObj; json calcSetup = calcObj.value("calculationSetup", json()); json calcMol = calcSetup.value("molecule", json()); numberOfElectrons = calcSetup.value("numberOfElectrons", -1); if (calcSetup.count("exchangeCorrelationFunctional") && calcSetup["exchangeCorrelationFunctional"].is_array() && !calcSetup["exchangeCorrelationFunctional"].empty()) { json functional = calcSetup["exchangeCorrelationFunctional"][0]; if (functional.is_object()) { xcFunctional = functional.value("xcName", ""); } if (xcFunctional == "B3LYP Method XC Potential") { xcFunctional = "b3lyp"; } } if (calcSetup.count("waveFunctionTheory")) { theory = calcSetup["waveFunctionTheory"]; if (theory == "Density Functional Theory") { theory = "dft"; } } if (!calcMol.is_null() && calcMol.is_object()) moleculeArray.push_back(calcMol); json basisSet = calcSetup.value("basisSet", json()); if (!basisSet.is_null() && basisSet.is_object()) basisSetArray.push_back(basisSet); json calcResults = calcObj.value("calculationResults", json()); calcMol = calcResults.value("molecule", json()); if (!calcMol.is_null() && calcMol.is_object()) moleculeArray.push_back(calcMol); // There is currently one id for all, just get the last one we find. if (calcResults.count("molecularOrbitals") && calcResults["molecularOrbitals"].is_object()) { molecularOrbitals = calcResults["molecularOrbitals"]; } } } // For now, we are just grabbing the "last" molecule, and using that. This // needs more complex logic to step through the file and do it properly. json atoms; if (!moleculeArray.empty()) { json finalMol = moleculeArray.back(); atoms = finalMol.value("atoms", json()); } if (atoms.is_array()) { for (size_t i = 0; i < atoms.size(); ++i) { json jsonAtom = atoms[i]; if (jsonAtom.is_null() || !jsonAtom.is_object()) continue; Atom a = molecule.addAtom( static_cast(jsonAtom.value("elementNumber", 0))); json pos = jsonAtom["cartesianCoordinates"]["value"]; Vector3 position; if (pos.is_array() && pos.size() >= 3) position = Vector3(pos[0], pos[1], pos[2]); string units = jsonAtom["cartesianCoordinates"]["units"]; if (units == "bohr") position *= BOHR_TO_ANGSTROM_D; a.setPosition3d(position); } } // Perceive bonds for the molecule. molecule.perceiveBondsSimple(); // Add in the electronic structure information if available. if (molecularOrbitals.is_object() && molecularOrbitals["atomicOrbitalDescriptions"].is_array()) { json basisSet; if (!basisSetArray.empty()) basisSet = basisSetArray.back(); json orbDesc = molecularOrbitals.value("atomicOrbitalDescriptions", json()); // Figure out the mapping of basis set to molecular orbitals. Array atomNumber; Array atomSymbol; for (size_t i = 0; i < orbDesc.size(); ++i) { string desc = orbDesc[i]; vector parts = split(desc, ' '); assert(parts.size() == 3); int num = Core::lexicalCast(parts[0]); if (atomNumber.size() > 0 && atomNumber.back() == num) continue; atomNumber.push_back(num); atomSymbol.push_back(parts[1]); } // Now create the structure, and expand out the orbitals. GaussianSet* basis = new GaussianSet; basis->setMolecule(&molecule); string basisSetName; for (size_t i = 0; i < atomSymbol.size(); ++i) { string symbol = atomSymbol[i]; json basisFunctions = basisSet.value("basisFunctions", json()); json currentFunction; for (size_t j = 0; j < basisFunctions.size(); ++j) { currentFunction = basisFunctions[j]; string elementType; if (currentFunction.count("elementLabel")) elementType = currentFunction["elementLabel"]; else if (currentFunction.count("elementType")) elementType = currentFunction["elementType"]; if (elementType == symbol) break; currentFunction = json(); } if (currentFunction.is_null()) break; if (currentFunction.count("basisSetName")) { if (basisSetName.empty()) { basisSetName = currentFunction["basisSetName"]; } else if (basisSetName != currentFunction["basisSetName"]) { basisSetName = "Custom"; } } json contraction = currentFunction.value("basisSetContraction", json()); bool spherical = currentFunction.value("basisSetHarmonicType", "") == "spherical"; for (size_t j = 0; j < contraction.size(); ++j) { json contractionShell = contraction[j]; string shellType; if (contractionShell.count("basisSetShell")) shellType = contractionShell["basisSetShell"]; else if (contractionShell.count("basisSetShellType")) shellType = contractionShell["basisSetShellType"]; json exponent = contractionShell.value("basisSetExponent", json()); json coefficient = contractionShell.value("basisSetCoefficient", json()); assert(exponent.size() == coefficient.size()); GaussianSet::orbital type = GaussianSet::UU; if (shellType == "s") type = GaussianSet::S; else if (shellType == "p") type = GaussianSet::P; else if (shellType == "d" && spherical) type = GaussianSet::D5; else if (shellType == "d") type = GaussianSet::D; else if (shellType == "f" && spherical) type = GaussianSet::F7; else if (shellType == "f") type = GaussianSet::F; if (type != GaussianSet::UU) { int b = basis->addBasis(i, type); for (size_t k = 0; k < exponent.size() && k < coefficient.size(); ++k) { basis->addGto(b, coefficient[k], exponent[k]); } } } } // Now to add the molecular orbital coefficients. json moCoeffs = molecularOrbitals.value("molecularOrbital", json()); vector coeffArray; vector energyArray; vector occArray; vector numArray; for (size_t i = 0; i < moCoeffs.size(); ++i) { json currentMO = moCoeffs[i]; json coeff = currentMO.value("moCoefficients", json()); for (size_t j = 0; j < coeff.size(); ++j) coeffArray.push_back(coeff[j]); if (currentMO.count("orbitalEnergy")) { energyArray.push_back(currentMO["orbitalEnergy"].value("value", 0.0)); } if (currentMO.count("orbitalOccupancy")) { occArray.push_back( static_cast(currentMO["orbitalOccupancy"])); } if (currentMO.count("orbitalNumber")) { numArray.push_back( static_cast(currentMO["orbitalNumber"])); } } basis->setMolecularOrbitals(coeffArray); basis->setMolecularOrbitalEnergy(energyArray); basis->setMolecularOrbitalOccupancy(occArray); basis->setMolecularOrbitalNumber(numArray); basis->setElectronCount(numberOfElectrons); basis->setFunctionalName(xcFunctional); basis->setName(basisSetName); basis->setTheoryName(theory); molecule.setBasisSet(basis); } // Now to see if there was a vibrational frequencies calculation. if (!calculationVib.is_null() && calculationVib.is_object()) { json normalModes = calculationVib.value("calculationResults", json()) .value("normalModes", json()); if (!normalModes.is_null() && normalModes.is_array()) { Array frequencies; Array intensities; Array> Lx; for (size_t i = 0; i < normalModes.size(); ++i) { json mode = normalModes[i]; frequencies.push_back( mode.value("normalModeFrequency", json()).value("value", 0.0)); intensities.push_back(mode.value("normalModeInfraRedIntensity", json()) .value("value", 0.0)); json lx = mode.value("normalModeVector", json()).value("value", json()); if (!lx.empty() && lx.is_array()) { Array modeLx; modeLx.resize(lx.size() / 3); for (size_t k = 0; k < lx.size(); ++k) modeLx[k / 3][k % 3] = lx[k]; Lx.push_back(modeLx); } } molecule.setVibrationFrequencies(frequencies); molecule.setVibrationIntensities(intensities); molecule.setVibrationLx(Lx); } } return true; } bool NWChemJson::write(std::ostream&, const Molecule&) { return false; } vector NWChemJson::fileExtensions() const { vector ext; ext.push_back("json"); ext.push_back("nwjson"); return ext; } vector NWChemJson::mimeTypes() const { vector mime; mime.push_back("chemical/x-nwjson"); return mime; } } // namespace QuantumIO } // namespace Avogadro avogadrolibs-1.93.0/avogadro/quantumio/nwchemjson.h000066400000000000000000000036201360735163600224430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QUANTUMIO_NWCHEMJSON_H #define AVOGADRO_QUANTUMIO_NWCHEMJSON_H #include "avogadroquantumioexport.h" #include namespace Avogadro { namespace QuantumIO { /** * @class NWChemJson nwchemjson.h * @brief Implementation of the NWChem JSON format. * @author Marcus D. Hanwell */ class AVOGADROQUANTUMIO_EXPORT NWChemJson : public Io::FileFormat { public: NWChemJson(); ~NWChemJson() override; Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new NWChemJson; } std::string identifier() const override { return "Avogadro: NWCHEMJSON"; } std::string name() const override { return "NWChem JSON"; } std::string description() const override { return "TODO: Describe the format."; } std::string specificationUrl() const override { return ""; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream& out, const Core::Molecule& molecule) override; }; } // end QuantumIO namespace } // end Avogadro namespace #endif // AVOGADRO_IO_NWCHEMJSON_H avogadrolibs-1.93.0/avogadro/quantumio/nwchemlog.cpp000066400000000000000000000130571360735163600226130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "nwchemlog.h" #include #include #include #include using std::vector; using std::string; using std::cout; using std::endl; namespace Avogadro { namespace QuantumIO { using Core::Atom; using Core::BasisSet; using Core::GaussianSet; NWChemLog::NWChemLog() { } NWChemLog::~NWChemLog() { } std::vector NWChemLog::fileExtensions() const { std::vector extensions; extensions.push_back("log"); extensions.push_back("out"); extensions.push_back("nwchem"); return extensions; } std::vector NWChemLog::mimeTypes() const { return std::vector(); } bool NWChemLog::read(std::istream& in, Core::Molecule& molecule) { // Read the log file line by line, most sections are terminated by an empty // line, so they should be retained. while (!in.eof()) processLine(in, molecule); if (m_frequencies.size() > 0 && m_frequencies.size() == m_Lx.size() && m_frequencies.size() == m_intensities.size()) { molecule.setVibrationFrequencies(m_frequencies); molecule.setVibrationIntensities(m_intensities); molecule.setVibrationLx(m_Lx); } // GaussianSet *basis = new GaussianSet; // Do simple bond perception. molecule.perceiveBondsSimple(); return true; } void NWChemLog::processLine(std::istream& in, Core::Molecule& mol) { // First truncate the line, remove trailing white space and check string line; if (!getline(in, line) || Core::trimmed(line).empty()) return; string key = Core::trimmed(line); // Big switch statement checking for various things we are interested in if (Core::contains(key, "Output coordinates")) { if (mol.atomCount()) mol.clearAtoms(); readAtoms(in, mol); } else if (Core::contains(key, "P.Frequency")) { readFrequencies(line, in, mol); } else if (Core::contains(key, "Projected Infra")) { readIntensities(in, mol); } } void NWChemLog::readAtoms(std::istream& in, Core::Molecule& mol) { string line; // Skip the next three lines, headers, blanks... for (int i = 0; i < 3; ++i) if (!getline(in, line)) return; while (true) { if (!getline(in, line)) return; vector parts = Core::split(line, ' '); // Keep going until the expected number of components is not seen. if (parts.size() != 6) break; unsigned char element = Core::Elements::atomicNumberFromSymbol(parts[1]); if (element == Avogadro::InvalidElement) { appendError("Invalid element encountered: " + parts[1]); return; } Vector3 p; for (int i = 0; i < 3; ++i) { bool ok = false; p[i] = Core::lexicalCast(parts[i + 3], ok); if (!ok) { appendError("Couldn't convert coordinate component to double: " + parts[i + 3]); return; } } Core::Atom a = mol.addAtom(element); a.setPosition3d(p); } } void NWChemLog::readFrequencies(const std::string& firstLine, std::istream& in, Core::Molecule&) { string line = firstLine; bool ok = false; vector parts = Core::split(firstLine, ' '); if (parts.size() < 2) return; vector frequencies; for (size_t i = 1; i < parts.size(); ++i) frequencies.push_back(Core::lexicalCast(parts[i], ok)); if (!ok) { appendError("Error reading frequencies: " + firstLine); return; } // Skip the blank line after the frequencies. if (!getline(in, line)) return; if (!getline(in, line)) return; parts = Core::split(line, ' '); if (parts.size() < 2) return; vector> cols; cols.resize(parts.size() - 1); // Main block of numbers. while (parts.size() >= 2) { for (size_t i = 1; i < parts.size(); ++i) { cols[i - 1].push_back(Core::lexicalCast(parts[i], ok)); if (!ok) { appendError("Couldn't convert " + parts[i] + " to double."); return; } } if (!getline(in, line)) return; parts = Core::split(line, ' '); } for (size_t i = 0; i < frequencies.size(); ++i) { m_frequencies.push_back(frequencies[i]); Core::Array Lx; for (size_t j = 0; j < cols[i].size(); j += 3) { Lx.push_back(Vector3(cols[i][j + 0], cols[i][j + 1], cols[i][j + 2])); } m_Lx.push_back(Lx); } } void NWChemLog::readIntensities(std::istream& in, Core::Molecule& mol) { string line; bool ok = false; // Skip the next two lines, headers, blanks... for (int i = 0; i < 2; ++i) if (!getline(in, line)) return; while (true) { if (!getline(in, line)) return; vector parts = Core::split(line, ' '); // Keep going until the expected number of components is not seen. if (parts.size() != 7) break; m_intensities.push_back(Core::lexicalCast(parts[5], ok)); if (!ok) { appendError("Couldn't convert " + parts[5] + " to double."); return; } } } } } avogadrolibs-1.93.0/avogadro/quantumio/nwchemlog.h000066400000000000000000000046231360735163600222570ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2015 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_QUANTUMIO_NWCHEMLOG_H #define AVOGADRO_QUANTUMIO_NWCHEMLOG_H #include "avogadroquantumioexport.h" #include #include #include #include namespace Avogadro { namespace QuantumIO { class AVOGADROQUANTUMIO_EXPORT NWChemLog : public Io::FileFormat { public: NWChemLog(); ~NWChemLog() override; void outputAll(); Operations supportedOperations() const override { return Read | File | Stream | String; } FileFormat* newInstance() const override { return new NWChemLog; } std::string identifier() const override { return "Avogadro: NWChem"; } std::string name() const override { return "NWChem Log"; } std::string description() const override { return "NWChem log file format."; } std::string specificationUrl() const override { return ""; } std::vector fileExtensions() const override; std::vector mimeTypes() const override; bool read(std::istream& in, Core::Molecule& molecule) override; bool write(std::ostream&, const Core::Molecule&) override { // Empty, as we do not write out NWChem log files. return false; } private: void processLine(std::istream& in, Core::Molecule& mol); // Read the atoms, and their geometry. void readAtoms(std::istream& in, Core::Molecule& mol); // Read the projected frequencies. void readFrequencies(const std::string& line, std::istream& in, Core::Molecule& mol); // Read the projected frequency intensities. void readIntensities(std::istream& in, Core::Molecule& mol); Core::Array m_frequencies; Core::Array m_intensities; Core::Array> m_Lx; }; } // End namespace QuantumIO } // End namespace Avogadro #endif avogadrolibs-1.93.0/avogadro/rendering/000077500000000000000000000000001360735163600200515ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/rendering/CMakeLists.txt000066400000000000000000000046431360735163600226200ustar00rootroot00000000000000find_package(Eigen3 REQUIRED) # Add as "system headers" to avoid warnings generated by them with # compilers that support that notion. include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) find_package(OpenGL REQUIRED) find_package(GLEW REQUIRED) include_directories(SYSTEM ${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS}) if(WIN32 AND NOT BUILD_SHARED_LIBS) add_definitions(-DGLEW_STATIC) endif() set(HEADERS arrowgeometry.h avogadrogl.h avogadrorendering.h bufferobject.h camera.h cylindergeometry.h drawable.h geometrynode.h geometryvisitor.h groupnode.h glrenderer.h glrendervisitor.h linestripgeometry.h meshgeometry.h node.h povrayvisitor.h primitive.h scene.h shader.h shaderprogram.h spheregeometry.h textlabel2d.h textlabel3d.h textlabelbase.h textproperties.h textrenderstrategy.h texture2d.h transformnode.h visitor.h volumegeometry.h vrmlvisitor.h ) set(SOURCES arrowgeometry.cpp bufferobject.cpp camera.cpp cylindergeometry.cpp drawable.cpp geometrynode.cpp geometryvisitor.cpp groupnode.cpp glrenderer.cpp glrendervisitor.cpp linestripgeometry.cpp meshgeometry.cpp node.cpp povrayvisitor.cpp scene.cpp shader.cpp shaderprogram.cpp spheregeometry.cpp textlabel2d.cpp textlabel3d.cpp textlabelbase.cpp textproperties.cpp textrenderstrategy.cpp texture2d.cpp transformnode.cpp visitor.cpp volumegeometry.cpp vrmlvisitor.cpp ambientocclusionspheregeometry.cpp ) set(shader_files "arrow_vs.glsl" "cylinders_fs.glsl" "cylinders_vs.glsl" "linestrip_fs.glsl" "linestrip_vs.glsl" "mesh_fs.glsl" "mesh_vs.glsl" "spheres_fs.glsl" "spheres_vs.glsl" "sphere_ao_depth_vs.glsl" "sphere_ao_depth_fs.glsl" "sphere_ao_bake_vs.glsl" "sphere_ao_bake_fs.glsl" "sphere_ao_render_vs.glsl" "sphere_ao_render_fs.glsl" "textlabelbase_fs.glsl" "textlabelbase_vs.glsl" ) foreach(file ${shader_files}) get_filename_component(file_we ${file} NAME_WE) set(src ${CMAKE_CURRENT_SOURCE_DIR}/${file}) set(resh ${CMAKE_CURRENT_BINARY_DIR}/${file_we}.h) list(APPEND shader_h_files ${resh}) add_custom_command( OUTPUT ${resh} DEPENDS ${src} encodefile COMMAND encodefile ARGS ${src} ${resh} ${file_we} COMMENT "Encoding ${src}" ) endforeach() avogadro_add_library(AvogadroRendering ${HEADERS} ${SOURCES} ${shader_h_files}) target_link_libraries(AvogadroRendering ${GLEW_LIBRARY} ${OPENGL_LIBRARIES}) avogadrolibs-1.93.0/avogadro/rendering/ambientocclusionspheregeometry.cpp000066400000000000000000001116661360735163600271110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. Copyright 2013 Tim Vandermeersch This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "ambientocclusionspheregeometry.h" #include "camera.h" #include "scene.h" #include "bufferobject.h" #include "shader.h" #include "shaderprogram.h" #include "visitor.h" namespace { #include "sphere_ao_bake_fs.h" #include "sphere_ao_bake_vs.h" #include "sphere_ao_depth_fs.h" #include "sphere_ao_depth_vs.h" #include "sphere_ao_render_fs.h" #include "sphere_ao_render_vs.h" const int num_ao_points = 162; const float ao_points[] = { 0.850650808352f, 0.525731112119f, 0.0f, -0.850650808352f, 0.525731112119f, 0.0f, 0.850650808352f, -0.525731112119f, 0.0f, -0.850650808352f, -0.525731112119f, 0.0f, 0.525731112119f, 0.0f, 0.850650808352f, 0.525731112119f, 0.0f, -0.850650808352f, -0.525731112119f, 0.0f, 0.850650808352f, -0.525731112119f, 0.0f, -0.850650808352f, 0.0f, 0.850650808352f, 0.525731112119f, 0.0f, -0.850650808352f, 0.525731112119f, 0.0f, 0.850650808352f, -0.525731112119f, 0.0f, -0.850650808352f, -0.525731112119f, 0.5f, 0.809016994375f, 0.309016994375f, 0.309016994375f, 0.5f, 0.809016994375f, 0.809016994375f, 0.309016994375f, 0.5f, 0.809016994375f, 0.309016994375f, -0.5f, 0.309016994375f, 0.5f, -0.809016994375f, 0.5f, 0.809016994375f, -0.309016994375f, 0.809016994375f, -0.309016994375f, 0.5f, 0.309016994375f, -0.5f, 0.809016994375f, 0.5f, -0.809016994375f, 0.309016994375f, 0.5f, -0.809016994375f, -0.309016994375f, 0.309016994375f, -0.5f, -0.809016994375f, 0.809016994375f, -0.309016994375f, -0.5f, -0.809016994375f, 0.309016994375f, 0.5f, -0.309016994375f, 0.5f, 0.809016994375f, -0.5f, 0.809016994375f, 0.309016994375f, -0.5f, 0.809016994375f, -0.309016994375f, -0.309016994375f, 0.5f, -0.809016994375f, -0.809016994375f, 0.309016994375f, -0.5f, -0.5f, -0.809016994375f, 0.309016994375f, -0.309016994375f, -0.5f, 0.809016994375f, -0.809016994375f, -0.309016994375f, 0.5f, -0.809016994375f, -0.309016994375f, -0.5f, -0.309016994375f, -0.5f, -0.809016994375f, -0.5f, -0.809016994375f, -0.309016994375f, 0.0f, 1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, -1.0f, 0.702046444776f, 0.69378047756f, 0.16062203564f, 0.688190960236f, 0.587785252292f, 0.425325404176f, 0.862668480416f, 0.433888564553f, 0.259891913008f, 0.16062203564f, 0.702046444776f, 0.69378047756f, 0.425325404176f, 0.688190960236f, 0.587785252292f, 0.259891913008f, 0.862668480416f, 0.433888564553f, 0.69378047756f, 0.16062203564f, 0.702046444776f, 0.587785252292f, 0.425325404176f, 0.688190960236f, 0.433888564553f, 0.259891913008f, 0.862668480416f, 0.862668480416f, 0.433888564553f, -0.259891913008f, 0.688190960236f, 0.587785252292f, -0.425325404176f, 0.702046444776f, 0.69378047756f, -0.16062203564f, 0.433888564553f, 0.259891913008f, -0.862668480416f, 0.587785252292f, 0.425325404176f, -0.688190960236f, 0.69378047756f, 0.16062203564f, -0.702046444776f, 0.259891913008f, 0.862668480416f, -0.433888564553f, 0.425325404176f, 0.688190960236f, -0.587785252292f, 0.16062203564f, 0.702046444776f, -0.69378047756f, 0.862668480416f, -0.433888564553f, 0.259891913008f, 0.688190960236f, -0.587785252292f, 0.425325404176f, 0.702046444776f, -0.69378047756f, 0.16062203564f, 0.433888564553f, -0.259891913008f, 0.862668480416f, 0.587785252292f, -0.425325404176f, 0.688190960236f, 0.69378047756f, -0.16062203564f, 0.702046444776f, 0.259891913008f, -0.862668480416f, 0.433888564553f, 0.425325404176f, -0.688190960236f, 0.587785252292f, 0.16062203564f, -0.702046444776f, 0.69378047756f, 0.702046444776f, -0.69378047756f, -0.16062203564f, 0.688190960236f, -0.587785252292f, -0.425325404176f, 0.862668480416f, -0.433888564553f, -0.259891913008f, 0.16062203564f, -0.702046444776f, -0.69378047756f, 0.425325404176f, -0.688190960236f, -0.587785252292f, 0.259891913008f, -0.862668480416f, -0.433888564553f, 0.69378047756f, -0.16062203564f, -0.702046444776f, 0.587785252292f, -0.425325404176f, -0.688190960236f, 0.433888564553f, -0.259891913008f, -0.862668480416f, -0.862668480416f, 0.433888564553f, 0.259891913008f, -0.688190960236f, 0.587785252292f, 0.425325404176f, -0.702046444776f, 0.69378047756f, 0.16062203564f, -0.433888564553f, 0.259891913008f, 0.862668480416f, -0.587785252292f, 0.425325404176f, 0.688190960236f, -0.69378047756f, 0.16062203564f, 0.702046444776f, -0.259891913008f, 0.862668480416f, 0.433888564553f, -0.425325404176f, 0.688190960236f, 0.587785252292f, -0.16062203564f, 0.702046444776f, 0.69378047756f, -0.702046444776f, 0.69378047756f, -0.16062203564f, -0.688190960236f, 0.587785252292f, -0.425325404176f, -0.862668480416f, 0.433888564553f, -0.259891913008f, -0.16062203564f, 0.702046444776f, -0.69378047756f, -0.425325404176f, 0.688190960236f, -0.587785252292f, -0.259891913008f, 0.862668480416f, -0.433888564553f, -0.69378047756f, 0.16062203564f, -0.702046444776f, -0.587785252292f, 0.425325404176f, -0.688190960236f, -0.433888564553f, 0.259891913008f, -0.862668480416f, -0.702046444776f, -0.69378047756f, 0.16062203564f, -0.688190960236f, -0.587785252292f, 0.425325404176f, -0.862668480416f, -0.433888564553f, 0.259891913008f, -0.16062203564f, -0.702046444776f, 0.69378047756f, -0.425325404176f, -0.688190960236f, 0.587785252292f, -0.259891913008f, -0.862668480416f, 0.433888564553f, -0.69378047756f, -0.16062203564f, 0.702046444776f, -0.587785252292f, -0.425325404176f, 0.688190960236f, -0.433888564553f, -0.259891913008f, 0.862668480416f, -0.862668480416f, -0.433888564553f, -0.259891913008f, -0.688190960236f, -0.587785252292f, -0.425325404176f, -0.702046444776f, -0.69378047756f, -0.16062203564f, -0.433888564553f, -0.259891913008f, -0.862668480416f, -0.587785252292f, -0.425325404176f, -0.688190960236f, -0.69378047756f, -0.16062203564f, -0.702046444776f, -0.259891913008f, -0.862668480416f, -0.433888564553f, -0.425325404176f, -0.688190960236f, -0.587785252292f, -0.16062203564f, -0.702046444776f, -0.69378047756f, 0.525731112119f, 0.850650808352f, 0.0f, 0.0f, 0.961938357784f, -0.273266528913f, 0.26286555606f, 0.951056516295f, -0.162459848116f, 0.26286555606f, 0.951056516295f, 0.162459848116f, 0.0f, 0.961938357784f, 0.273266528913f, -0.525731112119f, 0.850650808352f, 0.0f, -0.26286555606f, 0.951056516295f, 0.162459848116f, -0.26286555606f, 0.951056516295f, -0.162459848116f, 0.525731112119f, -0.850650808352f, 0.0f, 0.0f, -0.961938357784f, 0.273266528913f, 0.26286555606f, -0.951056516295f, 0.162459848116f, 0.26286555606f, -0.951056516295f, -0.162459848116f, 0.0f, -0.961938357784f, -0.273266528913f, -0.525731112119f, -0.850650808352f, 0.0f, -0.26286555606f, -0.951056516295f, 0.162459848116f, -0.26286555606f, -0.951056516295f, -0.162459848116f, 0.850650808352f, 0.0f, 0.525731112119f, 0.961938357784f, -0.273266528913f, 0.0f, 0.951056516295f, -0.162459848116f, 0.26286555606f, 0.951056516295f, 0.162459848116f, 0.26286555606f, 0.961938357784f, 0.273266528913f, 0.0f, 0.850650808352f, 0.0f, -0.525731112119f, 0.951056516295f, 0.162459848116f, -0.26286555606f, 0.951056516295f, -0.162459848116f, -0.26286555606f, -0.850650808352f, 0.0f, 0.525731112119f, -0.961938357784f, 0.273266528913f, 0.0f, -0.951056516295f, 0.162459848116f, 0.26286555606f, -0.951056516295f, -0.162459848116f, 0.26286555606f, -0.961938357784f, -0.273266528913f, 0.0f, -0.850650808352f, 0.0f, -0.525731112119f, -0.951056516295f, -0.162459848116f, -0.26286555606f, -0.951056516295f, 0.162459848116f, -0.26286555606f, 0.0f, 0.525731112119f, 0.850650808352f, -0.273266528913f, 0.0f, 0.961938357784f, -0.162459848116f, 0.26286555606f, 0.951056516295f, 0.162459848116f, 0.26286555606f, 0.951056516295f, 0.273266528913f, 0.0f, 0.961938357784f, 0.0f, -0.525731112119f, 0.850650808352f, 0.162459848116f, -0.26286555606f, 0.951056516295f, -0.162459848116f, -0.26286555606f, 0.951056516295f, 0.0f, 0.525731112119f, -0.850650808352f, 0.273266528913f, 0.0f, -0.961938357784f, 0.162459848116f, 0.26286555606f, -0.951056516295f, -0.162459848116f, 0.26286555606f, -0.951056516295f, -0.273266528913f, 0.0f, -0.961938357784f, 0.0f, -0.525731112119f, -0.850650808352f, -0.162459848116f, -0.26286555606f, -0.951056516295f, 0.162459848116f, -0.26286555606f, -0.951056516295f, }; } #include "avogadrogl.h" #include using std::cout; using std::endl; namespace Avogadro { namespace Rendering { class AmbientOcclusionRenderer { public: virtual ~AmbientOcclusionRenderer() {} virtual void renderDepth(const Eigen::Matrix4f& modelView, const Eigen::Matrix4f& projection) = 0; virtual void renderAO(const Eigen::Matrix4f& modelView, const Eigen::Matrix4f& projection, GLint textureSize, float numDirections) = 0; }; class AmbientOcclusionBaker { public: AmbientOcclusionBaker(AmbientOcclusionRenderer* renderer, GLint textureSize_) : m_renderer(renderer) , m_textureSize(textureSize_) , m_depthTexture(0) , m_depthFBO(0) , m_aoTexture(0) , m_aoFBO(0) { initialize(); } void destroy() { // delete framebuffers glDeleteFramebuffers(1, &m_depthFBO); glDeleteFramebuffers(1, &m_aoFBO); // delete depth texture glDeleteTextures(1, &m_depthTexture); // note: ao texture not deleted since it contains the computed data... } GLint textureSize() const { return m_textureSize; } GLuint aoTexture() const { return m_aoTexture; } void accumulateAO(const Vector3f& center, float radius) { // save OpenGL state m_openglState.save(); // set the viewport glViewport(0, 0, m_textureSize, m_textureSize); // set the clear depth value glClearDepth(1.0f); // set the clear color glClearColor(0.0, 0.0, 0.0, 1.0); // enable polygon offset to resolve depth fighting glEnable(GL_POLYGON_OFFSET_FILL); glPolygonOffset(2.0f, 4.0f); // enable alpha blending glEnable(GL_BLEND); glBlendFunc(GL_ONE, GL_ONE); // bind the depth texture for depth lookup glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, m_depthTexture); Camera camera; camera.calculateOrthographic(-radius, radius, -radius, radius, -radius, radius); Eigen::Matrix4f projection(camera.projection().matrix()); // clear draw buffer once, AO wil be accumulated using blending glBindFramebuffer(GL_FRAMEBUFFER, m_aoFBO); glClear(GL_COLOR_BUFFER_BIT); glBindFramebuffer(GL_FRAMEBUFFER, 0); for (int i = 0; i < num_ao_points; ++i) { // random light direction Vector3f dir(ao_points[i * 3], ao_points[i * 3 + 1], ao_points[i * 3 + 2]); camera.lookAt(center + dir, center, Vector3f(0, 1, 0)); Eigen::Matrix4f modelView = camera.modelView().matrix(); // render depth to texture renderDepth(modelView, projection); // accumulate AO renderAO(modelView, projection, num_ao_points); } // load OpenGL state m_openglState.load(); } private: void initialize() { // create depth texture & FBO createDepthTexture(); createDepthFBO(); // create AO texture & FBO createAOTexture(); createAOFBO(); } void checkFramebufferStatus() { // check framebuffer status GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); switch (status) { case GL_FRAMEBUFFER_COMPLETE: std::cerr << "GL_FRAMEBUFFER_COMPLETE" << std::endl; break; case GL_FRAMEBUFFER_UNDEFINED: std::cerr << "GL_FRAMEBUFFER_UNDEFINED" << std::endl; break; case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT: std::cerr << "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT" << std::endl; break; case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: std::cerr << "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" << std::endl; break; case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER: std::cerr << "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER" << std::endl; break; case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER: std::cerr << "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER" << std::endl; break; case GL_FRAMEBUFFER_UNSUPPORTED: std::cerr << "GL_FRAMEBUFFER_UNSUPPORTED" << std::endl; break; case GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: std::cerr << "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE" << std::endl; break; case GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS: std::cerr << "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS" << std::endl; break; default: std::cerr << "GL_FRAMEBUFFER_???" << std::endl; break; } } void createDepthTexture(GLenum internalFormat = GL_DEPTH_COMPONENT32) { // create depth texture glGenTextures(1, &m_depthTexture); // bind the depth texture glBindTexture(GL_TEXTURE_2D, m_depthTexture); // allocate storage for the texture glTexImage2D(GL_TEXTURE_2D, // target 0, // level internalFormat, // internal format m_textureSize, m_textureSize, // texture size 0, // border GL_DEPTH_COMPONENT, // format GL_FLOAT, // type 0); // data // set the filtering modes glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); // set depth comparison mode // this does not work with nvidia driver, works with intel 3000... // glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, // GL_COMPARE_REF_TO_TEXTURE); // glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL); // set wrap modes glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); // unbind texture glBindTexture(GL_TEXTURE_2D, 0); } void createDepthFBO() { // create FBO to render depth into glGenFramebuffers(1, &m_depthFBO); glBindFramebuffer(GL_FRAMEBUFFER, m_depthFBO); // attach the depth texture to the depth FBO glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_depthTexture, 0); // disable draw and read buffer glDrawBuffer(GL_NONE); glReadBuffer(GL_NONE); // check framebuffer status // checkFramebufferStatus(); // debug... // unbind framebuffer glBindFramebuffer(GL_FRAMEBUFFER, 0); } void renderDepth(const Eigen::Matrix4f& modelView, const Eigen::Matrix4f& projection) { // bind framebuffer glBindFramebuffer(GL_FRAMEBUFFER, m_depthFBO); // enable depth test glEnable(GL_DEPTH_TEST); // clear depth buffer glClear(GL_DEPTH_BUFFER_BIT); // render the scene m_renderer->renderDepth(modelView, projection); // unbind framebuffer glBindFramebuffer(GL_FRAMEBUFFER, 0); } void createAOTexture() { // create AO texture glGenTextures(1, &m_aoTexture); // bind the AO texture glBindTexture(GL_TEXTURE_2D, m_aoTexture); // allocate storage for the texture glTexImage2D(GL_TEXTURE_2D, // target 0, // level GL_RGBA, // internal format m_textureSize, m_textureSize, // texture size 0, // border GL_RGBA, // format GL_UNSIGNED_BYTE, // type 0); // data // set the filtering modes glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); // set wrap modes glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); // unbind texture glBindTexture(GL_TEXTURE_2D, 0); } void createAOFBO() { // create FBO to render depth into glGenFramebuffers(1, &m_aoFBO); glBindFramebuffer(GL_FRAMEBUFFER, m_aoFBO); // attach the depth texture to the depth FBO glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, m_aoTexture, 0); // disable draw and read buffer glReadBuffer(GL_NONE); // check framebuffer status // checkFramebufferStatus(); // debug... // unbind framebuffer glBindFramebuffer(GL_FRAMEBUFFER, 0); } void renderAO(const Eigen::Matrix4f& modelView, const Eigen::Matrix4f& projection, int numDirections) { // bind framebuffer glBindFramebuffer(GL_FRAMEBUFFER, m_aoFBO); // disable depth testing glDisable(GL_DEPTH_TEST); // render the scene m_renderer->renderAO(modelView, projection, m_textureSize, static_cast(numDirections)); // unbind framebuffer glBindFramebuffer(GL_FRAMEBUFFER, 0); } struct OpenGLState { void save() { // bound texture glGetIntegerv(GL_TEXTURE_BINDING_2D, &boundTexture); // viewport glGetIntegerv(GL_VIEWPORT, viewport); // depth glGetBooleanv(GL_DEPTH_TEST, &depthTest); glGetFloatv(GL_DEPTH_CLEAR_VALUE, &clearDepthValue); // color glGetBooleanv(GL_BLEND, &blend); glGetIntegerv(GL_BLEND_SRC, &blendSrc); glGetIntegerv(GL_BLEND_DST, &blendDst); glGetFloatv(GL_COLOR_CLEAR_VALUE, clearColor); // polygon offset polygonOffset = glIsEnabled(GL_POLYGON_OFFSET_FILL); glGetFloatv(GL_POLYGON_OFFSET_FACTOR, &polygonOffsetFactor); glGetFloatv(GL_POLYGON_OFFSET_UNITS, &polygonOffsetUnits); } void load() { // bound texture glBindTexture(GL_TEXTURE_2D, boundTexture); // viewport glViewport(viewport[0], viewport[1], viewport[2], viewport[3]); // depth if (!depthTest) glDisable(GL_DEPTH_TEST); else glEnable(GL_DEPTH_TEST); glClearDepth(clearDepthValue); // color glClearColor(clearColor[0], clearColor[1], clearColor[2], clearColor[3]); if (!blend) glDisable(GL_BLEND); else glEnable(GL_BLEND); glBlendFunc(blendSrc, blendDst); } // bound texture GLint boundTexture; // viewport GLint viewport[4]; // depth GLboolean depthTest; GLfloat clearDepthValue; // color GLfloat clearColor[4]; GLboolean blend; GLint blendSrc, blendDst; // polygon offset GLboolean polygonOffset; GLfloat polygonOffsetFactor; GLfloat polygonOffsetUnits; }; OpenGLState m_openglState; AmbientOcclusionRenderer* m_renderer; GLint m_textureSize; GLuint m_depthTexture; GLuint m_depthFBO; GLuint m_aoTexture; GLuint m_aoFBO; }; class SphereAmbientOcclusionRenderer : public AmbientOcclusionRenderer { public: SphereAmbientOcclusionRenderer(BufferObject& vbo, BufferObject& ibo, int numSpheres, int numVertices, int numIndices) : m_vbo(vbo) , m_ibo(ibo) , m_numSpheres(numSpheres) , m_numVertices(numVertices) , m_numIndices(numIndices) { initialize(); } void renderDepth(const Eigen::Matrix4f& modelView, const Eigen::Matrix4f& projection) override { // bind buffer objects m_vbo.bind(); m_ibo.bind(); m_depthProgram.bind(); // set the uniforms if (!m_depthProgram.setUniformValue("u_modelView", modelView)) { cout << m_depthProgram.error() << endl; } if (!m_depthProgram.setUniformValue("u_projection", projection)) { cout << m_depthProgram.error() << endl; } // set the attributes if (!m_depthProgram.enableAttributeArray("a_pos")) cout << m_depthProgram.error() << endl; if (!m_depthProgram.useAttributeArray("a_pos", ColorTextureVertex::vertexOffset(), sizeof(ColorTextureVertex), FloatType, 3, ShaderProgram::NoNormalize)) { cout << m_depthProgram.error() << endl; } if (!m_depthProgram.enableAttributeArray("a_corner")) cout << m_depthProgram.error() << endl; if (!m_depthProgram.useAttributeArray( "a_corner", ColorTextureVertex::textureCoordOffset(), sizeof(ColorTextureVertex), FloatType, 2, ShaderProgram::NoNormalize)) { cout << m_depthProgram.error() << endl; } // draw glDrawRangeElements(GL_TRIANGLES, 0, static_cast(m_numVertices), static_cast(m_numIndices), GL_UNSIGNED_INT, reinterpret_cast(NULL)); m_vbo.release(); m_ibo.release(); m_depthProgram.disableAttributeArray("a_pos"); m_depthProgram.disableAttributeArray("a_corner"); m_depthProgram.release(); } void renderAO(const Eigen::Matrix4f& modelView, const Eigen::Matrix4f& projection, GLint textureSize, float numDirections) override { // bind buffer objects m_vbo.bind(); m_ibo.bind(); m_aoProgram.bind(); // set the uniforms if (!m_aoProgram.setUniformValue("u_modelView", modelView)) { cout << m_aoProgram.error() << endl; } if (!m_aoProgram.setUniformValue("u_projection", projection)) { cout << m_aoProgram.error() << endl; } if (!m_aoProgram.setUniformValue("u_textureSize", static_cast(textureSize))) { cout << m_aoProgram.error() << endl; } if (!m_aoProgram.setUniformValue( "u_tileSize", 1.0f / std::ceil(std::sqrt(static_cast(m_numSpheres))))) { cout << m_aoProgram.error() << endl; } if (!m_aoProgram.setUniformValue("u_depthTex", 0)) { cout << m_aoProgram.error() << endl; } if (!m_aoProgram.setUniformValue("u_intensity", 1.0f / (0.3f * numDirections))) { cout << m_aoProgram.error() << endl; } // set the attributes if (!m_aoProgram.enableAttributeArray("a_pos")) cout << m_aoProgram.error() << endl; if (!m_aoProgram.useAttributeArray("a_pos", ColorTextureVertex::vertexOffset(), sizeof(ColorTextureVertex), FloatType, 3, ShaderProgram::NoNormalize)) { cout << m_aoProgram.error() << endl; } if (!m_aoProgram.enableAttributeArray("a_corner")) cout << m_aoProgram.error() << endl; if (!m_aoProgram.useAttributeArray("a_corner", ColorTextureVertex::textureCoordOffset(), sizeof(ColorTextureVertex), FloatType, 2, ShaderProgram::NoNormalize)) { cout << m_aoProgram.error() << endl; } if (!m_aoProgram.enableAttributeArray("a_tileOffset")) cout << m_aoProgram.error() << endl; if (!m_aoProgram.useAttributeArray( "a_tileOffset", ColorTextureVertex::textureCoord2Offset(), sizeof(ColorTextureVertex), FloatType, 2, ShaderProgram::NoNormalize)) { cout << m_aoProgram.error() << endl; } // draw glDrawRangeElements(GL_TRIANGLES, 0, static_cast(m_numVertices), static_cast(m_numIndices), GL_UNSIGNED_INT, reinterpret_cast(NULL)); m_vbo.release(); m_ibo.release(); m_aoProgram.disableAttributeArray("a_pos"); m_aoProgram.disableAttributeArray("a_corner"); m_aoProgram.disableAttributeArray("a_tileOffset"); m_aoProgram.release(); } void destroy() { // depth shader m_depthProgram.detachShader(m_depthVertexShader); m_depthProgram.detachShader(m_depthFragmentShader); m_depthFragmentShader.cleanup(); m_depthVertexShader.cleanup(); // ao shader m_aoProgram.detachShader(m_aoVertexShader); m_aoProgram.detachShader(m_aoFragmentShader); m_aoVertexShader.cleanup(); m_aoFragmentShader.cleanup(); } private: void initialize() { // compile depth shaders m_depthVertexShader.setType(Shader::Vertex); m_depthVertexShader.setSource(sphere_ao_depth_vs); if (!m_depthVertexShader.compile()) cout << m_depthVertexShader.error() << endl; m_depthFragmentShader.setType(Shader::Fragment); m_depthFragmentShader.setSource(sphere_ao_depth_fs); if (!m_depthFragmentShader.compile()) cout << m_depthFragmentShader.error() << endl; // link depth program m_depthProgram.attachShader(m_depthVertexShader); m_depthProgram.attachShader(m_depthFragmentShader); if (!m_depthProgram.link()) cout << m_depthProgram.error() << endl; // compile AO shaders m_aoVertexShader.setType(Shader::Vertex); m_aoVertexShader.setSource(sphere_ao_bake_vs); if (!m_aoVertexShader.compile()) cout << m_aoVertexShader.error() << endl; m_aoFragmentShader.setType(Shader::Fragment); m_aoFragmentShader.setSource(sphere_ao_bake_fs); if (!m_aoFragmentShader.compile()) cout << m_aoFragmentShader.error() << endl; // link AO program m_aoProgram.attachShader(m_aoVertexShader); m_aoProgram.attachShader(m_aoFragmentShader); if (!m_aoProgram.link()) cout << m_aoProgram.error() << endl; } Shader m_depthVertexShader; Shader m_depthFragmentShader; ShaderProgram m_depthProgram; Shader m_aoVertexShader; Shader m_aoFragmentShader; ShaderProgram m_aoProgram; BufferObject& m_vbo; BufferObject& m_ibo; int m_numSpheres; int m_numVertices; int m_numIndices; }; class AmbientOcclusionSphereGeometry::Private { public: Private() : aoTextureSize(1024) {} BufferObject vbo; BufferObject ibo; Shader vertexShader; Shader fragmentShader; ShaderProgram program; size_t numberOfVertices; size_t numberOfIndices; Eigen::Matrix4f translate; int aoTextureSize; int aoTexture; }; AmbientOcclusionSphereGeometry::AmbientOcclusionSphereGeometry() : m_dirty(false) , d(new Private) {} AmbientOcclusionSphereGeometry::AmbientOcclusionSphereGeometry( const AmbientOcclusionSphereGeometry& other) : Drawable(other) , m_spheres(other.m_spheres) , m_indices(other.m_indices) , m_dirty(true) , d(new Private) {} AmbientOcclusionSphereGeometry::~AmbientOcclusionSphereGeometry() { delete d; } void AmbientOcclusionSphereGeometry::accept(Visitor& visitor) { visitor.visit(*this); } void AmbientOcclusionSphereGeometry::update() { if (m_indices.empty() || m_spheres.empty()) return; // Check if the VBOs are ready, if not get them ready. if (!d->vbo.ready() || m_dirty) { std::vector sphereIndices; std::vector sphereVertices; sphereIndices.reserve(m_indices.size() * 4); sphereVertices.reserve(m_spheres.size() * 4); int nSpheres = static_cast(m_spheres.size()); int nSpheresSquared = static_cast(std::ceil(std::sqrt(static_cast(nSpheres)))); float tileSize = 1.0f / static_cast(nSpheresSquared); float halfTileSize = tileSize / 2.0f; int tileX = 0; int tileY = 0; std::vector::const_iterator itIndex = m_indices.begin(); std::vector::const_iterator itSphere = m_spheres.begin(); // calculate center Vector3f center(Vector3f::Zero()); for (std::vector::const_iterator i = m_spheres.begin(); i != m_spheres.end(); ++i) center += i->center; center /= static_cast(nSpheres); /* d->translate = Eigen::Matrix4f::Identity(); d->translate(0, 3) = center.x(); d->translate(1, 3) = center.y(); d->translate(2, 3) = center.z(); */ // calculate radius float radius = 0.0f; for (std::vector::const_iterator i = m_spheres.begin(); i != m_spheres.end(); ++i) if ((i->center - center).norm() > radius) radius = (i->center - center).norm(); for (unsigned int i = 0; itIndex != m_indices.end() && itSphere != m_spheres.end(); ++i, ++itIndex, ++itSphere) { // Use our packed data structure... float r = itSphere->radius; unsigned int index = 4 * static_cast(*itIndex); ColorTextureVertex vert( itSphere->center, itSphere->color, Vector2f(-r, -r), Vector2f(halfTileSize + tileSize * static_cast(tileX), halfTileSize + tileSize * static_cast(tileY))); sphereVertices.push_back(vert); vert.textureCoord = Vector2f(-r, r); sphereVertices.push_back(vert); vert.textureCoord = Vector2f(r, -r); sphereVertices.push_back(vert); vert.textureCoord = Vector2f(r, r); sphereVertices.push_back(vert); // 6 indexed vertices to draw a quad... sphereIndices.push_back(index + 0); sphereIndices.push_back(index + 1); sphereIndices.push_back(index + 2); sphereIndices.push_back(index + 3); sphereIndices.push_back(index + 2); sphereIndices.push_back(index + 1); ++tileX; if (tileX >= nSpheresSquared) { // start new tile row tileX = 0; ++tileY; } } d->vbo.upload(sphereVertices, BufferObject::ArrayBuffer); d->ibo.upload(sphereIndices, BufferObject::ElementArrayBuffer); d->numberOfVertices = sphereVertices.size(); d->numberOfIndices = sphereIndices.size(); SphereAmbientOcclusionRenderer aoSphereRenderer( d->vbo, d->ibo, static_cast(m_spheres.size()), static_cast(d->numberOfVertices), static_cast(d->numberOfIndices)); AmbientOcclusionBaker baker(&aoSphereRenderer, d->aoTextureSize); baker.accumulateAO(center, radius + 2.0f); d->aoTexture = baker.aoTexture(); baker.destroy(); aoSphereRenderer.destroy(); m_dirty = false; } // Build and link the shader if it has not been used yet. if (d->vertexShader.type() == Shader::Unknown) { d->vertexShader.setType(Shader::Vertex); d->vertexShader.setSource(sphere_ao_render_vs); d->fragmentShader.setType(Shader::Fragment); d->fragmentShader.setSource(sphere_ao_render_fs); if (!d->vertexShader.compile()) cout << d->vertexShader.error() << endl; if (!d->fragmentShader.compile()) cout << d->fragmentShader.error() << endl; d->program.attachShader(d->vertexShader); d->program.attachShader(d->fragmentShader); if (!d->program.link()) cout << d->program.error() << endl; } } void AmbientOcclusionSphereGeometry::render(const Camera& camera) { if (m_indices.empty() || m_spheres.empty()) return; // Prepare the VBOs, IBOs and shader program if necessary. update(); glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, d->aoTexture); if (!d->program.bind()) cout << d->program.error() << endl; d->vbo.bind(); d->ibo.bind(); // Set up our attribute arrays. if (!d->program.enableAttributeArray("a_pos")) cout << d->program.error() << endl; if (!d->program.useAttributeArray("a_pos", ColorTextureVertex::vertexOffset(), sizeof(ColorTextureVertex), FloatType, 3, ShaderProgram::NoNormalize)) { cout << d->program.error() << endl; } if (!d->program.enableAttributeArray("a_corner")) cout << d->program.error() << endl; if (!d->program.useAttributeArray( "a_corner", ColorTextureVertex::textureCoordOffset(), sizeof(ColorTextureVertex), FloatType, 2, ShaderProgram::NoNormalize)) { cout << d->program.error() << endl; } if (!d->program.enableAttributeArray("a_tileOffset")) cout << d->program.error() << endl; if (!d->program.useAttributeArray( "a_tileOffset", ColorTextureVertex::textureCoord2Offset(), sizeof(ColorTextureVertex), FloatType, 2, ShaderProgram::NoNormalize)) { cout << d->program.error() << endl; } if (!d->program.enableAttributeArray("a_color")) cout << d->program.error() << endl; if (!d->program.useAttributeArray( "a_color", ColorTextureVertex::colorOffset(), sizeof(ColorTextureVertex), UCharType, 3, ShaderProgram::Normalize)) { cout << d->program.error() << endl; } // Set up our uniforms if (!d->program.setUniformValue("u_modelView", camera.modelView().matrix())) { cout << d->program.error() << endl; } if (!d->program.setUniformValue( "u_invModelView", Eigen::Matrix3f( camera.modelView().matrix().block<3, 3>(0, 0).inverse()))) { cout << d->program.error() << endl; } if (!d->program.setUniformValue("u_projection", camera.projection().matrix())) { cout << d->program.error() << endl; } if (!d->program.setUniformValue("u_tex", 0)) { cout << d->program.error() << endl; } // To avoid texture interpolation from neighboring tiles, texture coords are // scaled such that half a texel is removed from all sides of a tile. // width of a singl texel in texture coordinates [0, 1] float texel = 1.0f / static_cast(d->aoTextureSize); // with of a single tile in texture coordinates [0, 1] float tile = 1.f / std::ceil(std::sqrt(static_cast(m_spheres.size()))); // The uv coordinates, centered around the tileOffset are originally in the // range [-1, 1]. The denominator below ensures that these are scaled to // values matching exactly one tile. The numerator is one minus a factor // to ensure half a tile on each side is never reached to avoid texture // interpolation taking values from neighboring texels into account. if (!d->program.setUniformValue( "u_texScale", (1.0f - 2.0f * texel / tile) / (2.0f * std::ceil(std::sqrt( static_cast(m_spheres.size())))))) { cout << d->program.error() << endl; } // Render the loaded spheres using the shader and bound VBO. glDrawRangeElements(GL_TRIANGLES, 0, static_cast(d->numberOfVertices), static_cast(d->numberOfIndices), GL_UNSIGNED_INT, reinterpret_cast(NULL)); d->vbo.release(); d->ibo.release(); d->program.disableAttributeArray("a_pos"); d->program.disableAttributeArray("a_color"); d->program.disableAttributeArray("a_corner"); d->program.disableAttributeArray("a_tileOffset"); d->program.release(); } std::multimap AmbientOcclusionSphereGeometry::hits( const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const { std::multimap result; // Check for intersection. for (size_t i = 0; i < m_spheres.size(); ++i) { const SphereColor& sphere = m_spheres[i]; Vector3f distance = sphere.center - rayOrigin; float B = distance.dot(rayDirection); float C = distance.dot(distance) - (sphere.radius * sphere.radius); float D = B * B - C; // Test for intersection if (D < 0) continue; // Test for clipping if (B < 0 || (sphere.center - rayEnd).dot(rayDirection) > 0) continue; Identifier id; id.molecule = m_identifier.molecule; id.type = m_identifier.type; id.index = i; if (id.type != InvalidType) { float rootD = static_cast(sqrt(D)); float depth = std::min(std::abs(B + rootD), std::abs(B - rootD)); result.insert(std::pair(depth, id)); } } return result; } void AmbientOcclusionSphereGeometry::addSphere(const Vector3f& position, const Vector3ub& color, float radius) { m_dirty = true; m_spheres.push_back(SphereColor(position, radius, color)); m_indices.push_back(m_indices.size()); } void AmbientOcclusionSphereGeometry::clear() { m_spheres.clear(); m_indices.clear(); } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/ambientocclusionspheregeometry.h000066400000000000000000000100741360735163600265450ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. Copyright 2013 Tim Vandermeersch This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_AMBIENTOCCLUSIONSPHEREGEOMETRY_H #define AVOGADRO_RENDERING_AMBIENTOCCLUSIONSPHEREGEOMETRY_H #include "drawable.h" #include #include #include namespace Avogadro { namespace Rendering { /** * @class AmbientOcclusionSphereGeometry ambientocclusionspheregeometry.h * * @brief The AmbientOcclusionSphereGeometry class contains one or more spheres. * @author Tim Vandermeersch * * This Drawable is capable of storing the geometry for one or more spheres. * A sphere is defined by a center point, a radius and a color. If the * spheres are not a densely packed one-to-one mapping with the objects indices * they can also optionally use an identifier that will point to some numeric * ID for the purposes of picking. * * Unlike the SphereGeometry class, this class also supports ambient occlusion. */ class AVOGADRORENDERING_EXPORT AmbientOcclusionSphereGeometry : public Drawable { public: AmbientOcclusionSphereGeometry(); AmbientOcclusionSphereGeometry(const AmbientOcclusionSphereGeometry& other); ~AmbientOcclusionSphereGeometry() override; AmbientOcclusionSphereGeometry& operator=(AmbientOcclusionSphereGeometry); friend void swap(AmbientOcclusionSphereGeometry& lhs, AmbientOcclusionSphereGeometry& rhs); /** * Accept a visit from our friendly visitor. */ void accept(Visitor&) override; /** * @brief Update the VBOs, IBOs etc ready for rendering. */ void update(); /** * @brief Render the sphere geometry. * @param camera The current camera to be used for rendering. */ void render(const Camera& camera) override; /** * Return the primitives that are hit by the ray. * @param rayOrigin Origin of the ray. * @param rayEnd End point of the ray. * @param rayDirection Normalized direction of the ray. * @return Sorted collection of primitives that were hit. */ std::multimap hits( const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const override; /** * Add a sphere to the geometry object. */ void addSphere(const Vector3f& position, const Vector3ub& color, float radius); /** * Get a reference to the spheres. */ Core::Array& spheres() { return m_spheres; } const Core::Array& spheres() const { return m_spheres; } /** * Clear the contents of the node. */ void clear() override; /** * Get the number of spheres in the node object. */ size_t size() const { return m_spheres.size(); } private: Core::Array m_spheres; Core::Array m_indices; bool m_dirty; class Private; Private* d; }; inline AmbientOcclusionSphereGeometry& AmbientOcclusionSphereGeometry:: operator=(AmbientOcclusionSphereGeometry other) { using std::swap; swap(*this, other); return *this; } inline void swap(AmbientOcclusionSphereGeometry& lhs, AmbientOcclusionSphereGeometry& rhs) { using std::swap; swap(static_cast(lhs), static_cast(rhs)); swap(lhs.m_spheres, rhs.m_spheres); swap(lhs.m_indices, rhs.m_indices); lhs.m_dirty = rhs.m_dirty = true; } } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_AMBIENTOCCLUSIONSPHEREGEOMETRY_H avogadrolibs-1.93.0/avogadro/rendering/arrow_vs.glsl000066400000000000000000000002671360735163600226030ustar00rootroot00000000000000attribute vec4 vertex; uniform mat4 modelView; uniform mat4 projection; void main() { gl_FrontColor = vec4(0.0, 1.0, 0.0, 1.0); gl_Position = projection * modelView * vertex; } avogadrolibs-1.93.0/avogadro/rendering/arrowgeometry.cpp000066400000000000000000000127461360735163600234750ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "arrowgeometry.h" #include "avogadrogl.h" #include "bufferobject.h" #include "camera.h" #include "scene.h" #include "shader.h" #include "shaderprogram.h" #include "visitor.h" #include #include #include #include namespace { #include "arrow_vs.h" } using Avogadro::Vector3f; using Avogadro::Vector3ub; using Avogadro::Vector4ub; using Avogadro::Core::Array; using std::cout; using std::endl; namespace Avogadro { namespace Rendering { class ArrowGeometry::Private { public: Private() {} Shader vertexShader; ShaderProgram program; }; ArrowGeometry::ArrowGeometry() : m_dirty(false), d(new Private) {} ArrowGeometry::ArrowGeometry(const ArrowGeometry& other) : Drawable(other), m_vertices(other.m_vertices), m_lineStarts(other.m_lineStarts), m_dirty(true), d(new Private) {} ArrowGeometry::~ArrowGeometry() { delete d; } void ArrowGeometry::accept(Visitor& visitor) { visitor.visit(*this); } void ArrowGeometry::update() { if (m_vertices.empty()) return; // Build and link the shader if it has not been used yet. if (d->vertexShader.type() == Shader::Unknown) { d->vertexShader.setType(Shader::Vertex); d->vertexShader.setSource(arrow_vs); if (!d->vertexShader.compile()) cout << d->vertexShader.error() << endl; d->program.attachShader(d->vertexShader); if (!d->program.link()) cout << d->program.error() << endl; } } void ArrowGeometry::render(const Camera& camera) { if (m_vertices.empty()) return; // Prepare the shader program if necessary. update(); if (!d->program.bind()) cout << d->program.error() << endl; // Set up our uniforms (model-view and projection matrices right now). if (!d->program.setUniformValue("modelView", camera.modelView().matrix())) { cout << d->program.error() << endl; } if (!d->program.setUniformValue("projection", camera.projection().matrix())) { cout << d->program.error() << endl; } // Render the arrows using the shader. for (unsigned int startIndex = 0; startIndex < m_vertices.size(); ++startIndex) { Vector3f v3 = m_vertices[startIndex].first + 0.8 * (m_vertices[startIndex].second - m_vertices[startIndex].first); drawLine(m_vertices[startIndex].first, v3, 2); drawCone(v3, m_vertices[startIndex].second, 0.05, 1.0); } d->program.release(); } void ArrowGeometry::clear() { m_vertices.clear(); m_lineStarts.clear(); m_dirty = true; } void ArrowGeometry::drawLine(const Vector3f& start, const Vector3f& end, double lineWidth) { // Draw a line between two points of the specified thickness glPushAttrib(GL_LIGHTING_BIT); glDisable(GL_LIGHTING); glLineWidth(lineWidth); // Draw the line glBegin(GL_LINE_STRIP); glVertex3fv(start.data()); glVertex3fv(end.data()); glEnd(); glPopAttrib(); } void ArrowGeometry::drawCone(const Vector3f& base, const Vector3f& cap, double baseRadius, double) { const int CONE_TESS_LEVEL = 30; // This draws a cone which will be most useful for drawing arrows etc. Vector3f axis = cap - base; Vector3f axisNormalized = axis.normalized(); Vector3f ortho1, ortho2; ortho1 = axisNormalized.unitOrthogonal(); ortho1 *= baseRadius; ortho2 = axisNormalized.cross(ortho1); // Draw the cone // unfortunately we can't use a GL_TRIANGLE_FAN because this would force // having a common normal vector at the tip. for (int j = 0; j < CONE_TESS_LEVEL; j++) { const double alphaStep = 2.0 * M_PI / CONE_TESS_LEVEL; double alpha = j * alphaStep; double alphaNext = alpha + alphaStep; double alphaPrec = alpha - alphaStep; Vector3f v = sin(alpha) * ortho1 + cos(alpha) * ortho2 + base; Vector3f vNext = sin(alphaNext) * ortho1 + cos(alphaNext) * ortho2 + base; Vector3f vPrec = sin(alphaPrec) * ortho1 + cos(alphaPrec) * ortho2 + base; Vector3f n = (cap - v).cross(v - vPrec).normalized(); Vector3f nNext = (cap - vNext).cross(vNext - v).normalized(); glBegin(GL_TRIANGLES); glColor3ub(0, 255, 0); glNormal3fv((n + nNext).normalized().data()); glVertex3fv(cap.data()); glNormal3fv(nNext.data()); glVertex3fv(vNext.data()); glNormal3fv(n.data()); glVertex3fv(v.data()); glEnd(); } // Now to draw the base glBegin(GL_TRIANGLE_FAN); glNormal3fv((-axisNormalized).eval().data()); glVertex3fv(base.data()); for (int j = 0; j <= CONE_TESS_LEVEL; j++) { double alpha = -j * M_PI / (CONE_TESS_LEVEL / 2.0); Vector3f v = cos(alpha) * ortho1 + sin(alpha) * ortho2 + base; glVertex3fv(v.data()); } glEnd(); } void ArrowGeometry::addSingleArrow(const Vector3f& pos1, const Vector3f& pos2) { m_vertices.reserve(m_vertices.size() + 1); m_vertices.push_back(std::pair(pos1, pos2)); m_dirty = true; } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/arrowgeometry.h000066400000000000000000000054161360735163600231360ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_ARROWGEOMETRY_H #define AVOGADRO_RENDERING_ARROWGEOMETRY_H #include "drawable.h" #include namespace Avogadro { namespace Rendering { /** * @class ArrowGeometry arrowgeometry.h * * @brief The ArrowGeometry class is used to store sets of line strips. */ class AVOGADRORENDERING_EXPORT ArrowGeometry : public Drawable { public: static const size_t InvalidIndex; ArrowGeometry(); ArrowGeometry(const ArrowGeometry& other); ~ArrowGeometry(); ArrowGeometry& operator=(ArrowGeometry); friend void swap(ArrowGeometry& lhs, ArrowGeometry& rhs); /** * Accept a visit from our friendly visitor. */ void accept(Visitor&) override; /** * @brief Render the arrows. * @param camera The current camera to be used for rendering. */ void render(const Camera& camera); /** * Clear the contents of the node. */ void clear(); void drawLine(const Vector3f& start, const Vector3f& end, double lineWidth); void drawCone(const Vector3f& base, const Vector3f& cap, double baseRadius, double); /** * Add a single arrow object. * @param pos1 The start coordinate of the arrow. * @param pos2 The end coordinate of the arrow. * @{ */ void addSingleArrow(const Vector3f& pos1, const Vector3f& pos2); /** @} */ /** The vertex array. */ Core::Array> vertices() const { return m_vertices; } private: /** * @brief Update the shaders ready for rendering. */ void update(); Core::Array> m_vertices; Core::Array m_lineStarts; bool m_dirty; class Private; Private* d; }; inline ArrowGeometry& ArrowGeometry::operator=(ArrowGeometry other) { using std::swap; swap(*this, other); return *this; } inline void swap(ArrowGeometry& lhs, ArrowGeometry& rhs) { using std::swap; swap(static_cast(lhs), static_cast(rhs)); swap(lhs.m_vertices, rhs.m_vertices); lhs.m_dirty = rhs.m_dirty = true; } } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_ARROWGEOMETRY_H avogadrolibs-1.93.0/avogadro/rendering/avogadrogl.h000066400000000000000000000020461360735163600223510ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_AVOGADROGL_H #define AVOGADRO_RENDERING_AVOGADROGL_H /** * GLEW should always be in the same place, but Apple likes to move gl.h. * This header should be used instead of including the GL headers directly * in order to work around different layouts. */ #include #ifdef __APPLE__ #include #else #include #endif #endif // AVOGADRO_RENDERING_AVOGADROGL_H avogadrolibs-1.93.0/avogadro/rendering/avogadrorendering.h000066400000000000000000000040501360735163600237210ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRORENDERING_H #define AVOGADRORENDERING_H namespace Avogadro { namespace Rendering { /** * @brief The RenderPass enum is used to identify different stages in * multipass rendering. */ enum RenderPass { /** * Default value -- no rendering is currently happening. */ NotRendering = 0, /** * Opaque geometry is being drawn. Alpha blending disabled, depth testing is * enabled. */ OpaquePass, /** * Translucent geometry is being drawn. Depth testing is disabled, and alpha * blending is enabled using the equivalent of the OpenGL call * @code glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) @endcode */ TranslucentPass, /** * 3D geometry is being drawn over the Opaque and Translucent rendering. * Depth testing is disabled, and alpha blending is enabled using the * equivalent of the OpenGL call * @code glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) @endcode */ Overlay3DPass, /** * 2D drawables are being rendered over the 3D scene. The * modelview matrix is identity, and the projection matrix is configured to * an orthographic projection that matches the viewport. Valid Z values are * [-1, 1], and the origin is in the bottom-left corner. Depth testing is * disabled, and alpha blending is performed the same as in TranslucentPass. */ Overlay2DPass }; } // end namespace Rendering } // end namespace Avogadro #endif // AVOGADRORENDERING_H avogadrolibs-1.93.0/avogadro/rendering/bufferobject.cpp000066400000000000000000000046431360735163600232240ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "bufferobject.h" #include "avogadrogl.h" namespace Avogadro { namespace Rendering { namespace { inline GLenum convertType(BufferObject::ObjectType type) { switch (type) { default: case BufferObject::ArrayBuffer: return GL_ARRAY_BUFFER; case BufferObject::ElementArrayBuffer: return GL_ELEMENT_ARRAY_BUFFER; } } } struct BufferObject::Private { Private() : handle(0) {} GLenum type; GLuint handle; }; BufferObject::BufferObject(ObjectType type_) : d(new Private), m_dirty(true) { if (type_ == ArrayBuffer) d->type = GL_ARRAY_BUFFER; else d->type = GL_ELEMENT_ARRAY_BUFFER; } BufferObject::~BufferObject() { if (d->handle != 0) glDeleteBuffers(1, &d->handle); delete d; } BufferObject::ObjectType BufferObject::type() const { if (d->type == GL_ARRAY_BUFFER) return ArrayBuffer; else return ElementArrayBuffer; } Index BufferObject::handle() const { return static_cast(d->handle); } bool BufferObject::bind() { if (!d->handle) return false; glBindBuffer(d->type, d->handle); return true; } bool BufferObject::release() { if (!d->handle) return false; glBindBuffer(d->type, 0); return true; } bool BufferObject::uploadInternal(const void* buffer, size_t size, ObjectType objectType) { GLenum objectTypeGl = convertType(objectType); if (d->handle == 0) { glGenBuffers(1, &d->handle); d->type = objectTypeGl; } else if (d->type != objectTypeGl) { m_error = "Trying to upload array buffer to incompatible buffer."; return false; } glBindBuffer(d->type, d->handle); glBufferData(d->type, size, static_cast(buffer), GL_STATIC_DRAW); m_dirty = false; return true; } } // End Rendering namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/rendering/bufferobject.h000066400000000000000000000062061360735163600226660ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_BUFFEROBJECT_H #define AVOGADRO_RENDERING_BUFFEROBJECT_H #include "avogadrorenderingexport.h" #include #include "scene.h" #include // For member variables. #include // For API. namespace Avogadro { namespace Rendering { /** * @class BufferObject bufferobject.h * @brief Buffer object to store geometry/attribute data on the GPU. * @author Marcus D. Hanwell * * This class creates GPU buffer object, and uploads the data to the GPU. */ class AVOGADRORENDERING_EXPORT BufferObject { public: enum ObjectType { ArrayBuffer, ElementArrayBuffer }; BufferObject(ObjectType type = ArrayBuffer); ~BufferObject(); /** Get the type of the buffer object. */ ObjectType type() const; /** Get the handle of the buffer object. */ Index handle() const; /** Determine if the buffer object is ready to be used. */ bool ready() const { return m_dirty == false; } /** * Upload data to the buffer object. The BufferObject::type() must match * @a type or be uninitialized. * * The ContainerT type must have tightly packed values of * ContainerT::value_type accessible by reference via ContainerT::operator[]. * Additionally, the standard size() and empty() methods must be implemented. * The std::vector and Avogadro::Core::Array classes are examples of such * supported containers. */ template bool upload(const ContainerT& array, ObjectType type); /** Bind the buffer object ready for rendering. * @note Only one ARRAY_BUFFER and one ELEMENT_ARRAY_BUFFER may be bound at * any time. */ bool bind(); /** Release the buffer. This should be done after rendering is complete. */ bool release(); /** Return a string describing errors. */ std::string error() const { return m_error; } private: bool uploadInternal(const void* buffer, size_t size, ObjectType objectType); struct Private; Private* d; bool m_dirty; std::string m_error; }; template inline bool BufferObject::upload(const ContainerT& array, BufferObject::ObjectType objectType) { if (array.empty()) { m_error = "Refusing to upload empty array."; return false; } return uploadInternal(&array[0], array.size() * sizeof(typename ContainerT::value_type), objectType); } } // End Rendering namespace } // End Avogadro namespace #endif // AVOGADRO_RENDERING_BUFFEROBJECT_H avogadrolibs-1.93.0/avogadro/rendering/camera.cpp000066400000000000000000000135531360735163600220140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "camera.h" #include #include namespace Avogadro { namespace Rendering { Camera::Camera() : m_width(0), m_height(0), m_pixelScale(1.0), m_projectionType(Perspective), m_orthographicScale(1.0), m_data(new EigenData) { m_data->projection.setIdentity(); m_data->modelView.setIdentity(); } Camera::Camera(const Camera& o) : m_width(o.m_width), m_height(o.m_height), m_pixelScale(o.m_pixelScale), m_projectionType(o.m_projectionType), m_orthographicScale(o.m_orthographicScale), m_data(new EigenData(*o.m_data)) {} Camera& Camera::operator=(const Camera& o) { if (this != &o) { m_width = o.m_width; m_height = o.m_height; m_pixelScale = o.m_pixelScale; m_projectionType = o.m_projectionType; m_orthographicScale = o.m_orthographicScale; m_data = std::move(std::unique_ptr(new EigenData(*o.m_data))); } return *this; } Camera::~Camera() {} void Camera::translate(const Vector3f& translate_) { m_data->modelView.translate(translate_); } void Camera::preTranslate(const Vector3f& translate_) { m_data->modelView.pretranslate(translate_); } void Camera::rotate(float angle, const Vector3f& axis) { m_data->modelView.rotate(Eigen::AngleAxisf(angle, axis)); } void Camera::preRotate(float angle, const Vector3f& axis) { m_data->modelView.prerotate(Eigen::AngleAxisf(angle, axis)); } void Camera::scale(float s) { if (m_projectionType == Perspective) m_data->modelView.scale(s); else m_orthographicScale *= s; } void Camera::lookAt(const Vector3f& eye, const Vector3f& center, const Vector3f& up) { Vector3f f = (center - eye).normalized(); Vector3f u = up.normalized(); Vector3f s = f.cross(u).normalized(); u = s.cross(f); m_data->modelView.setIdentity(); m_data->modelView(0, 0) = s.x(); m_data->modelView(0, 1) = s.y(); m_data->modelView(0, 2) = s.z(); m_data->modelView(1, 0) = u.x(); m_data->modelView(1, 1) = u.y(); m_data->modelView(1, 2) = u.z(); m_data->modelView(2, 0) = -f.x(); m_data->modelView(2, 1) = -f.y(); m_data->modelView(2, 2) = -f.z(); m_data->modelView(0, 3) = -s.dot(eye); m_data->modelView(1, 3) = -u.dot(eye); m_data->modelView(2, 3) = f.dot(eye); } float Camera::distance(const Vector3f& point) const { return (m_data->modelView * point).norm(); } Vector3f Camera::project(const Vector3f& point) const { Eigen::Matrix4f mvp = m_data->projection.matrix() * m_data->modelView.matrix(); Vector4f tPoint(point.x(), point.y(), point.z(), 1.0f); tPoint = mvp * tPoint; Vector3f result( static_cast(m_width) * (tPoint.x() / tPoint.w() + 1.0f) / 2.0f, static_cast(m_height) * (tPoint.y() / tPoint.w() + 1.0f) / 2.0f, (tPoint.z() / tPoint.w() + 1.0f) / 2.0f); return result; } Vector3f Camera::unProject(const Vector3f& point) const { Eigen::Matrix4f mvp = m_data->projection.matrix() * m_data->modelView.matrix(); Vector4f result( 2.0f * m_pixelScale * point.x() / static_cast(m_width) - 1.0f, 2.0f * (static_cast(m_height) - m_pixelScale * point.y()) / static_cast(m_height) - 1.0f, 2.0f * point.z() - 1.0f, 1.0f); result = mvp.matrix().inverse() * result; return Vector3f(result.x() / result.w(), result.y() / result.w(), result.z() / result.w()); } Vector3f Camera::unProject(const Vector2f& point, const Vector3f& reference) const { return unProject(Vector3f(point.x(), point.y(), project(reference).z())); } void Camera::calculatePerspective(float fieldOfView, float aspectRatio, float zNear, float zFar) { m_data->projection.setIdentity(); float f = 1.0f / std::tan(fieldOfView * float(M_PI) / 360.0f); m_data->projection(0, 0) = f / aspectRatio; m_data->projection(1, 1) = f; m_data->projection(2, 2) = (zNear + zFar) / (zNear - zFar); m_data->projection(2, 3) = (2.0f * zFar * zNear) / (zNear - zFar); m_data->projection(3, 2) = -1; m_data->projection(3, 3) = 0; } void Camera::calculatePerspective(float fieldOfView, float zNear, float zFar) { calculatePerspective( fieldOfView, static_cast(m_width) / static_cast(m_height), zNear, zFar); } void Camera::calculateOrthographic(float left, float right, float bottom, float top, float zNear, float zFar) { left *= m_orthographicScale; right *= m_orthographicScale; bottom *= m_orthographicScale; top *= m_orthographicScale; m_data->projection.setIdentity(); m_data->projection(0, 0) = 2.0f / (right - left); m_data->projection(0, 3) = -(right + left) / (right - left); m_data->projection(1, 1) = 2.0f / (top - bottom); m_data->projection(1, 3) = -(top + bottom) / (top - bottom); m_data->projection(2, 2) = -2.0f / (zFar - zNear); m_data->projection(2, 3) = -(zFar + zNear) / (zFar - zNear); m_data->projection(3, 3) = 1; } void Camera::setViewport(int w, int h) { m_width = w; m_height = h; } void Camera::setDevicePixelRatio(float scale) { m_pixelScale = scale; } void Camera::setProjection(const Eigen::Affine3f& transform) { m_data->projection = transform; } void Camera::setModelView(const Eigen::Affine3f& transform) { m_data->modelView = transform; } } // namespace Rendering } // namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/camera.h000066400000000000000000000154141360735163600214570ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_CAMERA_H #define AVOGADRO_RENDERING_CAMERA_H #include "avogadrorenderingexport.h" #include // For vector types. #include // For member variables. #include namespace Avogadro { namespace Rendering { enum Projection { Perspective, Orthographic }; // Separate Eigen datastructures to ensure sufficient memory alignment. struct EigenData { EIGEN_MAKE_ALIGNED_OPERATOR_NEW Eigen::Affine3f projection; Eigen::Affine3f modelView; }; /** * @class Camera camera.h * @brief The Camera class provides utility functionality useful in camera's * used with 3D scenes. * @author Marcus D. Hanwell */ class AVOGADRORENDERING_EXPORT Camera { public: Camera(); Camera(const Camera& o); Camera& operator=(const Camera& o); ~Camera(); /** * Translate the camera's model view matrix using the supplied translation * vector @p translate. */ void translate(const Vector3f& translate); /** * Pretranslate the camera's model view matrix using the supplied translation * vector @p translate. */ void preTranslate(const Vector3f& translate); /** * Rotate the camera about the supplied @p axis by @p angle (degrees). */ void rotate(float angle, const Vector3f& axis); /** * Prerotate the camera about the supplied @p axis by @p angle (degrees). */ void preRotate(float angle, const Vector3f& axis); /** * Modify the matrix, to give the effect of zooming in or out. */ void scale(float scale); /** * Set the model-view matrix to the "look at" transformation matrix. * @param eye the position of the eye/camera. * @param center the position to look at. * @param up the vector pointing up. */ void lookAt(const Vector3f& eye, const Vector3f& center, const Vector3f& up); /** * Distance to supplied point @p point and the camera. */ float distance(const Vector3f& point) const; /** * Projects a point from the scene to the window. */ Vector3f project(const Vector3f& point) const; /** * Unprojects a point from the window to the scene. */ Vector3f unProject(const Vector3f& point) const; /** * Unprojects a point from the window to the scene, using the supplied * reference point (defaults to the origin if nothing is supplied). */ Vector3f unProject(const Vector2f& point, const Vector3f& reference = Vector3f::Zero()) const; /** * Calculate the perspective projection matrix. * @param fieldOfView angle in degrees in the y direction. * @param aspectRatio is the ratio of width to height. * @param zNear is the distance from the viewer to the near clipping plane. * @param zFar is the distance from the viewer to the far clipping plane. */ void calculatePerspective(float fieldOfView, float aspectRatio, float zNear, float zFar); /** * Calculate the perspective projection matrix. Computes the aspect ratio * from the width and height stored by the Camera object. * @param fieldOfView angle in degrees in the y direction. * @param zNear is the distance from the viewer to the near clipping plane. * @param zFar is the distance from the viewer to the far clipping plane. */ void calculatePerspective(float fieldOfView, float zNear, float zFar); /** * Calculate the orthographic projection matrix. * @param left left vertical clipping plane. * @param right right vertical clipping plane. * @param bottom bottom horizontal clipping plane. * @param top top horizontal clipping plane. * @param zNear distance to the near clipping plane. * @param zFar distance to the far clipping plane. */ void calculateOrthographic(float left, float right, float bottom, float top, float zNear, float zFar); /** * Set the dimensions of the viewport in pixels. */ void setViewport(int w, int h); /** * Get the width of the viewport in pixels. */ int width() const { return m_width; } /** * Get the height of the viewport in pixels. */ int height() const { return m_height; } /** * Set the resolution of the viewport (i.e., from physical to logical pixels) */ void setDevicePixelRatio(float scale); /** * Get the scale of the viewport pixels. */ float devicePixelRatio() const { return m_pixelScale; } /** * Set the model view matrix to the identity. This resets the model view * matrix. */ void setIdentity() { m_data->modelView.setIdentity(); } /** * Set the projection transform. */ void setProjection(const Eigen::Affine3f& transform); /** * Get a reference to the projection matrix. */ const Eigen::Affine3f& projection() const; /** * Set the model view transform. */ void setModelView(const Eigen::Affine3f& transform); /** Get a reference to the model view matrix. */ const Eigen::Affine3f& modelView() const; /** * Set the projection type for this camera (Perspective or Orthographic). * @param proj The projection type to use. */ void setProjectionType(Projection proj) { m_projectionType = proj; } /** * Get the projection type the camera is using. * @return The current projection type. */ Projection projectionType() const { return m_projectionType; } /** * Set the orthographic scale, this defaults to 1.0. Affects calculation of * the orthographic projection matrix. * @param newScale The factor to scale orthographic projection by. */ void setOrthographicScale(float newScale) { m_orthographicScale = newScale; } /** * Get the value of the orthographic scale, defaults to 1.0. * @return The current value of the orthographic scale. */ float orthographicScale() const { return m_orthographicScale; } private: int m_width; int m_height; float m_pixelScale; Projection m_projectionType; float m_orthographicScale; std::unique_ptr m_data; }; inline const Eigen::Affine3f& Camera::projection() const { return m_data->projection; } inline const Eigen::Affine3f& Camera::modelView() const { return m_data->modelView; } } // namespace Rendering } // namespace Avogadro #endif // AVOGADRO_RENDERING_CAMERA_H avogadrolibs-1.93.0/avogadro/rendering/cylindergeometry.cpp000066400000000000000000000247761360735163600241620ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "cylindergeometry.h" #include "camera.h" #include "scene.h" #include "visitor.h" #include "bufferobject.h" #include "shader.h" #include "shaderprogram.h" namespace { #include "cylinders_fs.h" #include "cylinders_vs.h" } #include "avogadrogl.h" #include #include using std::cout; using std::endl; namespace Avogadro { namespace Rendering { class CylinderGeometry::Private { public: Private() {} BufferObject vbo; BufferObject ibo; Shader vertexShader; Shader fragmentShader; ShaderProgram program; size_t numberOfVertices; size_t numberOfIndices; }; CylinderGeometry::CylinderGeometry() : m_dirty(false), d(new Private) { } CylinderGeometry::CylinderGeometry(const CylinderGeometry& other) : Drawable(other), m_cylinders(other.m_cylinders), m_indices(other.m_indices), m_indexMap(other.m_indexMap), m_dirty(true), d(new Private) { } CylinderGeometry::~CylinderGeometry() { delete d; } void CylinderGeometry::accept(Visitor& visitor) { visitor.visit(*this); } void CylinderGeometry::update() { if (m_indices.empty() || m_cylinders.empty()) return; // Check if the VBOs are ready, if not get them ready. if (!d->vbo.ready() || m_dirty) { // Set some defaults for our cylinders. const unsigned int resolution = 12; // points per circle const float resolutionRadians = 2.0f * static_cast(M_PI) / static_cast(resolution); std::vector radials; radials.reserve(resolution); std::vector cylinderIndices; std::vector cylinderVertices; // cylinderIndices.reserve(m_indices.size() * 4); // cylinderVertices.reserve(m_cylinders.size() * 4); std::vector::const_iterator itIndex = m_indices.begin(); std::vector::const_iterator itCylinder = m_cylinders.begin(); for (unsigned int i = 0; itIndex != m_indices.end() && itCylinder != m_cylinders.end(); ++i, ++itIndex, ++itCylinder) { const Vector3f& position1 = itCylinder->end1; const Vector3f& position2 = itCylinder->end2; const Vector3f direction = (position2 - position1).normalized(); float radius = itCylinder->radius; // Generate the radial vectors Vector3f radial = direction.unitOrthogonal() * radius; Eigen::AngleAxisf transform(resolutionRadians, direction); radials.clear(); for (unsigned int j = 0; j < resolution; ++j) { radials.push_back(radial); radial = transform * radial; } // Cylinder ColorNormalVertex vert(itCylinder->color, -direction, position1); ColorNormalVertex vert2(itCylinder->color2, -direction, position1); const unsigned int tubeStart = static_cast(cylinderVertices.size()); for (std::vector::const_iterator it = radials.begin(), itEnd = radials.end(); it != itEnd; ++it) { vert.normal = *it; vert.vertex = position1 + *it; cylinderVertices.push_back(vert); vert2.normal = vert.normal; vert2.vertex = position2 + *it; cylinderVertices.push_back(vert2); } // Now to stitch it together. for (unsigned int j = 0; j < resolution; ++j) { unsigned int r1 = j + j; unsigned int r2 = (j != 0 ? r1 : resolution + resolution) - 2; cylinderIndices.push_back(tubeStart + r1); cylinderIndices.push_back(tubeStart + r1 + 1); cylinderIndices.push_back(tubeStart + r2); cylinderIndices.push_back(tubeStart + r2); cylinderIndices.push_back(tubeStart + r1 + 1); cylinderIndices.push_back(tubeStart + r2 + 1); } } d->vbo.upload(cylinderVertices, BufferObject::ArrayBuffer); d->ibo.upload(cylinderIndices, BufferObject::ElementArrayBuffer); d->numberOfVertices = cylinderVertices.size(); d->numberOfIndices = cylinderIndices.size(); m_dirty = false; } // Build and link the shader if it has not been used yet. if (d->vertexShader.type() == Shader::Unknown) { d->vertexShader.setType(Shader::Vertex); d->vertexShader.setSource(cylinders_vs); d->fragmentShader.setType(Shader::Fragment); d->fragmentShader.setSource(cylinders_fs); if (!d->vertexShader.compile()) cout << d->vertexShader.error() << endl; if (!d->fragmentShader.compile()) cout << d->fragmentShader.error() << endl; d->program.attachShader(d->vertexShader); d->program.attachShader(d->fragmentShader); if (!d->program.link()) cout << d->program.error() << endl; } } void CylinderGeometry::render(const Camera& camera) { if (m_indices.empty() || m_cylinders.empty()) return; // Prepare the VBOs, IBOs and shader program if necessary. update(); if (!d->program.bind()) cout << d->program.error() << endl; d->vbo.bind(); d->ibo.bind(); // Set up our attribute arrays. if (!d->program.enableAttributeArray("vertex")) cout << d->program.error() << endl; if (!d->program.useAttributeArray("vertex", ColorNormalVertex::vertexOffset(), sizeof(ColorNormalVertex), FloatType, 3, ShaderProgram::NoNormalize)) { cout << d->program.error() << endl; } if (!d->program.enableAttributeArray("color")) cout << d->program.error() << endl; if (!d->program.useAttributeArray("color", ColorNormalVertex::colorOffset(), sizeof(ColorNormalVertex), UCharType, 3, ShaderProgram::Normalize)) { cout << d->program.error() << endl; } if (!d->program.enableAttributeArray("normal")) cout << d->program.error() << endl; if (!d->program.useAttributeArray("normal", ColorNormalVertex::normalOffset(), sizeof(ColorNormalVertex), FloatType, 3, ShaderProgram::NoNormalize)) { cout << d->program.error() << endl; } // Set up our uniforms (model-view and projection matrices right now). if (!d->program.setUniformValue("modelView", camera.modelView().matrix())) { cout << d->program.error() << endl; } if (!d->program.setUniformValue("projection", camera.projection().matrix())) { cout << d->program.error() << endl; } Matrix3f normalMatrix = camera.modelView().linear().inverse().transpose(); if (!d->program.setUniformValue("normalMatrix", normalMatrix)) std::cout << d->program.error() << std::endl; // Render the loaded spheres using the shader and bound VBO. glDrawRangeElements(GL_TRIANGLES, 0, static_cast(d->numberOfVertices), static_cast(d->numberOfIndices), GL_UNSIGNED_INT, reinterpret_cast(0)); d->vbo.release(); d->ibo.release(); d->program.disableAttributeArray("vector"); d->program.disableAttributeArray("color"); d->program.disableAttributeArray("normal"); d->program.release(); } std::multimap CylinderGeometry::hits( const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const { std::multimap result; for (size_t i = 0; i < m_cylinders.size(); ++i) { const CylinderColor& cylinder = m_cylinders[i]; // Check for cylinder intersection with the ray. Vector3f ao = rayOrigin - cylinder.end1; Vector3f ab = cylinder.end2 - cylinder.end1; Vector3f aoxab = ao.cross(ab); Vector3f vxab = rayDirection.cross(ab); float A = vxab.dot(vxab); float B = 2.0f * vxab.dot(aoxab); float C = aoxab.dot(aoxab) - ab.dot(ab) * (cylinder.radius * cylinder.radius); float D = B * B - 4.0f * A * C; // no intersection if (D < 0.0f) continue; float t = std::min((-B + std::sqrt(D)) / (2.0f * A), (-B - std::sqrt(D)) / (2.0f * A)); Vector3f ip = rayOrigin + (rayDirection * t); Vector3f ip1 = ip - cylinder.end1; Vector3f ip2 = ip - (cylinder.end1 + ab); // intersection below base or above top of the cylinder if (ip1.dot(ab) < 0.0f || ip2.dot(ab) > 0.0f) continue; // Test for clipping Vector3f distance = ip - rayOrigin; if (distance.dot(rayDirection) < 0.0f || (ip - rayEnd).dot(rayDirection) > 0.0f) continue; Identifier id; id.molecule = m_identifier.molecule; id.type = m_identifier.type; id.index = i; if (m_indexMap.size()) id.index = m_indexMap.find(i)->second; if (id.type != InvalidType) { float depth = distance.norm(); result.insert(std::pair(depth, id)); } } return result; } void CylinderGeometry::addCylinder(const Vector3f& pos1, const Vector3f& pos2, float radius, const Vector3ub& color) { addCylinder(pos1, pos2, radius, color, color); } void CylinderGeometry::addCylinder(const Vector3f& pos1, const Vector3f& pos2, float radius, const Vector3ub& colorStart, const Vector3ub& colorEnd) { m_dirty = true; m_cylinders.push_back( CylinderColor(pos1, pos2, radius, colorStart, colorEnd)); m_indices.push_back(m_indices.size()); } void CylinderGeometry::addCylinder(const Vector3f& pos1, const Vector3f& pos2, float radius, const Vector3ub& color, size_t index) { m_indexMap[m_cylinders.size()] = index; addCylinder(pos1, pos2, radius, color, color); } void CylinderGeometry::addCylinder(const Vector3f& pos1, const Vector3f& pos2, float radius, const Vector3ub& colorStart, const Vector3ub& colorEnd, size_t index) { m_indexMap[m_cylinders.size()] = index; addCylinder(pos1, pos2, radius, colorStart, colorEnd); } void CylinderGeometry::clear() { m_cylinders.clear(); m_indices.clear(); m_indexMap.clear(); } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/cylindergeometry.h000066400000000000000000000123471360735163600236160ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_CYLINDERGEOMETRY_H #define AVOGADRO_RENDERING_CYLINDERGEOMETRY_H #include "drawable.h" #include namespace Avogadro { namespace Rendering { struct CylinderColor { CylinderColor(const Vector3f& pos1, const Vector3f& pos2, float r, const Vector3ub& c, const Vector3ub& c2 = Vector3ub::Zero()) : end1(pos1) , end2(pos2) , radius(r) , color(c) , color2(c2) {} Vector3f end1; Vector3f end2; float radius; Vector3ub color; Vector3ub color2; }; /** * @class CylinderGeometry cylindergeometry.h * * @brief The CylinderGeometry contains one or more cylinders. * @author Marcus D. Hanwell */ class AVOGADRORENDERING_EXPORT CylinderGeometry : public Drawable { public: CylinderGeometry(); CylinderGeometry(const CylinderGeometry& other); ~CylinderGeometry() override; CylinderGeometry& operator=(CylinderGeometry); friend void swap(CylinderGeometry& lhs, CylinderGeometry& rhs); /** * Accept a visit from our friendly visitor. */ void accept(Visitor&) override; /** * @brief Update the VBOs, IBOs etc ready for rendering. */ void update(); /** * @brief Render the cylinder geometry. * @param camera The current camera to be used for rendering. */ void render(const Camera& camera) override; /** * Return the primitives that are hit by the ray. * @param rayOrigin Origin of the ray. * @param rayEnd End point of the ray. * @param rayDirection Normalized direction of the ray. * @return Sorted collection of primitives that were hit. */ std::multimap hits( const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const override; /** * @brief Add a cylinder to the geometry object. * @param pos1 Base of the cylinder axis. * @param pos2 Top of the cylinder axis. * @param radius Radius of the cylinder. * @param color Color the cylinder will be rendered. */ void addCylinder(const Vector3f& pos1, const Vector3f& pos2, float radius, const Vector3ub& color); /** * @brief Add a cylinder to the geometry object. * @param pos1 Base of the cylinder axis. * @param pos2 Top of the cylinder axis. * @param radius Radius of the cylinder. * @param color1 Color the start of the base of the cylinder. * @param color2 Color of the end of the cylinder. */ void addCylinder(const Vector3f& pos1, const Vector3f& pos2, float radius, const Vector3ub& color1, const Vector3ub& color2); /** * @brief Add a cylinder to the geometry object. * @param pos1 Base of the cylinder axis. * @param pos2 Top of the cylinder axis. * @param radius Radius of the cylinder. * @param color Color the cylinder will be rendered. * @param index The index of the cylinder being added. */ void addCylinder(const Vector3f& pos1, const Vector3f& pos2, float radius, const Vector3ub& color, size_t index); /** * @brief Add a cylinder to the geometry object. * @param pos1 Base of the cylinder axis. * @param pos2 Top of the cylinder axis. * @param radius Radius of the cylinder. * @param color Color the start of the base of the cylinder. * @param color2 Color of the end of the cylinder. * @param index The index of the cylinder being added. */ void addCylinder(const Vector3f& pos1, const Vector3f& pos2, float radius, const Vector3ub& color, const Vector3ub& color2, size_t index); /** * Get a reference to the cylinders. */ std::vector& cylinders() { return m_cylinders; } const std::vector& cylinders() const { return m_cylinders; } /** * Clear the contents of the node. */ void clear() override; /** * Get the number of cylinders in the node object. */ size_t size() const { return m_cylinders.size(); } private: std::vector m_cylinders; std::vector m_indices; std::map m_indexMap; bool m_dirty; class Private; Private* d; }; inline CylinderGeometry& CylinderGeometry::operator=(CylinderGeometry other) { using std::swap; swap(*this, other); return *this; } inline void swap(CylinderGeometry& lhs, CylinderGeometry& rhs) { using std::swap; swap(static_cast(lhs), static_cast(rhs)); swap(lhs.m_cylinders, rhs.m_cylinders); swap(lhs.m_indices, rhs.m_indices); swap(lhs.m_indexMap, rhs.m_indexMap); lhs.m_dirty = rhs.m_dirty = true; } } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_CYLINDERGEOMETRY_H avogadrolibs-1.93.0/avogadro/rendering/cylinders_fs.glsl000066400000000000000000000006741360735163600234270ustar00rootroot00000000000000varying vec3 fnormal; void main() { vec3 N = normalize(fnormal); vec3 L = normalize(vec3(0, 1, 1)); vec3 E = vec3(0, 0, 1); vec3 H = normalize(L + E); float df = max(0.0, dot(N, L)); float sf = max(0.0, dot(N, H)); vec4 ambient = 0.4 * gl_Color; vec4 diffuse = 0.55 * gl_Color; vec4 specular = 0.5 * (vec4(1, 1, 1, 1) - gl_Color); gl_FragColor = ambient + df * diffuse + pow(sf, 20.0) * specular; gl_FragColor.a = 1.0; } avogadrolibs-1.93.0/avogadro/rendering/cylinders_vs.glsl000066400000000000000000000004741360735163600234450ustar00rootroot00000000000000attribute vec4 vertex; attribute vec3 color; attribute vec3 normal; uniform mat4 modelView; uniform mat4 projection; uniform mat3 normalMatrix; varying vec3 fnormal; void main() { gl_FrontColor = vec4(color, 1.0); gl_Position = projection * modelView * vertex; fnormal = normalize(normalMatrix * normal); } avogadrolibs-1.93.0/avogadro/rendering/drawable.cpp000066400000000000000000000031741360735163600223430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "drawable.h" #include "visitor.h" namespace Avogadro { namespace Rendering { using Core::Array; Drawable::Drawable() : m_parent(nullptr), m_visible(true), m_renderPass(OpaquePass) { } Drawable::Drawable(const Drawable& other) : m_parent(other.m_parent), m_visible(other.m_visible), m_renderPass(other.m_renderPass), m_identifier(other.m_identifier) { } Drawable::~Drawable() { } void Drawable::accept(Visitor& visitor) { visitor.visit(*this); } void Drawable::render(const Camera&) { } std::multimap Drawable::hits(const Vector3f&, const Vector3f&, const Vector3f&) const { return std::multimap(); } Array Drawable::areaHits(const Frustrum&) const { return Array(); } void Drawable::clear() { } void Drawable::setParent(GeometryNode* parent_) { m_parent = parent_; } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/drawable.h000066400000000000000000000103661360735163600220110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_DRAWABLE_H #define AVOGADRO_RENDERING_DRAWABLE_H #include "avogadrorenderingexport.h" #include "avogadrorendering.h" #include "primitive.h" #include #include #include namespace Avogadro { namespace Rendering { class Camera; class GeometryNode; class Visitor; /** * @class Drawable drawable.h * @brief The base class for all drawable geometry and types. * @author Marcus D. Hanwell * * This class provides the common API for drawable objects on the scene. It is * not a Node object, and can only be attached to GeometryNode objects in the * Scene. */ class AVOGADRORENDERING_EXPORT Drawable { public: Drawable(); Drawable(const Drawable& other); virtual ~Drawable(); Drawable& operator=(Drawable); friend void swap(Drawable& lhs, Drawable& rhs); /** * Accept a visit from our friendly visitor. */ virtual void accept(Visitor&); /** * @brief Get a pointer to the drawable object's parent. * @return Pointer to the parent node, nullptr if no parent. */ const GeometryNode* parent() const { return m_parent; } GeometryNode* parent() { return m_parent; } /** * @brief Set the visibility of the drawable object. * @param visibility True if the drawable is visible, false if invisible. */ void setVisible(bool visibility) { m_visible = visibility; } /** * @brief Get the current visibility of the drawable. * @return True if visible. */ bool isVisible() const { return m_visible; } /** * The render pass in which this drawable should be rendered. * @sa Rendering::RenderPass * @{ */ void setRenderPass(RenderPass pass) { m_renderPass = pass; } RenderPass renderPass() const { return m_renderPass; } /** @} */ /** * @brief Render the contents of the drawable. * @param camera The current Camera. */ virtual void render(const Camera& camera); /** * Get the identifier for the object, this stores the parent Molecule and * the type represented by the geometry. */ Identifier& identifier() { return m_identifier; } const Identifier& identifier() const { return m_identifier; } /** * Return the primitives that are hit by the ray. * @param rayOrigin Origin of the ray. * @param rayEnd End point of the ray. * @param rayDirection Normalized direction of the ray. * @return Sorted collection of primitives that were hit. */ virtual std::multimap hits( const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const; /** * Return the primitives within the supplied area. * @param f The frustrum defining the area highlighted. * @return Collection of primitives in the area. */ virtual Core::Array areaHits(const Frustrum& f) const; /** * Clear the contents of the node. */ virtual void clear(); protected: friend class GeometryNode; /** * @brief Set the parent node for the node. * @param parent The parent, a value of nullptr denotes no parent node. */ void setParent(GeometryNode* parent); GeometryNode* m_parent; bool m_visible; RenderPass m_renderPass; Identifier m_identifier; }; inline Drawable& Drawable::operator=(Drawable rhs) { using std::swap; swap(*this, rhs); return *this; } inline void swap(Drawable& lhs, Drawable& rhs) { using std::swap; swap(lhs.m_parent, rhs.m_parent); swap(lhs.m_visible, rhs.m_visible); swap(lhs.m_renderPass, rhs.m_renderPass); swap(lhs.m_identifier, rhs.m_identifier); } } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_SPHERENODE_H avogadrolibs-1.93.0/avogadro/rendering/geometrynode.cpp000066400000000000000000000063321360735163600232620ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "geometrynode.h" #include "drawable.h" #include "visitor.h" #include namespace Avogadro { namespace Rendering { using Core::Array; GeometryNode::GeometryNode() { } GeometryNode::~GeometryNode() { clearDrawables(); } void GeometryNode::accept(Visitor& visitor) { visitor.visit(*this); for (std::vector::const_iterator it = m_drawables.begin(); it != m_drawables.end(); ++it) { (*it)->accept(visitor); } } void GeometryNode::addDrawable(Drawable* object) { for (std::vector::const_iterator it = m_drawables.begin(); it != m_drawables.end(); ++it) { if (*it == object) return; } object->setParent(this); m_drawables.push_back(object); } bool GeometryNode::removeDrawable(Drawable* object) { if (!object) return false; for (std::vector::iterator it = m_drawables.begin(); it != m_drawables.end(); ++it) { if (*it == object) { (*it)->setParent(nullptr); m_drawables.erase(it); return true; } } return false; } Drawable* GeometryNode::drawable(size_t index) { if (index >= m_drawables.size()) return nullptr; else return m_drawables[index]; } void GeometryNode::clearDrawables() { // Like all good parents, we destroy our children before we go... for (std::vector::const_iterator it = m_drawables.begin(); it != m_drawables.end(); ++it) { delete (*it); } m_drawables.clear(); } void GeometryNode::render(const Camera& camera) { for (std::vector::iterator it = m_drawables.begin(); it != m_drawables.end(); ++it) { if ((*it)->isVisible()) (*it)->render(camera); } } std::multimap GeometryNode::hits( const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const { std::multimap result; for (std::vector::const_iterator it = m_drawables.begin(); it != m_drawables.end(); ++it) { std::multimap drawableHits; if ((*it)->isVisible()) drawableHits = (*it)->hits(rayOrigin, rayEnd, rayDirection); result.insert(drawableHits.begin(), drawableHits.end()); } return result; } Array GeometryNode::areaHits(const Frustrum& f) const { Array result; for (auto it = m_drawables.begin(); it != m_drawables.end(); ++it) { Array drawableHits; if ((*it)->isVisible()) drawableHits = (*it)->areaHits(f); result.insert(result.end(), drawableHits.begin(), drawableHits.end()); } return result; } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/geometrynode.h000066400000000000000000000062561360735163600227340ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_GEOMETRYNODE_H #define AVOGADRO_RENDERING_GEOMETRYNODE_H #include "node.h" #include "primitive.h" #include #include #include #include namespace Avogadro { namespace Rendering { class Camera; class Drawable; /** * @class GeometryNode geometrynode.h * @brief The GeometryNode class is the common base of all geometry nodes. * @author Marcus D. Hanwell * * The GeometryNode contains any Drawable objects, and is the only node type * that results in anything being rendered to the screen. */ class AVOGADRORENDERING_EXPORT GeometryNode : public Node { public: GeometryNode(); ~GeometryNode() override; /** * Accept a visit from our friendly visitor. */ void accept(Visitor&) override; /** * @brief Add a drawable object to the geometry node. * @param object Drawable object to be added. */ void addDrawable(Drawable* object); /** * @brief Remove child node, this node will no longer be deleted. * @param node Node to be removed. * @return True if the node was removed, false if it was not found. */ bool removeDrawable(Drawable* node); /** * @brief Get the child Node at the specified index. * @param index The index of the child. * @return A pointer to the child node, or nullptr if the index is out of * range. */ Drawable* drawable(size_t index); /** * @brief Get a reference to the child nodes list. */ std::vector& drawables() { return m_drawables; } const std::vector drawables() const { return m_drawables; } /** * @brief Remove all drawable objects. */ void clearDrawables(); /** * @brief Render the drawables in the geometry node. */ void render(const Camera& camera); /** * Return the primitives that are hit by the ray. * @param rayOrigin Origin of the ray. * @param rayEnd End point of the ray. * @param rayDirection Normalized direction of the ray. * @return Sorted collection of primitives that were hit. */ std::multimap hits(const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const; /** * Return the primitives within the supplied frustrum. */ Core::Array areaHits(const Frustrum& frustrum) const; protected: std::vector m_drawables; }; } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_GEOMETRYNODE_H avogadrolibs-1.93.0/avogadro/rendering/geometryvisitor.cpp000066400000000000000000000111011360735163600240220ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "geometryvisitor.h" #include "ambientocclusionspheregeometry.h" #include "linestripgeometry.h" #include "spheregeometry.h" namespace Avogadro { namespace Rendering { GeometryVisitor::GeometryVisitor() : m_center(Vector3f::Zero()), m_radius(0.0f), m_dirty(false) { } GeometryVisitor::~GeometryVisitor() { } void GeometryVisitor::visit(Drawable&) { } void GeometryVisitor::visit(SphereGeometry& geometry) { const Core::Array& spheres = geometry.spheres(); if (!spheres.size()) return; m_dirty = true; Vector3f tmpCenter(Vector3f::Zero()); // First find the center of the sphere geometry. std::vector::const_iterator it = spheres.begin(); for (; it != spheres.end(); ++it) tmpCenter += it->center; tmpCenter /= static_cast(spheres.size()); // Now find its radius. float tmpRadius(0.0f); if (spheres.size() > 1) { for (it = spheres.begin(); it != spheres.end(); ++it) { float distance = (it->center - tmpCenter).squaredNorm(); if (distance > tmpRadius) tmpRadius = distance; } } tmpRadius = std::sqrt(tmpRadius); m_centers.push_back(tmpCenter); m_radii.push_back(tmpRadius); } void GeometryVisitor::visit(AmbientOcclusionSphereGeometry& geometry) { const Core::Array& spheres = geometry.spheres(); if (!spheres.size()) return; m_dirty = true; Vector3f tmpCenter(Vector3f::Zero()); // First find the center of the sphere geometry. std::vector::const_iterator it = spheres.begin(); for (; it != spheres.end(); ++it) tmpCenter += it->center; tmpCenter /= static_cast(spheres.size()); // Now find its radius. float tmpRadius(0.0f); if (spheres.size() > 1) { for (it = spheres.begin(); it != spheres.end(); ++it) { float distance = (it->center - tmpCenter).squaredNorm(); if (distance > tmpRadius) tmpRadius = distance; } } tmpRadius = std::sqrt(tmpRadius); m_centers.push_back(tmpCenter); m_radii.push_back(tmpRadius); } void GeometryVisitor::visit(LineStripGeometry& lsg) { typedef Core::Array VertexArray; const VertexArray verts(lsg.vertices()); if (!verts.size()) return; m_dirty = true; Vector3f tmpCenter(Vector3f::Zero()); for (VertexArray::const_iterator it = verts.begin(), itEnd = verts.end(); it != itEnd; ++it) { tmpCenter += it->vertex; } tmpCenter /= static_cast(verts.size()); float tmpRadius(0.f); for (VertexArray::const_iterator it = verts.begin(), itEnd = verts.end(); it != itEnd; ++it) { float distance = (it->vertex - tmpCenter).squaredNorm(); if (distance > tmpRadius) tmpRadius = distance; } m_centers.push_back(tmpCenter); m_radii.push_back(std::sqrt(tmpRadius)); } void GeometryVisitor::clear() { m_center = Vector3f::Zero(); m_radius = 0.0f; m_dirty = false; m_centers.clear(); m_radii.clear(); } Vector3f GeometryVisitor::center() { average(); return m_center; } float GeometryVisitor::radius() { average(); return m_radius; } void GeometryVisitor::average() { if (!m_dirty) return; // Find the average position of the center, then the minimal enclosing radius. m_dirty = false; if (m_centers.size() == 1) { m_center = m_centers[0]; m_radius = m_radii[0]; } else { m_center = Vector3f::Zero(); std::vector::const_iterator cit; for (cit = m_centers.begin(); cit != m_centers.end(); ++cit) m_center += *cit; m_center /= static_cast(m_centers.size()); // Now find the smallest enclosing radius for the new center. m_radius = 0.0f; std::vector::const_iterator rit; for (cit = m_centers.begin(), rit = m_radii.begin(); cit != m_centers.end() && rit != m_radii.end(); ++cit, ++rit) { float distance = (m_center - (*cit)).norm() + (*rit); if (distance > m_radius) m_radius = distance; } } } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/geometryvisitor.h000066400000000000000000000045771360735163600235120ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_GEOMETRYVISITOR_H #define AVOGADRO_RENDERING_GEOMETRYVISITOR_H #include "visitor.h" #include #include namespace Avogadro { namespace Rendering { /** * @class GeometryVisitor geometryvisitor.h * * @brief Visitor that determines the geometry of the scene. * @author Marcus D. Hanwell * * This visitor will attempt to determine the geometry of the scene, most * notably the center and radius of the bounding sphere. */ class GeometryVisitor : public Visitor { public: GeometryVisitor(); ~GeometryVisitor() override; /** * The overloaded visit functions, the base versions of which do nothing. */ void visit(Node&) override { return; } void visit(GroupNode&) override { return; } void visit(GeometryNode&) override { return; } void visit(Drawable&) override; void visit(SphereGeometry&) override; void visit(AmbientOcclusionSphereGeometry&) override; void visit(CylinderGeometry&) override { return; } void visit(MeshGeometry&) override { return; } void visit(TextLabel2D&) override { return; } void visit(TextLabel3D&) override { return; } void visit(LineStripGeometry&) override; /** * Clear the state of the visitor. */ void clear(); /** * Get the position of the center of the scene. */ Vector3f center(); /** * Get the radius of the scene. */ float radius(); private: /** * Get the average of the accumulated spherical centers and minimal radius. */ void average(); Vector3f m_center; float m_radius; bool m_dirty; std::vector m_centers; std::vector m_radii; }; } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_GEOMETRYVISITOR_H avogadrolibs-1.93.0/avogadro/rendering/glrenderer.cpp000066400000000000000000000211471360735163600227130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "glrenderer.h" #include "avogadrogl.h" #include "geometrynode.h" #include "glrendervisitor.h" #include "shader.h" #include "shaderprogram.h" #include "textlabel2d.h" #include "textlabel3d.h" #include "textrenderstrategy.h" #include "visitor.h" #include #include namespace Avogadro { namespace Rendering { using Core::Array; GLRenderer::GLRenderer() : m_valid(false), m_textRenderStrategy(nullptr), m_center(Vector3f::Zero()), m_radius(20.0) { m_overlayCamera.setIdentity(); } GLRenderer::~GLRenderer() { delete m_textRenderStrategy; } void GLRenderer::initialize() { GLenum result = glewInit(); m_valid = (result == GLEW_OK); if (!m_valid) { m_error += "GLEW could not be initialized.\n"; return; } if (!GLEW_VERSION_2_0) { m_error += "GL version 2.0 is not supported by your graphics driver.\n"; m_valid = false; return; } } void GLRenderer::resize(int width, int height) { if (!m_valid) return; glViewport(0, 0, static_cast(width), static_cast(height)); m_camera.setViewport(width, height); m_overlayCamera.setViewport(width, height); } void GLRenderer::render() { if (!m_valid) return; Vector4ub c = m_scene.backgroundColor(); glClearColor(c[0] / 255.0f, c[1] / 255.0f, c[2] / 255.0f, c[3] / 255.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); applyProjection(); GLRenderVisitor visitor(m_camera, m_textRenderStrategy); // Setup for opaque geometry visitor.setRenderPass(OpaquePass); glEnable(GL_DEPTH_TEST); glDisable(GL_BLEND); m_scene.rootNode().accept(visitor); // Setup for transparent geometry visitor.setRenderPass(TranslucentPass); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); m_scene.rootNode().accept(visitor); // Setup for 3d overlay rendering visitor.setRenderPass(Overlay3DPass); glClear(GL_DEPTH_BUFFER_BIT); m_scene.rootNode().accept(visitor); // Setup for 2d overlay rendering visitor.setRenderPass(Overlay2DPass); visitor.setCamera(m_overlayCamera); glDisable(GL_DEPTH_TEST); m_scene.rootNode().accept(visitor); } void GLRenderer::resetCamera() { resetGeometry(); m_camera.setIdentity(); m_camera.translate(-m_center); m_camera.preTranslate(-2.22f * m_radius * Vector3f::UnitZ()); } void GLRenderer::resetGeometry() { m_scene.setDirty(true); m_center = m_scene.center(); m_radius = m_scene.radius(); } void GLRenderer::setTextRenderStrategy(TextRenderStrategy* tren) { if (tren != m_textRenderStrategy) { // Force all labels to be regenerated on the next render: class ResetTextLabelVisitor : public Visitor { public: void visit(Node&) override { return; } void visit(GroupNode&) override { return; } void visit(GeometryNode&) override { return; } void visit(Drawable&) override { return; } void visit(SphereGeometry&) override { return; } void visit(AmbientOcclusionSphereGeometry&) override { return; } void visit(CylinderGeometry&) override { return; } void visit(MeshGeometry&) override { return; } void visit(Texture2D&) { return; } void visit(TextLabel2D& l) override { l.resetTexture(); } void visit(TextLabel3D& l) override { l.resetTexture(); } void visit(LineStripGeometry&) override { return; } } labelResetter; m_scene.rootNode().accept(labelResetter); delete m_textRenderStrategy; m_textRenderStrategy = tren; } } void GLRenderer::applyProjection() { float distance = m_camera.distance(m_center); if (m_camera.projectionType() == Perspective) { m_camera.calculatePerspective(40.0f, std::max(2.0f, distance - m_radius), distance + m_radius); } else { // Renders the orthographic projection of the molecule const double halfHeight = m_radius; const double halfWidth = halfHeight * m_camera.width() / m_camera.height(); m_camera.calculateOrthographic( -halfWidth, halfWidth, -halfHeight, halfHeight, std::max(2.0f, distance - m_radius), distance + m_radius); } m_overlayCamera.calculateOrthographic( 0.f, static_cast(m_overlayCamera.width()), 0.f, static_cast(m_overlayCamera.height()), -1.f, 1.f); } std::multimap GLRenderer::hits( const GroupNode* group, const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const { std::multimap result; if (!group) return result; for (std::vector::const_iterator it = group->children().begin(); it != group->children().end(); ++it) { std::multimap loopHits; const Node* itNode = *it; const GroupNode* childGroup = dynamic_cast(itNode); if (childGroup) { loopHits = hits(childGroup, rayOrigin, rayEnd, rayDirection); result.insert(loopHits.begin(), loopHits.end()); continue; } const GeometryNode* childGeometry = (*it)->cast(); if (childGeometry) { loopHits = hits(childGeometry, rayOrigin, rayEnd, rayDirection); result.insert(loopHits.begin(), loopHits.end()); continue; } } return result; } std::multimap GLRenderer::hits( const GeometryNode* geometry, const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const { if (!geometry) return std::multimap(); return geometry->hits(rayOrigin, rayEnd, rayDirection); } std::multimap GLRenderer::hits(int x, int y) const { // Our ray: const Vector3f origin(m_camera.unProject( Vector3f(static_cast(x), static_cast(y), 0.f))); const Vector3f end(m_camera.unProject( Vector3f(static_cast(x), static_cast(y), 1.f))); const Vector3f direction((end - origin).normalized()); return hits(&m_scene.rootNode(), origin, end, direction); } Array GLRenderer::hits(const GroupNode* group, const Frustrum& f) const { Array result; for (auto it = group->children().begin(); it != group->children().end(); ++it) { Array loopHits; const Node* itNode = *it; const GroupNode* childGroup = dynamic_cast(itNode); if (childGroup) { loopHits = hits(childGroup, f); result.insert(result.end(), loopHits.begin(), loopHits.end()); continue; } const auto childGeometry = (*it)->cast(); if (childGeometry) { loopHits = childGeometry->areaHits(f); result.insert(result.end(), loopHits.begin(), loopHits.end()); continue; } } return result; } Array GLRenderer::hits(int x1, int y1, int x2, int y2) const { // Figure out where the corners of our rectangle are. Frustrum f; f.points[0] = m_camera.unProject( Vector3f(static_cast(x1), static_cast(y1), 0.f)); f.points[1] = m_camera.unProject( Vector3f(static_cast(x1), static_cast(y1), 1.f)); f.points[2] = m_camera.unProject( Vector3f(static_cast(x1), static_cast(y2), 0.f)); f.points[3] = m_camera.unProject( Vector3f(static_cast(x1), static_cast(y2), 1.f)); f.points[4] = m_camera.unProject( Vector3f(static_cast(x2), static_cast(y2), 0.f)); f.points[5] = m_camera.unProject( Vector3f(static_cast(x2), static_cast(y2), 1.f)); f.points[6] = m_camera.unProject( Vector3f(static_cast(x2), static_cast(y1), 0.f)); f.points[7] = m_camera.unProject( Vector3f(static_cast(x2), static_cast(y1), 1.f)); // Define a frustrum for testing if things are within it. f.planes[0] = (f.points[0] - f.points[1]).cross(f.points[2] - f.points[3]); f.planes[1] = (f.points[2] - f.points[3]).cross(f.points[4] - f.points[5]); f.planes[2] = (f.points[4] - f.points[5]).cross(f.points[6] - f.points[7]); f.planes[3] = (f.points[6] - f.points[7]).cross(f.points[0] - f.points[1]); return hits(&m_scene.rootNode(), f); } } // namespace Rendering } // namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/glrenderer.h000066400000000000000000000116461360735163600223630ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_GLRENDERER_H #define AVOGADRO_RENDERING_GLRENDERER_H #include "avogadrorenderingexport.h" #include "bufferobject.h" #include "camera.h" #include "primitive.h" #include "scene.h" #include "shader.h" #include "shaderprogram.h" #include #include #include // For member variables. #include namespace Avogadro { namespace Rendering { class GeometryNode; class TextRenderStrategy; /** * @class GLRenderer glrenderer.h * @brief Render the scene using OpenGL calls. * @author Marcus D. Hanwell */ class AVOGADRORENDERING_EXPORT GLRenderer { public: GLRenderer(); ~GLRenderer(); /** Initialize the OpenGL context for rendering. */ void initialize(); /** Resize the context in response to window management events. */ void resize(int width, int height); /** Take care of rendering the scene, requires that the context is current. */ void render(); /** Reset the view to fit the entire scene. */ void resetCamera(); /** * Reset the scene geometry, this should be done when the scene geometry has * changed in order to ensure correct clipping. */ void resetGeometry(); /** Return the primitives under the display coordinate (x,y), mapped by depth. */ std::multimap hits(int x, int y) const; /** Return the top primitive under the display coordinate (x,y). */ Identifier hit(int x, int y) const; /** Return the primitives in the rectangular area provided. */ Core::Array hits(int x1, int y1, int x2, int y2) const; /** Check whether the GL context is valid and supports required features. * \sa error() to get more information if the context is not valid. */ bool isValid() const { return m_valid; } /** Get the error message if the context is not valid. Empty if valid. */ std::string error() const { return m_error; } /** Get the camera for this renderer. */ const Camera& camera() const; Camera& camera(); /** Get the overlay camera. */ const Camera& overlayCamera() const; Camera& overlayCamera(); /** Get the scene for this renderer. */ const Scene& scene() const { return m_scene; } Scene& scene() { return m_scene; } /** * Get/set the text rendering strategy for this object. The renderer takes * ownership of the strategy object. @{ */ const TextRenderStrategy* textRenderStrategy() const; TextRenderStrategy* textRenderStrategy(); void setTextRenderStrategy(TextRenderStrategy* tren); /** @} */ private: /** * Apply the projection matrix. */ void applyProjection(); /** * @brief Detect hits in a group node. */ std::multimap hits(const GroupNode* group, const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const; /** * @brief Detect hits in a geometry node. */ std::multimap hits(const GeometryNode* geometry, const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const; Core::Array hits(const GroupNode* group, const Frustrum& frustrum) const; bool m_valid; std::string m_error; Camera m_camera; Camera m_overlayCamera; Scene m_scene; TextRenderStrategy* m_textRenderStrategy; Vector3f m_center; float m_radius; }; inline const Camera& GLRenderer::camera() const { return m_camera; } inline Camera& GLRenderer::camera() { return m_camera; } inline const Camera& GLRenderer::overlayCamera() const { return m_camera; } inline Camera& GLRenderer::overlayCamera() { return m_camera; } inline const TextRenderStrategy* GLRenderer::textRenderStrategy() const { return m_textRenderStrategy; } inline TextRenderStrategy* GLRenderer::textRenderStrategy() { return m_textRenderStrategy; } inline Identifier GLRenderer::hit(int x, int y) const { std::multimap results = hits(x, y); if (results.size()) return results.begin()->second; return Identifier(); } } // End Rendering namespace } // End Avogadro namespace #endif // AVOGADRO_RENDERING_GLRENDERER_H avogadrolibs-1.93.0/avogadro/rendering/glrendervisitor.cpp000066400000000000000000000046671360735163600240140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "glrendervisitor.h" #include "ambientocclusionspheregeometry.h" #include "cylindergeometry.h" #include "linestripgeometry.h" #include "meshgeometry.h" #include "spheregeometry.h" #include "textlabel2d.h" #include "textlabel3d.h" namespace Avogadro { namespace Rendering { GLRenderVisitor::GLRenderVisitor(const Camera& camera_, const TextRenderStrategy* trs) : m_camera(camera_), m_textRenderStrategy(trs), m_renderPass(NotRendering) { } GLRenderVisitor::~GLRenderVisitor() { } void GLRenderVisitor::visit(Drawable& geometry) { if (geometry.renderPass() == m_renderPass) geometry.render(m_camera); } void GLRenderVisitor::visit(SphereGeometry& geometry) { if (geometry.renderPass() == m_renderPass) geometry.render(m_camera); } void GLRenderVisitor::visit(AmbientOcclusionSphereGeometry& geometry) { if (geometry.renderPass() == m_renderPass) geometry.render(m_camera); } void GLRenderVisitor::visit(CylinderGeometry& geometry) { if (geometry.renderPass() == m_renderPass) geometry.render(m_camera); } void GLRenderVisitor::visit(MeshGeometry& geometry) { if (geometry.renderPass() == m_renderPass) geometry.render(m_camera); } void GLRenderVisitor::visit(TextLabel2D& geometry) { if (geometry.renderPass() == m_renderPass) { if (m_textRenderStrategy) geometry.buildTexture(*m_textRenderStrategy); geometry.render(m_camera); } } void GLRenderVisitor::visit(TextLabel3D& geometry) { if (geometry.renderPass() == m_renderPass) { if (m_textRenderStrategy) geometry.buildTexture(*m_textRenderStrategy); geometry.render(m_camera); } } void GLRenderVisitor::visit(LineStripGeometry& geometry) { if (geometry.renderPass() == m_renderPass) geometry.render(m_camera); } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/glrendervisitor.h000066400000000000000000000054121360735163600234460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_GLRENDERVISITOR_H #define AVOGADRO_RENDERING_GLRENDERVISITOR_H #include "visitor.h" #include "avogadrorendering.h" #include "camera.h" namespace Avogadro { namespace Rendering { class TextRenderStrategy; /** * @class GLRenderVisitor glrendervisitor.h * * @brief Visitor that takes care of rendering the scene. * @author Marcus D. Hanwell * * This visitor will render elements in the scene. */ class AVOGADRORENDERING_EXPORT GLRenderVisitor : public Visitor { public: explicit GLRenderVisitor(const Camera& camera = Camera(), const TextRenderStrategy* trs = nullptr); ~GLRenderVisitor() override; /** * The current stage of a multipass rendering. * @sa Rendering::RenderPass * @{ */ void setRenderPass(RenderPass pass) { m_renderPass = pass; } RenderPass renderPass() const { return m_renderPass; } /** @} */ /** * The overloaded visit functions, the base versions of which do nothing. */ void visit(Node&) override { return; } void visit(GroupNode&) override { return; } void visit(GeometryNode&) override { return; } void visit(Drawable&) override; void visit(SphereGeometry&) override; void visit(AmbientOcclusionSphereGeometry&) override; void visit(CylinderGeometry&) override; void visit(MeshGeometry&) override; void visit(TextLabel2D& geometry) override; void visit(TextLabel3D& geometry) override; void visit(LineStripGeometry& geometry) override; void setCamera(const Camera& camera_) { m_camera = camera_; } Camera camera() const { return m_camera; } /** * A TextRenderStrategy implementation used to render text for annotations. * If nullptr, no text will be produced. * @{ */ void setTextRenderStrategy(TextRenderStrategy* trs) { m_textRenderStrategy = trs; } const TextRenderStrategy* textRenderStrategy() const { return m_textRenderStrategy; } /** @} */ private: Camera m_camera; const TextRenderStrategy* m_textRenderStrategy; RenderPass m_renderPass; }; } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_GLRENDERVISITOR_H avogadrolibs-1.93.0/avogadro/rendering/groupnode.cpp000066400000000000000000000041521360735163600225610ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "groupnode.h" #include "visitor.h" namespace Avogadro { namespace Rendering { GroupNode::GroupNode(GroupNode* parent_) { if (parent_) parent_->addChild(this); } GroupNode::~GroupNode() { // Like all good parents, we destroy our children before we go... clear(); } void GroupNode::accept(Visitor& visitor) { visitor.visit(*this); for (std::vector::iterator it = m_children.begin(); it != m_children.end(); ++it) { (*it)->accept(visitor); } } void GroupNode::addChild(Node* node) { if (!node || node == this) return; for (std::vector::const_iterator it = m_children.begin(); it != m_children.end(); ++it) { if (*it == node) return; } node->setParent(this); m_children.push_back(node); } bool GroupNode::removeChild(Node* node) { if (!node) return false; for (std::vector::iterator it = m_children.begin(); it != m_children.end(); ++it) { if (*it == node) { (*it)->setParent(nullptr); m_children.erase(it); return true; } } return false; } Node* GroupNode::child(size_t index) { if (index >= m_children.size()) return nullptr; else return m_children[index]; } void GroupNode::clear() { // Like all good parents, we destroy our children before we go... for (std::vector::const_iterator it = m_children.begin(); it != m_children.end(); ++it) { delete (*it); } m_children.clear(); } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/groupnode.h000066400000000000000000000047461360735163600222370ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_GROUPNODE_H #define AVOGADRO_RENDERING_GROUPNODE_H #include "node.h" #include namespace Avogadro { namespace Rendering { /** * @class GroupNode groupnode.h * @brief The GroupNode class provides common API for grouping child nodes. * @author Marcus D. Hanwell * * The GroupNode may be used to group items together, but for most other * purposes a more derived Node type would be the correct choice. */ class AVOGADRORENDERING_EXPORT GroupNode : public Node { public: explicit GroupNode(GroupNode* parent = 0); ~GroupNode() override; /** * Accept a visit from our friendly visitor. */ void accept(Visitor&) override; /** * @brief Add a child node, this node will have its parent set and will be * deleted by this node upon destruction. * @param node Node to be added. */ void addChild(Node* node); /** * @brief Remove child node, this node will no longer be deleted. * @param node Node to be removed. * @return True if the node was removed, false if it was not found. */ bool removeChild(Node* node); /** * @brief Get the child Node at the specified index. * @param index The index of the child. * @return A pointer to the child node, or nullptr if the index is out of * range. */ Node* child(size_t index); /** * @return The number of child nodes contained by the GroupNode. */ size_t childCount() const { return m_children.size(); } /** * @brief Get a reference to the child nodes list. */ std::vector& children() { return m_children; } const std::vector& children() const { return m_children; } /** * @brief Remove all children. */ void clear(); protected: std::vector m_children; }; } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_GROUPNODE_H avogadrolibs-1.93.0/avogadro/rendering/linestrip_fs.glsl000066400000000000000000000000531360735163600234330ustar00rootroot00000000000000void main() { gl_FragColor = gl_Color; } avogadrolibs-1.93.0/avogadro/rendering/linestrip_vs.glsl000066400000000000000000000002721360735163600234560ustar00rootroot00000000000000attribute vec4 vertex; attribute vec4 color; uniform mat4 modelView; uniform mat4 projection; void main() { gl_FrontColor = color; gl_Position = projection * modelView * vertex; } avogadrolibs-1.93.0/avogadro/rendering/linestripgeometry.cpp000066400000000000000000000173541360735163600243540ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "linestripgeometry.h" #include "avogadrogl.h" #include "bufferobject.h" #include "camera.h" #include "scene.h" #include "shader.h" #include "shaderprogram.h" #include "visitor.h" #include #include #include #include namespace { #include "linestrip_fs.h" #include "linestrip_vs.h" } using Avogadro::Core::Array; using Avogadro::Vector3f; using Avogadro::Vector3ub; using Avogadro::Vector4ub; using std::cout; using std::endl; namespace Avogadro { namespace Rendering { const size_t LineStripGeometry::InvalidIndex = std::numeric_limits::max(); class LineStripGeometry::Private { public: Private() {} BufferObject vbo; Shader vertexShader; Shader fragmentShader; ShaderProgram program; }; LineStripGeometry::LineStripGeometry() : m_color(255, 0, 0), m_opacity(255), m_dirty(false), d(new Private) { } LineStripGeometry::LineStripGeometry(const LineStripGeometry& other) : Drawable(other), m_vertices(other.m_vertices), m_lineStarts(other.m_lineStarts), m_lineWidths(other.m_lineWidths), m_color(other.m_color), m_opacity(other.m_opacity), m_dirty(true), d(new Private) { } LineStripGeometry::~LineStripGeometry() { delete d; } void LineStripGeometry::accept(Visitor& visitor) { visitor.visit(*this); } void LineStripGeometry::update() { if (m_vertices.empty()) return; // Check if the VBOs are ready, if not get them ready. if (!d->vbo.ready() || m_dirty) { d->vbo.upload(m_vertices, BufferObject::ArrayBuffer); m_dirty = false; } // Build and link the shader if it has not been used yet. if (d->vertexShader.type() == Shader::Unknown) { d->vertexShader.setType(Shader::Vertex); d->vertexShader.setSource(linestrip_vs); d->fragmentShader.setType(Shader::Fragment); d->fragmentShader.setSource(linestrip_fs); if (!d->vertexShader.compile()) cout << d->vertexShader.error() << endl; if (!d->fragmentShader.compile()) cout << d->fragmentShader.error() << endl; d->program.attachShader(d->vertexShader); d->program.attachShader(d->fragmentShader); if (!d->program.link()) cout << d->program.error() << endl; } } void LineStripGeometry::render(const Camera& camera) { if (m_vertices.empty() || m_lineStarts.empty() || m_lineWidths.size() != m_lineStarts.size()) return; // Prepare the VBO and shader program if necessary. update(); if (!d->program.bind()) cout << d->program.error() << endl; d->vbo.bind(); // Set up our attribute arrays. if (!d->program.enableAttributeArray("vertex")) cout << d->program.error() << endl; if (!d->program.useAttributeArray("vertex", PackedVertex::vertexOffset(), sizeof(PackedVertex), FloatType, 3, ShaderProgram::NoNormalize)) { cout << d->program.error() << endl; } if (!d->program.enableAttributeArray("color")) cout << d->program.error() << endl; if (!d->program.useAttributeArray("color", PackedVertex::colorOffset(), sizeof(PackedVertex), UCharType, 4, ShaderProgram::Normalize)) { cout << d->program.error() << endl; } // Set up our uniforms (model-view and projection matrices right now). if (!d->program.setUniformValue("modelView", camera.modelView().matrix())) { cout << d->program.error() << endl; } if (!d->program.setUniformValue("projection", camera.projection().matrix())) { cout << d->program.error() << endl; } // Render the linestrips using the shader and bound VBO. Array::const_iterator startIter = m_lineStarts.begin(); Array::const_iterator startEnd = m_lineStarts.end(); Array::const_iterator widthIter = m_lineWidths.begin(); unsigned int startIndex; unsigned int endIndex; while (startIter + 1 != startEnd) { startIndex = *startIter; endIndex = *(startIter + 1); glLineWidth(*widthIter); glDrawArrays(GL_LINE_STRIP, static_cast(startIndex), static_cast(endIndex - startIndex)); ++startIter; ++widthIter; } // There is an implicit ending index of m_vertices.size(): startIndex = *startIter; endIndex = static_cast(m_vertices.size()); glLineWidth(*widthIter); glDrawArrays(GL_LINE_STRIP, static_cast(startIndex), static_cast(endIndex - startIndex)); d->vbo.release(); d->program.disableAttributeArray("vector"); d->program.disableAttributeArray("color"); d->program.release(); } void LineStripGeometry::clear() { m_vertices.clear(); m_lineStarts.clear(); m_lineWidths.clear(); m_dirty = true; } size_t LineStripGeometry::addLineStrip(const Core::Array& vertices, const Core::Array& rgba, float lineWidth) { if (vertices.empty() || vertices.size() != rgba.size()) return InvalidIndex; size_t result = m_lineStarts.size(); m_lineStarts.push_back(static_cast(m_vertices.size())); m_lineWidths.push_back(lineWidth); Array::const_iterator colorIter(rgba.begin()); Array::const_iterator vertIter(vertices.begin()); Array::const_iterator vertEnd(vertices.end()); m_vertices.reserve(m_vertices.size() + vertices.size()); while (vertIter != vertEnd) m_vertices.push_back(PackedVertex(*(vertIter++), *(colorIter++))); m_dirty = true; return result; } size_t LineStripGeometry::addLineStrip(const Core::Array& vertices, const Core::Array& rgb, float lineWidth) { if (vertices.empty() || vertices.size() != rgb.size()) return InvalidIndex; size_t result = m_lineStarts.size(); m_lineStarts.push_back(static_cast(m_vertices.size())); m_lineWidths.push_back(lineWidth); Array::const_iterator colorIter(rgb.begin()); Array::const_iterator vertIter(vertices.begin()); Array::const_iterator vertEnd(vertices.end()); m_vertices.reserve(m_vertices.size() + vertices.size()); Vector4ub tmpColor(0, 0, 0, m_opacity); while (vertIter != vertEnd) { tmpColor.head<3>() = *(colorIter++); m_vertices.push_back(PackedVertex(*(vertIter++), tmpColor)); } m_dirty = true; return result; } size_t LineStripGeometry::addLineStrip(const Core::Array& vertices, float lineWidth) { if (vertices.empty()) return InvalidIndex; size_t result = m_lineStarts.size(); m_lineStarts.push_back(static_cast(m_vertices.size())); m_lineWidths.push_back(lineWidth); Array::const_iterator vertIter(vertices.begin()); Array::const_iterator vertEnd(vertices.end()); m_vertices.reserve(m_vertices.size() + vertices.size()); Vector4ub tmpColor(m_color[0], m_color[1], m_color[2], m_opacity); while (vertIter != vertEnd) m_vertices.push_back(PackedVertex(*(vertIter++), tmpColor)); m_dirty = true; return result; } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/linestripgeometry.h000066400000000000000000000107171360735163600240150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_LINESTRIPGEOMETRY_H #define AVOGADRO_RENDERING_LINESTRIPGEOMETRY_H #include "drawable.h" #include namespace Avogadro { namespace Rendering { /** * @class LineStripGeometry linestripgeometry.h * * @brief The LineStripGeometry class is used to store sets of line strips. */ class AVOGADRORENDERING_EXPORT LineStripGeometry : public Drawable { public: struct PackedVertex { // 16 bytes total: Vector3f vertex; // 12 bytes Vector4ub color; // 4 bytes PackedVertex(const Vector3f& v, const Vector4ub& c) : vertex(v) , color(c) {} static int vertexOffset() { return 0; } static int colorOffset() { return static_cast(sizeof(Vector3f)); } }; static const size_t InvalidIndex; LineStripGeometry(); LineStripGeometry(const LineStripGeometry& other); ~LineStripGeometry() override; LineStripGeometry& operator=(LineStripGeometry); friend void swap(LineStripGeometry& lhs, LineStripGeometry& rhs); /** * Accept a visit from our friendly visitor. */ void accept(Visitor&) override; /** * @brief Render the line strips. * @param camera The current camera to be used for rendering. */ void render(const Camera& camera) override; /** * Clear the contents of the node. */ void clear() override; /** * Add a complete line strip to the object. * @param vertices The 3D vertices which will be connected to form the line * strip. * @param color Vertex color. If not specified, use the current color() and * opacity(). If the 3 component color is set, the current opacity() is used. * @param lineWidth The width of the line strip. * @note All arrays must be the same length, or this function call will fail, * returning InvalidIndex. * @return The index of the first vertex added by this call. * @{ */ size_t addLineStrip(const Core::Array& vertices, const Core::Array& color, float lineWidth); size_t addLineStrip(const Core::Array& vertices, const Core::Array& color, float lineWidth); size_t addLineStrip(const Core::Array& vertices, float lineWidth); /** @} */ /** * The default color of the lines. This is used to set the color of new * vertices when no explicit vertex color is specified. * @{ */ void setColor(const Vector3ub& c) { m_color = c; } Vector3ub color() const { return m_color; } /** @} */ /** * The default opacity of the lines. This is used when either no explicit * vertex color is specified, or a three component color is used. * @{ */ void setOpacity(unsigned char opacity_) { m_opacity = opacity_; } unsigned char opacity() const { return m_opacity; } /** @} */ /** The vertex array. */ Core::Array vertices() const { return m_vertices; } private: /** * @brief Update the VBOs, IBOs etc ready for rendering. */ void update(); Core::Array m_vertices; Core::Array m_lineStarts; Core::Array m_lineWidths; Vector3ub m_color; unsigned char m_opacity; bool m_dirty; class Private; Private* d; }; inline LineStripGeometry& LineStripGeometry::operator=(LineStripGeometry other) { using std::swap; swap(*this, other); return *this; } inline void swap(LineStripGeometry& lhs, LineStripGeometry& rhs) { using std::swap; swap(static_cast(lhs), static_cast(rhs)); swap(lhs.m_vertices, rhs.m_vertices); swap(lhs.m_lineStarts, rhs.m_lineStarts); swap(lhs.m_lineWidths, rhs.m_lineWidths); swap(lhs.m_color, rhs.m_color); swap(lhs.m_opacity, rhs.m_opacity); lhs.m_dirty = rhs.m_dirty = true; } } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_LINESTRIPGEOMETRY_H avogadrolibs-1.93.0/avogadro/rendering/mesh_fs.glsl000066400000000000000000000006621360735163600223640ustar00rootroot00000000000000varying vec3 fnormal; void main() { vec3 N = normalize(fnormal); vec3 L = normalize(vec3(0, 1, 1)); vec3 E = vec3(0, 0, 1); vec3 H = normalize(L + E); float df = max(0.0, dot(N, L)); float sf = max(0.0, dot(N, H)); sf = pow(sf, 20.0); vec4 ambient = gl_Color / 3.0; vec4 diffuse = gl_Color; vec4 specular = gl_Color * 3.0; gl_FragColor = ambient + df * diffuse + sf * specular; gl_FragColor.a = gl_Color.a; } avogadrolibs-1.93.0/avogadro/rendering/mesh_vs.glsl000066400000000000000000000004611360735163600224010ustar00rootroot00000000000000attribute vec4 vertex; attribute vec4 color; attribute vec3 normal; uniform mat4 modelView; uniform mat4 projection; uniform mat3 normalMatrix; varying vec3 fnormal; void main() { gl_FrontColor = color; gl_Position = projection * modelView * vertex; fnormal = normalize(normalMatrix * normal); } avogadrolibs-1.93.0/avogadro/rendering/meshgeometry.cpp000066400000000000000000000201301360735163600232610ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "meshgeometry.h" #include "avogadrogl.h" #include "bufferobject.h" #include "camera.h" #include "scene.h" #include "shader.h" #include "shaderprogram.h" #include "visitor.h" #include #include #include #include #include namespace { #include "mesh_fs.h" #include "mesh_vs.h" } using Avogadro::Vector3f; using Avogadro::Vector3ub; using Avogadro::Vector4ub; using std::cout; using std::endl; namespace Avogadro { namespace Rendering { const unsigned int MeshGeometry::InvalidIndex = std::numeric_limits::max(); class MeshGeometry::Private { public: Private() {} BufferObject vbo; BufferObject ibo; Shader vertexShader; Shader fragmentShader; ShaderProgram program; size_t numberOfVertices; size_t numberOfIndices; }; MeshGeometry::MeshGeometry() : m_color(255, 0, 0), m_opacity(255), m_dirty(false), d(new Private) { } MeshGeometry::MeshGeometry(const MeshGeometry& other) : Drawable(other), m_vertices(other.m_vertices), m_indices(other.m_indices), m_color(other.m_color), m_opacity(other.m_opacity), m_dirty(true), // Force rendering internals to be rebuilt d(new Private) { } MeshGeometry::~MeshGeometry() { delete d; } void MeshGeometry::accept(Visitor& visitor) { visitor.visit(*this); } void MeshGeometry::update() { if (m_vertices.empty() || m_indices.empty()) return; // Check if the VBOs are ready, if not get them ready. if (!d->vbo.ready() || m_dirty) { d->vbo.upload(m_vertices, BufferObject::ArrayBuffer); d->ibo.upload(m_indices, BufferObject::ElementArrayBuffer); d->numberOfVertices = m_vertices.size(); d->numberOfIndices = m_indices.size(); m_dirty = false; } // Build and link the shader if it has not been used yet. if (d->vertexShader.type() == Shader::Unknown) { d->vertexShader.setType(Shader::Vertex); d->vertexShader.setSource(mesh_vs); d->fragmentShader.setType(Shader::Fragment); d->fragmentShader.setSource(mesh_fs); if (!d->vertexShader.compile()) cout << d->vertexShader.error() << endl; if (!d->fragmentShader.compile()) cout << d->fragmentShader.error() << endl; d->program.attachShader(d->vertexShader); d->program.attachShader(d->fragmentShader); if (!d->program.link()) cout << d->program.error() << endl; } } void MeshGeometry::render(const Camera& camera) { if (m_indices.empty() || m_vertices.empty()) return; // Prepare the VBOs, IBOs and shader program if necessary. update(); if (!d->program.bind()) cout << d->program.error() << endl; d->vbo.bind(); d->ibo.bind(); // Set up our attribute arrays. if (!d->program.enableAttributeArray("vertex")) cout << d->program.error() << endl; if (!d->program.useAttributeArray("vertex", PackedVertex::vertexOffset(), sizeof(PackedVertex), FloatType, 3, ShaderProgram::NoNormalize)) { cout << d->program.error() << endl; } if (!d->program.enableAttributeArray("color")) cout << d->program.error() << endl; if (!d->program.useAttributeArray("color", PackedVertex::colorOffset(), sizeof(PackedVertex), UCharType, 4, ShaderProgram::Normalize)) { cout << d->program.error() << endl; } if (!d->program.enableAttributeArray("normal")) cout << d->program.error() << endl; if (!d->program.useAttributeArray("normal", PackedVertex::normalOffset(), sizeof(PackedVertex), FloatType, 3, ShaderProgram::NoNormalize)) { cout << d->program.error() << endl; } // Set up our uniforms (model-view and projection matrices right now). if (!d->program.setUniformValue("modelView", camera.modelView().matrix())) { cout << d->program.error() << endl; } if (!d->program.setUniformValue("projection", camera.projection().matrix())) { cout << d->program.error() << endl; } Matrix3f normalMatrix = camera.modelView().linear().inverse().transpose(); if (!d->program.setUniformValue("normalMatrix", normalMatrix)) std::cout << d->program.error() << std::endl; // Render the loaded spheres using the shader and bound VBO. glDrawRangeElements(GL_TRIANGLES, 0, static_cast(d->numberOfVertices - 1), static_cast(d->numberOfIndices), GL_UNSIGNED_INT, reinterpret_cast(0)); d->vbo.release(); d->ibo.release(); d->program.disableAttributeArray("vector"); d->program.disableAttributeArray("color"); d->program.disableAttributeArray("normal"); d->program.release(); } unsigned int MeshGeometry::addVertices(const Core::Array& v, const Core::Array& n, const Core::Array& c) { if (v.size() != n.size() || n.size() != c.size()) return InvalidIndex; size_t result = m_vertices.size(); Core::Array::const_iterator vIter = v.begin(); Core::Array::const_iterator vEnd = v.end(); Core::Array::const_iterator nIter = n.begin(); Core::Array::const_iterator cIter = c.begin(); while (vIter != vEnd) m_vertices.push_back(PackedVertex(*(cIter++), *(nIter++), *(vIter++))); m_dirty = true; return static_cast(result); } unsigned int MeshGeometry::addVertices(const Core::Array& v, const Core::Array& n, const Core::Array& c) { if (v.size() != n.size() || n.size() != c.size()) return InvalidIndex; size_t result = m_vertices.size(); Core::Array::const_iterator vIter = v.begin(); Core::Array::const_iterator vEnd = v.end(); Core::Array::const_iterator nIter = n.begin(); Core::Array::const_iterator cIter = c.begin(); Vector4ub tmpColor(0, 0, 0, m_opacity); while (vIter != vEnd) { tmpColor.head<3>() = *(cIter++); m_vertices.push_back(PackedVertex(tmpColor, *(nIter++), *(vIter++))); } m_dirty = true; return static_cast(result); } unsigned int MeshGeometry::addVertices(const Core::Array& v, const Core::Array& n) { if (v.size() != n.size()) return InvalidIndex; size_t result = m_vertices.size(); Core::Array::const_iterator vIter = v.begin(); Core::Array::const_iterator vEnd = v.end(); Core::Array::const_iterator nIter = n.begin(); const Vector4ub tmpColor(m_color[0], m_color[1], m_color[2], m_opacity); while (vIter != vEnd) m_vertices.push_back(PackedVertex(tmpColor, *(nIter++), *(vIter++))); m_dirty = true; return static_cast(result); } void MeshGeometry::addTriangle(unsigned int index1, unsigned int index2, unsigned int index3) { m_indices.push_back(index1); m_indices.push_back(index2); m_indices.push_back(index3); m_dirty = true; } void MeshGeometry::addTriangles(const Core::Array& indiceArray) { m_indices.reserve(m_indices.size() + indiceArray.size()); std::copy(indiceArray.begin(), indiceArray.end(), std::back_inserter(m_indices)); m_dirty = true; } void MeshGeometry::clear() { m_vertices.clear(); m_indices.clear(); m_dirty = true; } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/meshgeometry.h000066400000000000000000000131131360735163600227310ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_MESHGEOMETRY_H #define AVOGADRO_RENDERING_MESHGEOMETRY_H #include "drawable.h" #include namespace Avogadro { namespace Rendering { /** * @class MeshGeometry meshgeometry.h * @brief The MeshGeometry is used for triangle mesh geometry. * @author Marcus D. Hanwell */ class AVOGADRORENDERING_EXPORT MeshGeometry : public Drawable { public: struct PackedVertex { Vector4ub color; // 4 bytes Vector3f normal; // 12 bytes Vector3f vertex; // 12 bytes unsigned char padding[4]; // 4 bytes PackedVertex(const Vector4ub& c, const Vector3f& n, const Vector3f& v) : color(c) , normal(n) , vertex(v) {} static int colorOffset() { return 0; } static int normalOffset() { return static_cast(sizeof(Vector4ub)); } static int vertexOffset() { return normalOffset() + static_cast(sizeof(Vector3f)); } }; // 32 bytes total size - 16/32/64 are ideal for alignment. static const unsigned int InvalidIndex; MeshGeometry(); MeshGeometry(const MeshGeometry& other); ~MeshGeometry() override; MeshGeometry& operator=(MeshGeometry); friend void swap(MeshGeometry& lhs, MeshGeometry& rhs); /** * Accept a visit from our friendly visitor. */ void accept(Visitor&) override; /** * @brief Render the mesh geometry. * @param camera The current camera to be used for rendering. */ void render(const Camera& camera) override; /** * Add vertices to the object. Note that this just adds vertices to the * object. Use addTriangles with size_t indices to actually draw them. * @param vertices The 3D vertex points to add to the drawable. * @param normals The normal direction at the vertex. * @param colors Vertex color. If not specified, use the current color() and * opacity(). If the 3 component color is set, the current opacity() is used. * @note All arrays must be the same length, or this function call will fail, * returning InvalidIndex. * @return The index of the first vertex added by this call, used to specify * element arrays for the actual triangles. * @{ */ unsigned int addVertices(const Core::Array& vertices, const Core::Array& normals, const Core::Array& colors); unsigned int addVertices(const Core::Array& vertices, const Core::Array& normals, const Core::Array& colors); unsigned int addVertices(const Core::Array& vertices, const Core::Array& normals); /** @} */ /** * Add triangles to the mesh. Triangles are specified as 3-tuples of vertex * indices. Must call addVertices first, and use the return value to obtain * the valid index range. * @{ */ void addTriangle(unsigned int index1, unsigned int index2, unsigned int index3); void addTriangles(const Core::Array& indices); /** @} */ /** * Clear the contents of the node. */ void clear() override; /** * Get the number of vertices. */ size_t vertexCount() const { return m_vertices.size(); } /** * Get the number of vertices. */ size_t indexCount() const { return m_indices.size(); } /** * Get the number of triangles. */ size_t triangleCount() const { return m_indices.size() / 3; } /** * The default color of the mesh. This is used to set the color of new * vertices when no explicit vertex color is specified. * @{ */ void setColor(const Vector3ub& c) { m_color = c; } Vector3ub color() const { return m_color; } /** @} */ /** * The default opacity of the mesh. This is used when either no explicit * vertex color is specified, or a three component color is used. * @{ */ void setOpacity(unsigned char opacity_) { m_opacity = opacity_; } unsigned char opacity() const { return m_opacity; } /** @} */ Core::Array vertices() { return m_vertices; } Core::Array triangles() { return m_indices; } private: /** * @brief Update the VBOs, IBOs etc ready for rendering. */ void update(); Core::Array m_vertices; Core::Array m_indices; Vector3ub m_color; unsigned char m_opacity; bool m_dirty; class Private; Private* d; }; inline MeshGeometry& MeshGeometry::operator=(MeshGeometry other) { using std::swap; swap(*this, other); return *this; } inline void swap(MeshGeometry& lhs, MeshGeometry& rhs) { using std::swap; swap(static_cast(lhs), static_cast(rhs)); swap(lhs.m_vertices, rhs.m_vertices); swap(lhs.m_indices, rhs.m_indices); swap(lhs.m_color, rhs.m_color); swap(lhs.m_opacity, rhs.m_opacity); lhs.m_dirty = rhs.m_dirty = true; } } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_MESHGEOMETRY_H avogadrolibs-1.93.0/avogadro/rendering/node.cpp000066400000000000000000000016061360735163600215050ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "node.h" namespace Avogadro { namespace Rendering { Node::Node() : m_parent(nullptr), m_visible(true) { } Node::~Node() { } void Node::setParent(GroupNode* parent_) { m_parent = parent_; } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/node.h000066400000000000000000000050441360735163600211520ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_NODE_H #define AVOGADRO_RENDERING_NODE_H #include "avogadrorenderingexport.h" #include namespace Avogadro { namespace Rendering { class GroupNode; class Visitor; /** * @class Node node.h * @brief The Node class is the base class for all items in the scene. * @author Marcus D. Hanwell * * The Node class is the base class for nodes in the Scene, providing common * API and functionality. */ class AVOGADRORENDERING_EXPORT Node { public: Node(); virtual ~Node(); /** * Accept a visit from our friendly visitor. */ virtual void accept(Visitor&) { return; } /** * @brief Get a pointer to the node's parent. * @return Pointer to the parent node, nullptr if no parent. */ const GroupNode* parent() const { return m_parent; } GroupNode* parent() { return m_parent; } /** * @brief Set the visibility of the node. * @param visibility True if the node is visible, false if invisible. */ void setVisible(bool visibility) { m_visible = visibility; } /** * @brief Get the current visibility of the node. * @return True if visible. */ bool isVisible() const { return m_visible; } /** * @brief Attempt to dynamic_cast to specified node type. * @return Valid pointer to specified type, or null. */ template T* cast(); template const T* cast() const; protected: friend class GroupNode; /** * @brief Set the parent node for the node. * @param parent The parent, a value of nullptr denotes no parent node. */ void setParent(GroupNode* parent); GroupNode* m_parent; bool m_visible; }; template T* Node::cast() { return dynamic_cast(this); } template const T* Node::cast() const { return dynamic_cast(this); } } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_NODE_H avogadrolibs-1.93.0/avogadro/rendering/povrayvisitor.cpp000066400000000000000000000134011360735163600235140ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "povrayvisitor.h" #include "ambientocclusionspheregeometry.h" #include "cylindergeometry.h" #include "linestripgeometry.h" #include "meshgeometry.h" #include "spheregeometry.h" #include #include namespace Avogadro { namespace Rendering { using std::cout; using std::string; using std::endl; using std::ostringstream; using std::ostream; using std::ofstream; namespace { ostream& operator<<(ostream& os, const Vector3f& v) { os << v[0] << ", " << v[1] << ", " << v[2]; return os; } ostream& operator<<(ostream& os, const Vector3ub& color) { os << color[0] / 255.0f << ", " << color[1] / 255.0f << ", " << color[2] / 255.0f; return os; } } POVRayVisitor::POVRayVisitor(const Camera& c) : m_camera(c), m_backgroundColor(255, 255, 255), m_ambientColor(100, 100, 100), m_aspectRatio(800.0f / 600.0f) { } POVRayVisitor::~POVRayVisitor() { } void POVRayVisitor::begin() { // Initialise our POV-Ray scene // The POV-Ray camera basically has the same matrix elements - we just need to // translate // FIXME Still working on getting the translation to POV-Ray right... Vector3f cameraT = -(m_camera.modelView().linear().adjoint() * m_camera.modelView().translation()); Vector3f cameraX = m_camera.modelView().linear().row(0).transpose().normalized(); Vector3f cameraY = m_camera.modelView().linear().row(1).transpose().normalized(); Vector3f cameraZ = -m_camera.modelView().linear().row(2).transpose().normalized(); double huge = 100; Vector3f light0pos = huge * (m_camera.modelView().linear().adjoint() * Vector3f(0, 1, 0)); // Output the POV-Ray initialisation code ostringstream str; str << "global_settings {\n" << "\tambient_light rgb <" << m_ambientColor << ">\n" << "\tmax_trace_level 15\n}\n\n" << "background { color rgb <" << m_backgroundColor << "> }\n\n" << "camera {\n" << "\tperspective\n" << "\tlocation <" << cameraT.x() << ", " << cameraT.y() << ", " << cameraT.z() << ">\n" << "\tangle 70\n" << "\tup <" << cameraY.x() << ", " << cameraY.y() << ", " << cameraY.z() << ">\n" << "\tright <" << cameraX.x() << ", " << cameraX.y() << ", " << cameraX.z() << "> * " << m_aspectRatio << '\n' << "\tdirection <" << cameraZ.x() << ", " << cameraZ.y() << ", " << cameraZ.z() << "> }\n\n" << "light_source {\n" << "\t<" << light0pos[0] << ", " << light0pos[1] << ", " << light0pos[2] << ">\n" << "\tcolor rgb <1.0, 1.0, 1.0>\n" << "\tfade_distance " << 2 * huge << '\n' << "\tfade_power 0\n" << "\tparallel\n" << "\tpoint_at <" << -light0pos[0] << ", " << -light0pos[1] << ", " << -light0pos[2] << ">\n" << "}\n\n" << "#default {\n\tfinish {ambient .8 diffuse 1 specular 1 roughness .005 " "metallic 0.5}\n}\n\n"; m_sceneData = str.str(); } string POVRayVisitor::end() { return m_sceneData; } void POVRayVisitor::visit(Drawable& geometry) { // geometry.render(m_camera); } void POVRayVisitor::visit(SphereGeometry& geometry) { ostringstream str; for (size_t i = 0; i < geometry.spheres().size(); ++i) { Rendering::SphereColor s = geometry.spheres()[i]; str << "sphere {\n\t<" << s.center << ">, " << s.radius << "\n\tpigment { rgbt <" << s.color << ", 0.0> }\n}\n"; } m_sceneData += str.str(); } void POVRayVisitor::visit(AmbientOcclusionSphereGeometry& geometry) { // geometry.render(m_camera); } void POVRayVisitor::visit(CylinderGeometry& geometry) { ostringstream str; for (size_t i = 0; i < geometry.cylinders().size(); ++i) { Rendering::CylinderColor c = geometry.cylinders()[i]; str << "cylinder {\n" << "\t<" << c.end1 << ">,\n" << "\t<" << c.end2 << ">, " << c.radius << "\n\tpigment { rgbt <" << c.color << ", 0.0> }\n}\n"; } m_sceneData += str.str(); } void POVRayVisitor::visit(MeshGeometry& geometry) { ostringstream str; str << "mesh2 {\n"; Core::Array v = geometry.vertices(); Core::Array tris = geometry.triangles(); str << "vertex_vectors{" << v.size() << ",\n"; for (size_t i = 0; i < v.size(); ++i) { str << "<" << v[i].vertex << ">,"; if (i != 0 && i % 3) str << "\n"; } str << "\n}\n"; str << "normal_vectors{" << v.size() << ",\n"; for (size_t i = 0; i < v.size(); ++i) { str << "<" << v[i].normal << ">,"; if (i != 0 && i % 3) str << "\n"; } str << "\n}\n"; str << "texture_list{" << v.size() << ",\n"; for (size_t i = 0; i < v.size(); ++i) str << "texture{pigment{rgb<" << v[i].normal << ">}\n"; str << "\n}\n"; str << "face_indices{" << tris.size() / 3 << ",\n"; for (size_t i = 0; i < tris.size(); i += 3) { str << "<" << tris[i] << "," << tris[i + 1] << "," << tris[i + 2] << ">"; if (i != tris.size() - 3) str << ", "; if (i != 0 && ((i + 1) / 3) % 3 == 0) str << '\n'; } str << "\n}\n"; str << "\tpigment { rgbt <1.0, 0.0, 0.0, 1.0> }\n" << "}\n\n"; } void POVRayVisitor::visit(LineStripGeometry& geometry) { // geometry.render(m_camera); } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/povrayvisitor.h000066400000000000000000000046361360735163600231730ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_POVRAYVISITOR_H #define AVOGADRO_RENDERING_POVRAYVISITOR_H #include "visitor.h" #include "avogadrorendering.h" #include "camera.h" #include namespace Avogadro { namespace Rendering { /** * @class POVRayVisitor povrayvisitor.h * @brief Visitor that visits scene elements and creates a POV-Ray input file. * * This visitor will render elements in the scene to a text file that contains * elements that can be rendered by POV-Ray. */ class AVOGADRORENDERING_EXPORT POVRayVisitor : public Visitor { public: POVRayVisitor(const Camera& camera); ~POVRayVisitor() override; void begin(); std::string end(); /** * The overloaded visit functions, the base versions of which do nothing. */ void visit(Node&) override { return; } void visit(GroupNode&) override { return; } void visit(GeometryNode&) override { return; } void visit(Drawable&) override; void visit(SphereGeometry&) override; void visit(AmbientOcclusionSphereGeometry&) override; void visit(CylinderGeometry&) override; void visit(MeshGeometry&) override; void visit(TextLabel2D&) override { return; } void visit(TextLabel3D&) override { return; } void visit(LineStripGeometry& geometry) override; void setCamera(const Camera& c) { m_camera = c; } Camera camera() const { return m_camera; } void setBackgroundColor(const Vector3ub& c) { m_backgroundColor = c; } void setAmbientColor(const Vector3ub& c) { m_ambientColor = c; } void setAspectRatio(float ratio) { m_aspectRatio = ratio; } private: Camera m_camera; Vector3ub m_backgroundColor; Vector3ub m_ambientColor; float m_aspectRatio; std::string m_sceneData; }; } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_POVRAYVISITOR_H avogadrolibs-1.93.0/avogadro/rendering/primitive.h000066400000000000000000000075741360735163600222470ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_PRIMITIVE_H #define AVOGADRO_RENDERING_PRIMITIVE_H #include namespace Avogadro { namespace Rendering { /** Identifies the type of object a primitive represents. */ enum Type { InvalidType = -1, AtomType, BondType }; /** Used to identify the primitive during picking. */ struct Identifier { Identifier() : molecule(0), type(InvalidType), index(MaxIndex) {} bool operator==(const Identifier& other) const { return molecule == other.molecule && type == other.type && index == other.index; } bool operator!=(const Identifier& other) const { return !operator==(other); } bool isValid() const { return type != InvalidType && molecule != nullptr; } const void* molecule; Type type; Index index; }; class Primitive { public: /** Identifies the type of object a primitive represents. */ enum Type { Invalid = -1, Atom, Bond }; /** Used to identify the primitive during picking. */ struct Identifier { Identifier() : molecule(0), type(Invalid), index(MaxIndex) {} bool operator==(const Identifier& other) const { return molecule == other.molecule && type == other.type && index == other.index; } bool operator!=(const Identifier& other) const { return !operator==(other); } bool isValid() const { return type != Invalid; } const void* molecule; Type type; Index index; }; Primitive(Identifier id, const Vector3ub& color_) : m_identifier(id), m_color(color_) { } Identifier identifier() const { return m_identifier; } void setIdentifier(Identifier id) { m_identifier = id; } const Vector3ub& color() const { return m_color; } void setColor(const Vector3ub& c) { m_color = c; } private: Identifier m_identifier; Vector3ub m_color; }; class Sphere : public Primitive { public: Sphere(const Vector3f& position_, float radius_, Primitive::Identifier id, const Vector3ub& color_) : Primitive(id, color_), m_position(position_), m_radius(radius_) { } const Vector3f& position() const { return m_position; } void setPosition(const Vector3f& pos) { m_position = pos; } float radius() const { return m_radius; } void setRadius(float r) { m_radius = r; } private: Vector3f m_position; float m_radius; }; class Cylinder : public Primitive { public: /// Direction must be normalized Cylinder(const Vector3f& position_, const Vector3f& direction_, float length_, float radius_, Primitive::Identifier id, const Vector3ub& color_) : Primitive(id, color_), m_position(position_), m_direction(direction_), m_length(length_), m_radius(radius_) { } const Vector3f& position() const { return m_position; } void setPosition(const Vector3f& pos) { m_position = pos; } const Vector3f& direction() const { return m_direction; } void setDirection(const Vector3f& dir) { m_direction = dir; } float length() const { return m_length; } void setLength(float l) { m_length = l; } float radius() const { return m_radius; } void setRadius(float r) { m_radius = r; } private: Vector3f m_position; Vector3f m_direction; float m_length; float m_radius; }; } // namespace Rendering } // namespace Avogadro #endif // AVOGADRO_RENDERING_PRIMITIVE_H avogadrolibs-1.93.0/avogadro/rendering/scene.cpp000066400000000000000000000027351360735163600216610ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "scene.h" #include "geometryvisitor.h" #include namespace Avogadro { namespace Rendering { Scene::Scene() : m_backgroundColor(0, 0, 0, 0), m_dirty(true), m_center(Vector3f::Zero()), m_radius(4.0f) { } Scene::~Scene() { } Vector3f Scene::center() { if (!m_dirty) return m_center; GeometryVisitor visitor; m_rootNode.accept(visitor); // For an empty scene ensure that a minimum radius of 4.0 (gives space). m_center = visitor.center(); m_radius = std::max(4.0f, visitor.radius()) + 2.0f; m_dirty = false; return m_center; } float Scene::radius() { if (!m_dirty) return m_radius; // We need to know where the center is to get the radius center(); return m_radius; } void Scene::clear() { m_rootNode.clear(); m_dirty = true; } } // End Rendering namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/rendering/scene.h000066400000000000000000000104121360735163600213150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_SCENE_H #define AVOGADRO_RENDERING_SCENE_H #include "avogadrorenderingexport.h" #include "groupnode.h" #include "primitive.h" #include #include #include // For member variables. #include // For member variables. #include // For member variables. namespace Avogadro { namespace Core { class Molecule; } namespace Rendering { /** * @class Scene scene.h * @brief The Scene contains data ready to be rendered. * @author Marcus D. Hanwell * * A collection of geometric primitives ready for rendering. This is highly * targeted for fast rendering on modern OpenGL 2.1/ES 2.0 GPUs, but can also * be adapted and rendered using other approaches. */ /// Pack the vertex data into a contiguous array. struct ColorTextureVertex { Vector3f vertex; // 12 bytes Vector3ub color; // 3 bytes unsigned char unusedAlign; // 1 byte Vector2f textureCoord; // 8 bytes Vector2f textureCoord2; // 8 bytes ColorTextureVertex(const Vector3f& p, const Vector3ub& c, const Vector2f& t, const Vector2f& t2 = Vector2f::Zero()) : vertex(p), color(c), textureCoord(t), textureCoord2(t2) { } static int vertexOffset() { return 0; } static int colorOffset() { return static_cast(sizeof(Vector3f)); } static int textureCoordOffset() { return colorOffset() + static_cast(sizeof(Vector3ub) + sizeof(unsigned char)); } static int textureCoord2Offset() { return textureCoordOffset() + static_cast(sizeof(Vector2f)); } }; // 32 bytes total size - 16/32/64 are ideal for alignment. /// Pack the vertex data into a contiguous array. struct ColorNormalVertex { Vector3ub color; // 3 bytes unsigned char unusedAlign; // 1 byte Vector3f normal; // 12 bytes Vector3f vertex; // 12 bytes unsigned char padding[4]; // 4 bytes ColorNormalVertex(const Vector3ub& c, const Vector3f& n, const Vector3f& v) : color(c), normal(n), vertex(v) { } static int colorOffset() { return 0; } static int normalOffset() { return static_cast(sizeof(Vector3ub) + sizeof(unsigned char)); } static int vertexOffset() { return normalOffset() + static_cast(sizeof(Vector3f)); } }; // 32 bytes total size - 16/32/64 are ideal for alignment. class AVOGADRORENDERING_EXPORT Scene { public: Scene(); ~Scene(); /** Get the center of the points contained in this Scene. */ Vector3f center(); /** Get the radius, which is currently just the largest of the axis-aligned * components of the positions. */ float radius(); /** * Get the root node of the scene. */ GroupNode& rootNode() { return m_rootNode; } const GroupNode& rootNode() const { return m_rootNode; } /** * Set the background color of the scene (default is black). */ void setBackgroundColor(const Vector4ub& color) { m_backgroundColor = color; } /** * Get the background color of the scene. */ Vector4ub backgroundColor() const { return m_backgroundColor; } /** * Mark the scene as dirty, primarily to ensure radius/center will be * recalculated. */ void setDirty(bool dirty) { m_dirty = dirty; } /** * Has the scene been marked as dirty? */ bool isDirty() const { return m_dirty; } /** Clear the scene of all elements. */ void clear(); private: GroupNode m_rootNode; Vector4ub m_backgroundColor; mutable bool m_dirty; mutable Vector3f m_center; mutable float m_radius; }; } // End Rendering namespace } // End Avogadro namespace #endif // AVOGADRO_RENDERING_SCENE_H avogadrolibs-1.93.0/avogadro/rendering/shader.cpp000066400000000000000000000045341360735163600220310ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "shader.h" #include "avogadrogl.h" namespace Avogadro { namespace Rendering { Shader::Shader(Type type_, const std::string& source_) : m_type(type_), m_handle(0), m_dirty(true), m_source(source_) { } Shader::~Shader() { } void Shader::setType(Type type_) { m_type = type_; m_dirty = true; } void Shader::setSource(const std::string& source_) { m_source = source_; m_dirty = true; } bool Shader::compile() { if (m_source.empty() || m_type == Unknown || !m_dirty) return false; // Ensure we delete the previous shader if necessary. if (m_handle != 0) { glDeleteShader(static_cast(m_handle)); m_handle = 0; } GLenum type_ = m_type == Vertex ? GL_VERTEX_SHADER : GL_FRAGMENT_SHADER; GLuint handle_ = glCreateShader(type_); const GLchar* source_ = static_cast(m_source.c_str()); glShaderSource(handle_, 1, &source_, nullptr); glCompileShader(handle_); GLint isCompiled; glGetShaderiv(handle_, GL_COMPILE_STATUS, &isCompiled); // Handle shader compilation failures. if (!isCompiled) { GLint length(0); glGetShaderiv(handle_, GL_INFO_LOG_LENGTH, &length); if (length > 1) { char* logMessage = new char[length]; glGetShaderInfoLog(handle_, length, nullptr, logMessage); m_error = logMessage; delete[] logMessage; } glDeleteShader(handle_); return false; } // The shader compiled, store its handle and return success. m_handle = static_cast(handle_); m_dirty = false; return true; } void Shader::cleanup() { if (m_type == Unknown || m_handle == 0) return; glDeleteShader(static_cast(m_handle)); m_handle = 0; m_dirty = false; } } // End Rendering namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/rendering/shader.h000066400000000000000000000046751360735163600215040ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_SHADER_H #define AVOGADRO_RENDERING_SHADER_H #include "avogadrorenderingexport.h" #include #include // For member variables. namespace Avogadro { namespace Rendering { /** * @class Shader shader.h * @brief Vertex or Fragment shader, combined into a ShaderProgram. * @author Marcus D. Hanwell * * This class creates a Vertex or Fragment shader, that can be attached to a * ShaderProgram in order to render geometry etc. */ class AVOGADRORENDERING_EXPORT Shader { public: /** Available shader types. */ enum Type { Vertex, /**< Vertex shader */ Fragment, /**< Fragment shader */ Unknown /**< Unknown (default) */ }; explicit Shader(Type type = Unknown, const std::string& source = ""); ~Shader(); /** Set the shader type. */ void setType(Type type); /** Get the shader type, typically Vertex or Fragment. */ Type type() const { return m_type; } /** Set the shader source to the supplied string. */ void setSource(const std::string& source); /** Get the source for the shader. */ std::string source() const { return m_source; } /** Get the error message (empty if none) for the shader. */ std::string error() const { return m_error; } /** Get the handle of the shader. */ Index handle() const { return m_handle; } /** Compile the shader. * @note A valid context must to current in order to compile the shader. */ bool compile(); /** Delete the shader. * @note This should only be done once the ShaderProgram is done with the * Shader. */ void cleanup(); protected: Type m_type; Index m_handle; bool m_dirty; std::string m_source; std::string m_error; }; } // End Rendering namespace } // End Avogadro namespace #endif // AVOGADRO_RENDERING_SHADER_H avogadrolibs-1.93.0/avogadro/rendering/shaderprogram.cpp000066400000000000000000000343321360735163600234200ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "shaderprogram.h" #include "avogadrogl.h" #include "shader.h" #include "texture2d.h" #include #include namespace Avogadro { namespace Rendering { namespace { inline GLenum convertType(Type type) { switch (type) { default: case UCharType: return GL_UNSIGNED_BYTE; case CharType: return GL_BYTE; case ShortType: return GL_SHORT; case UShortType: return GL_UNSIGNED_SHORT; case IntType: return GL_INT; case UIntType: return GL_UNSIGNED_INT; case FloatType: return GL_FLOAT; case DoubleType: return GL_DOUBLE; } } inline GLenum lookupTextureUnit(GLint index) { #define MAKE_TEXTURE_UNIT_CASE(i) \ case i: \ return GL_TEXTURE##i; switch (index) { MAKE_TEXTURE_UNIT_CASE(0) MAKE_TEXTURE_UNIT_CASE(1) MAKE_TEXTURE_UNIT_CASE(2) MAKE_TEXTURE_UNIT_CASE(3) MAKE_TEXTURE_UNIT_CASE(4) MAKE_TEXTURE_UNIT_CASE(5) MAKE_TEXTURE_UNIT_CASE(6) MAKE_TEXTURE_UNIT_CASE(7) MAKE_TEXTURE_UNIT_CASE(8) MAKE_TEXTURE_UNIT_CASE(9) MAKE_TEXTURE_UNIT_CASE(10) MAKE_TEXTURE_UNIT_CASE(11) MAKE_TEXTURE_UNIT_CASE(12) MAKE_TEXTURE_UNIT_CASE(13) MAKE_TEXTURE_UNIT_CASE(14) MAKE_TEXTURE_UNIT_CASE(15) MAKE_TEXTURE_UNIT_CASE(16) MAKE_TEXTURE_UNIT_CASE(17) MAKE_TEXTURE_UNIT_CASE(18) MAKE_TEXTURE_UNIT_CASE(19) MAKE_TEXTURE_UNIT_CASE(20) MAKE_TEXTURE_UNIT_CASE(21) MAKE_TEXTURE_UNIT_CASE(22) MAKE_TEXTURE_UNIT_CASE(23) MAKE_TEXTURE_UNIT_CASE(24) MAKE_TEXTURE_UNIT_CASE(25) MAKE_TEXTURE_UNIT_CASE(26) MAKE_TEXTURE_UNIT_CASE(27) MAKE_TEXTURE_UNIT_CASE(28) MAKE_TEXTURE_UNIT_CASE(29) MAKE_TEXTURE_UNIT_CASE(30) MAKE_TEXTURE_UNIT_CASE(31) default: return 0; } } } // end anon namespace ShaderProgram::ShaderProgram() : m_handle(0), m_vertexShader(0), m_fragmentShader(0), m_linked(false) { initializeTextureUnits(); } ShaderProgram::~ShaderProgram() { } bool ShaderProgram::attachShader(const Shader& shader) { if (shader.handle() == 0) { m_error = "Shader object was not initialized, cannot attach it."; return false; } if (shader.type() == Shader::Unknown) { m_error = "Shader object is of type Unknown and cannot be used."; return false; } if (m_handle == 0) { GLuint handle_ = glCreateProgram(); if (handle_ == 0) { m_error = "Could not create shader program."; return false; } m_handle = static_cast(handle_); m_linked = false; } if (shader.type() == Shader::Vertex) { if (m_vertexShader != 0) { glDetachShader(static_cast(m_handle), static_cast(m_vertexShader)); } m_vertexShader = shader.handle(); } else if (shader.type() == Shader::Fragment) { if (m_fragmentShader != 0) { glDetachShader(static_cast(m_handle), static_cast(m_fragmentShader)); } m_fragmentShader = shader.handle(); } else { m_error = "Unknown shader type encountered - this should not happen."; return false; } glAttachShader(static_cast(m_handle), static_cast(shader.handle())); m_linked = false; return true; } bool ShaderProgram::detachShader(const Shader& shader) { if (shader.handle() == 0) { m_error = "Shader object was not initialized, cannot attach it."; return false; } if (shader.type() == Shader::Unknown) { m_error = "Shader object is of type Unknown and cannot be used."; return false; } if (m_handle == 0) { m_error = "This shader prorgram has not been initialized yet."; } switch (shader.type()) { case Shader::Vertex: if (m_vertexShader != shader.handle()) { m_error = "The supplied shader was not attached to this program."; return false; } else { glDetachShader(static_cast(m_handle), static_cast(shader.handle())); m_vertexShader = 0; m_linked = false; return true; } case Shader::Fragment: if (m_fragmentShader != shader.handle()) { m_error = "The supplied shader was not attached to this program."; return false; } else { glDetachShader(static_cast(m_handle), static_cast(shader.handle())); m_fragmentShader = 0; m_linked = false; return true; } default: return false; } } bool ShaderProgram::link() { if (m_linked) return true; if (m_handle == 0) { m_error = "Program has not been initialized, and/or does not have shaders."; return false; } GLint isCompiled; glLinkProgram(static_cast(m_handle)); glGetProgramiv(static_cast(m_handle), GL_LINK_STATUS, &isCompiled); if (isCompiled == 0) { GLint length(0); glGetShaderiv(static_cast(m_handle), GL_INFO_LOG_LENGTH, &length); if (length > 1) { char* logMessage = new char[length]; glGetShaderInfoLog(static_cast(m_handle), length, nullptr, logMessage); m_error = logMessage; delete[] logMessage; } return false; } m_linked = true; m_attributes.clear(); return true; } bool ShaderProgram::bind() { if (!m_linked && !link()) return false; glUseProgram(static_cast(m_handle)); return true; } void ShaderProgram::release() { glUseProgram(0); releaseAllTextureUnits(); } bool ShaderProgram::enableAttributeArray(const std::string& name) { GLint location = static_cast(findAttributeArray(name)); if (location == -1) { m_error = "Could not enable attribute " + name + ". No such attribute."; return false; } glEnableVertexAttribArray(location); return true; } bool ShaderProgram::disableAttributeArray(const std::string& name) { GLint location = static_cast(findAttributeArray(name)); if (location == -1) { m_error = "Could not disable attribute " + name + ". No such attribute."; return false; } glDisableVertexAttribArray(location); return true; } #define BUFFER_OFFSET(i) ((char*)nullptr + (i)) bool ShaderProgram::useAttributeArray(const std::string& name, int offset, size_t stride, Type elementType, int elementTupleSize, NormalizeOption normalize) { GLint location = static_cast(findAttributeArray(name)); if (location == -1) { m_error = "Could not use attribute " + name + ". No such attribute."; return false; } glVertexAttribPointer(location, elementTupleSize, convertType(elementType), normalize == Normalize ? GL_TRUE : GL_FALSE, static_cast(stride), BUFFER_OFFSET(offset)); return true; } bool ShaderProgram::setTextureSampler(const std::string& name, const Texture2D& texture) { // Look up sampler location: GLint location = static_cast(findUniform(name)); if (location == -1) { m_error = "Could not set sampler " + name + ". No uniform with that name."; return false; } // Check if the texture is already bound: GLint textureUnitId = 0; typedef std::map::const_iterator TMapIter; TMapIter result = m_textureUnitBindings.find(&texture); if (result == m_textureUnitBindings.end()) { // Not bound. Attempt to bind the texture to an available texture unit. // We'll leave GL_TEXTURE0 unbound, as it is used for manipulating // textures. std::vector::iterator begin = m_boundTextureUnits.begin() + 1; std::vector::iterator end = m_boundTextureUnits.end(); std::vector::iterator available = std::find(begin, end, false); if (available == end) { m_error = "Could not set sampler " + name + ". No remaining texture " "units available."; return false; } textureUnitId = static_cast(available - begin); GLenum textureUnit = lookupTextureUnit(textureUnitId); if (textureUnit == 0) { m_error = "Could not set sampler " + name + ". Texture unit lookup failed."; return false; } glActiveTexture(textureUnit); if (!texture.bind()) { m_error = "Could not set sampler " + name + ": Error while binding " "texture: '" + texture.error() + "'."; glActiveTexture(GL_TEXTURE0); return false; } glActiveTexture(GL_TEXTURE0); // Mark texture unit as in-use. m_textureUnitBindings.insert(std::make_pair(&texture, textureUnitId)); *available = true; } else { // Texture is already bound. textureUnitId = result->second; } // Set the texture unit uniform glUniform1i(location, textureUnitId); return true; } bool ShaderProgram::setUniformValue(const std::string& name, int i) { GLint location = static_cast(findUniform(name)); if (location == -1) { m_error = "Could not set uniform " + name + ". No such uniform."; return false; } glUniform1i(location, static_cast(i)); return true; } bool ShaderProgram::setUniformValue(const std::string& name, float f) { GLint location = static_cast(findUniform(name)); if (location == -1) { m_error = "Could not set uniform " + name + ". No such uniform."; return false; } glUniform1f(location, static_cast(f)); return true; } bool ShaderProgram::setUniformValue(const std::string& name, const Eigen::Matrix3f& matrix) { GLint location = static_cast(findUniform(name)); if (location == -1) { m_error = "Could not set uniform " + name + ". No such uniform."; return false; } glUniformMatrix3fv(location, 1, GL_FALSE, static_cast(matrix.data())); return true; } bool ShaderProgram::setUniformValue(const std::string& name, const Eigen::Matrix4f& matrix) { GLint location = static_cast(findUniform(name)); if (location == -1) { m_error = "Could not set uniform " + name + ". No such uniform."; return false; } glUniformMatrix4fv(location, 1, GL_FALSE, static_cast(matrix.data())); return true; } bool ShaderProgram::setUniformValue(const std::string& name, const Vector3f& v) { GLint location = static_cast(findUniform(name)); if (location == -1) { m_error = "Could not set uniform " + name + ". No such uniform."; return false; } glUniform3fv(location, 1, v.data()); return true; } bool ShaderProgram::setUniformValue(const std::string& name, const Vector2i& v) { GLint location = static_cast(findUniform(name)); if (location == -1) { m_error = "Could not set uniform " + name + ". No such uniform."; return false; } glUniform2iv(location, 1, v.data()); return true; } bool ShaderProgram::setUniformValue(const std::string& name, const Vector3ub& v) { GLint location = static_cast(findUniform(name)); if (location == -1) { m_error = "Could not set uniform " + name + ". No such uniform."; return false; } Vector3f colorf(v.cast() * (1.0f / 255.0f)); glUniform3fv(location, 1, colorf.data()); return true; } bool ShaderProgram::setAttributeArrayInternal( const std::string& name, void* buffer, Avogadro::Type type, int tupleSize, ShaderProgram::NormalizeOption normalize) { if (type == Avogadro::UnknownType) { m_error = "Unrecognized data type for attribute " + name + "."; return false; } GLint location = static_cast(findAttributeArray(name)); if (location == -1) { m_error = "Could not set attribute " + name + ". No such attribute."; return false; } const GLvoid* data = static_cast(buffer); glVertexAttribPointer(location, tupleSize, convertType(type), normalize == Normalize ? GL_TRUE : GL_FALSE, 0, data); return true; } void ShaderProgram::initializeTextureUnits() { GLint numTextureUnits; glGetIntegerv(GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &numTextureUnits); // We'll impose a hard limit of 32 texture units for symbolic lookups. // This seems to be about the maximum available on current hardware. // If increasing this limit, modify the lookupTextureUnit method // appropriately. numTextureUnits = std::min(std::max(numTextureUnits, 0), 32); m_boundTextureUnits.clear(); m_boundTextureUnits.resize(numTextureUnits, false); m_textureUnitBindings.clear(); } void ShaderProgram::releaseAllTextureUnits() { std::fill(m_boundTextureUnits.begin(), m_boundTextureUnits.end(), false); m_textureUnitBindings.clear(); } inline int ShaderProgram::findAttributeArray(const std::string& name) { if (name.empty() || !m_linked) return -1; const GLchar* namePtr = static_cast(name.c_str()); GLint location = static_cast( glGetAttribLocation(static_cast(m_handle), namePtr)); if (location == -1) { m_error = "Specified attribute not found in current shader program: "; m_error += name; } return location; } inline int ShaderProgram::findUniform(const std::string& name) { if (name.empty() || !m_linked) return -1; const GLchar* namePtr = static_cast(name.c_str()); GLint location = static_cast( glGetUniformLocation(static_cast(m_handle), namePtr)); if (location == -1) m_error = "Uniform " + name + " not found in current shader program."; return location; } } // End Rendering namespace } // End Avogadro namespace avogadrolibs-1.93.0/avogadro/rendering/shaderprogram.h000066400000000000000000000167431360735163600230730ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_SHADERPROGRAM_H #define AVOGADRO_RENDERING_SHADERPROGRAM_H #include "avogadrorenderingexport.h" #include #include #include #include // For member variables. #include // For member variables. #include // For member variables. namespace Avogadro { namespace Rendering { class Shader; class Texture2D; /** * @class ShaderProgram shaderprogram.h * @brief The ShaderProgram uses one or more Shader objects. * @author Marcus D. Hanwell * * This class creates a Vertex or Fragment shader, that can be attached to a * ShaderProgram in order to render geometry etc. */ class AVOGADRORENDERING_EXPORT ShaderProgram { public: /** Options for attribute normalization. */ enum NormalizeOption { /// The values range across the limits of the numeric type. /// This option instructs the rendering engine to normalize them to /// the range [0.0, 1.0] for unsigned types, and [-1.0, 1.0] for signed /// types. /// For example, unsigned char values will be mapped so that 0 = 0.0, /// and 255 = 1.0. /// The resulting floating point numbers will be passed into /// the shader program. Normalize, /// The values should be used as-is. Do not perform any normalization. NoNormalize }; ShaderProgram(); ~ShaderProgram(); /** Attach the supplied shader to this program. * @note A maximum of one Vertex shader and one Fragment shader can be * attached to a shader prorgram. * @return true on success. */ bool attachShader(const Shader& shader); /** Detach the supplied shader from this program. * @note A maximum of one Vertex shader and one Fragment shader can be * attached to a shader prorgram. * @return true on success. */ bool detachShader(const Shader& shader); /** Attempt to link the shader program. * @return false on failure. Query error to get the reason. * @note The shaders attached to the program must have been compiled. */ bool link(); /** Bind the program in order to use it. If the program has not been linked * then link() will be called. */ bool bind(); /** Releases the shader program from the current context. */ void release(); /** Get the error message (empty if none) for the shader program. */ std::string error() const { return m_error; } /** Enable the named attribute array. Return false if the attribute array is * not contained in the linked shader program. */ bool enableAttributeArray(const std::string& name); /** Disable the named attribute array. Return false if the attribute array is * not contained in the linked shader program. */ bool disableAttributeArray(const std::string& name); /** Use the named attribute array with the bound BufferObject. * @param name of the attribute (as seen in the shader program). * @param offset into the bound BufferObject. * @param stride The stride of the element access (i.e. the size of each * element in the currently bound BufferObject). 0 may be used to indicate * tightly packed data. * @param elementType Tag identifying the memory representation of the * element. * @param elementTupleSize The number of elements per vertex (e.g. a 3D * position attribute would be 3). * @param normalize Indicates the range used by the attribute data. * See NormalizeOption for more information. * @return false if the attribute array does not exist. */ bool useAttributeArray(const std::string& name, int offset, size_t stride, Avogadro::Type elementType, int elementTupleSize, NormalizeOption normalize); /** Upload the supplied array of tightly packed values to the named attribute. * BufferObject attributes should be preferred and this may be removed in * future. * * @param name Attribute name * @param array Container of data. See note. * @param tupleSize The number of elements per vertex, e.g. a 3D coordinate * array will have a tuple size of 3. * @param normalize Indicates the range used by the attribute data. * See NormalizeOption for more information. * * @note The ContainerT type must have tightly packed values of * ContainerT::value_type accessible by reference via ContainerT::operator[]. * Additionally, the standard size() and empty() methods must be implemented. * The std::vector and Avogadro::Core::Array classes are examples of such * supported containers. */ template bool setAttributeArray(const std::string& name, const ContainerT& array, int tupleSize, NormalizeOption normalize); /** Set the sampler @a samplerName to use the specified texture. */ bool setTextureSampler(const std::string& samplerName, const Texture2D& texture); /** Set the @p name uniform value to int @p i. */ bool setUniformValue(const std::string& name, int i); /** Set the @p name uniform value to float @p f. */ bool setUniformValue(const std::string& name, float f); /** Set the @p name uniform value to @p matrix. */ bool setUniformValue(const std::string& name, const Eigen::Matrix3f& matrix); bool setUniformValue(const std::string& name, const Eigen::Matrix4f& matrix); /** Set the @p name uniform value to the supplied value. @{ */ bool setUniformValue(const std::string& name, const Vector3f& v); bool setUniformValue(const std::string& name, const Vector2i& v); bool setUniformValue(const std::string& name, const Vector3ub& v); /** @} */ protected: bool setAttributeArrayInternal(const std::string& name, void* buffer, Avogadro::Type type, int tupleSize, NormalizeOption normalize); Index m_handle; Index m_vertexShader; Index m_fragmentShader; bool m_linked; std::string m_error; std::map m_attributes; std::map m_textureUnitBindings; std::vector m_boundTextureUnits; private: void initializeTextureUnits(); void releaseAllTextureUnits(); int findAttributeArray(const std::string& name); int findUniform(const std::string& name); }; template inline bool ShaderProgram::setAttributeArray(const std::string& name, const ContainerT& array, int tupleSize, NormalizeOption normalize) { if (array.empty()) { m_error = "Refusing to upload empty array for attribute " + name + "."; return false; } Type type = Avogadro::TypeTraits::EnumValue; return setAttributeArrayInternal(name, &array[0], type, tupleSize, normalize); } } // End Rendering namespace } // End Avogadro namespace #endif // AVOGADRO_RENDERING_SHADERPROGRAM_H avogadrolibs-1.93.0/avogadro/rendering/sphere_ao_bake_fs.glsl000066400000000000000000000046641360735163600243650ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////// // // Ambient occlusion shader for sphere impostors // // This fragment shader is used for baking the ambient occlusion // maps. // ////////////////////////////////////////////////////////////////////// // // Input // // the sphere center position: eye coords varying vec3 v_pos; // the sphere radius varying float v_radius; // streched corner: [-1.x, 1.x] (see below) varying vec2 v_corner; // // Uniforms // // the model-view matrix uniform mat4 u_modelView; // the orthographic projection matrix uniform mat4 u_projection; // depth texture sampler uniform sampler2D u_depthTex; // intensity = 1 / (number of light directions) uniform float u_intensity; /** * Inverse gnomonic projection over octahedron unfloded into a square. This * inverse projection goes from texture coordinates to the surface of the unit * sphere. Both the texture and unit sphere coordinates are in the range * [-1, 1]. * * In practice, this function returns the normal vector in model coordinate * space. The z is inverted since going from clip coords to NDC inverts the * z axis. * * reference: Tarini et al. page 3, eq. (5) */ vec3 textureToSphereSurfaceCoord(in vec2 coord) { vec2 absCoord = abs(coord); float h = 1.0 - absCoord.s - absCoord.t; return (h >= 0.0) ? vec3(coord.st, -h) : vec3(sign(coord.st) * (1.0 - absCoord.ts), -h); } void main() { // map texture coords to normal in model coords vec3 N = textureToSphereSurfaceCoord(clamp(v_corner, -1.0, 1.0)); // model coords -> eye coords N = normalize(vec3(u_modelView * vec4(N, 0.0))); // add the normal xy components to the sphere eye coords vec4 pos = vec4(v_pos, 1.0); pos.xy += N.xy * v_radius; // eye coord -> clip coords [-1, 1] pos = u_projection * pos; // clip coords -> [0, 1] for xy and [near, far] for z pos.xy = (pos.xy + vec2(1.0, 1.0)) / 2.0; pos.z = ((gl_DepthRange.diff * pos.z) + gl_DepthRange.near + gl_DepthRange.far) / 2.0; // compute angle between sphere surface and light direction float cos_alpha = dot(N, vec3(0, 0, 1)); // since we are using flat impostors in the depth texture, cos_alpha needs to be positive if (cos_alpha > 0.0 && texture2D(u_depthTex, pos.xy).r > pos.z) { // the texel is visible from the light source gl_FragColor = vec4(vec3(1.0, 1.0, 1.0) * cos_alpha * u_intensity, 1.0); } else { // texel not visible gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); } } avogadrolibs-1.93.0/avogadro/rendering/sphere_ao_bake_vs.glsl000066400000000000000000000030211360735163600243670ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////// // // Ambient occlusion shader for sphere impostors // // This fragment shader is used for baking the ambient occlusion // maps. // ////////////////////////////////////////////////////////////////////// // // Input // // sphere center position: model coords attribute vec3 a_pos; // corner: [-radius, radius] attribute vec2 a_corner; // offset for the center of the sphere's AO map texture tile attribute vec2 a_tileOffset; // // Output // // the sphere center position: eye coords varying vec3 v_pos; // the sphere radius varying float v_radius; // streched corner: [-1.x, 1.x] (see below) varying vec2 v_corner; // // Uniforms // // the model-view matrix uniform mat4 u_modelView; // the size of the AO texture [pixels] (e.g. 1024) uniform float u_textureSize; // the size of a single tile in texture coords [0, 1] uniform float u_tileSize; void main() { // pass through radius v_radius = abs(a_corner.s); // position: model coords -> eye coords v_pos = vec3(u_modelView * vec4(a_pos, 1.0)); // normalize corner: [-radius, radius] -> [-1, 1] vec2 corner = a_corner / v_radius; // enlarge texture space to trim half a texel from the tile // note: v_corner is in range [-1, 1] so we add 2 / (tile size in pixels) v_corner = corner * (1.0 + 2.0 / (u_textureSize * u_tileSize)); // NDC are in range [-1, 1], the * 2 - 1 translates and scales the position to [0, 1] gl_Position = vec4(a_tileOffset * 2.0 - vec2(1.0) + corner * u_tileSize, 0.0, 1.0); } avogadrolibs-1.93.0/avogadro/rendering/sphere_ao_depth_fs.glsl000066400000000000000000000011571360735163600245610ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////// // // Ambient occlusion shader for sphere impostors // // This fragment shader is used for rendering the depth texture from // the light source's view. // ////////////////////////////////////////////////////////////////////// // // Input // // normalized corner: [-1, 1] varying vec2 v_corner; void main() { // figure out if we are inside our sphere float zz = 1.0 - v_corner.x * v_corner.x - v_corner.y * v_corner.y; if (zz <= 0.0) discard; // draw buffer is not attached, output any color gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); } avogadrolibs-1.93.0/avogadro/rendering/sphere_ao_depth_vs.glsl000066400000000000000000000020661360735163600246010ustar00rootroot00000000000000////////////////////////////////////////////////////////////////////// // // Ambient occlusion shader for sphere impostors // // This vertex shader is used for rendering the depth texture from // the light source's view. // ////////////////////////////////////////////////////////////////////// // // Input // // sphere position: model coordinates attribute vec3 a_pos; // sphere corner: [-r, -r], [r, -r], [r, r], [-r, r] attribute vec2 a_corner; // // Output // // normalized corner: [-1, 1] varying vec2 v_corner; // // Uniforms // // model-view matrix of the current light direction uniform mat4 u_modelView; // projection matrix uniform mat4 u_projection; void main() { // extract radius from unnormalized corner attribute float radius = abs(a_corner.s); // normalize corner to be in [-1, 1] range v_corner = a_corner / radius; // model coords -> eye coords vec4 pos = u_modelView * vec4(a_pos, 1.0); // translate position to corner taking radius into account pos.xy += a_corner; // eye coords -> clip coords gl_Position = u_projection * pos; } avogadrolibs-1.93.0/avogadro/rendering/sphere_ao_render_fs.glsl000066400000000000000000000060571360735163600247400ustar00rootroot00000000000000//#define CONTOUR_LINES //#define TOON_SHADING // normalized corner varying vec2 v_corner; // color varying vec3 v_color; // position in eye-coordinate space varying vec4 v_eyePos; // sphere radius varying float v_radius; // AO tile offset varying vec2 v_tileOffset; // inverse model-view matrix uniform mat4 u_modelView; uniform mat3 u_invModelView; // the projection matrix uniform mat4 u_projection; // the texture sampler uniform sampler2D u_tex; uniform float u_texScale; #ifdef CONTOUR_LINES const float contourWidth = 0.3; #endif #ifdef TOON_SHADING const float levels = 4.0; #endif vec2 sphereSurfaceToTextureCoord(in vec3 coord) { vec3 absCoord = abs(coord); float d = absCoord.x + absCoord.y + absCoord.z; return (coord.z <= 0.0) ? coord.xy / d : sign(coord.xy) * (1.0 - absCoord.yx / d); } float cosine(in vec3 a, in vec3 b) { float cos_alpha = max(0.0, dot(a, b)); #ifdef TOON_SHADING cos_alpha = floor(cos_alpha * levels) / levels; #endif return cos_alpha; } void main() { // figure out if we are inside our sphere float zz = 1.0 - v_corner.x * v_corner.x - v_corner.y * v_corner.y; #ifdef CONTOUR_LINES if (zz <= -sqrt(contourWidth)) { // fragment outside sphere + contour radius discard; } if (zz <= 0.0) { // fragment is part of the contour float xi = abs(zz); // [0, contourWidth] // eta determines how much the contours are pushed back float eta = 0.0004; gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); // black gl_FragDepth = gl_FragCoord.z - 10e-10 + eta * xi; return; } #else if (zz <= 0.0) discard; #endif // compute normal in eye coods vec3 N = normalize(vec3(v_corner, sqrt(zz))); // compute the pixel's depth vec4 pos = v_eyePos; pos.z += N.z * v_radius; // radius is 1.0 pos = u_projection * pos; gl_FragDepth = (pos.z / pos.w + 1.0) / 2.0; // transform to normal to model-space vec3 modelN = N; modelN = normalize(u_invModelView * modelN); // determine (u, v) texture coordinates using gnomonic projection vec2 uv = sphereSurfaceToTextureCoord(modelN); // [-1, 1] uv = v_tileOffset + uv * u_texScale; //gl_FragColor = vec4(v_color, 1.0) * texture2D(u_tex, uv); // direction of light source vec3 L = normalize(vec3(0, 1, 1)); // eye direction vec3 E = vec3(0, 0, 1); // angle between normal and light direction float cos_alpha = cosine(N, L); // compute ambient color vec3 ambient = 0.4 * v_color; // compute diffuse color vec3 diffuse = 0.55 * v_color * cos_alpha; // compute specular color (approximate Fresnel reflection) vec3 H = normalize(L + E); // halfway vector between N and E float cos_beta = cosine(N, H); vec3 specular = 0.5 * (vec3(1, 1, 1) - v_color)* pow(cos_beta, 20.0); // final color vec3 color = ambient + diffuse + specular; gl_FragColor = 1.2 * vec4(color, 1.0) * texture2D(u_tex, uv); // AO + Phong reflection [+ contours] //gl_FragColor = vec4(color, 1.0); // Phong reflection [+ contours] //gl_FragColor = 1.2 * texture2D(u_tex, uv); // AO [+ contours] //gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); // contours + white atoms } avogadrolibs-1.93.0/avogadro/rendering/sphere_ao_render_vs.glsl000066400000000000000000000036421360735163600247550ustar00rootroot00000000000000// // Input // // sphere position: model coordinates attribute vec3 a_pos; // sphere corner: [-r, -r], [r, -r], [r, r], [-r, r] attribute vec2 a_corner; // offset for the center of the sphere's AO map texture tile attribute vec2 a_tileOffset; // color: RGB attribute vec3 a_color; // // Output // // normalized corner varying vec2 v_corner; // color varying vec3 v_color; // position in eye-coordinate space varying vec4 v_eyePos; // sphere radius varying float v_radius; // AO tile offset varying vec2 v_tileOffset; // // Uniforms // // model-view matrix uniform mat4 u_modelView; // projection matrix uniform mat4 u_projection; #define CONTOUR_LINES #ifdef CONTOUR_LINES const float contourWidth = 0.3; #endif void main() { // pass through AO tile offset & color v_tileOffset = a_tileOffset; v_color = a_color; // extract radius from unnormalized corner attribute v_radius = abs(a_corner.x); // normalize corner to be in [-1, 1] range #ifdef CONTOUR_LINES v_corner = a_corner / v_radius + sign(a_corner) * vec2(contourWidth, contourWidth); #else v_corner = a_corner / v_radius; #endif // compute eye-coordinate sphere position v_eyePos = u_modelView * vec4(a_pos, 1.0); // test if the closest point on the sphere would be clipped vec4 clipTestNear = v_eyePos; // z-axis points to eye (camera), add radius to sphere position clipTestNear.z += v_radius; // project the eye-coordinate sphere position clipTestNear = u_projection * clipTestNear; if (clipTestNear.z > -clipTestNear.w) { // not clipped, calculate clip coordinate gl_Position = v_eyePos; #ifdef CONTOUR_LINES gl_Position.xy += a_corner + sign(a_corner) * vec2(contourWidth, contourWidth); //gl_Position.xy += a_corner; #else gl_Position.xy += a_corner; #endif gl_Position = u_projection * gl_Position; } else { // clipped, invalidate the clip coordinate to ensure that it will be clipped gl_Position.w = 0.0; } } avogadrolibs-1.93.0/avogadro/rendering/spheregeometry.cpp000066400000000000000000000205221360735163600236200ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "spheregeometry.h" #include "camera.h" #include "scene.h" #include "bufferobject.h" #include "shader.h" #include "shaderprogram.h" #include "visitor.h" namespace { #include "spheres_fs.h" #include "spheres_vs.h" } #include "avogadrogl.h" #include using std::cout; using std::endl; namespace Avogadro { namespace Rendering { using Core::Array; class SphereGeometry::Private { public: Private() {} BufferObject vbo; BufferObject ibo; Shader vertexShader; Shader fragmentShader; ShaderProgram program; size_t numberOfVertices; size_t numberOfIndices; }; SphereGeometry::SphereGeometry() : m_dirty(false), d(new Private) { } SphereGeometry::SphereGeometry(const SphereGeometry& other) : Drawable(other), m_spheres(other.m_spheres), m_indices(other.m_indices), m_dirty(true), d(new Private) { } SphereGeometry::~SphereGeometry() { delete d; } void SphereGeometry::accept(Visitor& visitor) { visitor.visit(*this); } void SphereGeometry::update() { if (m_indices.empty() || m_spheres.empty()) return; // Check if the VBOs are ready, if not get them ready. if (!d->vbo.ready() || m_dirty) { std::vector sphereIndices; std::vector sphereVertices; sphereIndices.reserve(m_indices.size() * 4); sphereVertices.reserve(m_spheres.size() * 4); std::vector::const_iterator itIndex = m_indices.begin(); std::vector::const_iterator itSphere = m_spheres.begin(); for (unsigned int i = 0; itIndex != m_indices.end() && itSphere != m_spheres.end(); ++i, ++itIndex, ++itSphere) { // Use our packed data structure... float r = itSphere->radius; unsigned int index = 4 * static_cast(*itIndex); ColorTextureVertex vert(itSphere->center, itSphere->color, Vector2f(-r, -r)); sphereVertices.push_back(vert); vert.textureCoord = Vector2f(-r, r); sphereVertices.push_back(vert); vert.textureCoord = Vector2f(r, -r); sphereVertices.push_back(vert); vert.textureCoord = Vector2f(r, r); sphereVertices.push_back(vert); // 6 indexed vertices to draw a quad... sphereIndices.push_back(index + 0); sphereIndices.push_back(index + 1); sphereIndices.push_back(index + 2); sphereIndices.push_back(index + 3); sphereIndices.push_back(index + 2); sphereIndices.push_back(index + 1); // m_spheres.push_back(Sphere(position, r, id, color)); } if (!d->vbo.upload(sphereVertices, BufferObject::ArrayBuffer)) cout << d->vbo.error() << endl; if (!d->ibo.upload(sphereIndices, BufferObject::ElementArrayBuffer)) cout << d->ibo.error() << endl; d->numberOfVertices = sphereVertices.size(); d->numberOfIndices = sphereIndices.size(); m_dirty = false; } // Build and link the shader if it has not been used yet. if (d->vertexShader.type() == Shader::Unknown) { d->vertexShader.setType(Shader::Vertex); d->vertexShader.setSource(spheres_vs); d->fragmentShader.setType(Shader::Fragment); d->fragmentShader.setSource(spheres_fs); if (!d->vertexShader.compile()) cout << d->vertexShader.error() << endl; if (!d->fragmentShader.compile()) cout << d->fragmentShader.error() << endl; d->program.attachShader(d->vertexShader); d->program.attachShader(d->fragmentShader); if (!d->program.link()) cout << d->program.error() << endl; } } void SphereGeometry::render(const Camera& camera) { if (m_indices.empty() || m_spheres.empty()) return; // Prepare the VBOs, IBOs and shader program if necessary. update(); if (!d->program.bind()) cout << d->program.error() << endl; d->vbo.bind(); d->ibo.bind(); // Set up our attribute arrays. if (!d->program.enableAttributeArray("vertex")) cout << d->program.error() << endl; if (!d->program.useAttributeArray( "vertex", ColorTextureVertex::vertexOffset(), sizeof(ColorTextureVertex), FloatType, 3, ShaderProgram::NoNormalize)) { cout << d->program.error() << endl; } if (!d->program.enableAttributeArray("color")) cout << d->program.error() << endl; if (!d->program.useAttributeArray("color", ColorTextureVertex::colorOffset(), sizeof(ColorTextureVertex), UCharType, 3, ShaderProgram::Normalize)) { cout << d->program.error() << endl; } if (!d->program.enableAttributeArray("texCoordinate")) cout << d->program.error() << endl; if (!d->program.useAttributeArray( "texCoordinate", ColorTextureVertex::textureCoordOffset(), sizeof(ColorTextureVertex), FloatType, 2, ShaderProgram::NoNormalize)) { cout << d->program.error() << endl; } // Set up our uniforms (model-view and projection matrices right now). if (!d->program.setUniformValue("modelView", camera.modelView().matrix())) { cout << d->program.error() << endl; } if (!d->program.setUniformValue("projection", camera.projection().matrix())) { cout << d->program.error() << endl; } if (!d->program.setUniformValue("opacity", m_opacity)) { cout << d->program.error() << endl; } // Render the loaded spheres using the shader and bound VBO. glDrawRangeElements(GL_TRIANGLES, 0, static_cast(d->numberOfVertices), static_cast(d->numberOfIndices), GL_UNSIGNED_INT, reinterpret_cast(NULL)); d->vbo.release(); d->ibo.release(); d->program.disableAttributeArray("vector"); d->program.disableAttributeArray("color"); d->program.disableAttributeArray("texCoordinates"); d->program.release(); } std::multimap SphereGeometry::hits( const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const { std::multimap result; // Check for intersection. for (size_t i = 0; i < m_spheres.size(); ++i) { const SphereColor& sphere = m_spheres[i]; Vector3f distance = sphere.center - rayOrigin; float B = distance.dot(rayDirection); float C = distance.dot(distance) - (sphere.radius * sphere.radius); float D = B * B - C; // Test for intersection if (D < 0) continue; // Test for clipping if (B < 0 || (sphere.center - rayEnd).dot(rayDirection) > 0) continue; Identifier id; id.molecule = m_identifier.molecule; id.type = m_identifier.type; id.index = i; if (id.type != InvalidType) { float rootD = static_cast(sqrt(D)); float depth = std::min(std::abs(B + rootD), std::abs(B - rootD)); result.insert(std::pair(depth, id)); } } return result; } Array SphereGeometry::areaHits(const Frustrum& f) const { Array result; // Check for intersection. for (size_t i = 0; i < m_spheres.size(); ++i) { const SphereColor& sphere = m_spheres[i]; int in = 0; for (in = 0; in < 4; ++in) { float dist = (sphere.center - f.points[2 * in]).dot(f.planes[in]); if (dist > 0.0f) { // Outside of our frustrum, break. break; } } if (in == 4) { // The center is within the four planes that make our frustrum - hit. Identifier id; id.molecule = m_identifier.molecule; id.type = m_identifier.type; id.index = i; result.push_back(id); } } return result; } void SphereGeometry::addSphere(const Vector3f& position, const Vector3ub& color, float radius) { m_dirty = true; m_spheres.push_back(SphereColor(position, radius, color)); m_indices.push_back(m_indices.size()); } void SphereGeometry::clear() { m_spheres.clear(); m_indices.clear(); } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/spheregeometry.h000066400000000000000000000100231360735163600232600ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_SPHEREGEOMETRY_H #define AVOGADRO_RENDERING_SPHEREGEOMETRY_H #include "drawable.h" #include #include namespace Avogadro { namespace Rendering { struct SphereColor { SphereColor(Vector3f centre, float r, Vector3ub c) : center(centre) , radius(r) , color(c) {} Vector3f center; float radius; Vector3ub color; }; /** * @class SphereGeometry spheregeometry.h * @brief The SphereGeometry class contains one or more spheres. * @author Marcus D. Hanwell * * This Drawable is capable of storing the geometry for one or more spheres. * A sphere is defined by a center point, a radius and a color. If the * spheres are not a densely packed one-to-one mapping with the objects indices * they can also optionally use an identifier that will point to some numeric * ID for the purposes of picking. */ class AVOGADRORENDERING_EXPORT SphereGeometry : public Drawable { public: SphereGeometry(); SphereGeometry(const SphereGeometry& other); ~SphereGeometry() override; SphereGeometry& operator=(SphereGeometry); friend void swap(SphereGeometry& lhs, SphereGeometry& rhs); /** * Accept a visit from our friendly visitor. */ void accept(Visitor&) override; /** * @brief Update the VBOs, IBOs etc ready for rendering. */ void update(); /** * @brief Render the sphere geometry. * @param camera The current camera to be used for rendering. */ void render(const Camera& camera) override; /** * Return the primitives that are hit by the ray. * @param rayOrigin Origin of the ray. * @param rayEnd End point of the ray. * @param rayDirection Normalized direction of the ray. * @return Sorted collection of primitives that were hit. */ std::multimap hits( const Vector3f& rayOrigin, const Vector3f& rayEnd, const Vector3f& rayDirection) const override; /** * Return the primitives within the supplied frustrum. */ Core::Array areaHits(const Frustrum& f) const override; /** * Set the opacity of the spheres in this group. */ void setOpacity(float o) { m_opacity = o; if (o < 1.0f) setRenderPass(TranslucentPass); } /** * Add a sphere to the geometry object. */ void addSphere(const Vector3f& position, const Vector3ub& color, float radius); /** * Get a reference to the spheres. */ Core::Array& spheres() { return m_spheres; } const Core::Array& spheres() const { return m_spheres; } /** * Clear the contents of the node. */ void clear() override; /** * Get the number of spheres in the node object. */ size_t size() const { return m_spheres.size(); } private: Core::Array m_spheres; Core::Array m_indices; bool m_dirty; float m_opacity = 1.0f; class Private; Private* d; }; inline SphereGeometry& SphereGeometry::operator=(SphereGeometry other) { using std::swap; swap(*this, other); return *this; } inline void swap(SphereGeometry& lhs, SphereGeometry& rhs) { using std::swap; swap(static_cast(lhs), static_cast(rhs)); swap(lhs.m_spheres, rhs.m_spheres); swap(lhs.m_indices, rhs.m_indices); lhs.m_dirty = rhs.m_dirty = true; } } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_SPHEREGEOMETRY_H avogadrolibs-1.93.0/avogadro/rendering/spheres_fs.glsl000066400000000000000000000016621360735163600231020ustar00rootroot00000000000000varying vec2 v_texCoord; varying vec4 eyePosition; varying vec3 fColor; uniform mat3 normal; varying float radius; uniform float opacity; uniform mat4 projection; void main() { // Figure out if we are inside our sphere. float zz = 1.0 - v_texCoord.x*v_texCoord.x - v_texCoord.y*v_texCoord.y; if (zz <= 0.0) discard; vec3 N = vec3(v_texCoord, sqrt(zz)); vec3 L = normalize(vec3(0, 1, 1)); vec3 E = vec3(0, 0, 1); vec3 H = normalize(L + E); float df = max(0.0, dot(N, L)); // cos_alpha float sf = max(0.0, dot(N, H)); // cos_beta vec3 ambient = 0.4 * fColor; vec3 diffuse = 0.55 * fColor; vec3 specular = 0.5 * (vec3(1, 1, 1) - fColor); vec3 color = ambient + df * diffuse + pow(sf, 20.0) * specular; gl_FragColor = vec4(color, opacity); // determine fragment depth vec4 pos = eyePosition; pos.z += N.z * radius;//The radius is 1.0 pos = projection * pos; gl_FragDepth = (pos.z / pos.w + 1.0) / 2.0; } avogadrolibs-1.93.0/avogadro/rendering/spheres_vs.glsl000066400000000000000000000015201360735163600231130ustar00rootroot00000000000000attribute vec4 vertex; attribute vec3 color; attribute vec2 texCoordinate; varying vec2 v_texCoord; varying vec3 fColor; varying vec4 eyePosition; varying float radius; uniform mat4 modelView; uniform mat4 projection; void main() { radius = abs(texCoordinate.x); fColor = color; v_texCoord = texCoordinate / radius; gl_Position = modelView * vertex; eyePosition = gl_Position; // Test if the closest point on the sphere would be clipped. vec4 clipTestNear = eyePosition; clipTestNear.z += radius; clipTestNear = projection * clipTestNear; if (clipTestNear.z > -clipTestNear.w) { // If not, calculate clip coordinate gl_Position.xy += texCoordinate; gl_Position = projection * gl_Position; } else { // If so, invalidate the clip coordinate to ensure that it will be clipped. gl_Position.w = 0.0; } } avogadrolibs-1.93.0/avogadro/rendering/textlabel2d.cpp000066400000000000000000000023531360735163600227720ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "textlabel2d.h" #include "visitor.h" namespace Avogadro { namespace Rendering { TextLabel2D::TextLabel2D() { setRenderPass(Rendering::Overlay2DPass); } TextLabel2D::~TextLabel2D() { } void TextLabel2D::accept(Visitor& visitor) { visitor.visit(*this); } void TextLabel2D::setAnchor(const Vector2i& windowCoords) { setAnchorInternal(Vector3f(static_cast(windowCoords.x()), static_cast(windowCoords.y()), 0.f)); } Vector2i TextLabel2D::anchor() const { return getAnchorInternal().head<2>().cast(); } } // namespace Rendering } // namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/textlabel2d.h000066400000000000000000000027051360735163600224400ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_TEXTLABEL2D_H #define AVOGADRO_RENDERING_TEXTLABEL2D_H #include "avogadrorenderingexport.h" #include "textlabelbase.h" namespace Avogadro { namespace Rendering { /** * @class TextLabel2D textlabel2d.h * @brief The TextLabel2D class renders text in an overlay plane, anchored to * a point in window coordinates. */ class AVOGADRORENDERING_EXPORT TextLabel2D : public TextLabelBase { public: TextLabel2D(); ~TextLabel2D() override; void accept(Visitor&) override; /** * The anchor point in window coordinates, taking the origin at the upper-left * corner. * @{ */ void setAnchor(const Vector2i& windowCoords); Vector2i anchor() const; /** @} */ }; } // namespace Rendering } // namespace Avogadro #endif // AVOGADRO_RENDERING_TEXTLABEL2D_H avogadrolibs-1.93.0/avogadro/rendering/textlabel3d.cpp000066400000000000000000000023411360735163600227700ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "textlabel3d.h" #include "visitor.h" namespace Avogadro { namespace Rendering { TextLabel3D::TextLabel3D() { setRenderPass(TranslucentPass); } TextLabel3D::~TextLabel3D() { } void TextLabel3D::accept(Visitor& visitor) { visitor.visit(*this); } void TextLabel3D::setAnchor(const Vector3f& position) { setAnchorInternal(position); } Vector3f TextLabel3D::anchor() const { return getAnchorInternal(); } void TextLabel3D::setRadius(float r) { setRadiusInternal(r); } float TextLabel3D::radius() const { return getRadiusInternal(); } } // namespace Rendering } // namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/textlabel3d.h000066400000000000000000000032041360735163600224340ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_TEXTLABEL3D_H #define AVOGADRO_RENDERING_TEXTLABEL3D_H #include "avogadrorenderingexport.h" #include "textlabelbase.h" namespace Avogadro { namespace Rendering { /** * @class TextLabel3D textlabel3d.h * @brief The TextLabel3D class renders billboarded text that is anchored to a * point in world coordinates. */ class AVOGADRORENDERING_EXPORT TextLabel3D : public TextLabelBase { public: TextLabel3D(); ~TextLabel3D() override; void accept(Visitor&) override; /** * The anchor position in world coordinates. * @{ */ void setAnchor(const Vector3f& position); Vector3f anchor() const; /** @} */ /** * The distance to project the label towards the camera from the anchor point. * Useful for moving the label on top of, e.g. atom spheres. 0.f by default. * @{ */ void setRadius(float r); float radius() const; /** @} */ }; } // namespace Rendering } // namespace Avogadro #endif // AVOGADRO_RENDERING_TEXTLABEL3D_H avogadrolibs-1.93.0/avogadro/rendering/textlabelbase.cpp000066400000000000000000000233751360735163600234060ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "textlabelbase.h" #include "avogadrogl.h" #include "bufferobject.h" #include "camera.h" #include "shader.h" #include "shaderprogram.h" #include "textrenderstrategy.h" #include "texture2d.h" #include "visitor.h" #include #include #include namespace { #include "textlabelbase_fs.h" #include "textlabelbase_vs.h" } // end anon namespace #include using Avogadro::Core::Array; namespace Avogadro { namespace Rendering { class TextLabelBase::RenderImpl { public: struct PackedVertex { Vector2i offset; // 8 bytes (8) Vector2f tcoord; // 8 bytes (16) PackedVertex() : offset(0, 0), tcoord(0.f, 0.f) {} static int offsetOffset() { return 0; } static int tcoordOffset() { return static_cast(sizeof(Vector2i)); } }; // Actual vertex data Array vertices; BufferObject vbo; // Sentinals: bool shadersInvalid; bool textureInvalid; bool vboInvalid; // Uniforms: Vector3f anchor; float radius; Texture2D texture; // Shaders Shader vertexShader; Shader fragmentShader; ShaderProgram shaderProgram; RenderImpl(); ~RenderImpl() {} void setTextureData(const Array& buffer, const Vector2i& dimensions); void setOffsets(const Vector2i& dimensions, TextProperties::HAlign hAlign, TextProperties::VAlign vAlign); void render(const Camera& cam); void compileShaders(); void uploadVbo(); }; TextLabelBase::RenderImpl::RenderImpl() : vertices(4), shadersInvalid(true), textureInvalid(true), vboInvalid(true), radius(0.0) { texture.setMinFilter(Texture2D::Nearest); texture.setMagFilter(Texture2D::Nearest); texture.setWrappingS(Texture2D::ClampToEdge); texture.setWrappingT(Texture2D::ClampToEdge); } void TextLabelBase::RenderImpl::setTextureData( const Array& buffer, const Vector2i& dimensions) { // Calculate texture coordinates. This centers each texel on a pixel: const Vector2f dimsF(dimensions.cast()); const Vector2f denoms(dimsF * 2.f); const float uMin = 1.f / denoms[0]; const float vMin = 1.f / denoms[1]; const float uMax = ((2.f * dimsF[0]) - 1.f) / denoms[0]; const float vMax = ((2.f * dimsF[1]) - 1.f) / denoms[1]; vertices[0].tcoord = Vector2f(uMin, vMin); vertices[1].tcoord = Vector2f(uMax, vMin); vertices[2].tcoord = Vector2f(uMin, vMax); vertices[3].tcoord = Vector2f(uMax, vMax); vboInvalid = true; // Upload texture texture.upload(buffer, dimensions, Texture2D::IncomingRGBA, Texture2D::InternalRGBA); textureInvalid = false; } void TextLabelBase::RenderImpl::setOffsets(const Vector2i& dimensions, TextProperties::HAlign hAlign, TextProperties::VAlign vAlign) { Vector2i& tl = vertices[0].offset; Vector2i& tr = vertices[1].offset; Vector2i& bl = vertices[2].offset; Vector2i& br = vertices[3].offset; switch (hAlign) { case TextProperties::HLeft: bl.x() = tl.x() = 0; br.x() = tr.x() = dimensions.x() - 1; break; case TextProperties::HCenter: bl.x() = tl.x() = -(dimensions.x() / 2); br.x() = tr.x() = dimensions.x() / 2 + (dimensions.x() % 2 == 0 ? 1 : 0); break; case TextProperties::HRight: bl.x() = tl.x() = -(dimensions.x() - 1); br.x() = tr.x() = 0; break; } switch (vAlign) { case TextProperties::VTop: bl.y() = br.y() = -(dimensions.y() - 1); tl.y() = tr.y() = 0; break; case TextProperties::VCenter: bl.y() = br.y() = -(dimensions.y() / 2); tl.y() = tr.y() = dimensions.y() / 2 - (dimensions.y() % 2 == 0 ? 1 : 0); break; case TextProperties::VBottom: bl.y() = br.y() = 0; tl.y() = tr.y() = dimensions.y() - 1; break; } vboInvalid = true; } void TextLabelBase::RenderImpl::render(const Camera& cam) { // The texture should be valid at this point. if (textureInvalid) { std::cerr << "Unable to render text label -- no texture set. " "This is a bug." << std::endl; return; } // Prepare GL if (shadersInvalid) compileShaders(); if (vboInvalid) uploadVbo(); const Matrix4f mv(cam.modelView().matrix()); const Matrix4f proj(cam.projection().matrix()); const Vector2i vpDims(cam.width(), cam.height()); // Bind vbo if (!vbo.bind()) { std::cerr << "Error while binding TextLabelBase VBO: " << vbo.error() << std::endl; return; } // Setup shaders if (!shaderProgram.bind() || !shaderProgram.setUniformValue("mv", mv) || !shaderProgram.setUniformValue("proj", proj) || !shaderProgram.setUniformValue("vpDims", vpDims) || !shaderProgram.setUniformValue("anchor", anchor) || !shaderProgram.setUniformValue("radius", radius) || !shaderProgram.setTextureSampler("texture", texture) || !shaderProgram.enableAttributeArray("offset") || !shaderProgram.useAttributeArray("offset", PackedVertex::offsetOffset(), sizeof(PackedVertex), IntType, 2, ShaderProgram::NoNormalize) || !shaderProgram.enableAttributeArray("texCoord") || !shaderProgram.useAttributeArray("texCoord", PackedVertex::tcoordOffset(), sizeof(PackedVertex), FloatType, 2, ShaderProgram::NoNormalize)) { std::cerr << "Error setting up TextLabelBase shader program: " << shaderProgram.error() << std::endl; vbo.release(); shaderProgram.release(); return; } // Draw texture glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); // Release resources: shaderProgram.disableAttributeArray("texCoords"); shaderProgram.disableAttributeArray("offset"); shaderProgram.release(); vbo.release(); } void TextLabelBase::RenderImpl::compileShaders() { vertexShader.setType(Shader::Vertex); vertexShader.setSource(textlabelbase_vs); if (!vertexShader.compile()) { std::cerr << vertexShader.error() << std::endl; return; } fragmentShader.setType(Shader::Fragment); fragmentShader.setSource(textlabelbase_fs); if (!fragmentShader.compile()) { std::cerr << fragmentShader.error() << std::endl; return; } shaderProgram.attachShader(vertexShader); shaderProgram.attachShader(fragmentShader); if (!shaderProgram.link()) { std::cerr << shaderProgram.error() << std::endl; return; } shadersInvalid = false; } void TextLabelBase::RenderImpl::uploadVbo() { if (!vbo.upload(vertices, BufferObject::ArrayBuffer)) std::cerr << "TextLabelBase VBO error: " << vbo.error() << std::endl; else vboInvalid = false; } TextLabelBase::TextLabelBase() : m_render(new RenderImpl) { } TextLabelBase::TextLabelBase(const TextLabelBase& other) : Drawable(other), m_text(other.m_text), m_textProperties(other.m_textProperties), m_imageDimensions(other.m_imageDimensions), m_imageRgba(other.m_imageRgba), m_render(new RenderImpl) { } TextLabelBase::~TextLabelBase() { delete m_render; } void TextLabelBase::render(const Camera& camera) { m_render->render(camera); } void TextLabelBase::buildTexture(const TextRenderStrategy& tren) { if (!m_render->textureInvalid) return; // Determine texture size and allocate buffer int bbox[4]; tren.boundingBox(m_text, m_textProperties, bbox); const Vector2i newDims(bbox[1] - bbox[0] + 1, bbox[3] - bbox[2] + 1); if (newDims != m_imageDimensions) { m_imageDimensions = newDims; m_render->setOffsets(m_imageDimensions, m_textProperties.hAlign(), m_textProperties.vAlign()); } const size_t bytesPerPixel = 4; // RGBA m_imageRgba.resize( static_cast(m_imageDimensions[0] * m_imageDimensions[1]) * bytesPerPixel); // Render the text to the buffer if (m_imageRgba.size() > 0) { tren.render(m_text, m_textProperties, m_imageRgba.data(), m_imageDimensions); } m_render->setTextureData(m_imageRgba, m_imageDimensions); } void TextLabelBase::setText(const std::string& str) { if (str != m_text) { m_text = str; m_render->textureInvalid = true; } } const std::string& TextLabelBase::text() const { return m_text; } void TextLabelBase::setTextProperties(const TextProperties& tprop) { if (tprop != m_textProperties) { m_textProperties = tprop; m_render->textureInvalid = true; m_render->setOffsets(m_imageDimensions, tprop.hAlign(), tprop.vAlign()); } } const TextProperties& TextLabelBase::textProperties() const { return m_textProperties; } void TextLabelBase::resetTexture() { m_render->textureInvalid = true; } void TextLabelBase::setAnchorInternal(const Vector3f& a) { m_render->anchor = a; } Vector3f TextLabelBase::getAnchorInternal() const { return m_render->anchor; } void TextLabelBase::setRadiusInternal(float radius) { m_render->radius = radius; } float TextLabelBase::getRadiusInternal() const { return m_render->radius; } void TextLabelBase::markDirty() { m_render->shadersInvalid = true; m_render->textureInvalid = true; m_render->vboInvalid = true; } } // namespace Rendering } // namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/textlabelbase.h000066400000000000000000000061261360735163600230460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_TEXTLABELBASE_H #define AVOGADRO_RENDERING_TEXTLABELBASE_H #include "avogadrorenderingexport.h" #include "drawable.h" #include #include #include namespace Avogadro { namespace Rendering { class TextRenderStrategy; /** * @class TextLabelBase textlabelbase.h * @brief The TextLabelBase class provides a generic implementation of a text * drawable. */ class AVOGADRORENDERING_EXPORT TextLabelBase : public Drawable { public: TextLabelBase(); TextLabelBase(const TextLabelBase& other); ~TextLabelBase() override; TextLabelBase& operator=(TextLabelBase other); friend void swap(TextLabelBase& lhs, TextLabelBase& rhs); void render(const Camera& camera) override; /** * Render the string to the internal texture buffer. * @param tren The text rendering strategy to use. */ void buildTexture(const TextRenderStrategy& tren); /** * The text that will be rendered. * @{ */ void setText(const std::string& str); const std::string& text() const; /** @} */ /** * The properties of the rendered text. * @{ */ void setTextProperties(const TextProperties& tprop); const TextProperties& textProperties() const; /** @} */ /** * Clear the texture, forcing it to be regenerated on the next render. */ void resetTexture(); protected: std::string m_text; TextProperties m_textProperties; Vector2i m_imageDimensions; Core::Array m_imageRgba; // Subclasses use this to update the text position: void setAnchorInternal(const Vector3f& anchor); Vector3f getAnchorInternal() const; // ...and the radius. void setRadiusInternal(float radius); float getRadiusInternal() const; void markDirty(); private: // Container for rendering cache: class RenderImpl; RenderImpl* const m_render; }; inline TextLabelBase& TextLabelBase::operator=(TextLabelBase other) { using std::swap; swap(*this, other); return *this; } inline void swap(TextLabelBase& lhs, TextLabelBase& rhs) { using std::swap; swap(static_cast(lhs), static_cast(rhs)); swap(lhs.m_text, rhs.m_text); swap(lhs.m_textProperties, rhs.m_textProperties); swap(lhs.m_imageDimensions, rhs.m_imageDimensions); swap(lhs.m_imageRgba, rhs.m_imageRgba); lhs.markDirty(); rhs.markDirty(); } } // namespace Rendering } // namespace Avogadro #endif // AVOGADRO_RENDERING_TEXTLABELBASE_H avogadrolibs-1.93.0/avogadro/rendering/textlabelbase_fs.glsl000066400000000000000000000002271360735163600242440ustar00rootroot00000000000000uniform sampler2D texture; varying vec2 texc; void main(void) { gl_FragColor = texture2D(texture, texc); if (gl_FragColor.a == 0.) discard; } avogadrolibs-1.93.0/avogadro/rendering/textlabelbase_vs.glsl000066400000000000000000000034261360735163600242700ustar00rootroot00000000000000// Modelview/projection matrix uniform mat4 mv; uniform mat4 proj; // anchor position uniform vec3 anchor; // Distance to project the label towards the camera uniform float radius; // Vertex attributes. attribute vec2 offset; attribute vec2 texCoord; // Viewport dimensions: uniform ivec2 vpDims; // Texture coordinate. varying vec2 texc; // Given a clip coordinate, align the vertex to the nearest pixel center. void alignToPixelCenter(inout vec4 clipCoord) { // Half pixel increments (clip coord span / [2*numPixels] = [2*w] / [2*l]): vec2 inc = abs(clipCoord.w) / vec2(vpDims); // Fix up coordinates -- pixel centers are at xy = (-w + (2*i + 1) * inc) // for the i'th pixel. First find i and floor it. Just solve the above for i: ivec2 pixels = ivec2(floor((clipCoord.xy + abs(clipCoord.ww) - inc) / (2. * inc))); // Now reapply the equation to obtain a pixel centered offset. clipCoord.xy = -abs(clipCoord.ww) + (2. * vec2(pixels) + vec2(1., 1.)) * inc; } void main(void) { // Transform to eye coordinates: vec4 eyeAnchor = mv * vec4(anchor, 1.0); // Apply radius; eyeAnchor += vec4(0., 0., radius, 0.); // Tranform to clip coordinates vec4 clipAnchor = proj * eyeAnchor; // Move the anchor to a pixel center: alignToPixelCenter(clipAnchor); // Align offset to cell centers using the w coordinate: // Since w determines whether or not the vertex is clipped, (-w, w) spans // the width/height of the display. Using the viewport width/height in pixels, // we can properly convert the offset into pixel units. vec2 conv = (2. * abs(clipAnchor.w)) / vec2(vpDims); // Apply the offset: gl_Position = clipAnchor + vec4(offset.x * conv.x, offset.y * conv.y, 0., 0.); // Pass through the texture coordinate texc = texCoord; } avogadrolibs-1.93.0/avogadro/rendering/textproperties.cpp000066400000000000000000000047001360735163600236570ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "textproperties.h" #include namespace Avogadro { namespace Rendering { TextProperties::TextProperties() : m_pixelHeight(24), m_hAlign(HLeft), m_vAlign(VTop), m_rotationDegreesCW(0.f), m_fontFamily(SansSerif), m_fontStyles(NoFontStyle) { setColorRgba(255, 255, 255, 255); } TextProperties::TextProperties(const TextProperties& other) : m_pixelHeight(other.m_pixelHeight), m_hAlign(other.m_hAlign), m_vAlign(other.m_vAlign), m_rotationDegreesCW(other.m_rotationDegreesCW), m_fontFamily(other.m_fontFamily), m_fontStyles(other.m_fontStyles) { m_rgba[0] = other.m_rgba[0]; m_rgba[1] = other.m_rgba[1]; m_rgba[2] = other.m_rgba[2]; m_rgba[3] = other.m_rgba[3]; } TextProperties::~TextProperties() { } TextProperties& TextProperties::operator=(TextProperties other) { swap(other); return *this; } void TextProperties::swap(TextProperties& other) { using std::swap; swap(m_pixelHeight, other.m_pixelHeight); swap(m_hAlign, other.m_hAlign); swap(m_vAlign, other.m_vAlign); swap(m_rotationDegreesCW, other.m_rotationDegreesCW); swap(m_fontFamily, other.m_fontFamily); swap(m_fontStyles, other.m_fontStyles); swap(m_rgba[0], other.m_rgba[0]); swap(m_rgba[1], other.m_rgba[1]); swap(m_rgba[2], other.m_rgba[2]); swap(m_rgba[3], other.m_rgba[3]); } bool TextProperties::operator==(const TextProperties& other) const { return m_pixelHeight == other.m_pixelHeight && m_hAlign == other.m_hAlign && m_vAlign == other.m_vAlign && m_rotationDegreesCW == other.m_rotationDegreesCW && m_fontFamily == other.m_fontFamily && m_fontStyles == other.m_fontStyles && m_rgba[0] == other.m_rgba[0] && m_rgba[1] == other.m_rgba[1] && m_rgba[2] == other.m_rgba[2] && m_rgba[3] == other.m_rgba[3]; } } // namespace Rendering } // namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/textproperties.h000066400000000000000000000155221360735163600233300ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_TEXTPROPERTIES_H #define AVOGADRO_RENDERING_TEXTPROPERTIES_H #include "avogadrorenderingexport.h" #include namespace Avogadro { namespace Rendering { /** * @class TextProperties textproperties.h * @brief The TextProperties class controls formatting options for text. */ class AVOGADRORENDERING_EXPORT TextProperties { public: /** Enum defining a minimal set of font families. */ enum FontFamily { SansSerif, Serif, Mono }; /** Horizontal alignment options. */ enum HAlign { HLeft, HCenter, HRight }; /** Vertical alignment options. */ enum VAlign { VTop, VCenter, VBottom }; /** Flags for style options (bold, italic, ...) */ enum FontStyle { NoFontStyle = 0x0, Bold = 0x1, Italic = 0x2, Underline = 0x4 }; /** Used for bitwise combinations of FontStyle values. */ typedef int FontStyles; TextProperties(); TextProperties(const TextProperties& other); ~TextProperties(); TextProperties& operator=(TextProperties other); void swap(TextProperties& other); bool operator==(const TextProperties& other) const; bool operator!=(const TextProperties& other) const { return !operator==(other); } /** * The height of the text in pixels. */ void setPixelHeight(size_t height) { m_pixelHeight = height; } size_t pixelHeight() const { return m_pixelHeight; } /** @} */ /** * Horizontal alignment of the text. */ void setHAlign(HAlign align) { m_hAlign = align; } HAlign hAlign() const { return m_hAlign; } /** @} */ /** * Vertical alignment of the text. */ void setVAlign(VAlign align) { m_vAlign = align; } VAlign vAlign() const { return m_vAlign; } /** @} */ /** * Set the horizontal and vertical alignment of the quad to the anchor point. */ void setAlign(HAlign hAlign, VAlign vAlign); /** * Rotates the text clockwise. */ void setRotationDegreesCW(float rot) { m_rotationDegreesCW = rot; } float rotationDegreesCW() const { return m_rotationDegreesCW; } /** @} */ /** * The font family. */ void setFontFamily(FontFamily family) { m_fontFamily = family; } FontFamily fontFamily() const { return m_fontFamily; } /** @} */ /** * Font style flags. */ void setFontStyles(FontStyles styles) { m_fontStyles = styles; } FontStyles fontStyles() const { return m_fontStyles; } /** @} */ /** * Toggle bold text. */ void setBold(bool b); bool bold() const; /** @} */ /** * Toggle italic text. */ void setItalic(bool b); bool italic() const; /** @} */ /** * Toggle underlined text. */ void setUnderline(bool b); bool underline() const; /** @} */ /** * Set the color of the text. Components are in the range [0, 255] * @{ */ void setColorRgba(unsigned char r, unsigned char g, unsigned char b, unsigned char a); void setColorRgba(const unsigned char rgba[4]); void setColorRgba(const Vector4ub& rgba); void colorRgba(unsigned char rgba[4]) const; Vector4ub colorRgba() const; void setColorRgb(unsigned char r, unsigned char g, unsigned char b); void setColorRgb(const unsigned char rgb[3]); void setColorRgb(const Vector3ub& rgb); void colorRgb(unsigned char rgb[3]) const; Vector3ub colorRgb() const; void setRed(unsigned char r) { m_rgba[0] = r; } unsigned char red() const { return m_rgba[0]; } void setGreen(unsigned char g) { m_rgba[1] = g; } unsigned char green() const { return m_rgba[1]; } void setBlue(unsigned char b) { m_rgba[2] = b; } unsigned char blue() const { return m_rgba[2]; } void setAlpha(unsigned char a) { m_rgba[3] = a; } unsigned char alpha() const { return m_rgba[3]; } /** @} */ private: size_t m_pixelHeight; HAlign m_hAlign; VAlign m_vAlign; float m_rotationDegreesCW; FontFamily m_fontFamily; FontStyles m_fontStyles; unsigned char m_rgba[4]; }; inline void TextProperties::setAlign(TextProperties::HAlign h, TextProperties::VAlign v) { setHAlign(h); setVAlign(v); } inline void TextProperties::setBold(bool b) { if (b) m_fontStyles |= Bold; else m_fontStyles &= ~Bold; } inline bool TextProperties::bold() const { return (m_fontStyles & Bold) != 0; } inline void TextProperties::setItalic(bool b) { if (b) m_fontStyles |= Italic; else m_fontStyles &= ~Italic; } inline bool TextProperties::italic() const { return (m_fontStyles & Italic) != 0; } inline void TextProperties::setUnderline(bool b) { if (b) m_fontStyles |= Underline; else m_fontStyles &= ~Underline; } inline bool TextProperties::underline() const { return (m_fontStyles & Underline) != 0; } inline void TextProperties::setColorRgba(unsigned char r, unsigned char g, unsigned char b, unsigned char a) { m_rgba[0] = r; m_rgba[1] = g; m_rgba[2] = b; m_rgba[3] = a; } inline void TextProperties::setColorRgba(const unsigned char rgba[4]) { m_rgba[0] = rgba[0]; m_rgba[1] = rgba[1]; m_rgba[2] = rgba[2]; m_rgba[3] = rgba[3]; } inline void TextProperties::setColorRgba(const Vector4ub& rgba) { setColorRgba(rgba.data()); } inline void TextProperties::colorRgba(unsigned char rgba[4]) const { rgba[0] = m_rgba[0]; rgba[1] = m_rgba[1]; rgba[2] = m_rgba[2]; rgba[3] = m_rgba[3]; } inline Vector4ub TextProperties::colorRgba() const { return Vector4ub(m_rgba); } inline void TextProperties::setColorRgb(unsigned char r, unsigned char g, unsigned char b) { m_rgba[0] = r; m_rgba[1] = g; m_rgba[2] = b; } inline void TextProperties::setColorRgb(const unsigned char rgb[3]) { m_rgba[0] = rgb[0]; m_rgba[1] = rgb[1]; m_rgba[2] = rgb[2]; } inline void TextProperties::setColorRgb(const Vector3ub& rgb) { setColorRgb(rgb.data()); } inline void TextProperties::colorRgb(unsigned char rgb[3]) const { rgb[0] = m_rgba[0]; rgb[1] = m_rgba[1]; rgb[2] = m_rgba[2]; } inline Vector3ub TextProperties::colorRgb() const { return Vector3ub(m_rgba); } inline void swap(TextProperties& lhs, TextProperties& rhs) { lhs.swap(rhs); } } // namespace Rendering } // namespace Avogadro #endif // AVOGADRO_RENDERING_TEXTPROPERTIES_H avogadrolibs-1.93.0/avogadro/rendering/textrenderstrategy.cpp000066400000000000000000000015431360735163600245270ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "textrenderstrategy.h" namespace Avogadro { namespace Rendering { TextRenderStrategy::TextRenderStrategy() { } TextRenderStrategy::~TextRenderStrategy() { } } // end namespace Rendering } // end namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/textrenderstrategy.h000066400000000000000000000043241360735163600241740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_TEXTRENDERSTRATEGY_H #define AVOGADRO_RENDERING_TEXTRENDERSTRATEGY_H #include "avogadrorenderingexport.h" #include #include namespace Avogadro { namespace Rendering { class TextProperties; /** * @class TextRenderStrategy textrenderstrategy.h * * @brief The TextRenderStrategy class defines an interface for generating * text images. */ class AVOGADRORENDERING_EXPORT TextRenderStrategy { public: TextRenderStrategy(); virtual ~TextRenderStrategy(); /** * Copy the current TextRenderStrategy implementation into an new object. */ virtual TextRenderStrategy* newInstance() const = 0; /** * @brief Calculate a bounding box. * @param string The text. * @param tprop The properties. * @param bbox The result in pixels (left, right, top, bottom). */ virtual void boundingBox(const std::string& string, const TextProperties& tprop, int bbox[4]) const = 0; /** * @brief render Render the string. * @param string The text. * @param tprop The properties. * @param buffer The target. Must be dims[0]*dims[1]*4 * bytes. The buffer will be filled with RGBA image data, with the top * scan row at the beginning. * @param dims Dimensions in pixels of the target buffer. */ virtual void render(const std::string& string, const TextProperties& tprop, unsigned char* buffer, const Vector2i& dims) const = 0; }; } // namespace Rendering } // namespace Avogadro #endif // AVOGADRO_RENDERING_TEXTRENDERSTRATEGY_H avogadrolibs-1.93.0/avogadro/rendering/texture2d.cpp000066400000000000000000000161401360735163600225050ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "texture2d.h" #include "avogadrogl.h" namespace Avogadro { namespace Rendering { namespace { GLint convertFilterOptionToGL(Texture2D::FilterOption opt) { switch (opt) { case Texture2D::Nearest: return GL_NEAREST; case Texture2D::Linear: return GL_LINEAR; default: return -1; } } Texture2D::FilterOption convertFilterOptionFromGL(GLint opt) { switch (opt) { case GL_NEAREST: return Texture2D::Nearest; case GL_LINEAR: return Texture2D::Linear; default: return Texture2D::InvalidFilter; } } GLint convertWrappingOptionToGL(Texture2D::WrappingOption opt) { switch (opt) { case Texture2D::ClampToEdge: return GL_CLAMP_TO_EDGE; case Texture2D::MirroredRepeat: return GL_MIRRORED_REPEAT; case Texture2D::Repeat: return GL_REPEAT; default: return -1; } } Texture2D::WrappingOption convertWrappingOptionFromGL(GLint opt) { switch (opt) { case GL_CLAMP_TO_EDGE: return Texture2D::ClampToEdge; case GL_MIRRORED_REPEAT: return Texture2D::MirroredRepeat; case GL_REPEAT: return Texture2D::Repeat; default: return Texture2D::InvalidWrapping; } } GLint convertInternalFormatToGL(Texture2D::InternalFormat fmt) { switch (fmt) { case Texture2D::InternalDepth: return GL_DEPTH_COMPONENT; case Texture2D::InternalDepthStencil: return GL_DEPTH_STENCIL; case Texture2D::InternalR: return GL_RED; case Texture2D::InternalRG: return GL_RG; case Texture2D::InternalRGB: return GL_RGB; case Texture2D::InternalRGBA: return GL_RGBA; default: return -1; } } GLint convertIncomingFormatToGL(Texture2D::IncomingFormat fmt) { switch (fmt) { case Texture2D::IncomingR: return GL_RED; case Texture2D::IncomingRG: return GL_RG; case Texture2D::IncomingRGB: return GL_RGB; case Texture2D::IncomingBGR: return GL_BGR; case Texture2D::IncomingRGBA: return GL_RGBA; case Texture2D::IncomingBGRA: return GL_BGRA; case Texture2D::IncomingDepth: return GL_DEPTH_COMPONENT; case Texture2D::IncomingDepthStencil: return GL_DEPTH_STENCIL; default: return -1; } } GLenum convertTypeToGL(Type type) { switch (type) { case CharType: return GL_BYTE; case UCharType: return GL_UNSIGNED_BYTE; case ShortType: return GL_SHORT; case UShortType: return GL_UNSIGNED_SHORT; case IntType: return GL_INT; case UIntType: return GL_UNSIGNED_INT; case FloatType: return GL_FLOAT; case DoubleType: return GL_DOUBLE; default: return 0; } } } // end anon namespace class Texture2D::Private { public: Private() : textureId(0) {} ~Private() { if (textureId > 0) glDeleteTextures(1, &textureId); } mutable GLuint textureId; }; Texture2D::Texture2D() : d(new Private) { } Texture2D::~Texture2D() { delete d; } Index Texture2D::handle() const { return static_cast(d->textureId); } void Texture2D::setMinFilter(Texture2D::FilterOption opt) { Index old = pushTexture(); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, convertFilterOptionToGL(opt)); popTexture(old); } Texture2D::FilterOption Texture2D::minFilter() const { Index old = pushTexture(); GLint result; glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, &result); popTexture(old); return convertFilterOptionFromGL(result); } void Texture2D::setMagFilter(Texture2D::FilterOption opt) { Index old = pushTexture(); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, convertFilterOptionToGL(opt)); popTexture(old); } Texture2D::FilterOption Texture2D::magFilter() const { Index old = pushTexture(); GLint result; glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, &result); popTexture(old); return convertFilterOptionFromGL(result); } void Texture2D::setWrappingS(Texture2D::WrappingOption opt) { Index old = pushTexture(); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, convertWrappingOptionToGL(opt)); popTexture(old); } Texture2D::WrappingOption Texture2D::wrappingS() const { Index old = pushTexture(); GLint result; glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, &result); popTexture(old); return convertWrappingOptionFromGL(result); } void Texture2D::setWrappingT(Texture2D::WrappingOption opt) { Index old = pushTexture(); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, convertWrappingOptionToGL(opt)); popTexture(old); } Texture2D::WrappingOption Texture2D::wrappingT() const { Index old = pushTexture(); GLint result; glGetTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, &result); popTexture(old); return convertWrappingOptionFromGL(result); } bool Texture2D::bind() const { return pushTexture() != MaxIndex; } bool Texture2D::release() const { popTexture(0); return true; } bool Texture2D::uploadInternal(const void* buffer, const Vector2i& dims, Texture2D::IncomingFormat dataFormat, Avogadro::Type dataType, Texture2D::InternalFormat internalFormat) { // The dataType has already been validated. Index old = pushTexture(); glTexImage2D(GL_TEXTURE_2D, 0, convertInternalFormatToGL(internalFormat), dims[0], dims[1], 0, convertIncomingFormatToGL(dataFormat), convertTypeToGL(dataType), static_cast(const_cast(buffer))); popTexture(old); return true; } Index Texture2D::pushTexture() const { GLint currentHandle; glGetIntegerv(GL_TEXTURE_BINDING_2D, ¤tHandle); if (d->textureId == 0) { if (!const_cast(this)->generateTextureHandle()) return MaxIndex; } glBindTexture(GL_TEXTURE_2D, d->textureId); return static_cast(currentHandle); } void Texture2D::popTexture(Index id) const { glBindTexture(GL_TEXTURE_2D, static_cast(id)); } bool Texture2D::generateTextureHandle() { if (d->textureId > 0) { m_error = "Refusing to overwrite existing texture handle."; return false; } glGenTextures(1, &d->textureId); if (d->textureId == 0) { m_error = "Error generating texture handle."; return false; } // Set up defaults to match the documentation: setMinFilter(Linear); setMagFilter(Linear); setWrappingS(Repeat); setWrappingT(Repeat); return true; } } // namespace Rendering } // namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/texture2d.h000066400000000000000000000165771360735163600221700ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_TEXTURE2D_H #define AVOGADRO_RENDERING_TEXTURE2D_H #include "avogadrorenderingexport.h" #include #include #include namespace Avogadro { namespace Rendering { /** * @class Texture2D texture2d.h * @brief The Texture2D class manages texture resources in graphics libraries. */ class AVOGADRORENDERING_EXPORT Texture2D { public: /** * @brief The FilterOption enum defines options for interpolating * texels onto pixels. */ enum FilterOption { InvalidFilter = -1, /// Use the nearest texel for the pixel value. Nearest = 0, /// Interpolate the four neighboring texels for the pixel value. Linear }; /** * @brief The WrappingOption enum defines options for handling texture * coordinates outside of the range [0, 1]. Note that these are specified * separately for each dimension of the texture. */ enum WrappingOption { InvalidWrapping = -1, /// Use the texel at the nearest edge. ClampToEdge = 0, /// Repeat the texels such that texture coordinates in the range [1, 2] map /// to [1, 0]; [2, 3] map to [0, 1], and so on. MirroredRepeat, /// Repeat the texels such that integer components of the texture /// coordinates are ignored (e.g. 1.7 becomes 0.7, 2.3 becomes 0.3, etc). Repeat }; /** * @brief The InternalFormat enum defines how the texture data will be stored * by the graphics library implementation. */ enum InternalFormat { InvalidInternalFormat = -1, /// Each element is a single depth component. InternalDepth = 0, /// Each element contains a depth component and a stencil value. InternalDepthStencil, /// Each element contains a single color value. InternalR, /// Each element contains two color values. InternalRG, /// Each element contains three color values. InternalRGB, /// Each element contains four color values. InternalRGBA }; /** * @brief The IncomingFormat enum defines the supported formats for incoming * texture data. */ enum IncomingFormat { InvalidIncomingFormat = -1, /// Each element is a single red component. IncomingR = 0, /// Each element is a red then green component. IncomingRG, /// Each element is a red, green, then blue component. IncomingRGB, /// Each element is a blue, green, then red component. IncomingBGR, /// Each element is a red, green, blue, then alpha component. IncomingRGBA, /// Each element is a blue, green, red, then alpha component. IncomingBGRA, /// Each element is a single depth component. IncomingDepth, /// Each element is a depth component followed by a stencil value. IncomingDepthStencil }; Texture2D(); ~Texture2D(); /** A unique integer value identifying the texture. */ Index handle() const; /** True if the texture is ready to use. */ bool ready() const { return !m_dirty; } /** Filtering options for interpolating pixel values. Default is Linear. {@ */ void setMinFilter(FilterOption opt); FilterOption minFilter() const; void setMagFilter(FilterOption opt); FilterOption magFilter() const; /** @} */ /** Wrapping options in the s-direction. Default is Repeat. @{ */ void setWrappingS(WrappingOption opt); WrappingOption wrappingS() const; /** @} */ /** Wrapping options in the t-direction. Default is Repeat. @{ */ void setWrappingT(WrappingOption opt); WrappingOption wrappingT() const; /** @} */ /** * Upload a buffer of texture data to the graphics library. * * @param buffer The texture data (see below for requirements of ContainerT). * @param dims The width and height of the texture data. * @param dataFormat The ordering of components in the buffer data. * @param internalFormat The internal storage ordering of components in the * buffer data. * * The buffer must contain homogeneous elements of the follow types: unsigned * char, char, unsigned short, short, unsigned int, int, or float. * * The first element of @a buffer is the lower-left texel. Subsequent elements * are ordered such that rows are contiguous, moving right and up. * * The ContainerT must satisfy the following requirements (short version: * use std::vector or Avogadro::Core::Array): * - ContainerT must have tightly packed values of ContainerT::value_type * - elements must be accessible by reference via ContainerT::operator[]. * - ContainterT::size() must return the number of elements in the container * as integral type ContainerT::size_type. */ template bool upload(const ContainerT& buffer, const Vector2i& dims, IncomingFormat dataFormat, InternalFormat internalFormat); /** Bind the texture for rendering. */ bool bind() const; bool release() const; std::string error() const { return m_error; } private: bool uploadInternal(const void* buffer, const Vector2i& dims, IncomingFormat dataFormat, Avogadro::Type dataType, InternalFormat internalFormat); // Used to preserve GL state when setting/querying texture properties: Index pushTexture() const; // -1 indicates error void popTexture(Index) const; // Create a texture handle and set the defaults. bool generateTextureHandle(); class Private; Private* const d; bool m_dirty; mutable std::string m_error; }; template inline bool Texture2D::upload(const ContainerT& buffer, const Vector2i& dims, IncomingFormat incomingFormat, InternalFormat internalFormat) { if (buffer.size() == 0 || dims[0] == 0 || dims[1] == 0) { m_error = "Refusing to upload empty array."; return false; } if (buffer.size() < static_cast(dims[0] * dims[1])) { m_error = "Buffer data is smaller than specified dimensions."; return false; } using Avogadro::Type; // Not to be confused with Avogadro::Rendering::Type... Type incomingType = static_cast(TypeTraits::EnumValue); switch (incomingType) { case Avogadro::CharType: case Avogadro::UCharType: case Avogadro::ShortType: case Avogadro::UShortType: case Avogadro::IntType: case Avogadro::UIntType: case Avogadro::FloatType: break; default: m_error = "Unsupported type for texture data: '"; m_error += TypeTraits::name(); m_error += "'."; return false; } return uploadInternal(&buffer[0], dims, incomingFormat, incomingType, internalFormat); } } // namespace Rendering } // namespace Avogadro #endif // AVOGADRO_RENDERING_TEXTURE2D_H avogadrolibs-1.93.0/avogadro/rendering/transformnode.cpp000066400000000000000000000015451360735163600234430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "transformnode.h" namespace Avogadro { namespace Rendering { TransformNode::TransformNode(GroupNode* p) : GroupNode(p) { } TransformNode::~TransformNode() { } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/transformnode.h000066400000000000000000000024221360735163600231030ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_TRANSFORMNODE_H #define AVOGADRO_RENDERING_TRANSFORMNODE_H #include "groupnode.h" namespace Avogadro { namespace Rendering { /** * @class TransformNode transformnode.h * @brief The TransformNode class applies a transform to all child nodes. * @author Marcus D. Hanwell * * @todo This is currently a stub and does nothing. */ class AVOGADRORENDERING_EXPORT TransformNode : public GroupNode { public: explicit TransformNode(GroupNode* parent = 0); ~TransformNode() override; }; } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_TRANSFORMNODE_H avogadrolibs-1.93.0/avogadro/rendering/visitor.cpp000066400000000000000000000014541360735163600222600ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "visitor.h" namespace Avogadro { namespace Rendering { Visitor::Visitor() { } Visitor::~Visitor() { } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/visitor.h000066400000000000000000000042021360735163600217170ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_VISITOR_H #define AVOGADRO_RENDERING_VISITOR_H #include "avogadrorenderingexport.h" #include namespace Avogadro { namespace Rendering { class CylinderGeometry; class Drawable; class GeometryNode; class GroupNode; class LineStripGeometry; class MeshGeometry; class Node; class SphereGeometry; class TextLabel2D; class TextLabel3D; class AmbientOcclusionSphereGeometry; /** * @class Visitor visitor.h * @brief The Visitor class is the base class for all Node visitors. * @author Marcus D. Hanwell * * The Visitor class is the base class for visitors to Node objects in the * Scene, providing common API and functionality. */ class AVOGADRORENDERING_EXPORT Visitor { public: Visitor(); virtual ~Visitor(); /** * The overloaded visit functions, the base versions of which do nothing. */ virtual void visit(Node&) { return; } virtual void visit(GroupNode&) { return; } virtual void visit(GeometryNode&) { return; } virtual void visit(Drawable&) { return; } virtual void visit(SphereGeometry&) { return; } virtual void visit(AmbientOcclusionSphereGeometry&) { return; } virtual void visit(CylinderGeometry&) { return; } virtual void visit(MeshGeometry&) { return; } virtual void visit(TextLabel2D&) { return; } virtual void visit(TextLabel3D&) { return; } virtual void visit(LineStripGeometry&) { return; } }; } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_VISITOR_H avogadrolibs-1.93.0/avogadro/rendering/volumegeometry.cpp000066400000000000000000000015171360735163600236440ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "volumegeometry.h" namespace Avogadro { namespace Rendering { VolumeGeometry::VolumeGeometry() { } VolumeGeometry::~VolumeGeometry() { } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/volumegeometry.h000066400000000000000000000024101360735163600233020ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_VOLUMEGEOMETRY_H #define AVOGADRO_RENDERING_VOLUMEGEOMETRY_H #include "drawable.h" namespace Avogadro { namespace Rendering { /** * @class VolumeGeometry volumegeometry.h * @brief The VolumeGeometry class contains a regularly spaced volumetric data * set. * @author Marcus D. Hanwell * * @todo This is currently a stub and does nothing. */ class AVOGADRORENDERING_EXPORT VolumeGeometry : public Drawable { public: VolumeGeometry(); ~VolumeGeometry() override; }; } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_VOLUMEGEOMETRY_H avogadrolibs-1.93.0/avogadro/rendering/vrmlvisitor.cpp000066400000000000000000000142301360735163600231550ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2017 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "vrmlvisitor.h" #include "ambientocclusionspheregeometry.h" #include "cylindergeometry.h" #include "linestripgeometry.h" #include "meshgeometry.h" #include "spheregeometry.h" #include #include namespace Avogadro { namespace Rendering { using std::cout; using std::string; using std::endl; using std::ostringstream; using std::ostream; using std::ofstream; namespace { ostream& operator<<(ostream& os, const Vector3f& v) { os << v[0] << " " << v[1] << " " << v[2]; return os; } ostream& operator<<(ostream& os, const Vector3ub& color) { os << color[0] / 255.0f << "\t" << color[1] / 255.0f << "\t" << color[2] / 255.0f; return os; } ostream& operator<<(ostream& os, const Vector4ub& color) { os << color[0] / 255.0f << " " << color[1] / 255.0f << " " << color[2] / 255.0f << color[3] / 255.0f; return os; } } VRMLVisitor::VRMLVisitor(const Camera& c) : m_camera(c), m_backgroundColor(255, 255, 255), m_ambientColor(100, 100, 100), m_aspectRatio(800.0f / 600.0f) { } VRMLVisitor::~VRMLVisitor() { } void VRMLVisitor::begin() { // Initialise the VRML scene Vector3f cameraT = -(m_camera.modelView().linear().adjoint() * m_camera.modelView().translation()); Vector3f cameraX = m_camera.modelView().linear().row(0).transpose().normalized(); Vector3f cameraY = m_camera.modelView().linear().row(1).transpose().normalized(); Vector3f cameraZ = -m_camera.modelView().linear().row(2).transpose().normalized(); double huge = 100; Vector3f light0pos = huge * (m_camera.modelView().linear().adjoint() * Vector3f(0, 1, 0)); // Output the POV-Ray initialisation code // orientation should be set // http://cgvr.informatik.uni-bremen.de/teaching/vr_literatur/Calculating%20VRML%20Viewpoints.html ostringstream str; str << "#VRML V2.0 utf8\n" << "DEF DefaultView Viewpoint {\n" << "position " << cameraT << " \n" << "fieldOfView 0.785398\n}\n"; m_sceneData = str.str(); } string VRMLVisitor::end() { return m_sceneData; } void VRMLVisitor::visit(Drawable& geometry) { // geometry.render(m_camera); } void VRMLVisitor::visit(SphereGeometry& geometry) { ostringstream str; for (size_t i = 0; i < geometry.spheres().size(); ++i) { Rendering::SphereColor s = geometry.spheres()[i]; str << "Transform {\n" << "\ttranslation\t" << s.center[0] << "\t" << s.center[1] << "\t" << s.center[2] << "\n\tchildren Shape {\n" << "\t\tgeometry Sphere {\n\t\t\tradius\t" << s.radius << "\n\t\t}\n" << "\t\tappearance Appearance {\n" << "\t\t\tmaterial Material {\n" << "\t\t\t\tdiffuseColor\t" << s.color << "\n\t\t\t}\n\t\t}\n\t}\n}\n"; } m_sceneData += str.str(); } void VRMLVisitor::visit(AmbientOcclusionSphereGeometry& geometry) { // geometry.render(m_camera); } void VRMLVisitor::visit(CylinderGeometry& geometry) { ostringstream str; for (size_t i = 0; i < geometry.cylinders().size(); ++i) { Rendering::CylinderColor c = geometry.cylinders()[i]; // double scale = 1.0; double x1, x2, y1, y2, z1, z2; x1 = c.end1[0]; x2 = c.end2[0]; y1 = c.end1[1]; y2 = c.end2[1]; z1 = c.end1[2]; z2 = c.end2[2]; double dx = x2 - x1; double dy = y2 - y1; double dz = z2 - z1; double length = sqrt(dx * dx + dy * dy + dz * dz); double tx = dx / 2 + x1; double ty = dy / 2 + y1; double tz = dz / 2 + z1; dx = dx / length; dy = dy / length; dz = dz / length; double ax, ay, az, angle; if (dy > 0.999) { ax = 1.0; ay = 0.0; az = 0.0; angle = 0.0; } else if (dy < -0.999) { ax = 1.0; ay = 0.0; az = 0.0; angle = 3.14159265359; } else { ax = dz; ay = 0.0; az = dx * -1.0; angle = acos(dy); } length = length / 2.0; str << "Transform {\n" << "\ttranslation\t" << tx << "\t" << ty << "\t" << tz << "\n\tscale " << " 1 " << length << " 1" << "\n\trotation " << ax << " " << ay << " " << az << " " << angle << "\n\tchildren Shape {\n" << "\t\tgeometry Cylinder {\n\t\t\tradius\t" << c.radius << "\n\t\t}\n" << "\t\tappearance Appearance {\n" << "\t\t\tmaterial Material {\n" << "\t\t\t\tdiffuseColor\t" << c.color << "\n\t\t\t}\n\t\t}\n\t}\n}\n"; } m_sceneData += str.str(); } void VRMLVisitor::visit(MeshGeometry& geometry) { Core::Array v = geometry.vertices(); // If there are no triangles then don't bother doing anything if (v.size() == 0) return; ostringstream str, verts, iverts, colors; // save the points, coordinates, and colors to separate strings for (unsigned int i = 0; i < v.size(); ++i) { if (i == v.size() - 1) { verts << v[i].vertex; colors << v[i].color; break; } verts << v[i].vertex << ",\n"; colors << v[i].color << ", "; } // Now to write out the indices for (unsigned int i = 0; i < v.size(); i += 3) { iverts << i << ", " << i + 1 << ", " << i + 2 << ", -1,\n"; } // Now to write out the full mesh - could be pretty big... str << "Shape {\n" << "\tgeometry IndexedFaceSet {\n" << "\t\tcoord Coordinate {\n" << "\t\t\tpoint [" << verts.str() << "\t\t\t]\n\t\t}\n" << "\t\tcoordIndex[" << iverts.str() << "\t\t\t]\n" << "color Color {\n color [" << colors.str() << "]\n}\n}\n}"; m_sceneData += str.str(); } void VRMLVisitor::visit(LineStripGeometry& geometry) { // geometry.render(m_camera); } } // End namespace Rendering } // End namespace Avogadro avogadrolibs-1.93.0/avogadro/rendering/vrmlvisitor.h000066400000000000000000000046061360735163600226300ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2017 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_RENDERING_VRMLVISITOR_H #define AVOGADRO_RENDERING_VRMLVISITOR_H #include "visitor.h" #include "avogadrorendering.h" #include "camera.h" #include namespace Avogadro { namespace Rendering { /** * @class VRMLVisitor vrmlvisitor.h * @brief Visitor that visits scene elements and creates a VRML input file. * * This visitor will render elements in the scene to a text file that contains * elements that can be rendered as VRML. */ class AVOGADRORENDERING_EXPORT VRMLVisitor : public Visitor { public: VRMLVisitor(const Camera& camera); ~VRMLVisitor() override; void begin(); std::string end(); /** * The overloaded visit functions, the base versions of which do nothing. */ void visit(Node&) override { return; } void visit(GroupNode&) override { return; } void visit(GeometryNode&) override { return; } void visit(Drawable&) override; void visit(SphereGeometry&) override; void visit(AmbientOcclusionSphereGeometry&) override; void visit(CylinderGeometry&) override; void visit(MeshGeometry&) override; void visit(TextLabel2D&) override { return; } void visit(TextLabel3D&) override { return; } void visit(LineStripGeometry& geometry) override; void setCamera(const Camera& c) { m_camera = c; } Camera camera() const { return m_camera; } void setBackgroundColor(const Vector3ub& c) { m_backgroundColor = c; } void setAmbientColor(const Vector3ub& c) { m_ambientColor = c; } void setAspectRatio(float ratio) { m_aspectRatio = ratio; } private: Camera m_camera; Vector3ub m_backgroundColor; Vector3ub m_ambientColor; float m_aspectRatio; std::string m_sceneData; }; } // End namespace Rendering } // End namespace Avogadro #endif // AVOGADRO_RENDERING_VRMLVISITOR_H avogadrolibs-1.93.0/avogadro/vtk/000077500000000000000000000000001360735163600167005ustar00rootroot00000000000000avogadrolibs-1.93.0/avogadro/vtk/CMakeLists.txt000066400000000000000000000024501360735163600214410ustar00rootroot00000000000000find_package(Eigen3 REQUIRED) # Add as "system headers" to avoid warnings generated by them with # compilers that support that notion. include_directories(SYSTEM ${EIGEN3_INCLUDE_DIR}) find_package(OpenGL REQUIRED) find_package(GLEW REQUIRED) include_directories(SYSTEM ${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS}) if(WIN32 AND NOT BUILD_SHARED_LIBS) add_definitions(-DGLEW_STATIC) endif() find_package(Qt5 COMPONENTS Widgets REQUIRED) find_package(VTK COMPONENTS vtkRenderingOpenGL2 vtkGUISupportQt vtkDomainsChemistry vtkRenderingVolumeOpenGL2 vtkViewsCore vtkRenderingFreeType vtkChartsCore vtkViewsContext2D vtkRenderingContextOpenGL2 REQUIRED) include_directories(SYSTEM ${VTK_INCLUDE_DIRS}) set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS ${VTK_DEFINITIONS}) set(HEADERS vtkAvogadroActor.h vtkglwidget.h vtkplot.h ) set(SOURCES vtkAvogadroActor.cxx vtkglwidget.cpp vtkplot.cpp ) avogadro_add_library(AvogadroVtk ${HEADERS} ${SOURCES}) set_target_properties(AvogadroVtk PROPERTIES AUTOMOC TRUE) target_link_libraries(AvogadroVtk AvogadroRendering AvogadroQtGui vtkRenderingOpenGL2 vtkGUISupportQt vtkRenderingVolumeOpenGL2 vtkRenderingFreeType vtkInteractionStyle vtkChartsCore vtkViewsContext2D vtkRenderingContextOpenGL2 vtkDomainsChemistryOpenGL2 Qt5::Widgets) avogadrolibs-1.93.0/avogadro/vtk/vtkAvogadroActor.cxx000066400000000000000000000066261360735163600227160ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "vtkAvogadroActor.h" #include #include #include #include #include #include #include #include using Eigen::Affine3f; using Avogadro::Vector3f; using Avogadro::Rendering::Camera; using Avogadro::Rendering::GLRenderVisitor; vtkStandardNewMacro(vtkAvogadroActor) vtkAvogadroActor::vtkAvogadroActor() : m_scene(nullptr), m_initialized(false) { for (short i = 0; i < 6; ++i) m_bounds[i] = 0.0; } vtkAvogadroActor::~vtkAvogadroActor() { } int vtkAvogadroActor::RenderOpaqueGeometry(vtkViewport *) { if (!m_initialized) { GLenum result = glewInit(); if (result != GLEW_OK) { cout << "Error, could not initialize GLEW." << endl; return 0; } if (!GLEW_VERSION_2_1) { cout << "GL version 2.1 is not supported by your GPU." << endl; return 0; } m_initialized = true; } if (!m_scene) return 0; // Figure out the current model view and projection matrices for our camera. Camera camera; Affine3f mv, proj; glGetFloatv(GL_MODELVIEW_MATRIX, mv.matrix().data()); glGetFloatv(GL_PROJECTION_MATRIX, proj.matrix().data()); camera.setModelView(mv); camera.setProjection(proj); // Render the Avogadro scene using the GLRenderVisitor and return. GLRenderVisitor visitor(camera); visitor.setRenderPass(Avogadro::Rendering::OpaquePass); m_scene->rootNode().accept(visitor); return 1; } int vtkAvogadroActor::RenderTranslucentPolygonalGeometry(vtkViewport *) { // Figure out the current model view and projection matrices for our camera. Camera camera; Affine3f mv, proj; glGetFloatv(GL_MODELVIEW_MATRIX, mv.matrix().data()); glGetFloatv(GL_PROJECTION_MATRIX, proj.matrix().data()); camera.setModelView(mv); camera.setProjection(proj); // Render the Avogadro scene using the GLRenderVisitor and return. GLRenderVisitor visitor(camera); visitor.setRenderPass(Avogadro::Rendering::TranslucentPass); m_scene->rootNode().accept(visitor); return 1; } int vtkAvogadroActor::HasTranslucentPolygonalGeometry() { return 1; } double * vtkAvogadroActor::GetBounds() { if (!m_scene) return m_bounds; Vector3f center = m_scene->center(); float radius = m_scene->radius(); m_bounds[0] = center[0] - radius; m_bounds[1] = center[0] + radius; m_bounds[2] = center[1] - radius; m_bounds[3] = center[1] + radius; m_bounds[4] = center[2] - radius; m_bounds[5] = center[2] + radius; return m_bounds; } void vtkAvogadroActor::setScene(Avogadro::Rendering::Scene *scene) { m_scene = scene; } void vtkAvogadroActor::PrintSelf(ostream &os, vtkIndent indent) { Superclass::PrintSelf(os, indent); } avogadrolibs-1.93.0/avogadro/vtk/vtkAvogadroActor.h000066400000000000000000000046261360735163600223410ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_VTKAVOGADROACTOR_H #define AVOGADRO_VTKAVOGADROACTOR_H #include "avogadrovtkexport.h" #include namespace Avogadro { namespace Rendering { class Scene; } } /** * @class vtkAvogadroActor vtkAvogadroActor.h * @brief Wrap an Avogadro::Rendering::Scene in a vtkActor derived container so * that it can be rendered in a standard VTK widget. * @author Marcus D. Hanwell */ class AVOGADROVTK_EXPORT vtkAvogadroActor : public vtkActor { public: /** Return a new instance of the vtkAvogadroActor. */ static vtkAvogadroActor* New(); /** Required type macro. */ vtkTypeMacro(vtkAvogadroActor, vtkActor) /** Print the state of the object. */ void PrintSelf(ostream& os, vtkIndent indent); /** Render the opaque geometry. */ int RenderOpaqueGeometry(vtkViewport* viewport); /** Render the translucent geometry. */ int RenderTranslucentPolygonalGeometry(vtkViewport* viewport); /** Does the actor have translucent geometry? */ int HasTranslucentPolygonalGeometry(); /** * Get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax). (The * method GetBounds(double bounds[6]) is available from the superclass.) */ double* GetBounds(); /** Set the scene on the actor, the actor assumes ownership of the scene. */ void setScene(Avogadro::Rendering::Scene* scene); /** Get the scene being rendered by the actor. */ Avogadro::Rendering::Scene* GetScene() { return m_scene; } protected: vtkAvogadroActor(); ~vtkAvogadroActor(); Avogadro::Rendering::Scene* m_scene; double m_bounds[6]; bool m_initialized; private: vtkAvogadroActor(const vtkAvogadroActor&); // Not implemented. void operator=(const vtkAvogadroActor&); // Not implemented. }; #endif // AVOGADRO_VTKAVOGADROACTOR_H avogadrolibs-1.93.0/avogadro/vtk/vtkglwidget.cpp000066400000000000000000000227521360735163600217470ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "vtkglwidget.h" #include #include #include #include #include #include "vtkAvogadroActor.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Avogadro { namespace VTK { using QtGui::Molecule; // The caller assumes ownership of the vtkImageData returned. vtkImageData* createCubeImageData(Core::Cube* cube) { auto data = vtkImageData::New(); // data->SetNumberOfScalarComponents(1, nullptr); Eigen::Vector3i dim = cube->dimensions(); data->SetExtent(0, dim.x() - 1, 0, dim.y() - 1, 0, dim.z() - 1); data->SetOrigin(cube->min().x(), cube->min().y(), cube->min().z()); data->SetSpacing(cube->spacing().data()); data->AllocateScalars(VTK_DOUBLE, 1); double* dataPtr = static_cast(data->GetScalarPointer()); std::vector* cubePtr = cube->data(); for (int i = 0; i < dim.x(); ++i) { for (int j = 0; j < dim.y(); ++j) { for (int k = 0; k < dim.z(); ++k) { dataPtr[(k * dim.y() + j) * dim.x() + i] = (*cubePtr)[(i * dim.y() + j) * dim.z() + k]; } } } return data; } void vtkGLWidget::cubeVolume(Core::Cube* cube) { m_imageData = createCubeImageData(cube); // Call delete to decrement the reference count now it is in a smart pointer. m_imageData->Delete(); vtkNew volumeMapper; vtkNew volumeProperty; volumeMapper->SetBlendModeToComposite(); volumeMapper->SetInputData(m_imageData); // volumeMapper->SetInputConnection(t->GetOutputPort()); volumeProperty->ShadeOff(); volumeProperty->SetInterpolationTypeToLinear(); auto compositeOpacity = m_opacityFunction.Get(); auto color = m_lut.Get(); if (color->GetSize() == 0) { // Initialize the color and opacity function. double range[2]; m_imageData->GetScalarRange(range); if (range[0] < 0.0) { // Likely a molecular orbital, let's make something symmetric. auto magnitude = std::max(std::fabs(range[0]), std::fabs(range[1])); color->AddRGBPoint(-magnitude, 1.0, 0.0, 0.0); color->AddRGBPoint(-0.01 * magnitude, 1.0, 0.0, 0.0); color->AddRGBPoint(0.01 * magnitude, 0.0, 0.0, 1.0); color->AddRGBPoint(magnitude, 0.0, 0.0, 1.0); compositeOpacity->AddPoint(-magnitude, 1.0); compositeOpacity->AddPoint(-0.2 * magnitude, 0.8); compositeOpacity->AddPoint(0, 0.0); compositeOpacity->AddPoint(0.2 * magnitude, 0.8); compositeOpacity->AddPoint(magnitude, 1.0); } } volumeProperty->SetScalarOpacity(compositeOpacity); // composite first. volumeProperty->SetColor(color); m_volume->SetMapper(volumeMapper); m_volume->SetProperty(volumeProperty); } vtkGLWidget::vtkGLWidget(QWidget* p, Qt::WindowFlags f) : QVTKOpenGLWidget(p, f), m_activeTool(nullptr), m_defaultTool(nullptr) { setFocusPolicy(Qt::ClickFocus); connect(&m_scenePlugins, SIGNAL(pluginStateChanged(Avogadro::QtGui::ScenePlugin*)), SLOT(updateScene())); // Set up our renderer, window, scene, etc. vtkNew renderWindow; SetRenderWindow(renderWindow); GetRenderWindow()->AddRenderer(m_vtkRenderer); setFormat(QVTKOpenGLWidget::defaultFormat()); vtkNew interactor; GetInteractor()->SetInteractorStyle(interactor); GetInteractor()->Initialize(); m_vtkRenderer->SetBackground(1.0, 1.0, 1.0); // m_actor->setScene(&this->renderer().scene()); m_moleculeMapper->UseBallAndStickSettings(); m_actor->SetMapper(m_moleculeMapper); m_actor->GetProperty()->SetAmbient(0.0); m_actor->GetProperty()->SetDiffuse(1.0); m_actor->GetProperty()->SetSpecular(0.0); m_actor->GetProperty()->SetSpecularPower(40); m_vtkRenderer->AddActor(m_actor); m_vtkRenderer->AddViewProp(m_volume); // Set up the flying edges contour pipeline. m_contourMapper->SetInputConnection(m_flyingEdges->GetOutputPort()); m_contourActor->GetProperty()->SetOpacity(0.5); m_contourActor->SetMapper(m_contourMapper); m_vtkRenderer->AddActor(m_contourActor); m_contourActor->SetVisibility(0); } vtkGLWidget::~vtkGLWidget() {} void vtkGLWidget::setMolecule(QtGui::Molecule* mol) { clearScene(); if (m_molecule) disconnect(m_molecule, 0, 0, 0); m_molecule = mol; foreach (QtGui::ToolPlugin* tool, m_tools) tool->setMolecule(m_molecule); connect(m_molecule, SIGNAL(changed(unsigned int)), SLOT(updateScene())); connect(m_molecule, SIGNAL(changed(unsigned int)), SLOT(moleculeChanged(unsigned int))); updateCube(); // Reset the camera, re-render. m_vtkRenderer->ResetCamera(); GetRenderWindow()->Render(); } void vtkGLWidget::updateCube() { auto mol = m_molecule; if (mol->cubeCount() > 0) { // Convert the cube to a vtkImageData for volume rendering/contouring. cubeVolume(mol->cube(0)); // Set up a connection for the contour filter too. m_flyingEdges->SetInputData(m_imageData); m_flyingEdges->GenerateValues(2, -0.05, 0.05); m_flyingEdges->ComputeNormalsOn(); m_flyingEdges->ComputeScalarsOn(); m_flyingEdges->SetArrayComponent(0); m_contourMapper->SetLookupTable(m_lut); m_contourMapper->SetScalarRange(m_imageData->GetScalarRange()); emit imageDataUpdated(); } } void vtkGLWidget::moleculeChanged(unsigned int c) { Q_ASSERT(m_molecule == qobject_cast(sender())); // I think we need to look at adding cubes to changes, flaky right now. auto changes = static_cast(c); if (changes & Molecule::Added || changes & Molecule::Removed) { updateCube(); GetRenderWindow()->Render(); } } QtGui::Molecule* vtkGLWidget::molecule() { return m_molecule; } const QtGui::Molecule* vtkGLWidget::molecule() const { return m_molecule; } vtkColorTransferFunction* vtkGLWidget::lut() const { return m_lut; } vtkPiecewiseFunction* vtkGLWidget::opacityFunction() const { return m_opacityFunction; } vtkImageData* vtkGLWidget::imageData() const { return m_imageData; } void vtkGLWidget::renderVolume(bool enable) { m_volume->SetVisibility(enable ? 1 : 0); } void vtkGLWidget::renderIsosurface(bool enable) { m_contourActor->SetVisibility(enable ? 1 : 0); } void vtkGLWidget::setIsoValue(double value) { m_flyingEdges->SetNumberOfContours(2); m_flyingEdges->SetValue(0, -value); m_flyingEdges->SetValue(1, value); } void vtkGLWidget::setOpacity(double value) { m_contourActor->GetProperty()->SetOpacity(value); } void vtkGLWidget::updateScene() { if (m_molecule) { if (m_vtkMolecule) m_vtkMolecule->Delete(); m_vtkMolecule = vtkMolecule::New(); for (Index i = 0; i < m_molecule->atomCount(); ++i) { auto a = m_molecule->atom(i); m_vtkMolecule->AppendAtom(a.atomicNumber(), a.position3d().x(), a.position3d().y(), a.position3d().z()); } for (Index i = 0; i < m_molecule->bondCount(); ++i) { auto b = m_molecule->bond(i); m_vtkMolecule->AppendBond(b.atom1().index(), b.atom2().index(), b.order()); } m_moleculeMapper->SetInputData(m_vtkMolecule); return; } // Build up the scene with the scene plugins, creating the appropriate nodes. QtGui::Molecule* mol = m_molecule; if (!mol) mol = new QtGui::Molecule(this); if (mol) { Rendering::GroupNode& node = m_renderer.scene().rootNode(); node.clear(); Rendering::GroupNode* moleculeNode = new Rendering::GroupNode(&node); foreach (QtGui::ScenePlugin* scenePlugin, m_scenePlugins.activeScenePlugins()) { Rendering::GroupNode* engineNode = new Rendering::GroupNode(moleculeNode); scenePlugin->process(*mol, *engineNode); } // Let the tools perform any drawing they need to do. if (m_activeTool) { Rendering::GroupNode* toolNode = new Rendering::GroupNode(moleculeNode); m_activeTool->draw(*toolNode); } if (m_defaultTool) { Rendering::GroupNode* toolNode = new Rendering::GroupNode(moleculeNode); m_defaultTool->draw(*toolNode); } m_renderer.resetGeometry(); update(); } if (mol != m_molecule) delete mol; } void vtkGLWidget::clearScene() { m_renderer.scene().clear(); } void vtkGLWidget::resetCamera() { m_renderer.resetCamera(); update(); } void vtkGLWidget::resetGeometry() { m_renderer.resetGeometry(); } } // namespace VTK } // namespace Avogadro avogadrolibs-1.93.0/avogadro/vtk/vtkglwidget.h000066400000000000000000000107121360735163600214050ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2014 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef AVOGADRO_VTKGLWIDGET_H #define AVOGADRO_VTKGLWIDGET_H #include "avogadrovtkexport.h" #include #include #include #include #include #include class vtkActor; class vtkColorTransferFunction; class vtkFlyingEdges3D; class vtkMolecule; class vtkMoleculeMapper; class vtkPiecewiseFunction; class vtkPolyDataMapper; class vtkRenderer; class vtkVolume; class vtkImageData; namespace Avogadro { namespace Core { class Cube; } namespace QtGui { class Molecule; class ToolPlugin; } // namespace QtGui namespace VTK { class AVOGADROVTK_EXPORT vtkGLWidget : public QVTKOpenGLWidget { Q_OBJECT public: vtkGLWidget(QWidget* p = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); ~vtkGLWidget(); /** Set the molecule the widget will render. */ void setMolecule(QtGui::Molecule* molecule); /** * Get the molecule being rendered by the widget. * @{ */ QtGui::Molecule* molecule(); const QtGui::Molecule* molecule() const; /** @}*/ /** Get a reference to the renderer for the widget. */ Rendering::GLRenderer& renderer() { return m_renderer; } /** * Get the GLWidget's ScenePluginModel, used to add, delete and modify the * scene plugin items. * @{ */ QtGui::ScenePluginModel& sceneModel() { return m_scenePlugins; } const QtGui::ScenePluginModel& sceneModel() const { return m_scenePlugins; } /** @}*/ /** * Get the color loop up table for the volume renderer. */ vtkColorTransferFunction* lut() const; /** * Get the opacity function for the volume renderer. */ vtkPiecewiseFunction* opacityFunction() const; /** * Get the vtkImageData that is being rendered. */ vtkImageData* imageData() const; /** * Set the cube to render. */ void setCube(Core::Cube* cube); /** * Get the cube being rendered, this is the input for the imageData. */ Core::Cube* cube(); /** * Display the volume rendering. */ void renderVolume(bool enable); /** * Display an isosurface. */ void renderIsosurface(bool enable); /** * Set the isovalue for the isosurface. */ void setIsoValue(double value); /** * Set the isovalue for the isosurface. */ void setOpacity(double value); signals: /** * Emitted if the image data is updated so that histograms etc can update. */ void imageDataUpdated(); public slots: /** * Update the scene plugins for the widget, this will generate geometry in * the scene etc. */ void updateScene(); /** * Clear the contents of the scene. */ void clearScene(); /** Reset the view to fit the entire scene. */ void resetCamera(); /** Reset the geometry when the molecule etc changes. */ void resetGeometry(); /** Volume render the supplied cube. */ void cubeVolume(Core::Cube* cube); private slots: void moleculeChanged(unsigned int c); void updateCube(); private: QPointer m_molecule; QList m_tools; QtGui::ToolPlugin* m_activeTool; QtGui::ToolPlugin* m_defaultTool; Rendering::GLRenderer m_renderer; QtGui::ScenePluginModel m_scenePlugins; // vtkNew m_context; vtkNew m_vtkRenderer; // The volume rendering pieces. vtkNew m_lut; vtkNew m_opacityFunction; vtkSmartPointer m_imageData; vtkNew m_volume; // The contour pieces. vtkNew m_contourActor; vtkNew m_contourMapper; vtkNew m_flyingEdges; // The molecule actor, data structure, mapper. vtkNew m_actor; vtkSmartPointer m_vtkMolecule; vtkNew m_moleculeMapper; }; } // namespace VTK } // namespace Avogadro #endif // AVOGADRO_VTKGLWIDGET_H avogadrolibs-1.93.0/avogadro/vtk/vtkplot.cpp000066400000000000000000000106321360735163600211110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "vtkplot.h" using std::array; using std::string; using std::vector; namespace Avogadro { namespace VTK { void VtkPlot::generatePlot(const vector>& data, const vector& lineLabels, const vector>& lineColors, const char* xTitle, const char* yTitle, const char* windowName) { if (data.size() < 2) { std::cerr << "Error in " << __FUNCTION__ << ": data must be of size 2 or greater!\n"; return; } // Create a table and add the data as columns vtkNew table; for (size_t i = 0; i < data.size(); ++i) { vtkNew array; // Unique column names are necessary to prevent vtk from crashing. array->SetName(("Column " + std::to_string(i)).c_str()); table->AddColumn(array); } // All of the rows must be equal in size currently. Otherwise, we get // a garbage plot. We may be able to improve on this in the future. size_t numRows = data[0].size(); for (size_t i = 1; i < data.size(); ++i) { if (data[i].size() != numRows) { std::cerr << "Error in " << __FUNCTION__ << ": all of the data must " << "have the same number of rows!\n"; return; } } // Put the data in the table table->SetNumberOfRows(numRows); for (size_t i = 0; i < data.size(); ++i) { for (size_t j = 0; j < data[i].size(); ++j) { table->SetValue(j, i, data[i][j]); } } // Set up the view vtkNew renderWindow; QVTKOpenGLWidget* widget = new QVTKOpenGLWidget(); widget->SetRenderWindow(renderWindow); // Hackish, but at least it won't leak widget->setAttribute(Qt::WA_DeleteOnClose); widget->setFormat(QVTKOpenGLWidget::defaultFormat()); vtkNew view; view->SetRenderWindow(renderWindow); view->GetRenderer()->SetBackground(1.0, 1.0, 1.0); view->GetRenderWindow()->SetSize(600, 600); view->GetRenderWindow()->SetWindowName(windowName); // Add the chart vtkNew chart; view->GetScene()->AddItem(chart); vtkAxis* bottomAxis = chart->GetAxis(vtkAxis::BOTTOM); vtkAxis* leftAxis = chart->GetAxis(vtkAxis::LEFT); // Set the axis titles bottomAxis->SetTitle(xTitle); leftAxis->SetTitle(yTitle); // Increase the title font sizes bottomAxis->GetTitleProperties()->SetFontSize(20); leftAxis->GetTitleProperties()->SetFontSize(20); // Increase the tick font sizes bottomAxis->GetLabelProperties()->SetFontSize(20); leftAxis->GetLabelProperties()->SetFontSize(20); // Adjust the range on the x axis bottomAxis->SetBehavior(vtkAxis::FIXED); bottomAxis->SetRange(data[0].front(), data[0].back()); // Add the lines to the chart for (size_t i = 1; i < data.size(); ++i) { vtkPlot* line = chart->AddPlot(vtkChart::LINE); line->SetInputData(table, 0, i); // If we have a label for this line, set it if (i <= lineLabels.size()) line->SetLabel(lineLabels[i - 1]); // If we have a color for this line, set it (rgba) if (i <= lineColors.size()) { line->SetColor(lineColors[i - 1][0], lineColors[i - 1][1], lineColors[i - 1][2], lineColors[i - 1][3]); } line->SetWidth(2.0); } // Start the widget, we probably want to improve this in future. widget->show(); } } // namespace VTK } // namespace Avogadro avogadrolibs-1.93.0/avogadro/vtk/vtkplot.h000066400000000000000000000031441360735163600205560ustar00rootroot00000000000000/******************************************************************************* This source file is part of the Avogadro project. Copyright 2018 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. *******************************************************************************/ #ifndef AVOGADRO_VTK_VTKPLOT_H #define AVOGADRO_VTK_VTKPLOT_H #include "avogadrovtkexport.h" #include #include #include namespace Avogadro { namespace VTK { /** * @brief Generate a plot using VTK */ class AVOGADROVTK_EXPORT VtkPlot { public: // This function can generate multiple lines on the same chart. // data[0] is the x data, and data[i] for i != 0 is the y data for line // i - 1. 'lineLabels' and 'lineColors' should be equal to the number of // lines (data.size() - 1) and ordered in the same way as they are in 'data'. static void generatePlot(const std::vector>& data, const std::vector& lineLabels, const std::vector>& lineColors, const char* xTitle, const char* yTitle, const char* windowName); }; } // namespace VTK } // namespace Avogadro #endif // AVOGADRO_VTK_VTKPLOT_H avogadrolibs-1.93.0/cmake/000077500000000000000000000000001360735163600153525ustar00rootroot00000000000000avogadrolibs-1.93.0/cmake/AvogadroLibsConfig.cmake.in000066400000000000000000000022171360735163600224650ustar00rootroot00000000000000# AvogadroLibs CMake configuration file - http://www.openchemistry.org/ # If this file was found, then OpenQube has been found set(AvogadroLibs_FOUND 1) set(AvogadroLibs_VERSION_MAJOR "@AvogadroLibs_VERSION_MAJOR@") set(AvogadroLibs_VERSION_MINOR "@AvogadroLibs_VERSION_MINOR@") set(AvogadroLibs_VERSION_PATCH "@AvogadroLibs_VERSION_PATCH@") set(AvogadroLibs_VERSION "${AvogadroLibs_VERSION_MAJOR}.${AvogadroLibs_VERSION_MINOR}.${AvogadroLibs_VERSION_PATCH}") set(AvogadroLibs_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@") set(AvogadroLibs_INCLUDE_DIRS "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_INCLUDE_DIR@") set(AvogadroLibs_LIBRARY_DIR "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_LIBRARY_DIR@@LIB_SUFFIX@") set(AvogadroLibs_RUNTIME_DIR "${AvogadroLibs_INSTALL_PREFIX}/@INSTALL_RUNTIME_DIR@") set(AvogadroLibs_CMAKE_DIR "${AvogadroLibs_LIBRARY_DIR}/cmake/avogadrolibs") # List of target names that are plugins: set(AvogadroLibs_PLUGINS "@AvogadroLibs_PLUGINS@") set(AvogadroLibs_STATIC_PLUGINS "@AvogadroLibs_STATIC_PLUGINS@") if(NOT TARGET AvogadroCore) include("${AvogadroLibs_CMAKE_DIR}/AvogadroLibsTargets.cmake") endif() avogadrolibs-1.93.0/cmake/AvogadroLibsConfigVersion.cmake.in000066400000000000000000000011471360735163600240340ustar00rootroot00000000000000# AvogadroLibs CMake version file - http://www.openchemistry.org/ set(PACKAGE_VERSION @AvogadroLibs_VERSION_MAJOR@.@AvogadroLibs_VERSION_MINOR@.@AvogadroLibs_VERSION_PATCH@) if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") set(PACKAGE_VERSION_COMPATIBLE FALSE) else("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") set(PACKAGE_VERSION_COMPATIBLE TRUE) if("${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}") set(PACKAGE_VERSION_EXACT TRUE) endif("${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}") endif("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") avogadrolibs-1.93.0/cmake/BuildLocation.cmake000066400000000000000000000006031360735163600211030ustar00rootroot00000000000000# Set up our directory structure for output libraries and binaries if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") endif() if(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY) if(UNIX) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib") else() set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") endif() endif() avogadrolibs-1.93.0/cmake/BuildType.cmake000066400000000000000000000006561360735163600202640ustar00rootroot00000000000000# Set a default build type if none was specified if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message(STATUS "Setting build type to 'Debug' as none was specified.") set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE) # Set the possible values of build type for cmake-gui set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") endif() avogadrolibs-1.93.0/cmake/CTestCustom.cmake.in000066400000000000000000000007351360735163600212030ustar00rootroot00000000000000set(CTEST_CUSTOM_COVERAGE_EXCLUDE ${CTEST_CUSTOM_COVERAGE_EXCLUDE} "tests.*.cpp" # Exclude all third party code. ".*/thirdparty/.*" # Exclude MOC files (Qt). "moc_" ) set(CTEST_CUSTOM_WARNING_EXCEPTION ${CTEST_CUSTOM_WARNING_EXCEPTION} # Exclude all third party code. ".*/thirdparty/.*" # Qt5Json snapshot ".*/qt5json/.*" # Nested Qt foreach loops produce this warning: "_container_.* shadows a previous local" "shadowed declaration is here" ) avogadrolibs-1.93.0/cmake/CheckCXXSymbolExists.cmake000066400000000000000000000037301360735163600223450ustar00rootroot00000000000000# - Check if a symbol exists as a function, variable, or macro in C++ # CHECK_CXX_SYMBOL_EXISTS( ) # # Check that the is available after including given header # and store the result in a . Specify the list # of files in one argument as a semicolon-separated list. # CHECK_CXX_SYMBOL_EXISTS() can be used to check in C++ files, as opposed # to CHECK_SYMBOL_EXISTS(), which works only for C. # # If the header files define the symbol as a macro it is considered # available and assumed to work. If the header files declare the # symbol as a function or variable then the symbol must also be # available for linking. If the symbol is a type or enum value # it will not be recognized (consider using CheckTypeSize or # CheckCSourceCompiles). # # The following variables may be set before calling this macro to # modify the way the check is run: # # CMAKE_REQUIRED_FLAGS = string of compile command line flags # CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar) # CMAKE_REQUIRED_INCLUDES = list of include directories # CMAKE_REQUIRED_LIBRARIES = list of libraries to link #============================================================================= # Copyright 2003-2011 Kitware, Inc. # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. # # This software is distributed WITHOUT ANY WARRANTY; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #============================================================================= # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) INCLUDE(CheckSymbolExists) MACRO(CHECK_CXX_SYMBOL_EXISTS SYMBOL FILES VARIABLE) _CHECK_SYMBOL_EXISTS("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.cxx" "${SYMBOL}" "${FILES}" "${VARIABLE}" ) ENDMACRO(CHECK_CXX_SYMBOL_EXISTS) avogadrolibs-1.93.0/cmake/CheckSymbolExists.cmake000066400000000000000000000105521360735163600217620ustar00rootroot00000000000000# - Check if a symbol exists as a function, variable, or macro # CHECK_SYMBOL_EXISTS( ) # # Check that the is available after including given header # and store the result in a . Specify the list # of files in one argument as a semicolon-separated list. # # If the header files define the symbol as a macro it is considered # available and assumed to work. If the header files declare the # symbol as a function or variable then the symbol must also be # available for linking. If the symbol is a type or enum value # it will not be recognized (consider using CheckTypeSize or # CheckCSourceCompiles). # If the check needs to be done in C++, consider using CHECK_CXX_SYMBOL_EXISTS(), # which does the same as CHECK_SYMBOL_EXISTS(), but in C++. # # The following variables may be set before calling this macro to # modify the way the check is run: # # CMAKE_REQUIRED_FLAGS = string of compile command line flags # CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar) # CMAKE_REQUIRED_INCLUDES = list of include directories # CMAKE_REQUIRED_LIBRARIES = list of libraries to link #============================================================================= # Copyright 2003-2011 Kitware, Inc. # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. # # This software is distributed WITHOUT ANY WARRANTY; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #============================================================================= # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) MACRO(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE) _CHECK_SYMBOL_EXISTS("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c" "${SYMBOL}" "${FILES}" "${VARIABLE}" ) ENDMACRO(CHECK_SYMBOL_EXISTS) MACRO(_CHECK_SYMBOL_EXISTS SOURCEFILE SYMBOL FILES VARIABLE) IF("${VARIABLE}" MATCHES "^${VARIABLE}$") SET(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n") SET(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS}) IF(CMAKE_REQUIRED_LIBRARIES) SET(CHECK_SYMBOL_EXISTS_LIBS "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}") ELSE(CMAKE_REQUIRED_LIBRARIES) SET(CHECK_SYMBOL_EXISTS_LIBS) ENDIF(CMAKE_REQUIRED_LIBRARIES) IF(CMAKE_REQUIRED_INCLUDES) SET(CMAKE_SYMBOL_EXISTS_INCLUDES "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}") ELSE(CMAKE_REQUIRED_INCLUDES) SET(CMAKE_SYMBOL_EXISTS_INCLUDES) ENDIF(CMAKE_REQUIRED_INCLUDES) FOREACH(FILE ${FILES}) SET(CMAKE_CONFIGURABLE_FILE_CONTENT "${CMAKE_CONFIGURABLE_FILE_CONTENT}#include <${FILE}>\n") ENDFOREACH(FILE) SET(CMAKE_CONFIGURABLE_FILE_CONTENT "${CMAKE_CONFIGURABLE_FILE_CONTENT}\nvoid cmakeRequireSymbol(int dummy,...){(void)dummy;}\nint main()\n{\n#ifndef ${SYMBOL}\n cmakeRequireSymbol(0,&${SYMBOL});\n#endif\n return 0;\n}\n") CONFIGURE_FILE("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in" "${SOURCEFILE}" @ONLY IMMEDIATE) MESSAGE(STATUS "Looking for ${SYMBOL}") TRY_COMPILE(${VARIABLE} ${CMAKE_BINARY_DIR} "${SOURCEFILE}" COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS} "${CHECK_SYMBOL_EXISTS_LIBS}" "${CMAKE_SYMBOL_EXISTS_INCLUDES}" OUTPUT_VARIABLE OUTPUT) IF(${VARIABLE}) MESSAGE(STATUS "Looking for ${SYMBOL} - found") SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}") FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "Determining if the ${SYMBOL} " "exist passed with the following output:\n" "${OUTPUT}\nFile ${SOURCEFILE}:\n" "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n") ELSE(${VARIABLE}) MESSAGE(STATUS "Looking for ${SYMBOL} - not found.") SET(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}") FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Determining if the ${SYMBOL} " "exist failed with the following output:\n" "${OUTPUT}\nFile ${SOURCEFILE}:\n" "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n") ENDIF(${VARIABLE}) ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$") ENDMACRO(_CHECK_SYMBOL_EXISTS) avogadrolibs-1.93.0/cmake/CompilerFlags.cmake000066400000000000000000000026571360735163600211150ustar00rootroot00000000000000if(CMAKE_COMPILER_IS_GNUCXX) include(CheckCXXCompilerFlag) # Addtional warnings for GCC set(CMAKE_CXX_FLAGS_WARN "-Wnon-virtual-dtor -Wno-long-long -Wcast-align -Wchar-subscripts -Wall -Wpointer-arith -Wformat-security -Woverloaded-virtual -fno-check-new -fno-common") # This flag is useful as not returning from a non-void function is an error # with MSVC, but it is not supported on all GCC compiler versions check_cxx_compiler_flag("-Werror=return-type" HAVE_GCC_ERROR_RETURN_TYPE) if(HAVE_GCC_ERROR_RETURN_TYPE) set(CMAKE_CXX_FLAGS_ERROR "-Werror=return-type") endif() set(CMAKE_CXX_FLAGS_WARN "${CMAKE_CXX_FLAGS_WARN} -pedantic -Wshadow -Wextra") # If we are compiling on Linux then set some extra linker flags too if(CMAKE_SYSTEM_NAME MATCHES Linux) set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_SHARED_LINKER_FLAGS}") set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_MODULE_LINKER_FLAGS}") set (CMAKE_EXE_LINKER_FLAGS "-Wl,--fatal-warnings -Wl,--no-undefined -lc ${CMAKE_EXE_LINKER_FLAGS}") endif() # Set up the debug CXX_FLAGS for extra warnings set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${CMAKE_CXX_FLAGS_WARN}") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_WARN} ${CMAKE_CXX_FLAGS_ERROR}") set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") endif() avogadrolibs-1.93.0/cmake/DetermineVersion.cmake000066400000000000000000000042331360735163600216400ustar00rootroot00000000000000# Used to determine the version for OpenChemistry source using "git describe", if git # is found. On success sets following variables in caller's scope: # ${var_prefix}_VERSION # ${var_prefix}_VERSION_MAJOR # ${var_prefix}_VERSION_MINOR # ${var_prefix}_VERSION_PATCH # ${var_prefix}_VERSION_PATCH_EXTRA # ${var_prefix}_VERSION_IS_RELEASE is patch-extra is empty. # # If git is not found, or git describe cannot be run successfully, then these # variables are left unchanged and status message is printed. # # Arguments are: # source_dir : Source directory # git_command : git executable # var_prefix : prefix for variables e.g. "AvogadroApp". function(determine_version source_dir git_command var_prefix) set (major) set (minor) set (patch) set (full) set (patch_extra) if (EXISTS ${git_command}) execute_process( COMMAND ${git_command} describe WORKING_DIRECTORY ${source_dir} RESULT_VARIABLE result OUTPUT_VARIABLE output ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE) if (${result} EQUAL 0) string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)[-]*(.*)" version_matches ${output}) if (CMAKE_MATCH_0) message(STATUS "Determined Source Version : ${CMAKE_MATCH_0}") set (full ${CMAKE_MATCH_0}) set (major ${CMAKE_MATCH_1}) set (minor ${CMAKE_MATCH_2}) set (patch ${CMAKE_MATCH_3}) set (patch_extra ${CMAKE_MATCH_4}) endif() endif() endif() if (full) set (${var_prefix}_VERSION ${full} PARENT_SCOPE) set (${var_prefix}_VERSION_MAJOR ${major} PARENT_SCOPE) set (${var_prefix}_VERSION_MINOR ${minor} PARENT_SCOPE) set (${var_prefix}_VERSION_PATCH ${patch} PARENT_SCOPE) set (${var_prefix}_VERSION_PATCH_EXTRA ${patch_extra} PARENT_SCOPE) if ("${major}.${minor}.${patch}" EQUAL "${full}") set (${var_prefix}_VERSION_IS_RELEASE TRUE PARENT_SCOPE) else () set (${var_prefix}_VERSION_IS_RELEASE FALSE PARENT_SCOPE) endif() else() message(STATUS "Could not use git to determine source version, using version ${${var_prefix}_VERSION}" ) endif() endfunction()avogadrolibs-1.93.0/cmake/DownloadGenXrdPattern.cmake000066400000000000000000000047461360735163600226040ustar00rootroot00000000000000# Written by Patrick S. Avery - 2018 # Downloads the executable if it doesn't already exist macro(DownloadGenXrdPattern) # Let's set the name. Windows likes to add '.exe' at the end if(WIN32) set(GENXRDPATTERN_NAME "genXrdPattern.exe") else(WIN32) set(GENXRDPATTERN_NAME "genXrdPattern") endif(WIN32) # If it already exists, don't download it again if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/bin/${GENXRDPATTERN_NAME}") set(GENXRDPATTERN_V "1.0-static") # Linux if(UNIX AND NOT APPLE) set(GENXRDPATTERN_DOWNLOAD_LOCATION "https://github.com/psavery/genXrdPattern/releases/download/${GENXRDPATTERN_V}/linux64-genXrdPattern") set(MD5 "e1b3c1d6b951ed83a037567490d75f1d") # Apple elseif(APPLE) set(GENXRDPATTERN_DOWNLOAD_LOCATION "https://github.com/psavery/genXrdPattern/releases/download/${GENXRDPATTERN_V}/osx64-genXrdPattern") set(MD5 "229b01c8efab981d812043684dae84fe") # Windows elseif(WIN32 AND NOT CYGWIN) set(GENXRDPATTERN_DOWNLOAD_LOCATION "https://github.com/psavery/genXrdPattern/releases/download/${GENXRDPATTERN_V}/win64-genXrdPattern.exe") set(MD5 "7b1a1e18a6044773c631189cbfd8b440") else() message(FATAL_ERROR "GenXrdPattern is not supported with the current OS type!") endif() message(STATUS "Downloading genXrdPattern executable from ${GENXRDPATTERN_DOWNLOAD_LOCATION}") # Install to a temporary directory so we can copy and change file # permissions file(DOWNLOAD "${GENXRDPATTERN_DOWNLOAD_LOCATION}" "${CMAKE_CURRENT_BINARY_DIR}/tmp/${GENXRDPATTERN_NAME}" SHOW_PROGRESS EXPECTED_MD5 ${MD5}) # We need to change the permissions file(COPY "${CMAKE_CURRENT_BINARY_DIR}/tmp/${GENXRDPATTERN_NAME}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/bin/" FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) # Now remove the temporary directory file(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/tmp") endif(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/bin/${GENXRDPATTERN_NAME}") set(GENXRDPATTERN_DESTINATION "bin") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/bin/${GENXRDPATTERN_NAME}" DESTINATION "${GENXRDPATTERN_DESTINATION}" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) endmacro(DownloadGenXrdPattern) avogadrolibs-1.93.0/cmake/FindEigen3.cmake000066400000000000000000000056621360735163600203000ustar00rootroot00000000000000# - Try to find Eigen3 lib # # This module supports requiring a minimum version, e.g. you can do # find_package(Eigen3 3.1.2) # to require version 3.1.2 or newer of Eigen3. # # Once done this will define # # EIGEN3_FOUND - system has eigen lib with correct version # EIGEN3_INCLUDE_DIR - the eigen include directory # EIGEN3_VERSION - eigen version # Copyright (c) 2006, 2007 Montel Laurent, # Copyright (c) 2008, 2009 Gael Guennebaud, # Copyright (c) 2009 Benoit Jacob # Redistribution and use is allowed according to the terms of the 2-clause BSD license. if(NOT Eigen3_FIND_VERSION) if(NOT Eigen3_FIND_VERSION_MAJOR) set(Eigen3_FIND_VERSION_MAJOR 2) endif(NOT Eigen3_FIND_VERSION_MAJOR) if(NOT Eigen3_FIND_VERSION_MINOR) set(Eigen3_FIND_VERSION_MINOR 91) endif(NOT Eigen3_FIND_VERSION_MINOR) if(NOT Eigen3_FIND_VERSION_PATCH) set(Eigen3_FIND_VERSION_PATCH 0) endif(NOT Eigen3_FIND_VERSION_PATCH) set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}") endif(NOT Eigen3_FIND_VERSION) macro(_eigen3_check_version) file(READ "${EIGEN3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header) string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}") set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}") string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}") set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}") string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}") set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}") set(EIGEN3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION}) if(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) set(EIGEN3_VERSION_OK FALSE) else(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) set(EIGEN3_VERSION_OK TRUE) endif(${EIGEN3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION}) if(NOT EIGEN3_VERSION_OK) message(STATUS "Eigen3 version ${EIGEN3_VERSION} found in ${EIGEN3_INCLUDE_DIR}, " "but at least version ${Eigen3_FIND_VERSION} is required") endif(NOT EIGEN3_VERSION_OK) endmacro(_eigen3_check_version) if (EIGEN3_INCLUDE_DIR) # in cache already _eigen3_check_version() set(EIGEN3_FOUND ${EIGEN3_VERSION_OK}) else (EIGEN3_INCLUDE_DIR) find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library PATHS ${CMAKE_INSTALL_PREFIX}/include ${KDE4_INCLUDE_DIR} PATH_SUFFIXES eigen3 eigen ) if(EIGEN3_INCLUDE_DIR) _eigen3_check_version() endif(EIGEN3_INCLUDE_DIR) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Eigen3 DEFAULT_MSG EIGEN3_INCLUDE_DIR EIGEN3_VERSION_OK) mark_as_advanced(EIGEN3_INCLUDE_DIR) endif(EIGEN3_INCLUDE_DIR) avogadrolibs-1.93.0/cmake/FindGLEW.cmake000066400000000000000000000007301360735163600177130ustar00rootroot00000000000000# Find the GLEW library # # Defines: # # GLEW_FOUND - system has GLEW # GLEW_INCLUDE_DIRS - the GLEW include directories # GLEW_LIBRARY - The GLEW library # find_path(GLEW_INCLUDE_DIR GL/glew.h) find_library(GLEW_LIBRARY NAMES GLEW glew32) set(GLEW_INCLUDE_DIRS "${GLEW_INCLUDE_DIR}") include(FindPackageHandleStandardArgs) find_package_handle_standard_args(GLEW DEFAULT_MSG GLEW_INCLUDE_DIR GLEW_LIBRARY) mark_as_advanced(GLEW_INCLUDE_DIR GLEW_LIBRARY) avogadrolibs-1.93.0/cmake/FindLibArchive.cmake000066400000000000000000000012461360735163600211700ustar00rootroot00000000000000# Find the LIBARCHIVE library # # Defines: # # LIBARCHIVE_FOUND - system has LIBARCHIVE # LIBARCHIVE_INCLUDE_DIRS - the LIBARCHIVE include directories # LIBARCHIVE_LIBRARIES - The LIBARCHIVE library # find_path(LIBARCHIVE_INCLUDE_DIR archive.h) # libarchive/archive_entry.h) find_library(LIBARCHIVE_LIBRARY NAMES archive) set(LIBARCHIVE_INCLUDE_DIRS "${LIBARCHIVE_INCLUDE_DIR}") set(LIBARCHIVE_LIBRARIES "${LIBARCHIVE_LIBRARY}") include(FindPackageHandleStandardArgs) find_package_handle_standard_args(LIBARCHIVE DEFAULT_MSG LIBARCHIVE_INCLUDE_DIR LIBARCHIVE_LIBRARY) mark_as_advanced(LIBARCHIVE_INCLUDE_DIR LIBARCHIVE_LIBRARY) avogadrolibs-1.93.0/cmake/FindMMTF.cmake000066400000000000000000000005501360735163600177200ustar00rootroot00000000000000# Find the MMTF library # # Defines: # # MMTF_FOUND - system has MMTF # MMTF_INCLUDE_DIRS - the MMTF include directories # find_path(MMTF_INCLUDE_DIR mmtf.hpp) set(MMTF_INCLUDE_DIRS "${MMTF_INCLUDE_DIR}") include(FindPackageHandleStandardArgs) find_package_handle_standard_args(MMTF DEFAULT_MSG MMTF_INCLUDE_DIR) mark_as_advanced(MMTF_INCLUDE_DIR) avogadrolibs-1.93.0/cmake/FindSpglib.cmake000066400000000000000000000010421360735163600203720ustar00rootroot00000000000000# Find the Spglib library # # Defines: # # SPGLIB_FOUND - system has Spglib # SPGLIB_INCLUDE_DIRS - the Spglib include directories # SPGLIB_LIBRARY - The Spglib library # find_path(SPGLIB_INCLUDE_DIR spglib/spglib.h) find_library(SPGLIB_LIBRARY NAMES spglib symspg) set(SPGLIB_INCLUDE_DIRS "${SPGLIB_INCLUDE_DIR}") include(FindPackageHandleStandardArgs) find_package_handle_standard_args(SPGLIB DEFAULT_MSG SPGLIB_INCLUDE_DIR SPGLIB_LIBRARY) mark_as_advanced(SPGLIB_INCLUDE_DIR SPGLIB_LIBRARY) avogadrolibs-1.93.0/cmake/Findlibmsym.cmake000066400000000000000000000011271360735163600206320ustar00rootroot00000000000000# Find the libmsym library # # Defines: # # LIBMSYM_FOUND - system has LIBMSYM # LIBMSYM_INCLUDE_DIRS - the LIBMSYM include directories # LIBMSYM_LIBRARIES - The LIBMSYM library # find_path(LIBMSYM_INCLUDE_DIR libmsym/msym.h) find_library(LIBMSYM_LIBRARY NAMES libmsym) set(LIBMSYM_INCLUDE_DIRS "${LIBMSYM_INCLUDE_DIR}") set(LIBMSYM_LIBRARIES "${LIBMSYM_LIBRARY}") include(FindPackageHandleStandardArgs) find_package_handle_standard_args(LIBMSYM DEFAULT_MSG LIBMSYM_INCLUDE_DIR LIBMSYM_LIBRARY) mark_as_advanced(LIBMSYM_INCLUDE_DIR LIBMSYM_LIBRARY) avogadrolibs-1.93.0/cmake/InstallLocation.cmake000066400000000000000000000032561360735163600214610ustar00rootroot00000000000000# Some default installation locations. These should be global, with any project # specific locations added to the end. These paths are all relative to the # install prefix. # # These paths attempt to adhere to the FHS, and are similar to those provided # by autotools and used in many Linux distributions. # # Use GNU install directories include(GNUInstallDirs) if(NOT INSTALL_RUNTIME_DIR) set(INSTALL_RUNTIME_DIR "${CMAKE_INSTALL_BINDIR}") endif() if(NOT INSTALL_LIBRARY_DIR) set(INSTALL_LIBRARY_DIR "${CMAKE_INSTALL_LIBDIR}") endif() if(NOT INSTALL_ARCHIVE_DIR) set(INSTALL_ARCHIVE_DIR "${CMAKE_INSTALL_LIBDIR}") endif() if(NOT INSTALL_INCLUDE_DIR) set(INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}") endif() if(NOT INSTALL_DATA_DIR) set(INSTALL_DATA_DIR "${CMAKE_INSTALL_DATAROOTDIR}") endif() if(NOT INSTALL_DOC_DIR) set(INSTALL_DOC_DIR "${CMAKE_INSTALL_DOCDIR}") endif() if(NOT INSTALL_MAN_DIR) set(INSTALL_MAN_DIR "${CMAKE_INSTALL_MANDIR}") endif() if(UNIX AND NOT APPLE) if(NOT INSTALL_XDG_APP_DIR) set(INSTALL_XDG_APPS_DIR "${INSTALL_DATA_DIR}/applications") endif() if(NOT INSTALL_XDG_ICON_DIR) set(INSTALL_XDG_ICON_DIR "${INSTALL_DATA_DIR}/pixmaps") endif() endif() # Set up RPATH for the project too. option(ENABLE_RPATH "Enable rpath support on Linux and Mac" ON) if(NOT CMAKE_INSTALL_RPATH) set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${INSTALL_LIBRARY_DIR}") endif() if(APPLE AND NOT CMAKE_INSTALL_NAME_DIR) set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_LIBRARY_DIR}") endif() if(UNIX AND ENABLE_RPATH) set(CMAKE_SKIP_BUILD_RPATH FALSE) set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) endif() avogadrolibs-1.93.0/cmake/avogadroplugin.cpp.in000066400000000000000000000025271360735163600215120ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include @PluginIncludes@ namespace Avogadro { namespace QtPlugins { class @PluginName@Factory : public QObject, public QtGui::@PluginType@Factory { Q_OBJECT Q_PLUGIN_METADATA(IID "org.openchemistry.avogadro.@PluginType@Factory") Q_INTERFACES(Avogadro::QtGui::@PluginType@Factory) public: explicit @PluginName@Factory(QObject *parent_ = 0) : QObject(parent_) {} QtGui::@PluginType@ * createInstance() { @PluginClass@ *object = new @PluginClass@(parent()); object->setObjectName("@PluginName@"); return object; } QString identifier() const { return "@PluginName@"; } QString description() const { return "@PluginDescription@"; } }; } } #include "@PluginName@Plugin.moc" avogadrolibs-1.93.0/cmake/version.h.in000066400000000000000000000015641360735163600176230ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #ifndef VERSION_H_ #define VERSION_H_ #include "avogadrocoreexport.h" #cmakedefine AvogadroLibs_VERSION "@AvogadroLibs_VERSION@" namespace Avogadro { AVOGADROCORE_EXPORT const char *version(); } // end Avogadro namespace #endif /* VERSION_H_ */ avogadrolibs-1.93.0/docs/000077500000000000000000000000001360735163600152225ustar00rootroot00000000000000avogadrolibs-1.93.0/docs/CMakeLists.txt000066400000000000000000000007221360735163600177630ustar00rootroot00000000000000find_package(Doxygen REQUIRED) set(doxygen_source_dirs "${AvogadroLibs_SOURCE_DIR}/avogadro ${AvogadroLibs_SOURCE_DIR}/docs") set(doxygen_output_dir "${CMAKE_CURRENT_BINARY_DIR}") configure_file("${CMAKE_CURRENT_SOURCE_DIR}/doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/doxyfile") add_custom_target(documentation COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_BINARY_DIR}/html COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxyfile) avogadrolibs-1.93.0/docs/doxyfile.in000066400000000000000000002046511360735163600174050ustar00rootroot00000000000000# Doxyfile 1.7.1 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = @CMAKE_PROJECT_NAME@ # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = @AvogadroLibs_VERSION@ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = @doxygen_output_dir@ # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = NO # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 2 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given extension. # Doxygen has a built-in mapping, but you can override or extend it using this # tag. The format is ext=language, where ext is a file extension, and language # is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, # C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make # doxygen treat .inc files as Fortran files (default is PHP), and .f files as C # (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions # you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. EXTENSION_MAPPING = # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = YES # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen to replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = YES # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = YES # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penality. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will rougly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = NO # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = YES # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = NO # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = YES # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen # will list include files with double quotes in the documentation # rather than with sharp brackets. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = NO # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = NO # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen # will sort the (brief and detailed) documentation of class members so that # constructors and destructors are listed first. If set to NO (the default) # the constructors will appear in the respective orders defined by # SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. # This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO # and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = YES # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = NO # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = NO # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = NO # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. The create the layout file # that represents doxygen's defaults, run doxygen with the -l option. # You can optionally specify a file name after the option, if omitted # DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = @doxygen_source_dirs@ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = *.h \ *.dox # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = moc_*.cpp # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = images # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the stylesheet and background images # according to this color. Hue is specified as an angle on a colorwheel, # see http://en.wikipedia.org/wiki/Hue for more information. # For instance the value 0 represents red, 60 is yellow, 120 is green, # 180 is cyan, 240 is blue, 300 purple, and 360 is red again. # The allowed range is 0 to 359. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of # the colors in the HTML output. For a value of 0 the output will use # grayscales only. A value of 255 will produce the most vivid colors. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to # the luminance component of the colors in the HTML output. Values below # 100 gradually make the output lighter, whereas values above 100 make # the output darker. The value divided by 100 is the actual gamma applied, # so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, # and 100 does not change the gamma. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. HTML_TIMESTAMP = YES # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated # that can be used as input for Qt's qhelpgenerator to generate a # Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to # add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see # # Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's # filter section matches. # # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help # plugin. To install this plugin and make it available under the help contents # menu in Eclipse, the contents of the directory containing the HTML and XML # files needs to be copied into the plugins directory of eclipse. The name of # the directory within the plugins directory should be the same as # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before # the help appears. GENERATE_ECLIPSEHELP = NO # A unique identifier for the eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have # this name. ECLIPSE_DOC_ID = org.doxygen.Project # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 1 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. GENERATE_TREEVIEW = NO # By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list. USE_INLINE_TREES = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open # links to external symbols imported via tag files in a separate window. EXT_LINKS_IN_WINDOW = NO # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 14 # Use the FORMULA_TRANPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are # not supported properly for IE 6.0, but are supported on all modern browsers. # Note that when changing this option you need to delete any form_*.png files # in the HTML output before the changes have effect. FORMULA_TRANSPARENT = YES # When the SEARCHENGINE tag is enabled doxygen will generate a search box # for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using # HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets # (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be # implemented using a PHP enabled web server instead of at the web client # using Javascript. Doxygen will generate the search PHP script and index # file to put on the web server. The advantage of the server # based approach is that it scales better to large projects and allows # full text search. The disadvances is that it is more difficult to setup # and does not have live searching capabilities. SERVER_BASED_SEARCH = NO #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. # Note that when enabling USE_PDFLATEX this option is only used for # generating bitmaps for formulas in the HTML output, but not in the # Makefile that is written to the output directory. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO # If LATEX_SOURCE_CODE is set to YES then doxygen will include # source code with syntax highlighting in the LaTeX output. # Note that which sources are shown also depends on other settings # such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = NO # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is # allowed to run in parallel. When set to 0 (the default) doxygen will # base this on the number of processors available in the system. You can set it # explicitly to a value larger than 0 to get control over the balance # between CPU load and processing speed. DOT_NUM_THREADS = 0 # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need # these (or just want a differently looking font) you can specify the font name # using DOT_FONTNAME. You need need to make sure dot is able to find the font, # which can be done by putting it in a standard location or by setting the # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the output directory to look for the # FreeSans.ttf font (which doxygen will put there itself). If you specify a # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = YES # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES avogadrolibs-1.93.0/docs/mainpage.dox000066400000000000000000000051551360735163600175250ustar00rootroot00000000000000namespace Avogadro { /** @mainpage Avogadro Libraries API Documentation @section avogadro Introduction The Avogadro libraries are developed to support the Avogadro2 application, and provide liberally BSD-licensed, open-source reusable components. At its core it is a platform for developing molecular visualization, editing and interactive simulation applications. This is achieved using a collection of libraries, along with a plugin interface allowing the platform to be easily extended and used in a variety of environments. @subsection main Main Classes The Avogadro libraries are implemented as a set of libraries, where all classes are implemented in the Avogadro namespace, and each library uses a namespace to distinguish members of that library. Include directories are also divided up by library, resulting in classes such as Avogadro::Core::Molecule in the include file . Some of the main classes that are useful to get acquainted with are: - Core::Molecule : The base molecule class, for representing molecules. - Core::Atom : Class representing atoms in a molecule. - Core::Bond : Class representing bonds in a molecule. - Io::FileFormatManager : Convenience functions for file format wrangling. - Io::FileFormat : Base class for all file format readers and writers. - Io::CjsonFormat : Chemical JSON format reader and writeer. - Io::CmlFormat : Chemical Markup Language reader/writer. - Rendering::Scene : Class managing the main scene graph used for rendering. - Rendering::Drawable : Base class for drawable items in the scene. - Rendering::SphereGeometry : Drawable item for spheres. - Rendering::CylinderGeometry : Drawable item for cylinders. - QtGui::PeriodicTableView : A periodic table widget. - QtOpenGL::GLWidget : Provides an OpenGL based widget for molecule rendering. If you wish to extend Avogadro the main plugin base classes are: - QtGui::ScenePlugin : Generate geometry to be rendered in the scene. - QtGui::ToolPlugin : Base class for mouse interaction, editing, etc. - QtGui::ExtensionPlugin : Base class for dialog/menu extensions. @section resources Resources This project is developed as part of the Open Chemistry project. Please see the development guide if you would like to contribute to the project. Some key resources include: - Wiki : http://wiki.openchemistry.org/ - Bug tracker : http://projects.openchemistry.org/ - Dashboard : http://cdash.openchemistry.org/index.php?project=AvogadroLibs - Mailing lists: http://www.openchemistry.org/OpenChemistry/help/mailing.html */ } avogadrolibs-1.93.0/i18n/000077500000000000000000000000001360735163600150515ustar00rootroot00000000000000avogadrolibs-1.93.0/i18n/ar.po000066400000000000000000003471311360735163600160240ustar00rootroot00000000000000# Arabic translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:27+0000\n" "Last-Translator: mohamed gamal \n" "Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "أكمل" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "غير معروف" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "تعطيل الحساب" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "تحذير" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "تحذير" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "حدد المذيبات" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "لا يمكن الكتابة إلى ملف." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "لم يُكتب ملف الفيديو." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "لم يُكتب ملف الفيديو." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "العنوان" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "تعطيل الحساب" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "اﻷساس" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "إيقاف الرسوم المتحركة" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "لا ذرات مختارة" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "هيدروجين" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "هيليوم" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "ليثيوم" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "بريليوم" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "بورون" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "كربون" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "نيتروجين" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "أكسجين" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "فلور" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "نيون" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "صوديوم" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "منجنيزوم" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "ألومنيوم" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "سليكون" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "فوسفور" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "كبريت" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "كلور" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "أرجون" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "بوتاسيوم" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "كالسيوم" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "سكانديوم" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "تيتانيوم" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "فانيديوم" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "كروم" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "منجنيز" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "حديد" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "كوبالت" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "نيكال" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "نحاس" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "زنك" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "جاليوم" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "جرمانيوم" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "زرنيخ" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "سيلينيوم" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "بروم" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "كريبتون" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "روبيديوم" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "سترونتيوم" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "يتريوم" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "زركونيوم" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "نيوبيوم" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "مولبيدن" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "تكنيتيوم" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "ئروثينيوم" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "روديوم" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "بلاديوم" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "فضة" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "كاديوم" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "إنديوم" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "قصدير" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "أنتيمون" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "تيلوريوم" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "يود" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "إكزينون" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "سيزيوم" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "باريوم" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "لانثانوم" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "سيريوم" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "براسيوديميوم" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "نيوديميوم" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "بروميثيوم" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "ساماريوم" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "يوروبيوم" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "جادولينيوم" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "تريبيوم" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "ديسبروسيوم" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "هولميوم" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "إريبيوم" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "ثوليوم" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "يتربيوم" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "لوتيسيوم" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "هفنيوم" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "تانتالم" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "تنجستن" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "رينيوم" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "أوزميوم" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "إريديوم" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "بلاتين" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "ذهب" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "زئبق" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "ثاليوم" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "رصاص" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "بزموث" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "بولونيوم" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "أستاتين" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "رادون" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "فرانسيوم" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "راديوم" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "أكتينيوم" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "ثوريوم" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "بروتكتتينيوم" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "يورانيوم" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "نبتونيوم" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "بولتونيوم" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "أمريكيوم" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "كوريوم" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "بركليوم" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "كالفورنيوم" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "أينشتانيوم" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "فرميوم" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "مندليفيوم" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "نوبليوم" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "لورنسيوم" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "رذرفورديوم" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "دبنيوم" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "سيبورجيوم" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "بوريوم" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "هاسيوم" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "مايتنريوم" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "دارمشتانيوم" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "روينتجينيوم" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "الكوبرنيسيوم" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "زركونيوم" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "الفليروفيوم" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "ليفرموريوم" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "حدد المذيبات" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "احذف المنتقى" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "كافة الملفات" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "بلا عنوان" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "الجدول الدوري" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "غير معروف" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "بدء الذرة" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "عنصر" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "إزالة الهيدروجين" #: qtgui/rwmolecule.cpp:758 msgid "Clear Bonds" msgstr "" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "ترتيب الرابطة" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 msgid "Update Bond" msgstr "" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&ملف" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "صدِّر" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "الإضافات" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "خطأ" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "خطأ" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "نجاح!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "صورة مكتوبة بنجاح %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "الهيدروجين" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "الكرة والعصا" #: qtplugins/ballandstick/ballandstick.h:47 msgid "Render atoms as spheres and bonds as cylinders." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "نهاية الذرة" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "إزالة الهيدروجين" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&بناء" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "رباط" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "اسم الملف عير صالح" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "اسم الملف عير صالح" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "اسم العنصر" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "اسم الملف عير صالح" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "اسم العنصر" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "اسم الملف عير صالح" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "اسم الملف عير صالح" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,AtomCell,عبد الله شلي (Abdellah Chelli), ," "Launchpad Contributions:,AtomCell,TheLight,عبد الله شلي (Abdellah Chelli), ," "Launchpad Contributions:,TheLight, ,Launchpad Contributions:,Nizar Kerkeni," "TheLight, ,Launchpad Contributions:,Nizar Kerkeni,TheLight, ,Launchpad " "Contributions:,Nizar Kerkeni,TheLight, ,Launchpad Contributions:,Nizar " "Kerkeni,TheLight, ,Launchpad Contributions:,Nizar Kerkeni,TheLight, ," "Launchpad Contributions:,Hsn,Nizar Kerkeni,TheLight,منصور اليوسف, ,Launchpad " "Contributions:,Avogadro Team,Hsn,Nizar Kerkeni,TheLight,منصور اليوسف, ," "Launchpad Contributions:,Avogadro Team,Hsn,Nizar Kerkeni,TheLight,منصور " "اليوسف, ,Launchpad Contributions:,Avogadro Team,Hsn,Nizar Kerkeni,TheLight," "منصور اليوسف, ,Launchpad Contributions:,Avogadro Team,Hsn,Nizar Kerkeni," "TheLight,mohamed gamal,منصور اليوسف, ,Launchpad Contributions:,Avogadro Team," "Hsn,Nizar Kerkeni,TheLight,mohamed gamal,منصور اليوسف" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "التلوين بالعناصر" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "رسم" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "إزالة الهيدروجين" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "المسافة" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "المسافة" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "مفرد" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "مضاعف" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "ثلاثي" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 msgid "GAMESS input" msgstr "" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "مفرد" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "غاز" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "ماء" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "محايد" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "تعطيل الحساب" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "إضافة الهيدروجين" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "إضافة الهيدروجين" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "إزالة الهيدروجين" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "إزالة الهيدروجين" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "الهيدروجين" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "الهيدروجين" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "استيراد" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 msgid "Render atoms as licorice." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&إدراج" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "لا يوجد وصف" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "قياس" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "زاوية" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "قياس" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&اعرض" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "إضافة الهيدروجين" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "إضافة الهيدروجين لدرجة الحموضةPH ..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "إزالة الهيدروجين" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "حدثت مشكلة أثناء كتابة الملف %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "إضافة الهيدروجين" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "إضافة الهيدروجين لــpH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "إزالة الهيدروجين" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "أوقف" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "أوقف" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "أفوقادرو" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "لا يمكن قراءة امتداد الملف %1" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "خطأ" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 msgid "POV-Ray Render" msgstr "" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "حفظ ملف الفيديو" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "إنشاء ملفات الإدخال لحزم كيمياء الكم" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "كثافة الإلكترون" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "إعادة تعيين" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "حذف الكل" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selections" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&أعكس الإختيار" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Selections" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "ا&ختر" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "ا&ختر" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selections" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "أفوقادرو" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "الاهتزازات" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "الاهتزازات" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "النوع" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "عنصر" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "اختيار حسب العنصر..." #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 msgid "Van der Waals (AO)" msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "شبكة" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "حساب الطاقة" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "تعطيل الحساب" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "عنصر" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) msgid "Ctrl+C" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) msgid "Ctrl+E" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "حفظ ملف الفيديو" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "نجاح!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "اسم العنصر" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "موافق" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "إلغي" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "إعادة تعيين" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "المسافة" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "طبّق" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "عنصر" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "مع :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "حفظ ملف الفيديو" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "اسم" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "التنسيق:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "لا يوجد وصف" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Molecular Mass (g/mol):" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "الكهرباء المحتملة" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "الواحدات:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "عدد الخطوات" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "الطول الموجي (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "احذف المنتقى" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "أسطح" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "أسطح" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "أسطح" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "الاهتزازات" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "بدء &الرسوم المتحركة" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "إيقاف الرسوم المتحركة" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "الاهتزازات" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,AtomCell,عبد الله شلي (Abdellah Chelli), ," "Launchpad Contributions:,AtomCell,TheLight,عبد الله شلي (Abdellah Chelli), ," "Launchpad Contributions:,TheLight, ,Launchpad Contributions:,Nizar Kerkeni," "TheLight, ,Launchpad Contributions:,Nizar Kerkeni,TheLight, ,Launchpad " "Contributions:,Nizar Kerkeni,TheLight, ,Launchpad Contributions:,Nizar " "Kerkeni,TheLight, ,Launchpad Contributions:,Nizar Kerkeni,TheLight, ," "Launchpad Contributions:,Hsn,Nizar Kerkeni,TheLight,منصور اليوسف, ,Launchpad " "Contributions:,Avogadro Team,Hsn,Nizar Kerkeni,TheLight,منصور اليوسف, ," "Launchpad Contributions:,Avogadro Team,Hsn,Nizar Kerkeni,TheLight,منصور " "اليوسف, ,Launchpad Contributions:,Avogadro Team,Hsn,Nizar Kerkeni,TheLight," "منصور اليوسف, ,Launchpad Contributions:,Avogadro Team,Hsn,Nizar Kerkeni," "TheLight,mohamed gamal,منصور اليوسف, ,Launchpad Contributions:,Avogadro Team," "Hsn,Nizar Kerkeni,TheLight,mohamed gamal,منصور اليوسف" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,shelhatem@gmail.com,sneetsher@gmail.com,,,shelhatem@gmail.com,houd." "ox@gmail.com,sneetsher@gmail.com,,,houd.ox@gmail.com,,,nizarus@nizarus.org," "houd.ox@gmail.com,,,nizarus@nizarus.org,houd.ox@gmail.com,,,nizarus@nizarus." "org,houd.ox@gmail.com,,,nizarus@nizarus.org,,,,nizarus@nizarus.org,,,,hh-" "shwaf@hotmail.com,nizarus@nizarus.org,,,,,avogadro-devel@lists.sourceforge." "net,hh.alshawaf@gmail.com,nizarus@nizarus.org,,,,,avogadro-devel@lists." "sourceforge.net,hh.alshawaf@gmail.com,nizarus@nizarus.org,,,,,avogadro-" "devel@lists.sourceforge.net,hh.alshawaf@gmail.com,nizarus@nizarus.tn,,,,," "avogadro-devel@lists.sourceforge.net,hh.alshawaf@gmail.com,nizarus@nizarus." "tn,,mohamedgamal8090@gmail.com,,,,avogadro-devel@lists.sourceforge.net,hh." "alshawaf@gmail.com,nizarus@nizarus.tn,,mohamedgamal8090@gmail.com," #~ msgid "Color by Index" #~ msgstr "لون بواسطة الفهرس" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "لون عن طريق الفهرس (الأحمر ، البرتقالي ، الأصفر ، الأخضر ، الأزرق ، " #~ "البنفسجي)." #~ msgid "Color by Partial Charge" #~ msgstr "لون عن طريق الشحن الجزئي" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "اللون عن طريق الشحن الجزئي الذري (أزرق = إيجابي، أحمر = سلبي." #~ msgid "Custom Color:" #~ msgstr "لون مخصص:" #~ msgid "Custom Color" #~ msgstr "لون مخصص" #~ msgid "Set custom colors for objects" #~ msgstr "مجموعة الألوان المخصصة للكائنات" #~ msgid "Color by Distance" #~ msgstr "التلوين بالمسافة" #~ msgid "Color by distance from the first atom." #~ msgstr "التلوين بالمسافة عن اول ذرة" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "التلوين بالعناصر (الكربون = رمادي ، والأكسجين = الأحمر ،...)." #~ msgid "Color by Residue" #~ msgstr "تلوين حسب لون الرواسب" #~ msgid "SMARTS Pattern:" #~ msgstr "الأنماط الذكية:" #~ msgid "Highlight Color:" #~ msgstr "تسليط الضوء على اللون :" #~ msgid "Color by SMARTS Pattern" #~ msgstr "اللون عن طريق الأنماط الذكية" #~ msgid "Ununtrium" #~ msgstr "أنون-تريوم" #~ msgid "Ununpentium" #~ msgstr "أنون-بينتيوم" #~ msgid "Ununseptium" #~ msgstr "أنون-سيبتيوم" #~ msgid "Ununoctium" #~ msgstr "أنون-أوكتيوم" #~ msgid "Engines" #~ msgstr "المحركات" #~ msgid "Axes" #~ msgstr "المحاور" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "يجعل خطوط x ، y و z على الأصل" #~ msgid "Cartoon" #~ msgstr "كرتون" #~ msgid "Dipole" #~ msgstr "ثنائي الأقطاب" #~ msgid "Force" #~ msgstr "أوقف" #~ msgid "Hydrogen Bond" #~ msgstr "رابطة هيدروجينية" #~ msgid "Renders hydrogen bonds" #~ msgstr "تكوين الروابط الهدروجينية" #~ msgid "Select Atom Labels Color" #~ msgstr "اختيار الوان أسماء الذرات" #~ msgid "Select Bond Labels Color" #~ msgstr "اختيار الوان أسماء الروابط" #~ msgid "Select Atom Labels Font" #~ msgstr "اختيار خط أسماء الذرات" #~ msgid "Select Bond Labels Font" #~ msgstr "اختيار خط اسماء الروابط" #~ msgid "Label" #~ msgstr "تسمية" #~ msgid "Polygon" #~ msgstr "مضلّع" #~ msgid "Ribbon" #~ msgstr "شريط" #~ msgid "Ring" #~ msgstr "حلقة" #~ msgid "Simple Wireframe" #~ msgstr "شبكة بسيطة" #~ msgid "Stick" #~ msgstr "الصق" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "ملفات الافلام )*.avi)" #~ msgid "Animation..." #~ msgstr "الرسوم المتحركة..." #~ msgid "Read trajectory file %1 failed." #~ msgstr "قراءة مسار الملف %1 فشل." #~ msgid "Must specify a valid .avi file name" #~ msgstr "يجب تحديد اسم ملف avi. صحيح" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "اسم ملف فيديو غيرصحيح. يجب ادخال مسار الملف بالكامل" #~ msgid "Animation" #~ msgstr "تأثيرات متحركة" #~ msgid "Number of atoms: %1" #~ msgstr "عدد الذرات: %1" #~ msgid "Open chemical file format" #~ msgstr "فتح ملف التنسيق الكيميائية" #~ msgid "Chemical files (*.xyz)" #~ msgstr "الملفات الكيميائية (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "الملفات الكيميائية (*.parm7)" #~ msgid "Energy = %L1 %2" #~ msgstr "الطاقة = %L1 %2" #~ msgid "Add or remove hydrogens" #~ msgstr "إضافة أو إزالة الهيدروجين" #~ msgid "&Properties" #~ msgstr "&خصائص" #~ msgid "All Files" #~ msgstr "كل الملفّات" #~ msgid "Show Preview" #~ msgstr "عرض المعاينة" #~ msgid "Hide Preview" #~ msgstr "إخفاء المعاينة" #~ msgid "Atom Properties..." #~ msgstr "خصائص الذرة..." #~ msgid "Bond Properties..." #~ msgstr "خصائص الروابط..." #~ msgid "Angle Properties..." #~ msgstr "خصائص الزاوية..." #~ msgid "Atom Properties" #~ msgstr "خصائص الذرة" #~ msgid "Bond Properties" #~ msgstr "خصائص الروابط" #~ msgid "Properties" #~ msgstr "خصائص" #~ msgid "Valence" #~ msgstr "التكافؤ" #~ msgid "Atom" #~ msgstr "ذرة" #~ msgid "Atom %1" #~ msgstr "ذرة %1" #~ msgid "Yes" #~ msgstr "نعم" #~ msgid "No" #~ msgstr "لا" #~ msgid "Delete" #~ msgstr "احذف" #~ msgid "You must make a selection!" #~ msgstr "يجب ان تقوم بالاختيار!" #~ msgid "Group Name" #~ msgstr "اسم المجموعة" #~ msgid " (" #~ msgstr " (" #~ msgid "Advanced Settings Reset" #~ msgstr "إعادة تعيين الإعدادات المتقدمة" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "هل أنت متأكد تريد إعادة تعيين الإعدادات المتقدمة؟\n" #~ "سيتم فقدان كافة التغييرات!" #~ msgid "Basic Settings Reset" #~ msgstr "إعادة تعيين الإعدادات الأساسية" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "هل أنت متأكد تريد إعادة تعيين الإعدادات الأساسية ؟\n" #~ "سيتم فقدان كافة التغييرات!" #~ msgid "&Dalton..." #~ msgstr "&دالتون..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "Select by residue" #~ msgstr "اختيار حسب البقايا" #~ msgid "There is already a selection with this name." #~ msgstr "هناك بالفعل مجموعة بهذا الاسم." #~ msgid "Energy (eV)" #~ msgstr "الطاقة (eV)" #~ msgid "Transmittance (%)" #~ msgstr "النفاذية (%)" #~ msgid "Absorbance (%)" #~ msgstr "الامتصاصية (%)" #~ msgid "Activity" #~ msgstr "النشاط" #~ msgid "Intensity" #~ msgstr "الكثافة" #~ msgid "X Axis" #~ msgstr "محورX" #~ msgid "Y Axis" #~ msgstr "محورY" #~ msgid "&Appearance" #~ msgstr "&مظهر" #~ msgid "E&xport Image" #~ msgstr "ت&صدير صورة" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "الأشعة تحت الحمراء" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&إعدادات أطياف الأشعة تحت الحمراء" #~ msgid "&UV Settings" #~ msgstr "&إعدادات الأشعة فوق البنفسجية" #~ msgid "No data" #~ msgstr "لاتوجد بيانات" #~ msgid "Dark" #~ msgstr "غامق" #~ msgid "Light" #~ msgstr "اضاءه" #~ msgid "Publication" #~ msgstr "منشور" #~ msgid "New Scheme" #~ msgstr "مخطط جديد" #~ msgid "Select Background Color" #~ msgstr "اختر لون الخلفية" #~ msgid "Select Foreground Color" #~ msgstr "حدد اللون الأمامي" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "استيراد الأطياف" #~ msgid "Data Format" #~ msgstr "تنسيق البيانات" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Save Spectra Image" #~ msgstr "حفظ صورة الأطياف" #~ msgid "&Advanced <<" #~ msgstr "&متقدم <<" #~ msgid "&Advanced >>" #~ msgstr "&متقدم >>" #~ msgid "&Spectra..." #~ msgstr "&أطياف..." #~ msgid "Spectra" #~ msgstr "طيف" #~ msgid "Vibrational Analysis" #~ msgstr "تحليل الاهتزازات" #~ msgid "Vibration" #~ msgstr "إهتزاز" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "تصور وسائط الذبذبات من الحسابات كيمياء الكم" #~ msgid "Pause" #~ msgstr "قف مؤقتاً" #~ msgid "Molecular Orbitals..." #~ msgstr "المدارات الجزيئية..." #~ msgid "Orbitals" #~ msgstr "المدارات" #~ msgid "Orbital" #~ msgstr "مداري" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "لا شيء" #~ msgid "Building video " #~ msgstr "بناء الفيديو " #~ msgid "Connect" #~ msgstr "اتصل" #~ msgid "Disconnect" #~ msgstr "اقطع الاتصال" #~ msgid "Debug Information" #~ msgstr "معلومات تصحيح الأخطاء" #~ msgid "Tools" #~ msgstr "أدوات" #~ msgid "Align:" #~ msgstr "المحاذاة:" #~ msgid "Everything" #~ msgstr "كل شئ" #~ msgid "Align" #~ msgstr "حاذي" #~ msgid "Algorithm:" #~ msgstr "الخوارزمية:" #~ msgid "Start" #~ msgstr "بدء" #~ msgid "Width:" #~ msgstr "العرض:" #~ msgid "Positive" #~ msgstr "موجب" #~ msgid "Negative" #~ msgstr "سالب" #~ msgid "0/0" #~ msgstr "0/0" #~ msgid "fps" #~ msgstr "إطار في الثانية" #~ msgid "Energy" #~ msgstr "الطاقة" #~ msgid "Load" #~ msgstr "تحميل" #~ msgid "All" #~ msgstr "الجميع" #~ msgid "Algorithm" #~ msgstr "الخوارزمية" #~ msgid "Advanced" #~ msgstr "متطور" #~ msgid "Control" #~ msgstr "تحكّم" #~ msgid "Data" #~ msgstr "بيانات" #~ msgid "Grid" #~ msgstr "شبكة" #~ msgid "System" #~ msgstr "نظام" #~ msgid "Misc" #~ msgstr "متفرقات" #~ msgid "Read" #~ msgstr "إقرأ" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "Check" #~ msgstr "فحص" #~ msgid "Debug" #~ msgstr "نقّح" #~ msgid "Minutes" #~ msgstr "دقائق" #~ msgid "Hours" #~ msgstr "ساعات" #~ msgid "Days" #~ msgstr "أيّام" #~ msgid "Weeks" #~ msgstr "أسابيع" #~ msgid "Years" #~ msgstr "سنوات" #~ msgid "Memory:" #~ msgstr "الذاكرة:" #~ msgid "Skip" #~ msgstr "تخطّي" #~ msgid "Method:" #~ msgstr "المنهج:" #~ msgid "Analytic" #~ msgstr "تحليلي" #~ msgid "Numeric" #~ msgstr "رقمي" #~ msgid "Maximum:" #~ msgstr "الحد الأقصى:" #~ msgid "Minimum:" #~ msgstr "الحد الأدنى:" #~ msgid "&Close" #~ msgstr "&أغلق" avogadrolibs-1.93.0/i18n/avogadrolibs.pot000066400000000000000000003033431360735163600202570ustar00rootroot00000000000000# Translations for the Avogadro molecular builder. # Copyright (C) 2006-2018 The Avogadro Project # This file is distributed under the same license as the Avogadro package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Avogadro 1.90.0\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, qt-format msgid "Submit %1 Calculation" msgstr "" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 msgid "Hide &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:390 msgid "Show &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, qt-format msgid "Failed to write to file %1." msgstr "" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 msgid "Calculation Type" msgstr "" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 msgid "No program selected." msgstr "" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 msgid "Nihonium" msgstr "" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 msgid "Select file:" msgstr "" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 msgid "All files (*);;" msgstr "" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 msgid "Untitled" msgstr "" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 msgid "Unknown error." msgstr "" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 msgid "Clear Atoms" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321 :345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 msgid "Change Elements" msgstr "" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 msgid "Removed Bond" msgstr "" #: qtgui/rwmolecule.cpp:758 msgid "Clear Bonds" msgstr "" #: qtgui/rwmolecule.cpp:793 msgid "Set Bond Orders" msgstr "" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 msgid "Update Bond" msgstr "" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 msgid "&Export" msgstr "" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43 :141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "&Extensions" msgstr "" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 msgid "IO Error" msgstr "" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42 :87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75 :147 msgid "Success" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 msgid "Show hydrogens?" msgstr "" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "" #: qtplugins/ballandstick/ballandstick.h:47 msgid "Render atoms as spheres and bonds as cylinders." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 msgid "Bond Atoms" msgstr "" #: qtplugins/bonding/bonding.cpp:43 msgid "Remove Bonds" msgstr "" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 msgid "Filename" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 msgid "Invalid element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 msgid "Element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 msgid "Invalid element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 msgid "Element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 msgid "Invalid atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 msgid "Invalid coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607 :615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 msgid "XYZ format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42 :225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43 :222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44 :234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45 :228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 msgid "Custom Elements" msgstr "" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 msgid "Remove Bond" msgstr "" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 msgid "Distance:" msgstr "" #: qtplugins/editor/editor.cpp:235 #, qt-format msgid "Distance: %L1 Å" msgstr "" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 msgid "GAMESS input" msgstr "" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 msgid "Single Point" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 msgid "Submit GAMESS Calculation" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:33 msgid "&Adjust Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 msgid "Remove E&xtra Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:46 msgid "&Remove All Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 msgid "&Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 msgid "&Import" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45 :393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 msgid "Render atoms as licorice." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133 :426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 msgid "Angles:" msgstr "" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 msgid "Add hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:77 msgid "Add hydrogens for pH..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:83 msgid "Remove hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 msgid "Adding Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "Add hydrogens for pH" msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "pH:" msgstr "" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 msgid "Stopped" msgstr "" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "" #: qtplugins/playertool/playertool.cpp:234 #, qt-format msgid "Cannot save file %1." msgstr "" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 msgid "Error: " msgstr "" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46 :570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 msgid "POV-Ray Render" msgstr "" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 msgid "Save File" msgstr "" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 msgid "Calculating electron density" msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 msgid "Select All" msgstr "" #: qtplugins/select/select.cpp:39 msgid "Select None" msgstr "" #: qtplugins/select/select.cpp:48 msgid "Invert Selection" msgstr "" #: qtplugins/select/select.cpp:59 msgid "Change selections" msgstr "" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35 :678 msgid "Select" msgstr "" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 msgid "Selection tool" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81 :663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 msgid "Avogadro2" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44 :648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 msgid "Symmetry Elements" msgstr "" #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 msgid "Van der Waals (AO)" msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) msgid "Calculation Settings" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) msgid "Submit Calculation..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) msgid "Rename Elements" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) msgid "Ctrl+C" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) msgid "Ctrl+E" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) msgid "Save Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "File name:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Distance Unit:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Save File..." msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Formula:" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Molecular Mass (g/mol):" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Number of points:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download Selected" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) msgid "Surface Dialog" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Surface:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) msgid "Start Animation" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) msgid "Stop Animation" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) msgid "Operations" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" avogadrolibs-1.93.0/i18n/bg.po000066400000000000000000003510321360735163600160050ustar00rootroot00000000000000# Bulgarian translation for avogadro # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:28+0000\n" "Last-Translator: Svetoslav Stefanov \n" "Language-Team: Bulgarian \n" "Language: bg\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Неизвестен" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Прекъсване на изчислението" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Внимание" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Внимание" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Не може да се направи запис във файл." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Видео файлът не е записан." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Видео файлът не е записан." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Име" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Прекъсване на изчислението" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Няма избрани атоми" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Водород" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Хелий" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Литий" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Берилий" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Бор" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Въглерод" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Азот" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Кислород" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Флуор" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Неон" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Натрий" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Магнезий" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Алуминий" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Силиций" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Фосфор" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Сяра" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Хлор" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Аргон" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Калий" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Калций" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Скандий" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Титан" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Ванадий" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Хром" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Манган" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Желязо" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Кобалт" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Никел" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Мед" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Цинк" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Галий" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Германий" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Арсен" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Селен" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Бром" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Криптон" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Рубидий" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Стронций" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Итрий" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Цирконий" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Ниобий" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Молибден" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Технеций" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Рутений" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Родий" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Паладий" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Сребро" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Кадмий" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Индий" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Калай" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Антимон" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Телурий" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Йод" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ксенон" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Цезий" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Барий" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Лантан" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Церий" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Празводим" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Неодим" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Прометий" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Самарий" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Европий" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Гадолиний" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Тербий" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Диспросий" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Холмий" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Ербий" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Тулий" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Итербий" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Лутеций" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Хафний" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Тантал" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Волфрам" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Рений" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Осмий" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Иридий" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Платина" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Злато" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Живак" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Талий" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Олово" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Бисмут" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Полоний" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Астат" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Радон" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Франций" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Радий" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Актиний" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Торий" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Протактиний" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Уран" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Нептуний" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Плутоний" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Америций" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Кюрий" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Берклий" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Калифорний" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Айнщайний" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Фермий" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Менделевий" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Нобелий" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Лоуренсий" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Рутерфордий" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Дъбний" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Сиборгий" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Бохрий" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Хасий" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Метерий" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Дармщадий" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Рентгий" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Цирконий" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "&Избиране" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Всички файлове" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "Име" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "POV-Ray не успя да се пусне." #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Неизвестен" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Начален атом" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Елемент" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 msgid "Removed Bond" msgstr "" #: qtgui/rwmolecule.cpp:758 msgid "Clear Bonds" msgstr "" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Ред на връзките" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 msgid "Update Bond" msgstr "" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Супер клетка" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Супер клетка" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Файл" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Изнасяне" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Отваряне на файл с параметри" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Разширения" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Грешка" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Проблем с четенето на файла с траектория %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Проблем с четенето на файла с траектория %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Грешка" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Успех!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Изображението е успешна записано в %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Водород" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Рендерира етикети на атоми и връзки" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Краен атом" #: qtplugins/bonding/bonding.cpp:43 msgid "Remove Bonds" msgstr "" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Изграждане" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Грешно име на файл" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Грешно име на файл" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Елемент" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Грешно име на файл" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Елемент" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Грешно име на файл" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Грешно име на файл" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Svetoslav Stefanov, ,Launchpad Contributions:," "Svetoslav Stefanov, ,Launchpad Contributions:,Svetoslav Stefanov, ,Launchpad " "Contributions:,Svetoslav Stefanov, ,Launchpad Contributions:,Svetoslav " "Stefanov, ,Launchpad Contributions:,Svetoslav Stefanov, ,Launchpad " "Contributions:,Svetoslav Stefanov, ,Launchpad Contributions:,Svetoslav " "Stefanov, ,Launchpad Contributions:,Svetoslav Stefanov, ,Launchpad " "Contributions:,Svetoslav Stefanov, ,Launchpad Contributions:,Svetoslav " "Stefanov, ,Launchpad Contributions:,Svetoslav Stefanov, ,Launchpad " "Contributions:,Svetoslav Stefanov" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Супер клетка" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Рендерира етикети на атоми и връзки" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Цвят по елемент" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 msgid "Remove Bond" msgstr "" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Цвят по разстояние" #: qtplugins/editor/editor.cpp:235 #, qt-format msgid "Distance: %L1 Å" msgstr "" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Проблем с четенето на файла с траектория %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 msgid "Single Point" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Прекъсване на изчислението" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Водород" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 msgid "Remove E&xtra Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:46 msgid "&Remove All Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Водород" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Внасяне" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Рендерира етикети на атоми и връзки" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Вмъкване" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Ъгъл %1" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Изглед" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Молекулярни свойства" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Посочената молекула не може да бъде открита: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Добиване от мрежата" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Oптимизиране на геометрията" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Геометрична оптимизация" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Водород" #: qtplugins/openbabel/openbabel.cpp:77 msgid "Add hydrogens for pH..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Рендерира водородни връзки" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Възникна грешка по време на записа на файла %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Oптимизиране на геометрията" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Oптимизиране на геометрията" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 msgid "Adding Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "Add hydrogens for pH" msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Мед" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Файлът %1 не може да бъде прочетен." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Грешка" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Запазване на видео файл" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "&Разширения" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Изчисляване плътността на електроните" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Изчисляване плътността на електроните" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Изчисляване на MO %L1" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "&Избиране" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "&Избиране" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Обръщане на избора" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Игнориране на избраното" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Избиране" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Избиране" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Игнориране на избраното" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Вид" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Елемент" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Избиране по елемент..." #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Сфери на Van der Waal" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Контури" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Изчисляване плътността на електроните" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Прекъсване на изчислението" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Елемент" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Запазване на видео файл" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Успех!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Грешно име на файл" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "Добре" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Отказ" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Distance Unit:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Запазване на видео файл" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "име" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Формат:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "&Молекулярна механика" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Геометрична оптимизация" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Брой атоми: %1" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Няма избрани атоми" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Повърхности" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Повърхности" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Повърхности" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Анимация" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Анимация" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) msgid "Operations" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Svetoslav Stefanov, ,Launchpad Contributions:," "Svetoslav Stefanov, ,Launchpad Contributions:,Svetoslav Stefanov, ,Launchpad " "Contributions:,Svetoslav Stefanov, ,Launchpad Contributions:,Svetoslav " "Stefanov, ,Launchpad Contributions:,Svetoslav Stefanov, ,Launchpad " "Contributions:,Svetoslav Stefanov, ,Launchpad Contributions:,Svetoslav " "Stefanov, ,Launchpad Contributions:,Svetoslav Stefanov, ,Launchpad " "Contributions:,Svetoslav Stefanov, ,Launchpad Contributions:,Svetoslav " "Stefanov, ,Launchpad Contributions:,Svetoslav Stefanov, ,Launchpad " "Contributions:,Svetoslav Stefanov" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,svetlisashkov@yahoo.com,,,svetlisashkov@yahoo.com,,,svetlisashkov@yahoo." "com,,,svetlisashkov@yahoo.com,,,svetlisashkov@yahoo.com,,," "svetlisashkov@yahoo.com,,,svetlisashkov@yahoo.com,,,svetlisashkov@yahoo." "com,,,svetlisashkov@yahoo.com,,,svetlisashkov@yahoo.com,,," "svetlisashkov@yahoo.com,,,svetlisashkov@yahoo.com,,,svetlisashkov@yahoo.com" #~ msgid "Color by Index" #~ msgstr "Цвят по индекс" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Цвят по индекс (червен, оранжев, жълт, зелен, син, лилав)." #~ msgid "Color by Partial Charge" #~ msgstr "Цвят по частичен заряд" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Цвят по атомен частичен заряд (син = положителен, червен = отрицателен)" #~ msgid "Custom Color:" #~ msgstr "Потребителски цвят:" #~ msgid "Custom Color" #~ msgstr "Потребителски цвят" #~ msgid "Set custom colors for objects" #~ msgstr "Задаване потребителски цветове за обектите" #~ msgid "Color by distance from the first atom." #~ msgstr "Цвят по разстояние от първият атом." #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Цвят по елемент (въглерод = сив, кислород = червен, ...)" #~ msgid "Color by Residue" #~ msgstr "Цвят по група" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Цвят по група (тип на амино киелината, хидрофобност, ...)" #~ msgid "Ununtrium" #~ msgstr "Унунбий" #~ msgid "Ununpentium" #~ msgstr "Унунпентиум" #~ msgid "Ununseptium" #~ msgstr "Унунсептий" #~ msgid "Ununoctium" #~ msgstr "Унуноктий" #~ msgid "Engines" #~ msgstr "Системи" #~ msgid "Axes" #~ msgstr "Оси" #~ msgid "Cartoon" #~ msgstr "Анимационна" #~ msgid "Dipole" #~ msgstr "Диелектрик" #~ msgid "Force" #~ msgstr "Сила" #~ msgid "Hydrogen Bond" #~ msgstr "Водородна връзка" #~ msgid "Label" #~ msgstr "Етикет" #~ msgid "Polygon" #~ msgstr "Многоъгълник" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Рендерира атомите като тетраедър, октаедър и други многоъгълници" #~ msgid "Ring" #~ msgstr "Пръстени" #~ msgid "Simple Wireframe" #~ msgstr "Проста решетка" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Рендерира връзките като въжета (линии), идеално за големи молекули" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Рендерира атомите като сфери на Van der Waal" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Рендерира връзките като въжета (линии), идеално за много големи " #~ "(био)молекули" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "видео файлове (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Добавяне на разширение .avi" #~ msgid "Animation..." #~ msgstr "Анимация..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Файловият формат на файла %1 не може да бъде прочетен." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Четенето на файла с траектория %1 се провали." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Трябва да се зададе валидно име на файл .avi" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Невалидно име на видео файл. Трябва да включва пълния път за достъп" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Невалидно име на видео файл. Трябва да включва пълния път за достъп и " #~ "име, завършващо с .avi" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Анимиране на траектории, взаимодействия и вибрации." #~ msgid "Add constraint" #~ msgstr "Добавяне на ограничение" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "За да се добави ограничение, молекулата трябва да съдържа поне един атом" #~ msgid "Trajectory..." #~ msgstr "Траектория..." #~ msgid "Open chemical file format" #~ msgstr "Отваряне на химически файлов формат" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Химически файлове (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Химически файлове (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Внасяне на траектория" #~ msgid "Import trajectory files" #~ msgstr "Внасяне на файлове с траектория" #~ msgid "Calculate Energy" #~ msgstr "Изчисляване на енергията" #~ msgid "Energy = %L1 %2" #~ msgstr "Енергия = %L1 %2" #~ msgid "Peptide..." #~ msgstr "Пептид..." #~ msgid "Insert Peptide" #~ msgstr "Вмъкване на пептид" #~ msgid "Molecule Properties..." #~ msgstr "Свойства на молекулата..." #~ msgid "&Properties" #~ msgstr "&Свойства" #~ msgid "Display standard molecular properties." #~ msgstr "Показване на стандартни молекулярни свойства" #~ msgid "Fetch from PDB..." #~ msgstr "Добиване от PDB..." #~ msgid "Fetch from URL..." #~ msgstr "Добиване от URL..." #~ msgid "URL" #~ msgstr "Адрес" #~ msgid "URL of molecule to download." #~ msgstr "Адрес на молекулата за изтегляне" #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Посочената молекула не може да бъде заредена: %1" #~ msgid "Fetch molecule files over the network." #~ msgstr "Добиване на файлове с молекули от мрежата" #~ msgid "All Files" #~ msgstr "Всички файлове" #~ msgid "Show Preview" #~ msgstr "Предварителен преглед" #~ msgid "Hide Preview" #~ msgstr "Скриване на прегледа" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Запазване на изображение, рендерирано с POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Изображения (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Не е въведено име на файл." #~ msgid "No valid filename was supplied." #~ msgstr "Не е въведено валидно име на файл." #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Не може да се направи запис във файлът %1. Имате ли права за запис в това " #~ "местоположение?" #~ msgid "Atom Properties..." #~ msgstr "Свойства на атома..." #~ msgid "Bond Properties..." #~ msgstr "Свойства на връзка..." #~ msgid "Angle Properties..." #~ msgstr "Свойства на връзката..." #~ msgid "Atom Properties" #~ msgstr "Свойства на атома" #~ msgid "Bond Properties" #~ msgstr "Свойства на връзката" #~ msgid "Angle Properties" #~ msgstr "Свойства на ъгъла" #~ msgid "Properties" #~ msgstr "Свойства" #~ msgid "Valence" #~ msgstr "Валентност" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Дължина %1" #~ msgid "Vertex" #~ msgstr "Връх" #~ msgid "Atom %1" #~ msgstr "Атом %1" #~ msgid "Python Terminal" #~ msgstr "Терминал на Python" #~ msgid "Delete" #~ msgstr "Изтриване" #~ msgid "You must make a selection!" #~ msgstr "Трябва да направите избиране!" #~ msgid "Group Name" #~ msgstr "Име на група" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "Advanced Settings Changed" #~ msgstr "Разширените настройки са променени" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Разширените настройки са променени.\n" #~ "Отмяна?" #~ msgid "Advanced Settings Reset" #~ msgstr "Връщане на разширените настройки" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Сигурни ли сте, че желаете да върнете разширените настройки?\n" #~ "Всички промени ще бъдат изгубени!" #~ msgid "Basic Settings Reset" #~ msgstr "Връщане на основните настройки" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Сигурни ли сте, че желаете да върнете основните настройки?\n" #~ "Всички промени ще бъдат изгубени!" #~ msgid "There is no current selection." #~ msgstr "Няма текуща селекция." #~ msgid "Name cannot be empty." #~ msgstr "Името не може да бъде празно" #~ msgid "There is already a selection with this name." #~ msgstr "Вече има селекция с такова име." #~ msgid "X Axis" #~ msgstr "Ос X" #~ msgid "Y Axis" #~ msgstr "Ос Y" #~ msgid "&Appearance" #~ msgstr "&Външен вид" #~ msgid "E&xport Image" #~ msgstr "&Изнасяне на изображение" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Инфрачервен" #~ msgid "No data" #~ msgstr "Липсват данни" #~ msgid "Publication" #~ msgstr "Публикация" #~ msgid "New Scheme" #~ msgstr "Нова схема" #~ msgid "Confirm Scheme Removal" #~ msgstr "Потвърждение премахването на схемата" #~ msgid "Really remove current scheme?" #~ msgstr "Наистина ли да бъде премахната текущата схема" #~ msgid "Change Scheme Name" #~ msgstr "Промяна името на схемата" #~ msgid "Enter new name for current scheme:" #~ msgstr "Въведете ново име за текущата схема:" #~ msgid "Export Calculated Spectrum" #~ msgstr "Изнасяне на изчислен спектър" #~ msgid "Import Spectra" #~ msgstr "Внасяне на спектър" #~ msgid "Spectra Import" #~ msgstr "Внасяне на спектър" #~ msgid "Unknown extension: %1" #~ msgstr "Неизвестно разширение: %1" #~ msgid "Data Format" #~ msgstr "Формат на данните" #~ msgid "Load Spectral Data" #~ msgstr "Зареждане на спектрални данни" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Spectra" #~ msgstr "Спектри" #~ msgid "Electron Density" #~ msgstr "Плътност на електроните" #~ msgid "Building video " #~ msgstr "Изграждане на видео " #~ msgid "None" #~ msgstr "Без" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "Energy" #~ msgstr "Енергия" avogadrolibs-1.93.0/i18n/bs.po000066400000000000000000005130441360735163600160240ustar00rootroot00000000000000# Bosnian translation for avogadro # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:28+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Bosnian \n" "Language: bs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Generator umetanja" #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Generator umetanja" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Zatvori" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Nepoznat" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Prekini izračun" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Upozorenje" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Upozorenje" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Odaberi otopinu" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Izlaz:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Nemoguće pisati u datoteku." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Video datoteka nije zapisana." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Video datoteka nije zapisana." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Naslov" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Ime datoteke:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Procesori:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Izračunavanje" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teorija:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teorija:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Osnova" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Nema postavljene molekule" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Zaustavi &animaciju" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Nema odabranih atoma" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Vodonik" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helijum" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litijum" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berilijum" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Ugljenik" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Azot" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Kiseonik" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Natrijum" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnezijum" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminijum" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicijum" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Sumpor" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Hlor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kalijum" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kalcijum" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skandijum" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanijum" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadijum" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Hrom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Željezo" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikl" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Bakar" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Cink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Galijum" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanijum" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsen" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selen" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Kripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidijum" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Stroncijum" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Itrijum" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Cirkonijum" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobijum" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibden" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tehnecijum" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenijum" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodijum" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Paladijum" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Srebro" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmijum" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indijum" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Kalaj" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telur" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jod" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ksenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cezijum" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barijum" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerijum" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Prazeodijum" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodijum" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometijum" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarijum" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europijum" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinijum" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbijum" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprosijum" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmijum" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbijum" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tulijum" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Iterbijum" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutecijum" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnijum" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Volfram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Renijum" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmijum" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridijum" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Zlato" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Živa" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Talijum" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Olovo" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bizmut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonijum" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francijum" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radijum" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktinijum" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Torijum" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktinijum" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uran" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunijum" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonijum" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americijum" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Kirijum" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berklijum" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kalifornijum" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Ajnštajnijum" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermijum" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendeljevijum" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelijum" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lorencijum" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Radefordijum" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnijum" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Siborgijum" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Nilsborijum" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hasijum" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Majcnerijum" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmštatijum" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Rentgenijum" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Cirkonijum" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Potraži..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Odaberi otopinu" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Ukloni odabrano" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Sve datoteke" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "bez naslova" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodni sistem" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03 se nije uspio pokrenuti." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Skripte" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL greška" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Nepoznat" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekul" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Dodaj atom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Ukloni atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Pokreni atom" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Podesi vodonik" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Promijeni element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Promijeni element" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formalni naboj" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Dodaj vezu" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Ukloni atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Ukloni vezu" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Stepen veze" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Promijeni smijer veze" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Miči na veze" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Ukloni vezu" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Popuni jedinicu ćelije" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Popuni jedinicu ćelije" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Popuni jedinicu ćelije" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super ćelija" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Super ćelija" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Popuni jedinicu ćelije" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Datoteka" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Izvezi" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Otvori datoteku parametra" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Ekstenzije" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Greška" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problem pri čitanju trajektorijske datoteke %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL greška" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problem pri čitanju trajektorijske datoteke %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Greška" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Uspjeh!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Slika uspješno upisana na %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Prikaži višestruke spojeve" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Vodici" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Sklupčaj i zalijepi" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Renderira atome i oznake veza" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulacija centralnom vezom" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulacija centralnom vezom" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Zaustavi atom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Izbaci vodike" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Izgradi" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Ugao veze" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Ime datoteke:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Tip koordinate:" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Neispravno ime datoteke" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Ime elementa" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Simbol elementa" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Simbol elementa" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Neispravno ime datoteke" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atomski broj" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Neispravno ime datoteke" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Karetzijeve koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Karetzijeve koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Karetzijeve koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Karetzijeve koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Karetzijeve koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Karetzijeve koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:, ,Launchpad Contributions:,Avogadro Team, ," "Launchpad Contributions:,Avogadro Team,Damir Zubanović,Samir Ribić, ," "Launchpad Contributions:,Avogadro Team,Damir Zubanović,Samir Ribić, ," "Launchpad Contributions:,Avogadro Team,Damir Zubanović,Samir Ribić" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Karetzijeve koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Karetzijeve koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP Informacija" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP Informacija" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Posebno:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Popuni jedinicu ćelije" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Popuni jedinicu ćelije" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super ćelija" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Renderira atome i oznake veza" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Boja po elementu" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Nacrtaj" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Nacrtaj atom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Promijeni smijer veze" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Ukloni atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Rastojanje" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distanca (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Ostalo..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Automatska optimizacija" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Jednostruka" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dvostruka" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Trostruka" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Skripte" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problem pri čitanju trajektorijske datoteke %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Generator umetanja" #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS ulaz" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Energija jedne tačke:" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Ekvilibrijum geometrija" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Prelazno stanje" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frekvencije" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Potencijal jezgra" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Voda" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Jednorka" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Dvojka" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Trojka" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dikatjon" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "katjon" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutralan" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS ulaz" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Prekini izračun" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Podesi vodonik" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Dodaj vodik" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Izbaci vodike" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Izbaci vodike" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Vodici" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Vodici" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Uvoz" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Renderira atome i oznake veza" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Ubaci" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Nema opisa" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekul" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Generiraj..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Upravljaj" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Rukuj atomom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Mjera" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Diedarski:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Ugao:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Ugao:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Mjera" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Renderira molekule mreže izopovršine" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Pogled" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Molekularne postavke" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigacija" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigacija" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Hemijsko ime" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Hemijska struktura za download." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Mrežni download nije uspio" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Istek vremena mreže ili druga greška." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Navedena molekula ne može biti pronađena: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Mrežni download nije uspio" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimizacija Geometrije" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometrijska optimizacija" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Opažene veze?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Dodaj vodik" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Dodaj vodike za pH" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Izbaci vodike" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Čitanje molekule iz datoteke '%1' nije uspjelo." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Desio se problem pri pisanju datoteke %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimizacija Geometrije" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Generiraj..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "Datoteka putanje %1 se ne slaže sa brojom atoma u trenutnoj molekuli" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimizacija Geometrije" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Dodaj vodik" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Dodaj vodike za pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Izbaci vodike" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Zaustavi" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parametri:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Dinamički spojevi" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Ukloni..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Zaustavi" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Ne mogu čitati datoteku %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Greška" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV‑Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Snimi video datoteku" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Renderiši koristeči POV-Zraku" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "P&roširenja" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Kreiraj ulazne datoteke za pakete kvantne hemije" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Izračunavanje gustine elektrona" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Izračunavanje gustine elektrona" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Izračunaj molekularne orbite i druge površine" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Reset" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Generatori ulaznih datoteka" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Obriši sve" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Izbor" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Invertuj izbor" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Selekcije" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Izaberi" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Izaberi" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Izbor" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Izbor" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Analize vibracija" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Vizualizacija spektra" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tip" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Odabir po elemntu..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Renderira momente molekularnog dipola" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Vals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Vals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Sijenčenje" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Renderiši koristeči POV-Zraku" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Žičani model" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Renderira molekule kao štapiće" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Forma" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Postavke selekcije" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Prekini izračun" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Program osjenčivaća:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Procesori:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Promijeni element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Struktura:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Par datoteka:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Polje sila:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Par datoteka:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Snimi video datoteku" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Uspjeh!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Struktura:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Učitaj datoteku..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Mjeri postavke" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Ime datoteke:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigacija" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigacija" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigacija" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Ime datoteke:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "U redu" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Odustani" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Tip koordinate:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Reset" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Rastojanje" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Ǻngstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Format:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Primijeni" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parametri super ćelije" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Opcije super ćelije" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A ponavljanje:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B ponavljanje:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C ponavljanje:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Popuni jedinicu ćelije" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "MOPAC Z-matrica" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Metoda transformacije" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Faktor skale frekvencije" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Vrsta veze:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS ulaz" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Osnovno podešavanje" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Unutra:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Višestrukost:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Sa:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Naslov:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Naboj:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Ime datoteke:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Resetuj sve" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Podrazumijevano" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Učitaj datoteku..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "ime" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Nema opisa" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molekularna masa (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "ZADACI" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Hemijska formula:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Broj atoma:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Broj spojeva:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometrijska optimizacija" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Metoda optimizacije" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Polje sila:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Metoda optimizacije" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Najveći nagib" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Konjugovani gradijent" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Automatsko rotiranje" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, izopovršina = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Elektrostatski potencijal" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "koraci" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Kriterij konvergencije gradijenta:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Konvergencija" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Vremensko ograničenje:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Jedinice:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Broj spojeva:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Ukloni odabrano" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Neprozirnost:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Površi" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Površi" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Vrijednost zasićenja izopovršine" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Rezolucija:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Površi" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Izračunaj" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Analize vibracija" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Počni &animaciju" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Zaustavi &animaciju" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekul" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Opcije" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:, ,Launchpad Contributions:,Avogadro Team, ," "Launchpad Contributions:,Avogadro Team,Damir Zubanović,Samir Ribić, ," "Launchpad Contributions:,Avogadro Team,Damir Zubanović,Samir Ribić, ," "Launchpad Contributions:,Avogadro Team,Damir Zubanović,Samir Ribić" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,avogadro-devel@lists.sourceforge.net,,,avogadro-devel@lists.sourceforge." "net,,,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-devel@lists." "sourceforge.net,," #~ msgid "Color by Index" #~ msgstr "Boja po indeksu" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Boja po indeksu (crvena, narandžasta, žuta, zelena, plava, ljubičasta)." #~ msgid "Color by Partial Charge" #~ msgstr "Boja po djelimičnom naboju" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Boja po atomskom djelimičnom naboju" #~ msgid "Custom Color:" #~ msgstr "Proizvoljna boja:" #~ msgid "Custom Color" #~ msgstr "Boja po izboru" #~ msgid "Set custom colors for objects" #~ msgstr "Postavi vlastite boje za objekte" #~ msgid "Color by Distance" #~ msgstr "Boja po udaljenosti" #~ msgid "Color by distance from the first atom." #~ msgstr "Boja po udaljenosti od prvog atoma" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Boja po elementu (ugljenik = sivi, kiseonik = crveni, ...)." #~ msgid "Color by Residue" #~ msgstr "Boja po ostatku" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Boja po ostatku (tip amino kiselina, hidrofobnost, ..." #~ msgid "Ununtrium" #~ msgstr "Ununtrijum" #~ msgid "Ununpentium" #~ msgstr "Ununpentijum" #~ msgid "Ununseptium" #~ msgstr "Ununseptijum" #~ msgid "Ununoctium" #~ msgstr "Ununoktijum" #~ msgid "Engines" #~ msgstr "Mašine" #~ msgid "Axes" #~ msgstr "Ose" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Crta x, y, i z ose u ishodištu" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Renderira primitive koristeći Lopte (atomi) i Štapiće(veze)" #~ msgid "Cartoon" #~ msgstr "Crtež" #~ msgid "Renders protein secondary structure" #~ msgstr "Renderira sekundarnu strukturu proteina" #~ msgid "Dipole" #~ msgstr "Dipol" #~ msgid "Force" #~ msgstr "Sila" #~ msgid "Renders force displacements on atoms" #~ msgstr "Renderiše snagu premještanja na atomima" #~ msgid "Hydrogen Bond" #~ msgstr "Vodikov spoj" #~ msgid "Renders hydrogen bonds" #~ msgstr "Renderira vodikove veze" #~ msgid "Label" #~ msgstr "Oznaka" #~ msgid "Polygon" #~ msgstr "Poligon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Pravi atome kao tretraedre, oktaedre i ostale poligone" #~ msgid "Ribbon" #~ msgstr "Traka" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Renderira okosnice proteina kao trake" #~ msgid "Ring" #~ msgstr "Prsten" #~ msgid "Renders rings with colored planes" #~ msgstr "Renderira prstene sa kružnim ramovima" #~ msgid "Simple Wireframe" #~ msgstr "Jednostavni Wireframe" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Renderira spojeve kao žce(linije), idealne za velike molekule" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waalsove sfere" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Renderira atome kao Van der Waals-ove sfere" #~ msgid "Stick" #~ msgstr "Štap" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Gustina elektrona, izopovršina = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, izopovršina = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Renderira veze kao žice(linije), idealno za veoma velike (bio)molekule" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "video datoteke (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Dodajem .avi ekstenziju" #~ msgid "Animation..." #~ msgstr "Animacija..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Ne mogu čitati datotečni format datoteke %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Čitanje datoteke puta %1 neuspješno." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Morate navesti validno .avi ime datoteke" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "GL dodatak nije inicijaliziran korektno u namjeri da se snimi video" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Nepostojeće ime video datoteke. Mora uključivati puno odredište datoteke" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Pogrešno ime video datoteke. Mora uključivati puno odredište datoteke sa " #~ "imenom koje završava sa .avi" #~ msgid "Animation" #~ msgstr "Animacija" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animiraj putanje, reakcije i vibracije." #~ msgid "Cartesian Editor..." #~ msgstr "Kartezijev uređivač..." #~ msgid "Number of atoms: %1" #~ msgstr "Broj atoma: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Broj okretnih veza: %1" #~ msgid "Add constraint" #~ msgstr "Dodaj ograničenje." #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Vaša molekula mora sadržavati bar jedan atom da bi dodali ograničenje." #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Vaša molekula mora sadržavati najmanje dva atoma da bi dodali ograničenje " #~ "veze" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Vaša molekula mora sadržavati najmanje tri atoma da bi dodale ugaono " #~ "ograničenje" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Vaša molekula mora sadržavati najmanje četiri atoma da bi dodali " #~ "trozijono ograničenje" #~ msgid "Trajectory..." #~ msgstr "Putanja..." #~ msgid "Open chemical file format" #~ msgstr "Otvori format hemijske datoteke" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Hemijske datoteke (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Hemijske datoteke (*parm7)" #~ msgid "Import Trajectory" #~ msgstr "Unos putanje" #~ msgid "Import trajectory files" #~ msgstr "Unos datoteka putanje" #~ msgid "Setup Force Field..." #~ msgstr "Podesi polje sile..." #~ msgid "Calculate Energy" #~ msgstr "Izračunaj energiju" #~ msgid "Conformer Search..." #~ msgstr "Pretraga konformera..." #~ msgid "Constraints..." #~ msgstr "Ograničenja..." #~ msgid "Ignore Selection" #~ msgstr "Ignoriši izbor" #~ msgid "Fix Selected Atoms" #~ msgstr "Učvrsti odabrane atome" #~ msgid "&Molecular Mechanics" #~ msgstr "&Molekularna mehanika" #~ msgid "Energy = %L1 %2" #~ msgstr "Energija = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Geometrijska optimizacija" #~ msgid "Forcefield Optimization" #~ msgstr "Optimizacija polja sile" #~ msgid "Systematic Rotor Search" #~ msgstr "Sistematska kružna pretraga" #~ msgid "Random Rotor Search" #~ msgstr "Nasumična kružna pretraga" #~ msgid "Weighted Rotor Search" #~ msgstr "Opterećena kružna pretraga" #~ msgid "ForceField" #~ msgstr "Polje sile" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimizuje molekule i generiše konformere koristeči molekularnu mehaniku " #~ "sila polja" #~ msgid "Change H to Methyl" #~ msgstr "Izmijeni H u metil" #~ msgid "H to Methyl" #~ msgstr "H u metil" #~ msgid "H2Methyl" #~ msgstr "H2Metil" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Trasformiraj vodike u metil grupe" #~ msgid "Add or remove hydrogens" #~ msgstr "Dodaj ili izbaci vodike" #~ msgid "Fragment..." #~ msgstr "Fragment..." #~ msgid "Insert SMILES" #~ msgstr "Ubaci SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Ubaci SMILES fragmente:" #~ msgid "Insert Fragment" #~ msgstr "Ubaci fragment" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Ubaci molekularne fragmente za pravljenje većih molekula" #~ msgid "Peptide..." #~ msgstr "Peptid..." #~ msgid "Insert Peptide" #~ msgstr "Ubaci Peptid" #~ msgid "Insert oligopeptide sequences" #~ msgstr "ubaci oligopeptidne sekvence" #~ msgid "Molecule Properties..." #~ msgstr "Postavke molekule..." #~ msgid "&Properties" #~ msgstr "&Osobine" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Procijenjeni moment dipola (D):" #~ msgid "Display standard molecular properties." #~ msgstr "Prikaži standardne molekularne postavke." #~ msgid "Fetch from PDB..." #~ msgstr "Donesi iz PDB..." #~ msgid "Fetch from URL..." #~ msgstr "Donesi sa URL-a..." #~ msgid "PDB Entry" #~ msgstr "PDB ulaz" #~ msgid "PDB entry to download." #~ msgstr "PDB ulaz za download." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL molekule za download." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Navedena molekula ne može biti pokrenuta: %1" #~ msgid "Network Fetch" #~ msgstr "Mrežno dohvatanje" #~ msgid "Fetch molecule files over the network." #~ msgstr "Skini datoteke molekula preko mreže." #~ msgid "Show Preview" #~ msgstr "Pregled" #~ msgid "Hide Preview" #~ msgstr "Sakrij Pregled" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Snimi POV-Ray renderisanu sliku" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Datoteke slike(*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Nije predočeno ime datoteke." #~ msgid "No valid filename was supplied." #~ msgstr "Nije predočeno validno ime datoteke." #~ msgid "Does not compute." #~ msgstr "Ne izračunava se." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Tražili ste nedirektno renderisanje koristeći POV-zRay i da ne zadržavate " #~ "datoteku POV-Ray. Ovo će rezultirati da izlaz neće biti spašen. Da li ste " #~ "sigurno da je to ono što želite uraditi?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Nemoguće pisati u datoteku %1. Da li imate dozvolu da pišete na toj " #~ "lokaciji?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray se nije uspio pokrenuti." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray se nije uspio pokrenuti. Možda put do izvršne datoteke nije " #~ "postavljen korektno." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Kreiraj datoteke POV-ray i renderiraj ih koristeći komandnu liniju POV-" #~ "ray programa." #~ msgid "Atom Properties..." #~ msgstr "Postavke atoma..." #~ msgid "Bond Properties..." #~ msgstr "Postavke spoja...." #~ msgid "Angle Properties..." #~ msgstr "Postavke ugla..." #~ msgid "Torsion Properties..." #~ msgstr "Postavke torzije..." #~ msgid "Conformer Properties..." #~ msgstr "Postavke konformera..." #~ msgid "Atom Properties" #~ msgstr "Postavke atoma" #~ msgid "Bond Properties" #~ msgstr "Postavke spoja..." #~ msgid "Angle Properties" #~ msgstr "Postavke ugla" #~ msgid "Torsion Properties" #~ msgstr "Torzione postavke" #~ msgid "Conformer Properties" #~ msgstr "Postavke konformera" #~ msgid "Properties" #~ msgstr "Svojstva" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Prozori za prikazivanje postavki atoma, spojeva, ugla i torzije. Takođe " #~ "sadrži uređivač kartezijanskih koordinata." #~ msgid "Valence" #~ msgstr "Valencija" #~ msgid "Partial Charge" #~ msgstr "Parcijalni naboj" #~ msgid "Rotatable" #~ msgstr "okretljiv" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Dužina %1" #~ msgid "Vertex" #~ msgstr "Tjeme" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Ugao %1" #~ msgid "Angle" #~ msgstr "Ugao" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torzija %1" #~ msgid "Python Terminal" #~ msgstr "Python Terminal" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Interaktivni python terminal za skriptiranje" #~ msgid "QM Matches" #~ msgstr "QM slagfanja" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP Selekcija..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM Selekcija" #~ msgid "Delete" #~ msgstr "Obriši" #~ msgid "You must make a selection!" #~ msgstr "Morate napraviti izbor!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES konverzija nedostupna" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES konverzija formata nije dostupna!" #~ msgid "Group Name" #~ msgstr "Ime grupe" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Kreiraj ulazne datoteke za GAMESS paket za kvantnu hemiju" #~ msgid "Advanced Settings Changed" #~ msgstr "Napredne postavke su se promijenile" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Napredne postavke su se promijenile.\n" #~ "Odbaciti?" #~ msgid "Advanced Settings Reset" #~ msgstr "Resetuj napredne postavke" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Da li ste sigurni da želite resetovati napredne postavke?\n" #~ "Sve promjene bit će izgubljene!" #~ msgid "Basic Settings Reset" #~ msgstr "Resetuj osnovne postavke" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Da li ste sigurni da želite resetovati osnovne postavke?\n" #~ "Sve promjene bit će izgubljene!" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Upozorenje generatora Gausovog ulaznog deka" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Da li želita da osvježite pregled teksta, gubeći sve promjene napravljene " #~ "u pregledu okna Gausovog ulaznog deka?" #~ msgid "Gaussian Running." #~ msgstr "Gaussian se izvršava." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussia se već izvršava. Sačekajte dok se prethodno izračunavanje završi." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian nije instaliran." #~ msgid "The G03 executable, cannot be found." #~ msgstr "G03 izvršna datoteka ne može biti pronađena" #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 se nije pokrenuo. Vjerovatno nije instaliran ispravno." #~ msgid "Running Gaussian calculation..." #~ msgstr "Izvršavam Gaussovo računanje" #~ msgid "G03 Crashed." #~ msgstr "G03 krahirao" #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "GaussiaN se nije izvršio korektno. Možda nije instaliran korektno" #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "MOPAC Input Warning" #~ msgstr "Mopac Ulazno upozorenje" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Da li želite da osvježite pregled teksta, gubeći sve promjene napravljene " #~ "u pregledu okna MOPAC ulaznog deka." #~ msgid "MOPAC Running." #~ msgstr "Izvršavanje MOPAC-a." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "MOPAC se već izvršava. Sačekajte dok se prethodni izračunavanje završi" #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC nije instaliran." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "MOPAC izvršna datoteka ne može biti pronađena." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC se nije uspio pokrenuti." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "Mopac se nije pokrenuo. Vjerovatno nije instaliran ispravno." #~ msgid "Running MOPAC calculation..." #~ msgstr "Izvršavam MOPAC računanje..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC krahirao." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "MOPAC se nije porenuo korektno. Možda nije instaliran korektno." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Upozorenje NWChem generatora ulaznog deka" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Da li želite da osvježite pregled teksta, gubeći sve promjene napravljene " #~ "u pregledu okna NWChem ulaznog deka?" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem Upozorenje generatora ulaznog deka" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Da li želite da osvježite pregled teksta, gubeći sve promjene " #~ "napravljenje u pregledu okna Q-Chem ulaznog deka" #~ msgid "Select SMARTS..." #~ msgstr "Izaberi SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Odabir po ostatku..." #~ msgid "Add Named Selection..." #~ msgstr "Dodaj imenovani odabir..." #~ msgid "SMARTS Selection" #~ msgstr "SMARTS odabir" #~ msgid "SMARTS pattern to select" #~ msgstr "SMARTS uzorak za odabir" #~ msgid "Select by residue" #~ msgstr "Odabir po ostatku" #~ msgid "Residue name" #~ msgstr "Ime ostatka" #~ msgid "There is no current selection." #~ msgstr "Ne postoji odabir." #~ msgid "Add Named Selection" #~ msgstr "Dodaj imenovani odabir" #~ msgid "Name cannot be empty." #~ msgstr "Polje za ime ne može biti prazno." #~ msgid "There is already a selection with this name." #~ msgstr "Već postoji selekcija sa ovim imenom" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Odaberi atome, spojeve, ostatke" #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Shaderi" #~ msgid "Open a vertex shader source file" #~ msgstr "Otvori vertex shader izvornu datoteku" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Verteh shader datoteke (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Otvori fragment shader izvornu datoteku" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fragment shader datoteke (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Otvori shader parametarsku datoteku" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Shader parametarske datoteke (*params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL Shaderi" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Pokreni i koristi OpenGL 2.0 GLSL shadere" #~ msgid "Transmittance (%)" #~ msgstr "Transmitansa (5)" #~ msgid "Absorbance (%)" #~ msgstr "Apsorpcija(%)" #~ msgid "No intensities" #~ msgstr "Nema intenziteta" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Vibracije učitanih podataka u molekuli imate učitane nema nikakav " #~ "intenzitet podatka. Intenziteti su postavljeni¸ na proizvoljne " #~ "vrijednosti za vizualizaciju." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Valni broj (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Promjer (ppm)" #~ msgid "X Axis" #~ msgstr "X osa" #~ msgid "Y Axis" #~ msgstr "Y osa" #~ msgid "&Appearance" #~ msgstr "&Izgled" #~ msgid "E&xport Image" #~ msgstr "I&zvezite sliku" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infracrveno" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&Infracrveno, postavke spektra" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "&NMR, postavke spektra" #~ msgid "No data" #~ msgstr "Nema podataka" #~ msgid "Dark" #~ msgstr "Tamno" #~ msgid "Light" #~ msgstr "Svjetlo" #~ msgid "Publication" #~ msgstr "Publikacija" #~ msgid "Handdrawn" #~ msgstr "Ručno" #~ msgid "New Scheme" #~ msgstr "Nova šema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Potvrdi brisanje šeme" #~ msgid "Really remove current scheme?" #~ msgstr "Zaista želite ukloniti trenutnu šemu?" #~ msgid "Change Scheme Name" #~ msgstr "Promjeni ime šeme" #~ msgid "Enter new name for current scheme:" #~ msgstr "Unesi novo ime za trenutnu šemu" #~ msgid "Export Calculated Spectrum" #~ msgstr "Izvezi izračunati spektar" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Vrijednosti odvojene tabom (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Vrijednosti odvojene tabom" #~ msgid "Comma Separated Values" #~ msgstr "Vrijednosti odvojene zarezom" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importuj spektar" #~ msgid "Spectra Import" #~ msgstr "Import spektra" #~ msgid "Unknown extension: %1" #~ msgstr "Nepoznata ekstenzija: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR podaci (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomol IR podaci (control)" #~ msgid "Data Format" #~ msgstr "Format podataka" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format:" #~ msgid "Load Spectral Data" #~ msgstr "Učitaj spektralne podatke" #~ msgid "Portable Network Graphics" #~ msgstr "Prijenosna Mrežna Grafika" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image format datoteke" #~ msgid "Windows Bitmap" #~ msgstr "Windows bitmapa" #~ msgid "Portable Pixmap" #~ msgstr "Portabilna Piksmapa" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmapa" #~ msgid "X11 Pixmap" #~ msgstr "X11 Piksmapa" #~ msgid "Save Spectra Image" #~ msgstr "Snimi sliku spektra" #~ msgid "&Spectra..." #~ msgstr "&Spektar..." #~ msgid "Spectra" #~ msgstr "Spektri" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Vizualziraj spektralne podatke od proračuna kvantne hemije" #~ msgid "No vibrational displacements exist." #~ msgstr "Postoje vibracionalne zamjene." #~ msgid "Vibration" #~ msgstr "Vibracija" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Vizualiziraj vibracione modove izračuna kvantne hemije" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Sortiranje %1 vibracija po frekvenciji..." #~ msgid "Super Cell Builder..." #~ msgstr "Super ćelijski graditelj..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Ovaj dokument je trenutno izolirana molekula. Trebate kreirati jediničnu " #~ "ćeliju." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Izgradi i prikaži kristalografitne super ćelije" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Ništa" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Vals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Electrostatski potencijal" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Gustina elektrona" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Molekulrna kružna putanja" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Greška - nedefinisan tip" #~ msgid "Create Surfaces..." #~ msgstr "Kreiraj površine..." #~ msgid "Calculating VdW Cube" #~ msgstr "Izračunavanje VdW kocke" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Izračunavanje MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Gustina elektrona" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL dodatak nije korektno inicijaliziran da bi se napravio video" #~ msgid "GL widget has no molecule" #~ msgstr "GL dodatak nema molekulu" #~ msgid "Building video " #~ msgstr "Pravljenje videa " #~ msgid "Could not run povray." #~ msgstr "Ne može pokrenuti povray." #~ msgid "Could not run mencoder." #~ msgstr "Ne može pokrenuti menkoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Postavi omjer" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Trenutna avogadrova scena je velika %1x%2 piksela, i ima omjer %3.\n" #~ "Možete zadržati ovu vrijednost, na primjer ako mislite koristiti POV-" #~ "Zrake\n" #~ "za proizvodnju slike od %4x1000 piksela, ili možete unijeti bilo koju " #~ "pozitivnu vrijednost,\n" #~ "na primjer 1 ako mislite koristiti POV-Zrake za proizvdnju kvadratne " #~ "slike, 1000x1000 piksela." #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Nevažeći OpenGL kontekst.\n" #~ "Ili je nešto sasvim pokvareno u OpenGL podešavanjima (možete li pokrenuti " #~ "bilo koju OpenGL aplikaciju?), ili ste našli bug." #~ msgid "Debug Information" #~ msgstr "Informacije za otklanjanje grešaka" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Veličina pogleda: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Atomi %L1" #~ msgid "Bonds: %L1" #~ msgstr "Veze: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: indeks %1 van dosega" #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Tip datoteke '%1' nije podržan za čitanje." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Tip datoteke za datoteku '%1' nije podržan za čitanje." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Čitanje molekule sa indeksom %1 iz datoteke '%2' nije uspjelo" #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "zamijeni Molekulu: index %1 van dosega" #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Tip datoteke '%1' nije podržan za pisanje." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Tip datoteke za datoteku '%1' nije podržan za pisanje." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Ne može se otvoriti datoteka '%1' za pisanje." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Ne može se otvoriti datoteka '%1' za čitanje." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Zamjena molekule sa indeksom '%1 u datoteci '%2' nije uspjela." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Datoteka %1 ne može biti otvorena za čitanje." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Datoteka %1 ne može biti otvorena za pisanje." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Spašavanje molekularne datoteke nije uspjelo - ne može se preimenovati " #~ "orginalna datoteka." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Spašavanje molekularne datoteke nije uspjelo - ne može se preimenovati " #~ "nova datoteka." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Spašavanje molekularne datoteke nije uspjelo - ne može se izbrisati stara " #~ "datoteka." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Upisivanje molekule u datoteku '%1' nije uspjelo. OpenBabel funkcija se " #~ "nije uspjela izvršiti." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Datoteka %1 ne može biti otvorena za pisanje." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Pisanje konformera u datoteku '%1' nije uspjelo." #~ msgid "Molecule %1" #~ msgstr "Molekula %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Nepoznat Python pogon" #~ msgid "N/A" #~ msgstr "N/D" #~ msgid "PythonEngine: checking " #~ msgstr "Python pogon: provjeravanje " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - skripta nema definiranu 'Enginer' klasu" #~ msgid " - no module" #~ msgstr " - nema modula" #~ msgid "Unknown Python Extension" #~ msgstr "Nepoznato Python proširenje" #~ msgid "PythonExtension: checking " #~ msgstr "PythonProširenje: provjerava " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - skripta nema definiranu 'Extension' klasu" #~ msgid "Unknown Python Tool" #~ msgstr "Nepoznata Python traka alata" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: provjera " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - skripta nema definiranu 'Tool' klasu" #~ msgid "Conformer %1" #~ msgstr "Konformer %1" #~ msgid "Tools" #~ msgstr "Alati" #~ msgid "Axis:" #~ msgstr "Osa:" #~ msgid "Align:" #~ msgstr "Poravnanje:" #~ msgid "Everything" #~ msgstr "Sve" #~ msgid "Align" #~ msgstr "Poravnanje" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Poravnaj molekule po Kartezijevoj osi" #~ msgid "Align Settings" #~ msgstr "Postavke poravnanja" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "Auto optimizacija: Ne mogu postaviti polje sila...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Steps per Update:" #~ msgstr "Koraci za ažuriranje:" #~ msgid "Algorithm:" #~ msgstr "Algoritam:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Molekularna dinamika (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Molekularna dinamika (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Molekularna dinamika (900K)" #~ msgid "Start" #~ msgstr "Početak" #~ msgid "Fixed atoms are movable" #~ msgstr "Fiksirani atomi su pokretni" #~ msgid "Ignored atoms are movable" #~ msgstr "Zanemareni atomi su pokretni" #~ msgid "AutoOpt Molecule" #~ msgstr "Auto optimizacija molekule" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Automatska optimizacija molekularne geometrije" #~ msgid "AutoOptimization Settings" #~ msgstr "Postavke automatske optimizacije" #~ msgid "Auto Rotation Tool" #~ msgstr "Alat auto rotiranja" #~ msgid "x rotation:" #~ msgstr "x rotacija:" #~ msgid "x rotation" #~ msgstr "x rotacija" #~ msgid "y rotation:" #~ msgstr "y rotacija:" #~ msgid "y rotation" #~ msgstr "y rotacija" #~ msgid "z rotation:" #~ msgstr "z rotacija:" #~ msgid "z rotation" #~ msgstr "z rotacija" #~ msgid "Automatic rotation of molecules" #~ msgstr "Automatska rotacija molekula" #~ msgid "AutoRotate Settings" #~ msgstr "Automatska rotacija postavki" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Dužina veza: %L1" #~ msgid " Show Angles" #~ msgstr " Prikaži uglove" #~ msgid "Snap-to Threshold: " #~ msgstr "Pomjeri na prag: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Centrično manipuliranje vezama" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulacija duzine spoja, uglova i torzije" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Postavke centričnog manipuliranja vezama" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distanca (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Ugao: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distanca (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Dihedralni ugao: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Razmak(ci):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Izmjeri dužine spoja, uglove i dihedrale" #~ msgid "Delete Atom" #~ msgstr "Ukloni atom" #~ msgid "Draw Bond" #~ msgstr "Crtaj vezu" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Crta i edituje atome i spojeve" #~ msgid "Draw Settings" #~ msgstr "Postavke crtanja" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Transliranje, rotiranje i podešavanje atoma i fragmenata" #~ msgid "Manipulate Settings" #~ msgstr "Upravljanje postavkama" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Transliranje, rotiranje i zumiranje oko trenutnog pogleda" #~ msgid "Navigate Settings" #~ msgstr "Postavke orijentacije" #~ msgid "Selection Mode:" #~ msgstr "Način odabira:" #~ msgid "Atom/Bond" #~ msgstr "Atom/veza" #~ msgid "Residue" #~ msgstr "Ostatak" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Odabir atoma, ostaka i molekula" #~ msgid "Symbol" #~ msgstr "Simbol" #~ msgid "Bond Length" #~ msgstr "Dužina veze" #~ msgid "Dihedral Angle" #~ msgstr "Ugao torzije" #~ msgid "Z Matrix Editor..." #~ msgstr "Editor Z matrice..." #~ msgid "Z-Matrix" #~ msgstr "Z-matrica" #~ msgid "Create/edit a z-matrix" #~ msgstr "Kreiraj/izmijeni z-matricu" #~ msgid "Z-Matrix Settings" #~ msgstr "Postavke z-matrice" #~ msgid "Residue Color Settings" #~ msgstr "Postavke boje ostatka" #~ msgid "Color residues by:" #~ msgstr "Boje ostatka po:" #~ msgid "Amino Colors" #~ msgstr "Amino boje" #~ msgid "Shapely Colors" #~ msgstr "Modelirane boje" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobnost" #~ msgid "Atom Radius:" #~ msgstr "Prečnik atoma:" #~ msgid "Bond Radius:" #~ msgstr "Prečnik spoja:" #~ msgid "Shape" #~ msgstr "Oblik" #~ msgid "Helix" #~ msgstr "Zavojnica" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "List" #~ msgid "Loop" #~ msgstr "Petlja" #~ msgid "Colors" #~ msgstr "Boje" #~ msgid "Dipole:" #~ msgstr "Dipol:" #~ msgid "Dipole Moment" #~ msgstr "Dipolni moment" #~ msgid "Width:" #~ msgstr "Širina:" #~ msgid "Cut-off radius:" #~ msgstr "Prečnik odreza:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Ugao odreza:" #~ msgid "None" #~ msgstr "Ništa" #~ msgid "Symbol & Atom number" #~ msgstr "Simbol i atomski broj" #~ msgid "Formal charge" #~ msgstr "formalni naboj" #~ msgid "Partial charge" #~ msgstr "djelomični naboj" #~ msgid "Residue number" #~ msgstr "Broj ostatka" #~ msgid "Unique ID" #~ msgstr "Jedinstveni id." #~ msgid "Custom data" #~ msgstr "Vlastiti podaci" #~ msgid "Bond length" #~ msgstr "Dužina spoja" #~ msgid "Bond number" #~ msgstr "Broj veza" #~ msgid "Bond order" #~ msgstr "Uređenje spoja" #~ msgid "Rendering:" #~ msgstr "Renderisanje:" #~ msgid "Backbone" #~ msgstr "Kičma" #~ msgid "Lines" #~ msgstr "Linije" #~ msgid "Radius:" #~ msgstr "Poluprečnik:" #~ msgid "Include Nitrogens" #~ msgstr "Uključi nitrogene" #~ msgid "VdW Opacity:" #~ msgstr "VdW neprovidnost:" #~ msgid "Orbital:" #~ msgstr "Orbite:" #~ msgid "Render:" #~ msgstr "Render:" #~ msgid "Fill" #~ msgstr "Popuna" #~ msgid "Points" #~ msgstr "Tačke" #~ msgid "Draw Box:" #~ msgstr "Kutija crtanja:" #~ msgid "Style:" #~ msgstr "Stil:" #~ msgid "Selected Colors" #~ msgstr "Odabrane boje" #~ msgid "Mapped Colors" #~ msgstr "Mapirane boje" #~ msgid "Colors:" #~ msgstr "Boje:" #~ msgid "Positive" #~ msgstr "Pozitivan" #~ msgid "Negative" #~ msgstr "Negativno" #~ msgid "Show Atoms" #~ msgstr "Prikaži atome" #~ msgid "Animate Trajectory" #~ msgstr "Animiraj putanju" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Petlja" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Snimi kao .avi..." #~ msgid "Conformer Search" #~ msgstr "Pretraga konformera" #~ msgid "Method" #~ msgstr "Metoda" #~ msgid "Number of atoms:" #~ msgstr "Broj atoma:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Broj okretnih atoma:" #~ msgid "Number of conformers" #~ msgstr "Broj konformera" #~ msgid "Systematic rotor search" #~ msgstr "Sistematična kružna pretraga" #~ msgid "Random rotor search" #~ msgstr "Nasumična kružna pretraga" #~ msgid "Weighted rotor search" #~ msgstr "Opterećena kružna pretraga" #~ msgid "Energy" #~ msgstr "Energija" #~ msgid "Constraints" #~ msgstr "Ograničenja" #~ msgid "Add Constraints" #~ msgstr "Dodaj ograničenja" #~ msgid "Ignore Atom" #~ msgstr "Ignoriši atom" #~ msgid "Fix Atom" #~ msgstr "Popravi atom" #~ msgid "Fix Atom X" #~ msgstr "Popravi atom X" #~ msgid "Fix Atom Y" #~ msgstr "Popravi atom Y" #~ msgid "Fix Atom Z" #~ msgstr "Popravi atom Z" #~ msgid "Torsion angle" #~ msgstr "Ugao torzije" #~ msgid "Constraint Value" #~ msgstr "Vrijednost ograničenja" #~ msgid "Atom Indices" #~ msgstr "Indikacije atoma" #~ msgid "Add" #~ msgstr "Dodaj" #~ msgid "Save" #~ msgstr "Snimi" #~ msgid "Load" #~ msgstr "Učitaj" #~ msgid "Cartesian" #~ msgstr "Dekartove" #~ msgid "All" #~ msgstr "Sve" #~ msgid "File Import..." #~ msgstr "Unošenje datoteke..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Pokušaj opažanja veza?" #~ msgid "Setup Force Field" #~ msgstr "Postavi polje sile" #~ msgid "Force Field" #~ msgstr "Polje sile" #~ msgid "Ghemical" #~ msgstr "Ghemijski" #~ msgid "Number of steps" #~ msgstr "Broj koraka" #~ msgid "Algorithm" #~ msgstr "Algoritam" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Ostalo" #~ msgid "Insert Fragment..." #~ msgstr "Umetni fragment..." #~ msgid "Peptide Builder" #~ msgstr "Graditelj peptida" #~ msgid "Alanine" #~ msgstr "Alanin" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginin" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagin" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Aspartična kiselina" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cistein" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Glutaminozna kiselina" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamin" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glicin" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidin" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucin" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valin" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirosin" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Tirtofan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Threonin" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serin" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolin" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanin" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Meitonin" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lisin" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucin" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Amino kiseline:" #~ msgid "Sequence (N to C):" #~ msgstr "Sekvenca (N do C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereohemija:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N Terminus:" #~ msgid "C Terminus:" #~ msgstr "C Terminus:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Ravni lanac" #~ msgid "Alpha Helix" #~ msgstr "Alfa helix" #~ msgid "Beta Sheet" #~ msgstr "Beta komad" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Broj lanca" #~ msgid "The chain number for the new peptide" #~ msgstr "Broj lanca za novi peptid" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "svojstva molekule" #~ msgid "Number of Residues:" #~ msgstr "Broj ostataka:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energija (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Dipolni moment (D):" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Napredno" #~ msgid "Control" #~ msgstr "kontrola" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Podaci" #~ msgid "Nothing" #~ msgstr "Ništa" #~ msgid "Grid" #~ msgstr "Mreža" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray izlaz" #~ msgid "Select..." #~ msgstr "Izaberi..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Koristi antialiasing pune scene" #~ msgid "Antialias" #~ msgstr "Umekšavanje" #~ msgid "Set the background color to be transparent" #~ msgstr "Učini pozadinsku boju prozirnom" #~ msgid "Alpha transparency" #~ msgstr "Alfa prozirnost" #~ msgid "Command:" #~ msgstr "Komanda:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Renderiši molekulu direktno koristeći komandnu liniju POV-Zrake" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Zadrži izvor POV-Zrake nakon završetka renderisanja." #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Zadrži izvor POV-Zrake nakon renderisanja." #~ msgid "Path:" #~ msgstr "Staza:" #~ msgid "Use Form" #~ msgstr "Koristi formu" #~ msgid "Compute..." #~ msgstr "Računaj..." #~ msgid "HF" #~ msgstr "HF" #~ msgid "Basis Set:" #~ msgstr "Osnovni paket:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EFP Matches" #~ msgstr "EFP poklapanja" #~ msgid "Group Label:" #~ msgstr "Grupne oznake" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Napredne postavke" #~ msgid "Hessian" #~ msgstr "Hesian" #~ msgid "Stat Point" #~ msgstr "Stat tačka" #~ msgid "System" #~ msgstr "Sistemski" #~ msgid "MO Guess" #~ msgstr "MO pogodak" #~ msgid "Misc" #~ msgstr "Razno" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Funkcije polarizacije teških atoma:" #~ msgid "Read" #~ msgstr "Čitaj" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Difuzija S-Školjka na teškim atomima" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Difuzija L-Školjka na teškim atomima" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Dvostruka Zeta valencija" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Trostruka Zeta valencija" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA Valencija" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt Valencija" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP Tip:" #~ msgid "Default" #~ msgstr "Podrazumijevano" #~ msgid "Pople" #~ msgstr "Popl" #~ msgid "Pople N311" #~ msgstr "Popl N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Funkcije polarizacije teških atoma:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#lagano funkcije polarizacije atoma:" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "Maksimalne SCF iteracije:" #~ msgid "Gradient" #~ msgstr "Gradijent" #~ msgid "Optimization" #~ msgstr "Optimizacija" #~ msgid "Trudge" #~ msgstr "Gaženje" #~ msgid "Saddle Point" #~ msgstr "Sedlasta tačka" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "extremni gradijent" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Površina energije" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Radiativni tranzitivni mom." #~ msgid "Spin Orbit" #~ msgstr "Orbita spina" #~ msgid "Finite Electric Field" #~ msgstr "Konačno električno polje" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Globalna optimizacija" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO Optimizacija" #~ msgid "Raman Intensities" #~ msgstr "Ramanovi intenziteti" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Napravi EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Ništa (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Momci" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF Tip:" #~ msgid "Localization Method:" #~ msgstr "Metode lokalizacije:" #~ msgid "Exec Type:" #~ msgstr "Exec tip:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. determinanta" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Višestruki aktivni prostor ograničenog zauzimanja" #~ msgid "CI Singles" #~ msgstr "CL Samci" #~ msgid "Full Second Order CI" #~ msgstr "Puni CI drugog reda" #~ msgid "General CI" #~ msgstr "Generalni CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: linarizirani CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC sa dvojkama" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC sa jednorkama i dvojkama" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Normalno pokretanje" #~ msgid "Check" #~ msgstr "Provjere" #~ msgid "Debug" #~ msgstr "Praćenje grešaka" #~ msgid "Molecule Charge:" #~ msgstr "Naelektrisanje molekule:" #~ msgid "Run Type:" #~ msgstr "Tip pokretanja:" #~ msgid "Use MP2" #~ msgstr "Koristi MP2" #~ msgid "Use DFT" #~ msgstr "Koristi DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# Z-Matričnih Varijabli" #~ msgid "Order of Principal Axis:" #~ msgstr "Red glavnih osa:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Jedinstvene kartezijeve koordinate." #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrantovi unutarnji" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Koristi simetriju prilikom računanja" #~ msgid "Point Group:" #~ msgstr "Grupa tačke:" #~ msgid "Minutes" #~ msgstr "Minute" #~ msgid "Hours" #~ msgstr "Sati" #~ msgid "Days" #~ msgstr "Dani" #~ msgid "Weeks" #~ msgstr "Sedmica" #~ msgid "Years" #~ msgstr "Godine" #~ msgid "Millenia" #~ msgstr "Mileniji" #~ msgid "MegaWords" #~ msgstr "MegaRiječi" #~ msgid "MegaBytes" #~ msgstr "MegaBajti" #~ msgid "GigaWords" #~ msgstr "GigaRiječi" #~ msgid "GigaBytes" #~ msgstr "GigaBajti" #~ msgid "Force Parallel Methods" #~ msgstr "Prisili paralelne metode" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Napravi \"jezgro\" datoteku nakon kraja" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memorija:" #~ msgid "Diagonalization Method:" #~ msgstr "Metoda dijagonalizacije:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Tip paralelnog balansa opterećenja" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Petlja" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Sljedeća vrijednost" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Koristiti externu reprezentaciju podatka za poruke" #~ msgid "Initial Guess:" #~ msgstr "Inicijalni pogodak:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO pročitano ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO spašeno (DICTNRY)" #~ msgid "Skip" #~ msgstr "Preskoči" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Rotiraj alfa i beta orbite" #~ msgid "Print the Initial Guess" #~ msgstr "Printaj inicijalne pogodke" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "GAMESS interfece za druge kodove" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Forsiraj tip trčeče provjere" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK Verzija)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Rastopiti sa vodom" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Generiši UHF prirodne orbite" #~ msgid "Direct SCF" #~ msgstr "Direktni SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Računaj samo promjene u prednjoj matrici" #~ msgid "Slater exchange" #~ msgstr "Slaterova zamjena" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 izmjena" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) korelacija" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr korelacija" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater izmjena + VWN korelacija" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE izmjena + VWN5 korelacija" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE izmjena + LYP korelacija" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 izmjena" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) izmjena" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP:Jedno-parametarska progresivna korelacija" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) korelacija" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP korelacija" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE izmjena + OP korelacija" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL izmjena + VWN5 korelacija" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL izmjena + LYP korelacija" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE izmjena + VWN6 korelacija" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE izmjena +LYP korelacija" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE izmjena + OP korelacija" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF and BECKE izmjena + LYP korelacija" #~ msgid "Grid-Free" #~ msgstr "bez rešetke" #~ msgid "DFT Functional:" #~ msgstr "DFT funkcional:" #~ msgid "Method:" #~ msgstr "Metoda:" #~ msgid "AO Integral Storage" #~ msgstr "AO Integralni Spremnik" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplicirano na svakom čvoru" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distribuirano preko svih čvorova" #~ msgid "words" #~ msgstr "riječi" #~ msgid "Compute MP2 Properties" #~ msgstr "Računaj MP2 postavke" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Integralno zadržavajuće zasićenje:" #~ msgid "Use Localized Orbitals" #~ msgstr "Koristi lokalizirane orbite" #~ msgid "# of Core Electrons:" #~ msgstr "# jezgrenih elektrona:" #~ msgid "Two Phase Bin Sort" #~ msgstr "Dvo fazni binarni sort" #~ msgid "Segmented Transformation" #~ msgstr "Segmentirana transformacija" #~ msgid "Analytic" #~ msgstr "Analitika" #~ msgid "Numeric" #~ msgstr "Brojevi" #~ msgid "Double Differenced Hessian" #~ msgstr "Dvostruko diferentni Hessian" #~ msgid "Print Internal Force Constants" #~ msgstr "Štampaj interne konstante sile" #~ msgid "Displacement Size:" #~ msgstr "Istisna veličina:" #~ msgid "Purify Hessian" #~ msgstr "Pročišćeni Hessian" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Inicijalni Hessian" #~ msgid "Guess (+ define)" #~ msgstr "Pogodak(+ definicija)" #~ msgid "Read (from $HESS)" #~ msgstr "Čitati(iz $HESS)" #~ msgid "Update Step Size" #~ msgstr "Osvježi veličinu koraka" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Printaj orbite na svakoj iteraciji" #~ msgid "Jump Size:" #~ msgstr "Veličina skoka:" #~ msgid "Stationary Point" #~ msgstr "Stacionarna tačka" #~ msgid "Step Size" #~ msgstr "Veličina koraka" #~ msgid "Maximum:" #~ msgstr "Maksimum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Initial:" #~ msgstr "Inicijalni:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Optimizacija racionalne funkcije" #~ msgid "Quadratic Approximation" #~ msgstr "Kvadratna aproksimacija" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Limitirana optimizacija" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Ponovo izračunaj Hessian svakih:" #~ msgid "Follow Mode:" #~ msgstr "Mod pratnje:" #~ msgid "Maximum Steps:" #~ msgstr "Maksimalni koraci" #~ msgid "Basis:" #~ msgstr "Osnove:" #~ msgid "Z-matrix" #~ msgstr "Z-matrica" #~ msgid "Gaussian Input" #~ msgstr "Gaussian ulaz" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Uobičajeno" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "kontrolna tačka:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-matrica(kompaktna)" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO ulaz" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "MOPAC Input" #~ msgstr "MOPAC ulaz" #~ msgid "Quartet" #~ msgstr "Kvartet" #~ msgid "Quintet" #~ msgstr "Kvintet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem ulaz" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem ulaz" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "Sjenčenja opterećenja" #~ msgid "Shader Name:" #~ msgstr "Ime osjenčivaća:" #~ msgid "Vertex Shader:" #~ msgstr "Vertex osjenčivać:" #~ msgid "Fragment Shader:" #~ msgstr "Fragmentni osjenčivać:" #~ msgid "Assign Shader" #~ msgstr "Postavi osjenčivać" #~ msgid "Display Type:" #~ msgstr "Tip displeja:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Kontrole:\n" #~ "Dvostruki lijevi klik: Vrati zadane limite ose\n" #~ "Desni klik + povlačenje: Pomakni crtež\n" #~ "Srednji klik + povlačenje: Uvećaj područje\n" #~ "Skrol točkić: Povećaj na kursor" #~ msgid "&Load data..." #~ msgstr "&Učitaj podatke..." #~ msgid "&Close" #~ msgstr "&Zatvori" #~ msgid "Calculated Spectra:" #~ msgstr "Izračunati spektar:" #~ msgid "Set Color..." #~ msgstr "Postavi boju..." #~ msgid "Imported Spectra:" #~ msgstr "Uneseni spektar:" #~ msgid "Font:" #~ msgstr "Vrsta slova:" #~ msgid "Change Font..." #~ msgstr "Promijeni font..." #~ msgid "Show" #~ msgstr "Prikaži" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "Unosi tsv eksperimentalnih spektara da se oblože na crtežu." #~ msgid "&Import..." #~ msgstr "&Uvezi..." #~ msgid "Background:" #~ msgstr "Pozadina:" #~ msgid "Foreground:" #~ msgstr "Boja ispisa:" #~ msgid "New..." #~ msgstr "Novi..." #~ msgid "Rename..." #~ msgstr "Preimenuj..." #~ msgid "&Schemes:" #~ msgstr "&Sheme:" #~ msgid "&Export..." #~ msgstr "&Izvezi..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "Širi&na:" #~ msgid "&Height" #~ msgstr "&Visina" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Snimi sliku..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Koristi optimizovanu vrijednost za veličinu fonta umjesto šematski " #~ "specificirane vrijednosti(ekran za veličinu tačke slike se ne prevodi " #~ "dobro!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Auto podešavanje Veličine Fonta" #~ msgid "&Gaussian Width:" #~ msgstr "&Gussova širina:" #~ msgid "&Label peaks" #~ msgstr "&Vrhovi labele" #~ msgid "&Y Axis Units:" #~ msgstr "&Y jedinice ose:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Jezgro:" #~ msgid "&Reference:" #~ msgstr "&Referenca:" #~ msgid "Gaussian &Width:" #~ msgstr "Gausova &Širina:" #~ msgid "Reset &Plot Axes" #~ msgstr "Resetuj ose &Plot" #~ msgid "Label Peaks:" #~ msgstr "Vrhovi labele:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Molekularne vibracije" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "vibracije veće frekvencije će pokazati brže pokrete" #~ msgid "Animation speed set by frequency" #~ msgstr "Brzina animacije postavljena po frekvenciji" #~ msgid "Display force &vectors" #~ msgstr "Prikaži silu &vektora:" #~ msgid "Generate Cell" #~ msgstr "Generiši ćeliju" #~ msgid "Create Surfaces" #~ msgstr "Kreiraj površine" #~ msgid "Surface Type:" #~ msgstr "Tip površine" #~ msgid "Color By:" #~ msgstr "Boja po:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Niska" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Srednje" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Visoka" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Vrlo visoka" #~ msgid "Iso Value:" #~ msgstr "Izo vrijednost:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Tip u displeju:" #~ msgid "New Display" #~ msgstr "Novi displej" #~ msgid "Advanced..." #~ msgstr "Napredno..." #~ msgid "Display visual cues" #~ msgstr "Prikaži vizualne redove" #~ msgid "Python Settings" #~ msgstr "Python postavke" #~ msgid "Z Matrix Editor" #~ msgstr "Uređivač Z matrice" #~ msgid "Import Selected Atoms" #~ msgstr "Uvezi označene atome" avogadrolibs-1.93.0/i18n/ca.po000066400000000000000000006500711360735163600160050ustar00rootroot00000000000000# translation of _avogadro-ca.po to Catalan (Valencia) # translation of Avogadro to Catalan (Valencian) # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # # Carles Ferrando Garcia , 2009. # Toni Hermoso Pulido , 2009. msgid "" msgstr "" "Project-Id-Version: _avogadro-ca\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:28+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Catalan (Valencia) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Entrada del generador..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Entrada del generador..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Continua" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Tanca" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Desconegut" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Cancel·la el càlcul" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Avís" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Avís" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Selecciona solvent" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Sortida" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "No es pot escriure al fitxer." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Fitxer de vídeo sense desar." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Fitxer de vídeo sense desar." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Configura" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Títol" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nom de fitxer:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processadors:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Càlcul:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Base" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "No està configurada la molècula" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Atura &animació" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "No hi ha àtoms seleccionats" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrogen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Heli" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Liti" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beril·li" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carboni" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogen" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxigen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neó" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodi" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesi" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alumini" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silici" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fòsfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Sofre" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Clor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argó" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potassi" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calci" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Escandi" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titani" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadi" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Crom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganès" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Ferro" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Níquel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Coure" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinc" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gal·li" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germani" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsènic" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Seleni" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Criptó" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidi" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Estronci" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Itri" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconi" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobi" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdè" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tecneci" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruteni" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodi" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Pal·ladi" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Argent" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmi" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indi" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Estany" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimoni" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tel·luri" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iode" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenó" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cesi" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bari" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantani" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Ceri" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodimi" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodimi" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometi" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samari" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europi" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolini" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbi" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprosi" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmi" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbi" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tuli" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Iterbi" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Luteci" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafni" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tàntal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungstè" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Reni" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmi" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridi" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platí" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Or" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercuri" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tal·li" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Plom" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Poloni" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Àstat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radó" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Franci" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radi" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actini" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Tori" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protoactini" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Urani" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptuni" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutoni" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americi" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curi" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkeli" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californi" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteini" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermi" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevi" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobeli" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Laurenci" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Ruderfordi" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubni" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgi" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohri" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassi" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitneri" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadi" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgueni" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernici" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconi" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovi" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermori" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Navega..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Selecciona solvent" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Suprimeix els seleccionats" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Tots els fitxers" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "sense nom" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Taula periòdica." #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03 ha fallat en el seu inici" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "ABINIT ha petat." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Error OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Desconegut" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molècula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Afegeix un àtom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Esborra Àtoms" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Suprimeix-ho tot" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Ajusta els hidrògens" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Canvia l'element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Canvia l'element" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Carrega formal" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Afegeix un enllaç" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Esborra Àtoms" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Suprimeix l'enllaç" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Ordre de l'enllaç" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Canvia l'orde de l'enllaç" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Dur als enllaços" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Suprimeix l'enllaç" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Omple la cel·la unitat" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Omple la cel·la unitat" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Omple la cel·la unitat" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super cel·la" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Super cel·la" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Omple la cel·la unitat" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Fitxer" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exporta" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Llindars" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Obre el fitxer WFN" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensions" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Error" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "S'ha produït un error en llegir el fitxer traj %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Error OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "S'ha produït un error en llegir el fitxer traj %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Obre el fitxer WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Obre el fitxer WFN" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Error" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Desa entrada" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "Entrada LAMMPS" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Èxit!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Comentaris del fitxer d'entrada" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Mostra multiples enllaços" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrògens" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Boles i bastons" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Representa etiquetes d'àtoms i enllaços" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulació de l'enllaç central" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulació de l'enllaç central" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Àtom final" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Suprimeix hidrògens" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Compila" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Enllaç" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nom de fitxer:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Editor de coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Editor de coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Desfés els canvis" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nom de fitxer invàlid" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nom d'element" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Símbol d'element" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Símbol d'element" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nom de fitxer invàlid" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Nombre atòmic" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nom de fitxer invàlid" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Coordenades" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Coordenades" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Coordenades" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Coordenades" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Coordenades" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Personalitzat" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Toni Hermoso Pulido,carles ferrando,el_libre " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Geoff Hutchison,Toni " "Hermoso Pulido,carles ferrando,el_libre XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ," "Launchpad Contributions:,Avogadro Team, ,Launchpad Contributions:,Avogadro " "Team,Geoff Hutchison,el_libre XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,el_libre - http://www.catmidia." "cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team," "David Planella,Geoff Hutchison,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,David " "Planella,Geoff Hutchison,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,David " "Planella,Geoff Hutchison,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,David " "Planella,Geoff Hutchison,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,David " "Planella,Geoff Hutchison,carles ferrando,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,David " "Planella,Geoff Hutchison,carles ferrando,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,Carles," "David Planella,Geoff Hutchison,Marc Coll Carrillo,el_libre - http://www." "catmidia.cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:," "Avogadro Team,Carles,David Planella,Geoff Hutchison,Marc Coll Carrillo," "el_libre - http://www.catmidia.cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad " "Contributions:,Avogadro Team,Carles,David Planella,Geoff Hutchison,Marc Coll " "Carrillo,el_libre - http://www.catmidia.cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ amb números" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Informació GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Informació GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Entrada turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Copia-ho tot" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Personalitzat" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Suprimeix-ho tot" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "No es pot establir el format: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "No es pot establir el format: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Omple la cel·la unitat" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Omple la cel·la unitat" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super cel·la" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Cristall..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Cristall..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Representa etiquetes d'àtoms i enllaços" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Eixos personalitzats" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Dibuixa" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Dibuixa l'àtom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Canvia l'orde de l'enllaç" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Esborra Àtoms" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distància" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distància (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Altre..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Optimització automàtica" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Senzill" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Doble" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triple" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "S'ha produït un error en llegir el fitxer traj %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Entrada del generador..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Entrada GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Energia de punt senzill" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Geometria d'equilibri" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Estat de transició" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Freqüències" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Potencial base" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Aigua" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doblet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dicatió" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Catió" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutre" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anió" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianió" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Entrada GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Cancel·la el càlcul" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Ajusta els hidrògens" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Afegeix hidrògens" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Suprimeix hidrògens" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Suprimeix hidrògens" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrògens" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidrògens" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importa" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Representa etiquetes d'àtoms i enllaços" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Insereix" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "No hi ha cap descripció" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molècula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Genera..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipula" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipula l'àtom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Mesura" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Diedre:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Mesura" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Representa la l'acoblament molecular de la isosuperfície" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Visualitza" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Propietats de la molècula" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navega" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navega" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nom químic" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Estructura química a descarregar." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Descàrrega de Xarxa fallida" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Temps de connexió sobrepassat o un altre error." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "La molècula especificada no s'ha trobat: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Descàrrega de Xarxa fallida" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimitza Geometria" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Optimització geomètrica" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Voleu detectar els enllaços?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Afegeix hidrògens" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Afegeix hidrògens per al pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Suprimeix hidrògens" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "La lectura de la molècula des del fitxer «%1» ha fallat." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Ha hagut un problema escrivint el fitxer %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimitza Geometria" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Genera..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "El fitxer trajectòria %1 no concorda amb el nombre d'àtoms de l'actual " "molècula" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimitza Geometria" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Afegeix hidrògens" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Afegeix hidrògens per al pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Suprimeix hidrògens" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Atura" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Paràmetres:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Enllaços dinàmics" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Esborra..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Atura" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "No és pot llegir el fitxer %1" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Error" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Desa el fitxer de vídeo" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Representa utilitzant POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Genera primitives utilitzant propietats QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensions" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Obre el fitxer WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Fitxers WFN (*.wfn);;Tots els fitxers (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Extensió QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Crea fitxers d'entrada per paquets químics quàntics" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calculant la densitat d'electrons" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calculant la densitat d'electrons" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calcula i visualitza orbitals moleculars" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Inicialització" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Generadors de fitxers d'entrada" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Suprimeix-ho tot" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selecció" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Inverteix la selecció" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " electrons de valència" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Selecciona" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Selecciona" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Selecció" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selecció" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "tolerància SCF:" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "tolerància SCF:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibracions" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Visualització espectral" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tipus" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Simetria" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Selecciona per element..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Representa els moments dipolars" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "representa" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Representa utilitzant POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Filferro" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Representa molècules com bastons" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Diàleg" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Forma" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Configuració de selecció" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Cancel·la el càlcul" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Programa de shader:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processadors:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Amaga en finalitzar" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Amaga en finalitzar" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Canvia l'element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Fitxer d'entrada dalton." #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Fitxer igual:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Camp de força:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Fitxer igual:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Fitxer d'entrada dalton." #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Desa entrada" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Èxit!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Estrcutura:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Carrega fitxer..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Configuració de mesuraments" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Nom de fitxer:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navega" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navega" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navega" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nom de fitxer:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "D'acord" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Cancel·la" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Format de coordenades:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Inicialització" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distància" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Àngstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formata:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Desfés els canvis" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Aplica" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Paràmetres de la super cel·la" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Opcions de la super cel·la" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Repetició A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Repetició B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Repetició C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Amaga els &editors" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matriu Z MOPAC" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Fraccional" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Mètode de transformació" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Oculta" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Escala i factor:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Etiqueta de text" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Ordre d'enllaç:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Entrada GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "Configuració &bàsica" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Entrada:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicitat:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Amb:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Títol:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Càrrega:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calcula" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nom de fitxer:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Reinicia-ho tot" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Paràmetres per defecte" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Carrega fitxer..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nom" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formata:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "No hi ha cap descripció" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Massa molecular (g/mol)" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "PER FER" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Formula química:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Número d'àtoms:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Número d'enllaços:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Optimització geomètrica" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Mètode d'optimització:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Camp de força:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Mètode d'optimització:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Pas descendent" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Gradients conjugats" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Autogira" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosuperfície = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potencial electrostàtic" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "passos" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Criteri de convergència del gradient:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergència" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Temps límit:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Unitats" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Número d'enllaços:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Longitud d'ona (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Suprimeix els seleccionats" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Radi del punt crític:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Radi del camí de l'enllaç:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalent" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Mida constant" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacitat:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Mitjà" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Molt lent" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Baix" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Alt" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Molt alt" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Valor de la isosuperfície :" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolució:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calcula" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibracions" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitud:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Inicia &Animació" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Atura &animació" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molècula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Simetria" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Opcions" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Simetria" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Toni Hermoso Pulido,carles ferrando,el_libre " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Geoff Hutchison,Toni " "Hermoso Pulido,carles ferrando,el_libre XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ," "Launchpad Contributions:,Avogadro Team, ,Launchpad Contributions:,Avogadro " "Team,Geoff Hutchison,el_libre XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,el_libre - http://www.catmidia." "cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team," "David Planella,Geoff Hutchison,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,David " "Planella,Geoff Hutchison,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,David " "Planella,Geoff Hutchison,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,David " "Planella,Geoff Hutchison,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,David " "Planella,Geoff Hutchison,carles ferrando,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,David " "Planella,Geoff Hutchison,carles ferrando,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,Carles," "David Planella,Geoff Hutchison,Marc Coll Carrillo,el_libre - http://www." "catmidia.cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:," "Avogadro Team,Carles,David Planella,Geoff Hutchison,Marc Coll Carrillo," "el_libre - http://www.catmidia.cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad " "Contributions:,Avogadro Team,Carles,David Planella,Geoff Hutchison,Marc Coll " "Carrillo,el_libre - http://www.catmidia.cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,toniher@softcatala.cat,,el.libre@gmail.com,,,,toniher@softcatala.cat,,el." "libre@gmail.com,,,avogadro-devel@lists.sourceforge.net,,,avogadro-" "devel@lists.sourceforge.net,,el.libre@gmail.com,,,avogadro-devel@lists." "sourceforge.net,,el.libre@gmail.com,,,avogadro-devel@lists.sourceforge.net,,," "el.libre@gmail.com,,,avogadro-devel@lists.sourceforge.net,david." "planella@ubuntu.com,,el.libre@gmail.com,,,avogadro-devel@lists.sourceforge." "net,david.planella@ubuntu.com,,el.libre@gmail.com,,,avogadro-devel@lists." "sourceforge.net,david.planella@ubuntu.com,,el.libre@gmail.com,,,avogadro-" "devel@lists.sourceforge.net,david.planella@ubuntu.com,,,el.libre@gmail.com,,," "avogadro-devel@lists.sourceforge.net,david.planella@ubuntu.com,,,el." "libre@gmail.com,,,avogadro-devel@lists.sourceforge.net,,david." "planella@ubuntu.com,,,el.libre@gmail.com,,,avogadro-devel@lists.sourceforge." "net,,david.planella@ubuntu.com,,,el.libre@gmail.com,,,avogadro-devel@lists." "sourceforge.net,,david.planella@gmail.com,,,el.libre@gmail.com" #~ msgid "Color by Index" #~ msgstr "Color per índex" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Color per índex (vermell, taronja, groc, verd, blau, violeta)" #~ msgid "Color by Partial Charge" #~ msgstr "Color per càrrega parcial" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Color per càrrega parcial atòmica (blau = positiva, vermell = negativa)" #~ msgid "Custom Color:" #~ msgstr "Color personalitzat:" #~ msgid "Custom Color" #~ msgstr "Color personalitzat" #~ msgid "Set custom colors for objects" #~ msgstr "Tria els colors personalitzats per als objectes" #~ msgid "Color by Distance" #~ msgstr "Color per distància" #~ msgid "Color by distance from the first atom." #~ msgstr "Color per distància des del primer àtom." #~ msgid "Color by Element" #~ msgstr "Color per element" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Color per element (carboni = gris , oxigen = vermell, … )." #~ msgid "Color by Residue" #~ msgstr "Color per residu" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Color per residu (tipus d'aminoàcid, hidrofobicitat, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "Patró SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Color ressaltat:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Color del patró SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "" #~ "Color ressaltat de les característiques particulars amb concordança amb " #~ "el patró SMARTS." #~ msgid "Ununtrium" #~ msgstr "Ununtri" #~ msgid "Ununpentium" #~ msgstr "Ununpenti" #~ msgid "Ununseptium" #~ msgstr "Ununsepti" #~ msgid "Ununoctium" #~ msgstr "Ununocti" #~ msgid "Engines" #~ msgstr "Motors" #~ msgid "Axes" #~ msgstr "Eixos" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Representa els eixos x, y, i z a l'origen" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "" #~ "Representa les primitives utilitzant boles (àtoms) i bastons (enllaços)" #~ msgid "Cartoon" #~ msgstr "Pel·lícula" #~ msgid "Renders protein secondary structure" #~ msgstr "Representa l'estructura secundària de proteines" #~ msgid "Dipole" #~ msgstr "Dipol" #~ msgid "Force" #~ msgstr "Força" #~ msgid "Renders force displacements on atoms" #~ msgstr "Representa la força de dislocament dels àtoms" #~ msgid "Hydrogen Bond" #~ msgstr "Enllaç d'hidrogen" #~ msgid "Renders hydrogen bonds" #~ msgstr "Representa els enllaços d'hidrogen" #~ msgid "Select Atom Labels Color" #~ msgstr "Selecciona les etiquetes de color dels àtoms" #~ msgid "Select Bond Labels Color" #~ msgstr "Selecciona les etiquetes de color dels enllaços" #~ msgid "Select Atom Labels Font" #~ msgstr "Selecciona les etiquetes de la font dels àtoms" #~ msgid "Select Bond Labels Font" #~ msgstr "Selecciona les etiquetes de la font dels enllaços" #~ msgid "Label" #~ msgstr "Etiqueta" #~ msgid "Polygon" #~ msgstr "Polígon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Representa àtoms com tetraedres, octaedres i altres polígons" #~ msgid "Ribbon" #~ msgstr "Cinta" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Representa esquelet proteic com cintes" #~ msgid "Ring" #~ msgstr "Anell" #~ msgid "Renders rings with colored planes" #~ msgstr "Representa anells amb plans colorejats" #~ msgid "Simple Wireframe" #~ msgstr "Filferro senzill" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Representa els enllaços com línies, ideal per molècules llargues." #~ msgid "Van der Waals Spheres" #~ msgstr "Esferes de Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Representa els àtoms com a esferes de Van der Waals" #~ msgid "Stick" #~ msgstr "Bastons" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Densitat electrònica, isosuperfície= %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosuperfície = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Representa enllaços com línies (simplificades), ideal per biomolècules " #~ "molt grans" #~ msgid "Trajectory files" #~ msgstr "Fitxers de trajectoria" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Fitxers DL-POLY HISTORY" #~ msgid "Open Trajectory File" #~ msgstr "Obre fitxer de trajectòria" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "fitxers de vídeo (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Afegeix l'extensió .avi" #~ msgid "Animation..." #~ msgstr "Animació…" #~ msgid "Cannot read file format of file %1." #~ msgstr "No es pot llegir el format del fitxer %1" #~ msgid "Read trajectory file %1 failed." #~ msgstr "S'ha produït un error en llegir el fitxer %1 de trajectòria." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Cal especificar un nom .avi vàlid" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "El giny GL no s'ha inicialitzat de forma correcta per a desar el vídeo" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "El nom de fitxer del vídeo no és vàlid. Cal incloure el camí del " #~ "directori complet" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "El nom de fitxer del vídeo no és vàlid. Cal incloure el camí del " #~ "directori complet i el nom, acabat en .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "No es pot determinar el format del fitxer de nom: %1" #~ msgid "Animation" #~ msgstr "Animació" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Anima trajectòries, reaccions i vibracions." #~ msgid "Cartesian Editor" #~ msgstr "Editor cartesià" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "No hi ha cel·la unitària definida per la molècula -- no es poden " #~ "utilitzar coordinades fraccionaries." #~ msgid "Cartesian Editor..." #~ msgstr "Editor cartesià..." #~ msgid "Cartesian editor" #~ msgstr "Editor cartesià" #~ msgid "Number of atoms: %1" #~ msgstr "Nombre d'àtoms: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Nombre d'enllaços angulars: %1" #~ msgid "Add constraint" #~ msgstr "Afigeix una restricció" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "La vostra molècula ha de contindre al menys un àtom per a afegir-hi una " #~ "restricció" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "La vostra molècula ha de contindre al menys dos àtoms per a afegir-hi una " #~ "restricció d'enllaç" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "La vostra molècula ha de contindre al menys tres àtoms per a afegir-hi " #~ "una restricció angular" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "La vostra molècula ha de contindre al menys quatre àtoms per a afegir-hi " #~ "una restricció de torsió" #~ msgid "&Crystallography" #~ msgstr "Cristal·lografia" #~ msgid "&Settings" #~ msgstr "&Arranjament" #~ msgid "&Length Unit" #~ msgstr "Unitat de &longitud" #~ msgid "&Angle Unit" #~ msgstr "Unitat d'&angle" #~ msgid "Show &Editors" #~ msgstr "Mostra els &editors" #~ msgid "Undefined" #~ msgstr "no definit" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triclínic" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoclínic" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortoròmbic" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonal" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Romboèdric" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hexagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Cúbic" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanòmetre" #~ msgid "&Picometer" #~ msgstr "&Picòmetre" #~ msgid "&Degree" #~ msgstr "&Grau" #~ msgid "&Radian" #~ msgstr "&Radian" #~ msgid "Crystallography" #~ msgstr "Cristal·lografia" #~ msgid "Cartesian Coordinates" #~ msgstr "Coordenades cartesianes" #~ msgid "Working..." #~ msgstr "S'està treballant..." #~ msgid "Build" #~ msgstr "Construeix" #~ msgid "Please select one or more atoms." #~ msgstr "Si us plau, seleccioneu un o més àtoms" #~ msgid "Trajectory..." #~ msgstr "Trajectòria..." #~ msgid "Open chemical file format" #~ msgstr "Obre un format de fitxer químic" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Fitxers químics (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Obre un fitxer de paràmetres" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Fitxers químics (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importa una trajectòria" #~ msgid "Import trajectory files" #~ msgstr "Importa fitxers de trajectòria" #~ msgid "Setup Force Field..." #~ msgstr "Configura el camp de força…" #~ msgid "Calculate Energy" #~ msgstr "Calcula l'energia" #~ msgid "Conformer Search..." #~ msgstr "Cerca d'estereoisòmers..." #~ msgid "Constraints..." #~ msgstr "Restriccions..." #~ msgid "Ignore Selection" #~ msgstr "Ignora la selecció" #~ msgid "Fix Selected Atoms" #~ msgstr "Fixa els àtoms seleccionats" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mecànica molecular" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "No es pot establir el camp de forces per aquesta molècula. Canviant a UFF" #~ msgid "Energy = %L1 %2" #~ msgstr "Energia = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Optimització geomètrica" #~ msgid "Forcefield Optimization" #~ msgstr "Optimització del camp de forces" #~ msgid "Systematic Rotor Search" #~ msgstr "Cerca sistemàtica del gir" #~ msgid "Random Rotor Search" #~ msgstr "Cerca aleatòria del gir" #~ msgid "Weighted Rotor Search" #~ msgstr "Cerca promediada del gir" #~ msgid "ForceField" #~ msgstr "Camp de forces" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimitza molècules i genera estereoisòmers utilitzant camps de força de " #~ "mecànica molecular" #~ msgid "&Vector Graphics..." #~ msgstr "&Gràfic vectorial..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Formats comuns d'imatges vectorials" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Change H to Methyl" #~ msgstr "Canvia d'H a metil" #~ msgid "H to Methyl" #~ msgstr "H a metil" #~ msgid "H2Methyl" #~ msgstr "H2metil" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transforma hidrògens en grups metil" #~ msgid "Add or remove hydrogens" #~ msgstr "Afegeix o suprimeix hidrògens" #~ msgid "Fragment..." #~ msgstr "Fragment..." #~ msgid "Insert SMILES" #~ msgstr "Insereix SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Insereix un fragment SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Insereix un fragment" #~ msgid "Insert Crystal" #~ msgstr "Insereix cristall" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "" #~ "Insereix un fragment molecular per la construcció de molècules llargues" #~ msgid "Peptide..." #~ msgstr "Pèptid" #~ msgid "Insert Peptide" #~ msgstr "Insereix un pèptid" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Insereix un seqüència d'oligopeptids" #~ msgid "Invert Chirality" #~ msgstr "Quiralitat invertida" #~ msgid "InvertChiral" #~ msgstr "Inversióquiral" #~ msgid "Invert chiral centers" #~ msgstr "Centres d'inversió quiral" #~ msgid "Molecule Properties..." #~ msgstr "Propietats de la molècula..." #~ msgid "&Properties" #~ msgstr "&Propietats" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "desconegut" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Moment dipolar estimat (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(pendent)" #~ msgid "Display standard molecular properties." #~ msgstr "Visualitza les propietats estàndards de la molècula." #~ msgid "Fetch from PDB..." #~ msgstr "Importa des de PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Importa per nom químic" #~ msgid "Fetch from URL..." #~ msgstr "Importa des de URL..." #~ msgid "PDB Entry" #~ msgstr "Entrada PDB (base de dades de proteïnes)" #~ msgid "PDB entry to download." #~ msgstr "Entrada PDB a descarregar." #~ msgid "URL" #~ msgstr "Adreça URL" #~ msgid "URL of molecule to download." #~ msgstr "Adreça URL de la molècula a descarregar." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "La molècula especificada no s'ha carregat: %1" #~ msgid "Network Fetch" #~ msgstr "Importa la xarxa" #~ msgid "Fetch molecule files over the network." #~ msgstr "Posa els fitxers molecular sobre la xarxa." #~ msgid "All Files" #~ msgstr "Tots els fitxers" #~ msgid "Show Preview" #~ msgstr "Mostra la previsualització" #~ msgid "Hide Preview" #~ msgstr "Amaga la previsualització" #~ msgid "Intensities" #~ msgstr "Intensitats" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Desa la imatge de POV-Ray generada" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Fitxers d'imatge (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "No s'ha proporcionat cap nom de fitxer." #~ msgid "No valid filename was supplied." #~ msgstr "No s'ha proporcionat cap nom de fitxer vàlid." #~ msgid "Does not compute." #~ msgstr "No concorda." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "No heu demanat cap generació POV-Ray i no podeu utilitzar cap fitxer POV-" #~ "Ray. Així no podreu desar cap resultat. Esteu segur que això és el que " #~ "voleu ?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "No es pot escriure al fitxer %1. Esteu segurs de tindre permís " #~ "d'escriptura en aquest lloc?" #~ msgid "POV-Ray failed to start." #~ msgstr "S'ha produït un error en iniciar el POV-Ray." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "S'ha produït un error en iniciar el POV-Ray. Tal vegada podríeu comprovar " #~ "el camí a l'executable." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Crea fitxers POV-Ray i representa'ls utilitzant el programa d'ordres POV-" #~ "Ray." #~ msgid "Atom Properties..." #~ msgstr "Propietats dels àtoms..." #~ msgid "Bond Properties..." #~ msgstr "Propietats dels enllaços..." #~ msgid "Angle Properties..." #~ msgstr "Propietats d'Angle" #~ msgid "Torsion Properties..." #~ msgstr "Propietats de torsió…" #~ msgid "Conformer Properties..." #~ msgstr "Propietats de l'estereoisòmer..." #~ msgid "Atom Properties" #~ msgstr "Propietats d'Àtom" #~ msgid "Bond Properties" #~ msgstr "Propietats d'enllaç" #~ msgid "Angle Properties" #~ msgstr "Propietats d'angle" #~ msgid "Torsion Properties" #~ msgstr "Propietats de la torsió" #~ msgid "Conformer Properties" #~ msgstr "Propietats de l'estereoisòmer" #~ msgid "Properties" #~ msgstr "Propietats" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Finestra per mostrar l'àtom, enllaços, angles i propietats de torsió. " #~ "Això inclou un editor de coordenades cartesianes." #~ msgid "Valence" #~ msgstr "València" #~ msgid "Partial Charge" #~ msgstr "Carrega parcial" #~ msgid "Atom" #~ msgstr "Àtom" #~ msgid "Start Atom" #~ msgstr "Àtom inicial" #~ msgid "Rotatable" #~ msgstr "Angular" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Estereoisòmer %1\n" #~ "Longitud %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Llargada %1" #~ msgid "Vertex" #~ msgstr "Vèrtex" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Estereoisòmer %1\n" #~ "Angle %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Angle %1" #~ msgid "Angle" #~ msgstr "Angle" #~ msgid "Atom %1" #~ msgstr "Àtom %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Estereoisòmer %1\n" #~ "Torsió %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsió %1" #~ msgid "Torsion" #~ msgstr "Torsió" #~ msgid "Energy (kJ/mol)" #~ msgstr "Energia (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Estereoisòmer" #~ msgid "Yes" #~ msgstr "Sí" #~ msgid "No" #~ msgstr "No" #~ msgid "Python Terminal" #~ msgstr "Terminal de python" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Terminal interactiu de guions de python" #~ msgid "Running Abinit calculation..." #~ msgstr "S'està executant el càlcul amb ABINIT..." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Avís del generador de fitxers d'entrada Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell de visualització de fitxers d'entrada dalton ?" #~ msgid "QM Matches" #~ msgstr "Concordances QM" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Selecció EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Selecció QM..." #~ msgid "Delete" #~ msgstr "Suprimeix" #~ msgid "You must make a selection!" #~ msgstr "Cal que feu una selecció" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "La conversió SMILES no és disponible" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "El format de conversió SMILES no és disponible !" #~ msgid "Group Name" #~ msgstr "Nom del grup" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Crea fitxers d'entrada per al paquet químic quàntic GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "La configuració avançada ha canviat" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "La configuració avançada ha canviat. \n" #~ "Voleu descartar-ne els canvis ?" #~ msgid "Advanced Settings Reset" #~ msgstr "Reinicialització de la configuració avançada" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Esteu segurs de voler reinicialitzar la configuració ? \n" #~ "Tots els canvis es perdran!" #~ msgid "Basic Settings Reset" #~ msgstr "Reinicialització de la configuració bàsica" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Esteu segurs de voler reinicialitzar la configuració bàsica? \n" #~ "Tot els canvis es perdran!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Avís del generador d'entrada GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada GAMESS-UK ?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Entrada GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Avís del generador d'entrada Gaussiana" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada de Gaussià ?" #~ msgid "Gaussian Input Deck" #~ msgstr "Entrada Gaussiana" #~ msgid "Gaussian Running." #~ msgstr "Execució Gaussiana" #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "La Gaussiana s'està executant. Espereu fins que els càlculs previs hagin " #~ "finalitzat." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussià no instal·lat" #~ msgid "The G03 executable, cannot be found." #~ msgstr "L'executable G03 no s'ha trobat." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "G03 no s'ha iniciat. Tal vegada no s'ha instal·lat de forma correcta." #~ msgid "Running Gaussian calculation..." #~ msgstr "Executant càlcul Gaussià..." #~ msgid "G03 Crashed." #~ msgstr "G03 Trencat." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "La Gaussiana no s'ha executat bé. Tal vegada no s'ha instal·lat de forma " #~ "correcta." #~ msgid "&Abinit..." #~ msgstr "&ABINIT..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussià..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Lammps Input" #~ msgstr "Entrada LAMMPS" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Avís de generador d'entrada Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada Molpro?" #~ msgid "Molpro Input Deck" #~ msgstr "Entrada Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Avís d'entrada MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada de MOPAC ?" #~ msgid "MOPAC Input Deck" #~ msgstr "Entrada MOPAC" #~ msgid "MOPAC Running." #~ msgstr "Executant MOPAC" #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC està executant-se. Espereu fins que els càlculs hagin acabat." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC no instal·lat" #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "L'executable MOPAC, no és pot trobar." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC no s'ha executat." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC no s'ha iniciat. Tal vegada no està correctament instal·lat" #~ msgid "Running MOPAC calculation..." #~ msgstr "Executant el càlcul MOPAC..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC s'ha trencat." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC no s'executa correctament. Tal vegada no està correctament " #~ "instal·lat" #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Avís de generador d'entrada NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada NWChem ?" #~ msgid "NWChem Input Deck" #~ msgstr "Entrada NWChem" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Avís del generador d'entrades Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada de Q-Chem ?" #~ msgid "QChem Input Deck" #~ msgstr "Entrada QChem" #~ msgid "Select SMARTS..." #~ msgstr "Selecciona SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Selecciona per residu..." #~ msgid "Add Named Selection..." #~ msgstr "Afegeix una selecció per nom..." #~ msgid "SMARTS Selection" #~ msgstr "Selecció SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Patró SMART a seleccionar" #~ msgid "Select by residue" #~ msgstr "Selecciona per residu" #~ msgid "Residue name" #~ msgstr "Nom del residu" #~ msgid "There is no current selection." #~ msgstr "Ni hi ha cap selecció actual." #~ msgid "Add Named Selection" #~ msgstr "Afegeix una selecció per nom" #~ msgid "Name cannot be empty." #~ msgstr "El nom no pot estar buit." #~ msgid "There is already a selection with this name." #~ msgstr "Ja hi ha una selecció amb aquest nom." #~ msgid "Selections" #~ msgstr "Seleccions." #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Selecciona àtoms, enllaços, residus..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Shaders..." #~ msgid "Open a vertex shader source file" #~ msgstr "Obre un fitxer font de vertex shader" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Fitxers de vertex shader (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Obre un fitxer font de fragment shader" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fitxers de fragment shader (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Obre un fitxer de paràmetres shader" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Fitxers de paràmetres shader (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL Shaders" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Carrega i utilitza OpenGL 2.0 GLSL shader" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensitat (unitats arbitraries)" #~ msgid "Energy (eV)" #~ msgstr "Energia (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Densitat dels estats (estat/cel.la)" #~ msgid "Density of States (states/atom)" #~ msgstr "Densitat dels estats (estat/àtom)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Densitat dels estats (estat/electró de valència)" #~ msgid "Transmittance (%)" #~ msgstr "Transmitància (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbància (%)" #~ msgid "No intensities" #~ msgstr "Cap intensitat" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "La dada de vibració per la molècula que heu carregat no conté cap " #~ "intensitat. Les intensitats s'han establert a un valor arbitrari per la " #~ "seva visualització." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Nombre d'ona (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Desplaçament (ppm)" #~ msgid "Activity" #~ msgstr "Activitat" #~ msgid "Intensity" #~ msgstr "Intensitat" #~ msgid "X Axis" #~ msgstr "Eix X" #~ msgid "Y Axis" #~ msgstr "Eix Y" #~ msgid "&Appearance" #~ msgstr "&Aparença" #~ msgid "E&xport Image" #~ msgstr "E&xporta Imatge" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infraroig" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Paràmetres de l'espectre &infraroig" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "RMN" #~ msgid "&NMR Spectra Settings" #~ msgstr "Paràmetres espectre RMN" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "Densitats dels estats" #~ msgid "&Density Of States Settings" #~ msgstr "Paràmetres de la &Densitat dels estats" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "Paràmetres &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "Paràmetres &CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "Paràmetres &Raman" #~ msgid "No data" #~ msgstr "Sense dades" #~ msgid "Dark" #~ msgstr "Fosc" #~ msgid "Light" #~ msgstr "Llum" #~ msgid "Publication" #~ msgstr "Publicació" #~ msgid "Handdrawn" #~ msgstr "Dibuix a ma" #~ msgid "New Scheme" #~ msgstr "Nou esquema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Confirma eliminació d'esquema" #~ msgid "Really remove current scheme?" #~ msgstr "Vols esborrar l'esquema actual?" #~ msgid "Change Scheme Name" #~ msgstr "Canvia Nom d'esquema" #~ msgid "Enter new name for current scheme:" #~ msgstr "Escriu nou nom per a l'esquema actual:" #~ msgid "Select Background Color" #~ msgstr "Selecciona el color de fons" #~ msgid "Select Foreground Color" #~ msgstr "Selecciona el color del primer pla" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Selecciona el color de l'espectre calculat" #~ msgid "Select Imported Spectra Color" #~ msgstr "Selecciona el color de l'espectre importat" #~ msgid "Export Calculated Spectrum" #~ msgstr "Exporta l'espectre calculat" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Valors separats per tabulador (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Valors separats per tabulador" #~ msgid "Comma Separated Values" #~ msgstr "Valors separats per coma" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importa espectre" #~ msgid "Spectra Import" #~ msgstr "Espectre importat" #~ msgid "Unknown extension: %1" #~ msgstr "Extensió desconeguda: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "Dada IR PWscf (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Dada IR turbomole (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Dada UV turbomole (espectre)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Dada CD turbomole (espectre cd)" #~ msgid "Data Format" #~ msgstr "Format de dada" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format:" #~ msgid "Load Spectral Data" #~ msgstr "Carrega les dades espectrals" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "El fitxer turbomole CD s'ha formatat de forma incorrecta: %1" #~ msgid "Portable Network Graphics" #~ msgstr "PNG" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "TIFF" #~ msgid "Windows Bitmap" #~ msgstr "Mapa de bits de Windows" #~ msgid "Portable Pixmap" #~ msgstr "Pixmap portable" #~ msgid "X11 Bitmap" #~ msgstr "Bitmap X11" #~ msgid "X11 Pixmap" #~ msgstr "Pixmap X11" #~ msgid "Save Spectra Image" #~ msgstr "Desa la imatge de l'espectre" #~ msgid "Image successfully written to %1" #~ msgstr "Imatge gravada amb èxit al %1" #~ msgid "&Advanced <<" #~ msgstr "&Avançat <<" #~ msgid "&Advanced >>" #~ msgstr "&Avançat >>" #~ msgid "&Spectra..." #~ msgstr "&Espectre..." #~ msgid "Spectra" #~ msgstr "Espectre" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualitza les dades espectrals dels càlculs químics quàntics" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Anàlisis vibracional" #~ msgid "No vibrational displacements exist." #~ msgstr "No existeixen dislocaments vibracionals." #~ msgid "Vibration" #~ msgstr "Vibració" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Mostra els modes vibracionals per als càlculs químics quàntics" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Sortida %1 vibracions per freqüència..." #~ msgid "Pause" #~ msgstr "Pausa" #~ msgid "Super Cell Builder..." #~ msgstr "Constructor de super cel·les ..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Aquest document és d'una molècula aïllada. Necessiteu crear una cel·la " #~ "unitat." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Construeix i visualitza super cel·les cristal·logràfiques" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbitals moleculars..." #~ msgid "Orbitals" #~ msgstr "Orbitals" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Orbital" #~ msgid "Status" #~ msgstr "Estat" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Res" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potencial electrostàtic" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Densitat electrònica" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbital molecular" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Error - tipus no definit" #~ msgid "Create Surfaces..." #~ msgstr "Crea superfícies..." #~ msgid "Calculating VdW Cube" #~ msgstr "Calculant el cub VdW" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calculant MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Densitat d'electrons" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "" #~ "Les superfícies de potencial electrostàtic encara no estan implementades." #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Calcula orbitals moleculars i altres superfícies" #~ msgid "&Nanotube Builder..." #~ msgstr "Constructor de &nanotubs..." #~ msgid "Nanotube Builder" #~ msgstr "Constructor de nanotubs" #~ msgid "Building..." #~ msgstr "S'està construint..." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "El estri GL no està correctament inicialitzat per enregistrar un vídeo" #~ msgid "GL widget has no molecule" #~ msgstr "El estri GL no té cap molècula" #~ msgid "Building video " #~ msgstr "Codificant vídeo " #~ msgid "Could not run povray." #~ msgstr "No funciona povray." #~ msgid "Could not run mencoder." #~ msgstr "No funciona mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Configura la relació d'aspecte" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "L'actual escena d'Avogadro té %1x%2 pixels d'ample i tanmateix té relació " #~ "d'aspecte %3.\n" #~ "Podeu utilitzar aquest valor, per exemple per utilitzar POV-Ray per " #~ "produir una imatge de %4x1000 pixels , o podeu entrar un altre valor " #~ "positiu, \n" #~ "per exemple 1 si voleu utilitzar POV-Ray per produir una imatge quadrada " #~ "de d'aproximadament 1000x1000 pixels." #~ msgid "Connect" #~ msgstr "Connecta" #~ msgid "Disconnect" #~ msgstr "Desconnecta" #~ msgid "&WiiTrack" #~ msgstr "Pista&Wii" #~ msgid "Wii Tracking" #~ msgstr "Seguiment Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Moviment de tracció utilitzant Wii remotes" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Contexte OpenGL no vàlid. \n" #~ "Alguna cosa està completament trencada en la configuració OpenGL (podeu " #~ "executar alguna altre aplicació ?), o heu trobat un bug." #~ msgid "Debug Information" #~ msgstr "Informació desenvolupament" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Visualitza mida: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Àtoms: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Enllaços: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: índex %1 fora de rang." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "El tipus de fitxer «%1» no té suportada la lectura." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "El tipus de fitxer per al fitxer «%1» no té suportada la lectura." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "" #~ "La lectura de la molècula amb índex %1 des del fitxer «%2» ha tingut " #~ "errades." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "Substitució de la molècula: índex %1 fora de rang." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "El tipus de fitxer «%1» no suporta l'escriptura." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "El tipus de fitxer per al fitxer «%1» no té suportada l'escriptura." #~ msgid "Could not open file '%1' for writing." #~ msgstr "No és pot obrir el fitxer «%1» per escriptura." #~ msgid "Could not open file '%1' for reading." #~ msgstr "No és pot obrir el fitxer «%1» per lectura." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "" #~ "La substitució de la molècula amb índex %1 al fitxer «%2» ha tingut " #~ "problemes." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "No es pot obrir el fitxer %1 per lectura." #~ msgid "File %1 can not be opened for writing." #~ msgstr "El fitxer %1 no és pot obrir per escriure-hi." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "El desat del fitxer molecular ha fallat - no és pot reanomenar el fitxer " #~ "original." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "El desat del fitxer molecular ha fallat - no és pot reanomenar el fitxer " #~ "nou." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "El desat del fitxer molecular ha fallat - no és pot reanomenar el fitxer " #~ "antic." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Ha fallat escriure una molècula al fitxer «%1». La funció OpenBabel ha " #~ "fallat." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "El fitxer %1 no és pot obrir per escriure-hi." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Ha fallat l'escriptura dels estereoisòmers al fitxer «%1»." #~ msgid "Molecule %1" #~ msgstr "Molècula %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Giny de python desconegut" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: comprobació " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - el guió no té cap 'Engine' class definit" #~ msgid " - no module" #~ msgstr " - no mòdul" #~ msgid "Unknown Python Extension" #~ msgstr "Extensió Python desconeguda" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: comprovant " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - el script no té cap 'Extension' class definit" #~ msgid "Unknown Python Tool" #~ msgstr "Eina de Python desconeguda" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: comprovant " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - el script no té cap 'Tool' class definida" #~ msgid "Conformer %1" #~ msgstr "Estereoisòmer %1" #~ msgid "Tools" #~ msgstr "Eines" #~ msgid "Axis:" #~ msgstr "Eix:" #~ msgid "Align:" #~ msgstr "Alinea:" #~ msgid "Everything" #~ msgstr "Tot" #~ msgid "Align" #~ msgstr "Alinea" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Alinea molècules als eixos cartesians" #~ msgid "Align Settings" #~ msgstr "Configuració de l'alineació" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: No es pot configurar el camp de forces..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Nombre de restriccions: %1" #~ msgid "Steps per Update:" #~ msgstr "Passes per actualizar:" #~ msgid "Algorithm:" #~ msgstr "Algorisme:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dinàmica molecular (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinàmica molecular (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinàmica molecular (900K)" #~ msgid "Start" #~ msgstr "Inicia" #~ msgid "Fixed atoms are movable" #~ msgstr "Els àtoms fixats es poden moure" #~ msgid "Ignored atoms are movable" #~ msgstr "Els àtoms ignorats es poden moure" #~ msgid "AutoOpt Molecule" #~ msgstr "Molècula optimitzada automàticament" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Optimització automàtica de la geometria molecular" #~ msgid "AutoOptimization Settings" #~ msgstr "Configuració d'Autooptimització" #~ msgid "Auto Rotation Tool" #~ msgstr "Eina d'autogir" #~ msgid "x rotation:" #~ msgstr "rotació x:" #~ msgid "x rotation" #~ msgstr "rotació x" #~ msgid "y rotation:" #~ msgstr "rotació y:" #~ msgid "y rotation" #~ msgstr "rotació y" #~ msgid "z rotation:" #~ msgstr "rotació z:" #~ msgid "z rotation" #~ msgstr "rotació z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Rotació automàtica de molècules" #~ msgid "AutoRotate Settings" #~ msgstr "Configuració d'Autorotació" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Longitud de l'enllaç: %L1" #~ msgid " Show Angles" #~ msgstr " Visualitza Angles" #~ msgid "Snap-to Threshold: " #~ msgstr "Dur a la vora: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Manipula l'enllaç central" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulació de longituds d'enllaç, angles, i torsions" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Configuració de la manipulació de l'enllaç central" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distància (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Angle: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distància (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Angle dièdric: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distància(es):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Mesura de longituds d'enllaç, angles i diedres" #~ msgid "Delete Atom" #~ msgstr "Suprimeix l'àtom" #~ msgid "Draw Bond" #~ msgstr "Dibuixa l'enllaç" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Dibuixa i edita àtoms i enllaços" #~ msgid "Draw Settings" #~ msgstr "Configuració de Dibuix" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Trasllada , rota, i ajusta àtoms i fragments" #~ msgid "Manipulate Settings" #~ msgstr "Configuració de manipulació" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Trasllada, rota i amplia al voltat de la vista actual" #~ msgid "Navigate Settings" #~ msgstr "Configuració de navegació" #~ msgid "Selection Mode:" #~ msgstr "Mode selecció:" #~ msgid "Atom/Bond" #~ msgstr "Àtom/Enllaç" #~ msgid "Residue" #~ msgstr "Residu" #~ msgid "Change color of the atom" #~ msgstr "Canvia el color de l'àtom" #~ msgid "Change label of the atom" #~ msgstr "Canvia l'etiqueta de l'àtom" #~ msgid "New Label:" #~ msgstr "Etiqueta nova" #~ msgid "Change label of the bond" #~ msgstr "Canvia l'etiqueta de l'enllaç" #~ msgid "Change radius of the atom" #~ msgstr "Canvia el radi de l'àtom" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Nou radi, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Selecciona àtoms, residus i molècules" #~ msgid "Symbol" #~ msgstr "Símbol" #~ msgid "Bond Length" #~ msgstr "Longitud de l'enllaç" #~ msgid "Bond Angle" #~ msgstr "Angle de l'enllaç" #~ msgid "Dihedral Angle" #~ msgstr "Angle dièdric" #~ msgid "Z Matrix Editor..." #~ msgstr "Editor de Matriu Z ..." #~ msgid "Z-Matrix" #~ msgstr "Matriu Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Crea/edita una matriu z" #~ msgid "Z-Matrix Settings" #~ msgstr "Configuració de Matriu Z" #~ msgid "Residue Color Settings" #~ msgstr "Configuració del residu de color" #~ msgid "Color residues by:" #~ msgstr "Residu de color de:" #~ msgid "Amino Colors" #~ msgstr "Colors amino" #~ msgid "Shapely Colors" #~ msgstr "Colors de la forma" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobicitat" #~ msgid "Axes:" #~ msgstr "Eixos:" #~ msgid "Cartesian Axes" #~ msgstr "Eixos cartesians" #~ msgid "Orthogonal Axes" #~ msgstr "Eixos ortogonals" #~ msgid "Axis 1:" #~ msgstr "Eix 1:" #~ msgid "Axis 2:" #~ msgstr "Eix 2:" #~ msgid "Axis 3:" #~ msgstr "Eix 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origen:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Normal" #~ msgid "Preserve vector norms" #~ msgstr "Preserva el vectors normals" #~ msgid "Atom Radius:" #~ msgstr "Radi de l'àtom:" #~ msgid "Bond Radius:" #~ msgstr "Radi de l'enllaç:" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Helix" #~ msgstr "Hèlix" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Fulla" #~ msgid "Loop" #~ msgstr "Cicle" #~ msgid "Colors" #~ msgstr "Colors" #~ msgid "Dipole:" #~ msgstr "Dipol:" #~ msgid "Dipole Moment" #~ msgstr "Moment dipolar" #~ msgid "Custom Vector" #~ msgstr "Vector personalitzat" #~ msgid "Custom:" #~ msgstr "Personalitzat:" #~ msgid "Width:" #~ msgstr "Amplada:" #~ msgid "Cut-off radius:" #~ msgstr "Radi de tall:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Angle de tall:" #~ msgid "Rendering Engine:" #~ msgstr "Giny de dibuix:" #~ msgid "TextRenderer" #~ msgstr "TextRenderer" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Etiquetes d'àtom" #~ msgid "Text:" #~ msgstr "Text:" #~ msgid "Color:" #~ msgstr "color:" #~ msgid "None" #~ msgstr "Cap" #~ msgid "Symbol & Number in Group" #~ msgstr "Símbol i nombre del grup" #~ msgid "Symbol & Atom number" #~ msgstr "Símbol i nombre atòmic" #~ msgid "Formal charge" #~ msgstr "Carrega formal" #~ msgid "Partial charge" #~ msgstr "Carrega parcial" #~ msgid "Residue number" #~ msgstr "Nombre de residu" #~ msgid "Unique ID" #~ msgstr "ID únic" #~ msgid "Custom data" #~ msgstr "Dada" #~ msgid "Change Font" #~ msgstr "Canvia la font" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Etiqueta a canviar:" #~ msgid "Bond Labels" #~ msgstr "Etiquetes d'enllaç" #~ msgid "Bond length" #~ msgstr "Longitud d'enllaç" #~ msgid "Bond number" #~ msgstr "Nombre d'enllaç" #~ msgid "Bond order" #~ msgstr "Ordre d'enllaç" #~ msgid "Rendering:" #~ msgstr "Representació:" #~ msgid "Backbone" #~ msgstr "Esquelet proteïc" #~ msgid "Lines" #~ msgstr "Línies" #~ msgid "Radius:" #~ msgstr "Radi:" #~ msgid "Include Nitrogens" #~ msgstr "Inclou els nitrogens" #~ msgid "VdW Opacity:" #~ msgstr "Opacitat de VdW:" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Representa:" #~ msgid "Fill" #~ msgstr "Omple" #~ msgid "Points" #~ msgstr "Punts" #~ msgid "Draw Box:" #~ msgstr "Caixa de dibuix:" #~ msgid "Style:" #~ msgstr "Estil:" #~ msgid "Selected Colors" #~ msgstr "Colors seleccionats" #~ msgid "Mapped Colors" #~ msgstr "Colors dibuixats" #~ msgid "Colors:" #~ msgstr "Colors:" #~ msgid "Positive" #~ msgstr "Positiu" #~ msgid "Negative" #~ msgstr "Negatiu" #~ msgid "Show Atoms" #~ msgstr "Mostra els àtoms" #~ msgid "Animate Trajectory" #~ msgstr "Anima la trajectoa" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Cicle" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Anomena i desa com a .avi…" #~ msgid "Angstroms" #~ msgstr "Angstroms" #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, sols coordenades" #~ msgid "GAMESS Input #2" #~ msgstr "Entrada GAMESS #2" #~ msgid "Priroda Input" #~ msgstr "Entrada priroda" #~ msgid "Apply Changes" #~ msgstr "Aplica els canvis" #~ msgid "Cut All" #~ msgstr "Talla-ho tot" #~ msgid "Paste to the End" #~ msgstr "Enganxa fins el final" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Enganxa o edita les " #~ "coordinades atòmiques aquí. Podeu enganxar quasi qualsevol fragment de " #~ "text contenint coordinades.

" #~ msgid "(None)" #~ msgstr "(cap)" #~ msgid "Sort by " #~ msgstr "ordenat per " #~ msgid "Conformer Search" #~ msgstr "Cerca d'estereoisòmers" #~ msgid "Method" #~ msgstr "Mètode" #~ msgid "Number of atoms:" #~ msgstr "Nombre d'àtoms:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Nombre de enllaços angulars:" #~ msgid "Number of conformers" #~ msgstr "Nombre d'estereoisòmers" #~ msgid "Systematic rotor search" #~ msgstr "Cerca sistemàtica de rotors" #~ msgid "Random rotor search" #~ msgstr "Cerca de rotors aleatòria" #~ msgid "Weighted rotor search" #~ msgstr "Cerca de rotors depenent de la massa" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Constraints" #~ msgstr "Restriccions" #~ msgid "Add Constraints" #~ msgstr "Afegeix restriccions" #~ msgid "Ignore Atom" #~ msgstr "Ignora l'àtom" #~ msgid "Fix Atom" #~ msgstr "Fixa l'àtom" #~ msgid "Fix Atom X" #~ msgstr "Fixa l'àtom X" #~ msgid "Fix Atom Y" #~ msgstr "Fixa l'àtom Y" #~ msgid "Fix Atom Z" #~ msgstr "Fixa l'àtom Z" #~ msgid "Torsion angle" #~ msgstr "Angle de torsió" #~ msgid "Constraint Value" #~ msgstr "Valor de la restricció" #~ msgid "Atom Indices" #~ msgstr "Index d'àtoms" #~ msgid "Add" #~ msgstr "Afegix" #~ msgid "Save" #~ msgstr "Desa" #~ msgid "Load" #~ msgstr "Carrega" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100,00000 100,00000 100,00000

" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3,00000 0,00000 0,00000

\n" #~ "

0,00000 3,00000 0,00000

\n" #~ "

0,00000 0,00000 3,00000

" #~ msgid "Cartesian" #~ msgstr "Cartesià" #~ msgid "All" #~ msgstr "Tots" #~ msgid "File Import..." #~ msgstr "Importa el fitxer..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Voleu Intentar detectar els enllaços?" #~ msgid "Setup Force Field" #~ msgstr "Configura el camp de forces" #~ msgid "Force Field" #~ msgstr "Camp de força" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Nombre de passos" #~ msgid "Algorithm" #~ msgstr "Algoritme" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Altra" #~ msgid "Insert" #~ msgstr "Insereix" #~ msgid "Insert Fragment..." #~ msgstr "Insereix un fragment…" #~ msgid "Filter:" #~ msgstr "Filtre:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "" #~ "Escriviu un nom o part d'un nom per mostrar només els fitxers coincidents." #~ msgid "Peptide Builder" #~ msgstr "Cadenes pèptides" #~ msgid "Alanine" #~ msgstr "Alanina" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginina" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagina" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Àcid aspartic" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cisteina" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Àcid glutàmic" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamina" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glicina" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidina" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucina" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valina" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirosina" #~ msgid "Tyr" #~ msgstr "Tir" #~ msgid "Tryptophan" #~ msgstr "Triptòfan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treonina" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serina" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolina" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanina" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionina" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lisina" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucina" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminoàcids:" #~ msgid "Sequence (N to C):" #~ msgstr "Seqüència (N a C):" #~ msgid "Stereochemistry:" #~ msgstr "Estereoquímica:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N-terminal" #~ msgid "C Terminus:" #~ msgstr "C-terminal" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Cadena recta" #~ msgid "Alpha Helix" #~ msgstr "Hèlix alfa" #~ msgid "Beta Sheet" #~ msgstr "Làmina beta" #~ msgid "3-10 Helix" #~ msgstr "Hèlix 3-10" #~ msgid "Pi Helix" #~ msgstr "Hèlix Pi" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Cadena número:" #~ msgid "The chain number for the new peptide" #~ msgstr "El nombre de cadena per al següent pèptid" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Propietats de la molècula" #~ msgid "Number of Residues:" #~ msgstr "Número de residus:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energia (KJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Moment dipolar (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Nom de la molècula IUPAC:" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Avançat" #~ msgid "Control" #~ msgstr "Control" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Dades" #~ msgid "Nothing" #~ msgstr "No res" #~ msgid "Grid" #~ msgstr "Graella" #~ msgid "POV-Ray Export" #~ msgstr "Exporta a POV-Ray" #~ msgid "Select..." #~ msgstr "Selecciona..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Utilitza l'antialisat a tota l'escena" #~ msgid "Antialias" #~ msgstr "Antiàlies" #~ msgid "Set the background color to be transparent" #~ msgstr "Posa el color de fons transparent" #~ msgid "Alpha transparency" #~ msgstr "Transparència alfa" #~ msgid "Command:" #~ msgstr "Ordre:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Representa la molècula directament utilitzant la ordre POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "" #~ "Conserva el codi font de POV-Ray després que la representació s'hagi " #~ "completat" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Conserva el codi font de POV-Ray després de la representació" #~ msgid "Path:" #~ msgstr "Camí:" #~ msgid "Abinit Input" #~ msgstr "Entrada ABINIT" #~ msgid "k-points:" #~ msgstr "punts k:" #~ msgid "10.0" #~ msgstr "10,0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Cartesià (Àngstrom)" #~ msgid "Reduced" #~ msgstr "Reduït" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "Límit d'ona plana (Ha):" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Tolerància de les forces (Ha/bohr):" #~ msgid "1.05" #~ msgstr "1,05" #~ msgid "k-point shift:" #~ msgstr "Desplaçament del punt k:" #~ msgid "0.0" #~ msgstr "0,0" #~ msgid "Number of bands:" #~ msgstr "Nombre de bandes:" #~ msgid "# k-point shifts:" #~ msgstr "# desplaçaments del punt k:" #~ msgid "Double grid PW cutoff (Ha):" #~ msgstr "Límit de la doble graella PW (Ha):" #~ msgid "20.0" #~ msgstr "20,0" #~ msgid "Occupation scheme:" #~ msgstr "Esquema d'ocupació" #~ msgid "SCF tolerance type:" #~ msgstr "Tipus de tolerància SCF:" #~ msgid "Total Energy" #~ msgstr "Energía total" #~ msgid "Total Potential" #~ msgstr "Potencial total" #~ msgid "Maximum Force" #~ msgstr "Força màxima" #~ msgid "Relative Force" #~ msgstr "Força relativa" #~ msgid "1 - semiconducting" #~ msgstr "1 - semiconductiva" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi Dirac" #~ msgid "0.01" #~ msgstr "0,01" #~ msgid "Geometry Optimization:" #~ msgstr "Optimització de la geometria" #~ msgid "0 - no moving ions " #~ msgstr "0 - sense ions en moviment " #~ msgid "1 - viscous damping" #~ msgstr "1 - amortiment viscós" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS amb energia" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Suavitzat de l'energia cinètica (Ha):" #~ msgid "0.5" #~ msgstr "0,5" #~ msgid "Use Form" #~ msgstr "Utilitza la forma" #~ msgid "Compute..." #~ msgstr "Calcula..." #~ msgid "Dalton Input" #~ msgstr "Entrada dalton" #~ msgid "Basics" #~ msgstr "Bàsics" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Afegeix el que teclegis a la línia de títol del fitxer d'entrada \n" #~ "per a propòsits informatius" #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Sistema base:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Estil de pople" #~ msgid "Jensen's polarization consistent" #~ msgstr "Polarització consistent de Jensen" #~ msgid "Dunning's correlation consistent" #~ msgstr "Correlació consistent de Dunning" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Funcions de correlació de la base" #~ msgid "Diffuse functions" #~ msgstr "Funcions difuses" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Funcions de polarització" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Directe" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Executa en paral·lel sempre que sigui possible. Això sols és possible " #~ "per \n" #~ "funcions SCF i càlculs DFT. Dalton sols suporta MPI a la versió actual i " #~ "cal\n" #~ "compilar-lo i instal·lar-lo de forma correcta. El nombre de nodes estan " #~ "establerts utilitzant \n" #~ "la opció \"-N #\" quan s'executa el script «dalton»." #~ msgid "Parallel" #~ msgstr "Paral·lel" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Funció:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Densitat:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Integració de la càrrega:" #~ msgid "Grid Specification" #~ msgstr "Especificació de xarxa:" #~ msgid "Partitioning Scheme:" #~ msgstr "Esquema de particionat:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (original)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Qualitat de la xarxa:" #~ msgid "coarse" #~ msgstr "grosa" #~ msgid "normal" #~ msgstr "normal" #~ msgid "fine" #~ msgstr "fina" #~ msgid "ultrafine" #~ msgstr "ultrafina" #~ msgid "Radial Scheme:" #~ msgstr "Esquema radial:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Mostra totes les funcions" #~ msgid "Property:" #~ msgstr "Característica:" #~ msgid "Polarizability" #~ msgstr "Polaritzabilitat" #~ msgid "Excitation Energy" #~ msgstr "Energia d'excitació" #~ msgid "Frequency Dependent" #~ msgstr "Freqüència dependent" #~ msgid "No. excitations:" #~ msgstr "Nombre excitacions:" #~ msgid "EFP Matches" #~ msgstr "Resultats EFP" #~ msgid "Group Label:" #~ msgstr "Etiqueta de grup:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Configuració &avançada" #~ msgid "Hessian" #~ msgstr "Hessià" #~ msgid "Stat Point" #~ msgstr "Punt d'estat" #~ msgid "System" #~ msgstr "Sistema" #~ msgid "MO Guess" #~ msgstr "Conjectura MO" #~ msgid "Misc" #~ msgstr "Miscel·lània" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "# Funcions de polarització D del àtoms pesants :" #~ msgid "Read" #~ msgstr "Llegeix" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Difusió capa S als àtoms pesants" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Difusió capa L als àtoms pesants" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Doble valència zeta" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Triple valència zeta" #~ msgid "SBKJA Valence" #~ msgstr "València SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "València Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Tipus ECP" #~ msgid "Default" #~ msgstr "Per defecte" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "# Funcions de polarització F dels àtoms pesants:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "# Funcions de polarització dels àtoms lleugers:" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "Iteracions Max SCF:" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "Optimització" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "Punt Saddle" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Gradient extrem" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energia superficial" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Transició radiactiva mom." #~ msgid "Spin Orbit" #~ msgstr "Spin Orbita" #~ msgid "Finite Electric Field" #~ msgstr "Camp elèctric finit" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Optimització global" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Optimització FMO" #~ msgid "Raman Intensities" #~ msgstr "Intensitats Raman" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Fes EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Cap (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Tipus SCF:" #~ msgid "Localization Method:" #~ msgstr "Mètode de localització:" #~ msgid "Exec Type:" #~ msgstr "Tipus Exec:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Determinant Lab. Ames" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Espai actiu múltiple restrictiu de la ocupació" #~ msgid "CI Singles" #~ msgstr "CI Singles" #~ msgid "Full Second Order CI" #~ msgstr "Cl ple de segon ordre" #~ msgid "General CI" #~ msgstr "Cl general" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearitzat CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC amb dobles" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC amb simples i dobles" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Execució normal" #~ msgid "Check" #~ msgstr "Comprova" #~ msgid "Debug" #~ msgstr "Depura" #~ msgid "Molecule Charge:" #~ msgstr "Carrega molecular:" #~ msgid "Run Type:" #~ msgstr "Executa el tipus:" #~ msgid "Use MP2" #~ msgstr "Utilitza MP2" #~ msgid "Use DFT" #~ msgstr "Utilitza DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# de les variables de la matriu Z" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Ordre dels eixos principals:" #~ msgid "Coordinate Type:" #~ msgstr "Tipus de coordenada:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Coordenades cartesianes úniques" #~ msgid "Hilderbrant internals" #~ msgstr "interiors de Hilderbrant" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Utilitza simetria durant el càlcul" #~ msgid "Units:" #~ msgstr "Unitats:" #~ msgid "Point Group:" #~ msgstr "Grup del punt:" #~ msgid "Minutes" #~ msgstr "Minuts" #~ msgid "Hours" #~ msgstr "Hores" #~ msgid "Days" #~ msgstr "Dies" #~ msgid "Weeks" #~ msgstr "Setmanes" #~ msgid "Years" #~ msgstr "Anys" #~ msgid "Millenia" #~ msgstr "Mil·lennis" #~ msgid "MegaWords" #~ msgstr "Mega paraules" #~ msgid "MegaBytes" #~ msgstr "Megabytes" #~ msgid "GigaWords" #~ msgstr "Giga paraules" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Mètodes de força paral·lela" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Producte «core» fitxer sobre la interrupció" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memòria:" #~ msgid "Diagonalization Method:" #~ msgstr "Mètode de diagonalització:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Tipus del balanç de càrrega paral·lel" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Cicle" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Següent valor" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Utilitzeu dades externes per representar el missatges" #~ msgid "Initial Guess:" #~ msgstr "Conjectura inicial:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO llegit ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO desat (DICTNRY)" #~ msgid "Skip" #~ msgstr "Omet" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Gira els orbitals alfa i beta" #~ msgid "Print the Initial Guess" #~ msgstr "Imprimeix la conjectura inicial" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Interfície GAMESS per als altres codis" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Força el funcionament a prova" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (Versió UK)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussià 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvata amb aigua" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Genera els orbitals naturals UHF" #~ msgid "Direct SCF" #~ msgstr "SCF directe" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "El càlcul sols ha canviat la matriu de Fock" #~ msgid "Slater exchange" #~ msgstr "Intercanvi Slater" #~ msgid "Becke 1988 exchange" #~ msgstr "Intercanvi Becke 1988" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Correlació Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Correlació Lee-Yang-Parr" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Intercanvi Slater + Correlació VWN" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: Intercanvi BECKE + Correlació VWN5" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: Intercanvi BECKE + Correlació LYP" #~ msgid "Gill 1996 exchange" #~ msgstr "Intercanvi Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Intercanvi Perdew-Burke-Ernzerhof (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: Correlació progressiva un-paràmetre" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Correlació Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + Correlació OP" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: Intercanvi BECKE +Correlació OP" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: Intercanvi GILL + Correlació VWN5" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: Intercanvi GILL + Correlació LYP" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: Intercanvi PBE +Correlació VWN6" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: Intercanvi PBE +Correlació LYP" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: Intercanvi PBE + Correlació OP" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: Intercanvis HF i BECKE + Correlació LYP" #~ msgid "Grid-Free" #~ msgstr "Graella lliure" #~ msgid "DFT Functional:" #~ msgstr "Funció DFT:" #~ msgid "Method:" #~ msgstr "Mètode:" #~ msgid "AO Integral Storage" #~ msgstr "Emmagatzemament integral AO" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplicat en cada node" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distribuït a través de tots els nodes" #~ msgid "words" #~ msgstr "paraules" #~ msgid "Compute MP2 Properties" #~ msgstr "Calcula les propietats MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Integral de Retenció Cutoff:" #~ msgid "Use Localized Orbitals" #~ msgstr "Utilitza orbitals localitzats" #~ msgid "# of Core Electrons:" #~ msgstr "# dels electrons base:" #~ msgid "Two Phase Bin Sort" #~ msgstr "Ordenament per caselles bifàsic" #~ msgid "Segmented Transformation" #~ msgstr "Transformació segmentada" #~ msgid "Analytic" #~ msgstr "Analític" #~ msgid "Numeric" #~ msgstr "Numèric" #~ msgid "Double Differenced Hessian" #~ msgstr "Hessià derivada parcial segona" #~ msgid "Print Internal Force Constants" #~ msgstr "Imprimeix constants de les forces internes" #~ msgid "Displacement Size:" #~ msgstr "Mida del desplaçament:" #~ msgid "Purify Hessian" #~ msgstr "Neteja el Hessià" #~ msgid "Frequency Scale Factor:" #~ msgstr "Factor d'escala de la freqüencia:" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Hessià inicial" #~ msgid "Guess (+ define)" #~ msgstr "Conjectura ( + defineix)" #~ msgid "Read (from $HESS)" #~ msgstr "Lectura ( des de $HESS)" #~ msgid "Update Step Size" #~ msgstr "Actualitza la mida del pas" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Imprimeix els orbs. en cada iteració" #~ msgid "Jump Size:" #~ msgstr "Mida del salt:" #~ msgid "Stationary Point" #~ msgstr "Punt estacionari:" #~ msgid "Step Size" #~ msgstr "Mida del pas" #~ msgid "Maximum:" #~ msgstr "Màxim:" #~ msgid "Minimum:" #~ msgstr "Mínim:" #~ msgid "Initial:" #~ msgstr "Inicial:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Funció d'optimització racional" #~ msgid "Quadratic Approximation" #~ msgstr "Aproximació quadràtica" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Optimització de les restriccions" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Recalcula el hessià cada:" #~ msgid "Follow Mode:" #~ msgstr "Mode de seguiment:" #~ msgid "Maximum Steps:" #~ msgstr "Passos màxims:" #~ msgid "GAMESS-UK Input" #~ msgstr "Entrada GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Entrada GAMESS-UK generada per Avogadro" #~ msgid "Transition State Search" #~ msgstr "Cerca estat de transició" #~ msgid "Basis:" #~ msgstr "Base:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Matriu Z" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "En el mode directe, les integrals no són emmagatzemades al disc, però el " #~ "recàlcul és necessari.\n" #~ "Als sistemes moderns amb processadors ràpids i discs lents, el mode " #~ "directe és normalment ràpid." #~ msgid "Run in direct mode:" #~ msgstr "Executa en mode directe:" #~ msgid "Gaussian Input" #~ msgstr "Entrada gaussiana" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Sortida:" #~ msgid "Standard" #~ msgstr "Estàndard" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Punt de comprovació:" #~ msgid "Z-matrix (compact)" #~ msgstr "Matriu Z (compacta)" #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "real" #~ msgid "metal" #~ msgstr "metall" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "electró" #~ msgid "Water Potential" #~ msgstr "Potencial hídric" #~ msgid "NONE" #~ msgstr "CAP" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgid "Atom Style" #~ msgstr "Estil de l'àtom" #~ msgid "angle" #~ msgstr "angle" #~ msgid "atomic" #~ msgstr "atòmic" #~ msgid "bond" #~ msgstr "enllaç" #~ msgid "charge" #~ msgstr "càrrega" #~ msgid "dipole" #~ msgstr "dipol" #~ msgid "ellipsoid" #~ msgstr "el·lipsoide" #~ msgid "full" #~ msgstr "complet" #~ msgid "line" #~ msgstr "línia" #~ msgid "meso" #~ msgstr "meso" #~ msgid "molecular" #~ msgstr "mol·lecular" #~ msgid "peri" #~ msgstr "peri" #~ msgid "sphere" #~ msgstr "esfera" #~ msgid "tri" #~ msgstr "tri" #~ msgid "wavepacket" #~ msgstr "paquet d'ones" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "Especifiqueu el nom a emprar per al fitxer de coordenades." #~ msgid "Coordinate Data File" #~ msgstr "Fitxer de dades de coordenades" #~ msgid "Ensemble" #~ msgstr "Conjunt" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Temperatura" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "Seleccioneu el nombre de cadenes Nosé-Hoover del conjunt NVT." #~ msgid "NH Chains" #~ msgstr "Cadenes NH" #~ msgid "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgstr "" #~ "Interval de temps de la simulació en unitats segons l'especificació " #~ "Unitats\"." #~ msgid "Time Step" #~ msgstr "Interval de temps" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "Nom del fitxer XYZ a escriure durant la simulació." #~ msgid "Dump XYZ" #~ msgstr "Bolcat XYZ" #~ msgid "Number of dimensions in the system." #~ msgstr "Nombre de dimensions del sistema" #~ msgid "Dimensions" #~ msgstr "Dimensions" #~ msgid "Change Z boundary style." #~ msgstr "Canvia l'estil del límit Z." #~ msgid "p" #~ msgstr "p" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "Change Y boundary style." #~ msgstr "Canvia l'estil del límit Y." #~ msgid "Change X boundary style." #~ msgstr "Canvia l'estil del límit X." #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "Selecciona l'estil del límit en les direccions X, Y i Z." #~ msgid "Boundary" #~ msgstr "Límit" #~ msgid "Number of replicants in X, Y and Z directions." #~ msgstr "Nombre de replicants en les direccions X, Y i Z." #~ msgid "Replicate" #~ msgstr "Replica" #~ msgid "Replicate the X direction." #~ msgstr "Replica la direcció X." #~ msgid "Replicate the Y direction." #~ msgstr "Replica la direcció Y." #~ msgid "Replicate the Z direction." #~ msgstr "Replica la direcció Z." #~ msgid "Total number of timesteps to run the simulation." #~ msgstr "Nombre total d'intervals de temps per executar la simulació." #~ msgid "Total Steps" #~ msgstr "Total d'intervals" #~ msgid "Set the initial atom velocities for the simulation." #~ msgstr "Estableix les velocitats inicials dels àtoms per a la simulació." #~ msgid "Initial Velocities" #~ msgstr "Velocitats inicials" #~ msgid "Select the distribution of initial atom velocities." #~ msgstr "Seleccioneu la distribució de les velocitats inicials dels àtoms" #~ msgid "gaussian" #~ msgstr "gaussiana" #~ msgid "uniform" #~ msgstr "uniforme" #~ msgid "Set the initial atom velocities to match this temperature." #~ msgstr "" #~ "Estableix les velocitats inicials dels àtoms per fer-les coincidir amb " #~ "aquesta temperatura." #~ msgid "Remove system linear momentum from initial velocities." #~ msgstr "Elimina de les velocitats inicials el moment lineal del sistema." #~ msgid "Zero Linear Momentum" #~ msgstr "Moment lineal zero" #~ msgid "Remove system angular momentum from initial velocities." #~ msgstr "Elimina de les velocitats inicials el moment angular del sistema." #~ msgid "Zero Angular Momentum" #~ msgstr "Moment angular zero" #~ msgid "Control the thermodynamic output during the simulation." #~ msgstr "Controla la sortida termodinàmica durant la simulació" #~ msgid "Output Interval" #~ msgstr "Interval de sortida" #~ msgid "2d" #~ msgstr "2D" #~ msgid "3d" #~ msgstr "3D" #~ msgid "Thermodynamic output style." #~ msgstr "Estil de la sortida termodinàmica" #~ msgid "One Line" #~ msgstr "Una línia" #~ msgid "Multi Line" #~ msgstr "Multilínia" #~ msgid "" #~ "\n" #~ "\n" #~ "

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

" #~ msgid "MOLPRO Input" #~ msgstr "Entrada MOLPRO:" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Molpro Versió:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Entrada MOPAC" #~ msgid "Quartet" #~ msgstr "Quartet" #~ msgid "Quintet" #~ msgstr "Quintet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Entrada NWChem" #~ msgid "Psi4 Input" #~ msgstr "Entrada PSI4" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Entrada Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "Entrada TeraChem" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Sense restriccions" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "no" #~ msgid "yes" #~ msgstr "sí" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Dispersió:" #~ msgid "Load Shaders" #~ msgstr "Carrega Shaders" #~ msgid "Shader Name:" #~ msgstr "Nom de Shader:" #~ msgid "Vertex Shader:" #~ msgstr "Vertex Shader:" #~ msgid "Fragment Shader:" #~ msgstr "Fragment Shader:" #~ msgid "Assign Shader" #~ msgstr "Assigna shader" #~ msgid "Display Type:" #~ msgstr "Tipus de visualització:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Controls:\n" #~ "Clic doble esquerra: Restaura els límits dels eixos per defecte\n" #~ "Clic dret + arrossega: Mou la funció\n" #~ "Botó del mig + arrossega: Amplia la regió\n" #~ "Desplaçament de la roda: Amplia el cursor" #~ msgid "&Load data..." #~ msgstr "Carrega &dades..." #~ msgid "&Close" #~ msgstr "&Tanca" #~ msgid "Calculated Spectra:" #~ msgstr "Espectre calculat:" #~ msgid "Set Color..." #~ msgstr "Estableix el color..." #~ msgid "Imported Spectra:" #~ msgstr "Espectre importat:" #~ msgid "Font:" #~ msgstr "Tipus de lletra:" #~ msgid "Change Font..." #~ msgstr "Canvia el tipus de lletra..." #~ msgid "Show" #~ msgstr "Visualitza" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "" #~ "Importa un tsv del espectre experimental per sobreescriure en la funció." #~ msgid "&Import..." #~ msgstr "&Importa..." #~ msgid "Background:" #~ msgstr "Fons:" #~ msgid "Foreground:" #~ msgstr "Primer pla:" #~ msgid "New..." #~ msgstr "Nou..." #~ msgid "Rename..." #~ msgstr "Reanomena..." #~ msgid "&Schemes:" #~ msgstr "E&squemes:" #~ msgid "&Export..." #~ msgstr "&Exporta..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Amplada:" #~ msgid "&Height" #~ msgstr "&Alçada" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "a" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "De&sa Imatge..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Utilitza un valor optimitzat per la mida del tipus de lletra en lloc del " #~ "valor especificat a l'esquema (la pantalla de la mida dels punts de la " #~ "imatge no els tradueix bé!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Aut&o ajusta mida del tipus de lletra" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Exporta dades" #~ msgid "Spectra Tab" #~ msgstr "Pestanya espectral" #~ msgid "&Gaussian Width:" #~ msgstr "Amplada del &Gaussià:" #~ msgid "&Label peaks" #~ msgstr "Etiquetes de&ls pics" #~ msgid "Rotatory Strength type:" #~ msgstr "Tipus de força angular:" #~ msgid "Energy units:" #~ msgstr "Unitats d'energia:" #~ msgid "Density units" #~ msgstr "Unitats de densitat" #~ msgid "Fermi Energy: " #~ msgstr "Energia de Fermi: " #~ msgid "States / Cell" #~ msgstr "Estats / cel·la" #~ msgid "States / Atom" #~ msgstr "Estats / Àtom" #~ msgid "States / Valence electron" #~ msgstr "Estats / València electró" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Energia de Fermi a cero" #~ msgid "Scale integrated DOS" #~ msgstr "Escala integrada DOS" #~ msgid "Show integrated DOS" #~ msgstr "Mostra integrada DOS" #~ msgid "tab_IR_Raman" #~ msgstr "pestanya_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "Unitats &Y eix:" #~ msgid "Scaling Type:" #~ msgstr "Tipus d'escalat:" #~ msgid "Linear" #~ msgstr "Lineal" #~ msgid "Relative" #~ msgstr "Relativa" #~ msgid "Temperature:" #~ msgstr "Temperatura:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Número d'ona del laser." #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Llindar:" #~ msgid "tab_NMR" #~ msgstr "pestanya_NMR" #~ msgid "Nucleus:" #~ msgstr "Nucli:" #~ msgid "&Reference:" #~ msgstr "&Referència:" #~ msgid "Gaussian &Width:" #~ msgstr "A&mplada Gaussiana:" #~ msgid "Reset &Plot Axes" #~ msgstr "Re-dibuixa eixos de la funció" #~ msgid "Label Peaks:" #~ msgstr "Etiqueta dels pics:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Vibracions moleculars" #~ msgid "Filter: " #~ msgstr "Filtre: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Activitat (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "Vi&sualitza l'espectre..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "vibracions d'alta freqüència mostraran el moviment més ràpid" #~ msgid "Animation speed set by frequency" #~ msgstr "Velocitat de l'animació establerta per la freqüència" #~ msgid "Display force &vectors" #~ msgstr "Mostra &vectors de força" #~ msgid "&Normalize displacements" #~ msgstr "&Normalitza les dislocacions" #~ msgid "Generate Cell" #~ msgstr "Genera cel·la" #~ msgid "&Recalculate All" #~ msgstr "&Re-calcula-ho tot" #~ msgid "Default &Quality:" #~ msgstr "&Qualitat per defecte:" #~ msgid "Show occupied orbitals first" #~ msgstr "Mostra primer els orbitals ocupats" #~ msgid "Limit orbital precalculations to " #~ msgstr "Limita els precàlculs orbitals a: " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "òrbites al voltant de HOMO/LUMO" #~ msgid "Quality: " #~ msgstr "Qualitat: " #~ msgid "Create Surfaces" #~ msgstr "Crea Superfície" #~ msgid "Surface Type:" #~ msgstr "Tipus de superfície" #~ msgid "Color By:" #~ msgstr "Color de:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Baix" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Mitjà" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Alt" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Molt Alt" #~ msgid "Isosurface cutoff value" #~ msgstr "Valor de la drecera d'isosuperfície" #~ msgid "Iso Value:" #~ msgstr "Valor Iso:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Tipus en la mostra:" #~ msgid "New Display" #~ msgstr "Nova mostra" #~ msgid "Advanced..." #~ msgstr "Avançat..." #~ msgid "&Length:" #~ msgstr "&Longitud:" #~ msgid "Uni&t:" #~ msgstr "Uni&tat:" #~ msgid "periodic units" #~ msgstr "unitats periòdiques" #~ msgid "angstrom" #~ msgstr "àngstrom" #~ msgid "bohr radii" #~ msgstr "radi de Bohr" #~ msgid "nanometers" #~ msgstr "nanòmetres" #~ msgid "picometers" #~ msgstr "picòmetres" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "Això pot trigar una estona. Si només calen les coordenades\n" #~ "atòmiques (per exemple, per a un càlcul de mecànica\n" #~ "quàntica), una representació amb enllaços simples\n" #~ "hauria de ser suficient." #~ msgid "Find &double bonds" #~ msgstr "Cerca enllaços dobles" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Tradueix per:" #~ msgid "X-axis" #~ msgstr "Eix X" #~ msgid "Y-axis" #~ msgstr "Eix Y" #~ msgid "Z-axis" #~ msgstr "Eix Z" #~ msgid "Origin" #~ msgstr "Origen" #~ msgid "Geometry" #~ msgstr "Geometria" #~ msgid "Display visual cues" #~ msgstr "Mostra la senyal visual" #~ msgid "Python Settings" #~ msgstr "Configuració de python" #~ msgid "Z Matrix Editor" #~ msgstr "Editor de matriu Z" #~ msgid "Import Selected Atoms" #~ msgstr "Importa Àtoms Seleccionats" avogadrolibs-1.93.0/i18n/ca@valencia.po000066400000000000000000005742411360735163600176140ustar00rootroot00000000000000# translation of _avogadro-ca.po to Catalan (Valencia) # translation of Avogadro to Catalan (Valencian) # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # # Carles Ferrando Garcia , 2009. # Toni Hermoso Pulido , 2009. msgid "" msgstr "" "Project-Id-Version: _avogadro-ca\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:28+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Catalan (Valencia) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Entrada del generador..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Entrada del generador..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Continua" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Tanca" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Desconegut" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Cancel·la el càlcul" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Avís" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Avís" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Selecciona solvent" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Eixida:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "No es pot escriure al fitxer." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Fitxer de vídeo sense alçar." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Fitxer de vídeo sense alçar." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Configura" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Títol" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nom de fitxer:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processadors:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Càlcul:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Base" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "No està configurada la molècula" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Atura &animació" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "No hi ha àtoms seleccionats" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrogen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Heli" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Liti" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beril·li" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carboni" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogen" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxigen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neó" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodi" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesi" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alumini" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silici" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fòsfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Sofre" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Clor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argó" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potassi" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calci" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Escandi" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titani" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadi" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Crom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganés" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Ferro" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Níquel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Coure" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinc" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gal·li" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germani" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsènic" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Seleni" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Criptó" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidi" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Estronci" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Itri" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconi" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobi" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdè" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tecneci" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruteni" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodi" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Pal·ladi" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Argent" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmi" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indi" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Estany" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimoni" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tel·luri" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iode" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenó" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cesi" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bari" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantani" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Ceri" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodimi" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodimi" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometi" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samari" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europi" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolini" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbi" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprosi" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmi" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbi" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tuli" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Iterbi" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Luteci" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafni" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tàntal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungstè" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Reni" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmi" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridi" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platí" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Or" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercuri" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tal·li" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Plom" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Poloni" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Àstat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radó" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Franci" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radi" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actini" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Tori" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protoactini" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Urani" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptuni" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutoni" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americi" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curi" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkeli" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californi" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteini" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermi" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevi" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobeli" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Laurenci" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Ruderfordi" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubni" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgi" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohri" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassi" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitneri" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadi" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgueni" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernici" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconi" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Navega..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Selecciona solvent" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Suprimeix els seleccionats" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Tots els fitxers" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "sense nom" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Taula periòdica." #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03 ha fallat en el seu inici" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Scripts" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Error OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Desconegut" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molècula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Afig un àtom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Esborra Àtoms" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Suprimeix-ho tot" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Ajusta els hidrògens" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Canvia l'element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Canvia l'element" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Carrega formal" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Afig un enllaç" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Esborra Àtoms" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Suprimeix l'enllaç" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Orde de l'enllaç" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Canvia l'orde de l'enllaç" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Dur als enllaços" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Suprimeix l'enllaç" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Omple la cel·la unitat" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Omple la cel·la unitat" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Omple la cel·la unitat" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super cel·la" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Super cel·la" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Omple la cel·la unitat" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Fitxer" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exporta" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Llindars" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Obri el fitxer WFN" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensions" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Error" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "S'ha produït un error en llegir el fitxer traj %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Error OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "S'ha produït un error en llegir el fitxer traj %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Obri el fitxer WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Obri el fitxer WFN" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Error" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Alça entrada" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Èxit!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Imatge gravada amb èxit al %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Mostra multiples enllaços" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrògens" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Boles i bastons" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Representa etiquetes d'àtoms i enllaços" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulació de l'enllaç central" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulació de l'enllaç central" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Àtom final" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Suprimeix hidrògens" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Compila" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Enllaç" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nom de fitxer:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Editor de coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Editor de coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Desfés els canvis" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nom de fitxer invàlid" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nom d'element" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Símbol d'element" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Símbol d'element" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nom de fitxer invàlid" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Nombre atòmic" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nom de fitxer invàlid" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Personalitzat" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,carles ferrando,el_libre - http://www.catmidia." "cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team," "carles ferrando,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,Carles," "el_libre - http://www.catmidia.cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad " "Contributions:,Avogadro Team,Carles,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,Carles," "el_libre - http://www.catmidia.cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ amb números" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Coordenades cartesianes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Informació GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Informació GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Entrada turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Copia-ho tot" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Personalitzat" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Suprimeix-ho tot" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "No es pot establir el format: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "No es pot establir el format: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Omple la cel·la unitat" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Omple la cel·la unitat" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super cel·la" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Representa etiquetes d'àtoms i enllaços" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Eixos personalitzats" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Dibuixa" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Dibuixa l'àtom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Canvia l'orde de l'enllaç" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Esborra Àtoms" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distància" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distància (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Altre..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Optimització automàtica" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Senzill" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Doble" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triple" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "S'ha produït un error en llegir el fitxer traj %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Entrada del generador..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Entrada GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Energia de punt senzill" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Geometria d'equilibri" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Estat de transició" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Freqüències" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Potencial base" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Aigua" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doblet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dicatió" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Catió" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutre" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anió" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianió" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Entrada GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Cancel·la el càlcul" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Ajusta els hidrògens" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Afig hidrògens" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Suprimeix hidrògens" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Suprimeix hidrògens" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrògens" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidrògens" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importa" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Representa etiquetes d'àtoms i enllaços" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Insereix" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "No hi ha cap descripció" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molècula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Genera..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipula" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipula l'àtom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Mesura" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Diedre:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Mesura" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Representa la l'acoblament molecular de la isosuperfície" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Visualitza" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Propietats de la molècula" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navega" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navega" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nom químic" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Estructura química a descarregar." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Descàrrega de Xarxa fallida" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Temps de connexió sobrepassat o un altre error." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "La molècula especificada no s'ha trobat: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Descàrrega de Xarxa fallida" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimitza Geometria" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Optimització geomètrica" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Voleu detectar els enllaços?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Afig hidrògens" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Afig hidrògens per al pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Suprimeix hidrògens" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "La lectura de la molècula des del fitxer «%1» ha fallat." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Ha hagut un problema escrivint el fitxer %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimitza Geometria" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Genera..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "El fitxer trajectòria %1 no concorda amb el nombre d'àtoms de l'actual " "molècula" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimitza Geometria" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Afig hidrògens" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Afig hidrògens per al pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Suprimeix hidrògens" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Atura" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Paràmetres:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Enllaços dinàmics" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Esborra..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Atura" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "No és pot llegir el fitxer %1" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Error" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Alça el fitxer de vídeo" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Representa utilitzant POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Genera primitives utilitzant propietats QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensions" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Obri el fitxer WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Fitxers WFN (*.wfn);;Tots els fitxers (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Extensió QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Crea fitxers d'entrada per paquets químics quàntics" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calculant la densitat d'electrons" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calculant la densitat d'electrons" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calcula i visualitza orbitals moleculars" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Inicialització" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Generadors de fitxers d'entrada" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Suprimeix-ho tot" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selecció" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Inverteix la selecció" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " electrons de valència" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Selecciona" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Selecciona" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Selecció" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selecció" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibracions" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Visualització espectral" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tipus" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Selecciona per element..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Representa els moments dipolars" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "representa" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Representa utilitzant POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Filferro" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Representa molècules com bastons" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Diàleg" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Forma" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Configuració de selecció" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Cancel·la el càlcul" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Programa de shader:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processadors:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Canvia l'element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Fitxer d'entrada dalton." #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Fitxer igual:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Camp de força:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Fitxer igual:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Fitxer d'entrada dalton." #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Alça entrada" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Èxit!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Estrcutura:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Carrega fitxer..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Configuració de mesuraments" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Nom de fitxer:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navega" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navega" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navega" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nom de fitxer:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "D'acord" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Cancel·la" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Editor de coordenades cartesianes" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Inicialització" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distància" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Angstroms" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formata:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Desfés els canvis" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Aplica" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Paràmetres de la super cel·la" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Opcions de la super cel·la" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Repetició A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Repetició B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Repetició C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Omple la cel·la unitat" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matriu Z MOPAC" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Fraccional" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Mètode de transformació" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Escala i factor:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Etiqueta de text" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Orde d'enllaç:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Entrada GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "Configuració &bàsica" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Entrada:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicitat:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Amb:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Títol:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Càrrega:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calcula" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nom de fitxer:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Reinicia-ho tot" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Paràmetres per defecte" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Carrega fitxer..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nom" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formata:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "No hi ha cap descripció" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Massa molecular (g/mol)" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "PER FER" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Formula química:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Número d'àtoms:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Número d'enllaços:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Optimització geomètrica" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Mètode d'optimització:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Camp de força:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Mètode d'optimització:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Pas descendent" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Gradients conjugats" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Autogira" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosuperfície = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potencial electrostàtic" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "passos" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Criteri de convergència del gradient:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergència" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Temps límit:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Unitats:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Número d'enllaços:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Longitud d'ona (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Suprimeix els seleccionats" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Radi del punt crític:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Radi del camí de l'enllaç:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalent" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Mida constant" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacitat:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Mitjà" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Molt lent" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Baix" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Alt" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Molt alt" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Valor de la isosuperfície :" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolució:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calcula" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibracions" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitud:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Inicia &Animació" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Atura &animació" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molècula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Opcions" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,carles ferrando,el_libre - http://www.catmidia." "cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team," "carles ferrando,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,Carles," "el_libre - http://www.catmidia.cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad " "Contributions:,Avogadro Team,Carles,el_libre - http://www.catmidia.cat " "XDDDDDDDDDDDDDDDDDDDDDDDDDDD, ,Launchpad Contributions:,Avogadro Team,Carles," "el_libre - http://www.catmidia.cat XDDDDDDDDDDDDDDDDDDDDDDDDDDD" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,el.libre@gmail.com,,,avogadro-devel@lists.sourceforge.net,,el.libre@gmail." "com,,,avogadro-devel@lists.sourceforge.net,,el.libre@gmail.com,,,avogadro-" "devel@lists.sourceforge.net,,el.libre@gmail.com,,,avogadro-devel@lists." "sourceforge.net,,el.libre@gmail.com" #~ msgid "Color by Index" #~ msgstr "Color de l'índex" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Color de l'índex (roig, taronja, groc, verd, blau, violeta)" #~ msgid "Color by Partial Charge" #~ msgstr "Color de la càrrega parcial." #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Color de la càrrega atòmica parcial ( blau= positiva, roja=negativa." #~ msgid "Custom Color:" #~ msgstr "Color personalitzat:" #~ msgid "Custom Color" #~ msgstr "Color personalitzat" #~ msgid "Set custom colors for objects" #~ msgstr "Tria els colors personalitzats pels objectes" #~ msgid "Color by Distance" #~ msgstr "Color de la distància" #~ msgid "Color by distance from the first atom." #~ msgstr "Color de la distància des d'el primer àtom." #~ msgid "Color by Element" #~ msgstr "Color per element" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Color per element (carboni = gris , oxigen = roig, … )." #~ msgid "Color by Residue" #~ msgstr "Color per residu" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Color del residu (tipus d'aminoàcid, hidrofobicitat , ..." #~ msgid "SMARTS Pattern:" #~ msgstr "Patró SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Color ressaltat:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Color del patró SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "" #~ "Color ressaltat de les característiques particulars amb concordança amb " #~ "el patró SMARTS." #~ msgid "Ununtrium" #~ msgstr "Ununtri" #~ msgid "Ununpentium" #~ msgstr "Ununpenti" #~ msgid "Ununseptium" #~ msgstr "Ununsepti" #~ msgid "Ununoctium" #~ msgstr "Ununocti" #~ msgid "Engines" #~ msgstr "Motors" #~ msgid "Axes" #~ msgstr "Eixos" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Representa els eixos x, y, i z a l'origen" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "" #~ "Representa les primitives utilitzant boles (àtoms) i bastons (enllaços)" #~ msgid "Cartoon" #~ msgstr "Pel·lícula" #~ msgid "Renders protein secondary structure" #~ msgstr "Representa l'estructura secundària de proteines" #~ msgid "Dipole" #~ msgstr "Dipol" #~ msgid "Force" #~ msgstr "Força" #~ msgid "Renders force displacements on atoms" #~ msgstr "Representa la força de dislocament dels àtoms" #~ msgid "Hydrogen Bond" #~ msgstr "Enllaç d'hidrogen" #~ msgid "Renders hydrogen bonds" #~ msgstr "Representa els enllaços d'hidrogen" #~ msgid "Select Atom Labels Color" #~ msgstr "Selecciona les etiquetes de color dels àtoms" #~ msgid "Select Bond Labels Color" #~ msgstr "Selecciona les etiquetes de color dels enllaços" #~ msgid "Select Atom Labels Font" #~ msgstr "Selecciona les etiquetes de la font dels àtoms" #~ msgid "Select Bond Labels Font" #~ msgstr "Selecciona les etiquetes de la font dels enllaços" #~ msgid "Label" #~ msgstr "Etiqueta" #~ msgid "Polygon" #~ msgstr "Polígon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Representa àtoms com tetraedres, octaedres i altres polígons" #~ msgid "Ribbon" #~ msgstr "Cinta" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Representa esquelet proteic com cintes" #~ msgid "Ring" #~ msgstr "Anell" #~ msgid "Renders rings with colored planes" #~ msgstr "Representa anells amb plans colorejats" #~ msgid "Simple Wireframe" #~ msgstr "Filferro senzill" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Representa els enllaços com línies, ideal per molècules llargues." #~ msgid "Van der Waals Spheres" #~ msgstr "Esferes de Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Representa els àtoms com a esferes de Van der Waals" #~ msgid "Stick" #~ msgstr "Bastons" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Densitat electrònica, isosuperfície= %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosuperfície = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Representa enllaços com línies (simplificades), ideal per biomolècules " #~ "molt grans" #~ msgid "Trajectory files" #~ msgstr "Fitxers de trajectoria" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Fitxers DL-POLY HISTORY" #~ msgid "Open Trajectory File" #~ msgstr "Obri fitxer de trajectòria" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "fitxers de vídeo (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Afig l'extensió .avi" #~ msgid "Animation..." #~ msgstr "Animació…" #~ msgid "Cannot read file format of file %1." #~ msgstr "No es pot llegir el format del fitxer %1" #~ msgid "Read trajectory file %1 failed." #~ msgstr "S'ha produït un error en llegir el fitxer %1 de trajectòria." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Cal especificar un nom .avi vàlid" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "El giny GL no s'ha inicialitzat de forma correcta per a alçar el vídeo" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "El nom de fitxer del vídeo no és vàlid. Cal incloure el camí del " #~ "directori complet" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "El nom de fitxer del vídeo no és vàlid. Cal incloure el camí del " #~ "directori complet i el nom, acabat en .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "No es pot determinar el format del fitxer de nom: %1" #~ msgid "Animation" #~ msgstr "Animació" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Anima trajectòries, reaccions i vibracions." #~ msgid "Cartesian Editor" #~ msgstr "Editor cartesià" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "No hi ha cel·la unitària definida per la molècula -- no es poden " #~ "utilitzar coordinades fraccionaries." #~ msgid "Cartesian Editor..." #~ msgstr "Editor cartesià..." #~ msgid "Cartesian editor" #~ msgstr "Editor cartesià" #~ msgid "Number of atoms: %1" #~ msgstr "Nombre d'àtoms: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Nombre d'enllaços angulars: %1" #~ msgid "Add constraint" #~ msgstr "Afigeix una restricció" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "La vostra molècula ha de contindre al menys un àtom per a afegir-hi una " #~ "restricció" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "La vostra molècula ha de contindre al menys dos àtoms per a afegir-hi una " #~ "restricció d'enllaç" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "La vostra molècula ha de contindre al menys tres àtoms per a afegir-hi " #~ "una restricció angular" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "La vostra molècula ha de contindre al menys quatre àtoms per a afegir-hi " #~ "una restricció de torsió" #~ msgid "Undefined" #~ msgstr "no definit" #~ msgid "Trajectory..." #~ msgstr "Trajectòria..." #~ msgid "Open chemical file format" #~ msgstr "Obri un format de fitxer químic" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Fitxers químics (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Obri un fitxer de paràmetres" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Fitxers químics (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importa una trajectòria" #~ msgid "Import trajectory files" #~ msgstr "Importa fitxers de trajectòria" #~ msgid "Setup Force Field..." #~ msgstr "Configura el camp de força…" #~ msgid "Calculate Energy" #~ msgstr "Calcula l'energia" #~ msgid "Conformer Search..." #~ msgstr "Cerca els confòrmers…" #~ msgid "Constraints..." #~ msgstr "Restriccions..." #~ msgid "Ignore Selection" #~ msgstr "Ignora la selecció" #~ msgid "Fix Selected Atoms" #~ msgstr "Fixa els àtoms seleccionats" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mecànica molecular" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "No es pot establir el camp de forces per esta molècula. Canviant a UFF" #~ msgid "Energy = %L1 %2" #~ msgstr "Energia = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Optimització geomètrica" #~ msgid "Forcefield Optimization" #~ msgstr "Optimització del camp de forces" #~ msgid "Systematic Rotor Search" #~ msgstr "Cerca sistemàtica del gir" #~ msgid "Random Rotor Search" #~ msgstr "Cerca aleatòria del gir" #~ msgid "Weighted Rotor Search" #~ msgstr "Cerca promediada del gir" #~ msgid "ForceField" #~ msgstr "Camp de forces" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimitza molècules i genera confòrmers utilitzant camps de força mecànic " #~ "moleculars" #~ msgid "&Vector Graphics..." #~ msgstr "&Gràfic vectorial..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Formats comuns d'imatges vectorials" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Change H to Methyl" #~ msgstr "Canvia d'H a metil" #~ msgid "H to Methyl" #~ msgstr "H a metil" #~ msgid "H2Methyl" #~ msgstr "H2metil" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transforma hidrògens en grups metil" #~ msgid "Add or remove hydrogens" #~ msgstr "Afig o suprimeix hidrògens" #~ msgid "Fragment..." #~ msgstr "Fragment..." #~ msgid "Insert SMILES" #~ msgstr "Insereix SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Insereix un fragment SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Insereix un fragment" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "" #~ "Insereix un fragment molecular per la construcció de molècules llargues" #~ msgid "Peptide..." #~ msgstr "Pèptid" #~ msgid "Insert Peptide" #~ msgstr "Insereix un pèptid" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Insereix un seqüència d'oligopeptids" #~ msgid "Invert Chirality" #~ msgstr "Quiralitat invertida" #~ msgid "InvertChiral" #~ msgstr "Inversióquiral" #~ msgid "Invert chiral centers" #~ msgstr "Centres d'inversió quiral" #~ msgid "Molecule Properties..." #~ msgstr "Propietats de la molècula..." #~ msgid "&Properties" #~ msgstr "&Propietats" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "desconegut" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Moment dipolar estimat (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(pendent)" #~ msgid "Display standard molecular properties." #~ msgstr "Visualitza les propietats estàndards de la molècula." #~ msgid "Fetch from PDB..." #~ msgstr "Importa des de PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Importa per nom químic" #~ msgid "Fetch from URL..." #~ msgstr "Importa des d'URL..." #~ msgid "PDB Entry" #~ msgstr "Entrada PDB (base de dades de proteïnes)" #~ msgid "PDB entry to download." #~ msgstr "Entrada PDB a descarregar." #~ msgid "URL" #~ msgstr "Adreça URL" #~ msgid "URL of molecule to download." #~ msgstr "Adreça URL de la molècula a descarregar." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "La molècula especificada no s'ha carregat: %1" #~ msgid "Network Fetch" #~ msgstr "Importa la xarxa" #~ msgid "Fetch molecule files over the network." #~ msgstr "Posa els fitxers molecular sobre la xarxa." #~ msgid "All Files" #~ msgstr "Tots els fitxers" #~ msgid "Show Preview" #~ msgstr "Mostra la previsualització" #~ msgid "Hide Preview" #~ msgstr "Amaga la previsualització" #~ msgid "Intensities" #~ msgstr "Intensitats" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Alça la imatge de POV-Ray generada" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Fitxers d'imatge (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "No s'ha proporcionat cap nom de fitxer." #~ msgid "No valid filename was supplied." #~ msgstr "No s'ha proporcionat cap nom de fitxer vàlid." #~ msgid "Does not compute." #~ msgstr "No concorda." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "No heu demanat cap generació POV-Ray i no podeu utilitzar cap fitxer POV-" #~ "Ray. Així no podreu alçar cap resultat. Esteu segur que això és el que " #~ "voleu ?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "No es pot escriure al fitxer %1. Esteu segurs de tindre permís " #~ "d'escriptura en este lloc?" #~ msgid "POV-Ray failed to start." #~ msgstr "S'ha produït un error en iniciar el POV-Ray." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "S'ha produït un error en iniciar el POV-Ray. Tal vegada podríeu comprovar " #~ "el camí a l'executable." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Crea fitxers POV-Ray i representa'ls utilitzant el programa d'ordes POV-" #~ "Ray." #~ msgid "Atom Properties..." #~ msgstr "Propietats dels àtoms..." #~ msgid "Bond Properties..." #~ msgstr "Propietats dels enllaços..." #~ msgid "Angle Properties..." #~ msgstr "Propietats d'Angle" #~ msgid "Torsion Properties..." #~ msgstr "Propietats de torsió…" #~ msgid "Conformer Properties..." #~ msgstr "Propietats de l'estereoisòmer..." #~ msgid "Atom Properties" #~ msgstr "Propietats d'Àtom" #~ msgid "Bond Properties" #~ msgstr "Propietats d'enllaç" #~ msgid "Angle Properties" #~ msgstr "Propietats d'angle" #~ msgid "Torsion Properties" #~ msgstr "Propietats de la torsió" #~ msgid "Conformer Properties" #~ msgstr "Propietats de l'estereoisòmer" #~ msgid "Properties" #~ msgstr "Propietats" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Finestra per mostrar l'àtom, enllaços, angles i propietats de torsió. " #~ "Això inclou un editor de coordenades cartesianes." #~ msgid "Valence" #~ msgstr "València" #~ msgid "Partial Charge" #~ msgstr "Carrega parcial" #~ msgid "Atom" #~ msgstr "Àtom" #~ msgid "Start Atom" #~ msgstr "Àtom inicial" #~ msgid "Rotatable" #~ msgstr "Angular" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Llargada %1" #~ msgid "Vertex" #~ msgstr "Vèrtex" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Angle %1" #~ msgid "Angle" #~ msgstr "Angle" #~ msgid "Atom %1" #~ msgstr "Àtom %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsió %1" #~ msgid "Torsion" #~ msgstr "Torsió" #~ msgid "Conformer" #~ msgstr "Estereoisòmer" #~ msgid "Yes" #~ msgstr "Sí" #~ msgid "No" #~ msgstr "No" #~ msgid "Python Terminal" #~ msgstr "Terminal de python" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Terminal interactiu de guions de python" #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Avís del generador de fitxers d'entrada Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell de visualització de fitxers d'entrada dalton ?" #~ msgid "QM Matches" #~ msgstr "Concordances QM" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Selecció EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Selecció QM..." #~ msgid "Delete" #~ msgstr "Suprimeix" #~ msgid "You must make a selection!" #~ msgstr "Cal que feu una selecció" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "La conversió SMILES no és disponible" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "El format de conversió SMILES no és disponible !" #~ msgid "Group Name" #~ msgstr "Nom del grup" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Crea fitxers d'entrada per al paquet químic quàntic GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "La configuració avançada ha canviat" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "La configuració avançada ha canviat. \n" #~ "Voleu descartar-ne els canvis ?" #~ msgid "Advanced Settings Reset" #~ msgstr "Reinicialització de la configuració avançada" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Esteu segurs de voler reinicialitzar la configuració ? \n" #~ "Tots els canvis es perdran!" #~ msgid "Basic Settings Reset" #~ msgstr "Reinicialització de la configuració bàsica" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Esteu segurs de voler reinicialitzar la configuració bàsica? \n" #~ "Tot els canvis es perdran!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Avís del generador d'entrada GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada GAMESS-UK ?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Entrada GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Avís del generador d'entrada Gaussiana" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada de Gaussià ?" #~ msgid "Gaussian Input Deck" #~ msgstr "Entrada Gaussiana" #~ msgid "Gaussian Running." #~ msgstr "Execució Gaussiana" #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "La Gaussiana s'està executant. Espereu fins que els càlculs previs hagen " #~ "finalitzat." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussià no instal·lat" #~ msgid "The G03 executable, cannot be found." #~ msgstr "L'executable G03 no s'ha trobat." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "G03 no s'ha iniciat. Tal vegada no s'ha instal·lat de forma correcta." #~ msgid "Running Gaussian calculation..." #~ msgstr "Executant càlcul Gaussià..." #~ msgid "G03 Crashed." #~ msgstr "G03 Trencat." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "La Gaussiana no s'ha executat bé. Tal vegada no s'ha instal·lat de forma " #~ "correcta." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussià..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Avís de generador d'entrada Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada Molpro?" #~ msgid "Molpro Input Deck" #~ msgstr "Entrada Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Avís d'entrada MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada de MOPAC ?" #~ msgid "MOPAC Input Deck" #~ msgstr "Entrada MOPAC" #~ msgid "MOPAC Running." #~ msgstr "Executant MOPAC" #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC està executant-se. Espereu fins que els càlculs hagen acabat." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC no instal·lat" #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "L'executable MOPAC, no és pot trobar." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC no s'ha executat." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC no s'ha iniciat. Tal vegada no està correctament instal·lat" #~ msgid "Running MOPAC calculation..." #~ msgstr "Executant el càlcul MOPAC..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC s'ha trencat." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC no s'executa correctament. Tal vegada no està correctament " #~ "instal·lat" #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Avís de generador d'entrada NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada NWChem ?" #~ msgid "NWChem Input Deck" #~ msgstr "Entrada NWChem" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Avís del generador d'entrades Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Voleu actualitzar el text visualitzat, perdent tots els canvis fets al " #~ "panell d'entrada de Q-Chem ?" #~ msgid "QChem Input Deck" #~ msgstr "Entrada QChem" #~ msgid "Select SMARTS..." #~ msgstr "Selecciona SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Selecciona per residu..." #~ msgid "Add Named Selection..." #~ msgstr "Afig una selecció per nom..." #~ msgid "SMARTS Selection" #~ msgstr "Selecció SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Patró SMART a seleccionar" #~ msgid "Select by residue" #~ msgstr "Selecciona per residu" #~ msgid "Residue name" #~ msgstr "Nom del residu" #~ msgid "There is no current selection." #~ msgstr "Ni hi ha cap selecció actual." #~ msgid "Add Named Selection" #~ msgstr "Afig una selecció per nom" #~ msgid "Name cannot be empty." #~ msgstr "El nom no pot estar buit." #~ msgid "There is already a selection with this name." #~ msgstr "Ja hi ha una selecció amb este nom." #~ msgid "Selections" #~ msgstr "Seleccions." #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Selecciona àtoms, enllaços, residus..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Shaders..." #~ msgid "Open a vertex shader source file" #~ msgstr "Obri un fitxer font de vertex shader" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Fitxers de vertex shader (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Obri un fitxer font de fragment shader" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fitxers de fragment shader (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Obri un fitxer de paràmetres shader" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Fitxers de paràmetres shader (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL Shaders" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Carrega i utilitza OpenGL 2.0 GLSL shader" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensitat (unitats arbitraries)" #~ msgid "Energy (eV)" #~ msgstr "Energia (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Densitat dels estats (estat/cel.la)" #~ msgid "Density of States (states/atom)" #~ msgstr "Densitat dels estats (estat/àtom)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Densitat dels estats (estat/electró de valència)" #~ msgid "Transmittance (%)" #~ msgstr "Transmitància (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbància (%)" #~ msgid "No intensities" #~ msgstr "Cap intensitat" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "La dada de vibració per la molècula que heu carregat no conté cap " #~ "intensitat. Les intensitats s'han establit a un valor arbitrari per la " #~ "seua visualització." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Nombre d'ona (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Desplaçament (ppm)" #~ msgid "Activity" #~ msgstr "Activitat" #~ msgid "Intensity" #~ msgstr "Intensitat" #~ msgid "X Axis" #~ msgstr "Eix X" #~ msgid "Y Axis" #~ msgstr "Eix Y" #~ msgid "&Appearance" #~ msgstr "&Aparença" #~ msgid "E&xport Image" #~ msgstr "E&xporta Imatge" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infraroig" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Paràmetres espectre &infraroig" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "RMN" #~ msgid "&NMR Spectra Settings" #~ msgstr "Paràmetres espectre RMN" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "Densitats dels estats" #~ msgid "&Density Of States Settings" #~ msgstr "Paràmetres de la &Densitat dels estats" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "Paràmetres &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "Paràmetres &CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "Paràmetres &Raman" #~ msgid "No data" #~ msgstr "Sense dades" #~ msgid "Dark" #~ msgstr "Fosc" #~ msgid "Light" #~ msgstr "Llum" #~ msgid "Publication" #~ msgstr "Publicació" #~ msgid "Handdrawn" #~ msgstr "Dibuix a ma" #~ msgid "New Scheme" #~ msgstr "Nou esquema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Confirma eliminació d'esquema" #~ msgid "Really remove current scheme?" #~ msgstr "Vols esborrar l'esquema actual?" #~ msgid "Change Scheme Name" #~ msgstr "Canvia Nom d'esquema" #~ msgid "Enter new name for current scheme:" #~ msgstr "Escriu nou nom per a l'esquema actual:" #~ msgid "Select Background Color" #~ msgstr "Selecciona el color de fons" #~ msgid "Select Foreground Color" #~ msgstr "Selecciona el color del primer pla" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Selecciona el color de l'espectre calculat" #~ msgid "Select Imported Spectra Color" #~ msgstr "Selecciona el color de l'espectre importat" #~ msgid "Export Calculated Spectrum" #~ msgstr "Exporta l'espectre calculat" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Valors separats per tabulador (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Valors separats per tabulador" #~ msgid "Comma Separated Values" #~ msgstr "Valors separats per coma" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importa espectre" #~ msgid "Spectra Import" #~ msgstr "Espectre importat" #~ msgid "Unknown extension: %1" #~ msgstr "Extensió desconeguda: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "Dada IR PWscf (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Dada IR turbomole (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Dada UV turbomole (espectre)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Dada CD turbomole (espectre cd)" #~ msgid "Data Format" #~ msgstr "Format de dada" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format:" #~ msgid "Load Spectral Data" #~ msgstr "Carrega les dades espectrals" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "El fitxer turbomole CD s'ha formatat de forma incorrecta: %1" #~ msgid "Portable Network Graphics" #~ msgstr "PNG" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "TIFF" #~ msgid "Windows Bitmap" #~ msgstr "Mapa de bits de Windows" #~ msgid "Portable Pixmap" #~ msgstr "Pixmap portable" #~ msgid "X11 Bitmap" #~ msgstr "Bitmap X11" #~ msgid "X11 Pixmap" #~ msgstr "Pixmap X11" #~ msgid "Save Spectra Image" #~ msgstr "Alça la imatge de l'espectre" #~ msgid "&Advanced <<" #~ msgstr "&Avançat <<" #~ msgid "&Advanced >>" #~ msgstr "&Avançat >>" #~ msgid "&Spectra..." #~ msgstr "&Espectre..." #~ msgid "Spectra" #~ msgstr "Espectre" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualitza les dades espectrals dels càlculs químics quàntics" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Anàlisis vibracional" #~ msgid "No vibrational displacements exist." #~ msgstr "No existeixen dislocaments vibracionals." #~ msgid "Vibration" #~ msgstr "Vibració" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Mostra els modes vibracionals per als càlculs químics quàntics" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Eixida %1 vibracions per freqüència..." #~ msgid "Pause" #~ msgstr "Pausa" #~ msgid "Super Cell Builder..." #~ msgstr "Constructor de super cel·les ..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Este document és d'una molècula aïllada. Necessiteu crear una cel·la " #~ "unitat." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Construeix i visualitza super cel·les cristal·logràfiques" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbitals moleculars..." #~ msgid "Orbitals" #~ msgstr "Orbitals" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Orbital" #~ msgid "Status" #~ msgstr "Estat" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Res" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potencial electrostàtic" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Densitat electrònica" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbital molecular" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Error - tipus no definit" #~ msgid "Create Surfaces..." #~ msgstr "Crea superfícies..." #~ msgid "Calculating VdW Cube" #~ msgstr "Calculant el cub VdW" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calculant MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Densitat d'electrons" #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Calcula orbitals moleculars i altres superfícies" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "L'estri GL no està correctament inicialitzat per enregistrar un vídeo" #~ msgid "GL widget has no molecule" #~ msgstr "L'estri GL no té cap molècula" #~ msgid "Building video " #~ msgstr "Codificant vídeo " #~ msgid "Could not run povray." #~ msgstr "No funciona povray." #~ msgid "Could not run mencoder." #~ msgstr "No funciona mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Configura la relació d'aspecte" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "L'actual escena d'Avogadro té %1x%2 pixels d'ample i tanmateix té relació " #~ "d'aspecte %3.\n" #~ "Podeu utilitzar este valor, per exemple per utilitzar POV-Ray per produir " #~ "una imatge de %4x1000 pixels , o podeu entrar un altre valor positiu, \n" #~ "per exemple 1 si voleu utilitzar POV-Ray per produir una imatge quadrada " #~ "de d'aproximadament 1000x1000 pixels." #~ msgid "Connect" #~ msgstr "Connecta" #~ msgid "Disconnect" #~ msgstr "Desconnecta" #~ msgid "&WiiTrack" #~ msgstr "Pista&Wii" #~ msgid "Wii Tracking" #~ msgstr "Seguiment Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Moviment de tracció utilitzant Wii remotes" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Contexte OpenGL no vàlid. \n" #~ "Alguna cosa està completament trencada en la configuració OpenGL (podeu " #~ "executar alguna altre aplicació ?), o heu trobat un bug." #~ msgid "Debug Information" #~ msgstr "Informació desenvolupament" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Visualitza mida: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Àtoms: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Enllaços: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: índex %1 fora de rang." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "El tipus de fitxer «%1» no té suportada la lectura." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "El tipus de fitxer per al fitxer «%1» no té suportada la lectura." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "" #~ "La lectura de la molècula amb índex %1 des del fitxer «%2» ha tingut " #~ "errades." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "Substitució de la molècula: índex %1 fora de rang." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "El tipus de fitxer «%1» no suporta l'escriptura." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "El tipus de fitxer per al fitxer «%1» no té suportada l'escriptura." #~ msgid "Could not open file '%1' for writing." #~ msgstr "No és pot obrir el fitxer «%1» per escriptura." #~ msgid "Could not open file '%1' for reading." #~ msgstr "No és pot obrir el fitxer «%1» per lectura." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "" #~ "La substitució de la molècula amb índex %1 al fitxer «%2» ha tingut " #~ "problemes." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "No es pot obrir el fitxer %1 per lectura." #~ msgid "File %1 can not be opened for writing." #~ msgstr "El fitxer %1 no és pot obrir per escriure-hi." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "L'alçat del fitxer molecular ha fallat - no és pot reanomenar el fitxer " #~ "original." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "L'alçat del fitxer molecular ha fallat - no és pot reanomenar el fitxer " #~ "nou." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "L'alçat del fitxer molecular ha fallat - no és pot reanomenar el fitxer " #~ "antic." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Ha fallat escriure una molècula al fitxer «%1». La funció OpenBabel ha " #~ "fallat." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "El fitxer %1 no és pot obrir per escriure-hi." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Ha fallat l'escriptura dels estereoisòmers al fitxer «%1»." #~ msgid "Molecule %1" #~ msgstr "Molècula %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Giny de python desconegut" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: comprobació " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - el guió no té cap 'Engine' class definit" #~ msgid " - no module" #~ msgstr " - no mòdul" #~ msgid "Unknown Python Extension" #~ msgstr "Extensió Python desconeguda" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: comprovant " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - el script no té cap 'Extension' class definit" #~ msgid "Unknown Python Tool" #~ msgstr "Eina de Python desconeguda" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: comprovant " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - el script no té cap 'Tool' class definida" #~ msgid "Conformer %1" #~ msgstr "Estereoisòmer %1" #~ msgid "Tools" #~ msgstr "Eines" #~ msgid "Axis:" #~ msgstr "Eix:" #~ msgid "Align:" #~ msgstr "Alinea:" #~ msgid "Everything" #~ msgstr "Tot" #~ msgid "Align" #~ msgstr "Alinea" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Alinea molècules als eixos cartesians" #~ msgid "Align Settings" #~ msgstr "Configuració de l'alineació" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: No es pot configurar el camp de forces..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Nombre de restriccions: %1" #~ msgid "Steps per Update:" #~ msgstr "Passes per actualizar:" #~ msgid "Algorithm:" #~ msgstr "Algorisme:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dinàmica molecular (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinàmica molecular (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinàmica molecular (900K)" #~ msgid "Start" #~ msgstr "Inicia" #~ msgid "Fixed atoms are movable" #~ msgstr "Els àtoms fixats es poden moure" #~ msgid "Ignored atoms are movable" #~ msgstr "Els àtoms ignorats es poden moure" #~ msgid "AutoOpt Molecule" #~ msgstr "Molècula optimitzada automàticament" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Optimització automàtica de la geometria molecular" #~ msgid "AutoOptimization Settings" #~ msgstr "Configuració d'Autooptimització" #~ msgid "Auto Rotation Tool" #~ msgstr "Eina d'autogir" #~ msgid "x rotation:" #~ msgstr "rotació x:" #~ msgid "x rotation" #~ msgstr "rotació x" #~ msgid "y rotation:" #~ msgstr "rotació y:" #~ msgid "y rotation" #~ msgstr "rotació y" #~ msgid "z rotation:" #~ msgstr "rotació z:" #~ msgid "z rotation" #~ msgstr "rotació z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Rotació automàtica de molècules" #~ msgid "AutoRotate Settings" #~ msgstr "Configuració d'Autorotació" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Longitud de l'enllaç: %L1" #~ msgid " Show Angles" #~ msgstr " Visualitza Angles" #~ msgid "Snap-to Threshold: " #~ msgstr "Dur a la vora: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Manipula l'enllaç central" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulació de longituds d'enllaç, angles, i torsions" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Configuració de la manipulació de l'enllaç central" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distància (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Angle: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distància (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Angle dièdric: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distància(es):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Mesura de longituds d'enllaç, angles i diedres" #~ msgid "Delete Atom" #~ msgstr "Suprimeix l'àtom" #~ msgid "Draw Bond" #~ msgstr "Dibuixa l'enllaç" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Dibuixa i edita àtoms i enllaços" #~ msgid "Draw Settings" #~ msgstr "Configuració de Dibuix" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Trasllada , rota, i ajusta àtoms i fragments" #~ msgid "Manipulate Settings" #~ msgstr "Configuració de manipulació" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Trasllada, rota i amplia al voltat de la vista actual" #~ msgid "Navigate Settings" #~ msgstr "Configuració de navegació" #~ msgid "Selection Mode:" #~ msgstr "Mode selecció:" #~ msgid "Atom/Bond" #~ msgstr "Àtom/Enllaç" #~ msgid "Residue" #~ msgstr "Residu" #~ msgid "Change color of the atom" #~ msgstr "Canvia el color de l'àtom" #~ msgid "Change label of the atom" #~ msgstr "Canvia l'etiqueta de l'àtom" #~ msgid "New Label:" #~ msgstr "Etiqueta nova" #~ msgid "Change label of the bond" #~ msgstr "Canvia l'etiqueta de l'enllaç" #~ msgid "Change radius of the atom" #~ msgstr "Canvia el radi de l'àtom" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Nou radi, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Selecciona àtoms, residus i molècules" #~ msgid "Symbol" #~ msgstr "Símbol" #~ msgid "Bond Length" #~ msgstr "Longitud de l'enllaç" #~ msgid "Bond Angle" #~ msgstr "Angle de l'enllaç" #~ msgid "Dihedral Angle" #~ msgstr "Angle dièdric" #~ msgid "Z Matrix Editor..." #~ msgstr "Editor de Matriu Z ..." #~ msgid "Z-Matrix" #~ msgstr "Matriu Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Crea/edita una matriu z" #~ msgid "Z-Matrix Settings" #~ msgstr "Configuració de Matriu Z" #~ msgid "Residue Color Settings" #~ msgstr "Configuració del residu de color" #~ msgid "Color residues by:" #~ msgstr "Residu de color de:" #~ msgid "Amino Colors" #~ msgstr "Colors amino" #~ msgid "Shapely Colors" #~ msgstr "Colors de la forma" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobicitat" #~ msgid "Axes:" #~ msgstr "Eixos:" #~ msgid "Cartesian Axes" #~ msgstr "Eixos cartesians" #~ msgid "Orthogonal Axes" #~ msgstr "Eixos ortogonals" #~ msgid "Axis 1:" #~ msgstr "Eix 1:" #~ msgid "Axis 2:" #~ msgstr "Eix 2:" #~ msgid "Axis 3:" #~ msgstr "Eix 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origen:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Normal" #~ msgid "Preserve vector norms" #~ msgstr "Preserva el vectors normals" #~ msgid "Atom Radius:" #~ msgstr "Radi de l'àtom:" #~ msgid "Bond Radius:" #~ msgstr "Radi de l'enllaç:" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Helix" #~ msgstr "Hèlix" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Fulla" #~ msgid "Loop" #~ msgstr "Cicle" #~ msgid "Colors" #~ msgstr "Colors" #~ msgid "Dipole:" #~ msgstr "Dipol:" #~ msgid "Dipole Moment" #~ msgstr "Moment dipolar" #~ msgid "Custom Vector" #~ msgstr "Vector personalitzat" #~ msgid "Custom:" #~ msgstr "Personalitzat:" #~ msgid "Width:" #~ msgstr "Amplada:" #~ msgid "Cut-off radius:" #~ msgstr "Radi de tall:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Angle de tall:" #~ msgid "Rendering Engine:" #~ msgstr "Giny de dibuix:" #~ msgid "TextRenderer" #~ msgstr "TextRenderer" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Etiquetes d'àtom" #~ msgid "Text:" #~ msgstr "Text:" #~ msgid "Color:" #~ msgstr "color:" #~ msgid "None" #~ msgstr "Cap" #~ msgid "Symbol & Number in Group" #~ msgstr "Símbol i nombre del grup" #~ msgid "Symbol & Atom number" #~ msgstr "Símbol i nombre atòmic" #~ msgid "Formal charge" #~ msgstr "Carrega formal" #~ msgid "Partial charge" #~ msgstr "Carrega parcial" #~ msgid "Residue number" #~ msgstr "Nombre de residu" #~ msgid "Unique ID" #~ msgstr "ID únic" #~ msgid "Custom data" #~ msgstr "Dada" #~ msgid "Change Font" #~ msgstr "Canvia la font" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Etiqueta a canviar:" #~ msgid "Bond Labels" #~ msgstr "Etiquetes d'enllaç" #~ msgid "Bond length" #~ msgstr "Longitud d'enllaç" #~ msgid "Bond number" #~ msgstr "Nombre d'enllaç" #~ msgid "Bond order" #~ msgstr "Orde d'enllaç" #~ msgid "Rendering:" #~ msgstr "Representació:" #~ msgid "Backbone" #~ msgstr "Esquelet proteïc" #~ msgid "Lines" #~ msgstr "Línies" #~ msgid "Radius:" #~ msgstr "Radi:" #~ msgid "Include Nitrogens" #~ msgstr "Inclou els nitrogens" #~ msgid "VdW Opacity:" #~ msgstr "Opacitat de VdW:" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Representa:" #~ msgid "Fill" #~ msgstr "Omple" #~ msgid "Points" #~ msgstr "Punts" #~ msgid "Draw Box:" #~ msgstr "Caixa de dibuix:" #~ msgid "Style:" #~ msgstr "Estil:" #~ msgid "Selected Colors" #~ msgstr "Colors seleccionats" #~ msgid "Mapped Colors" #~ msgstr "Colors dibuixats" #~ msgid "Colors:" #~ msgstr "Colors:" #~ msgid "Positive" #~ msgstr "Positiu" #~ msgid "Negative" #~ msgstr "Negatiu" #~ msgid "Show Atoms" #~ msgstr "Mostra els àtoms" #~ msgid "Animate Trajectory" #~ msgstr "Anima la trajectoa" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Cicle" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Anomena i alça com a .avi…" #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, sols coordenades" #~ msgid "GAMESS Input #2" #~ msgstr "Entrada GAMESS #2" #~ msgid "Priroda Input" #~ msgstr "Entrada priroda" #~ msgid "Apply Changes" #~ msgstr "Aplica els canvis" #~ msgid "Cut All" #~ msgstr "Talla-ho tot" #~ msgid "Paste to the End" #~ msgstr "Enganxa fins el final" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Enganxa o edita les " #~ "coordinades atòmiques ací. Podeu enganxar quasi qualsevol fragment de " #~ "text contenint coordinades.

" #~ msgid "(None)" #~ msgstr "(cap)" #~ msgid "Sort by " #~ msgstr "ordenat per " #~ msgid "Conformer Search" #~ msgstr "Cerca d'esteroisòmers" #~ msgid "Method" #~ msgstr "Mètode" #~ msgid "Number of atoms:" #~ msgstr "Nombre d'àtoms:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Nombre d'enllaços angulars:" #~ msgid "Number of conformers" #~ msgstr "Nombre d'esteoisòmers" #~ msgid "Systematic rotor search" #~ msgstr "Cerca sistemàtica de rotors" #~ msgid "Random rotor search" #~ msgstr "Cerca de rotors aleatòria" #~ msgid "Weighted rotor search" #~ msgstr "Cerca de rotors depenent de la massa" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Constraints" #~ msgstr "Restriccions" #~ msgid "Add Constraints" #~ msgstr "Afig restriccions" #~ msgid "Ignore Atom" #~ msgstr "Ignora l'àtom" #~ msgid "Fix Atom" #~ msgstr "Fixa l'àtom" #~ msgid "Fix Atom X" #~ msgstr "Fixa l'àtom X" #~ msgid "Fix Atom Y" #~ msgstr "Fixa l'àtom Y" #~ msgid "Fix Atom Z" #~ msgstr "Fixa l'àtom Z" #~ msgid "Torsion angle" #~ msgstr "Angle de torsió" #~ msgid "Constraint Value" #~ msgstr "Valor de la restricció" #~ msgid "Atom Indices" #~ msgstr "Index d'àtoms" #~ msgid "Add" #~ msgstr "Afegix" #~ msgid "Save" #~ msgstr "Alça" #~ msgid "Load" #~ msgstr "Carrega" #~ msgid "Cartesian" #~ msgstr "Cartesià" #~ msgid "All" #~ msgstr "Tots" #~ msgid "File Import..." #~ msgstr "Importa el fitxer..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Voleu Intentar detectar els enllaços?" #~ msgid "Setup Force Field" #~ msgstr "Configura el camp de forces" #~ msgid "Force Field" #~ msgstr "Camp de força" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Nombre de passos" #~ msgid "Algorithm" #~ msgstr "Algoritme" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Altra" #~ msgid "Insert Fragment..." #~ msgstr "Insereix un fragment…" #~ msgid "Peptide Builder" #~ msgstr "Cadenes pèptides" #~ msgid "Alanine" #~ msgstr "Alanina" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginina" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagina" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Àcid aspartic" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cisteina" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Àcid glutàmic" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamina" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glicina" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidina" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucina" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valina" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirosina" #~ msgid "Tyr" #~ msgstr "Tir" #~ msgid "Tryptophan" #~ msgstr "Triptòfan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treonina" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serina" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolina" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanina" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionina" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lisina" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucina" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminoàcids:" #~ msgid "Sequence (N to C):" #~ msgstr "Seqüència (N a C):" #~ msgid "Stereochemistry:" #~ msgstr "Estereoquímica:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N-terminal" #~ msgid "C Terminus:" #~ msgstr "C-terminal" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Cadena recta" #~ msgid "Alpha Helix" #~ msgstr "Hèlix alfa" #~ msgid "Beta Sheet" #~ msgstr "Làmina beta" #~ msgid "3-10 Helix" #~ msgstr "Hèlix 3-10" #~ msgid "Pi Helix" #~ msgstr "Hèlix Pi" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Cadena número:" #~ msgid "The chain number for the new peptide" #~ msgstr "El nombre de cadena per al següent pèptid" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Propietats de la molècula" #~ msgid "Number of Residues:" #~ msgstr "Número de residus:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energia (KJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Moment dipolar (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Nom de la molècula IUPAC:" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Avançat" #~ msgid "Control" #~ msgstr "Control" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Dades" #~ msgid "Nothing" #~ msgstr "No res" #~ msgid "Grid" #~ msgstr "Graella" #~ msgid "POV-Ray Export" #~ msgstr "Exporta a POV-Ray" #~ msgid "Select..." #~ msgstr "Selecciona..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Utilitza l'antialisat a tota l'escena" #~ msgid "Antialias" #~ msgstr "Antiàlies" #~ msgid "Set the background color to be transparent" #~ msgstr "Posa el color de fons transparent" #~ msgid "Alpha transparency" #~ msgstr "Transparència alfa" #~ msgid "Command:" #~ msgstr "Orde:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Representa la molècula directament utilitzant la orde POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "" #~ "Conserva el codi font de POV-Ray després que la representació s'haja " #~ "completat" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Conserva el codi font de POV-Ray després de la representació" #~ msgid "Path:" #~ msgstr "Camí:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Use Form" #~ msgstr "Utilitza la forma" #~ msgid "Compute..." #~ msgstr "Calcula..." #~ msgid "Dalton Input" #~ msgstr "Entrada dalton" #~ msgid "Basics" #~ msgstr "Bàsics" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Afig el que teclegis a la línia de títol del fitxer d'entrada \n" #~ "per a propòsits informatius" #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Sistema base:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Estil de pople" #~ msgid "Jensen's polarization consistent" #~ msgstr "Polarització consistent de Jensen" #~ msgid "Dunning's correlation consistent" #~ msgstr "Correlació consistent de Dunning" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Funcions de correlació de la base" #~ msgid "Diffuse functions" #~ msgstr "Funcions difuses" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Funcions de polarització" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Directe" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Executa en paral·lel sempre que siga possible. Això sols és possible " #~ "per \n" #~ "funcions SCF i càlculs DFT. Dalton sols suporta MPI a la versió actual i " #~ "cal\n" #~ "compilar-lo i instal·lar-lo de forma correcta. El nombre de nodes estan " #~ "establerts utilitzant \n" #~ "la opció \"-N #\" quan s'executa el script «dalton»." #~ msgid "Parallel" #~ msgstr "Paral·lel" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Funció:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Densitat:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Integració de la càrrega:" #~ msgid "Grid Specification" #~ msgstr "Especificació de xarxa:" #~ msgid "Partitioning Scheme:" #~ msgstr "Esquema de particionat:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (original)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Qualitat de la xarxa:" #~ msgid "coarse" #~ msgstr "grosa" #~ msgid "normal" #~ msgstr "normal" #~ msgid "fine" #~ msgstr "fina" #~ msgid "ultrafine" #~ msgstr "ultrafina" #~ msgid "Radial Scheme:" #~ msgstr "Esquema radial:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Mostra totes les funcions" #~ msgid "Property:" #~ msgstr "Característica:" #~ msgid "Polarizability" #~ msgstr "Polaritzabilitat" #~ msgid "Excitation Energy" #~ msgstr "Energia d'excitació" #~ msgid "Frequency Dependent" #~ msgstr "Freqüència dependent" #~ msgid "No. excitations:" #~ msgstr "Nombre excitacions:" #~ msgid "EFP Matches" #~ msgstr "Resultats EFP" #~ msgid "Group Label:" #~ msgstr "Etiqueta de grup:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Configuració &avançada" #~ msgid "Hessian" #~ msgstr "Hessià" #~ msgid "Stat Point" #~ msgstr "Punt d'estat" #~ msgid "System" #~ msgstr "Sistema" #~ msgid "MO Guess" #~ msgstr "Conjectura MO" #~ msgid "Misc" #~ msgstr "Miscel·lània" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "# Funcions de polarització D del àtoms pesants :" #~ msgid "Read" #~ msgstr "Llig" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Difusió capa S als àtoms pesants" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Difusió capa L als àtoms pesants" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Doble valència zeta" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Triple valència zeta" #~ msgid "SBKJA Valence" #~ msgstr "València SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "València Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Tipus ECP" #~ msgid "Default" #~ msgstr "Per defecte" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "# Funcions de polarització F dels àtoms pesants:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "# Funcions de polarització dels àtoms lleugers:" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "Iteracions Max SCF:" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "Optimització" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "Punt Saddle" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Gradient extrem" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energia superficial" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Transició radiactiva mom." #~ msgid "Spin Orbit" #~ msgstr "Spin Orbita" #~ msgid "Finite Electric Field" #~ msgstr "Camp elèctric finit" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Optimització global" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Optimització FMO" #~ msgid "Raman Intensities" #~ msgstr "Intensitats Raman" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Fes EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Cap (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Tipus SCF:" #~ msgid "Localization Method:" #~ msgstr "Mètode de localització:" #~ msgid "Exec Type:" #~ msgstr "Tipus Exec:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Determinant Lab. Ames" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Espai actiu múltiple restrictiu de la ocupació" #~ msgid "CI Singles" #~ msgstr "CI Singles" #~ msgid "Full Second Order CI" #~ msgstr "Cl ple de segon orde" #~ msgid "General CI" #~ msgstr "Cl general" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearitzat CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC amb dobles" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC amb simples i dobles" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Execució normal" #~ msgid "Check" #~ msgstr "Comprova" #~ msgid "Debug" #~ msgstr "Depura" #~ msgid "Molecule Charge:" #~ msgstr "Carrega molecular:" #~ msgid "Run Type:" #~ msgstr "Executa el tipus:" #~ msgid "Use MP2" #~ msgstr "Utilitza MP2" #~ msgid "Use DFT" #~ msgstr "Utilitza DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# de les variables de la matriu Z" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Orde dels eixos principals:" #~ msgid "Coordinate Type:" #~ msgstr "Tipus de coordenada:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Coordenades cartesianes úniques" #~ msgid "Hilderbrant internals" #~ msgstr "interiors de Hilderbrant" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Utilitza simetria durant el càlcul" #~ msgid "Point Group:" #~ msgstr "Grup del punt:" #~ msgid "Minutes" #~ msgstr "Minuts" #~ msgid "Hours" #~ msgstr "Hores" #~ msgid "Days" #~ msgstr "Dies" #~ msgid "Weeks" #~ msgstr "Setmanes" #~ msgid "Years" #~ msgstr "Anys" #~ msgid "Millenia" #~ msgstr "Mil·lennis" #~ msgid "MegaWords" #~ msgstr "Mega paraules" #~ msgid "MegaBytes" #~ msgstr "Megabytes" #~ msgid "GigaWords" #~ msgstr "Giga paraules" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Mètodes de força paral·lela" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Producte «core» fitxer sobre la interrupció" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memòria:" #~ msgid "Diagonalization Method:" #~ msgstr "Mètode de diagonalització:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Tipus del balanç de càrrega paral·lel" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Cicle" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Següent valor" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Utilitzeu dades externes per representar el missatges" #~ msgid "Initial Guess:" #~ msgstr "Conjectura inicial:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO llegit ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO alçat (DICTNRY)" #~ msgid "Skip" #~ msgstr "Omet" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Gira els orbitals alfa i beta" #~ msgid "Print the Initial Guess" #~ msgstr "Imprimeix la conjectura inicial" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Interfície GAMESS per als altres codis" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Força el funcionament a prova" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (Versió UK)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussià 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvata amb aigua" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Genera els orbitals naturals UHF" #~ msgid "Direct SCF" #~ msgstr "SCF directe" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "El càlcul sols ha canviat la matriu de Fock" #~ msgid "Slater exchange" #~ msgstr "Intercanvi Slater" #~ msgid "Becke 1988 exchange" #~ msgstr "Intercanvi Becke 1988" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Correlació Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Correlació Lee-Yang-Parr" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Intercanvi Slater + Correlació VWN" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: Intercanvi BECKE + Correlació VWN5" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: Intercanvi BECKE + Correlació LYP" #~ msgid "Gill 1996 exchange" #~ msgstr "Intercanvi Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Intercanvi Perdew-Burke-Ernzerhof (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: Correlació progressiva un-paràmetre" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Correlació Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + Correlació OP" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: Intercanvi BECKE +Correlació OP" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: Intercanvi GILL + Correlació VWN5" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: Intercanvi GILL + Correlació LYP" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: Intercanvi PBE +Correlació VWN6" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: Intercanvi PBE +Correlació LYP" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: Intercanvi PBE + Correlació OP" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: Intercanvis HF i BECKE + Correlació LYP" #~ msgid "Grid-Free" #~ msgstr "Graella lliure" #~ msgid "DFT Functional:" #~ msgstr "Funció DFT:" #~ msgid "Method:" #~ msgstr "Mètode:" #~ msgid "AO Integral Storage" #~ msgstr "Emmagatzemament integral AO" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplicat en cada node" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distribuït a través de tots els nodes" #~ msgid "words" #~ msgstr "paraules" #~ msgid "Compute MP2 Properties" #~ msgstr "Calcula les propietats MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Integral de Retenció Cutoff:" #~ msgid "Use Localized Orbitals" #~ msgstr "Utilitza orbitals localitzats" #~ msgid "# of Core Electrons:" #~ msgstr "# dels electrons base:" #~ msgid "Two Phase Bin Sort" #~ msgstr "Ordenament per caselles bifàsic" #~ msgid "Segmented Transformation" #~ msgstr "Transformació segmentada" #~ msgid "Analytic" #~ msgstr "Analític" #~ msgid "Numeric" #~ msgstr "Numèric" #~ msgid "Double Differenced Hessian" #~ msgstr "Hessià derivada parcial segona" #~ msgid "Print Internal Force Constants" #~ msgstr "Imprimeix constants de les forces internes" #~ msgid "Displacement Size:" #~ msgstr "Mida del desplaçament:" #~ msgid "Purify Hessian" #~ msgstr "Neteja el Hessià" #~ msgid "Frequency Scale Factor:" #~ msgstr "Factor d'escala de la freqüencia:" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Hessià inicial" #~ msgid "Guess (+ define)" #~ msgstr "Conjectura ( + defineix)" #~ msgid "Read (from $HESS)" #~ msgstr "Lectura ( des de $HESS)" #~ msgid "Update Step Size" #~ msgstr "Actualitza la mida del pas" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Imprimeix els orbs. en cada iteració" #~ msgid "Jump Size:" #~ msgstr "Mida del salt:" #~ msgid "Stationary Point" #~ msgstr "Punt estacionari:" #~ msgid "Step Size" #~ msgstr "Mida del pas" #~ msgid "Maximum:" #~ msgstr "Màxim:" #~ msgid "Minimum:" #~ msgstr "Mínim:" #~ msgid "Initial:" #~ msgstr "Inicial:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Funció d'optimització racional" #~ msgid "Quadratic Approximation" #~ msgstr "Aproximació quadràtica" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Optimització de les restriccions" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Recalcula el hessià cada:" #~ msgid "Follow Mode:" #~ msgstr "Mode de seguiment:" #~ msgid "Maximum Steps:" #~ msgstr "Passos màxims:" #~ msgid "GAMESS-UK Input" #~ msgstr "Entrada GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Entrada GAMESS-UK generada per Avogadro" #~ msgid "Transition State Search" #~ msgstr "Cerca estat de transició" #~ msgid "Basis:" #~ msgstr "Base:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Matriu Z" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "En el mode directe, les integrals no són emmagatzemades al disc, però el " #~ "recàlcul és necessari.\n" #~ "Als sistemes moderns amb processadors ràpids i discs lents, el mode " #~ "directe és normalment ràpid." #~ msgid "Run in direct mode:" #~ msgstr "Executa en mode directe:" #~ msgid "Gaussian Input" #~ msgstr "Entrada gaussiana" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Estàndard" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Punt de comprovació:" #~ msgid "Z-matrix (compact)" #~ msgstr "Matriu Z (compacta)" #~ msgid "MOLPRO Input" #~ msgstr "Entrada MOLPRO:" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Molpro Versió:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Entrada MOPAC" #~ msgid "Quartet" #~ msgstr "Quartet" #~ msgid "Quintet" #~ msgstr "Quintet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Entrada NWChem" #~ msgid "Q-Chem Input" #~ msgstr "Entrada Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "Carrega Shaders" #~ msgid "Shader Name:" #~ msgstr "Nom de Shader:" #~ msgid "Vertex Shader:" #~ msgstr "Vertex Shader:" #~ msgid "Fragment Shader:" #~ msgstr "Fragment Shader:" #~ msgid "Assign Shader" #~ msgstr "Assigna shader" #~ msgid "Display Type:" #~ msgstr "Tipus de visualització:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Controls:\n" #~ "Clic doble esquerra: Restaura els límits dels eixos per defecte\n" #~ "Clic dret + arrossega: Mou la funció\n" #~ "Botó del mig + arrossega: Amplia la regió\n" #~ "Desplaçament de la roda: Amplia el cursor" #~ msgid "&Load data..." #~ msgstr "Carrega &dades..." #~ msgid "&Close" #~ msgstr "&Tanca" #~ msgid "Calculated Spectra:" #~ msgstr "Espectre calculat:" #~ msgid "Set Color..." #~ msgstr "Estableix el color..." #~ msgid "Imported Spectra:" #~ msgstr "Espectre importat:" #~ msgid "Font:" #~ msgstr "Tipus de lletra:" #~ msgid "Change Font..." #~ msgstr "Canvia el tipus de lletra..." #~ msgid "Show" #~ msgstr "Visualitza" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "" #~ "Importa un tsv del espectre experimental per sobreescriure en la funció." #~ msgid "&Import..." #~ msgstr "&Importa..." #~ msgid "Background:" #~ msgstr "Fons:" #~ msgid "Foreground:" #~ msgstr "Primer pla:" #~ msgid "New..." #~ msgstr "Nou..." #~ msgid "Rename..." #~ msgstr "Reanomena..." #~ msgid "&Schemes:" #~ msgstr "E&squemes:" #~ msgid "&Export..." #~ msgstr "&Exporta..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Amplada:" #~ msgid "&Height" #~ msgstr "&Alçada" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "a" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "Al&ça Imatge..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Utilitza un valor optimitzat per la mida del tipus de lletra en lloc del " #~ "valor especificat a l'esquema (la pantalla de la mida dels punts de la " #~ "imatge no els tradueix bé!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Aut&o ajusta mida del tipus de lletra" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Exporta dades" #~ msgid "Spectra Tab" #~ msgstr "Pestanya espectral" #~ msgid "&Gaussian Width:" #~ msgstr "Amplada del &Gaussià:" #~ msgid "&Label peaks" #~ msgstr "Etiquetes de&ls pics" #~ msgid "Rotatory Strength type:" #~ msgstr "Tipus de força angular:" #~ msgid "Energy units:" #~ msgstr "Unitats d'energia:" #~ msgid "Density units" #~ msgstr "Unitats de densitat" #~ msgid "Fermi Energy: " #~ msgstr "Energia de Fermi: " #~ msgid "States / Cell" #~ msgstr "Estats / cel·la" #~ msgid "States / Atom" #~ msgstr "Estats / Àtom" #~ msgid "States / Valence electron" #~ msgstr "Estats / València electró" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Energia de Fermi a cero" #~ msgid "Scale integrated DOS" #~ msgstr "Escala integrada DOS" #~ msgid "Show integrated DOS" #~ msgstr "Mostra integrada DOS" #~ msgid "tab_IR_Raman" #~ msgstr "pestanya_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "Unitats &Y eix:" #~ msgid "Scaling Type:" #~ msgstr "Tipus d'escalat:" #~ msgid "Linear" #~ msgstr "Lineal" #~ msgid "Relative" #~ msgstr "Relativa" #~ msgid "Temperature:" #~ msgstr "Temperatura:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Número d'ona del laser." #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Llindar:" #~ msgid "tab_NMR" #~ msgstr "pestanya_NMR" #~ msgid "Nucleus:" #~ msgstr "Nucli:" #~ msgid "&Reference:" #~ msgstr "&Referència:" #~ msgid "Gaussian &Width:" #~ msgstr "A&mplada Gaussiana:" #~ msgid "Reset &Plot Axes" #~ msgstr "Re-dibuixa eixos de la funció" #~ msgid "Label Peaks:" #~ msgstr "Etiqueta dels pics:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Vibracions moleculars" #~ msgid "Filter: " #~ msgstr "Filtre: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Activitat (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "Vi&sualitza l'espectre..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "vibracions d'alta freqüència mostraran el moviment més ràpid" #~ msgid "Animation speed set by frequency" #~ msgstr "Velocitat de l'animació establerta per la freqüència" #~ msgid "Display force &vectors" #~ msgstr "Mostra &vectors de força" #~ msgid "&Normalize displacements" #~ msgstr "&Normalitza les dislocacions" #~ msgid "Generate Cell" #~ msgstr "Genera cel·la" #~ msgid "&Recalculate All" #~ msgstr "&Re-calcula-ho tot" #~ msgid "Default &Quality:" #~ msgstr "&Qualitat per defecte:" #~ msgid "Show occupied orbitals first" #~ msgstr "Mostra primer els orbitals ocupats" #~ msgid "Quality: " #~ msgstr "Qualitat: " #~ msgid "Create Surfaces" #~ msgstr "Crea Superfície" #~ msgid "Surface Type:" #~ msgstr "Tipus de superfície" #~ msgid "Color By:" #~ msgstr "Color de:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Baix" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Mitjà" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Alt" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Molt Alt" #~ msgid "Isosurface cutoff value" #~ msgstr "Valor de la drecera d'isosuperfície" #~ msgid "Iso Value:" #~ msgstr "Valor Iso:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Tipus en la mostra:" #~ msgid "New Display" #~ msgstr "Nova mostra" #~ msgid "Advanced..." #~ msgstr "Avançat..." #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Display visual cues" #~ msgstr "Mostra la senyal visual" #~ msgid "Python Settings" #~ msgstr "Configuració de python" #~ msgid "Z Matrix Editor" #~ msgstr "Editor de matriu Z" #~ msgid "Import Selected Atoms" #~ msgstr "Importa Àtoms Seleccionats" avogadrolibs-1.93.0/i18n/cs.po000066400000000000000000007265361360735163600160410ustar00rootroot00000000000000# Czech translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # # FIRST AUTHOR , 2008. # Pavel Fric , 2009, 2012. # Pavel Fric , 2010. msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-29 05:59+0000\n" "Last-Translator: fri \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Tvůrce vstupu..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Tvůrce vstupu..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Pokračovat" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Zavřít" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Neznámý" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "Abinit se nepodařilo spustit." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Přerušit výpočet" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Varování" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Varování" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Vybrat rozpouštědlo" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Výstup" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Nelze zapisovat do souboru." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Soubor s videem nebyl zapsán." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Soubor s videem nebyl zapsán." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 #, fuzzy msgid "Write input files" msgstr "Vytvořit wrl soubory" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Nastavit" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Název" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Název souboru:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Procesory:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Výpočet" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teorie:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teorie:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Základ" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "Náboj" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "Multiplicita" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Žádný soubor molekul" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Zastavit &animaci" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Není vybrán žádný atom" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Vodík" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lithium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Uhlík" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Dusík" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Kyslík" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodík" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Hořčík" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Hliník" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Křemík" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Síra" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Chlor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Draslík" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Vápník" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titan" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanad" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Chrom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Hořčík" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Železo" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikl" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Měď" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinek" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arzén" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selen" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Stroncium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirkon" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niob" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybden" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technecium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruthenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Stříbro" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Cín" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellur" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jód" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cezium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lanthan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cer" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodymi" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodymi" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promethium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Wolfram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhenium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Zlato" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Rtuť" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Thallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Olovo" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Thorium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uran" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirkon" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovium" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorium" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Prohledávat..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Vybrat rozpouštědlo" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Smazat vybrané" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Všechny soubory" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "bez názvu" #: qtgui/multiviewwidget.cpp:199 #, fuzzy msgid "Create a new view" msgstr "Vytvořit wrl soubory" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodická tabulka" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Abinit se nepodařilo spustit." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinit spadl." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Chyba OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Neznámý" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Přidat atom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Odstranit atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Vymazat vše" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Upravit Vodíky" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Změnit prvek" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Změnit prvek" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formální náboj" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Přidat vazbu" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Odstranit atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Smazat vazbu" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Druh vazby" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Změnit druh vazby" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Zapadnout do vazeb" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Smazat vazbu" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Přidat &jednotkovou buňku" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Odstranit &jednotkovou buňku" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Vyplnit jednotkovou buňku" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Zabalit atomy do buňky" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Změnit velikost objemu jednotkové buňky" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Superbuňka" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Otočit do obvyklého natočení" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Zmenšit na základní buňku" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Učinit krystal souměrným" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Vyplnit jednotkovou buňku" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Redukovat na Asymetrickou jednotku" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Soubor" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Export" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Prahy" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Orca výstupní soubor" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Rozšíření" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Chyba" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Potíže při čtení ze souboru s drahami %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Chyba OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Potíže při čtení ze souboru s drahami %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Otevřít soubor WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Otevřít soubor WFN" #: qtplugins/apbs/apbsdialog.cpp:103 #, fuzzy msgid "PQR Files (*.pqr)" msgstr "VRML soubory (*wrl)" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Chyba" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Uložit vstupní balíček" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "Vstup LAMMPS" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Úspěch!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Komentáře v souboru vstupu" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Ukázat násobné vazby" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Vodíkové atomy" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Koule a tyče" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Vykresluje značky atomů a vazeb" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Úpravy zaměřené na vazbu" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Úpravy zaměřené na vazbu" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Koncový atom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Odstranit vodíkové atomy" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Sestavení" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Vazba" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Tolerance pro operace symetrie..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Název souboru:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Editor pro kartézské souřadnice" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Editor pro kartézské souřadnice" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Vrátit změny" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Neplatný název souboru" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Název prvku" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Symbol prvku" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Symbol prvku" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Neplatný název souboru" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atomové číslo" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Neplatný název souboru" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Souřadnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Souřadnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Souřadnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Kartézské souřadnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Kartézské souřadnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Souřadnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Nastavit kartézské souřadnice" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Vlastní" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Vaclav Rehak,Vojtěch Trefný, ,Launchpad " "Contributions:,Vaclav Rehak,Vojtěch Trefný,milboy, ,Launchpad Contributions:," "Avogadro Team,fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "Zbyněk Schwarz,fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison," "Pepa,Roman Horník,Zbyněk Schwarz,Zdeněk Chalupský,fri, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,Pepa,Roman Horník,Zbyněk " "Schwarz,Zdeněk Chalupský,fri, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Martin Slavík,Pepa,Roman Horník,Zbyněk Schwarz,Zdeněk Chalupský,fri" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ s čísly" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Kartézské souřadnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Kartézské souřadnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Informace GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Informace GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Vstup Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Kopírovat vše" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Vlastní" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Vymazat vše" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Nepodařilo se nastavit formát: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Nepodařilo se nastavit formát: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "Z&avést krystal ze schránky..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Vyplnit jednotkovou buňku" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Vyplnit jednotkovou buňku" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Zabalit atomy do buňky" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Otočit do obvyklého natočení" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Změnit velikost buňky k &objemu..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Superbuňka" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Zmenšit buňku (&titěrná)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Krystal..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Odstranit &jednotkovou buňku" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Přidat &jednotkovou buňku" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Tato jednotková buňka je již zmenšena na své obecně uznávané titěrné " "znázornění." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Krystal..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Vykresluje značky atomů a vazeb" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Text nelze zpracovat" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Vlastní osy" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Nakreslit" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Nakreslit Atom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Změnit druh vazby" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Odstranit atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Vzdálenost" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Vzdálenost (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Ostatní:" #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Auto optimalizace" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Jednoduchá" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dvojná" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Trojná" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Skripty" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Potíže při čtení ze souboru s drahami %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Tvůrce vstupu..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Vstup GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Energie jednoho bodu" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Uspořádání rovnováhy" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Stav přechodu" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Kmitočty" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Jaderný potenciál" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Plyn" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Voda" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Jednoelektronová vazebná energie (částice s nulovou vazebnou silou)" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Dvousložková spektrální čára" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dikationt" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Kationt (klaný iont)" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutrální částice" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Aniont (záporně nabitý iont)" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianiont" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Vstupní balíček GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Přerušit výpočet" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Upravit Vodíky" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Přidat vodíkové atomy" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Odstranit vodíkové atomy" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Odstranit vodíkové atomy" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Vodíkové atomy" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Vodíkové atomy" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Import" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Vykresluje značky atomů a vazeb" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Vložit" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Bez popisku" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Vytváří se..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Upravit" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Upravit atom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Měření" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Střechan:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Úhel:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Úhel:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Měření" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Vykresluje molekulové isopovrchové sítě" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Zobrazit" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Vlastnosti molekul" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Pohyb" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Pohyb" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Chemický název" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Chemická struktura ke stažení." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Stažení přes síť selhalo" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Vypršení času na síti nebo jiná chyba." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Zadanou molekulu nelze najít: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Stažení přes síť selhalo" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Vyladit uspořádání" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Optimalizace uspořádání" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Rozpoznat vazby?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Přidat vodíkové atomy" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Přidat vodíkové atomy pro pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Odstranit vodíkové atomy" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Čtení molekuly ze souboru '%1' selhalo." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Při zápisu souboru %1 se vyskytly potíže" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Vyladit uspořádání" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Vytváří se..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "Soubor s drahami %1 se rozchází v počtu atomů v nynější molekule." #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Vyladit uspořádání" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Přidat vodíkové atomy" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "Vytvořit Orca vstup..." #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Přidat vodíkové atomy pro pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Odstranit vodíkové atomy" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Zastavit" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parametry:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Dynamické vazby" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Odstranit..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Zastavit" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Export do vektorového formátu" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Nelze načíst soubor %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Toto je zpráva o chybě!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Chyba" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Uložit video soubor" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Vykreslit pomocí POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Vykresluje základní tvary za použití vlastností QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Molekulární graf..." #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Molekulární graf s osamělými páry..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Atomický náboj..." #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "Roz&šíření" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Otevřít soubor WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Soubory WFN (*.wfn);;Všechny soubory (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Rozšíření QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Vytvořit vstupní soubory pro balíčky kvantové chemie" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Počítá se elektronová hustotu" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Počítá se elektronová hustotu" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Spočítat a znázornit orbitaly molekul" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Obnovit" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Formát souboru:" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Smazat vše" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Výběr" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Obrátit výběr" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " valenční elektrony" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Vybrat" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Vybrat" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Výběr" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Výběr" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Vnímat prostorovou skupinu" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Redukovat na Asymetrickou jednotku" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Tolerance:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Prostorová &skupina" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Vnímání prostorové skupiny se nezdařilo:\n" "\n" "Chtěl byste to zkusit znovu s jinou povolenou odchylkou?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Vnímání prostorové skupiny se nezdařilo:\n" "\n" "Chtěl byste to zkusit znovu s jinou povolenou odchylkou?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Vnímání prostorové skupiny se nezdařilo:\n" "\n" "Chtěl byste to zkusit znovu s jinou povolenou odchylkou?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Vnímání prostorové skupiny se nezdařilo:\n" "\n" "Chtěl byste to zkusit znovu s jinou povolenou odchylkou?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Povolená odchylka SCF:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Mezinárodní" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Hall" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Vybrat prostorovou grupu" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Prostorová &skupina" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrace" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Zviditelnění spektra" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Zobrazit &zlomkové souřadnice" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Typ" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Prvek" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "Vlastnosti symetrie..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Souměrnost" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Vlastnosti symetrie" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Vykresluje dipólové momenty molekul" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "∞" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Vykreslit" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "VRML" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Vykreslit pomocí POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Drátěná kostra" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Vykresluje molekuly jako tyčky" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Dialog" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Formulář" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Nastavení výběru" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Přerušit výpočet" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Tónovací program:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Procesory:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Skrýt po dokončení" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Skrýt po dokončení" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Změnit prvek" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Vstupní soubor Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "Vytvořit Orca vstup..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Soubor s nominální hodnotou:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Silové pole:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Soubor s nominální hodnotou:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Vstupní soubor Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Uložit vstupní balíček" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Úspěch!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Nahrát soubor" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Nahrát soubor" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Nastavení měření" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Název souboru:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Pohyb" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Pohyb" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Pohyb" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Název souboru:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Files of type:" msgstr "Formát souboru:" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Zrušit" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Formát souřadnic:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Obnovit" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Vzdálenost" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formát:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Vrátit změny" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Použít" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Import krystalu" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parametry superbuněk" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Volby pro superbunky" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Opakování A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Opakování B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Opakování C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Nastavit barvu jednotkové buňky" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Buněčná matice" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Zlomková buněčná matice (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Přenést atomy" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Použít" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Skrýt" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Změnit velikost objemu jednotkové buňky" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Zadat nový objem:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Škálovací Faktor" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Textový popisek" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Prvek:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Druh vazby:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Vstup GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Základní nastavení" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "V:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Násobnost:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Šířka:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Název:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Náklad:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Vypočítat:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Název souboru:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Obnovit vše" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Výchozí" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Nahrát soubor..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "Název" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formát:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Bez popisku" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Váha molekuly (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "Seznam úkolů" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Chemický vzorec:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Počet atomů:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Počet vazeb:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Optimalizace uspořádání" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimalizační metoda" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Silové pole:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimalizační metoda" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Nejstrmější pokles" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Sdružovat přechody" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Automatické otáčení" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isopovrch = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Elektrostatický potenciál" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "Kroky" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Měřítka pro sbíhavost přechodů" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Sbíhavost" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Časový limit:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Jednotky" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Počet vazeb:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Vlnová délka (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Smazat vybrané" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Poloměr kritického bodu:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Poloměr vazební cesty:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Kovalentní" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Stálá velikost" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Průhlednost" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Povrchy" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Povrchy" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Střední" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Velmi nízká" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Nízká" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Vysoká" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Velmi vysoká" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "&Hodnota isopovrchu:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Rozlišení:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Povrchy" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Vypočítat" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrace" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Rozkmit:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Spustit &animaci" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Zastavit &animaci" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Souměrnost" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Volby" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Vlastnosti symetrie" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Prostorová &skupina" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "Tolerance:" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "Normální" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "Detekovat symetrii" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Vaclav Rehak,Vojtěch Trefný, ,Launchpad " "Contributions:,Vaclav Rehak,Vojtěch Trefný,milboy, ,Launchpad Contributions:," "Avogadro Team,fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Roman Horník," "Zbyněk Schwarz,fri, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison," "Pepa,Roman Horník,Zbyněk Schwarz,Zdeněk Chalupský,fri, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,Pepa,Roman Horník,Zbyněk " "Schwarz,Zdeněk Chalupský,fri, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Martin Slavík,Pepa,Roman Horník,Zbyněk Schwarz,Zdeněk Chalupský,fri" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,venca.rehak@seznam.cz,vojtech.trefny@gmail.com,,,venca.rehak@seznam.cz," "vojtech.trefny@gmail.com,,,,avogadro-devel@lists.sourceforge.net," "pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge.net,,pavelfric@seznam." "cz,,,avogadro-devel@lists.sourceforge.net,,roman.hornik@gmail.com," "pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge.net,,roman." "hornik@gmail.com,pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge." "net,,,pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge.net,,," "pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge.net,,," "pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge.net,,," "pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge.net,,," "pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge.net,,,," "pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge.net,,,,,," "pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge.net,,,,,," "pavelfric@seznam.cz,,,avogadro-devel@lists.sourceforge.net,,,,,,," "pavelfric@seznam.cz" #~ msgid "Color by Index" #~ msgstr "Barva podle seznamu" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Barva podle seznamu (červená, oranžová, žlutá, zelená, modrá, fialová)." #~ msgid "Color by Partial Charge" #~ msgstr "Barva podle parciálního náboje" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Barva podle parciálního atomového náboje (modrá = pozitivní, červená = " #~ "negativní)." #~ msgid "Custom Color:" #~ msgstr "Vlastní barva:" #~ msgid "Custom Color" #~ msgstr "Vlastní barva" #~ msgid "Set custom colors for objects" #~ msgstr "Nastavit vlastní barvy předmětů" #~ msgid "Color by Distance" #~ msgstr "Barva podle vzdálenosti" #~ msgid "Color by distance from the first atom." #~ msgstr "Barva podle vzdálenosti od prvního atomu." #~ msgid "Color by Element" #~ msgstr "Barvy podle prvku" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Barvy podle prvku (uhlík = šedá, kyslík = červená, ...)." #~ msgid "Color by Residue" #~ msgstr "Barva podle zbytku" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Barva podle zbytku (typ aminokyselin, hydrofobie, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "Vzor SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Barva zvýraznění:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Barva podle vzoru SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Zvýraznit zvláštní vlastnosti, které odpovídají vzoru SMARTS." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Stroje" #~ msgid "Axes" #~ msgstr "Osy" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Vykresluje osy x.y.z v počátku" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Vykresluje základní tvary za použití koulí (atomy) a tyčí (vazby)" #~ msgid "Cartoon" #~ msgstr "Předloha" #~ msgid "Renders protein secondary structure" #~ msgstr "Vykresluje druhotnou proteinovou strukturu" #~ msgid "Dipole" #~ msgstr "Dipól" #~ msgid "Force" #~ msgstr "Síla" #~ msgid "Renders force displacements on atoms" #~ msgstr "Vykresluje posunutí síly u atomů" #~ msgid "Hydrogen Bond" #~ msgstr "Vodíková vazba" #~ msgid "Renders hydrogen bonds" #~ msgstr "Vykresluje vodíkové vazby" #~ msgid "Select Atom Labels Color" #~ msgstr "Vybrat barvu pro značky atomů" #~ msgid "Select Bond Labels Color" #~ msgstr "Vybrat barvu pro značky vazeb" #~ msgid "Select Atom Labels Font" #~ msgstr "Vybrat písmo pro značky atomů" #~ msgid "Select Bond Labels Font" #~ msgstr "Vybrat písmo pro značky vazeb" #~ msgid "Label" #~ msgstr "Značka" #~ msgid "Polygon" #~ msgstr "Mnohoúhelník" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Vykresluje atomy jako čtyřstěnné, osmistěnné a jiné mnohoúhelníky" #~ msgid "Ribbon" #~ msgstr "Stuha" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Vykresluje hlavní řetězce proteinů jako stuhy" #~ msgid "Ring" #~ msgstr "Kruh" #~ msgid "Renders rings with colored planes" #~ msgstr "Vykresluje kruhy s barevnými rovinami" #~ msgid "Simple Wireframe" #~ msgstr "Jednoduchá drátěná kostra" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "Vykresluje vazby jako dráty (čáry), což je ideální pro rozsáhlé molekuly" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waalsovy sféry" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Vykresluje atomy jako Van der Waalsovy sféry" #~ msgid "Stick" #~ msgstr "Tyčka" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Elektronová hustota, isopovrch = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isoplocha = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Vykresluje vazby jako dráty (čáry), což je ideální pro velmi rozsáhlé " #~ "(bio)molekuly" #~ msgid "Trajectory files" #~ msgstr "Soubory s drahami" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Soubory DL-POLY HISTORY" #~ msgid "Open Trajectory File" #~ msgstr "Otevřít soubor s drahami" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "Video soubory (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Přidává se koncovka .avi" #~ msgid "Animation..." #~ msgstr "Animace..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Nelze rozpoznat typ souboru %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Načítání souboru s drahami %1 selhalo." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Musíte určit platný soubor .avi" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "GL prvek nebyl pro uložení videa správně spuštěn" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Neplatný název souboru s videem. Musíte uvést úplnou cestu k souboru" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Neplatný název videosouboru. Musíte určit úplnou cestu k souboru a název," #~ "včetně koncovky .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Z názvu souboru nelze určit formát: %1" #~ msgid "Animation" #~ msgstr "Animace" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animovat dráhy, reakce a vibrace." #~ msgid "Cartesian Editor" #~ msgstr "Kartézský editor" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Pro molekulu nebyla stanovena žádná jednotková buňka -- nelze použít " #~ "souřadnice vyjádřené zlomkem." #~ msgid "Cartesian Editor..." #~ msgstr "Karteziánský editor..." #~ msgid "Cartesian editor" #~ msgstr "Kartézský editor" #~ msgid "Number of atoms: %1" #~ msgstr "Počet atomů: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Počet otočných vazeb: %1" #~ msgid "Add constraint" #~ msgstr "Přidat omezení" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Vaše molekula musí obsahovat alespoň jeden atom, aby mohlo být přidáno " #~ "omezení" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Vaše molekula musí obsahovat alespoň dva atomy, aby mohlo být přidáno " #~ "vazební omezení" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Vaše molekula musí obsahovat alespoň tři atomy, aby mohlo být přidáno " #~ "úhlové omezení" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Vaše molekula musí obsahovat alespoň čtyři atomy, aby mohlo být přidáno " #~ "omezení zkroucení" #~ msgid "&Crystallography" #~ msgstr "&Krystalografie" #~ msgid "&Reduce" #~ msgstr "&Zmenšit" #~ msgid "&Settings" #~ msgstr "&Nastavení" #~ msgid "&Length Unit" #~ msgstr "&Délková jednotka" #~ msgid "&Angle Unit" #~ msgstr "Ú&hlová jednotka" #~ msgid "&Coordinate Display" #~ msgstr "Zobrazení &souřadnic" #~ msgid "Coordinate &Preservation" #~ msgstr "&Zachování souřadnic" #~ msgid "&Matrix Display" #~ msgstr "Zobrazení &mřížky" #~ msgid "Hide &Editors" #~ msgstr "Skrýt &editory" #~ msgid "Show &Editors" #~ msgstr "Ukázat &editory" #~ msgid "Hide &Property Display" #~ msgstr "Skrýt zobrazení &vlastnosti" #~ msgid "Show &Property Display" #~ msgstr "Ukázat zobrazení &vlastnosti" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Typ mřížky: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Prostorová skupina: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Objem jednotkové buňky: %L1%2" #~ msgid "Undefined" #~ msgstr "Nedefinováno" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Trojklonná" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Jednoklonná" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Kosočtverečná" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Čtverečná" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Klencová" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Šesterečná" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Krychlová" #~ msgid "Paste Crystal" #~ msgstr "Vložit krystal" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Redukce-Niggli (odkysličení) se nezdařilo. Mřížka vstupní struktury, " #~ "která mate algoritmus pro redukci-Niggli. Zkuste malou odchylku " #~ "(přibližně 2 řády velikosti menší než povolená odchylka) na vstupní " #~ "mřížky a zkuste to znovu." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Buňku se po 1000 opakováních zmenšovacího algoritmu nepodařilo zmenšit. " #~ "Zastavuje se." #~ msgid "&Translate Atoms..." #~ msgstr "&Přesunout atomy..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Otočit do obvyklého &natočení" #~ msgid "&Slab..." #~ msgstr "&Plátek..." #~ msgid "Perceive Space&group..." #~ msgstr "Vnímat prostorovou &skupinu..." #~ msgid "Set &Spacegroup..." #~ msgstr "Nastavit &prostorovou skupinu..." #~ msgid "&Fill Unit Cell" #~ msgstr "&Vyplnit jednotkovou buňku" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Vyplnit jednotkovou buňku pomocí současné prostorové skupiny." #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Redukovat na &Asymetrickou jednotku" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "" #~ "Odstranit atomy v ekvivalentní pozici (inverze Vyplnit jednotkovou " #~ "buňku)." #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Učinit krystal &souměrným" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Zmenšit buňku (&základní)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometr" #~ msgid "&Picometer" #~ msgstr "&Picometr" #~ msgid "&Degree" #~ msgstr "&Stupeň" #~ msgid "&Radian" #~ msgstr "&Radián" #~ msgid "Display &cartesian coordinates" #~ msgstr "Zobrazit &kartézské souřadnice" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Zachovat &kartézské souřadnice během změny buňky" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Zachovat &zlomkové souřadnice během změny buňky" #~ msgid "Display &cartesian matrix" #~ msgstr "Zobrazit &kartézskou mřížku" #~ msgid "Display &fractional matrix" #~ msgstr "Zobrazit &zlomkovou mřížku" #~ msgid "Display as &row vectors" #~ msgstr "Zobrazit jako vektory &řádku" #~ msgid "Display as &column vectors" #~ msgstr "Zobrazit jako vektory &sloupce" #~ msgid "&Crystal View Options..." #~ msgstr "Volby pro pohled na &krystal..." #~ msgid "Set Spacegroup" #~ msgstr "Nastavit prostorovou skupinu" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Pro tento dokument není nastavena prostorová skupina.\n" #~ "\n" #~ "Chcete prostorovou skupinu nastavit nyní?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Zjištěna prostorová skupina P1 - nelze učinit souměrným k této prostorové " #~ "skupině.\n" #~ "\n" #~ "Chcete to zkusit znovu s jinou povolenou odchylkou?" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Zabalit atomy do buňky" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Zmenšit na titěrnou buňku" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "Vybrat povolenou odchylku v nynějších kartézských jednotkách:" #~ msgid "Crystallography" #~ msgstr "Krystalografie" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Sestrojit a rozebrat pravidelné struktury." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "Vstup není formátován jako jeden\n" #~ "z následujících podporovaných formátů:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Formát VASP\n" #~ msgid "Bad Compostion" #~ msgstr "Špatné složení" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "Pole s totožnostmi musí obsahovat tentýž počet mezerou ohraničených " #~ "záznamů jako je to u POSCARu v řádku 6." #~ msgid "Cartesian Coordinates" #~ msgstr "Kartézské souřadnice" #~ msgid "Fractional Coordinates" #~ msgstr "Souřadnice vyjádřené zlomkem" #~ msgid "Set Fractional Coordinates" #~ msgstr "Nastavit zlomkové souřadnice" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Buněčná matice (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Nastavit mřížku jednotkové buňky" #~ msgid "Set Unit Cell Params" #~ msgstr "Nastavit parametry jednotkové buňky" #~ msgid "Working..." #~ msgstr "Pracuje se..." #~ msgid "Build" #~ msgstr "Sestavit" #~ msgid "Cut Slab From Crystal" #~ msgstr "Uříznout plátek z krystalu" #~ msgid "No GLWidget?" #~ msgstr "Žádný GLWidget?" #~ msgid "Please select one or more atoms." #~ msgstr "Vyberte, prosím, jeden nebo více atomů." #~ msgid "Trajectory..." #~ msgstr "Dráha..." #~ msgid "Open chemical file format" #~ msgstr "Otevřít chemický souborový formát" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Chemické soubory (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Otevřít soubor s parametry" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Chemické soubory (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importovat trajektorie" #~ msgid "Import trajectory files" #~ msgstr "Importovat soubory s trajektoriemi" #~ msgid "Setup Force Field..." #~ msgstr "Nastavit silové pole..." #~ msgid "Calculate Energy" #~ msgstr "Vypočítat energii" #~ msgid "Conformer Search..." #~ msgstr "Hledání konformačního izomeru..." #~ msgid "Constraints..." #~ msgstr "Omezení..." #~ msgid "Ignore Selection" #~ msgstr "Nevšímat si výběru" #~ msgid "Fix Selected Atoms" #~ msgstr "Upevnit vybrané atomy" #~ msgid "&Molecular Mechanics" #~ msgstr "&Molekulární mechanika" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Pro tuto molekulu nelze ustavit nyní vybrané silové pole. Přepíná se na " #~ "UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Energie = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Optimalizace uspořádání" #~ msgid "Forcefield Optimization" #~ msgstr "Optimalizace silového pole" #~ msgid "Systematic Rotor Search" #~ msgstr "Soustavné hledání bodu otáčení" #~ msgid "Random Rotor Search" #~ msgstr "Náhodné hledání bodu otáčení" #~ msgid "Weighted Rotor Search" #~ msgstr "Zatížené hledání bodu otáčení" #~ msgid "Genetic Algorithm Search" #~ msgstr "Hledání genetického algoritmu" #~ msgid "ForceField" #~ msgstr "Silové pole" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Vyladit molekuly a vytvořit konformační izomery (konformery) s pomocí " #~ "silových polí molekulární mechaniky" #~ msgid "&Vector Graphics..." #~ msgstr "Vektorová grafika..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Běžné formáty vektorového obrázku" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Export vektorové grafiky" #~ msgid "Change H to Methyl" #~ msgstr "Zaměnit H za Metyl" #~ msgid "H to Methyl" #~ msgstr "H za Methyl" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Proměnit vodíkové atomy na methylové skupiny" #~ msgid "Add or remove hydrogens" #~ msgstr "Přidat nebo odstranit vodíkové atomy" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "Vložit DNA" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Uracil" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Thymin" #~ msgid "Insert DNA/RNA" #~ msgstr "Vložit DNA/RNA" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Vložit DNA/RNA řetězce" #~ msgid "Cannot read molecular file %1." #~ msgstr "Nelze přečíst molekulární soubor %1." #~ msgid "Fragment..." #~ msgstr "Fragment..." #~ msgid "Insert SMILES" #~ msgstr "Vložit SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Vložit SMILES fragment:" #~ msgid "Insert Fragment" #~ msgstr "Vložit fragment" #~ msgid "Insert Crystal" #~ msgstr "Vložit krystal" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Vložit fragmenty molekul pro sestavení větších molekul" #~ msgid "Peptide..." #~ msgstr "Peptid..." #~ msgid "Insert Peptide" #~ msgstr "Vložit peptid" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Vložit oligopeptidovou posloupnost" #~ msgid "Invert Chirality" #~ msgstr "Obrátit chiralitu" #~ msgid "InvertChiral" #~ msgstr "Obrátit chiralitu" #~ msgid "Invert chiral centers" #~ msgstr "Obrátit chirální atomy" #~ msgid "Molecule Properties..." #~ msgstr "Vlastnosti molekul..." #~ msgid "&Properties" #~ msgstr "&Vlastnosti" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "neznámý" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Odhadovaný dipólový moment (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(čekající na vyřízení)" #~ msgid "Display standard molecular properties." #~ msgstr "Zobrazit obvyklé vlastnosti molekul." #~ msgid "Fetch from PDB..." #~ msgstr "Natáhnout z PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Natáhnout podle chemického názvu..." #~ msgid "Fetch from URL..." #~ msgstr "Natáhnout z internetové adresy (URL)..." #~ msgid "PDB Entry" #~ msgstr "Záznam PDB" #~ msgid "PDB entry to download." #~ msgstr "Záznam PDB ke stažení." #~ msgid "URL" #~ msgstr "Internetová adresa (URL)" #~ msgid "URL of molecule to download." #~ msgstr "Internetová adresa molekuly ke stažení." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Zadanou molekulu nelze nahrát: %1" #~ msgid "Network Fetch" #~ msgstr "Natáhnutí po síti" #~ msgid "Fetch molecule files over the network." #~ msgstr "Natáhnout soubory s molekulami přes síť." #~ msgid "OrcaExtension" #~ msgstr "OrcaRozšíření" #~ msgid " No vibration data found!" #~ msgstr " Nenalezena vibrační data!" #~ msgid "extended Geometry File" #~ msgstr "soubor s rozšířenou geometrií" #~ msgid "All Files" #~ msgstr "Všechny soubory" #~ msgid "Read Orca Outputfile" #~ msgstr "Načíst Orca výstupní soubor" #~ msgid "no file found" #~ msgstr "soubor nenalezen" #~ msgid "Somethings wrong in the file structure" #~ msgstr "Ve stavbě souboru je něco špatně" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "Chyba ve struktuře souboru - jednotkové buňky" #~ msgid "Something is wrong in the IR output! " #~ msgstr "Chyba ve výstupu infračervených spekter! " #~ msgid "Something is wrong in the raman output! " #~ msgstr "Chyba ve výstupu Ramanových spekter! " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "Chyba ve výstupu energií orbitalů! " #~ msgid "No geometry found in file!" #~ msgstr "Soubor neobsahuje geometrii!" #~ msgid "Could not read file!" #~ msgstr "Nemohu načíst soubor!" #~ msgid "Analyse Orca Output..." #~ msgstr "Analyzovat Orca výstup..." #~ msgid "&Orca" #~ msgstr "&Orca" #~ msgid "Orca Test Example" #~ msgstr "Orca testovací příklad" #~ msgid "Show Preview" #~ msgstr "Zobrazit náhled" #~ msgid "Hide Preview" #~ msgstr "Skrýt náhled" #~ msgid "Intensities" #~ msgstr "Intenzity" #~ msgid " OrcaSpectra::No vibration data found!" #~ msgstr " OrcaSpektra::Žádná vibrační data!" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Uložit jako obrázek nakreslený POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Obrázkové soubory (*.png, *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Nezadán žádný název souboru." #~ msgid "No valid filename was supplied." #~ msgstr "Nebyl zadán žádný název souboru." #~ msgid "Does not compute." #~ msgstr "Nebude se počítat." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Zvolil jste nepoužít přímé vykreslování pomocí POV-Ray a zrušení souboru " #~ "POV-Ray. To znamená, že nebude uložen žádný výstup. Jste si jist?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Nelze zapisovat do souboru %1. Máte oprávnění pro zápis do tohoto " #~ "umístění?" #~ msgid "POV-Ray failed to start." #~ msgstr "Spuštění POV-Ray selhalo." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "Spuštění POV-Ray selhalo. Cesta ke spouštěcímu souboru je nejspíš špatně " #~ "nastavena." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Vytvořit soubory POV-Ray a nakreslit je s pomocí programu příkazové řádky " #~ "POV-Ray." #~ msgid "Atom Properties..." #~ msgstr "Vlastnosti atomu..." #~ msgid "Bond Properties..." #~ msgstr "Vlastnosti vazby..." #~ msgid "Angle Properties..." #~ msgstr "Vlastnosti úhlu..." #~ msgid "Torsion Properties..." #~ msgstr "Vlastnosti zkroucení..." #~ msgid "Conformer Properties..." #~ msgstr "Vlastnosti konformačního izomeru..." #~ msgid "Atom Properties" #~ msgstr "Vlastnosti atomu" #~ msgid "Bond Properties" #~ msgstr "Vlastnosti vazby" #~ msgid "Angle Properties" #~ msgstr "Vlastnosti úhlu" #~ msgid "Torsion Properties" #~ msgstr "Vlastnosti zkroucení" #~ msgid "Conformer Properties" #~ msgstr "Vlastnosti konformačního izomeru" #~ msgid "Properties" #~ msgstr "Vlastnosti" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Okna pro zobrazení vlastností atomů, vazeb, úhlů a zkroucení. Také " #~ "zahrnuje kartézský souřadnicový editor." #~ msgid "Valence" #~ msgstr "Valence" #~ msgid "Partial Charge" #~ msgstr "Částečný náboj" #~ msgid "Atom" #~ msgstr "Atom" #~ msgid "Start Atom" #~ msgstr "Počáteční atom" #~ msgid "Rotatable" #~ msgstr "Otočná" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Délka %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Délka %1" #~ msgid "Vertex" #~ msgstr "Vrchol" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Úhel %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Úhel %1" #~ msgid "Angle" #~ msgstr "Úhel" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Kroucení %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Zkroucení %1" #~ msgid "Torsion" #~ msgstr "Zkroucení" #~ msgid "Energy (kJ/mol)" #~ msgstr "Energie (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Konformační izomer" #~ msgid "Yes" #~ msgstr "Ano" #~ msgid "No" #~ msgstr "Ne" #~ msgid "Python Terminal" #~ msgstr "Python - terminál" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Vzájemně působící pythonovský skriptovací terminál" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Varování generátoru zadávací vrstvy Abinit" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Chcete zaktualizovat text náhledu? Všechny změny provedené v náhledové " #~ "tabulce zadávací vrstvy Abinit budou ztraceny." #~ msgid "Abinit_Input_Deck" #~ msgstr "Zadávací_vrstva_Abinit" #~ msgid "Abinit Running." #~ msgstr "Abinit běží." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Abinit již běží. Počkejte, prosím, dokud nebude předchozí výpočet " #~ "dokončen." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit není nainstalován." #~ msgid "The abinit executable cannot be found." #~ msgstr "Spustitelný soubor pro Abinit nelze najít." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "Abinit se nespustil. Snad je to tím, že není nainstalován správně." #~ msgid "Running Abinit calculation..." #~ msgstr "Běží výpočet Abinit..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit neběžel správně. Snad je to tím, že není nainstalován správně." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Varování tvůrce vstupního souboru Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Chcete obnovit text náhledu, a ztratit všechny změny provedené v " #~ "náhledové tabulce vstupního souboru Dalton?" #~ msgid "QM Matches" #~ msgstr "QM shody" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP výběr..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM výběr..." #~ msgid "Delete" #~ msgstr "Smazat" #~ msgid "You must make a selection!" #~ msgstr "Musíte provést výběr!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES převod není dostupný" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES převod formátu není dostupný!" #~ msgid "Group Name" #~ msgstr "Název skupiny" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Vytvořit vstupní soubory pro GAMESS balíček pro kvantovou chemii" #~ msgid "Advanced Settings Changed" #~ msgstr "Změna pokročilých nastavení" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Pokročilá nastavení byla změněna.\n" #~ "Zahodit změny?" #~ msgid "Advanced Settings Reset" #~ msgstr "Smazání pokročilých nastavení" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Jste si jisti, že chcete smazat pokročilá nastavení?\n" #~ "Všechny změny budou ztraceny!" #~ msgid "Basic Settings Reset" #~ msgstr "Smazání základních nastavení" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Jste si jisti, že chcete smazat základní nastavení?\n" #~ "Všechny změny budou ztraceny!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Varování tvůrce vstupního balíčku GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Chcete obnovit text náhledu, a ztratit všechny změny provedené v " #~ "náhledové tabulce vstupního balíčku GAMESS-UK?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Vstupní balíček GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Varování tvůrce Gaussovského vstupního balíčku" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Chcete zaktualizovat text náhledu? Všechny změny provedené v náhledové " #~ "tabulce zadávací vrstvy Gaussian budou ztraceny." #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussovský vstupní balíček" #~ msgid "Gaussian Running." #~ msgstr "Gaussovský je spuštěn." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussovský je již spuštěn. Počkejte, dokud nebude předchozí výpočet " #~ "dokončen." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussovský není zaveden." #~ msgid "The G03 executable, cannot be found." #~ msgstr "G03 spustitelný soubor nelze najít." #~ msgid "G03 failed to start." #~ msgstr "Spuštění G03 selhalo." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 nebyl spuštěn. Snad není správně nainstalován." #~ msgid "Running Gaussian calculation..." #~ msgstr "Provádí se gaussovské výpočty..." #~ msgid "G03 Crashed." #~ msgstr "G03 havaroval." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Gaussovský neběžel správně. Snad není správně nainstalován." #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussův..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Input File Generators" #~ msgstr "Tvůrci vstupního souboru" #~ msgid "Lammps Input Deck Generator Warning" #~ msgstr "Upozornění nástrojem pro vytvoření vstupních souborů Lammps" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Chcete zaktualizovat text náhledu? Všechny změny provedené v náhledové " #~ "tabulce zadávací vrstvy Lammps budou ztraceny." #~ msgid "Lammps Input" #~ msgstr "Vstup Lammps" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Varování tvůrce vstupního balíčku Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Chcete obnovit text náhledu, a ztratit všechny změny provedené v " #~ "náhledové tabulce vstupního balíčku Molpro?" #~ msgid "Molpro Input Deck" #~ msgstr "Vstupní balíček Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC vstupní varování" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Chtěl byste obnovit text náhledu? Všechny změny provedené v náhledové " #~ "tabulce zadávací vrstvy MOPAC budou ztraceny." #~ msgid "MOPAC Input Deck" #~ msgstr "Vstupní balíček MOPAC" #~ msgid "MOPAC Running." #~ msgstr "MOPAC běží." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "MOPAC je již spuštěn. Počkejte, dokud nebude předchozí výpočet dokončen." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC není zaveden." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "MOPAC spustitelný soubor nelze najít." #~ msgid "MOPAC failed to start." #~ msgstr "Spuštění MOPAC selhalo." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC nebyl spuštěn. Snad není správně nainstalován." #~ msgid "Running MOPAC calculation..." #~ msgstr "Provádí se MOPAC výpočty..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC havaroval." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "MOPAC neběžel správně. Snad není správně nainstalován." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Varování tvůrce NWChem vstupního balíčku" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Chtěl byste obnovit text náhledu? Všechny změny provedené v náhledové " #~ "tabulce zadávací vrstvy NWChem budou ztraceny." #~ msgid "NWChem Input Deck" #~ msgstr "Vstupní balíček NWChem" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Upozornění nástrojem pro vytvoření vstupních souborů Psi4" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "Chtěl byste obnovit text náhledu? Všechny změny provedené v náhledové " #~ "tabulce zadávací vrstvy Psi4 budou ztraceny." #~ msgid "Psi4 Input Deck" #~ msgstr "Nastavit vstup Psi4" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Varování tvůrce Q-Chem vstupního balíčku" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Chtěl byste obnovit text náhledu? Všechny změny provedené v náhledové " #~ "tabulce zadávací vrstvy Q-Chem budou ztraceny." #~ msgid "QChem Input Deck" #~ msgstr "Vstupní balíček QChem" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "Varování generátoru zadávací vrstvy TeraChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Chtěl byste obnovit text náhledu? Všechny změny provedené v náhledové " #~ "tabulce zadávací vrstvy TeraChem budou ztraceny." #~ msgid "TeraChem Input Deck" #~ msgstr "Zadávací vrstva TeraChem" #~ msgid "Select SMARTS..." #~ msgstr "Vybrat SMARTS..." #~ msgid "Select by Element..." #~ msgstr "Výběr podle prvku" #~ msgid "Select by Residue..." #~ msgstr "Výběr podle zbytku..." #~ msgid "Add Named Selection..." #~ msgstr "Přidat pojmenovaný výběr..." #~ msgid "SMARTS Selection" #~ msgstr "Výběr SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Vybrat vzor SMARTS" #~ msgid "Select by residue" #~ msgstr "Výběr podle zbytku" #~ msgid "Residue name" #~ msgstr "Název zbytku" #~ msgid "There is no current selection." #~ msgstr "Nebylo nic vybráno." #~ msgid "Add Named Selection" #~ msgstr "Přidat pojmenovaný výběr" #~ msgid "Name cannot be empty." #~ msgstr "Název nesmí být prázdný" #~ msgid "There is already a selection with this name." #~ msgstr "Již existuje výběr s tímto názvem." #~ msgid "Selections" #~ msgstr "Výběry" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Vybrat atomy, vazby, zbytky..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL tónovače..." #~ msgid "Open a vertex shader source file" #~ msgstr "Otevřít zdrojový soubor tónovače vrcholů" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Soubory tónovače vrcholů (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Otevřít zdrojový soubor tónovače fragmentů" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Soubory tónovače fragmentů (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Otevřít soubor s parametry tónovače" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Soubory s parametry tónovače (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL tónovače" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Nahrát a použít OpenGL 2.0 GLSL tónovače" #~ msgid "Intensity (arb. units)" #~ msgstr "Intenzita (arb. jednotky)" #~ msgid "Energy (eV)" #~ msgstr "Energie (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Hustota stavů (stavy/buňka)" #~ msgid "Density of States (states/atom)" #~ msgstr "Hustota stavů (stavy/atom)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Hustota stavů (stavy/valenční elektron)" #~ msgid "Transmittance (%)" #~ msgstr "Propustnost (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbance, schopnost vrstvy pohlcovat záření (%)" #~ msgid "No intensities" #~ msgstr "Žádná síla" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Údaje o vibracích v molekule, které jste nahrál, nemají jakýkoli údaj o " #~ "síle. Síly byly nastaveny kvůli zviditelnění na nahodilou hodnotu." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Vlnové číslo (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Posun (ppm)" #~ msgid "Activity" #~ msgstr "Činnost" #~ msgid "Intensity" #~ msgstr "Intenzita" #~ msgid "X Axis" #~ msgstr "Osa X" #~ msgid "Y Axis" #~ msgstr "Osa Y" #~ msgid "&Appearance" #~ msgstr "&Vzhled" #~ msgid "E&xport Image" #~ msgstr "Vy&vést obrázek do souboru" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infračervené" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Na&stavení infračerveného spektra" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "Na&stavení NMR spektra" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "&Nastavení hustoty stavů" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "&Nastavení UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "&Nastavení CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "&Nastavení Ramana" #~ msgid "No data" #~ msgstr "Žádné údaje" #~ msgid "Dark" #~ msgstr "Tma" #~ msgid "Light" #~ msgstr "Světlo" #~ msgid "Publication" #~ msgstr "Zveřejnění" #~ msgid "Handdrawn" #~ msgstr "Vlastnoruční" #~ msgid "New Scheme" #~ msgstr "Nový nákres" #~ msgid "Confirm Scheme Removal" #~ msgstr "Potvrdit odstranění nákresu" #~ msgid "Really remove current scheme?" #~ msgstr "Skutečně odstranit nynější nákres?" #~ msgid "Change Scheme Name" #~ msgstr "Změnit název nákresu" #~ msgid "Enter new name for current scheme:" #~ msgstr "Zadat nový název pro nynější nákres:" #~ msgid "Select Background Color" #~ msgstr "Vybrat barvu pozadí" #~ msgid "Select Foreground Color" #~ msgstr "Vybrat barvu popředí" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Vybrat barvu vypočteného spektra" #~ msgid "Select Imported Spectra Color" #~ msgstr "Vyberte si barvu importovaného spektra" #~ msgid "Export Calculated Spectrum" #~ msgstr "Exportovat vypočítané spektrum" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Taby oddělené hodnoty (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Taby oddělené hodnoty" #~ msgid "Comma Separated Values" #~ msgstr "Čárkou oddělené hodnoty" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Import spektra" #~ msgid "Spectra Import" #~ msgstr "Importování spektra" #~ msgid "Unknown extension: %1" #~ msgstr "Neznámá přípona: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR data (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole IR data (řízení)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Turbomole UV data (spektrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Turbomole CD data (cdspektrum)" #~ msgid "Data Format" #~ msgstr "Formát dat" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Formát:" #~ msgid "Load Spectral Data" #~ msgstr "Nahrát spektrální data" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Soubor CD Turbomole je naformátován nesprávně: %1" #~ msgid "Portable Network Graphics" #~ msgstr "PNG (Portable Network Graphics)" #~ msgid "jpeg" #~ msgstr "Jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "TIFF (Tagged Image File Format)" #~ msgid "Windows Bitmap" #~ msgstr "BMP (Windows Bitmap)" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmapa" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmapa" #~ msgid "Save Spectra Image" #~ msgstr "Uložit obraz spektra" #~ msgid "Image successfully written to %1" #~ msgstr "Obrázek byl úspěšně zapsán do %1" #~ msgid "&Advanced <<" #~ msgstr "&Pokročilé <<" #~ msgid "&Advanced >>" #~ msgstr "&Pokročilé >>" #~ msgid "&Spectra..." #~ msgstr "&Spektra..." #~ msgid "Spectra" #~ msgstr "Spektra" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Zviditelnit údaje o spektru z výpočtů kvantové chemie" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Rozbor vibrací" #~ msgid "No vibrational displacements exist." #~ msgstr "Neexistují žádné vibrační posuny." #~ msgid "Vibration" #~ msgstr "Vibrace" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Zviditelnit vibrační režimy z výpočtů kvantové chemie" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Třídí se %1 vibrace podle kmitočtu..." #~ msgid "Pause" #~ msgstr "Pozastavit" #~ msgid "Super Cell Builder..." #~ msgstr "Stavitel superbuněk..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Tento dokument je nyní osamělou molekulou. Potřebujete vytvořit " #~ "jednotkovou buňku." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Sestavit a zobrazit krystalografické superbuňky" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbitaly molekul..." #~ msgid "Orbitals" #~ msgstr "Orbitaly" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Orbital" #~ msgid "Status" #~ msgstr "Stav" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Nic" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Elektrostatický potenciál" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Elektronová hustota" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Molekulový orbital" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Chyba- nedefinovaný typ" #~ msgid "Create Surfaces..." #~ msgstr "Vytvořit povrchy..." #~ msgid "Calculating VdW Cube" #~ msgstr "Počítá se krychle VdW" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Počítá se MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Elektronová hustota" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "Povrchy s elektrostatickým potenciálem ještě nejsou podporovány" #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Počítají se orbitaly molekul a jiné povrchy" #~ msgid "&Nanotube Builder..." #~ msgstr "&Stavitel nanotrubic..." #~ msgid "Nanotube Builder" #~ msgstr "Stavitel nanotrubic" #~ msgid "Invalid Nanotube Specification" #~ msgstr "Neplatné vymezení nanotrubice" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "Požadovanou nanotrubici nelze postavit z následujícího důvodu:\n" #~ "\n" #~ "Buď n nebom musí být větší než 1." #~ msgid "Insert Nanotube" #~ msgstr "Vložit nanotrubici" #~ msgid "SWCNT Builder" #~ msgstr "Stavitel SWCNT" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Postavit zeď z uhlíkových nanotrubic." #~ msgid "Building..." #~ msgstr "Staví se..." #~ msgid "Display point group symmetry." #~ msgstr "Zobrazit bodovou grupu symetrie" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL prvek nebyl pro vytvoření videa správně spuštěn" #~ msgid "GL widget has no molecule" #~ msgstr "GL prvek nemá molekulu" #~ msgid "Building video " #~ msgstr "Sestavuje se video " #~ msgid "Could not run povray." #~ msgstr "Nelze spustit povray." #~ msgid "Could not run mencoder." #~ msgstr "Nelze spustit mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Nastavit poměr stran" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Nynější scéna Avogadra je %1x%2 pixelů velké a má tak poměr stran %3.\n" #~ "Můžete tuto hodnotu zachovat, například, jestliže je vaším záměrem použít " #~ "POV-Ray\n" #~ "pro vytvoření obrázku o velikosti %4x1000 pixelů, nebo můžete zadat " #~ "jakoukoli jinou kladnou hodnotu,\n" #~ "například 1, jestliže je vaším záměrem použít POV-Ray pro vytvoření " #~ "čtvercového obrázku, jako je 1000x1000 pixelů." #~ msgid "Save VRML rendered files" #~ msgstr "Uložit renderované VRML soubory" #~ msgid "VRML..." #~ msgstr "VRML..." #~ msgid "Connect" #~ msgstr "Připojit" #~ msgid "Disconnect" #~ msgstr "Odpojit" #~ msgid "&WiiTrack" #~ msgstr "&WiiStopa" #~ msgid "Wii Tracking" #~ msgstr "Wii sledování" #~ msgid "Track motion using Wii remotes" #~ msgstr "Sledovat pohyb s pomocí Wii dálkového ovládání" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Neplatná souvislost OpenGL.\n" #~ "Buď je něco úplně v nepořádku v nastavení OpenGL (můžete spustit nějakou " #~ "OpenGL aplikaci?), nebo jste našel chybu v programu." #~ msgid "Debug Information" #~ msgstr "Informace o vyhledávání a odstraňování chyb" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Velikost zobrazení: %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "Řádek zobrazení modelu 1: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "Řádek zobrazení modelu 2: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "Řádek zobrazení modelu 3: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "Řádek zobrazení modelu 4: %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Atomy: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Vazby: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: index %1 mimo dosah." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Souborový typ '%1' není podporován pro čtení." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Souborový typ pro soubor '%1' není podporován pro čtení." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Čtení molekuly s indexem %1 ze souboru '%2' selhalo." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "nahraditMolekulu: index %1 mimo dosah." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Souborový typ '%1' není podporován pro zápis." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Souborový typ pro soubor '%1' není podporován pro zápisí." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Nepodařilo se otevřít soubor '%1' pro zápis." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Nepodařilo se otevřít soubor '%1' pro čtení." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Nahrazení molekuly s indexem %1 ze souboru '%2' selhalo." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Soubor %1 nelze otevřít pro čtení." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Soubor %1 nelze otevřít pro zápis." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Uložení molekulového souboru selhalo - původní soubor nelze přejmenovat." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Uložení molekulového souboru selhalo - novýí soubor nelze přejmenovat." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Uložení molekulového souboru selhalo - starý soubor nelze odstranit." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "Zápis molekuly do souboru '%1' selhal. Selhala funkce OpenBabel." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Soubor %1 nelze otevřít pro zápis." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Zápis konformačních izomerů do souboru %1 se nezdařil." #~ msgid "Molecule %1" #~ msgstr "Molekula %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Neznámý pythonovský stroj" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: Zkouška " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - Skript nemá stanovenu žádnou třídu \"Stroj\"" #~ msgid " - no module" #~ msgstr " - žádný modul" #~ msgid "Unknown Python Extension" #~ msgstr "Neznámé pythonovské rozšíření" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: Zkouška " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - Skript nemá stanovenu žádnou třídu \"Rozšíření\"" #~ msgid "Unknown Python Tool" #~ msgstr "Neznámý pythonovský nástroj" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: Zkouška " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - Skript nemá stanovenu žádnou třídu \"Nástroj\"" #~ msgid "Conformer %1" #~ msgstr "Konformační izomer %1" #~ msgid "Tools" #~ msgstr "Nástroje" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "Zarovnat molekuly\n" #~ "\n" #~ "Levé tlačítko myši: \tVybrat až dva atomy.\n" #~ "\tPrvní atom je vystředěn při původním.\n" #~ "\tDruhý atom je zarovnán vůči vybrané ose.\n" #~ "Pravé tlačítko myši: \tNastavit zarovnání znovu.\n" #~ "Dvojité klepnutí: \tVystředit atom při původním." #~ msgid "Axis:" #~ msgstr "Osa:" #~ msgid "Align:" #~ msgstr "Zarovnání:" #~ msgid "Everything" #~ msgstr "Vše" #~ msgid "Align" #~ msgstr "Zarovnání" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Zarovnat molekuly ke kartézským osám" #~ msgid "Align Settings" #~ msgstr "Nastavení zarovnání" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "Nástroj pro automatickou optimalizaci\n" #~ "\n" #~ "Funkce pro pohyb při klepnutí do prázdného prostoru.\n" #~ "Levé tlačítko myši: \tOtočit prostor\n" #~ "Prostřední tlačítko myši: Zvětšit prostor\n" #~ "Pravé tlačítko myši: \tPosunout prostor\n" #~ "Dvojité klepnutí: \t Nastavit pohled znovu\n" #~ "\n" #~ "Při běhu:\n" #~ "Levé tlačítko myši: \tKlepněte a táhněte atomy pro jejich přesun." #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "Automatické vyladění: Nelze nastavit silové pole..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "Automatické vyladění: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Omezení: %1" #~ msgid "Steps per Update:" #~ msgstr "Kroky při obnovení:" #~ msgid "Algorithm:" #~ msgstr "Algoritmus:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Molekulární dynamika (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Molekulární dynamika (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Molekulární dynamika (900K)" #~ msgid "Start" #~ msgstr "Spustit" #~ msgid "Fixed atoms are movable" #~ msgstr "Pevné atomy jsou pohyblivé" #~ msgid "Ignored atoms are movable" #~ msgstr "Neuvažované atomy jsou pohyblivé" #~ msgid "AutoOpt Molecule" #~ msgstr "Automatické vyladění molekuly" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Automatická optimalizace uspořádání molekul" #~ msgid "AutoOptimization Settings" #~ msgstr "Nastavení automatické optimalizace" #~ msgid "Auto Rotation Tool" #~ msgstr "Nástroj pro automatické otáčení" #~ msgid "x rotation:" #~ msgstr "Otáčení kolem osy x:" #~ msgid "x rotation" #~ msgstr "Otáčení kolem osy x" #~ msgid "y rotation:" #~ msgstr "Otáčení kolem osy y:" #~ msgid "y rotation" #~ msgstr "Otáčení kolem osy y" #~ msgid "z rotation:" #~ msgstr "Otáčení kolem osy z:" #~ msgid "z rotation" #~ msgstr "Otáčení kolem osy z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Automatické otáčení molekul" #~ msgid "AutoRotate Settings" #~ msgstr "Nastavení automatického otáčení" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "Nástroj pro zacházení s vazbami\n" #~ "\n" #~ "Levé tlačítko myši: \tKlepněte a táhněte pro otočení pohledu\n" #~ "Prostřední tlačítko myši: Klepněte a táhněte pro přiblížení nebo " #~ "oddálení\n" #~ "Pravé tlačítko myši: \tKlepněte a táhněte pro posunutí pohledu\n" #~ "Dvojité klepnutí: \t Nastavit pohled znovu\n" #~ "\n" #~ "Klepnutí levým tlačítkem myši & tažení vazby pro nastavení roviny pro " #~ "zacházení:\n" #~ "Klepnutí levým tlačítkem myši & tažení jedním atomem ve vazbě pro změnu " #~ "úhlu\n" #~ "Klepnutí levým tlačítkem myši & tažení jedním atomem ve vazbě pro změnu " #~ "délky" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Délka vazby: %L1" #~ msgid " Show Angles" #~ msgstr " Ukázat úhly" #~ msgid "Snap-to Threshold: " #~ msgstr "Zapadnout do prahu " #~ msgid "Bond Centric Manipulate" #~ msgstr "Úpravy zaměřené na vazbu" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Úprava délek vazby, úhlů a zkroucení" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Nastavení úprav zaměřených na vazbu" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Klepněte pro změření (F 12)\n" #~ "\n" #~ "Levé tlačítko myši: \tVyberte až tři atomy\n" #~ "\tVzdálenosti jsou měřeny mezi 1-2 a 2-3\n" #~ "\tÚhel je měřen mezi 1-3 za použití 2 jako společného bodu\n" #~ "Pravé tlačítko myši: \tNastavte měření znovu. Dvojité klepnutí: " #~ "\tNastavte pohled znovu." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Vzdálenost (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Úhel: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Vzdálenost (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Dvoustěnný úhel: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Vzdálenost(i):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Změřit délky vazeb, úhly a dvoustěnné úhly" #~ msgid "Delete Atom" #~ msgstr "Smazat atom" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Nástroj na kreslení (F8)\n" #~ "Levé tlačítko myši: \tKlepnout a táhnout pro vytvoření atomů a vazeb\n" #~ "Pravé tlačítko myši: \tSmazat atom" #~ msgid "Draw Bond" #~ msgstr "Nakreslit vazbu" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Nakreslit a upravit atomy a vazby" #~ msgid "Draw Settings" #~ msgstr "Nastavení kreslení" #~ msgid "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Nástroj pro úpravy (F 10)\n" #~ "\n" #~ "Levé tlačítko myši: \tKlepněte a táhněte pro přesunutí atomů\n" #~ "Prostřední tlačítko myši: Klepněte a táhněte pro přesunutí atomů dál pryč " #~ "nebo blíž\n" #~ "Pravé tlačítko myši: \tKlepněte a táhněte pro otočení vybraných atomů\n" #~ "Dvojité klepnutí: \t Nastavit pohled znovu" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Přesunout, otočit a srovnat atomy a fragmenty" #~ msgid "Manipulate Settings" #~ msgstr "Nastavení úprav" #~ msgid "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Nástroj pro pohyb (F 9)\n" #~ "\n" #~ "Levé tlačítko myši: \tKlepněte a táhněte pro otočení pohledu\n" #~ "Prostřední tlačítko myši: Klepněte a táhněte pro přiblížení nebo " #~ "oddálení\n" #~ "Pravé tlačítko myši: \tKlepněte a táhněte pro posunutí pohledu\n" #~ "Dvojité klepnutí: \t Nastavit pohled znovu" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Přesunout, otočit a přibližovat a oddalovat současný pohled" #~ msgid "Navigate Settings" #~ msgstr "Nastavení pohybu" #~ msgid "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgstr "" #~ "Nástroj pro výběr (F 11)\n" #~ "\n" #~ "Levé tlačítko myši: \tKlepněte pro výběr jednotlivých atomů, zbytků nebo " #~ "fragmentů\n" #~ "\tTáhněte pro výběr rozsahu atomů\n" #~ "Pravé tlačítko myši: \tKlepněte vně molekuly pro zbavení se výběru\n" #~ "Dvojité klepnutí: \t Vyberte celý fragment." #~ msgid "Selection Mode:" #~ msgstr "Režim výběru:" #~ msgid "Atom/Bond" #~ msgstr "Atom/Vazba" #~ msgid "Residue" #~ msgstr "Zbytek" #~ msgid "Add Center of Atoms" #~ msgstr "Přidat střed atomů" #~ msgid "Add Center of Mass" #~ msgstr "Přidat střed hmoty" #~ msgid "Change color of the atom" #~ msgstr "Změnit barvu atomu" #~ msgid "Change label of the atom" #~ msgstr "Změnit štítek u atomu" #~ msgid "New Label:" #~ msgstr "Nový štítek:" #~ msgid "Change label of the bond" #~ msgstr "Změnit štítek u vazby" #~ msgid "Change radius of the atom" #~ msgstr "Změnit poloměr atomu" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Nový poloměr, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Vybrat atomy, zbytky a molekuly" #~ msgid "Symbol" #~ msgstr "Symbol" #~ msgid "Bond Length" #~ msgstr "Délka vazby" #~ msgid "Bond Angle" #~ msgstr "Úhel vazby" #~ msgid "Dihedral Angle" #~ msgstr "Dvoustěnný úhel" #~ msgid "Z Matrix Editor..." #~ msgstr "Editor matice Z..." #~ msgid "Z-Matrix" #~ msgstr "Matice Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Vytvořit/upravit matici Z" #~ msgid "Z-Matrix Settings" #~ msgstr "Nastavení matice Z" #~ msgid "Residue Color Settings" #~ msgstr "Nastavení barev zbytků" #~ msgid "Color residues by:" #~ msgstr "Barva zbytků podle:" #~ msgid "Amino Colors" #~ msgstr "Barvy amino-" #~ msgid "Shapely Colors" #~ msgstr "Barvy mající hezký tvar" #~ msgid "Hydrophobicity" #~ msgstr "Hydrofobie" #~ msgid "Axes:" #~ msgstr "Osy:" #~ msgid "Cartesian Axes" #~ msgstr "Kartézsk osy" #~ msgid "Orthogonal Axes" #~ msgstr "Pravoúhlé osy" #~ msgid "Axis 1:" #~ msgstr "Osa 1:" #~ msgid "Axis 2:" #~ msgstr "Osa 2:" #~ msgid "Axis 3:" #~ msgstr "Osa 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Počátek:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norma" #~ msgid "Preserve vector norms" #~ msgstr "Zachovat vektorové normy" #~ msgid "Atom Radius:" #~ msgstr "Poloměr atomu:" #~ msgid "Bond Radius:" #~ msgstr "Poloměr vazby" #~ msgid "Shape" #~ msgstr "Předmět" #~ msgid "Helix" #~ msgstr "Šroubovice" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "List" #~ msgid "Loop" #~ msgstr "Smyčka" #~ msgid "Colors" #~ msgstr "Barvy" #~ msgid "Dipole:" #~ msgstr "Dipól:" #~ msgid "Dipole Moment" #~ msgstr "Dipólový moment:" #~ msgid "Custom Vector" #~ msgstr "Vlastní vektor" #~ msgid "Custom:" #~ msgstr "Vlastní:" #~ msgid "Width:" #~ msgstr "Šířka:" #~ msgid "Cut-off radius:" #~ msgstr "Nejzazší poloměr:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Nejzazší úhel" #~ msgid "Rendering Engine:" #~ msgstr "Vykreslovací stroj:" #~ msgid "TextRenderer" #~ msgstr "Kreslič textu" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Značky atomů" #~ msgid "Text:" #~ msgstr "Text:" #~ msgid "Color:" #~ msgstr "Barva:" #~ msgid "None" #~ msgstr "Není" #~ msgid "Symbol & Number in Group" #~ msgstr "Symbol & číslo ve skupině" #~ msgid "Symbol & Atom number" #~ msgstr "Symbol & číslo atomu" #~ msgid "Formal charge" #~ msgstr "Formální náboj" #~ msgid "Partial charge" #~ msgstr "Částečný náboj" #~ msgid "Residue number" #~ msgstr "Číslo zbytku" #~ msgid "Unique ID" #~ msgstr "Jedinečné ID" #~ msgid "Custom data" #~ msgstr "Vlastní data" #~ msgid "Change Font" #~ msgstr "Změnit písmo" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Posun štítku:" #~ msgid "Bond Labels" #~ msgstr "Vazební štítky" #~ msgid "Bond length" #~ msgstr "Délka vazby" #~ msgid "Bond number" #~ msgstr "Číslo vazby" #~ msgid "Bond order" #~ msgstr "Pořadí vazeb" #~ msgid "Rendering:" #~ msgstr "Vykreslení:" #~ msgid "Backbone" #~ msgstr "Páteř" #~ msgid "Lines" #~ msgstr "Čáry" #~ msgid "Radius:" #~ msgstr "Poloměr:" #~ msgid "Include Nitrogens" #~ msgstr "Zahrnout dusíkové atomy" #~ msgid "VdW Opacity:" #~ msgstr "Neprůhlednost VdW:" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Vykreslit:" #~ msgid "Fill" #~ msgstr "Výplň" #~ msgid "Points" #~ msgstr "Body" #~ msgid "Draw Box:" #~ msgstr "Rámeček:" #~ msgid "Style:" #~ msgstr "Styl:" #~ msgid "Selected Colors" #~ msgstr "Vybrané barvy" #~ msgid "Mapped Colors" #~ msgstr "Zobrazené barvy" #~ msgid "Colors:" #~ msgstr "Barvy:" #~ msgid "Positive" #~ msgstr "Positivní" #~ msgid "Negative" #~ msgstr "Negativní" #~ msgid "Show Atoms" #~ msgstr "Ukázat atomy" #~ msgid "Animate Trajectory" #~ msgstr "Animovat dráhu" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Smyčka" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Uložit jako .avi..." #~ msgid "Angstroms" #~ msgstr "Angströmův" #~ msgid "Bohrs" #~ msgstr "Bohrův" #~ msgid "Fractional" #~ msgstr "Zlomkový" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, pouze souřadnice" #~ msgid "GAMESS Input #2" #~ msgstr "Vstup GAMESS #2" #~ msgid "Priroda Input" #~ msgstr "Vstup Priroda" #~ msgid "Apply Changes" #~ msgstr "Použít změny" #~ msgid "Cut All" #~ msgstr "Vyjmout vše" #~ msgid "Paste to the End" #~ msgstr "Vložit na konec" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Zde vložte nebo upravte " #~ "atomické souřadnice. Můžete vložit téměř jakoukoli část textu, která " #~ "obsahuje souřadnice

" #~ msgid "(None)" #~ msgstr "(Žádný)" #~ msgid "Sort by " #~ msgstr "Třídit podle " #~ msgid "Conformer Search" #~ msgstr "Hledání konformačního izomeru" #~ msgid "Method" #~ msgstr "Metoda" #~ msgid "Number of atoms:" #~ msgstr "Počet atomů" #~ msgid "Number of rotatable bonds:" #~ msgstr "Počet otočitelných vazeb" #~ msgid "Number of conformers" #~ msgstr "Počet konformačních izomerů" #~ msgid "Systematic rotor search" #~ msgstr "Soustavné hledání bodu otáčení" #~ msgid "Random rotor search" #~ msgstr "Náhodné hledání bodu otáčení" #~ msgid "Weighted rotor search" #~ msgstr "Zatížené hledání bodu otáčení" #~ msgid "Genetic algorithm search" #~ msgstr "Hledání genetického algoritmu" #~ msgid "Genetic Algorithm Options" #~ msgstr "Volby pro genetický algoritm" #~ msgid "Children" #~ msgstr "Potomci" #~ msgid "Mutability" #~ msgstr "Proměnitelnost" #~ msgid "Scoring method" #~ msgstr "Způsob bodování" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "Energie" #~ msgid "Constraints" #~ msgstr "Omezení" #~ msgid "Add Constraints" #~ msgstr "Přidat omezení" #~ msgid "Ignore Atom" #~ msgstr "Nevšímat si atomu" #~ msgid "Fix Atom" #~ msgstr "Upevnit atom" #~ msgid "Fix Atom X" #~ msgstr "Upevnit atom X" #~ msgid "Fix Atom Y" #~ msgstr "Upevnit atom Y" #~ msgid "Fix Atom Z" #~ msgstr "Upevnit atom Z" #~ msgid "Torsion angle" #~ msgstr "Úhel zkroucení" #~ msgid "Constraint Value" #~ msgstr "Hodnota omezení" #~ msgid "Atom Indices" #~ msgstr "Atomové indexy" #~ msgid "Add" #~ msgstr "Přidat" #~ msgid "Save" #~ msgstr "Uložit" #~ msgid "Load" #~ msgstr "Nahrát" #~ msgid "Atomic &identites:" #~ msgstr "Atomické &totožnosti:" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgid "&Reset" #~ msgstr "Nastavit &znovu" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgid "Cell Parameters" #~ msgstr "Parametry buňky" #~ msgid " °" #~ msgstr " °" #~ msgid "Surface Slab Builder" #~ msgstr "Stavitel plátku povrchu" #~ msgid "Plane:" #~ msgstr "Rovina:" #~ msgid "&Miller Indices:" #~ msgstr "&Millerovy indexy:" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Varování: Použijte ne-nulové Millerovy indexy" #~ msgid "Dimensions:" #~ msgstr "Rozměry:" #~ msgid "Width (x)" #~ msgstr "Šířka (x)" #~ msgid "Width (y)" #~ msgstr "Šířka (y)" #~ msgid "Height (z)" #~ msgstr "Výška (z)" #~ msgid "length" #~ msgstr "Délka" #~ msgid "cell repeats" #~ msgstr "Opakování buněk" #~ msgid "&Translate " #~ msgstr "&Přenést " #~ msgid "by arbitrary vector" #~ msgstr "podle libovolného vektoru" #~ msgid "selected atom to origin" #~ msgstr "vybraný atom k počátku" #~ msgid "selected atom to unit cell center" #~ msgstr "vybraný atom do středu jednotkové buňky" #~ msgid "Translation vector:" #~ msgstr "Vektor posunu souřadnic:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "&Vektorové jednotky:" #~ msgid "Cartesian" #~ msgstr "Kartézský" #~ msgid "&Translate" #~ msgstr "&Posunout souřadnice" #~ msgid "&Keep atoms in unit cell" #~ msgstr "&Zachovat atomy v jednotkové buňce" #~ msgid "Crystal View Options" #~ msgstr "Volby pro pohled na krystal" #~ msgid "Unit Cell Repeats:" #~ msgstr "Opakování jednotkové buňky:" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "Kreslit jednotkové buňky?" #~ msgid "One" #~ msgstr "Jeden" #~ msgid "All" #~ msgstr "Všechno" #~ msgid "Color..." #~ msgstr "Barva..." #~ msgid "View Along:" #~ msgstr "Pohled podél:" #~ msgid "Default View" #~ msgstr "Výchozí zobrazení" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "Millerovy indexy" #~ msgid "File Import..." #~ msgstr "Import souboru..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Pokusit se rozpoznat vazby?" #~ msgid "Setup Force Field" #~ msgstr "Nastavit silové pole" #~ msgid "Force Field" #~ msgstr "Silové pole" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Počet kroků" #~ msgid "Algorithm" #~ msgstr "Algoritmus" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Vložit nukleové kyseliny" #~ msgid "DNA/RNA Builder" #~ msgstr "Tvorba DNA/RNA" #~ msgid "DNA" #~ msgstr "DNA" #~ msgid "RNA" #~ msgstr "RNA" #~ msgid "Nucleic Acids:" #~ msgstr "Nukleové kyseliny:" #~ msgid "Adenine" #~ msgstr "Adenin" #~ msgid "Cytosine" #~ msgstr "Cytosin" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Guanin" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Sekvence:" #~ msgid "the number of base pairs per helix turn" #~ msgstr "počet základních párů na otočení šroubovice" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "jiné" #~ msgid "Bases Per Turn:" #~ msgstr "Párů bází na otočení:" #~ msgid "Strands:" #~ msgstr "Řetězců:" #~ msgid "Insert" #~ msgstr "Vložit" #~ msgid "Insert Fragment..." #~ msgstr "Vložit fragment" #~ msgid "Filter:" #~ msgstr "Filtr:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "" #~ "Zadejte název nebo část názvu, aby se ukázaly pouze odpovídající soubory." #~ msgid "Peptide Builder" #~ msgstr "Budovatel peptidů" #~ msgid "Alanine" #~ msgstr "Alanin" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginin" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagin" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Kyselina aspartová" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cystein" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Kyselina glutamová" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamin" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glycin" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidin" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Izoleucin" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valin" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tyrozin" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Tryptofan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "T(h)reonin" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serin" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolin" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenylalanin" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionin" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lyzin" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucin" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminokyseliny:" #~ msgid "Sequence (N to C):" #~ msgstr "Posloupnost (N k C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereochemie:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "Koncový bod N:" #~ msgid "C Terminus:" #~ msgstr "Koncový bod C:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Structure:" #~ msgstr "Stavba" #~ msgid "Straight Chain" #~ msgstr "Přímý (nerozvětvený) řetězec" #~ msgid "Alpha Helix" #~ msgstr "Pravotočivá (alfa) šroubovice (alfa helix)" #~ msgid "Beta Sheet" #~ msgstr "Beta list" #~ msgid "3-10 Helix" #~ msgstr "Šroubovice 3-10" #~ msgid "Pi Helix" #~ msgstr "Šroubovice Pi" #~ msgid "Phi:" #~ msgstr "Fí:" #~ msgid "Psi:" #~ msgstr "Psí:" #~ msgid "Chain Number:" #~ msgstr "Číslo řetězce" #~ msgid "The chain number for the new peptide" #~ msgstr "Číslo řetězce pro nový peptid" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Vlastnosti molekuly" #~ msgid "Number of Residues:" #~ msgstr "Počet zbytků:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energie (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Dipólový moment (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Název molekuly IUPAC:" #~ msgid "Frames" #~ msgstr "Snímky" #~ msgid "Plot Spectra" #~ msgstr "Vykreslit spektra" #~ msgid "Fragments" #~ msgstr "Fragmenty" #~ msgid "select Fragment" #~ msgstr "vybrat Fragment" #~ msgid "Comment" #~ msgstr "Komentář" #~ msgid "Frequency" #~ msgstr "Frekvence" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Format" #~ msgstr "Formát" #~ msgid "z-Matrix" #~ msgstr "z-matice" #~ msgid "Advanced" #~ msgstr "Pokročilé" #~ msgid "Control" #~ msgstr "Ovládání" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "RijCosX" #~ msgstr "RijCosX" #~ msgid "Data" #~ msgstr "Data" #~ msgid "ECP" #~ msgstr "ECP" #~ msgid "ZORA" #~ msgstr "ZORA" #~ msgid "IORA" #~ msgstr "IORA" #~ msgid "DKH" #~ msgstr "DKH" #~ msgid "Corr. ECP" #~ msgstr "Korigované ECP" #~ msgid "Add. Print Options" #~ msgstr "Další volby tisku" #~ msgid "MOs" #~ msgstr "MO" #~ msgid "Nothing" #~ msgstr "Nic" #~ msgid "Mini" #~ msgstr "Mini" #~ msgid "Small" #~ msgstr "Malé" #~ msgid "Damping" #~ msgstr "Tlumení" #~ msgid "Factor" #~ msgstr "Faktor" #~ msgid "Accuracy" #~ msgstr "Přesnost" #~ msgid "DIIS" #~ msgstr "DIIS" #~ msgid "KDIIS" #~ msgstr "KDIIS" #~ msgid "SOSCF" #~ msgstr "SOSCF" #~ msgid "NRSCF" #~ msgstr "NRSCF" #~ msgid "AHSCF" #~ msgstr "AHSCF" #~ msgid "SCF Type" #~ msgstr "SCF typ" #~ msgid "DFT Functional" #~ msgstr "DFT Funkcionál" #~ msgid "Grid" #~ msgstr "Mřížka" #~ msgid "POV-Ray Export" #~ msgstr "Export do POV-Ray" #~ msgid "Select..." #~ msgstr "Vybrat..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Vyhlazování použít pro celou scénu" #~ msgid "Antialias" #~ msgstr "Vyhlazování" #~ msgid "Set the background color to be transparent" #~ msgstr "Nastavit pozadí jako průhledné" #~ msgid "Alpha transparency" #~ msgstr "Alfa průhlednost" #~ msgid "Command:" #~ msgstr "Příkaz:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Vykreslit molekulu přímo použitím POV-Ray pro příkazovou řádku" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Uložit zdrojový kód POV-Ray po dokončení vykreslení scény" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Uložit zdrojový kód POV-Ray po vykreslení scény" #~ msgid "Path:" #~ msgstr "Cesta:" #~ msgid "Abinit Input" #~ msgstr "Vstup Abinit" #~ msgid "k-points:" #~ msgstr "k-body:" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Kartézský (Angstrom)" #~ msgid "Reduced" #~ msgstr "Zmenšený" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "Ukončení rovinné vlny (Ha):" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Tolerance na síly (Ha/bohr):" #~ msgid "Max lattice expansion:" #~ msgstr "Největší roztažení mřížky" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "Posun k-bodu:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Počet pásem:" #~ msgid "# k-point shifts:" #~ msgstr "# Posuny k-bodů:" #~ msgid "Double grid PW cutoff (Ha):" #~ msgstr "Dvojitá mřížka PW ukončení (Ha):" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Schéma obsazení:" #~ msgid "SCF tolerance type:" #~ msgstr "Typ tolerance SCF:" #~ msgid "Total Energy" #~ msgstr "Celková síla" #~ msgid "Wave Function norm" #~ msgstr "Průměrná hodnota vlnové funkce" #~ msgid "Total Potential" #~ msgstr "Celkový potenciál" #~ msgid "Maximum Force" #~ msgstr "Největší síla" #~ msgid "Relative Force" #~ msgstr "Poměrná síla" #~ msgid "1 - semiconducting" #~ msgstr "Poměrná síla" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi Dirac" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 - Studený nátěr (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 - Gaussovský nátěr" #~ msgid "Smearing width (Ha):" #~ msgstr "Šířka nátěru (Ha):" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Optimalizace uspořádání" #~ msgid "0 - no moving ions " #~ msgstr "0 - žádné pohybující se ionty " #~ msgid "1 - viscous damping" #~ msgstr "1 - vazké tlumení" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS s energií" #~ msgid "# Geometrical time steps:" #~ msgstr "# Pravidelné časové kroky:" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Vyhlazování pohybové energie (Ha):" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Použít vzhled" #~ msgid "Compute..." #~ msgstr "Počítá se..." #~ msgid "Dalton Input" #~ msgstr "Vstup Dalton" #~ msgid "Basics" #~ msgstr "Základy" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Přidá to, co napíšete do řádku s názvem u vstupního souboru pro vaše\n" #~ "vlastní informativní účely." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Základní sada" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Pople-styl" #~ msgid "Jensen's polarization consistent" #~ msgstr "Soudržné s Jensenovou polarizací" #~ msgid "Dunning's correlation consistent" #~ msgstr "Soudržné s Dunningovou souvztažností" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Hlavní vzájemně závislé funkce" #~ msgid "Diffuse functions" #~ msgstr "Difúzní funkce" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Polarizační funkce" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Přímo" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Spustit souběžně tam, kde je to možné. Toto je možné jen pro\n" #~ "vlnové funkce SCF a výpočty DFT. Dalton v současném vydání\n" #~ "podporuje pouze MPI a musí se sestavit a nainstalovat správně.\n" #~ "Počet uzlů se nastavuje pomocí volby \"-N #\" při provádění \"dalton\" " #~ "skriptu." #~ msgid "Parallel" #~ msgstr "Souběžně" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Funkční:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Hustota:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Začlenění elektrického náboje:" #~ msgid "Grid Specification" #~ msgstr "Přesný popis mřížky" #~ msgid "Partitioning Scheme:" #~ msgstr "Nákres rozdělení:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (původní)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Kvalita mřížky:" #~ msgid "coarse" #~ msgstr "hrubá" #~ msgid "normal" #~ msgstr "obvyklá" #~ msgid "fine" #~ msgstr "dobrá" #~ msgid "ultrafine" #~ msgstr "hodně dobrá" #~ msgid "Radial Scheme:" #~ msgstr "Paprskovitý nákres:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Ukázat všechny funkce" #~ msgid "Property:" #~ msgstr "Vlastnost:" #~ msgid "Polarizability" #~ msgstr "Polarizabilita" #~ msgid "Excitation Energy" #~ msgstr "Budicí energie" #~ msgid "Frequency Dependent" #~ msgstr "Závislé na kmitočtu" #~ msgid "No. excitations:" #~ msgstr "Počet budičů:" #~ msgid "EFP Matches" #~ msgstr "EFP shody" #~ msgid "Group Label:" #~ msgstr "Skupinový popisek:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Pokročilá nastavení" #~ msgid "Hessian" #~ msgstr "Hesenská matice" #~ msgid "Stat Point" #~ msgstr "Statistický bod" #~ msgid "System" #~ msgstr "Systém" #~ msgid "MO Guess" #~ msgstr "Odhad MO" #~ msgid "Misc" #~ msgstr "Různé" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Funkce rozdělení (polarizace) těžkých atomů:" #~ msgid "Read" #~ msgstr "Číst" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Rozptýlit S obal na těžkých atomech" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Rozptýlit L obal na těžkých atomech" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "" #~ "Zdvojené Zeta mocenství (valence, schopnost reagovat/vytvářet vazby)" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "" #~ "Ztrojené Zeta mocenství (valence, schopnost reagovat/vytvářet vazby)" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA mocenství (valence)" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt mocenství (valence)" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP Typ:" #~ msgid "Default" #~ msgstr "Výchozí" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Funkce rozdělení (polarizace) těžkých atomů:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "# Funkce rozdělení (polarizace) lehkých atomů:" #~ msgid "Polar:" #~ msgstr "Polární" #~ msgid "Max SCF Iterations:" #~ msgstr "Největší možné SCF opakování (iterace):" #~ msgid "Gradient" #~ msgstr "Přechod" #~ msgid "Optimization" #~ msgstr "Optimalizace" #~ msgid "Trudge" #~ msgstr "Namáhavá cesta" #~ msgid "Saddle Point" #~ msgstr "Sedlový bod" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Extremála přechodu" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Plocha energie" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Přechodové momenty způsobující záření" #~ msgid "Spin Orbit" #~ msgstr "" #~ "Spin Orbit (spin = veličina charakterizující moment hybnosti částic)" #~ msgid "Finite Electric Field" #~ msgstr "Konečné elektrické pole" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Celková optimalizace" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO optimalizace" #~ msgid "Raman Intensities" #~ msgstr "Ramanovy síly" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Provést EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Nic (CI)" #~ msgid "Foster-Boys" #~ msgstr "Fosterovi bratři" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF Typ:" #~ msgid "Localization Method:" #~ msgstr "Způsob určení polohy" #~ msgid "Exec Type:" #~ msgstr "Typ provedení" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. determinanta" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Obsazení více aktivních prostorů omezeno" #~ msgid "CI Singles" #~ msgstr "Jednoduché CI" #~ msgid "Full Second Order CI" #~ msgstr "CI zcela druhého řádu" #~ msgid "General CI" #~ msgstr "Obecné CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Napřímené CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC se zdvojením" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC s jednotlivým a zdvojeným" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Obvyklý běh" #~ msgid "Check" #~ msgstr "Kontrola" #~ msgid "Debug" #~ msgstr "Debug" #~ msgid "Molecule Charge:" #~ msgstr "Náklad molekul:" #~ msgid "Run Type:" #~ msgstr "Typ běhu:" #~ msgid "Use MP2" #~ msgstr "Použít MP2" #~ msgid "Use DFT" #~ msgstr "Použít DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# Proměnné matice Z" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Pořadí hlavních os:" #~ msgid "Coordinate Type:" #~ msgstr "Typ souřadnic:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Jedinečné karteziánské souřadnice." #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrantovy vnitřní části" #~ msgid "MOPAC Z-Matrix" #~ msgstr "MOPAC matice Z" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Během výpočtů použít souměrnost" #~ msgid "Units:" #~ msgstr "Jednotky:" #~ msgid "Point Group:" #~ msgstr "Skupina bodů:" #~ msgid "Minutes" #~ msgstr "Minuty" #~ msgid "Hours" #~ msgstr "Hodiny" #~ msgid "Days" #~ msgstr "Dny" #~ msgid "Weeks" #~ msgstr "Týdny" #~ msgid "Years" #~ msgstr "Roky" #~ msgid "Millenia" #~ msgstr "Tisíciletí" #~ msgid "MegaWords" #~ msgstr "Ohromná slova" #~ msgid "MegaBytes" #~ msgstr "Megabajtů" #~ msgid "GigaWords" #~ msgstr "Obrovská slova" #~ msgid "GigaBytes" #~ msgstr "GigaBajty" #~ msgid "Force Parallel Methods" #~ msgstr "Vynutit obdobné způsoby" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Po přerušení vytvořit \"hlavní\" soubor" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Paměť:" #~ msgid "Diagonalization Method:" #~ msgstr "Způsob diagonalizace matice:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Obdobný typ rozdělení zatížení" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Smyčka" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Další hodnota" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Pro sdělení použít vnější znázornění dat" #~ msgid "Initial Guess:" #~ msgstr "Počáteční předpoklad:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO přečten ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO uložen (DICTNRY)" #~ msgid "Skip" #~ msgstr "Přeskočit" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Otočit alpha a beta orbitaly" #~ msgid "Print the Initial Guess" #~ msgstr "Ukázat počáteční předpoklad" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Uživatelské rozhraní GAMESS k jiným kódům" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Vynutit jednu zkoušku vykonání běhu" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (verze UK)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvát s vodou" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Vytvořit přirozené UHF orbitaly" #~ msgid "Direct SCF" #~ msgstr "Přímé SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Vypočítat pouze změnu ve Fockově matici" #~ msgid "Slater exchange" #~ msgstr "Slaterova výměna" #~ msgid "Becke 1988 exchange" #~ msgstr "Výměna Becke 1988" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) vzájemná souvislost" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr vzájemná souvislost" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slaterova výměna + VWN vzájemná souvislost" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE výměna + VWN5 vzájemná souvislost" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE výměna + LYP vzájemná souvislost" #~ msgid "Gill 1996 exchange" #~ msgstr "Výměna Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Výměna Perdew-Burke-Ernzerhof (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: Vzrůstající vzájemná souvislost jednoho parametru" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) vzájemná souvislost" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP vzájemná souvislost" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE výměna + OP vzájemná souvislost" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL výměna + VWN5 vzájemná souvislost" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL výměna + LYP vzájemná souvislost" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE výměna + VWN6 vzájemná souvislost" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE výměna + LYP vzájemná souvislost" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE výměna + OP vzájemná souvislost" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF a BECKE výměna + LYP vzájemná souvislost" #~ msgid "Grid-Free" #~ msgstr "Volná mřížka" #~ msgid "DFT Functional:" #~ msgstr "Funkce DFT:" #~ msgid "Method:" #~ msgstr "Metoda:" #~ msgid "AO Integral Storage" #~ msgstr "AO celkové uložiště" #~ msgid "Duplicated on Each Node" #~ msgstr "Zdvojeno na každém uzlu" #~ msgid "Distributed Across All Nodes" #~ msgstr "Rozmístěno na všechny uzly" #~ msgid "words" #~ msgstr "slova" #~ msgid "Compute MP2 Properties" #~ msgstr "Vypočítat vlastnosti MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Přerušení zachování integrálu" #~ msgid "Use Localized Orbitals" #~ msgstr "Použít umístěné orbitaly" #~ msgid "# of Core Electrons:" #~ msgstr "# jaderných elektronů:" #~ msgid "Transformation Method" #~ msgstr "Způsob přeměny" #~ msgid "Two Phase Bin Sort" #~ msgstr "Dvoustupňové dvojkové třídění" #~ msgid "Segmented Transformation" #~ msgstr "Přeměna rozdělená na části" #~ msgid "Analytic" #~ msgstr "Analytická" #~ msgid "Numeric" #~ msgstr "Číselná" #~ msgid "Double Differenced Hessian" #~ msgstr "Dvojitě rozlišená Hessenská matice" #~ msgid "Print Internal Force Constants" #~ msgstr "Ukázat vnitřní stálé hodnoty síly" #~ msgid "Displacement Size:" #~ msgstr "Velikost posunutí:" #~ msgid "Purify Hessian" #~ msgstr "Vyčistit Hessenskou matici" #~ msgid "Frequency Scale Factor:" #~ msgstr "Činitel násobení kmitočtu:" #~ msgid "bohrs" #~ msgstr "Bohr" #~ msgid "Initial Hessian" #~ msgstr "Počáteční Hessenská matice" #~ msgid "Guess (+ define)" #~ msgstr "Odhadovat (+ určit)" #~ msgid "Read (from $HESS)" #~ msgstr "Číst (z $HESS)" #~ msgid "Update Step Size" #~ msgstr "Obnovit velikost kroku" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Ukázat orbitaly u každého opakování (iterace)" #~ msgid "Jump Size:" #~ msgstr "Velikost skoku:" #~ msgid "Stationary Point" #~ msgstr "Pevný bod" #~ msgid "Step Size" #~ msgstr "Velikost kroku" #~ msgid "Maximum:" #~ msgstr "Největší možná:" #~ msgid "Minimum:" #~ msgstr "Nejmenší možná:" #~ msgid "Initial:" #~ msgstr "Výchozí:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Racionální optimalizace funkcí" #~ msgid "Quadratic Approximation" #~ msgstr "Přibližná hodnota kvadratické rovnice" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (jakoby-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Optimalizace s omezením" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Znovu spočítat všechny Hessenské matice:" #~ msgid "Follow Mode:" #~ msgstr "Režim následku:" #~ msgid "Maximum Steps:" #~ msgstr "Největší možný počet kroků:" #~ msgid "GAMESS-UK Input" #~ msgstr "Vstup GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Vstup GAMESS-UK vytvořený Avogadrem" #~ msgid "Calculation:" #~ msgstr "Výpočet:" #~ msgid "Transition State Search" #~ msgstr "Hledání změny stavu" #~ msgid "Basis:" #~ msgstr "Základ:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Matice Z" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "V přímém režimu nejsou integrály ukládány na disk, ale jsou spočítány " #~ "znovu podle potřeby.\n" #~ "U moderních systémů s rychlými procesory a pomalými disky je přímý režim " #~ "často rychlejší." #~ msgid "Run in direct mode:" #~ msgstr "Pracovat v přímém režimu:" #~ msgid "Gaussian Input" #~ msgstr "Gaussovský vstup" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Výstup:" #~ msgid "Standard" #~ msgstr "Standardní" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Kontrolní bod:" #~ msgid "Z-matrix (compact)" #~ msgstr "Matice Z (pevná)" #~ msgid "Select the unit style to be used during the simulation." #~ msgstr "Vyberte typ jednotek, které budou použity při simulaci." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "reálný" #~ msgid "metal" #~ msgstr "kov" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "elektron" #~ msgid "Water Potential" #~ msgstr "Potenciální půdní vlhkost" #~ msgid "NONE" #~ msgstr "ŽÁDNÝ" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "Select atom_style used by the data file." #~ msgstr "Vyberte hodnotu atom_style, který se používá v datovém souboru." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgid "Atom Style" #~ msgstr "Styl atomu" #~ msgid "angle" #~ msgstr "úhel" #~ msgid "atomic" #~ msgstr "atomový" #~ msgid "bond" #~ msgstr "vazba" #~ msgid "charge" #~ msgstr "náboj" #~ msgid "dipole" #~ msgstr "dipól" #~ msgid "ellipsoid" #~ msgstr "elipsoid" #~ msgid "full" #~ msgstr "plný" #~ msgid "line" #~ msgstr "čára" #~ msgid "meso" #~ msgstr "meso" #~ msgid "molecular" #~ msgstr "molekulární" #~ msgid "peri" #~ msgstr "peri" #~ msgid "sphere" #~ msgstr "koule" #~ msgid "tri" #~ msgstr "tri" #~ msgid "wavepacket" #~ msgstr "vlnový balík" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "Určete jméno, které bude použito pro souborové souřadnice." #~ msgid "Coordinate Data File" #~ msgstr "Koordinovat datový soubor" #~ msgid "Ensemble" #~ msgstr "Soubor" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Teplota" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "Vyberte počet řetězců Nose-Hoovera v NVT souboru." #~ msgid "NH Chains" #~ msgstr "řetězce NH" #~ msgid "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgstr "Časový krok pro simulaci v jednotkách dle specifikace \"jednotek\"." #~ msgid "Time Step" #~ msgstr "Doba kroku" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "Jméno souboru XYZ pro záznam dat během simulace." #~ msgid "Dump XYZ" #~ msgstr "Vypsat XYZ" #~ msgid "Number of dimensions in the system." #~ msgstr "Počet rozměrů v systému." #~ msgid "Dimensions" #~ msgstr "Rozměry" #~ msgid "Change Z boundary style." #~ msgstr "Změna hranice stylu pro Z." #~ msgid "p" #~ msgstr "p" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "Change Y boundary style." #~ msgstr "Změna hranice stylu pro Y." #~ msgid "Change X boundary style." #~ msgstr "Změna hranice stylu pro X." #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "Vyberte hraniční styly pole ve směru X, Y a Z." #~ msgid "Boundary" #~ msgstr "Hranice" #~ msgid "Number of replicants in X, Y and Z directions." #~ msgstr "Počet kopií ve směrech X, Y a Z." #~ msgid "Replicate" #~ msgstr "kopírování" #~ msgid "Replicate the X direction." #~ msgstr "Směr kopírování X." #~ msgid "Replicate the Y direction." #~ msgstr "Směr kopírování Y." #~ msgid "Replicate the Z direction." #~ msgstr "Směr kopírování Z." #~ msgid "Total number of timesteps to run the simulation." #~ msgstr "Celkový počet časových kroků spustit simulaci." #~ msgid "Total Steps" #~ msgstr "Počet kroků" #~ msgid "Dump Interval" #~ msgstr "interval záznamu" #~ msgid "Set the initial atom velocities for the simulation." #~ msgstr "Nastavte počáteční rychlost atomu pro simulaci." #~ msgid "Initial Velocities" #~ msgstr "Počáteční rychlosti" #~ msgid "Select the distribution of initial atom velocities." #~ msgstr "Výběr rozložení počátečních rychlostí atomů." #~ msgid "gaussian" #~ msgstr "gaussovo" #~ msgid "uniform" #~ msgstr "homogenní" #~ msgid "Set the initial atom velocities to match this temperature." #~ msgstr "Nastavte počáteční rychlost atomu tak, aby odpovídala této teplotě." #~ msgid "Remove system linear momentum from initial velocities." #~ msgstr "Odstranit lineární hybnost systému z počátečních rychlostí." #~ msgid "Zero Linear Momentum" #~ msgstr "nulová hybnost" #~ msgid "Remove system angular momentum from initial velocities." #~ msgstr "Odstraňte hybnost systému z počátečních rychlostí." #~ msgid "Zero Angular Momentum" #~ msgstr "Nulový moment hybnosti" #~ msgid "Control the thermodynamic output during the simulation." #~ msgstr "Ovládání termodynamického výkonu během simulace." #~ msgid "Output Interval" #~ msgstr "Interval výstupu" #~ msgid "2d" #~ msgstr "2d" #~ msgid "3d" #~ msgstr "3d" #~ msgid "Thermodynamic output style." #~ msgstr "Styl termodynamického výstupu." #~ msgid "One Line" #~ msgstr "Jedna linka" #~ msgid "Multi Line" #~ msgstr "Více linek" #~ msgid "" #~ "\n" #~ "\n" #~ "

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

" #~ msgid "MOLPRO Input" #~ msgstr "Vstup MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Verze Molpro:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Vstup MOPAC" #~ msgid "Quartet" #~ msgstr "Čtveřice" #~ msgid "Quintet" #~ msgstr "Pětice" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Vstup NWChem" #~ msgid "Psi4 Input" #~ msgstr "Vstup Psi4" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Vstup Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "Zadání TeraChem" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Neomezeno" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "Ne" #~ msgid "yes" #~ msgstr "Ano" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Rozptyl:" #~ msgid "Load Shaders" #~ msgstr "Nahrát tónovače" #~ msgid "Shader Name:" #~ msgstr "Název pro tónovač:" #~ msgid "Vertex Shader:" #~ msgstr "Vrcholový tónovač:" #~ msgid "Fragment Shader:" #~ msgstr "Tónovač fragmentů:" #~ msgid "Assign Shader" #~ msgstr "Přiřadit tónovač" #~ msgid "Display Type:" #~ msgstr "Typ zobrazení:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Ovládání:\n" #~ "Dvojité klepnutí levým tlačítkem myši: Obnovit výchozí hranice os\n" #~ "Klepnutí levým tlačítkem myši + táhnutí: Pohnout nákresem\n" #~ "Klepnutí prostředním tlačítkem myši + táhnutí: Zaměřit se na oblast\n" #~ "Otáčení kolečkem myši: Zaměřit se na polohu kurzoru" #~ msgid "&Load data..." #~ msgstr "&Nahrát data..." #~ msgid "&Close" #~ msgstr "&Zavřít" #~ msgid "Calculated Spectra:" #~ msgstr "Vypočtená spektra:" #~ msgid "Set Color..." #~ msgstr "Nastavit barvu..." #~ msgid "Imported Spectra:" #~ msgstr "Import spektra:" #~ msgid "Font:" #~ msgstr "Písmo:" #~ msgid "Change Font..." #~ msgstr "Změnit písmo..." #~ msgid "Show" #~ msgstr "Ukázat" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "Zavedení tsv pokusných spekter pro pokrytí nákresu." #~ msgid "&Import..." #~ msgstr "&Importovat..." #~ msgid "Background:" #~ msgstr "Pozadí:" #~ msgid "Foreground:" #~ msgstr "Popředí:" #~ msgid "New..." #~ msgstr "Nový..." #~ msgid "Rename..." #~ msgstr "Přejmenovat..." #~ msgid "&Schemes:" #~ msgstr "&Nákresy:" #~ msgid "&Export..." #~ msgstr "&Export..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Šířka:" #~ msgid "&Height" #~ msgstr "&Výška:" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "palec" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Uložit obrázek..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Použít vyladěnou hodnotu velikosti písma namísto hodnoty určené podle " #~ "nějaké šablony (velikosti bodů se u obrazovky na obrázky nepřeměňují " #~ "dobře!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Automaticky upravit ve&likost písma" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Export dat" #~ msgid "Spectra Tab" #~ msgstr "Karta spekter" #~ msgid "&Gaussian Width:" #~ msgstr "&Gaussovská šířka:" #~ msgid "&Label peaks" #~ msgstr "&Vrcholy popisků" #~ msgid "Rotatory Strength type:" #~ msgstr "Typ točivé síly:" #~ msgid "Energy units:" #~ msgstr "Jednotky měření:" #~ msgid "Density units" #~ msgstr "Jednotky hustoty" #~ msgid "Fermi Energy: " #~ msgstr "Fermiho energie: " #~ msgid "States / Cell" #~ msgstr "Stavy/Buňka" #~ msgid "States / Atom" #~ msgstr "Stavy/Atom" #~ msgid "States / Valence electron" #~ msgstr "Stavy/valenční elektron" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Fermiho energie při nule" #~ msgid "Scale integrated DOS" #~ msgstr "Škálovat začleněný DOS" #~ msgid "Show integrated DOS" #~ msgstr "Ukázat začleněný DOS" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "&Jednotky na ose y:" #~ msgid "Scaling Type:" #~ msgstr "Typ změny měřítka:" #~ msgid "Linear" #~ msgstr "Přímočarý" #~ msgid "Relative" #~ msgstr "Poměrný" #~ msgid "Scale &Factor:" #~ msgstr "&Násobek velikosti:" #~ msgid "Temperature:" #~ msgstr "Teplota:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Vlnočet laseru:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Prahová hodnota:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Jádro:" #~ msgid "&Reference:" #~ msgstr "&Odkaz:" #~ msgid "Gaussian &Width:" #~ msgstr "Gaussovská &šířka:" #~ msgid "Reset &Plot Axes" #~ msgstr "Obnovit osy ýnákresu" #~ msgid "Label Peaks:" #~ msgstr "Vrcholy popisků" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Molekulární vibrace" #~ msgid "Filter: " #~ msgstr "Filtr: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Činnost (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Ukázat spektra..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "Větší chvění kmitočtu ukáže rychlejší pohyb" #~ msgid "Animation speed set by frequency" #~ msgstr "Rychlost animace nastavená podle kmitočtu" #~ msgid "Display force &vectors" #~ msgstr "Zobrazit &vektory síly" #~ msgid "&Normalize displacements" #~ msgstr "&Normalizovat posuvy" #~ msgid "Generate Cell" #~ msgstr "Vytvořit buňku" #~ msgid "&Recalculate All" #~ msgstr "&Spočítat vše znovu" #~ msgid "Default &Quality:" #~ msgstr "Výchozí &kvalita:" #~ msgid "Show occupied orbitals first" #~ msgstr "Ukázat obsazené orbitaly jako první" #~ msgid "Limit orbital precalculations to " #~ msgstr "Omezit předvýpočty orbitalů na " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "orbitaly okolo HOMO/LUMO" #~ msgid "Quality: " #~ msgstr "Kvalita: " #~ msgid "Create Surfaces" #~ msgstr "Vytvořit povrchy" #~ msgid "Surface Type:" #~ msgstr "Typ povrchu:" #~ msgid "Color By:" #~ msgstr "Barva dle:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Nízký" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Střední" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Vysoký" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Velmi vysoký" #~ msgid "Isosurface cutoff value" #~ msgstr "Hodnota přerušení isopovrchu" #~ msgid "Iso Value:" #~ msgstr "Izohodnota:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Typ zobrazení vstupu:" #~ msgid "New Display" #~ msgstr "Nové zobrazení" #~ msgid "Advanced..." #~ msgstr "Pokročilé..." #~ msgid "&n:" #~ msgstr "&n:" #~ msgid "&m:" #~ msgstr "&m:" #~ msgid "&Length:" #~ msgstr "Dé&lka:" #~ msgid "Uni&t:" #~ msgstr "`Jedno&tka:" #~ msgid "periodic units" #~ msgstr "Periodické jednotky" #~ msgid "angstrom" #~ msgstr "angstrom" #~ msgid "bohr radii" #~ msgstr "Bohrova poloměru" #~ msgid "nanometers" #~ msgstr "nanometrů" #~ msgid "picometers" #~ msgstr "pikometrů" #~ msgid "&Cap with hydrogen" #~ msgstr "&Přikrýt vodíkem" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "Toto může chvíli trvat. Pokud by byly potřeba pouze souřadnice\n" #~ "atomů, např. pro kvantově mechanické výpočty), stačilo by\n" #~ "zobrazení jednotlivých vazeb." #~ msgid "Find &double bonds" #~ msgstr "Najít &dvojité vazby" #~ msgid "Molecular Symmetry" #~ msgstr "Molekulová symetrie" #~ msgid "VRML Export" #~ msgstr "VRML Export" #~ msgid "Scale (mm/Å):" #~ msgstr "Měřítko (mm/Å):" #~ msgid "Calculate Size..." #~ msgstr "Vypočítat velikost..." #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Překlad od:" #~ msgid "X-axis" #~ msgstr "X-osy" #~ msgid "Y-axis" #~ msgstr "Y-osy" #~ msgid "Z-axis" #~ msgstr "Z-osy" #~ msgid "Rotate around:" #~ msgstr "Otáčet kolem:" #~ msgid "Origin" #~ msgstr "Počátek" #~ msgid "Geometry" #~ msgstr "Uspořádání" #~ msgid "Display visual cues" #~ msgstr "Zobrazit vizuální vodítka" #~ msgid "Python Settings" #~ msgstr "Nastavení Pythonu" #~ msgid "Z Matrix Editor" #~ msgstr "Editor matice Z" #~ msgid "Import Selected Atoms" #~ msgstr "Importovat vybrané atomy" avogadrolibs-1.93.0/i18n/da.po000066400000000000000000004353661360735163600160160ustar00rootroot00000000000000# Danish translation for avogadro # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:28+0000\n" "Last-Translator: jvd \n" "Language-Team: Danish \n" "Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Input Generator" #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Input Generator" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Fortsæt" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Ukendt" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Afbryd udregning" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Advarsel" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Advarsel" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Vælg opløsning" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Kan ikke skrive til fil." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Videofil kunne ikke skrives." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Videofil kunne ikke skrives." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Titel" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Filnavn:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Afbryd udregning" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Intet molekylesæt" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Stop &Animation" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Ingen atomer valgt" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hydrogen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lithium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Kulstof" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Kvælstof" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Ilt" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Natrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicium" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Svovl" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Klor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kalium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calcium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanium" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Krom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Jern" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobolt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikkel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Kobber" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsen" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selen" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybdæn" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technetium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruthenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Sølv" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Tin" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellur" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jod" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cæsium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lanthan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodym" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodym" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promethium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Wolfram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhenium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platin" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Guld" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Kviksølv" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Bly" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuth" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Thorium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uran" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Røntgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorium" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Gennemse..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Vælg opløsning" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Slet valgte" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Alle filer" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "uden navn" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodisk tabel" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03 kunne ikke startes." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Scripts" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL-fejl" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Ukendt" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekyle" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Tilføj atom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Fjern atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Start Atom" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Juster brintatomer" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Skift element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Skift element" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formel ladning" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Tilføj binding" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Fjern atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Slet binding" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Bindingsorden" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Ændr bindingsorden" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Hægt på bindinger" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Slet binding" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Tilføj &enhedscelle" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Fjern &enhedscelle" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Fyld enhedscelle" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Fold atomer til celle" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Skalér celle til &volumen..." #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Supercelle" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Reducer celle (&primitiv)" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Supercelle" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Fyld enhedscelle" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Fil" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Eksportér" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Åbn WFN-fil" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Udvidelser" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Fejl" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problemer med at læse taj filen %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL-fejl" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problemer med at læse taj filen %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Åbn WFN-fil" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Åbn WFN-fil" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Fejl" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Dalton-inputfil" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Succes!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Billedet blev gemt med filnavnet %1 uden fejl" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Vis flere bindinger" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hydrogen" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Bold og stav" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Render atom- og bindingsetiketter" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Bindingscentreret manipulation" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Bindingscentreret manipulation" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Slut Atom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Fjern brintatomer" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Byg" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Binding" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Filnavn:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Kartesisk koordinat-editor" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Kartesisk koordinat-editor" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Ugyldigt filnavn" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Elementnavn" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Ugyldigt filnavn" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Elementnavn" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Ugyldigt filnavn" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atom nummer" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Ugyldigt filnavn" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Vis &kartesiske koordinater" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,nanker, ,Launchpad Contributions:,dlonie,nanker," "olegb, ,Launchpad Contributions:,Avogadro Team,dlonie,nanker,olegb, ," "Launchpad Contributions:,Avogadro Team,Joe Hansen,dlonie,nanker,olegb, ," "Launchpad Contributions:,Avogadro Team,Joe Hansen,dlonie,nanker,olegb, ," "Launchpad Contributions:,Avogadro Team,Joe Hansen,dlonie,nanker,olegb, ," "Launchpad Contributions:,Avogadro Team,Joe Hansen,Stine Nielsen,dlonie," "nanker,olegb, ,Launchpad Contributions:,Anton Rasmussen,Avogadro Team,Joe " "Hansen,Ole Guldberg,Stine Nielsen,dlonie,jvd,nanker, ,Launchpad " "Contributions:,Anton Rasmussen,Avogadro Team,Joe Hansen,Ole Guldberg,Stine " "Nielsen,dlonie,jvd,nanker, ,Launchpad Contributions:,Anton Rasmussen," "Avogadro Team,Joe Hansen,Ole Guldberg,Stine Nielsen,dlonie,jvd,nanker" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Kartesisk koordinat-editor" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP information" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP information" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Kunne ikke angive format: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Kunne ikke angive format: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "I&mporter krystal fra udklipsholder..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Fyld enhedscelle" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Fyld enhedscelle" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Fold atomer til celle" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Roter til standard&orientering" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Skalér celle til &volumen..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Supercelle" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Reducer celle (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Krystallografi" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Fjern &enhedscelle" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Tilføj &enhedscelle" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Indsæt krystal" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Render atom- og bindingsetiketter" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Farv efter grundstof" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Tegn" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Tegn atom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Ændr bindingsorden" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Fjern atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Afstand" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Afstand (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Andet..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOptimiser" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Enkelt" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dobbelt" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Tredobbelt" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problemer med at læse taj filen %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Input Generator" #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Enkelt" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Afbryd udregning" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Juster brintatomer" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Tilføj brintatomer" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Fjern brintatomer" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Fjern brintatomer" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hydrogen" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hydrogen" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importér" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Render atom- og bindingsetiketter" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES,,," #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES,,," #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Indsæt" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Ingen beskrivelse" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekyle" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipulér" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipulér atom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Mål" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Hældning:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Vinkel:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Vinkel:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Mål" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Render molekylær isooverflade struktur" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Vis" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Molekylære egenskaber" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigér" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigér" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Kemisk navn" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Kemisk struktur som skal hentes." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Netværkhentningsfejl" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Netværks timeout eller anden fejl." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Det angivne molekyle kunne ikke findes: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Netværkhentningsfejl" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimer geometri" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometrisk Optimering" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Tilføj brintatomer" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Tilføj H til pH" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Fjern brintatomer" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Læsning fra fil '%1' fejlede." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Der opstod et problem da der blev skrevet til filen: %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimer geometri" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "Banefil %1 er ikke enig med antallet af atomer i nuværende molekyle" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimer geometri" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Tilføj brintatomer" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Til hydrogen til pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Fjern brintatomer" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Eksportér vektorgrafik" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Kan ikke læse filen %1" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Fejl" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Gem video fil" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Tegner elementer med brug af QTAIM-egenskaber" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "Udvidelser" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Åbn WFN-fil" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "WFN-filer (*.wfn);;Alle filer (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Skab inputfiler for kvantekemiske pakker" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Udregner elektrontæthed" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Udregner elektrontæthed" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Udregner molekyle orbitaler og andre overflader" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Nulstil" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Inputfil generator" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Slet alt" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Udvalg" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Invertér markering" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Valg" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Vælg" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Vælg" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Udvalg" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Udvalg" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Vælg tolerance i nuværende kartesiske enheder:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrationer" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Molekylære vibrationer" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Vis &fraktionelle koordinater" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Type" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Vælg efter element..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Render molekylære dipolaritet" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Trådramme" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Render molekyler som pinde" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Form" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Manipulationsindstillinger" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Afbryd udregning" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Skift element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Dalton-inputfil" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Kraftfelt:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Dalton-inputfil" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Dalton-inputfil" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Succes!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Indlæs fil..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Målingsindstillinger" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigér" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigér" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigér" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Filnavn:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Annullér" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Kartesisk koordinat-editor" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Nulstil" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Afstand" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Ångstrøm" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Anvend" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Skjul &editorer" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Vis &fraktionel matrix" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "&Translater atomer..." #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Bindingsorden:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Filnavn:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Indlæs fil..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "navn" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Ingen beskrivelse" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molekylær dynamik (300K)" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometrisk Optimering" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "AutoOptimiser" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Kraftfelt:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "AutoOptimiser" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Stejleste nedgang" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Konjugér gradienter" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Autoroter" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isooverflade = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Elektrostatisk Potentiale" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Antal atomer:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Wavelængde (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Slet valgte" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Overflader" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Overflader" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Iso værdi:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Overflader" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrationer" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Start &Animation" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Stop &Animation" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekyle" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Indstilinger" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,nanker, ,Launchpad Contributions:,dlonie,nanker," "olegb, ,Launchpad Contributions:,Avogadro Team,dlonie,nanker,olegb, ," "Launchpad Contributions:,Avogadro Team,Joe Hansen,dlonie,nanker,olegb, ," "Launchpad Contributions:,Avogadro Team,Joe Hansen,dlonie,nanker,olegb, ," "Launchpad Contributions:,Avogadro Team,Joe Hansen,dlonie,nanker,olegb, ," "Launchpad Contributions:,Avogadro Team,Joe Hansen,Stine Nielsen,dlonie," "nanker,olegb, ,Launchpad Contributions:,Anton Rasmussen,Avogadro Team,Joe " "Hansen,Ole Guldberg,Stine Nielsen,dlonie,jvd,nanker, ,Launchpad " "Contributions:,Anton Rasmussen,Avogadro Team,Joe Hansen,Ole Guldberg,Stine " "Nielsen,dlonie,jvd,nanker, ,Launchpad Contributions:,Anton Rasmussen," "Avogadro Team,Joe Hansen,Ole Guldberg,Stine Nielsen,dlonie,jvd,nanker" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,loniedavid@gmail.com,,,,,avogadro-devel@lists.sourceforge.net," "loniedavid@gmail.com,,,,,avogadro-devel@lists.sourceforge.net,," "loniedavid@gmail.com,,,,,avogadro-devel@lists.sourceforge.net,," "loniedavid@gmail.com,,,,,avogadro-devel@lists.sourceforge.net,," "loniedavid@gmail.com,,,,,avogadro-devel@lists.sourceforge.net,,," "loniedavid@gmail.com,,,,,amhrasmussen@gmail.com,avogadro-devel@lists." "sourceforge.net,,olegb@omgwtf.dk,,loniedavid@gmail.com,jvd@tuta.io,,,," "amhrasmussen@gmail.com,avogadro-devel@lists.sourceforge.net,,olegb@omgwtf." "dk,,loniedavid@gmail.com,jvd@tuta.io,,,,amhrasmussen@gmail.com,avogadro-" "devel@lists.sourceforge.net,,olegb@omgwtf.dk,,loniedavid@gmail.com,jvd@tuta." "io," #~ msgid "Color by Index" #~ msgstr "Farv efter Index" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Farv efter Index (rød, orange, gul, grøn, blå, violet)." #~ msgid "Color by Partial Charge" #~ msgstr "Farv efter delvis ladning" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Farv efter atomlading (blå = positiv, rød = negativ)" #~ msgid "Custom Color:" #~ msgstr "Brugerdefineret farve:" #~ msgid "Custom Color" #~ msgstr "Brugerdefineret farve" #~ msgid "Set custom colors for objects" #~ msgstr "Vælg brugerdefinerede farver for objekter" #~ msgid "Color by Distance" #~ msgstr "Farv efter afstand" #~ msgid "Color by distance from the first atom." #~ msgstr "Farv efter afstand fra det første atom" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Farv efter grundstof (kulstof = grå, oxygen = rød, ... )" #~ msgid "Color by Residue" #~ msgstr "Farv efter rest" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Farv efter rest (aminosyrere, hydrofobi, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS-mønster:" #~ msgid "Highlight Color:" #~ msgstr "Fremhævningsfarve:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Farve efter SMARTS-mønster" #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Motorer" #~ msgid "Axes" #~ msgstr "Akser" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Render x, y og z akserne ved origo" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Render primitiver med kugler (atomer) og stave (bindinger)" #~ msgid "Cartoon" #~ msgstr "Tegneserie" #~ msgid "Renders protein secondary structure" #~ msgstr "Render protein sekundære struktur" #~ msgid "Dipole" #~ msgstr "dipolære" #~ msgid "Force" #~ msgstr "Kraft" #~ msgid "Renders force displacements on atoms" #~ msgstr "Render kraftforskydning på atomer" #~ msgid "Hydrogen Bond" #~ msgstr "Hydrogen-binding" #~ msgid "Renders hydrogen bonds" #~ msgstr "Gengiver hydrogen-bindinger" #~ msgid "Select Atom Labels Color" #~ msgstr "Vælg farve for atometiketter" #~ msgid "Select Bond Labels Color" #~ msgstr "Vælg farve for bindingsetiketter" #~ msgid "Select Atom Labels Font" #~ msgstr "Vælg skrifttype for atometiketter" #~ msgid "Select Bond Labels Font" #~ msgstr "Vælg skrifttype for bindingsetiketter" #~ msgid "Label" #~ msgstr "Etiket" #~ msgid "Polygon" #~ msgstr "Polygon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Render atomer som tetraeder, oktraeder eller andre polygoner" #~ msgid "Ribbon" #~ msgstr "Bånd" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Render protein-rygrad som bånd" #~ msgid "Ring" #~ msgstr "Ring" #~ msgid "Renders rings with colored planes" #~ msgstr "Render ringe med farvede flader" #~ msgid "Simple Wireframe" #~ msgstr "Simpel trådramme" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Render bindinger som tråde (linier), godt til store molekyler" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waals sfærer" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Gengiver atomer som Van der Waals' sfærer" #~ msgid "Stick" #~ msgstr "Stang" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Elektrontæthed, isooverflade = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isoflade = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Render bindinger sim tråde (linier), godt til meget store (bio) molekyler" #~ msgid "DL-POLY HISTORY files" #~ msgstr "DL-POLY HISTORIK-filer" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "video file (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Tilføj .avi filendelse" #~ msgid "Animation..." #~ msgstr "Animation..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Kan ikke læse filformatet på filen %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Læsning af banefil %1 fejlede." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Skal vælge en gyldig .avi fil" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "GL widget bliv ikke initialiseret korrekt, så videoen kan ikke gemmes" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Ugyldigt video filnavn. Hele stien til filen skal inkluderes" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Ugyldigt video filnavn. Hele stien til filen, samt filnavnet med .avi " #~ "endelse, skal inkluderes" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Kunne ikke bestemme format ud fra filnavn: %1" #~ msgid "Animation" #~ msgstr "Animation" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animer bane, reaktioner og vibrationer" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Ingen enhedscelle defineret for molekyle - kan ikke bruge fraktionelle " #~ "koordinater." #~ msgid "Cartesian Editor..." #~ msgstr "Kartesiansk editor..." #~ msgid "Number of atoms: %1" #~ msgstr "Antal atomer: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Antal af roterbare bindinger: %1" #~ msgid "Add constraint" #~ msgstr "Tilføj afhængighed" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Dit molekyle skal indeholde mindst et atom for at kunne tilfæje en " #~ "afhængighed" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Dit molekyle skal indeholde mindst to bindinger for at kunne tilføje en " #~ "bindingsafhængighed" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Dit molekyle skal indeholde mindst tre atomer for at kunne tilføje en " #~ "vinkelafhængighed" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Dit molekyle skal have mindst 4 atomer for at tilføje en drejningsgrænse" #~ msgid "&Reduce" #~ msgstr "&Reducer" #~ msgid "&Settings" #~ msgstr "&Indstillinger" #~ msgid "&Length Unit" #~ msgstr "&Længdeenhed" #~ msgid "&Angle Unit" #~ msgstr "&Vinkelenhed" #~ msgid "Show &Editors" #~ msgstr "Vis &editorer" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Gittertype: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Volumen af enhedscelle: %L1%2" #~ msgid "Undefined" #~ msgstr "Udefineret" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Orthorhombisk" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonal" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Rhombohedral" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hexagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Kubisk" #~ msgid "&Fill Unit Cell" #~ msgstr "&Fyld enhedscelle" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometer" #~ msgid "&Picometer" #~ msgstr "&Picometer" #~ msgid "&Degree" #~ msgstr "&Grad" #~ msgid "&Radian" #~ msgstr "&Radian" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Bevar &kartesiske koordinater under ændring af celle" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Bevar &fractionelle koordinater under ændring af celle" #~ msgid "Display &cartesian matrix" #~ msgstr "Vis &kartesisk matrix" #~ msgid "Display as &row vectors" #~ msgstr "Vis som &rækkevektorer" #~ msgid "Display as &column vectors" #~ msgstr "Vi som &søjlevektorer" #~ msgid "Trajectory..." #~ msgstr "Bane..." #~ msgid "Open chemical file format" #~ msgstr "Åben chemical filformatet" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Chemical filer (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Åben parameter fil" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Chemical filer (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importer bane" #~ msgid "Import trajectory files" #~ msgstr "Importer banefil" #~ msgid "Setup Force Field..." #~ msgstr "Indstil kraftfelt" #~ msgid "Calculate Energy" #~ msgstr "Udregn energi" #~ msgid "Conformer Search..." #~ msgstr "Søg efter konformationer" #~ msgid "Constraints..." #~ msgstr "Afhængigheder" #~ msgid "Ignore Selection" #~ msgstr "Ignorér markering" #~ msgid "Fix Selected Atoms" #~ msgstr "Ret valgte atomer" #~ msgid "&Molecular Mechanics" #~ msgstr "&Molekylær Mekanik" #~ msgid "Energy = %L1 %2" #~ msgstr "Energi = %L1 %2" #~ msgid "Forcefield Optimization" #~ msgstr "Kraftfelt Optimering" #~ msgid "Systematic Rotor Search" #~ msgstr "Systematisk rotor søgning" #~ msgid "Random Rotor Search" #~ msgstr "Tilfældig rotor søgning" #~ msgid "Weighted Rotor Search" #~ msgstr "Vægtet rotor søgning" #~ msgid "ForceField" #~ msgstr "KraftFelt" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimiser molekyler og generer konformationer ved at bruge mekanisk " #~ "kraftfelter" #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Change H to Methyl" #~ msgstr "Ændre H til Methyl" #~ msgid "H to Methyl" #~ msgstr "H til Methyl" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Ændre hydrogen til metylgrupper" #~ msgid "Add or remove hydrogens" #~ msgstr "Tilføj eller fjern hydrogen" #~ msgid "Fragment..." #~ msgstr "Fragment..." #~ msgid "Insert SMILES" #~ msgstr "Indsæt SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Indsæt SMILES fragment:" #~ msgid "Insert Fragment" #~ msgstr "Indsæt fragment" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Indsæt molekylærfragmenter for at bygge størrer molekyler" #~ msgid "Peptide..." #~ msgstr "Peptid..." #~ msgid "Insert Peptide" #~ msgstr "Indsæt peptid" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Indsæt oligopeptide sekvenser" #~ msgid "Molecule Properties..." #~ msgstr "Molekyle egenskaber..." #~ msgid "&Properties" #~ msgstr "&Egenskaber" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "ukendt" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Estimer dipolaritet (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(afventende)" #~ msgid "Display standard molecular properties." #~ msgstr "Vis standard molekylære egenskaber." #~ msgid "Fetch from PDB..." #~ msgstr "Hent fra PDB..." #~ msgid "Fetch from URL..." #~ msgstr "Hent fra URL..." #~ msgid "PDB Entry" #~ msgstr "PDB element" #~ msgid "PDB entry to download." #~ msgstr "PDB element der skal hentes." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL til molekylerne som skal hentes." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Det angivne molekyle kunne ikke indlæses: %1" #~ msgid "Network Fetch" #~ msgstr "Hent fra netværk" #~ msgid "Fetch molecule files over the network." #~ msgstr "Hent molekyle filer fra netværk" #~ msgid "All Files" #~ msgstr "Alle filer" #~ msgid "Show Preview" #~ msgstr "Se forhåndsvisning" #~ msgid "Hide Preview" #~ msgstr "Skjul miniature" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Gem POV-Ray renderet billede" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Billedfiler (*.png, *pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Ingen filnavn angivet." #~ msgid "No valid filename was supplied." #~ msgstr "Intet gyldigt filnavn angivet." #~ msgid "Does not compute." #~ msgstr "Kan ikke behandles." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Du har valgt ikke at bruge direkte rendering med POV-Ray og ikke at gemme " #~ "POV-Ray filen. Dette betyder at der ikke vil blive gemt noget output. Er " #~ "du sikker på det er hvad du vil ?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Kan ikke skrive til filen %1. Har du tilladelse til at skrive til denne " #~ "lokation." #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray kunne ikke startes." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray kunne ikke startes. Måske er stien til den kørbarefil ikke " #~ "korrekt." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Skab POV-Ray filer og render dem med kommandolinie programmet POV-Ray." #~ msgid "Atom Properties..." #~ msgstr "Atom Egenskaber..." #~ msgid "Bond Properties..." #~ msgstr "Bindings Egenskaber..." #~ msgid "Angle Properties..." #~ msgstr "Vinkel Egenskaber..." #~ msgid "Torsion Properties..." #~ msgstr "Drejningsegenskaber..." #~ msgid "Conformer Properties..." #~ msgstr "Konformationsegenskaber..." #~ msgid "Atom Properties" #~ msgstr "Atom Egenskaber..." #~ msgid "Bond Properties" #~ msgstr "Bindings Egenskaber" #~ msgid "Angle Properties" #~ msgstr "Vinkel Egenskaber" #~ msgid "Torsion Properties" #~ msgstr "Drejningsegenskaber" #~ msgid "Conformer Properties" #~ msgstr "Konformationsegenskaber" #~ msgid "Properties" #~ msgstr "Egenskaber" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Vindue til at vise atomer-, binding-, vinkle- og drejningsegenskaber. Det " #~ "inkludere også en kartesiansk editor" #~ msgid "Valence" #~ msgstr "Valens" #~ msgid "Partial Charge" #~ msgstr "Delvis ladning" #~ msgid "Atom" #~ msgstr "Atom" #~ msgid "Rotatable" #~ msgstr "Roterbar" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Længde %1" #~ msgid "Vertex" #~ msgstr "Vertex" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Vinkel %1" #~ msgid "Angle" #~ msgstr "Vinkel" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Drejning %1" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nej" #~ msgid "Python Terminal" #~ msgstr "Python terminal" #~ msgid "pythonTerminalDock" #~ msgstr "pythonterminal" #~ msgid "Interactive python scripting terminal" #~ msgstr "Interaktiv pythonskript terminal." #~ msgid "QM Matches" #~ msgstr "Ens QM'er" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP Valg..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM Valg..." #~ msgid "Delete" #~ msgstr "Slet" #~ msgid "You must make a selection!" #~ msgstr "Du skal lave et valg!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES konvertering ikke tilgængelig" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES format konvertering ikke tilgængelig!" #~ msgid "Group Name" #~ msgstr "Gruppenavn" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Skab inputfil til GAMESS kvantekemipakken" #~ msgid "Advanced Settings Changed" #~ msgstr "Advancerede Indstillinger er ændret" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Advancerede Indstillinger er ændret.\n" #~ "Kassere?" #~ msgid "Advanced Settings Reset" #~ msgstr "Advancerede Indstillinger Nulstilling" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Er du sikker på du ønsker at nulstille de advancerede indstillinger ?\n" #~ "Alle ændringer vil gå tabt!" #~ msgid "Basic Settings Reset" #~ msgstr "Grundlæggende indstillinger nulstilling" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Er du sikker på du ønsker at nulstille de gundlæggende indstillinger ?\n" #~ "Alle ændringer vil gå tabt!" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussisk inputplatform generation advarsel" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Vil du opdatere forhåndsvisningsteksten, du mister alle ændringer i den " #~ "gaussiske inputplatform forhåndsvisningspanelet?" #~ msgid "Gaussian Running." #~ msgstr "Gasussian kører" #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "Gaussian kører allerede. Vent til den forrige beregning er færdig." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian er ikke installeret." #~ msgid "The G03 executable, cannot be found." #~ msgstr "G03 kørbare fil, kan ikke findes." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 kunne ikke startes. Måske er den ikke installeret korrekt." #~ msgid "Running Gaussian calculation..." #~ msgstr "Kører Gaussian-beregning..." #~ msgid "G03 Crashed." #~ msgstr "G03 havde et nedbrud." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian blev ikke afviklet korrekt. Måske er programmet ikke installeret " #~ "korrekt." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC input advarsel" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Vil du opdatere forhåndsvisningsteksten, du mister alle ændringer lavet i " #~ "MOPAC forhåndsvisningspanelet?" #~ msgid "MOPAC Running." #~ msgstr "MOPAC afvikles." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC beregner. Vent til den nuværende beregning færdiggøres." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC er ikke installeret." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "MOPAC kørbar fil kan ikke findes." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC kunne ikke startes." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC kunne ikke startes. Måske er det ikke korrekt installeret." #~ msgid "Running MOPAC calculation..." #~ msgstr "Afvikler MOPAC beregninger..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC brød ned." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC blev ikke afviklet korrekt. Måske er der ikke installeret korrekt." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "NWChem inputplatform generator advarsel" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Vil du opdatere forhåndsvisningsteksten, du mister alle ændringer lavet i " #~ "NWChem forhåndsvisningspanelet?" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem input platform advarsel" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Vil du opdatere forhåndsvisningsteksten, du mister alle ændringer i Q-" #~ "Chem input platform forhåndsvisningspanelet?" #~ msgid "Select SMARTS..." #~ msgstr "Vælg SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Vælg efter rest..." #~ msgid "Add Named Selection..." #~ msgstr "Tilføj navngivet sektion..." #~ msgid "SMARTS Selection" #~ msgstr "SMARTS udvalg" #~ msgid "SMARTS pattern to select" #~ msgstr "SMARTS mønster som skal vælges" #~ msgid "Select by residue" #~ msgstr "Vælg efter rest..." #~ msgid "Residue name" #~ msgstr "Restnavn" #~ msgid "There is no current selection." #~ msgstr "Der er ikke truffet nogen valg." #~ msgid "Add Named Selection" #~ msgstr "Tilføj navngivet sektion." #~ msgid "Name cannot be empty." #~ msgstr "Navn kan ikke være tomt." #~ msgid "There is already a selection with this name." #~ msgstr "Der er allerede en valg med dette navn." #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Vælg atomer, bindinger, restprodukter..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL shaders..." #~ msgid "Intensity (arb. units)" #~ msgstr "Intensitet (arb. enheder)" #~ msgid "Energy (eV)" #~ msgstr "Energi (eV)" #~ msgid "No intensities" #~ msgstr "Ingen intensiteter" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Vibrations data i det molekyle du har indlæst har ingen intensitetsdata. " #~ "Intensiteter er blevet sat til forvalgte værdier for visualisering." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Bølgenummer (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Skift (ppm)" #~ msgid "Activity" #~ msgstr "Aktivitet" #~ msgid "Intensity" #~ msgstr "Intensitet" #~ msgid "X Axis" #~ msgstr "X-akse" #~ msgid "Y Axis" #~ msgstr "Y-akse" #~ msgid "&Appearance" #~ msgstr "&Udseende" #~ msgid "E&xport Image" #~ msgstr "E&xporter billede" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrarød" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&Infrarød spektrum indstillinger" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "&NMR spektrum indstillinger" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "Indstillinger for &densitet på tilstande" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "Indstillinger for &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "No data" #~ msgstr "Intet data" #~ msgid "Dark" #~ msgstr "Mørk" #~ msgid "Light" #~ msgstr "Lys" #~ msgid "Publication" #~ msgstr "Udgivelse" #~ msgid "Handdrawn" #~ msgstr "Håndtegnet" #~ msgid "New Scheme" #~ msgstr "Nyt skema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Bekræft skema fjernelse" #~ msgid "Really remove current scheme?" #~ msgstr "Er du sikker på at det nuværende skema skal fjernes?" #~ msgid "Change Scheme Name" #~ msgstr "Ændre skemanavn" #~ msgid "Enter new name for current scheme:" #~ msgstr "Indtast det nye navn for det nuværende skema:" #~ msgid "Select Background Color" #~ msgstr "Vælg baggrundsfarve" #~ msgid "Select Foreground Color" #~ msgstr "Vælg forgrundsfarve" #~ msgid "Export Calculated Spectrum" #~ msgstr "Exporter udregnet spektrum" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Tabulator separerede værdier (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Tabulator separerede værdier" #~ msgid "Comma Separated Values" #~ msgstr "Komma separerede værdier" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importer spektrum" #~ msgid "Spectra Import" #~ msgstr "Importer spektrum" #~ msgid "Unknown extension: %1" #~ msgstr "Ukendt udvidelse: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR data (*.out)" #~ msgid "Data Format" #~ msgstr "Dataformat" #~ msgid "Load Spectral Data" #~ msgstr "Indlæs spektrum data:" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format" #~ msgid "Windows Bitmap" #~ msgstr "Windows-bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Gem spektrumbillede" #~ msgid "&Advanced <<" #~ msgstr "&Avanceret <<" #~ msgid "&Advanced >>" #~ msgstr "&Avanceret >>" #~ msgid "&Spectra..." #~ msgstr "&Spektrum" #~ msgid "Spectra" #~ msgstr "Spektre" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualiser spektraldata fra kvantekemiske beregninger" #~ msgid "Vibration" #~ msgstr "Vibration" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Sorterer %1 vibrationer efter frekvens..." #~ msgid "Pause" #~ msgstr "Pause" #~ msgid "Super Cell Builder..." #~ msgstr "Super celle bygger..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Dette dokument er et isoleret molekyle. Du skal skabe en celleenhed." #~ msgid "Status" #~ msgstr "Status" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Ingenting" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Elektrostatisk Potentiale" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Elektrontæthed" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Molekylær omløbsbane" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Fejl - udefineret type" #~ msgid "Create Surfaces..." #~ msgstr "Skab overflade..." #~ msgid "Calculating VdW Cube" #~ msgstr "Udregner VdW Kube" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Udregner MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Elektrontæthed" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL widget blev ikke initializeret korrekt så video kan ikke skabes" #~ msgid "GL widget has no molecule" #~ msgstr "GL widget har ikke noget molekyle" #~ msgid "Building video " #~ msgstr "Bygger video " #~ msgid "Could not run povray." #~ msgstr "Kunne ikke afvikle povray." #~ msgid "Could not run mencoder." #~ msgstr "Kunne ikke afvikle mencoder." #~ msgid "Connect" #~ msgstr "Tilslut" #~ msgid "Disconnect" #~ msgstr "Afbryd" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Ugyldig OpenGL-sammenhæng.\n" #~ "Enten er noget i din OpenGL-opsætning fuldstændig i stykker (kan du køre " #~ "andre OpenGL-programmer?), eller også har du fundet en programfejl." #~ msgid "Debug Information" #~ msgstr "Fejlretningsinformation" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Vis størrelse: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Atomer: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Bindinger: %L1" #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Filtype '%1' er ikke understøttet ved læsning" #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Filtype for filen '%1' er ikke understøttet ved læsning" #~ msgid "Could not open file '%1' for writing." #~ msgstr "Kunne ikke åbne fil '%1' for at skrive til den." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Kunne ikke åbne fil '%1' for at læse fra den." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Kunne ikke åbne fil '%1' for at læse den." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Kunne ikke åbne fil '%1' for at at skrive til den." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "Kunne ikke gemme molekylefil - kunne ikke omdøbe den originale fil." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "Kunne ikke gemme molekylefil - kunne ikke omdøbe den nye fil." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "Kunne ikke gemme molekylefil - kunne ikke fjerne den gamle fil." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Filen %1 kunne ikke åbnes for at skrive til den." #~ msgid "Molecule %1" #~ msgstr "Molekyle %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Ukendt Python-motor" #~ msgid "N/A" #~ msgstr "Ikke tilgængelig" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: checking " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - scriptet har ikke defineret en \"Engine\"-klasse" #~ msgid " - no module" #~ msgstr " - intet modul" #~ msgid "Unknown Python Extension" #~ msgstr "Ukendt Python-udvidelse" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: checker " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - scriptet har ikke defineret en \"Extension\"-klasse" #~ msgid "Unknown Python Tool" #~ msgstr "Ukendt Python-værktøj" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: checking " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - scriptet har ikke defineret en \"Tool\"-klasse" #~ msgid "Conformer %1" #~ msgstr "Konformation %1" #~ msgid "Tools" #~ msgstr "Værktøjer" #~ msgid "Axis:" #~ msgstr "Akser:" #~ msgid "Align:" #~ msgstr "Ret ind:" #~ msgid "Everything" #~ msgstr "Det hele" #~ msgid "Align" #~ msgstr "Ret ind" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: kunne ikke sætte et kraftfelt op...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Steps per Update:" #~ msgstr "Trin per opdatering:" #~ msgid "Algorithm:" #~ msgstr "Algoritme:" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Molekylær dynamik (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Molekylær dynamik (900K)" #~ msgid "Start" #~ msgstr "Start" #~ msgid "Fixed atoms are movable" #~ msgstr "Fikserede atomer kan flyttes" #~ msgid "Ignored atoms are movable" #~ msgstr "Ignorerede atomer kan flyttes" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOpt molekyle" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Automatisk optimerisering af molekylære geometri" #~ msgid "AutoOptimization Settings" #~ msgstr "AutoOptimization indstillinger" #~ msgid "Auto Rotation Tool" #~ msgstr "Værktøj til auto-rotation" #~ msgid "x rotation:" #~ msgstr "x-rotation:" #~ msgid "x rotation" #~ msgstr "x-rotation" #~ msgid "y rotation:" #~ msgstr "y-rotation:" #~ msgid "y rotation" #~ msgstr "y-rotation" #~ msgid "z rotation:" #~ msgstr "z-rotation:" #~ msgid "z rotation" #~ msgstr "z-rotation" #~ msgid "Automatic rotation of molecules" #~ msgstr "Automatisk rotation af molekyler" #~ msgid "AutoRotate Settings" #~ msgstr "Autoroter indstillinger" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Bindingslængde: %L1" #~ msgid " Show Angles" #~ msgstr " Vis vinkler" #~ msgid "Snap-to Threshold: " #~ msgstr "Hægt på tærskel: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Bindingscentreret manipuler" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulation af bindingslængder, vinkler og drejninger" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Afstand (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Vinkel: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Afstand (3->4): %L1 %2" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Afstande:" #~ msgid "Delete Atom" #~ msgstr "Slet atom" #~ msgid "Draw Bond" #~ msgstr "Tegn binding" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Tegn og rediger atomer og bindinger" #~ msgid "Draw Settings" #~ msgstr "Tegningsindstillinger" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Flyt, roter og tilpas atomer og fragmenter" #~ msgid "Navigate Settings" #~ msgstr "Navigationsindstillinger" #~ msgid "Selection Mode:" #~ msgstr "Udvælgelsestilstand:" #~ msgid "Atom/Bond" #~ msgstr "Atom/binding" #~ msgid "Residue" #~ msgstr "Rest" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Vælg atomer, rester og molekyler" #~ msgid "Symbol" #~ msgstr "Symbol" #~ msgid "Bond Length" #~ msgstr "Bindingslængde" #~ msgid "Bond Angle" #~ msgstr "Bindingsvinkel" #~ msgid "Dihedral Angle" #~ msgstr "Hældningsvinkel" #~ msgid "Z Matrix Editor..." #~ msgstr "Z-matrix-editor..." #~ msgid "Atom Radius:" #~ msgstr "Atomradius:" #~ msgid "Bond Radius:" #~ msgstr "Bindingsradius:" #~ msgid "Shape" #~ msgstr "Form" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Ark" #~ msgid "Loop" #~ msgstr "Løkke" #~ msgid "Colors" #~ msgstr "Farver" #~ msgid "Dipole:" #~ msgstr "Dipol:" #~ msgid "Width:" #~ msgstr "Bredde:" #~ msgid "Cut-off radius:" #~ msgstr "Afskæringsradius:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Afskæringsvinkel:" #~ msgid "None" #~ msgstr "Ingen" #~ msgid "Residue number" #~ msgstr "Restnummer" #~ msgid "Unique ID" #~ msgstr "Unikt id" #~ msgid "Bond length" #~ msgstr "Bindingslængde" #~ msgid "Bond number" #~ msgstr "Bindingsnummer" #~ msgid "Bond order" #~ msgstr "Bindingsorden" #~ msgid "Lines" #~ msgstr "Linjer" #~ msgid "Radius:" #~ msgstr "Radius:" #~ msgid "Include Nitrogens" #~ msgstr "Inkludér kvælstoffer" #~ msgid "Orbital:" #~ msgstr "I kredsløb:" #~ msgid "Fill" #~ msgstr "Fyld" #~ msgid "Draw Box:" #~ msgstr "Tegn boks:" #~ msgid "Style:" #~ msgstr "Stil:" #~ msgid "Selected Colors" #~ msgstr "Valgte farver" #~ msgid "Colors:" #~ msgstr "Farver:" #~ msgid "Positive" #~ msgstr "Positiv" #~ msgid "Negative" #~ msgstr "Negativ" #~ msgid "Show Atoms" #~ msgstr "Vis atomer" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Løkke" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Method" #~ msgstr "Metode" #~ msgid "Energy" #~ msgstr "Energi" #~ msgid "Constraints" #~ msgstr "Begrænsninger" #~ msgid "Add Constraints" #~ msgstr "Tilføj begrænsninger" #~ msgid "Add" #~ msgstr "Tilføj" #~ msgid "Save" #~ msgstr "Gem" #~ msgid "Load" #~ msgstr "Indlæs" #~ msgid "Nothing" #~ msgstr "Ingenting" #~ msgid "7 - Gaussian smearing" #~ msgstr "Gaussisk udtværing" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Gaussian Input" #~ msgstr "Gaussian input" #~ msgid "&Gaussian Width:" #~ msgstr "&Gauss-bredde:" #~ msgid "Gaussian &Width:" #~ msgstr "Gauss-&bredde:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "højere frekvens vibrationer vil vise hurtigere bevægelser" #~ msgid "Animation speed set by frequency" #~ msgstr "Animationshastighed sat af frekvens" #~ msgid "Display force &vectors" #~ msgstr "Vis kraft&vektorer" #~ msgid "Create Surfaces" #~ msgstr "Skab overflader" #~ msgid "Surface Type:" #~ msgstr "Overflade type:" #~ msgid "Color By:" #~ msgstr "Farv efter:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Lav" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Medium" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Høj" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Meget høj" #~ msgid "Advanced..." #~ msgstr "Avanceret..." #~ msgid "Display visual cues" #~ msgstr "Vis visuelle tegn" #~ msgid "Python Settings" #~ msgstr "Python-indstillinger" #~ msgid "Z Matrix Editor" #~ msgstr "Z-matrix-editor" #~ msgid "Import Selected Atoms" #~ msgstr "Importer valgte atomer" avogadrolibs-1.93.0/i18n/de.po000066400000000000000000007111021360735163600160030ustar00rootroot00000000000000# translation of _avogadro-de.po to msgid "" msgstr "" "Project-Id-Version: _avogadro-de\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:29+0000\n" "Last-Translator: Ivan Panchenko \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Eingabe-Erzeuger …" #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Eingabe-Erzeuger …" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Fortfahren" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Schließen" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Unbekannt" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "Start von Abinit gescheitert." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Berechnung abbrechen" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Warnung" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Warnung" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Lösungsmittel auswählen" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Ausgabe" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Kann nicht in Datei schreiben." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Video-Datei wurde nicht geschrieben." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Video-Datei wurde nicht geschrieben." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Einrichten" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Titel" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Dateiname:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processoren:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Kalkulation:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Theorie:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Theorie:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Basis" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Kein Molekülsatz" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Stoppe &Animation" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Keine Atome ausgewählt" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Wasserstoff" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lithium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Kohlenstoff" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Stickstoff" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Sauerstoff" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Natrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silizium" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Phosphor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Schwefel" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Chlor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kalium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kalzium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titan" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Chrom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Eisen" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nickel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Kupfer" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsen" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selen" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niob (Columbium)" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybdän" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technetium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruthenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Silber" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Zinn" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellur" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jod" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cäsium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lanthan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cer" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodym" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodym" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promethium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Wolfram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhenium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platin" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Gold" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Quecksilber" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Thallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Blei" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismut (Wismut)" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Thorium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uran" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovium" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorium" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Durchsuchen …" #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Lösungsmittel auswählen" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Auswahl entfernen" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Alle Dateien" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "unbenannt" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodentabelle" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Start von Abinit gescheitert." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinit ist abgestürzt." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL Fehler" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Unbekannt" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekül" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Atom hinzufügen" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Atom entfernen" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Alle Löschen" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Wasserstoffatome adjustieren" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Element ändern" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Element ändern" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formalladung" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Bindung hinzufügen" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Atom entfernen" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Bindung entfernen" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Anzahl der Bindungen" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Anzahl der Bindungen ändern" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " In Bindungen einrasten" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Bindung entfernen" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "&Elementarzelle hinzufügen" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "&Elementarzelle entfernen" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Elementarzelle ausfüllen" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "Atome um Zelle &wickeln" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Skaliere Volumen der Einheitszelle" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Superzelle" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "In Standardrichtung drehen" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Auf die primitive Zelle reduzieren" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Kristall symmetrisieren" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Elementarzelle ausfüllen" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Zu asymmetrischer Einheit reduzieren" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Datei" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exportieren" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Schwellenwerte" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Öffne WFN-Datei" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Erweiterungen" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Fehler" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problem, die traj-Datei %1 zu lesen" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL Fehler" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problem, die traj-Datei %1 zu lesen" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Öffne WFN-Datei" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Öffne WFN-Datei" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Fehler" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Eingabestapel speichern" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Erfolg!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Eingabedatei-Kommentare" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Mehrere Bindungen anzeigen" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Wasserstoffatome" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Kugel-Stab" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Zeigt Atom- und Bindungsbeschriftungen an" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Bindungsorientiertes Bearbeiten" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Bindungsorientiertes Bearbeiten" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Endatom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Wasserstoffatome entfernen" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "S&truktur" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Bindung" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Toleranz für Symmetrieoperationen..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Dateiname:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Kartesischer Koordinaten-Editor" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Kartesischer Koordinaten-Editor" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Änderungen rückgängig machen" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "ungültiger Dateiname" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Elementbezeichnung" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Elementsymbol" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Elementsymbol" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "ungültiger Dateiname" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Ordungszahl" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "ungültiger Dateiname" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Koordinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Koordinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Koordinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Kartesische Koordinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Kartesische Koordinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Koordinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Setze kartesische Koordinaten" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Benutzerdefiniert" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Alexander Minges,Erik Hahn,Geoff Hutchison," "HUWagner,Hans Christof,Keruskerfuerst,Photon,Steve Markgraf,dlonie,kuede," "mogli,soc, ,Launchpad Contributions:,Alexander Minges,Erik Hahn,Geoff " "Hutchison,HUWagner,Hans Christof,Keruskerfuerst,Photon,Steve Markgraf,dlonie," "kuede,mogli,soc, ,Launchpad Contributions:,Avogadro Team,jochenheil,kuede, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Keruskerfuerst," "carsten,jochenheil,kuede,soc, ,Launchpad Contributions:,Alexander Hausmann," "Alexander Minges,Avogadro Team,Geoff Hutchison,Keruskerfuerst,MartinK," "carsten,jochenheil,kuede,soc,ucn|, ,Launchpad Contributions:,Alexander " "Hausmann,Alexander Minges,Avogadro Team,Eduard Gotwig,Geoff Hutchison," "Keruskerfuerst,MartinK,carsten,jochenheil,kuede,soc,ucn|, ,Launchpad " "Contributions:,Alexander Hausmann,Alexander Minges,Avogadro Team,Eduard " "Gotwig,Geoff Hutchison,Keruskerfuerst,MartinK,Simon Janich,carsten," "jochenheil,kuede,soc,ucn|, ,Launchpad Contributions:,Alexander Hausmann," "Alexander Minges,Avogadro Team,Eduard Gotwig,Geoff Hutchison,Keruskerfuerst," "MartinK,Matthias Mailänder,Simon Janich,carsten,jochenheil,kuede,soc," "spaceflower,ucn|, ,Launchpad Contributions:,.lu,Alexander Hausmann,Alexander " "Minges,Avogadro Team,Eduard Gotwig,Florian Selent,Geoff Hutchison,Jens " "Maucher,Keruskerfuerst,MartinK,Matthias Mailänder,Simon Janich,carsten," "jochenheil,kuede,soc,spaceflower,ucn|, ,Launchpad Contributions:,.lu," "Alexander Hausmann,Alexander Minges,Avogadro Team,Eduard Gotwig,Florian " "Selent,Geoff Hutchison,Jens Maucher,Keruskerfuerst,MartinK,Matthias " "Mailänder,Michael Schwarz,Simon Janich,carsten,jochenheil,kuede,soc," "spaceflower,ucn|, ,Launchpad Contributions:,.lu,Alexander Hausmann,Alexander " "Minges,Avogadro Team,Eduard Gotwig,Florian Selent,Geoff Hutchison,Jens " "Maucher,Keruskerfuerst,MartinK,Matthias Mailänder,Michael Schwarz,Simon " "Janich,carsten,jochenheil,kuede,soc,spaceflower,ucn|, ,Launchpad " "Contributions:,.lu,Alexander Hausmann,Alexander Minges,Avogadro Team,Daniel " "Schury,Daniel Winzen,David Lauenstein,Dennis Baudys,Eduard Gotwig,Florian " "Selent,Friedrich Herbst,Geoff Hutchison,Hendrik Knackstedt,Jan Sonntag,Jens " "Maucher,Keruskerfuerst,MartinK,Matthias Mailänder,Maximilian Mühlbauer," "Michael Schwarz,Niklas,Phillip Sz,Salesome,Scott,Simon Janich,Tobias Bannert," "carsten,jochenheil,kuede,soc,spaceflower,ucn|, ,Launchpad Contributions:,.lu," "Alexander Hausmann,Alexander Minges,Avogadro Team,Daniel Schury,Daniel " "Winzen,David Lauenstein,Dennis Baudys,Eduard Gotwig,Florian Selent,Friedrich " "Herbst,Geoff Hutchison,Hendrik Knackstedt,Ivan Panchenko,Jan Sonntag,Jens " "Maucher,Keruskerfuerst,MartinK,Matthias Mailänder,Maximilian Mühlbauer," "Michael Schwarz,Niklas,Phillip Sz,Salesome,Scott,Simon Janich,Tobias Bannert," "carsten,jochenheil,kuede,soc,spaceflower,ucn|, ,Launchpad Contributions:,.lu," "Alexander Hausmann,Alexander Minges,Avogadro Team,Daniel Schury,Daniel " "Winzen,David Lauenstein,Dennis Baudys,Eduard Gotwig,Florian Selent,Friedrich " "Herbst,Geoff Hutchison,Hendrik Knackstedt,Ivan Panchenko,Jan Sonntag,Jens " "Maucher,Keruskerfuerst,MartinK,Matthias Mailänder,Maximilian Mühlbauer," "Michael Schwarz,Niklas,Phillip Sz,Salesome,Scott,Simon Janich,Tobias Bannert," "carsten,jochenheil,kuede,soc,spaceflower,ucn|" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ mit Zahlen" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Kartesische Koordinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Kartesische Koordinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP Informationen" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP Informationen" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Turbomole-Eingabe" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Alle kopieren" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Benutzerdefiniert" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Alle Löschen" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Format konnte nicht festgelegt werden: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Format konnte nicht festgelegt werden: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "Kristall aus der Zwischenablage i&mportieren …" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Elementarzelle ausfüllen" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Elementarzelle ausfüllen" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "Atome um Zelle &wickeln" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "In Standardrichtung drehen" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Zelle auf &Volumen skalieren …" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Superzelle" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Zelle reduzieren (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Kristall …" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "&Elementarzelle entfernen" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "&Elementarzelle hinzufügen" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Diese Elementarzelle wurde bereits auf ihre kanonische Niggli-Repräsentation " "reduziert." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Kristall …" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Zeigt Atom- und Bindungsbeschriftungen an" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Text kann nicht ausgewertet werden" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Benutzerdefinierte Koordinatenachsen" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Zeichnen" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Atom zeichnen" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Anzahl der Bindungen ändern" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Atom entfernen" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distanz" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Entfernung (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Anderes …" #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Automatisches Optimieren" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Einfach" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Zweifach" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Dreifach" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Skripte" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problem, die traj-Datei %1 zu lesen" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Eingabe-Erzeuger …" #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS Eingabe" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Einzelpunktsenergie" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Gleichgewichtsgeometrie" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Übergangsstatus" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frequenzen" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Kern-Potential" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Wasser" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doublet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dication" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Kation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutral" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS-Eingabestapel" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Berechnung abbrechen" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Wasserstoffatome adjustieren" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Wasserstoffatome hinzufügen" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Wasserstoffatome entfernen" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Wasserstoffatome entfernen" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Wasserstoffatome" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Wasserstoffatome" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importieren" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Zeigt Atom- und Bindungsbeschriftungen an" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES …" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES …" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "E&infügen" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Keine Beschreibung" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekül" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Erzeugen …" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Bearbeiten" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Atom bearbeiten" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Messen" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Öffnungswinkel:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Winkel:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Winkel:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Messen" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Zeichnet molekulare Isoflächen" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Ansicht" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Moleküleigenschaften" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigieren" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigieren" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "chemischer Name" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "chemische Struktur zum Herunterladen" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Herunterladen übers Netzwerk fehlgeschlagen" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Netzwerk-Zeitüberschreitung oder anderer Fehler." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Spezifiziertes Molekül konnte nicht gefunden werden: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Herunterladen übers Netzwerk fehlgeschlagen" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "Geometrie &optimieren" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometrie-Optimierung" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Bindungen erkennen?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Wasserstoffatome hinzufügen" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Wasserstoffatome für pH-Wert hinzufügen …" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Wasserstoffatome entfernen" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Lesen eines Molküls aus Datei '%1' ist fehlgeschlagen" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Es ist ein Problem beim Schreiben der Datei %1 aufgetreten" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "Geometrie &optimieren" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Erzeugen …" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Trajektorien-Datei %1 stimmt nicht für die Anzahl Atome im aktuellen Molekül " "überein" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "Geometrie &optimieren" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Wasserstoffatome hinzufügen" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Füge Wasserstoffatome für den pH-Wert hinzu" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Wasserstoffatome entfernen" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parameter:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "dynmische Bindungen" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Entfernen …" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Exportiere Vektorgrafik" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Die Datei %1 kann nicht gelesen werden." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Ich bin eine Fehlernachricht" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Fehler" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Sichere Videodatei" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Rendere mit POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Rendert primitive Strukturen mit Hilfe von QTAIM-Eigenschaften" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Atomladung" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "Erweiterungen" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Öffne WFN-Datei" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "WFN-Dateien (*.wfn);;Alle Dateitypen (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "QTAIM-Erweiterung" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Input-Dateien für Quantenchemie-Pakete erstellen" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Berechne Elektronendichte" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Berechne Elektronendichte" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Molekülorbitale berechnen und visualisieren" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Zurücksetzen" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Eingabedatei-Erzeuger" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Alle entfernen" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Auswahl" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "Auswahl &umkehren" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " Valenzelektronen" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "Au&swahl" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "Au&swahl" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Auswahl" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Auswahl" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Raumgruppe bestimmen" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Zu asymmetrischer Einheit reduzieren" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "SCF-Toleranz:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Raum&gruppe" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Bestimmung der Raumgruppe schlug fehl.\n" "\n" "Möchten Sie es erneut mit anderer Toleranz versuchen?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Bestimmung der Raumgruppe schlug fehl.\n" "\n" "Möchten Sie es erneut mit anderer Toleranz versuchen?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Bestimmung der Raumgruppe schlug fehl.\n" "\n" "Möchten Sie es erneut mit anderer Toleranz versuchen?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Bestimmung der Raumgruppe schlug fehl.\n" "\n" "Möchten Sie es erneut mit anderer Toleranz versuchen?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "SCF-Toleranz:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "International" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Hall" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Raumgruppe festlegen" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Raum&gruppe" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Schwingungen" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Spektren-Visualisierung" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "&Gitterkoordinaten anzeigen" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Typ" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Symmetrie" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Auswahl nach Element …" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Zeigt molekulare Dipolmomente" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Rendere" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Rendere mit POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Drahtgitter" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Zeigt Moleküle als Stabmodell" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Dialog" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Form" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "EInstellungen: Auswahl" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Berechnung abbrechen" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Shader-Programm:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processoren:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Ausblenden wenn fertig" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Ausblenden wenn fertig" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Element ändern" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Dalton-Eingabedatei" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Nennwert-Datei:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "…" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Kraftfeld:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Nennwert-Datei:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Dalton-Eingabedatei" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Eingabestapel speichern" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Erfolg!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Struktur:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Datei öffnen …" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Einstellungen: Messen" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Dateiname:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigieren" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigieren" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigieren" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Dateiname:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Abbrechen" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Koordinatenformat:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Zurücksetzen" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distanz" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Format:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Änderungen rückgängig machen" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Anwenden" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Kristall importieren" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Superzellen-Parameter" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Superzellen-Optionen" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Wiederholung von A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Wiederholung von B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Wiederholung von C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Bestimme die Farbe der Einheitszelle" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Zellenmatrix" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Zellgittermatrix (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Atome verschieben" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Anwenden" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Ausblenden" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Skaliere Volumen der Einheitszelle" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Neues Volumen eingeben:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Skalierungs&faktor:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Textbezeichnung" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Anzahl der Bindungen:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS Eingabe" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Grundeinstellungen" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "In:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplizität:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Mit:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Titel:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Ladung:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Berechnen:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Dateiname:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Alles zurücksetzen" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Voreinstellungen" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Datei öffnen …" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "Name" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Keine Beschreibung" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molkülgewicht (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "chemische Formel" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Anzahl der Atome" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Anzahl der Bindungen" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometrie-Optimierung" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimierungs-Methode:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Kraftfeld:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimierungs-Methode:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Tiefster Abstieg" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Verlaufskonjugation" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Automatisches Rotieren" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "van der Waals, Isofläche = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Elektrostatisches Potenzial" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "Schritte" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Gradientenkonvergenzkriterien:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Konvergenz" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Zeit-Limit:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Maßeinheiten" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Anzahl der Bindungen" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Wellenlänge (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Auswahl entfernen" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Radius des kritischen Punkts" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Radius des Bindungspfads" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Kovalent" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Konstante Größe" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Transparenz:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Oberflächen" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Oberflächen" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Mittel" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Sehr niedrig" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Niedrig" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Hoch" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Sehr hoch" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "&Isoflächenwert" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Auflösung:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Oberflächen" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Berechnen" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Schwingungen" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitude:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Starte &Animation" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Stoppe &Animation" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekül" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Symmetrie" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Einstellungen" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Symmetrie" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Raum&gruppe" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Alexander Minges,Erik Hahn,Geoff Hutchison," "HUWagner,Hans Christof,Keruskerfuerst,Photon,Steve Markgraf,dlonie,kuede," "mogli,soc, ,Launchpad Contributions:,Alexander Minges,Erik Hahn,Geoff " "Hutchison,HUWagner,Hans Christof,Keruskerfuerst,Photon,Steve Markgraf,dlonie," "kuede,mogli,soc, ,Launchpad Contributions:,Avogadro Team,jochenheil,kuede, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Keruskerfuerst," "carsten,jochenheil,kuede,soc, ,Launchpad Contributions:,Alexander Hausmann," "Alexander Minges,Avogadro Team,Geoff Hutchison,Keruskerfuerst,MartinK," "carsten,jochenheil,kuede,soc,ucn|, ,Launchpad Contributions:,Alexander " "Hausmann,Alexander Minges,Avogadro Team,Eduard Gotwig,Geoff Hutchison," "Keruskerfuerst,MartinK,carsten,jochenheil,kuede,soc,ucn|, ,Launchpad " "Contributions:,Alexander Hausmann,Alexander Minges,Avogadro Team,Eduard " "Gotwig,Geoff Hutchison,Keruskerfuerst,MartinK,Simon Janich,carsten," "jochenheil,kuede,soc,ucn|, ,Launchpad Contributions:,Alexander Hausmann," "Alexander Minges,Avogadro Team,Eduard Gotwig,Geoff Hutchison,Keruskerfuerst," "MartinK,Matthias Mailänder,Simon Janich,carsten,jochenheil,kuede,soc," "spaceflower,ucn|, ,Launchpad Contributions:,.lu,Alexander Hausmann,Alexander " "Minges,Avogadro Team,Eduard Gotwig,Florian Selent,Geoff Hutchison,Jens " "Maucher,Keruskerfuerst,MartinK,Matthias Mailänder,Simon Janich,carsten," "jochenheil,kuede,soc,spaceflower,ucn|, ,Launchpad Contributions:,.lu," "Alexander Hausmann,Alexander Minges,Avogadro Team,Eduard Gotwig,Florian " "Selent,Geoff Hutchison,Jens Maucher,Keruskerfuerst,MartinK,Matthias " "Mailänder,Michael Schwarz,Simon Janich,carsten,jochenheil,kuede,soc," "spaceflower,ucn|, ,Launchpad Contributions:,.lu,Alexander Hausmann,Alexander " "Minges,Avogadro Team,Eduard Gotwig,Florian Selent,Geoff Hutchison,Jens " "Maucher,Keruskerfuerst,MartinK,Matthias Mailänder,Michael Schwarz,Simon " "Janich,carsten,jochenheil,kuede,soc,spaceflower,ucn|, ,Launchpad " "Contributions:,.lu,Alexander Hausmann,Alexander Minges,Avogadro Team,Daniel " "Schury,Daniel Winzen,David Lauenstein,Dennis Baudys,Eduard Gotwig,Florian " "Selent,Friedrich Herbst,Geoff Hutchison,Hendrik Knackstedt,Jan Sonntag,Jens " "Maucher,Keruskerfuerst,MartinK,Matthias Mailänder,Maximilian Mühlbauer," "Michael Schwarz,Niklas,Phillip Sz,Salesome,Scott,Simon Janich,Tobias Bannert," "carsten,jochenheil,kuede,soc,spaceflower,ucn|, ,Launchpad Contributions:,.lu," "Alexander Hausmann,Alexander Minges,Avogadro Team,Daniel Schury,Daniel " "Winzen,David Lauenstein,Dennis Baudys,Eduard Gotwig,Florian Selent,Friedrich " "Herbst,Geoff Hutchison,Hendrik Knackstedt,Ivan Panchenko,Jan Sonntag,Jens " "Maucher,Keruskerfuerst,MartinK,Matthias Mailänder,Maximilian Mühlbauer," "Michael Schwarz,Niklas,Phillip Sz,Salesome,Scott,Simon Janich,Tobias Bannert," "carsten,jochenheil,kuede,soc,spaceflower,ucn|, ,Launchpad Contributions:,.lu," "Alexander Hausmann,Alexander Minges,Avogadro Team,Daniel Schury,Daniel " "Winzen,David Lauenstein,Dennis Baudys,Eduard Gotwig,Florian Selent,Friedrich " "Herbst,Geoff Hutchison,Hendrik Knackstedt,Ivan Panchenko,Jan Sonntag,Jens " "Maucher,Keruskerfuerst,MartinK,Matthias Mailänder,Maximilian Mühlbauer," "Michael Schwarz,Niklas,Phillip Sz,Salesome,Scott,Simon Janich,Tobias Bannert," "carsten,jochenheil,kuede,soc,spaceflower,ucn|" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,erik_hahn@gmx.de,,,,armin_mohring@web.de,michael.kogan@gmx.net," "steve@steve-m.de,loniedavid@gmail.com,,,soc@krg-nw.de,,,,erik_hahn@gmx.de,,,," "armin_mohring@web.de,michael.kogan@gmx.net,steve@steve-m.de,loniedavid@gmail." "com,,,soc@krg-nw.de,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-" "devel@lists.sourceforge.net,,armin_mohring@web.de,cniehaus@gmx.de,,," "simon@ochsenreither.de,,,alexander-hausmann@web.de,,avogadro-devel@lists." "sourceforge.net,,armin_mohring@web.de,,cniehaus@gmx.de,,,simon@ochsenreither." "de,,,,alexander-hausmann@web.de,,avogadro-devel@lists.sourceforge.net," "eduardgotwig@gmail.com,,armin_mohring@web.de,,cniehaus@gmx.de,,," "simon@ochsenreither.de,,,,alexander-hausmann@web.de,,avogadro-devel@lists." "sourceforge.net,eduardgotwig@gmail.com,,armin_mohring@web.de,,,cniehaus@gmx." "de,,,simon@ochsenreither.de,,,,alexander-hausmann@web.de,,avogadro-" "devel@lists.sourceforge.net,eduardgotwig@gmail.com,,armin_mohring@web.de,," "matthias@mailaender.name,,cniehaus@gmx.de,,,simon@ochsenreither.de,,,,,," "alexander-hausmann@web.de,,avogadro-devel@lists.sourceforge.net," "eduardgotwig@gmail.com,,,,armin_mohring@web.de,,matthias@mailaender.name,," "cniehaus@gmx.de,,,simon@ochsenreither.de,,,,,,alexander-hausmann@web.de,," "avogadro-devel@lists.sourceforge.net,eduardgotwig@gmail.com,,,," "armin_mohring@web.de,,matthias@mailaender.name,,,cniehaus@gmx.de,,," "simon@ochsenreither.de,,,,,,alexander-hausmann@web.de,,avogadro-devel@lists." "sourceforge.net,eduardgotwig@gmail.com,,,,armin_mohring@web.de,," "matthias@mailaender.name,,,cniehaus@gmx.de,,,simon@ochsenreither.de,,,,,," "alexander-hausmann@web.de,,avogadro-devel@lists.sourceforge.net,das." "surst@gmail.com,d@winzen4.de,david.lauenstein@gmail.com,,g@ox.io,," "friedrichherbst@gmx.de,,,,,armin_mohring@web.de,,,,,niku18@web.de,,,,,," "cniehaus@gmx.de,,,simon@ochsenreither.de,,,,,,alexander-hausmann@web.de,," "avogadro-devel@lists.sourceforge.net,das.surst@gmail.com,d@winzen4.de,david." "lauenstein@gmail.com,,g@ox.io,,friedrich-herbst@gmx.de,,,pivan@opmbx.org,,," "armin_mohring@web.de,,,,,niku18@web.de,,,,,,cniehaus@gmx.de,,," "simon@ochsenreither.de,,,,,,alexander-hausmann@web.de,,avogadro-devel@lists." "sourceforge.net,das.surst@gmail.com,,david.lauenstein@gmail.com,,g@ox.io,," "friedrich-herbst@gmx.de,,,pivan@opmbx.org,,,armin_mohring@web.de,,,,," "niku18@web.de,,,,,tobannert@gmail.com,cniehaus@gmx.de,,,simon@ochsenreither." "de,," #~ msgid "Color by Index" #~ msgstr "Farbe nach Index" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Farbe nach Index (rot, orange, gelb, grün, blau, violett)." #~ msgid "Color by Partial Charge" #~ msgstr "Farbe nach Partialladung" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Farbe nach atomarer Teilladung (blau = positiv, rot = negativ)." #~ msgid "Custom Color:" #~ msgstr "Benutzerdefinierte Farbe:" #~ msgid "Custom Color" #~ msgstr "Benutzerdefinierte Farbe" #~ msgid "Set custom colors for objects" #~ msgstr "Benutzerdefinierte Farben für Objekte festlegen" #~ msgid "Color by Distance" #~ msgstr "Farbe nach Abstand" #~ msgid "Color by distance from the first atom." #~ msgstr "Farbe nach Abstand vom ersten Atom." #~ msgid "Color by Element" #~ msgstr "Farbe nach Element" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Farbe nach Element (Kohlenstoff = grau, Sauerstoff = rot, …)" #~ msgid "Color by Residue" #~ msgstr "Farbe nach Rest" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Farbe nach Rest (Aminosäurentyp, Hydrophobie, …)" #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS Muster:" #~ msgid "Highlight Color:" #~ msgstr "Farbe für Hervorhebungen:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Farbe nach SMARTS Muster" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "" #~ "Besonderheiten hervorheben, die mit einem SMARTS Muster übereinstimmen" #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Engines" #~ msgid "Axes" #~ msgstr "Achsen" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "x-, y- und z-Achsen am Ursprung zeichnen" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Zeichnet Grundgerüst mit Kugeln (Atome) und Stäben (Bindungen)" #~ msgid "Cartoon" #~ msgstr "Cartoon" #~ msgid "Renders protein secondary structure" #~ msgstr "Zeichnet Protein-Sekundärstruktur" #~ msgid "Dipole" #~ msgstr "Dipol" #~ msgid "Force" #~ msgstr "Kraft" #~ msgid "Renders force displacements on atoms" #~ msgstr "Rendert Kraftverschiebungen auf Atomen" #~ msgid "Hydrogen Bond" #~ msgstr "Wasserstoffbindung" #~ msgid "Renders hydrogen bonds" #~ msgstr "Wasserstoffbindungen anzeigen" #~ msgid "Select Atom Labels Color" #~ msgstr "Atombeschriftungs-Farbe auswählen" #~ msgid "Select Bond Labels Color" #~ msgstr "Bindungsbeschriftungs-Farbe auswählen" #~ msgid "Select Atom Labels Font" #~ msgstr "Atombeschriftungs-Schriftart auswählen" #~ msgid "Select Bond Labels Font" #~ msgstr "Bindungsbeschriftung-Schriftart auswählen" #~ msgid "Label" #~ msgstr "Beschriftung" #~ msgid "Polygon" #~ msgstr "Polygon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Zeichnet Atome als Tetraeder, Oktaeder oder andere Polygone" #~ msgid "Ribbon" #~ msgstr "Band" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Zeichnet das Proteinrückgrat als Band" #~ msgid "Ring" #~ msgstr "Ring" #~ msgid "Renders rings with colored planes" #~ msgstr "Zeichnet Ringe mit farbigen Ebenen" #~ msgid "Simple Wireframe" #~ msgstr "Einfaches Drahtgitter" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Zeichnet Bindungen als Drähte (Linien), ideal für grosse Moleküle" #~ msgid "Van der Waals Spheres" #~ msgstr "Van-der-Waals-Radien" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Zeigt Atome als Van-der-Waals-Wirkungsbereiche an" #~ msgid "Stick" #~ msgstr "Stab" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Elektronendichte, Isofläche = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, Isofläche = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Zeichnet Bindungen als Drahtgitter (Linien), ideal für sehr grosse " #~ "(Bio)moleküle" #~ msgid "Trajectory files" #~ msgstr "Trajektoriendateien" #~ msgid "DL-POLY HISTORY files" #~ msgstr "DL-POLY HISTORY-Dateien" #~ msgid "Open Trajectory File" #~ msgstr "Trajektoriendatei öffnen" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "Video-Dateien (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr ".avi Erweiterung hinzufügen" #~ msgid "Animation..." #~ msgstr "Animation …" #~ msgid "Cannot read file format of file %1." #~ msgstr "Das Dateiformat der Datei %1 kann nicht gelesen werden." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Trajektorien-Dateien %1 konnte nicht gelesen werden." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Es muss ein gültiger Dateiname einer .avi-Datei angegeben werden" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "GL-Widget wurde nicht ordnungsgemäss initialisiert, um das Video zu " #~ "speichern" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Ungültiger Video-Dateiname. Muss vollständigen Verzeichnispfad enthalten" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Ungültiger Videodateiname. Ein vollständiger Pfad und Name inklusive " #~ "Endung .avi muss angegeben werden." #~ msgid "Could not determine format from filename: %1" #~ msgstr "Format nicht über Dateinamen bestimmt werden: %1" #~ msgid "Animation" #~ msgstr "Animation" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animiere Trajektorien, Reaktionen und Vibrationen" #~ msgid "Cartesian Editor" #~ msgstr "Kartesischer Koordinaten-Editor" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Keine Elementarzelle für das Molekül definiert – Gitterkoordinaten können " #~ "nicht benutzt werden." #~ msgid "Cartesian Editor..." #~ msgstr "Kartesischer Koordinaten-Editor …" #~ msgid "Cartesian editor" #~ msgstr "Kartesischer Koordinaten-Editor" #~ msgid "Number of atoms: %1" #~ msgstr "Anzahl der Atome: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Anzahl der rotierbaren Bindungen: %1" #~ msgid "Add constraint" #~ msgstr "Einschränkung hinzufügen" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Das Molekül muss aus mindestens einem Atom bestehen, um eine " #~ "Einschränkung hinzuzufügen" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Das Molekül muss aus mindestens zwei Atomen bestehen, um eine Bindungs-" #~ "Einschränkung hinzuzufügen" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Das Molekül muss aus mindestens drei Atomen bestehen, um eine Winkel-" #~ "Einschränkung hinzuzufügen" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Das Molekül muss aus mindestens vier Atomen bestehen, um eine Torsion-" #~ "Einschränkung hinzuzufügen" #~ msgid "&Crystallography" #~ msgstr "&Kristallografie" #~ msgid "&Reduce" #~ msgstr "&Vereinfachen" #~ msgid "&Settings" #~ msgstr "&Einstellungen" #~ msgid "&Length Unit" #~ msgstr "&Längeneinheit" #~ msgid "&Angle Unit" #~ msgstr "&Winkeleinheit" #~ msgid "&Coordinate Display" #~ msgstr "&Koordinaten anzeigen" #~ msgid "Coordinate &Preservation" #~ msgstr "Koordinaten &Beibehalten" #~ msgid "&Matrix Display" #~ msgstr "&Matrixanzeige" #~ msgid "Hide &Editors" #~ msgstr "&Editoren verstecken" #~ msgid "Show &Editors" #~ msgstr "&Editoren anzeigen" #~ msgid "Hide &Property Display" #~ msgstr "&Eigenschaften verstecken" #~ msgid "Show &Property Display" #~ msgstr "&Eigenschaften anzeigen" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Gittertyp: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Raumgruppe: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Elementarzellenvolumen: %L1%2" #~ msgid "Undefined" #~ msgstr "Undefiniert" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triklin" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoklin" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Orthorhombisch" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonal" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Rhomboedrisch" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hexagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Kubisch" #~ msgid "Paste Crystal" #~ msgstr "Kristall einfügen" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Die Niggli-Reduktion schlug fehl. Die Struktur des ursprünglichen Gitters " #~ "führt im Niggli-Algorhythmus zu keinem eindeutigen Resultat. Versuchen " #~ "Sie nun eine Lösung durch kleine Änderungen der Zellparameter (ca. 2 " #~ "Grössenordnungen kleiner als die Fehlerwerte)." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Zelle konnte nach 1.000 Iterationen des Reduktionsalgorithmuses nicht " #~ "reduziert werden. Breche ab." #~ msgid "&Translate Atoms..." #~ msgstr "A&tome verschieben …" #~ msgid "Rotate To Standard &Orientation" #~ msgstr "In Standard&orientierung drehen" #~ msgid "&Slab..." #~ msgstr "&Platte …" #~ msgid "Perceive Space&group..." #~ msgstr "Raum&gruppe erkennen …" #~ msgid "Set &Spacegroup..." #~ msgstr "&Raumgruppe festlegen …" #~ msgid "&Fill Unit Cell" #~ msgstr "Elementarzelle aus&füllen" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Die Elementarzelle mit der aktuellen Raumgruppe ausfüllen." #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Zu &assymetrischer Einheit reduzieren" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "Entferne Atome in äquivalenten Positionen" #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Kristall symmetrisieren" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Zelle reduzieren (&Primitiv)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometer" #~ msgid "&Picometer" #~ msgstr "&Picometer" #~ msgid "&Degree" #~ msgstr "&Grad" #~ msgid "&Radian" #~ msgstr "&Bogenmaß" #~ msgid "Display &cartesian coordinates" #~ msgstr "&Kartesische Koordinaten anzeigen" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "&Kartesische Koordinaten währen Zellmodifikation beibehalten" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "&Gitterkoordinaten während Veränderung der Zelle beibehalten" #~ msgid "Display &cartesian matrix" #~ msgstr "&Kartesische Matrix anzeigen" #~ msgid "Display &fractional matrix" #~ msgstr "&Gittermatrix anzeigen" #~ msgid "Display as &row vectors" #~ msgstr "Als &Zeilenvektor anzeigen" #~ msgid "Display as &column vectors" #~ msgstr "Als &Spaltenvektor anzeigen" #~ msgid "&Crystal View Options..." #~ msgstr "&Kristall-Anzeigeoptionen …" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Diesem Dokument wurde keine Raumgruppe zugeordnetn.\n" #~ "\n" #~ "Möchten Sie jetzt eine Raumgruppe setzen?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Raumgruppe P1 erkannt – Für diese Raumgruppe kann nicht symmetrisiert " #~ "werden.\n" #~ "\n" #~ "Möchten Sie es erneut mit anderer Toleranz versuchen?" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Atome an Zelle anschmiegen" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Auf die Niggli-Zelle reduzieren" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "Wähle Toleranz in aktuellen kartesischen Einheiten:" #~ msgid "Crystallography" #~ msgstr "Kristallographie" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Periodische Strukturen erstellen und analysieren." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "Die Eingabe liegt nicht in einem\n" #~ "der folgenden unterstützen Formaten vor:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "VASP-Format\n" #~ msgid "Bad Compostion" #~ msgstr "Schlechte Zusammenstellung" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "Die Identitätsfelder müssen die gleiche Anzahl an Raumtrennereinträgen " #~ "enthalten wie Zeile sechs des POSCAR." #~ msgid "Cartesian Coordinates" #~ msgstr "Kartesische Koordinaten" #~ msgid "Fractional Coordinates" #~ msgstr "Gitterkoordinaten" #~ msgid "Set Fractional Coordinates" #~ msgstr "Gitterkoordinaten festlegen" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Zellmatrix (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Elementarzellenmatrix festlegen" #~ msgid "Set Unit Cell Params" #~ msgstr "Elementarzellenparameter festlegen" #~ msgid "Working..." #~ msgstr "Wird bearbeitet …" #~ msgid "Build" #~ msgstr "Version" #~ msgid "Cut Slab From Crystal" #~ msgstr "Schneide vom Kristall eine Platte ab" #~ msgid "No GLWidget?" #~ msgstr "Kein GLWidget?" #~ msgid "Please select one or more atoms." #~ msgstr "Bitte wählen Sie ein oder mehrere Atome aus" #~ msgid "Trajectory..." #~ msgstr "Trajektorie …" #~ msgid "Open chemical file format" #~ msgstr "Öffne chemisches Dateiformat" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Chemische Datei (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Parameterdatei öffnen" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Chemische Datei (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importiere Trajektorie" #~ msgid "Import trajectory files" #~ msgstr "Importiere Trajektorien-Datei" #~ msgid "Setup Force Field..." #~ msgstr "Kraftfeld einrichten …" #~ msgid "Calculate Energy" #~ msgstr "Berechne Energie" #~ msgid "Conformer Search..." #~ msgstr "Konformerensuche …" #~ msgid "Constraints..." #~ msgstr "Einschränkungen …" #~ msgid "Ignore Selection" #~ msgstr "Auswahl ignorieren" #~ msgid "Fix Selected Atoms" #~ msgstr "Ausgewählte Atome sperren" #~ msgid "&Molecular Mechanics" #~ msgstr "&Molekular-Mechanik" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Kann die momentan ausgewählten Kraftfelder für dieses Molekül nicht " #~ "erstellen. Bitte zu UFF wechseln." #~ msgid "Energy = %L1 %2" #~ msgstr "Energie = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Geometrie-Optimierung" #~ msgid "Forcefield Optimization" #~ msgstr "Kraftfeld-Optimierung" #~ msgid "Systematic Rotor Search" #~ msgstr "Systematische Drehpunkt-Suche" #~ msgid "Random Rotor Search" #~ msgstr "Zufällige Drehpunkt-Suche" #~ msgid "Weighted Rotor Search" #~ msgstr "Gewichtete Drehpunkt-Suche" #~ msgid "Genetic Algorithm Search" #~ msgstr "Suche nach genetischem Algorythmus" #~ msgid "ForceField" #~ msgstr "Kraftfeld" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Moleküle optimieren und Konformeren mittels molekülmechanischer " #~ "Kraftfelder erzeugen" #~ msgid "&Vector Graphics..." #~ msgstr "&Vektorgrafiken …" #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Allgemeine Vektorbilddateien" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Vektorgrafiken exportieren" #~ msgid "Change H to Methyl" #~ msgstr "Ersetze Wasserstoff durch Methyl" #~ msgid "H to Methyl" #~ msgstr "Wasserstoff zu Methyl" #~ msgid "H2Methyl" #~ msgstr "H-zu-Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Wandle Wasserstoffatome in Methylgruppen um" #~ msgid "Add or remove hydrogens" #~ msgstr "Hinzufügen oder entfernen von Wasserstoffatomen" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA ..." #~ msgid "Insert DNA" #~ msgstr "DNA einfügen" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Uracil" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Thymin" #~ msgid "Insert DNA/RNA" #~ msgstr "DNA/RNA einfügen" #~ msgid "Insert DNA/RNA chains" #~ msgstr "DNA/RNA-Sequenzen einfügen" #~ msgid "Cannot read molecular file %1." #~ msgstr "Moleküldatei %1 kann nicht gelesen werden." #~ msgid "Fragment..." #~ msgstr "Fragment …" #~ msgid "Insert SMILES" #~ msgstr "SMILES einfügen" #~ msgid "Insert SMILES fragment:" #~ msgstr "SMILES-Fragment einfügen:" #~ msgid "Insert Fragment" #~ msgstr "Fragment einfügen" #~ msgid "Insert Crystal" #~ msgstr "Kristall einfügen" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Molekulare Fragmente einfügen, um grössere Moleküle zu bauen" #~ msgid "Peptide..." #~ msgstr "Peptid …" #~ msgid "Insert Peptide" #~ msgstr "Peptid einfügen" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Oligopeptidsequenz einfügen" #~ msgid "Invert Chirality" #~ msgstr "Chiralität umkehren" #~ msgid "InvertChiral" #~ msgstr "InvertChiral" #~ msgid "Invert chiral centers" #~ msgstr "Chiralitätszentren umkehren" #~ msgid "Molecule Properties..." #~ msgstr "Moleküleigenschaften …" #~ msgid "&Properties" #~ msgstr "Eigenschaften" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "Unbekannt" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Geschätztes Dipolmoment (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(ausstehend)" #~ msgid "Display standard molecular properties." #~ msgstr "Standard-Moleküleigenschaften anzeigen" #~ msgid "Fetch from PDB..." #~ msgstr "Aus PDB abrufen …" #~ msgid "Fetch by chemical name..." #~ msgstr "Nach chemischem Namen abrufen …" #~ msgid "Fetch from URL..." #~ msgstr "Von URL herunterladen …" #~ msgid "PDB Entry" #~ msgstr "PDB-Eintrag" #~ msgid "PDB entry to download." #~ msgstr "PDB Eintrag herunterladen" #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL des Moleküls zum Downloaden" #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Spezifiziertes Molekül konnte nicht geladen werden: %1" #~ msgid "Network Fetch" #~ msgstr "Von Netzwerk herunterladen" #~ msgid "Fetch molecule files over the network." #~ msgstr "Moleküldateien über das Netzwerk herunterladen." #~ msgid "All Files" #~ msgstr "Alle Dateien" #~ msgid "Show Preview" #~ msgstr "Vorschau anzeigen" #~ msgid "Hide Preview" #~ msgstr "Vorschau ausblenden" #~ msgid "Intensities" #~ msgstr "Intensitäten" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Speichere mit POV-Ray gerendertes Bild" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Bilddateien (.*png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray …" #~ msgid "No filename supplied." #~ msgstr "Kein Dateiname vorgeschlagen." #~ msgid "No valid filename was supplied." #~ msgstr "Es wurde kein gültiger Dateiname vorgeschlagen." #~ msgid "Does not compute." #~ msgstr "Wird nicht berechnet." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Sie haben kein direktes Rendern mittels POV-Ray und das Verwerfen der POV-" #~ "Ray-Datei angefragt. Es wird keine Ausgabe gespeichert. Sind Sie sicher, " #~ "dass Sie dies möchten?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Kann nicht in Datei %1 schreiben. Haben Sie die Rechte, an diese Stelle " #~ "zu schreiben?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray-Start fehlgeschlagen." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray-Start fehlgeschlagen. Möglicherweise ist der Pfad zur " #~ "ausführbaren Datei nicht korrekt." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Erzeuge POV-Ray-Dateien und rendere diese mittels des POV-Ray-" #~ "Kommandozeilenprogramms." #~ msgid "Atom Properties..." #~ msgstr "Atomeigenschaften …" #~ msgid "Bond Properties..." #~ msgstr "Bindungseigenschaften …" #~ msgid "Angle Properties..." #~ msgstr "Winkeleigenschaften …" #~ msgid "Torsion Properties..." #~ msgstr "Torsionseigenschaften …" #~ msgid "Conformer Properties..." #~ msgstr "Konformereneigenschaften …" #~ msgid "Atom Properties" #~ msgstr "Atomeigenschaften" #~ msgid "Bond Properties" #~ msgstr "Bindungseigenschaften" #~ msgid "Angle Properties" #~ msgstr "Winkeleigenschaften" #~ msgid "Torsion Properties" #~ msgstr "Torsionseigenschaften" #~ msgid "Conformer Properties" #~ msgstr "Konformereneigenschaften" #~ msgid "Properties" #~ msgstr "Eigenschaften" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Fenster zur Darstellung der Atom-, Bindungs-, Winkel- und " #~ "Torsionseigenschaften. Es beinhaltet auch einen Editor für kartesische " #~ "Koordinaten." #~ msgid "Valence" #~ msgstr "Valenz" #~ msgid "Partial Charge" #~ msgstr "Partialladung" #~ msgid "Atom" #~ msgstr "Atom" #~ msgid "Start Atom" #~ msgstr "Atom starten" #~ msgid "Rotatable" #~ msgstr "Rotierbar" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Länge %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Länge %1" #~ msgid "Vertex" #~ msgstr "Vertex" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Winkel %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Winkel %1" #~ msgid "Angle" #~ msgstr "Winkel" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Torsion %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsion %1" #~ msgid "Torsion" #~ msgstr "Torsion" #~ msgid "Energy (kJ/mol)" #~ msgstr "Energie (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Konformer" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nein" #~ msgid "Python Terminal" #~ msgstr "Python-Terminal" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Interaktives Python-Skripte-Terminal" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Warnung des Abinit-Eingabestapel-Erzeugers" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Soll der Vorschautext aktualisiert werden? Alle Änderungen im " #~ "Vorschauabschnitt des Abinit-Eingabestapels werden dabei verworfen." #~ msgid "Abinit_Input_Deck" #~ msgstr "Abinit-Eingabestapel" #~ msgid "Abinit Running." #~ msgstr "Abinit läuft." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Abinit läuft bereits. Bitte waretn Sie, bis die Berechnungen " #~ "abgeschlossen sind." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit ist nicht installiert." #~ msgid "The abinit executable cannot be found." #~ msgstr "Die ausführbare Datei von Abinit kann nicht gefunden werden." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit startete nicht. Möglicherweise ist es nicht korrekt installiert." #~ msgid "Running Abinit calculation..." #~ msgstr "Abinit-Berechnung läuft …" #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit lief nicht korrekt durch. Möglicherweise ist es nicht korrekt " #~ "installiert." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Warnung des Dalton-Eingabestapel-Erzeugers" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Soll der Vorschautext aktualisiert werden? Alle Änderungen im " #~ "Vorschauabschnitt des Dalton-Eingabestapels werden dabei verworfen." #~ msgid "QM Matches" #~ msgstr "QM-Übereinstimmungen" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP-Auswahl …" #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM-Auswahl …" #~ msgid "Delete" #~ msgstr "Entfernen" #~ msgid "You must make a selection!" #~ msgstr "Bitte wählen sie aus!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES Konvertierung nicht verfügbar" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES Format-Konvertierung nicht verfügbar!" #~ msgid "Group Name" #~ msgstr "Gruppenname" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Erstelle Eingabedateien für das GAMESS-Quantenchemie-Paket" #~ msgid "Advanced Settings Changed" #~ msgstr "Erweiterte Einstellungen geändert" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Erweiterte Einstellungen wurden geändert.\n" #~ "Verwerfen?" #~ msgid "Advanced Settings Reset" #~ msgstr "Erweiterte Einstellungen zurücksetzen" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Erweiterte Einstellungen zurücksetzen?\n" #~ "Alle Änderungen gehen dabei verloren!" #~ msgid "Basic Settings Reset" #~ msgstr "Grundeinstellungen zurücksetzen" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Grundeinstellungen zurücksetzen?Alle Änderungen gehen dabei verloren!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Warnung des GAMESS-UK-Eingabestapel-Erzeugers" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Soll der Vorschautext aktualisiert werden? Alle Änderungen im " #~ "Vorschauabschnitt des GAMESS-UK-Eingabestapels werden dabei verworfen." #~ msgid "GAMESS-UK Input Deck" #~ msgstr "GAMESS-UK-Eingabestapel" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Warnung des Gaußschen Eingabestapel-Erzeugers" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Soll der Vorschautext aktualisiert werden? Alle Änderungen im " #~ "Vorschauabschnitt des Gaußschen Eingabestapels werden dabei verworfen." #~ msgid "Gaussian Input Deck" #~ msgstr "Gaußscher Eingabestapel" #~ msgid "Gaussian Running." #~ msgstr "Gaus´sche Berechnungen laufen" #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian Rechnung läuft bereits. Warten Sie, bis die vorherige Berechnung " #~ "abgeschlossen ist." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian nicht installiert" #~ msgid "The G03 executable, cannot be found." #~ msgstr "Die ausführbare G03 Datei kann nicht gefunden werden." #~ msgid "G03 failed to start." #~ msgstr "G03 konnte nicht gestartet werden" #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 ist nicht gestartet" #~ msgid "Running Gaussian calculation..." #~ msgstr "Gaußsche Berechnung läuft …" #~ msgid "G03 Crashed." #~ msgstr "G03 abgestürzt." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian Rechnung wurde nicht korrekt ausgeführt. Vielleicht ist es nicht " #~ "korrekt installiert." #~ msgid "&Abinit..." #~ msgstr "&Abinit …" #~ msgid "&Dalton..." #~ msgstr "&Dalton …" #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK …" #~ msgid "&Gaussian..." #~ msgstr "&Gaußsches …" #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO …" #~ msgid "M&OPAC..." #~ msgstr "M&OPAC …" #~ msgid "&NWChem..." #~ msgstr "&NWChem …" #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem …" #~ msgid "&TeraChem..." #~ msgstr "&TeraChem …" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Möchten Sie die Textvorschau aktualisieren? Alle Änderungen des Lammps " #~ "Input-decks gehen verloren." #~ msgid "Lammps Input" #~ msgstr "Lammps-Eingabe" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Warnung des Molpro-Eingabestapel-Erzeugers" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Soll der Vorschautext aktualisiert werden? Alle Änderungen im " #~ "Vorschauabschnitt des Molpro-Eingabestapels werden dabei verworfen." #~ msgid "Molpro Input Deck" #~ msgstr "Molpro-Eingabestapel" #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC-Eingabe-Warnung" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Soll der Vorschautext aktualisiert werden? Alle Änderungen im " #~ "Vorschauabschnitt des MOPAC-Eingabestapels werden dabei verworfen." #~ msgid "MOPAC Input Deck" #~ msgstr "MOPAC-Eingabestapel" #~ msgid "MOPAC Running." #~ msgstr "MOPAC läuft." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "MOPAC läuft bereits. Warten Sie bis die vorhergehende Berechnung beendet " #~ "ist." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC ist nicht installiert." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Die MOPAC-Ausführungsdatei wurde nicht gefunden." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC-Start fehlgeschlagen." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC hat nicht gestartet. Vielleicht wurde es nicht richtig installiert." #~ msgid "Running MOPAC calculation..." #~ msgstr "MOPAC-Berechnung läuft …" #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC abgestürzt." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC lief nicht richtig. Vielleicht wurde es nicht richtig installiert." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Warnung des NWChem-Eingabestapel-Erzeugers" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Soll der Vorschautext aktualisiert werden? Alle Änderungen im " #~ "Vorschauabschnitt des NWChem-Eingabestapels werden dabei verworfen." #~ msgid "NWChem Input Deck" #~ msgstr "NWChem-Eingabestapel" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "Möchten Sie die Textvorschau aktualisieren? Alle Änderungen des Psi4 " #~ "Input-decks gehen verloren." #~ msgid "Psi4 Input Deck" #~ msgstr "Psi4 Input-deck" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Warnung des Q-Chem-Eingabestapel-Erzeugers" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Soll der Vorschautext aktualisiert werden? Alle Änderungen im " #~ "Vorschauabschnitt des Q-Chem-Eingabestapels werden dabei verworfen." #~ msgid "QChem Input Deck" #~ msgstr "QChem-Eingabestapel" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "Warnung des TeraChem-Eingabestapel-Erzeugers" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Soll der Vorschautext aktualisiert werden? Alle Änderungen im " #~ "Vorschauabschnitt des TeraChem-Eingabestapels werden dabei verworfen." #~ msgid "TeraChem Input Deck" #~ msgstr "TeraChem-Eingabestapel" #~ msgid "Select SMARTS..." #~ msgstr "SMARTS auswählen …" #~ msgid "Select by Residue..." #~ msgstr "Auswahl nach Rest …" #~ msgid "Add Named Selection..." #~ msgstr "Benannte Auswahl hinzufügen …" #~ msgid "SMARTS Selection" #~ msgstr "SMARTS-Auswahl" #~ msgid "SMARTS pattern to select" #~ msgstr "SMARTS-Muster auswählen" #~ msgid "Select by residue" #~ msgstr "Auswahl nach Rest" #~ msgid "Residue name" #~ msgstr "Restname" #~ msgid "There is no current selection." #~ msgstr "Es gibt keine aktuelle Auswahl" #~ msgid "Add Named Selection" #~ msgstr "genannte Auswahl hinzufügen" #~ msgid "Name cannot be empty." #~ msgstr "Name kann nicht leer sein." #~ msgid "There is already a selection with this name." #~ msgstr "Es gibt bereist eine Auswahl mit diesem Namen." #~ msgid "Selections" #~ msgstr "Auswahl" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Atome, Bindungen, Reste auswählen …" #~ msgid "GLSL Shaders..." #~ msgstr "GLSL-Shader …" #~ msgid "Open a vertex shader source file" #~ msgstr "Öffne eine Vertex-Shader-Quelldatei" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Vertex-Shader-Dateien (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Öffne eine Fragment-Shader-Quelldatei." #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fragment-Shader-Datei (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Öffne eine Shader-Parameter-Datei" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Shader-Parameter-Dateien (\".params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL-Shader" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Lade und benutze OpenGL 2.0 GLSL-Shader" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensität (willkürliche Einheiten)" #~ msgid "Energy (eV)" #~ msgstr "Energie (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Zustandsdichte (Zustand/Zelle)" #~ msgid "Density of States (states/atom)" #~ msgstr "Zustandsdichte (Zustand/Atom)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Zustandsdichte (Zustand/Valenzelektron)" #~ msgid "Transmittance (%)" #~ msgstr "Transmittierung (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbierung (%)" #~ msgid "No intensities" #~ msgstr "Keine Intensitäten" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Die Vibrationsdaten in dem Molkül, welches Sie geladen haben, hat keine " #~ "Intensitätsdaten. Intensitäten wurden auf einen willkürlichen Wert für " #~ "die Visualisierung gesetzt." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Wellennummer (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Shift (ppm)" #~ msgid "Activity" #~ msgstr "Aktivität" #~ msgid "Intensity" #~ msgstr "Intensität" #~ msgid "X Axis" #~ msgstr "X-Achse" #~ msgid "Y Axis" #~ msgstr "Y-Achse" #~ msgid "&Appearance" #~ msgstr "&Aussehen" #~ msgid "E&xport Image" #~ msgstr "E&xportiere Bild" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrarot" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&Infrarotspekten-Einstellungen" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "&NMR-Spektren-Einstellungen" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "&Zustandsdichteneinstellungen" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "&UV-Einstellungen" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "&CD-Einstellungen" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "&Raman-Einstellungen" #~ msgid "No data" #~ msgstr "Keine Daten" #~ msgid "Dark" #~ msgstr "Dunkel" #~ msgid "Light" #~ msgstr "Licht" #~ msgid "Publication" #~ msgstr "Veröffentlichung" #~ msgid "Handdrawn" #~ msgstr "Handgezeichnet" #~ msgid "New Scheme" #~ msgstr "Neues Schema" #~ msgid "Confirm Scheme Removal" #~ msgstr "entfernen des Schemas bestätigen" #~ msgid "Really remove current scheme?" #~ msgstr "Aktuelles Schema wirklich entfernen?" #~ msgid "Change Scheme Name" #~ msgstr "Ändere Name des Schemas" #~ msgid "Enter new name for current scheme:" #~ msgstr "Einen neuen Namen für das aktuelle Schema eingeben:" #~ msgid "Select Background Color" #~ msgstr "Hintergrundfarbe auswählen" #~ msgid "Select Foreground Color" #~ msgstr "Vordergrundfarbe auswählen" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Farbe des berechneten Spektrums wählen" #~ msgid "Select Imported Spectra Color" #~ msgstr "Farbe des importierten Spektrums wählen" #~ msgid "Export Calculated Spectrum" #~ msgstr "Das berechnete Spektrum exportieren" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Tab-getrennte Werte (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Tab-getrennte Werte" #~ msgid "Comma Separated Values" #~ msgstr "Komma-getrennte Werte" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Spektren importieren" #~ msgid "Spectra Import" #~ msgstr "Spektren importieren" #~ msgid "Unknown extension: %1" #~ msgstr "Unbekannte Erweiterung: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR Daten (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomol IR Daten (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Turbomole UV-Daten (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Turbomole CD-Daten (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Datenformat" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format:" #~ msgid "Load Spectral Data" #~ msgstr "Spektraldaten laden" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Turbomole CD-Datei weist ungültige Formatierung auf : %1" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "markiertes Bild-Datei-Format" #~ msgid "Windows Bitmap" #~ msgstr "Windows Punktegrafik" #~ msgid "Portable Pixmap" #~ msgstr "austauschbare Pixelgrafik" #~ msgid "X11 Bitmap" #~ msgstr "X11 Punktegrafik" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixelgrafik" #~ msgid "Save Spectra Image" #~ msgstr "Spektralabbild speichern" #~ msgid "Image successfully written to %1" #~ msgstr "Abbild erfolgreich nach %1 geschrieben" #~ msgid "&Advanced <<" #~ msgstr "&Erweitert <<" #~ msgid "&Advanced >>" #~ msgstr "&Erweitert >>" #~ msgid "&Spectra..." #~ msgstr "&Spektren …" #~ msgid "Spectra" #~ msgstr "Spektren" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Spektraldaten von Quanten-Chemie-Berechnungen anzeigen" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Vibrationsanalyse" #~ msgid "No vibrational displacements exist." #~ msgstr "Es existiert keine Verschiebung durch Vibration." #~ msgid "Vibration" #~ msgstr "Vibration" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Vibrationsmodi aus den Quantenchemieberechnungen visualisieren" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "%1 Vibrationen werden nach Frequenz sortiert …" #~ msgid "Pause" #~ msgstr "Pause" #~ msgid "Super Cell Builder..." #~ msgstr "Superzellen-Erzeugung …" #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Dieses Dokument ist momentan ein isoliertes Molekül. Sie müssen eine " #~ "Elementarzelle erzeugen." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Erzeuge und zeige kristallographische Superzellen" #~ msgid "Molecular Orbitals..." #~ msgstr "Molekülorbitale …" #~ msgid "Orbitals" #~ msgstr "Orbitale" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Orbital" #~ msgid "Status" #~ msgstr "Status" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Nichts" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Elektrostatisches Potenzial" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Elektronendichte" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Molekülorbital" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Fehler - undefinierter Typ" #~ msgid "Create Surfaces..." #~ msgstr "Oberflächen erstellen …" #~ msgid "Calculating VdW Cube" #~ msgstr "Berechne VdW-Würfel" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Berechne MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Elektronendichte" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "" #~ "Oberflächen mit elektrostatischem Potenzial werden noch nicht unterstützt." #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Berechne Molekülorbitale und andere Oberflächen" #~ msgid "&Nanotube Builder..." #~ msgstr "Kohlenstoff&nanoröhren-Erzeugung …" #~ msgid "Nanotube Builder" #~ msgstr "Kohlenstoffnanoröhren-Erzeugung" #~ msgid "Invalid Nanotube Specification" #~ msgstr "Ungültige Kohlenstoffnanoröhren-Spezifikation" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "Die gewünschte Kohlenstoffnanoröhre kann aus folgendem Grund nicht " #~ "erzeugt werden:\n" #~ "\n" #~ "Entweder »n« oder »m« muss größer als 1 sein." #~ msgid "Insert Nanotube" #~ msgstr "Kohlenstoffnanoröhre einfügen" #~ msgid "SWCNT Builder" #~ msgstr "SWCNT-Erzeugung" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Einwandige Kohlenstoffnanoröhren konstruieren." #~ msgid "Building..." #~ msgstr "Erstellung läuft …" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "Das GL-Widget wurde nicht ordnungsgemäss initialisiert, um ein Video " #~ "herzustellen." #~ msgid "GL widget has no molecule" #~ msgstr "Das GL-Widget besitzt kein Molekül" #~ msgid "Building video " #~ msgstr "Erstelle Video " #~ msgid "Could not run povray." #~ msgstr "povray konnte nicht ausgeführt werden." #~ msgid "Could not run mencoder." #~ msgstr "mencoder konnte nicht ausgeführt werden." #~ msgid "Set Aspect Ratio" #~ msgstr "Seitenverhätnis einstellen" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Die aktuelle Avogadroanischt ist %1x%2 Pixel gross und besitzt daher ein " #~ "Anzeigeverhältnis von %3.\n" #~ "Sie können diesen Wert beibehalten, falls Sie zum Beispiel POV-Ray " #~ "benutzen möchten\n" #~ "um ein BIld von %4x1000 Pixeln zu erzeugen oder Sie können einen anderen " #~ "positiven Werte eingeben,\n" #~ "zum Beispiel 1 falls Sie mit POV-Ray ein quadratisches Bild, wie 1000 x " #~ "1000 Pixel, erzeugen möchten." #~ msgid "Connect" #~ msgstr "Verbinden" #~ msgid "Disconnect" #~ msgstr "Trennen" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Wii-Tracking" #~ msgid "Track motion using Wii remotes" #~ msgstr "Verfolge Bewegung mittels Wii-Fernbedienungen" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Ungültige OpenGL-Umgebung.\n" #~ "Entweder ist Ihre gesamte OpenGL-Installation fehlerhaft (können Sie " #~ "irgend eine OpenGL Anwendung ausführen?), oder Sie haben einen " #~ "Programmfehler gefunden." #~ msgid "Debug Information" #~ msgstr "Debug-Informationen" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Neue Größe %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "Modellansicht, Reihe 1: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "Modellansicht, Reihe 2: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "Modellansicht, Reihe 3: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "Modellansicht, Reihe 4: %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Atome: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Bildungen: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: Index %1 außerhalb des Bereichs" #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Dateityp '%1' wird zum Lesen nicht unterstützt" #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Dateityp für die Datei '%1' wird für das Lesen nicht unterstützt" #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Lesen des Moleküls mit Index %1 von der Datei '%2' fehlgeschlagen" #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "Molekül ersetzten: Index %1 außerhalb des Bereichs" #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Dateityp '%1' wird für das Schreiben nicht unterstützt" #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Dateityp für Datei '%1' wird fürs Schreiben nicht unterstützt" #~ msgid "Could not open file '%1' for writing." #~ msgstr "Kann Datei '%1' fürs Schreiben nicht öffnen" #~ msgid "Could not open file '%1' for reading." #~ msgstr "Kann Datei '%1' zum Lesen nicht öffnen" #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Ersetzen des Moleküls mit Index %1 in Datei '%2' ist fehlgeschlagen" #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Datei %1 kann fürs Schreiben nicht geöffnet werden" #~ msgid "File %1 can not be opened for writing." #~ msgstr "Datei %1 kann fürs Schreiben nicht geöffnet werden." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Speichern der Moleküldatei gescheitert – Originaldatei konnte nicht " #~ "umbenannt werden." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Speichern der Moleküldatei gescheitert – neue Datei konnte nicht " #~ "umbenannt werden." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Speichern der Moleküldatei gescheitert – alte Datei konnte nicht gelöscht " #~ "werden." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Das Speichern eines Moleküls in Datei '%1' ist fehlgeschlagen. Eine " #~ "Funktion von OpenBabel war fehlerhaft." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Datei %1 kann fürs Lesen nicht geöffnet werden" #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Schreiben der Konformeren in die Datei »%1« gescheitert." #~ msgid "Molecule %1" #~ msgstr "Molekül %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Unbekannte Python-Engine" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "Python-Engine: Prüfe " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - Das Skript hat keine 'Engine'-Klasse definiert" #~ msgid " - no module" #~ msgstr " - kein Modul" #~ msgid "Unknown Python Extension" #~ msgstr "Unbekannte Python-Erweiterung" #~ msgid "PythonExtension: checking " #~ msgstr "Python-Erweiterung: Prüfe " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - Das Skript hat keine 'Erweiterungs'-Klasse definiert." #~ msgid "Unknown Python Tool" #~ msgstr "Unbekanntes Python-Werkzeug" #~ msgid "PythonTool: checking " #~ msgstr "Python-Werkzeug: Prüfe " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - Das Skript hat keine 'Werkzeug'-Klasse definiert" #~ msgid "Conformer %1" #~ msgstr "Konformer %1" #~ msgid "Tools" #~ msgstr "Werkzeuge" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "Moleküle positionieren\n" #~ "Linke Maustaste: \tBis zu zwei Atome auswählen.\n" #~ "\tDas erste Atom ist am Ursprung zentriert.\n" #~ "\tDas zweite Atom ist an der gewählten Achse ausgerichtet.\n" #~ "Rechte Maustaste: \tAusrichtung zurücksetzen.\n" #~ "Doppelklick: \tDas Atom am Ursprung ausrichten." #~ msgid "Axis:" #~ msgstr "Achse:" #~ msgid "Align:" #~ msgstr "Ausrichten:" #~ msgid "Everything" #~ msgstr "Alles" #~ msgid "Align" #~ msgstr "Ausrichten" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Moleküle an einer Kartesischen Achse ausrichten" #~ msgid "Align Settings" #~ msgstr "Einstellungen anpassen" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "Autooptimierungs-Werkzeug\n" #~ "\n" #~ "Steuerung durch Klicken auf freie Fläche.\n" #~ "Linke Maustaste: \t Rotieren\n" #~ "Mittlere Maustaste: \t Skalieren\n" #~ "Rechte Maustaste: \t Verschieben\n" #~ "Doppelklick: \t Zurücksetzen\n" #~ "\n" #~ "Während des Arbeitens:\n" #~ "Linke Maustaste: \t Markiere und verschiebe einzelne Atome." #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Kraftfeld konnte nicht eingerichtet werden …" #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "Automatische Optimierung: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Num-Grenzen: %1" #~ msgid "Steps per Update:" #~ msgstr "Schritte pro Aktualisierung:" #~ msgid "Algorithm:" #~ msgstr "Algorithmus:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Moleküldynamik (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Moleküldynamik (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Moleküldynamik (900K)" #~ msgid "Start" #~ msgstr "Start" #~ msgid "Fixed atoms are movable" #~ msgstr "Gesperrte Atome sind beweglich" #~ msgid "Ignored atoms are movable" #~ msgstr "Ignorierte Atome sind beweglich" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOpt-Molekül" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Automatische Optimierung der Molekülgeometrie" #~ msgid "AutoOptimization Settings" #~ msgstr "Einstellungen: Automatisches Optimieren" #~ msgid "Auto Rotation Tool" #~ msgstr "Automatisches Rotieren" #~ msgid "x rotation:" #~ msgstr "Rotation um x-Achse:" #~ msgid "x rotation" #~ msgstr "Rotation um x-Achse" #~ msgid "y rotation:" #~ msgstr "Rotation um y-Achse:" #~ msgid "y rotation" #~ msgstr "Rotation um y-Achse" #~ msgid "z rotation:" #~ msgstr "Rotation um z-Achse:" #~ msgid "z rotation" #~ msgstr "Rotation um z-Achse" #~ msgid "Automatic rotation of molecules" #~ msgstr "Automatische Rotation von Molekülen" #~ msgid "AutoRotate Settings" #~ msgstr "Einstellungen: Rotation" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "Werkzeug zum Bearbeitung von Bindungen\n" #~ "\n" #~ "Linke Maustaste: \t Drehen der Ansicht.\n" #~ "Mittlere Maustaste: \t Skalieren der Ansicht.\n" #~ "Rechte Maustaste: \t Verschieben der Ansicht.\n" #~ "Doppelklick: \t Zurücksetzen der Ansicht.\n" #~ "\n" #~ "Linksklick & Gleiten auf einer Bindung definiert die Arbeitsebene:\n" #~ "Linksklick & Verschieben eines gebundenen Atoms ändert den " #~ "Bindungswinkel.\n" #~ "Rechtsklick & Verschieben eines gebundenen Atoms ändert die Bindungslänge" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Bindungslänge: %L1" #~ msgid " Show Angles" #~ msgstr " Winkel anzeigen" #~ msgid "Snap-to Threshold: " #~ msgstr "Einrast-Schwelle: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Bindungsorientiertes Bearbeiten" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Bearbeitung von Bindungslängen, -winkeln und -torsionen." #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Einstellungen: Bindungsorientiertes Bearbeiten" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Messwerkzeuge (F12)\n" #~ "\n" #~ "Linke Maustaste: \t Wähle bis zu drei Atome.\n" #~ "\t Abstände werden zwischen 1-2 und 2-3 gemessen\n" #~ "\t Winkel wird zwischen 1-3 mit 2 als Scheitelpunkt gemessen\n" #~ "rechte Maustaste: \t Zurücksetzen der Messungen. Doppelklick: \t " #~ "Zurücksetzen der Ansicht." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Entfernung (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Winkel: %L1*" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Entfernung (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Dihedral Winkel: %1*" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Abstände:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Messe Bindungslängen, -winkel und Dieder" #~ msgid "Delete Atom" #~ msgstr "Atom entfernen" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Zeichentool (F8)\n" #~ "\n" #~ "Linke Maustaste: \tKlicken und ziehen um Atome und Bindungen zu " #~ "erstellen.\n" #~ "Rechte Maustaste: \tAtom löschen." #~ msgid "Draw Bond" #~ msgstr "Bindung zeichnen" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Zeichne und editiere Atome und Bindungen" #~ msgid "Draw Settings" #~ msgstr "Einstellungen: Zeichnen" #~ msgid "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Manipulationstool (F10)\n" #~ "\n" #~ "Linke Maustaste: \tKlicken und ziehen, um Atome zu bewegen\n" #~ "Mittlere Maustaste: Klicken und ziehen, um Atome weiter weg oder näher " #~ "her zu bewegen\n" #~ "Rechte Maustaste: \tKlicken und ziehen um ausgewählte Atome zu rotieren.\n" #~ "Doppelklick: \tAnsicht zurücksetzen." #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Atome und Fragmente verschieben, drehen und ausrichten" #~ msgid "Manipulate Settings" #~ msgstr "Einstellungen: Atomorientiertes Bearbeiten" #~ msgid "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Navigationstool (F9)\n" #~ "\n" #~ "Linke Maustaste: \t Klicken und ziehen, um die Ansicht zu rotieren.\n" #~ "Mittlere Maustaste: Klicken und ziehen, um den Zoom zu verändern.\n" #~ "Rechte Maustaste: \t Klicken und ziehen, um die Ansicht zu bewegen.\n" #~ "Doppelklick \tAnsicht zurücksetzen." #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Um aktuelle Ansicht verschieben, drehen und zoomen" #~ msgid "Navigate Settings" #~ msgstr "Einstellungen: Navigation" #~ msgid "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgstr "" #~ "Auswahlwerkzeug (F11)\n" #~ "\n" #~ "Linke Maustaste: \t Auswahl einzelner Atome, Substituenten und Fragmente\n" #~ "\t bei gedrückter Maustaste Auswahl von Atomgruppen\n" #~ "Rechte Maustaste: Klicken ausserhalb des Moleüls löscht die Auswahl\n" #~ "Benutze Strg um zwischen der Auswahl zu wechseln und Umschalttaste für " #~ "weitere Auswahl.\n" #~ "Doppelklick: \t Auswahl eines ganzen Fragmentes." #~ msgid "Selection Mode:" #~ msgstr "Auswahl-Modus:" #~ msgid "Atom/Bond" #~ msgstr "Atom/Bond" #~ msgid "Residue" #~ msgstr "Rest" #~ msgid "Add Center of Atoms" #~ msgstr "Atomzentrum hinzufügen" #~ msgid "Add Center of Mass" #~ msgstr "Massenschwerpunkt hinzufügen" #~ msgid "Change color of the atom" #~ msgstr "Atom-Farbe verändern" #~ msgid "Change label of the atom" #~ msgstr "Beschriftung des Atoms ändern" #~ msgid "New Label:" #~ msgstr "Neue Beschriftung:" #~ msgid "Change label of the bond" #~ msgstr "Beschriftung der Bindung ändern" #~ msgid "Change radius of the atom" #~ msgstr "Atomradius verändern" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Neuer Radius, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Atome, Reste und Moleküle auswählen" #~ msgid "Symbol" #~ msgstr "Symbol" #~ msgid "Bond Length" #~ msgstr "Bindungslänge" #~ msgid "Bond Angle" #~ msgstr "Bindungswinkel" #~ msgid "Dihedral Angle" #~ msgstr "Dihedral Winkel" #~ msgid "Z Matrix Editor..." #~ msgstr "Z-Matrix-Editor …" #~ msgid "Z-Matrix" #~ msgstr "Z-Matrix" #~ msgid "Create/edit a z-matrix" #~ msgstr "Erzeugen/Editieren einer Z-Matrix" #~ msgid "Z-Matrix Settings" #~ msgstr "Z-Matrix Einstellungen" #~ msgid "Residue Color Settings" #~ msgstr "Einstellungen der Restefarben" #~ msgid "Color residues by:" #~ msgstr "Färbe Reste ein nach:" #~ msgid "Amino Colors" #~ msgstr "Amino-Farben" #~ msgid "Shapely Colors" #~ msgstr "Formschöne Farben" #~ msgid "Hydrophobicity" #~ msgstr "Hydrophobie" #~ msgid "Axes:" #~ msgstr "Achsen:" #~ msgid "Cartesian Axes" #~ msgstr "Kartesisches Koordinatensystem" #~ msgid "Orthogonal Axes" #~ msgstr "Senkrechte Koordinatenachsen" #~ msgid "Axis 1:" #~ msgstr "Achse 1:" #~ msgid "Axis 2:" #~ msgstr "Achse 2:" #~ msgid "Axis 3:" #~ msgstr "Achse 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Herkunft:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norm" #~ msgid "Preserve vector norms" #~ msgstr "Vektornorm erhalten" #~ msgid "Atom Radius:" #~ msgstr "Atomradius:" #~ msgid "Bond Radius:" #~ msgstr "Bindungsradius:" #~ msgid "Shape" #~ msgstr "Schatten" #~ msgid "Helix" #~ msgstr "Helix" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Blatt" #~ msgid "Loop" #~ msgstr "Schleife" #~ msgid "Colors" #~ msgstr "Farben" #~ msgid "Dipole:" #~ msgstr "Dipol:" #~ msgid "Dipole Moment" #~ msgstr "Dipolmoment" #~ msgid "Custom Vector" #~ msgstr "Angepasster Vektor" #~ msgid "Custom:" #~ msgstr "Individuell:" #~ msgid "Width:" #~ msgstr "Strichdicke:" #~ msgid "Cut-off radius:" #~ msgstr "Cut-off-Radius:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Cut-off-Winkel:" #~ msgid "Rendering Engine:" #~ msgstr "Rendering-Engine" #~ msgid "TextRenderer" #~ msgstr "TextRenderer" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Atombezeichnungen" #~ msgid "Text:" #~ msgstr "Text:" #~ msgid "Color:" #~ msgstr "Farbe:" #~ msgid "None" #~ msgstr "Keine" #~ msgid "Symbol & Number in Group" #~ msgstr "Symbul & Nummer in Gruppe" #~ msgid "Symbol & Atom number" #~ msgstr "Symbol & Atomnummer" #~ msgid "Formal charge" #~ msgstr "Formalladung" #~ msgid "Partial charge" #~ msgstr "Partialladung" #~ msgid "Residue number" #~ msgstr "Restnummer" #~ msgid "Unique ID" #~ msgstr "Eindeutige ID" #~ msgid "Custom data" #~ msgstr "Verschiedene Daten" #~ msgid "Change Font" #~ msgstr "Schriftart ändern" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Textversatz" #~ msgid "Bond Labels" #~ msgstr "Bindungsbezeichnung" #~ msgid "Bond length" #~ msgstr "Bindungslänge" #~ msgid "Bond number" #~ msgstr "Bindungsnummer" #~ msgid "Bond order" #~ msgstr "Bindungsanzahl" #~ msgid "Rendering:" #~ msgstr "Darstellung:" #~ msgid "Backbone" #~ msgstr "Rückgrat" #~ msgid "Lines" #~ msgstr "Linien" #~ msgid "Radius:" #~ msgstr "Radius:" #~ msgid "Include Nitrogens" #~ msgstr "Stickstoff miteinbeziehen" #~ msgid "VdW Opacity:" #~ msgstr "Van-der-Waals-Transparenz:" #~ msgid "Orbital:" #~ msgstr "Elektronenumlaufbahn:" #~ msgid "Render:" #~ msgstr "Rendere:" #~ msgid "Fill" #~ msgstr "Füllen" #~ msgid "Points" #~ msgstr "Punkte" #~ msgid "Draw Box:" #~ msgstr "Box zeichnen:" #~ msgid "Style:" #~ msgstr "Stil:" #~ msgid "Selected Colors" #~ msgstr "ausgewählte Farben" #~ msgid "Mapped Colors" #~ msgstr "abgebildete Farben" #~ msgid "Colors:" #~ msgstr "Farben:" #~ msgid "Positive" #~ msgstr "Positiv" #~ msgid "Negative" #~ msgstr "Negativ" #~ msgid "Show Atoms" #~ msgstr "Atome anzeigen" #~ msgid "Animate Trajectory" #~ msgstr "Flugbahn animieren" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Schleife" #~ msgid "fps" #~ msgstr "FPS" #~ msgid "Save as .avi..." #~ msgstr "Speichern als .avi …" #~ msgid "Angstroms" #~ msgstr "Ångström" #~ msgid "Bohrs" #~ msgstr "Bohr" #~ msgid "Fractional" #~ msgstr "Gitter" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, nur Koordinaten" #~ msgid "GAMESS Input #2" #~ msgstr "GAMESS-Eingabe #2" #~ msgid "Priroda Input" #~ msgstr "Priroda-Eingabe" #~ msgid "Apply Changes" #~ msgstr "Änderungen übernehmen" #~ msgid "Cut All" #~ msgstr "Alle Ausschneiden" #~ msgid "Paste to the End" #~ msgstr "Am Ende einfügen" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Fügen Sie hier die " #~ "atomaren Koordinaten ein oder bearbeiten Sie si. Sie müssen nahezu jeden " #~ "Teil des Textes einfügen, einschließlich der Koordinaten

" #~ msgid "(None)" #~ msgstr "(Keine)" #~ msgid "Sort by " #~ msgstr "Sortieren nach " #~ msgid "Conformer Search" #~ msgstr "Konformerensuche" #~ msgid "Method" #~ msgstr "Methode" #~ msgid "Number of atoms:" #~ msgstr "Anzahl der Atome:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Anzahl der rotierbaren Bindungen:" #~ msgid "Number of conformers" #~ msgstr "Anzahl der Konformeren" #~ msgid "Systematic rotor search" #~ msgstr "Systematische Drehpunkt-Suche" #~ msgid "Random rotor search" #~ msgstr "Zufällige Drehpunkt-Suche" #~ msgid "Weighted rotor search" #~ msgstr "Gewichtete Drehpunkt-Suche" #~ msgid "Genetic algorithm search" #~ msgstr "Suche durch genetischen Algorithmus" #~ msgid "Genetic Algorithm Options" #~ msgstr "Optionen für genetischen Algorithmus" #~ msgid "Children" #~ msgstr "Kinder" #~ msgid "Mutability" #~ msgstr "Austauschbarkeit" #~ msgid "Scoring method" #~ msgstr "Methode der Auswahl" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "Energie" #~ msgid "Constraints" #~ msgstr "Einschränkungen" #~ msgid "Add Constraints" #~ msgstr "Einschränkungen hinzufügen" #~ msgid "Ignore Atom" #~ msgstr "Atom ignorieren" #~ msgid "Fix Atom" #~ msgstr "Atom fixieren" #~ msgid "Fix Atom X" #~ msgstr "Atom fixieren (x-Koordinate)" #~ msgid "Fix Atom Y" #~ msgstr "Atom fixieren (y-Koordinate)" #~ msgid "Fix Atom Z" #~ msgstr "Atom fixieren (z-Koordinate)" #~ msgid "Torsion angle" #~ msgstr "Torsionswinkel" #~ msgid "Constraint Value" #~ msgstr "Einschränkungswert" #~ msgid "Atom Indices" #~ msgstr "Atomindizes" #~ msgid "Add" #~ msgstr "Hinzufügen" #~ msgid "Save" #~ msgstr "Speichern" #~ msgid "Load" #~ msgstr "Laden" #~ msgid "Atomic &identites:" #~ msgstr "Atomische &Identitäten:" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100,00000 100,00000 100,00000

" #~ msgid "&Reset" #~ msgstr "Zu&rücksetzen" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3,00000 0,00000 0,00000

\n" #~ "

0,00000 3,00000 0,00000

\n" #~ "

0,00000 0,00000 3,00000

" #~ msgid "Cell Parameters" #~ msgstr "Zellenparameter" #~ msgid " °" #~ msgstr " °" #~ msgid "Plane:" #~ msgstr "Ebene:" #~ msgid "&Miller Indices:" #~ msgstr "MIller-Indices" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Achtung: Nutze Miller-Indices ungleich Null" #~ msgid "Dimensions:" #~ msgstr "Abmessungen:" #~ msgid "Width (x)" #~ msgstr "Größe (x)" #~ msgid "Width (y)" #~ msgstr "Größe (y)" #~ msgid "Height (z)" #~ msgstr "Höhe (z)" #~ msgid "length" #~ msgstr "Länge" #~ msgid "cell repeats" #~ msgstr "Wiederholungen der Einheitszelle" #~ msgid "&Translate " #~ msgstr "&Verschiebe " #~ msgid "by arbitrary vector" #~ msgstr "per beliebigen Vektor" #~ msgid "selected atom to origin" #~ msgstr "ausgewähltes Atom zum Ursprung" #~ msgid "selected atom to unit cell center" #~ msgstr "Zentriere ausgewähltes Atom auf der Einheitszelle." #~ msgid "Translation vector:" #~ msgstr "Translationsvektor:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "&Vektoreinheiten:" #~ msgid "Cartesian" #~ msgstr "Kartesisch" #~ msgid "&Translate" #~ msgstr "&Verschieben" #~ msgid "&Keep atoms in unit cell" #~ msgstr "Atome in Elementarzelle &halten" #~ msgid "Crystal View Options" #~ msgstr "Kristall-Anzeigeoptionen" #~ msgid "Unit Cell Repeats:" #~ msgstr "Elementarzellenwiederholungen:" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "Zeichnen der Einheitszelle(n)?" #~ msgid "One" #~ msgstr "Eins" #~ msgid "All" #~ msgstr "Alle" #~ msgid "Color..." #~ msgstr "Farbe ..." #~ msgid "View Along:" #~ msgstr "Ansicht entlang:" #~ msgid "Default View" #~ msgstr "Standard-Ansicht" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "Millersche Indizes" #~ msgid "File Import..." #~ msgstr "Datei-Import …" #~ msgid "Attempt to perceive bonds?" #~ msgstr "Versuchen, Binddungen zu erkennen?" #~ msgid "Setup Force Field" #~ msgstr "Kraftfeld einrichten" #~ msgid "Force Field" #~ msgstr "Kraftfeld" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Anzahl der Schritte" #~ msgid "Algorithm" #~ msgstr "Algorithmus" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Nukleinsäuren einfügen" #~ msgid "DNA/RNA Builder" #~ msgstr "DNA/RNA-Erzeuger" #~ msgid "DNA" #~ msgstr "DNS" #~ msgid "RNA" #~ msgstr "RNS" #~ msgid "Nucleic Acids:" #~ msgstr "Nukleinsäuren" #~ msgid "Adenine" #~ msgstr "Adenin" #~ msgid "Cytosine" #~ msgstr "Cytosin" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Guanin" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Sequenz:" #~ msgid "the number of base pairs per helix turn" #~ msgstr "die Anzahl der Basenpaare pro Helixwindung" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Andere" #~ msgid "Bases Per Turn:" #~ msgstr "Basen pro Windung" #~ msgid "Strands:" #~ msgstr "Stränge" #~ msgid "Insert" #~ msgstr "Einfügen" #~ msgid "Insert Fragment..." #~ msgstr "Fragment einfügen …" #~ msgid "Filter:" #~ msgstr "Filter:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "" #~ "Namen oder Teil eines Namens eingeben, um nur zutreffende Dateien " #~ "anzuzeigen." #~ msgid "Peptide Builder" #~ msgstr "Peptiden-Erzeugung" #~ msgid "Alanine" #~ msgstr "Alanine" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginine" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagine" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "asparagische Säure" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cysteine" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "glutenische Säure" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamin" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glyzin" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidin" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleuzin" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valine" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tyrosin" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Tryptophan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Threonine" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serine" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Proline" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Phenylalanine" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Methionine" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lysine" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucine" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Amino Acids:" #~ msgid "Sequence (N to C):" #~ msgstr "Sequenz (N0 nach C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereo-Chemie" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N Terminus:" #~ msgid "C Terminus:" #~ msgstr "C Terminus:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "gerade Kette" #~ msgid "Alpha Helix" #~ msgstr "Alpha Helix" #~ msgid "Beta Sheet" #~ msgstr "Beta Blatt" #~ msgid "3-10 Helix" #~ msgstr "3-10 Helix" #~ msgid "Pi Helix" #~ msgstr "Pi Helix" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Ketten-Nummer" #~ msgid "The chain number for the new peptide" #~ msgstr "Die Kettennummer für das neue Peptid" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Molküleigenschaften" #~ msgid "Number of Residues:" #~ msgstr "Anzahl der Residuen:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energie (kJ/mol)" #~ msgid "Dipole Moment (D):" #~ msgstr "Dipol-Moment (D)" #~ msgid "IUPAC Molecule Name:" #~ msgstr "IUPAC-Molekülname:" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "diskrete Fouriertransformation" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Fortgeschritten" #~ msgid "Control" #~ msgstr "Steuerung" #~ msgid "SCF" #~ msgstr "wissenschaftlicher Lebensmittelausschuß" #~ msgid "Data" #~ msgstr "Daten" #~ msgid "Nothing" #~ msgstr "Nichts" #~ msgid "Grid" #~ msgstr "Raster" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray-Export" #~ msgid "Select..." #~ msgstr "Auswählen …" #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Benutze Vollbildantialiasing" #~ msgid "Antialias" #~ msgstr "Antialias" #~ msgid "Set the background color to be transparent" #~ msgstr "Setze die Hintergrundfarbe auf transparent" #~ msgid "Alpha transparency" #~ msgstr "Alpha-Transparenz" #~ msgid "Command:" #~ msgstr "Kommando:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Rendere das Molekül mittels Kommandozeilen-POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Behalte die POV-Ray-Quellen nachdem das Rendern beendet wurde" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Behalte die POV-Ray-Quellen nach dem Rendern" #~ msgid "Path:" #~ msgstr "Pfad:" #~ msgid "Abinit Input" #~ msgstr "Abinit-Eingabe" #~ msgid "k-points:" #~ msgstr "k-Punkte:" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Kartesisch (Angstrom)" #~ msgid "Reduced" #~ msgstr "Reduziert" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Kräftetoleranz (Ha/bohr):" #~ msgid "Max lattice expansion:" #~ msgstr "Max. Gitterausweitung:" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "k-Punktverschiebung:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Anzahl der Bänder:" #~ msgid "# k-point shifts:" #~ msgstr "# k-Punktverschiebungen:" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Besetzungsschema:" #~ msgid "SCF tolerance type:" #~ msgstr "SCF-Toleranztyp:" #~ msgid "Total Energy" #~ msgstr "Gesamtenergie" #~ msgid "Wave Function norm" #~ msgstr "Wellenfunktion-Norm" #~ msgid "Total Potential" #~ msgstr "Gesamtpotential" #~ msgid "Maximum Force" #~ msgstr "Maximale Kraft" #~ msgid "Relative Force" #~ msgstr "Relative Kraft" #~ msgid "1 - semiconducting" #~ msgstr "1 - Halbleitend" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi-Dirac" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 - Kalt geglättet (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 - Gaußsche Unschärfe" #~ msgid "Smearing width (Ha):" #~ msgstr "Unschärfebreite (Ha):" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Geometrieoptimierung:" #~ msgid "0 - no moving ions " #~ msgstr "0 - Keine beweglichen Ionen " #~ msgid "1 - viscous damping" #~ msgstr "1 - Zähes dämpfen" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS mit Energie" #~ msgid "# Geometrical time steps:" #~ msgstr "# Geometrische Zeitschritte:" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Glättung der kinetischen Energie (Ha):" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Benutze Form" #~ msgid "Compute..." #~ msgstr "Berechnen …" #~ msgid "Dalton Input" #~ msgstr "Dalton-Eingabe" #~ msgid "Basics" #~ msgstr "Grundeinstellungen" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Fügt alles was Sie schreiben zu Ihrer Information in die oberste Zeile\n" #~ "der Eingabedatei ein." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Basissatz" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Pople-Stil" #~ msgid "Jensen's polarization consistent" #~ msgstr "Polarisationskonsistent nach Jensen" #~ msgid "Dunning's correlation consistent" #~ msgstr "Korrelationskonsistent nach Dunning" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Kernkorrelationsfunktionen" #~ msgid "Diffuse functions" #~ msgstr "Diffusionsfunktionen" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Polarisationsfunktionen" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Direkt" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Wenn möglich, parallel laufen lassen. Nur für SCF-Wellenfunktionen\n" #~ "und DFT-Berechnungen möglich. Dalton unterstützt in dieser\n" #~ "Version nur MPI und muss korrekt kompiliert und installiert sein.\n" #~ "Die Anzahl der Knoten wird mit der Option »-N #« beim Ausführen\n" #~ "des Skripts »dalton« festgelegt." #~ msgid "Parallel" #~ msgstr "Parallel" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Funktional:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Dichte:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Ladungsintegration:" #~ msgid "Grid Specification" #~ msgstr "Gitterangaben" #~ msgid "Partitioning Scheme:" #~ msgstr "Partitionierugnsschema" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (original)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Gitterqualität" #~ msgid "coarse" #~ msgstr "grob" #~ msgid "normal" #~ msgstr "normal" #~ msgid "fine" #~ msgstr "fein" #~ msgid "ultrafine" #~ msgstr "ultrafein" #~ msgid "Radial Scheme:" #~ msgstr "Strahlenförmiges Schema:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Alle Funktionale anzeigen" #~ msgid "Property:" #~ msgstr "Eigenschaft:" #~ msgid "Polarizability" #~ msgstr "Polarisierbarkeit" #~ msgid "Excitation Energy" #~ msgstr "Anregungsenergie" #~ msgid "Frequency Dependent" #~ msgstr "Frequenzabhängigkeit" #~ msgid "No. excitations:" #~ msgstr "Keine Anregungen:" #~ msgid "EFP Matches" #~ msgstr "EFP-Übereinstimmungen" #~ msgid "Group Label:" #~ msgstr "Gruppen-Beschriftung:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Erweiterte Einstellungen" #~ msgid "Hessian" #~ msgstr "Hessematrix" #~ msgid "Stat Point" #~ msgstr "statistischer Punkt" #~ msgid "System" #~ msgstr "System" #~ msgid "MO Guess" #~ msgstr "Schätzung von MO" #~ msgid "Misc" #~ msgstr "Versch." #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Polarisation-Funktion von schweren Atomen:" #~ msgid "Read" #~ msgstr "Lese" #~ msgid "SBKJC" #~ msgstr "SBKJC Basisset" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "S-Hülle auf schweren Atomen diffusieren" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "L-Hülle auf schweren Atomen diffusieren" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "doppelte Zeta Valenz" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "dreifach Zeta Valenz" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA Valenz" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt Valenz" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP Typ:" #~ msgid "Default" #~ msgstr "Voreinstellung" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F schwere Atom Polarisationsfunktion" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#Lichtatom Polarisationsfunktion" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "maximale SCF Iterationen:" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "Optimierung" #~ msgid "Trudge" #~ msgstr "mühseliger Weg" #~ msgid "Saddle Point" #~ msgstr "Sattelpunkt" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Extremum eines Gradienten" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energiefläche" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "radiaitive Transistion mom." #~ msgid "Spin Orbit" #~ msgstr "Spinlaufbahn" #~ msgid "Finite Electric Field" #~ msgstr "finites elektrisches Feld" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Globale Optimierung" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO Optimierung" #~ msgid "Raman Intensities" #~ msgstr "Raman Intensität" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "EFP durchführen" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Kein (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Brüder" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF Typ:" #~ msgid "Localization Method:" #~ msgstr "Lokalisierungmethode" #~ msgid "Exec Type:" #~ msgstr "Durchführungs-Typ" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinante" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Besetzung des multiplen aktiven Raums eingeschränkt" #~ msgid "CI Singles" #~ msgstr "CI Singles" #~ msgid "Full Second Order CI" #~ msgstr "Ganz zweiter Ordnung CI" #~ msgid "General CI" #~ msgstr "Allgemeines CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearisiertes CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC mit Doppeln" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC mit Einzeln und Doppeln" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Normaler Lauf" #~ msgid "Check" #~ msgstr "Prüfe" #~ msgid "Debug" #~ msgstr "Debug" #~ msgid "Molecule Charge:" #~ msgstr "Molekülladung:" #~ msgid "Run Type:" #~ msgstr "Lauftyp:" #~ msgid "Use MP2" #~ msgstr "MP2 benutzen" #~ msgid "Use DFT" #~ msgstr "DFT benutzen" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# der Z-Matrix Variablen" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Reihenfolge der Hauptachsen:" #~ msgid "Coordinate Type:" #~ msgstr "Koordinatentyp:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Eindeutige Kartesische Koordinaten" #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrant-Interna" #~ msgid "MOPAC Z-Matrix" #~ msgstr "MOPAC Z-Matrix" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Verwende Symmetrie während der Berechnung" #~ msgid "Units:" #~ msgstr "Einheiten:" #~ msgid "Point Group:" #~ msgstr "Punktgruppe:" #~ msgid "Minutes" #~ msgstr "Minuten" #~ msgid "Hours" #~ msgstr "Stunden" #~ msgid "Days" #~ msgstr "Tage" #~ msgid "Weeks" #~ msgstr "Wochen" #~ msgid "Years" #~ msgstr "Jahre" #~ msgid "Millenia" #~ msgstr "Jahrtausende" #~ msgid "MegaWords" #~ msgstr "MegaWords" #~ msgid "MegaBytes" #~ msgstr "MegaBytes" #~ msgid "GigaWords" #~ msgstr "GigaWörter" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Parallele Methoden erzwingen" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "\"Kern\"datei nach dem Abbruch erstellen" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Speicher:" #~ msgid "Diagonalization Method:" #~ msgstr "Diagonalisierungsmethode:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Paralleler Auslastungsverteilungstyp" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Schleife" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Nächster Wert" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Benutze externe Datendarstellung für Mitteilungen" #~ msgid "Initial Guess:" #~ msgstr "Anfangsannahme:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO gelesen ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO gespeichert (DICTNRY)" #~ msgid "Skip" #~ msgstr "Überspringen" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Alpha- und Beta-Orbitale rotieren" #~ msgid "Print the Initial Guess" #~ msgstr "Erste Schätzung anzeigen" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "GAMESS-Schnittstelle zu anderen Codes" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Erzwinge einen Test des Ausführungsablaufs" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK-Version)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "In Wasser lösen" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Erzeuge natürliche UHF-Orbitale" #~ msgid "Direct SCF" #~ msgstr "Direktes SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Berechne nur Änderung in der Fock-Matrix" #~ msgid "Slater exchange" #~ msgstr "Slater-Austausch" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke-1988-Austausch" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair-Korrelation (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr-Korrelation" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater-Austausch + VWN-Korrelation" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE-Austausch + VWN5-Korrelation" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE-Austausch + LYP-Korrelation" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill-1996-Austausch" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof-Austausch (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: Ein-Parameter progressive Korrelation" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr-Korrelation (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP-Korrelation" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE-Austausch + OP-Korrelation" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL-Austausch + VWN5-Korrelation" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL-Austausch + LYP-Korrelation" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE-Austausch + VWN6-Korrelation" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE-Austausch + LYP-Korrelation" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE-Austausch + OP-Korrelation" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF- und BECKE-Austausch + LYP-Korrelation" #~ msgid "Grid-Free" #~ msgstr "Rasterfrei" #~ msgid "DFT Functional:" #~ msgstr "DFT-Funktion:" #~ msgid "Method:" #~ msgstr "Methode:" #~ msgid "AO Integral Storage" #~ msgstr "AO-Integralspeicher" #~ msgid "Duplicated on Each Node" #~ msgstr "Dupliziert auf jedem Knoten" #~ msgid "Distributed Across All Nodes" #~ msgstr "Auf alle Knoten verteilt" #~ msgid "words" #~ msgstr "Worte" #~ msgid "Compute MP2 Properties" #~ msgstr "Berechne MP2-Eigenschaften" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Integral-Rückhaltungs-Cutoff:" #~ msgid "Use Localized Orbitals" #~ msgstr "Lokalisierte Orbitale benutzen" #~ msgid "# of Core Electrons:" #~ msgstr "Anzahl der Kern-Elektronen" #~ msgid "Transformation Method" #~ msgstr "Transformationsmethode" #~ msgid "Two Phase Bin Sort" #~ msgstr "Zweistufiges Binary Sort" #~ msgid "Segmented Transformation" #~ msgstr "Segmentierte Umwandlung" #~ msgid "Analytic" #~ msgstr "Analytisch" #~ msgid "Numeric" #~ msgstr "Numerisch" #~ msgid "Double Differenced Hessian" #~ msgstr "Doppelt differenzierte Hessematrix" #~ msgid "Print Internal Force Constants" #~ msgstr "Interne Kraftkonstanten ausgeben" #~ msgid "Displacement Size:" #~ msgstr "Verschiebungsgrösse:" #~ msgid "Purify Hessian" #~ msgstr "Bereinige Hessematrix" #~ msgid "Frequency Scale Factor:" #~ msgstr "Frequenzskalierungsfaktor:" #~ msgid "bohrs" #~ msgstr "Bohr" #~ msgid "Initial Hessian" #~ msgstr "Ursprüngliche Hessematrix" #~ msgid "Guess (+ define)" #~ msgstr "Rate (+ definiere)" #~ msgid "Read (from $HESS)" #~ msgstr "Lese (aus $HESS)" #~ msgid "Update Step Size" #~ msgstr "Erneuere Schrittgrösse" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Orbitale bei jeder Iteration anzeigen" #~ msgid "Jump Size:" #~ msgstr "Sprunggrösse:" #~ msgid "Stationary Point" #~ msgstr "Fixpunkt" #~ msgid "Step Size" #~ msgstr "Schrittgröße" #~ msgid "Maximum:" #~ msgstr "Maximum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Initial:" #~ msgstr "Anfang:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Rationale Funktionsoptimierung" #~ msgid "Quadratic Approximation" #~ msgstr "Quadratische Annährung" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Eingeschränkte Optimierung" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Berechne Hessematrix neu alle:" #~ msgid "Follow Mode:" #~ msgstr "Folge-Modus:" #~ msgid "Maximum Steps:" #~ msgstr "Maximale Stufen:" #~ msgid "GAMESS-UK Input" #~ msgstr "GAMESS-UK-Eingabe" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Von Avogadro generierte GAMESS-UK-Eingabe" #~ msgid "Transition State Search" #~ msgstr "Übergangsstatussuche" #~ msgid "Basis:" #~ msgstr "Basis:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Z-Matrix" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "Im direkten Modus werden Integrale nicht gespeichert, sondern bei Bedarf " #~ "neuberechnet.\n" #~ "Bei modernen Systemen mit schnellen Prozessoren und langsamen Festplatten " #~ "ist das meist schneller." #~ msgid "Run in direct mode:" #~ msgstr "Im direkten Modus starten:" #~ msgid "Gaussian Input" #~ msgstr "Gaussian Eingabe" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Ausgabe:" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Kontrollpunkt:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-Matrix (kompakt)" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "Real" #~ msgid "metal" #~ msgstr "Metall" #~ msgid "si" #~ msgstr "si" #~ msgid "electron" #~ msgstr "Elektron" #~ msgid "Water Potential" #~ msgstr "Wasser Potential" #~ msgid "NONE" #~ msgstr "Keine" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "Atom Style" #~ msgstr "Atomstil" #~ msgid "angle" #~ msgstr "Winkel" #~ msgid "atomic" #~ msgstr "atomar" #~ msgid "bond" #~ msgstr "Bindung" #~ msgid "charge" #~ msgstr "Ladung" #~ msgid "dipole" #~ msgstr "Dipol" #~ msgid "ellipsoid" #~ msgstr "Ellipsoid" #~ msgid "line" #~ msgstr "Zeile" #~ msgid "meso" #~ msgstr "Mesomerie" #~ msgid "molecular" #~ msgstr "molekular" #~ msgid "sphere" #~ msgstr "Kugel" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "Geben Sie einen Namen für die Koordinationsdatei an." #~ msgid "Temperature" #~ msgstr "Temperatur" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "Wählen Sie die Anzahl Nosé-Hoover-Ketten des NVT Ensembles" #~ msgid "NH Chains" #~ msgstr "NH Ketten" #~ msgid "Time Step" #~ msgstr "Zeitschritt" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "Name der während der Simulation zu schreibenden XYZ-Datei." #~ msgid "Number of dimensions in the system." #~ msgstr "Anzahl Dimensionen des Systems" #~ msgid "Dimensions" #~ msgstr "Abmessungen" #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "Den Stil der Begrenzung in x-, y- und z-Richtung auswählen." #~ msgid "Boundary" #~ msgstr "Begrenzung" #~ msgid "Output Interval" #~ msgstr "Ausgabeintervall" #~ msgid "2d" #~ msgstr "2D" #~ msgid "3d" #~ msgstr "3D" #~ msgid "One Line" #~ msgstr "Einzeilig" #~ msgid "Multi Line" #~ msgstr "Mehrzeilig" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO Eingabe" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Molpro-Version:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "MOPAC-Eingabe" #~ msgid "Quartet" #~ msgstr "Quartett" #~ msgid "Quintet" #~ msgstr "Quintett" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem Eingabe" #~ msgid "Psi4 Input" #~ msgstr "Psi4-Eingabe" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem-Eingabe" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "TeraChem-Eingabe" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Unbegrenzt" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "Nein" #~ msgid "yes" #~ msgstr "Ja" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Streuung:" #~ msgid "Load Shaders" #~ msgstr "Lade Shader" #~ msgid "Shader Name:" #~ msgstr "Shader-Name:" #~ msgid "Vertex Shader:" #~ msgstr "Vertex-Shader:" #~ msgid "Fragment Shader:" #~ msgstr "Fragment-Shader:" #~ msgid "Assign Shader" #~ msgstr "Weise Shader zu" #~ msgid "Display Type:" #~ msgstr "Anzeigetyp:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Kontrollen:\n" #~ "doppelter Linksklick: voreingestellte Achsengrenze wiederherstellen" #~ msgid "&Load data..." #~ msgstr "Daten &laden …" #~ msgid "&Close" #~ msgstr "&Schließen" #~ msgid "Calculated Spectra:" #~ msgstr "Berechnete Spektren:" #~ msgid "Set Color..." #~ msgstr "Farbe festlegen …" #~ msgid "Imported Spectra:" #~ msgstr "Importierte Spektren:" #~ msgid "Font:" #~ msgstr "Zeichensatz" #~ msgid "Change Font..." #~ msgstr "Schrift ändern …" #~ msgid "Show" #~ msgstr "Anzeigen" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "Importiert TSVs von experimentellen Spektren." #~ msgid "&Import..." #~ msgstr "&Importieren …" #~ msgid "Background:" #~ msgstr "Hintergrund:" #~ msgid "Foreground:" #~ msgstr "Vordergrund" #~ msgid "New..." #~ msgstr "Neu …" #~ msgid "Rename..." #~ msgstr "Umbenennen …" #~ msgid "&Schemes:" #~ msgstr "Schemata:" #~ msgid "&Export..." #~ msgstr "&Exportieren …" #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Breite:" #~ msgid "&Height" #~ msgstr "&Höhe" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "Bild &speichern …" #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "Einen optimierte Schriftgröße statt der vorgegebenen benutzen." #~ msgid "Auto-adjust F&ont Size" #~ msgstr "&Zeichensatzgröße automatisch einstellen" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Daten exportieren" #~ msgid "Spectra Tab" #~ msgstr "Spektraltabelle" #~ msgid "&Gaussian Width:" #~ msgstr "&Gaussche Breite" #~ msgid "&Label peaks" #~ msgstr "&Spitzen des Graphen" #~ msgid "Rotatory Strength type:" #~ msgstr "Art der Rotationsstärke:" #~ msgid "Energy units:" #~ msgstr "Energieeinheiten:" #~ msgid "Density units" #~ msgstr "Dichteeinheiten" #~ msgid "Fermi Energy: " #~ msgstr "Fermi-Energie " #~ msgid "States / Cell" #~ msgstr "Zustand / Zelle" #~ msgid "States / Atom" #~ msgstr "Zustand / Atom" #~ msgid "States / Valence electron" #~ msgstr "Zustand / Valenzelektron" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Fermie-Energie am Nullpunkt" #~ msgid "Scale integrated DOS" #~ msgstr "Integrierte DOS skalieren" #~ msgid "Show integrated DOS" #~ msgstr "Integrierte DOS anzeigen" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "&Y Achsen Einheiten:" #~ msgid "Scaling Type:" #~ msgstr "Skalierungstyp:" #~ msgid "Linear" #~ msgstr "Linear" #~ msgid "Relative" #~ msgstr "Relativ" #~ msgid "Temperature:" #~ msgstr "Temperatur:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Laser-Wellenzahl:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Schwellwert:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Nukleus:" #~ msgid "&Reference:" #~ msgstr "&Referenz:" #~ msgid "Gaussian &Width:" #~ msgstr "Gaussche &Breite:" #~ msgid "Reset &Plot Axes" #~ msgstr "Zurücksetzten &Achsen neu zeichnen" #~ msgid "Label Peaks:" #~ msgstr "Spitzen des Graphen" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Molukulare Vibrationen" #~ msgid "Filter: " #~ msgstr "Filter: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Aktivität (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "Spektren &anzeigen …" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "Höhere Frequenz-Vibrationen zeigt schnellere Bewegung" #~ msgid "Animation speed set by frequency" #~ msgstr "Animationsgeschwindigkeit gesetzt durch Frequenz" #~ msgid "Display force &vectors" #~ msgstr "Kraftvektoren anzeigen" #~ msgid "&Normalize displacements" #~ msgstr "Ablösungen &Normalisieren" #~ msgid "Generate Cell" #~ msgstr "Erzeuge Zelle" #~ msgid "&Recalculate All" #~ msgstr "Alle &neuberechnen" #~ msgid "Default &Quality:" #~ msgstr "Vorgabe&qualität:" #~ msgid "Show occupied orbitals first" #~ msgstr "Zeige besetzte Orbitale zuerst" #~ msgid "Limit orbital precalculations to " #~ msgstr "Orbitale Vorberechnungen begrenzen auf " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "Orbitale um HOMO/LUMO" #~ msgid "Quality: " #~ msgstr "Qualität: " #~ msgid "Create Surfaces" #~ msgstr "Oberflächen erzeugen" #~ msgid "Surface Type:" #~ msgstr "Oberflächen Typ:" #~ msgid "Color By:" #~ msgstr "Farbe nach:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Niedrig" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Mittel" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Hoch" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Sehr Hoch" #~ msgid "Isosurface cutoff value" #~ msgstr "Isooberflächen Wert für die Abschaltung" #~ msgid "Iso Value:" #~ msgstr "Iso-Wert:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "in Anzeige Typ" #~ msgid "New Display" #~ msgstr "Neue Anzeige" #~ msgid "Advanced..." #~ msgstr "Erweitert …" #~ msgid "&n:" #~ msgstr "&n:" #~ msgid "&m:" #~ msgstr "&m:" #~ msgid "&Length:" #~ msgstr "&Länge:" #~ msgid "Uni&t:" #~ msgstr "Einhe&t:" #~ msgid "periodic units" #~ msgstr "periodische Einheiten" #~ msgid "angstrom" #~ msgstr "Ångström" #~ msgid "bohr radii" #~ msgstr "Bohrsche Radien" #~ msgid "nanometers" #~ msgstr "Nanometer" #~ msgid "picometers" #~ msgstr "Pikometer" #~ msgid "&Cap with hydrogen" #~ msgstr "Mit Wasserstoffatom abs&chließen" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "Dies könnte eine Weile dauern. Falls nur die Atomkoordinaten\n" #~ "benötigt werden (z.B. für eine quantenmechanische\n" #~ "Berechnung), sollte eine Repräsentation ausschließlich mit\n" #~ "Einzelbindungen genügen." #~ msgid "Find &double bonds" #~ msgstr "&Doppelbindungen finden" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "X-axis" #~ msgstr "X-Achse" #~ msgid "Y-axis" #~ msgstr "Y-Achse" #~ msgid "Z-axis" #~ msgstr "Z-Achse" #~ msgid "Display visual cues" #~ msgstr "Sichtmerkmale anzeigen" #~ msgid "Python Settings" #~ msgstr "Python-Einstellungen" #~ msgid "Z Matrix Editor" #~ msgstr "Z Matrix Editor" #~ msgid "Import Selected Atoms" #~ msgstr "ausgewählte Atome importieren" avogadrolibs-1.93.0/i18n/el.po000066400000000000000000010224621360735163600160200ustar00rootroot00000000000000# Greek translation for avogadro # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2009. # Dimitris Spingos (Δημήτρης Σπίγγος) , 2014. msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:29+0000\n" "Last-Translator: Aggelos Arnaoutis \n" "Language-Team: team@lists.gnome.gr\n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Γεννήτρια εισόδου..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Γεννήτρια εισόδου..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Συνέχεια" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Κλείσιμο" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Άγνωστο" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "Το abinit απέτυχε να ξεκινήσει." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Ματαίωση υπολογισμού" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Προειδοποίηση" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Προειδοποίηση" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Επιλογή διαλύτη" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Έξοδος" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Αδύνατη η εγγραφή σε αρχείο." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Το αρχείο βίντεο δεν γράφτηκε." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Το αρχείο βίντεο δεν γράφτηκε." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Ρύθμιση" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Τίτλος" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Όνομα αρχείου:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Επεξεργαστές:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Υπολογισμός:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Θεωρία:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Θεωρία:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Βάση" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Δεν έχει οριστεί μόριο" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Διακοπή &κίνησης" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Δεν έχουν επιλεχθεί άτομα" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Υδρογόνο" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Ήλιο" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Λίθιο" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Βηρύλλιο" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Βόριο" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Άνθρακας" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Άζωτο" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Οξυγόνο" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Φθόριο" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Νέον" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Νάτριο" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Μαγνήσιο" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Αργίλιο" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Πυρίτιο" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Φώσφορος" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Θείο" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Χλώριο" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Αργό" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Κάλιο" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Ασβέστιο" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Σκάνδιο" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Τιτάνιο" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Βανάδιο" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Χρώμιο" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Μαγγάνιο" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Σίδηρος" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Κοβάλτιο" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Νικέλιο" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Χαλκός" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Ψευδάργυρος" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Γάλλιο" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Γερμάνιο" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Αρσενικό" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Σελήνιο" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Βρώμιο" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Κρυπτό" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Ρουβίδιο" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Στρόντιο" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Ύττριο" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Ζιρκόνιο" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Νιόβιο" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Μολυβδαίνιο" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Τεχνήτιο" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ρουθήνιο" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Ρόδιο" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Παλλάδιο" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Άργυρος" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Κάδμιο" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Ίνδιο" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Κασσίτερος" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Αντιμόνιο" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Τελλούριο" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Ιώδιο" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ξένον" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Καίσιο" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Βάριο" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Λανθάνιο" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Δημήτριο" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Πρασεοδύμιο" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Νεοδύμιο" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Προμήθειο" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Σαμάριο" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Ευρώπιο" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Γαδολίνιο" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Τέρβιο" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Δυσπρόσιο" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Όλμιο" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Έρβιο" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Θούλιο" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Υττέρβιο" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Λουτήτιο" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Άφνιο" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Ταντάλιο" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Βολφράμιο" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Ρήνιο" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Όσμιο" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Ιρίδιο" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Λευκόχρυσος" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Χρυσός" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Υδράργυρος" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Θάλλιο" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Μόλυβδος" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Βισμούθιο" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Πολώνιο" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Αστάτιο" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Ραδόνιο" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Φράγκιο" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Ράδιο" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Ακτίνιο" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Θόριο" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Πρωτακτίνιο" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Ουράνιο" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Ποσειδώνιο" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Πλουτώνιο" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Αμερίκιο" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Κιούριο" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Μπερκέλιο" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Καλιφόρνιο" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Αϊνσταΐνιο" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Φέρμιο" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Μεντελέβιο" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Νομπέλιο" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Λωρένσιο" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Ραδερφόρντιο" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Δούβνιο" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Σιμπόργκιο" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Μπόριο" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Χάσιο" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Μαϊτνέριο" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Δαρμστάτιο" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Ρεντγκένιο" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Κοπερνίκιο" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Ζιρκόνιο" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Φλερόβιο" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Λιβερμόριο" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Περιήγηση..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Επιλογή διαλύτη" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Διαγραφή επιλεγμένων" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Όλα τα αρχεία" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "χωρίς τίτλο" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Περιοδικός Πίνακας" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Το abinit απέτυχε να ξεκινήσει." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Το Abinit κατέρρευσε." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Σφάλμα OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Άγνωστο" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Μόριο" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Προσθήκη ατόμου" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Αφαίρεση ατόμου" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Εκαθάριση Όλων" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Προσαρμογή υδρογόνων" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Τροποποίηση στοιχείου" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Τροποποίηση στοιχείου" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Τυπικό φορτίο" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Προσθήκη δεσμού" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Αφαίρεση ατόμου" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Διαγραφή δεσμού" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Τάξη δεσμού" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Τροποποίηση σειράς δεσμών" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Προσαρμογή στους δεσμούς" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Διαγραφή δεσμού" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Προσθήκη &μοναδιαίας κυψελίδας" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Αφαίρεση &μοναδιαίας κυψελίδας" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Γέμισμα μοναδιαίας κυψελίδας" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "Ανα&δίπλωση ατόμων στο κελί" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Κλιμάκωση όγκου μοναδιαίας κυψελίδας" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Υπερκυψελίδα" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Περιστροφή σε πρότυπο προσανατολισμό" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Αναγωγή σε κύρια κυψελίδα" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Να γίνει συμμετρικός ο κρύσταλλος" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Γέμισμα μοναδιαίας κυψελίδας" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Αναγωγή σε ασύμμετρη μονάδα" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Αρχείο" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Εξαγωγή" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Κατώφλια" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Άνοιγμα αρχείου WFN" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Επεκτάσεις" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Σφάλμα" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Πρόβλημα κατά την ανάγνωση αρχείου τροχιάς %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Σφάλμα OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Πρόβλημα κατά την ανάγνωση αρχείου τροχιάς %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Άνοιγμα αρχείου WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Άνοιγμα αρχείου WFN" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Σφάλμα" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Αποθήκευση κάρτας εισόδου" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "Είσοδος LAMMPS" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Επιτυχία!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Σχόλια αρχείου εισόδου" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Εμφάνιση πολλαπλών δεσμών" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Υδρογόνα" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Σφαίρα και ράβδος" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Απόδοση ετικέτας ατόμων και δεσμών" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Δεσμοκεντρικός χειρισμός" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Δεσμοκεντρικός χειρισμός" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Τέλος ατόμου" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Αφαίρεση Υδρογόνων" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Κατασκευή" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Δεσμός" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "Α&νοχή για συμμετρικές λειτουργίες..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Όνομα αρχείου:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Επεξεργαστής καρτεσιανών συντεταγμένων" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Επεξεργαστής καρτεσιανών συντεταγμένων" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Αναίρεση Αλλαγών" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Άκυρο όνομα αρχείου" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Όνομα στοιχείου" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Σύμβολο στοιχείου" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Σύμβολο στοιχείου" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Άκυρο όνομα αρχείου" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Ατομικός αριθμός" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Άκυρο όνομα αρχείου" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Συντεταγμένες" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Συντεταγμένες" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Συντεταγμένες" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Καρτεσιανές συντεταγμένες" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Καρτεσιανές συντεταγμένες" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Συντεταγμένες" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Ορισμός καρτεσιανών συντεταγμένων" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Προσαρμοσμένη" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Aggelos Arnaoutis,Anastasios Bourazanis,Dimitris " "Spingos,Eleftherios Kosmas,farkoius,tzem, ,Launchpad Contributions:,Aggelos " "Arnaoutis,Anastasios Bourazanis,Dimitris Spingos,Eleftherios Kosmas,farkoius," "tzem, ,Launchpad Contributions:,Aggelos Arnaoutis,Anastasios Bourazanis," "Dimitris Spingos,Eleftherios Kosmas,farkoius,tzem" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ με αριθμούς" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Καρτεσιανές συντεταγμένες" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Καρτεσιανές συντεταγμένες" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Πληροφορίες GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Πληροφορίες GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Είσοδος Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Αντιγραφή Όλων" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Προσαρμοσμένη" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Εκαθάριση Όλων" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Αδύνατος ο ορισμός μορφής: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Αδύνατος ο ορισμός μορφής: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "Ει&σαγωγή κρυστάλλου από το πρόχειρο..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Γέμισμα μοναδιαίας κυψελίδας" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Γέμισμα μοναδιαίας κυψελίδας" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "Ανα&δίπλωση ατόμων στο κελί" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Περιστροφή σε πρότυπο προσανατολισμό" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Κλιμάκωση κυψελίδας στον ό&γκο..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Υπερκυψελίδα" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Αναγωγή κελιού (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Κρύσταλλος..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Αφαίρεση &μοναδιαίας κυψελίδας" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Προσθήκη &μοναδιαίας κυψελίδας" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Αυτή η μοναδιαία κυψελίδα έχει ήδη αναχθεί στην κανονική της απεικόνιση " "Niggli." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Κρύσταλλος..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Απόδοση ετικέτας ατόμων και δεσμών" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Αδύνατη η ανάλυση του κειμένου" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Προσαρμοσμένοι άξονες" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Σχεδίαση" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Σχεδίαση ατόμου" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Τροποποίηση σειράς δεσμών" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Αφαίρεση ατόμου" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Απόσταση" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Απόσταση (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Άλλο..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Αυτόματη βελτιστοποίηση" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Απλή" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Διπλός" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Τριπλός" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Σενάρια" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Πρόβλημα κατά την ανάγνωση αρχείου τροχιάς %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Γεννήτρια εισόδου..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Είσοδος GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Ενέργεια μονού σημείου" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Γεωμετρία ισορροπίας" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Κατάσταση μετάπτωσης" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Συχνότητες" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Δυναμικό πυρήνα" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Αέριο" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Νερό" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Απλή" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Διπλή" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Τριπλή" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Δικατιόν" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Κατιόν" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Ουδέτερο" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Ανιόν" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Διανιόν" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Κάρτα εισόδου GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Ματαίωση υπολογισμού" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Προσαρμογή υδρογόνων" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Προσθήκη υδρογόνων" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Αφαίρεση Υδρογόνων" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Αφαίρεση Υδρογόνων" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Υδρογόνα" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Υδρογόνα" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Εισαγωγή" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Απόδοση ετικέτας ατόμων και δεσμών" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Εισαγωγή" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Χωρίς περιγραφή" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Μόριο" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Δημιουργείται..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Χειρισμός" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Χειρισμός ατόμου" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Μέτρηση" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Δίεδρη:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Γωνία:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Γωνία:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Μέτρηση" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Εμφανίζει το δικτύωμα των μοριακών ισοεπιφανειών" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "Π&ροβολή" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Μοριακές ιδιότητες" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Περιήγηση" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Περιήγηση" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Χημικό όνομα" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Χημική δομή για μεταφόρτωση." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Αποτυχία μεταφόρτωσης δικτύου" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Όριο χρόνου δικτύου η άλλο σφάλμα." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Το συγκεκριμένο μόριο δεν μπόρεσε να βρεθεί: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Αποτυχία μεταφόρτωσης δικτύου" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Βελτιστοποίηση Γεωμετρίας" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Γεωμετρική βελτιστοποίηση" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Να κατανοηθούν οι δεσμοί;" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Προσθήκη υδρογόνων" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Προσθήκη υδρογόνων για pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Αφαίρεση Υδρογόνων" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Αποτυχία ανάγνωσης μορίου από το αρχείο '%1'." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Εμφανίστηκε ένα πρόβλημα κατά την εγγραφή του αρχείου %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Βελτιστοποίηση Γεωμετρίας" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Δημιουργείται..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Ο αριθμός των ατόμων στο παρών μόριο δεν είναι ίδιος με αυτόν του αρχείου " "τροχιάς %1" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Βελτιστοποίηση Γεωμετρίας" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Προσθήκη υδρογόνων" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Προσθήκη υδρογόνων για pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Αφαίρεση Υδρογόνων" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Διακοπή" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Παράμετροι:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Δυναμικοί δεσμοί" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Αφαίρεση..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Διακοπή" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Εξαγωγή διανυσματικών γραφικών" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Αδυναμία ανάγνωσης αρχείου %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Μήνυμα σφάλματος!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Σφάλμα" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Αποθήκευση αρχείου video" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Απόδοση χρησιμοποιώντας POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Αποδίδει τα κύρια τμήματα χρησιμοποιώντας ιδιότητες QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Μοριακό γράφημα..." #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Μοριακό γράφημα με μονήρη ζεύγη..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Ατομικό φορτίο..." #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "Ε&πεκτάσεις" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Άνοιγμα αρχείου WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Αρχεία WFN (*.wfn);;Όλα τα αρχεία (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Επέκταση QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Δημιουργία αρχείων εισόδου για τα πακέτα κβαντικής χημείας" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Υπολογίζεται η ηλεκτρονική πυκνότητα" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Υπολογίζεται η ηλεκτρονική πυκνότητα" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Υπολογισμός και οπτικοποίηση μοριακών τροχιακών" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "Μοριακό τροχιακό %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Επαναφορά" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Γεννήτρια αρχείου εισόδου" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Διαγραφή όλων" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Επιλογή" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Αντιστροφή επιλογής" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " ηλεκτρόνια σθένους" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Επιλογή" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Επιλογή" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Επιλογή" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Επιλογή" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Κατανόηση ομάδας χώρου" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Αναγωγή σε ασύμμετρη μονάδα" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Ανοχή SCF:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Ομάδα&χώρου" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Η κατανόηση της ομάδας χώρου απέτυχε.\n" "\n" "Θα θέλατε να ξαναδοκιμάσετε με διαφορετική ανοχή;" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Η κατανόηση της ομάδας χώρου απέτυχε.\n" "\n" "Θα θέλατε να ξαναδοκιμάσετε με διαφορετική ανοχή;" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Η κατανόηση της ομάδας χώρου απέτυχε.\n" "\n" "Θα θέλατε να ξαναδοκιμάσετε με διαφορετική ανοχή;" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Η κατανόηση της ομάδας χώρου απέτυχε.\n" "\n" "Θα θέλατε να ξαναδοκιμάσετε με διαφορετική ανοχή;" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Ανοχή SCF:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Διεθνές" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Hall" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Επιλογή ομάδας χώρου" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Ομάδα&χώρου" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Δονήσεις" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Οπτικοποίηση φασμάτων" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Εμφάνιση κ&λασματικών συντεταγμένων" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Τύπος" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Στοιχείο" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Συμμετρία" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Επιλογή κατά στοιχείο..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Εμφάνιση των μοριακών διπολικών ροπών" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Βαν ντερ Βάαλς" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Βαν ντερ Βάαλς" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Απόδοση" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Απόδοση χρησιμοποιώντας POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Απλός σκελετός" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Αποδοση των μόρίων ως ράβδων" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Διάλογος" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Φόρμα" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Ρυθμίσεις επιλογής" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Ματαίωση υπολογισμού" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Πρόγραμμα σκιαστή:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Επεξεργαστές:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "Απόκρυ&ψη όταν τελειώσει" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "Απόκρυ&ψη όταν τελειώσει" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Τροποποίηση στοιχείου" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Αρχείο εισόδου Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Αρχείο Par:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Δυναμικό πεδίο:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Αρχείο Par:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Αρχείο εισόδου Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Αποθήκευση κάρτας εισόδου" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Επιτυχία!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Δομή" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Φόρτωση αρχείου..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Ρυθμίσεις μέτρησης" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "Ό&νομα αρχείου:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Περιήγηση" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Περιήγηση" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Περιήγηση" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Όνομα αρχείου:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "Εντάξει" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Ακύρωση" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Μορφή συντεταγμένων:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Επαναφορά" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Απόσταση" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Ανγκστομ" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Μπορ" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Μορφή:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Αναίρεση Αλλαγών" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Εφαρμογή" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Εισαγωγή κρυστάλλου" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Παράμετροι υπερκυψελίδας" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Επιλογές υπερκυψελίδας" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Επανάληψη Α:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Επανάληψη Β:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Επανάληψη C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Ορισμός χρώματος μοναδιαίας κυψελίδας" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Πίνακας κελιού" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Κλασματικός πίνακας κελιού (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Μετακίνηση ατόμων" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Εφαρμογή" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "Απόκρυ&ψη" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Κλιμάκωση όγκου μοναδιαίας κυψελίδας" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Εισαγωγή νέου όγκου:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Κλίμακα &συντελεστής:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Ετικέτες κειμένου" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Στοιχείο:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Σειρά δεσμού:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Είσοδος GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Βασικές ρυθμίσεις" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Σε:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Πολλαπλότητα:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Με:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Τίτλος:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Φορτίο:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Υπολογισμός:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Όνομα αρχείου:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Επαναφορά όλων" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Προεπιλεγμένα" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Φόρτωση αρχείου..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "όνομα" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Μορφή:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Χωρίς περιγραφή" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Μοριακή μάζα (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "ΠΡΟΣ ΥΛΟΠΟΙΗΣΗ" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Χημικός τύπος:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Αριθμός ατόμων:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Αριθμός δεσμών:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Γεωμετρική βελτιστοποίηση" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Μέθοδος βελτιστοποίησης:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Δυναμικό πεδίο:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Μέθοδος βελτιστοποίησης:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Μέγιστη κάθοδος" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Συζυγείς βαθμίδες" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Αυτόματη περιστροφή" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, ισοεπιφάνεια = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Ηλεκτροστατικό δυναμικό" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "βήματα" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Κριτήρια σύγκλισης βαθμίδας:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Σύγκλιση" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Όριο χρόνου:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Μονάδες" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Αριθμός δεσμών:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Μήκος κύματος (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Διαγραφή επιλεγμένων" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Κρίσιμη ακτίνα σημείου:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Ακτίνα διαδρομής δεσμού:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Ομοιοπολικός" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Σταθερό μέγεθος" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Αδιαφάνεια:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Επιφάνειες" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Επιφάνειες" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Μεσαία" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Πολύ χαμηλή" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Χαμηλή" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Υψηλή" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Πολύ υψηλή" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Τιμή &ισοεπιφάνειας:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Ανάλυση:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Επιφάνειες" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Υπολογισμός" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Δονήσεις" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Εύρος:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Έναρξη &κίνησης" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Διακοπή &κίνησης" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Μόριο" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Συμμετρία" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Επιλογές" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Συμμετρία" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Ομάδα&χώρου" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Anastasios Bourazanis,Eleftherios Kosmas,farkoius, ," "Launchpad Contributions:,Aggelos Arnaoutis,Anastasios Bourazanis,Dimitris " "Spingos,Eleftherios Kosmas,farkoius,tzem, ,Launchpad Contributions:,Aggelos " "Arnaoutis,Anastasios Bourazanis,Dimitris Spingos,Eleftherios Kosmas,farkoius," "tzem, ,Launchpad Contributions:,Aggelos Arnaoutis,Anastasios Bourazanis," "Dimitris Spingos,Eleftherios Kosmas,farkoius,tzem" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,a.brzns@gmail.com,elkosmas@gmail.com,,,a.brzns@gmail.com,elkosmas@gmail." "com,,,,a.brzns@gmail.com,elkosmas@gmail.com,,,,a.brzns@gmail.com," "elkosmas@gmail.com,,,,a.brzns@gmail.com,elkosmas@gmail.com,,,,a.brzns@gmail." "com,elkosmas@gmail.com,,,,a.brzns@gmail.com,elkosmas@gmail.com,,,,a." "brzns@gmail.com,elkosmas@gmail.com,,,,angelosarn@hotmail.com,a.brzns@gmail." "com,,elkosmas@gmail.com,,athmakrigiannis@gmail.com,,,angelosarn@hotmail.com," "a.brzns@gmail.com,,elkosmas@gmail.com,,athmakrigiannis@gmail.com,,," "angelosarn@hotmail.com,a.brzns@gmail.com,,elkosmas@gmail.com,," "athmakrigiannis@gmail.com" #~ msgid "Color by Index" #~ msgstr "Χρώμα κατά δείκτη" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Χρώμα κατά δείκτη (κόκκινο, πορτοκαλί, κίτρινο, πράσινο, γαλάζιο, ιώδες)." #~ msgid "Color by Partial Charge" #~ msgstr "Χρώμα ανά μερικό φορτίο" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Χρώμα ανά μερικό φορτίο ατόμου (γαλάζιο = θετικό, κόκκινο = αρνητικό." #~ msgid "Custom Color:" #~ msgstr "Προσαρμοσμένο χρώμα:" #~ msgid "Custom Color" #~ msgstr "Προσαρμοσμένο χρώμα" #~ msgid "Set custom colors for objects" #~ msgstr "Επιλογή προσαρμοσμένων χρωμάτων για τα αντικείμενα" #~ msgid "Color by Distance" #~ msgstr "Χρώμα κατά απόσταση" #~ msgid "Color by distance from the first atom." #~ msgstr "Χρώμα κατά απόσταση από το πρώτο άτομο" #~ msgid "Color by Element" #~ msgstr "Χρώμα κατά στοιχείο" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Χρώμα κατά στοιχείο (άνθρακας = γκρίζο, οξυγόνο = κόκκινο, ...)." #~ msgid "Color by Residue" #~ msgstr "Χρώμα κατά υπόλοιπο" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Χρώμα κατά υπόλοιπο (είδος αμινοξέος, υδροφοβία,...)" #~ msgid "SMARTS Pattern:" #~ msgstr "Μοτίβο SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Χρώμα επισήμανσης:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Χρώμα κατά μοτίβο SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "" #~ "Επισήμανση ειδικών χαρακτηριστικών που ταιριάζουν με ένα μοτίβο SMARTS." #~ msgid "Ununtrium" #~ msgstr "Ουνούντριο" #~ msgid "Ununpentium" #~ msgstr "Ουνουνπέντιο" #~ msgid "Ununseptium" #~ msgstr "Ουνουνσέπτιο" #~ msgid "Ununoctium" #~ msgstr "Ουνουνόκτιο" #~ msgid "Engines" #~ msgstr "Μηχανές" #~ msgid "Axes" #~ msgstr "Άξονες" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Αποδίδει τους άξονες x, y και z στο αρχικό" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "" #~ "Αποδίδει τα κύρια χρησιμοποιώντας σφαίρες (άτομα) και ράβδους (δεσμοί)" #~ msgid "Cartoon" #~ msgstr "Καρτούν" #~ msgid "Renders protein secondary structure" #~ msgstr "Εμφάνιση δευτεροταγούς δομής της πρωτεΐνης" #~ msgid "Dipole" #~ msgstr "Δίπολο" #~ msgid "Force" #~ msgstr "Δύναμη" #~ msgid "Renders force displacements on atoms" #~ msgstr "Αποδίδει αναγκαστικά τις μετατοπίσεις στα άτομα" #~ msgid "Hydrogen Bond" #~ msgstr "Δεσμός υδρογόνου" #~ msgid "Renders hydrogen bonds" #~ msgstr "Αποτύπωση δεσμών υδρογόνου" #~ msgid "Select Atom Labels Color" #~ msgstr "Επιλογή χρώματος ετικετών ατόμου" #~ msgid "Select Bond Labels Color" #~ msgstr "Επιλογή χρώματος ετικετών δεσμού" #~ msgid "Select Atom Labels Font" #~ msgstr "Επιλογή χρώματος ετικετών γραμματοσειράς" #~ msgid "Select Bond Labels Font" #~ msgstr "Επιλογή γραμματοσειράς ετικετών δεσμού" #~ msgid "Label" #~ msgstr "Ετικέτα" #~ msgid "Polygon" #~ msgstr "Πολύγωνο" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Αποδίδει άτομα ως τετράεδρα,οκτάεδρα και άλλα πολύγωνα" #~ msgid "Ribbon" #~ msgstr "Ταινία" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Απόδοση πρωτεινικού σκελετου ως ταινίας" #~ msgid "Ring" #~ msgstr "Δακτύλιος" #~ msgid "Renders rings with colored planes" #~ msgstr "Απόδωση δακτυλίων ως έγχρωμων επιπέδων" #~ msgid "Simple Wireframe" #~ msgstr "Απλός σκελετός" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Αποδίδει δεσμούς ως γραμμές,ιδανικό για μεγάλα μόρια" #~ msgid "Van der Waals Spheres" #~ msgstr "Σφαίρες Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Αποτύπωση ατόμων ως σφαίρες Van der Waals" #~ msgid "Stick" #~ msgstr "Ράβδος" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Ηλεκτρονική πυκνότητα,ισοεπιφάνεια = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, ισοεπιφάνεια = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "Αποδίδει τους δεσμούς ως γραμμές,ιδανικό για πολύ μεγάλα (βιο)μόρια" #~ msgid "Trajectory files" #~ msgstr "Αρχεία τροχιάς" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Αρχεία ιστορικού DL-POLY" #~ msgid "Open Trajectory File" #~ msgstr "Άνοιγμα αρχείου τροχιάς" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "αρχεία video (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Προσθήκη κατάληξης .avi" #~ msgid "Animation..." #~ msgstr "Κινούμενη απεικόνιση" #~ msgid "Cannot read file format of file %1." #~ msgstr "Αδυναμία ανάγνωσης μορφής του αρχείου %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Ανάγνωση αρχείου τροχιάς %1 απέτυχε." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Ορίστε ένα έγκυρο όνομα αρχείου .avi" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "To GL widget δεν αρχικοποιήθηκε σωστά προκειμένου να αποθηκεύσει video" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Άκυρο όνομα αρχείου βίντεο. Πρέπει να περιλαμβάνει την πλήρη διαδρομή " #~ "καταλόγου." #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Άκυρο όνομα αρχείου βίντεο. Πρέπει να περιλαμβάνει την πλήρη διαδρομή " #~ "καταλόγου και όνομα με κατάληξη .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Αδύνατος ο προσδιορισμός μορφής από το όνομα αρχείου: %1" #~ msgid "Animation" #~ msgstr "Κινούμενη απεικόνιση" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Κινούμενη απεικόνιση τροχιών, αντιδράσεων, και δονήσεων." #~ msgid "Cartesian Editor" #~ msgstr "Καρτεσιανός επεξεργαστής" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Δεν ορίστηκε κελί μονάδας για το μόριο -- αδύνατη η χρήση κλασματικών " #~ "συντεταγμένων." #~ msgid "Cartesian Editor..." #~ msgstr "Καρτεσιανός επεξεργαστής..." #~ msgid "Cartesian editor" #~ msgstr "Καρτεσιανός επεξεργαστής" #~ msgid "Number of atoms: %1" #~ msgstr "Αριθμός ατόμων: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Αριθμός περιστρέψιμων δεσμών: %1" #~ msgid "Add constraint" #~ msgstr "Προσθήκη περιορισμού" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Το μόριο πρέπει να περιλαμβάνει τουλάχιστον ένα άτομο για να προσθέσετε " #~ "περιορισμό." #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Το μόριο πρέπει να περιλαμβάνει τουλάχιστον δύο άτομα για να προσθέσετε " #~ "έναν περιορισμό δεσμού" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Το μόριο πρέπει να περιλαμβάνει τουλάχιστον τρία άτομα για να προσθέσετε " #~ "έναν περιορισμό γωνίας" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Το μόριο πρέπει να περιλαμβάνει τουλάχιστον τέσσερα άτομα για να " #~ "προσθέσετε έναν περιορισμό δίεδρης γωνίας" #~ msgid "&Crystallography" #~ msgstr "&Κρυσταλλογραφία" #~ msgid "&Reduce" #~ msgstr "Αναγ&ωγή" #~ msgid "&Settings" #~ msgstr "&Ρυθμίσεις" #~ msgid "&Length Unit" #~ msgstr "Μο&νάδα μήκους" #~ msgid "&Angle Unit" #~ msgstr "Μονάδα &γωνίας" #~ msgid "&Coordinate Display" #~ msgstr "Εμφάνιση &συντεταγμένων" #~ msgid "Coordinate &Preservation" #~ msgstr "Διατήρηση συντεταγμένων" #~ msgid "&Matrix Display" #~ msgstr "Εμφάνιση &πίνακα" #~ msgid "Hide &Editors" #~ msgstr "Απόκρυψη &επεξεργαστών" #~ msgid "Show &Editors" #~ msgstr "Εμφάνιση &επεξεργαστών" #~ msgid "Hide &Property Display" #~ msgstr "Οθόνη απόκρυψης &ιδιοτήτων" #~ msgid "Show &Property Display" #~ msgstr "Οθόνη εμφάνισης &ιδιοτήτων" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Τύπος πλέγματος: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Ομάδα χώρου: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Όγκος μοναδιαίας κυψελίδας: %L1%2" #~ msgid "Undefined" #~ msgstr "Αόριστο" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Τρικλινές" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Μονοκλινές" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ορθορομβικό" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Τετραγωνικό" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Ρομβοεδρικό" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Εξαγωνικό" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Κυβικό" #~ msgid "Paste Crystal" #~ msgstr "Επικόλληση κρυστάλλου" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Αποτυχία μείωσης Niggli. Το πλέγμα δομής εισόδου μπερδεύει τον αλγόριθμο " #~ "μείωσης Niggli. Δοκιμάστε να κάνετε μια μικρή διαταραχή (περίπου 2 σειρές " #~ "μεγέθους μικρότερες από την ανοχή) στα πλέγματα εισόδου και δοκιμάστε " #~ "ξανά." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Αποτυχία αναγωγής του κελιού μετά από 1000 επαναλήψεις του αλγορίθμου " #~ "μείωσης. Διακοπή." #~ msgid "&Translate Atoms..." #~ msgstr "&Μετακίνηση ατόμων..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Περιστροφή σε πρότυπο &προσανατολισμό" #~ msgid "&Slab..." #~ msgstr "&Πλάκα..." #~ msgid "Perceive Space&group..." #~ msgstr "Κατανόηση &ομάδας χώρου..." #~ msgid "Set &Spacegroup..." #~ msgstr "Ορισμός ομάδας&χώρου..." #~ msgid "&Fill Unit Cell" #~ msgstr "&Γέμισμα μοναδιαίας κυψελίδας" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "" #~ "Γέμισμα της μοναδιαίας κυψελίδας χρησιμοποιώντας την τρέχουσα ομάδα χώρου." #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Αναγωγή σε &ασύμμετρη μονάδα" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "" #~ "Αφαίρεση ατόμων σε ισοδύναμες θέσεις (αντιστροφή του κελιού μονάδας " #~ "συμπλήρωσης)." #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Σ&υμμετρικός κρύσταλλος" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Αναγωγή κυψελίδας (&κύρια)" #~ msgid "&Bohr" #~ msgstr "&Μπορ" #~ msgid "&Nanometer" #~ msgstr "&Νανόμετρα" #~ msgid "&Picometer" #~ msgstr "&Πικόμετρα" #~ msgid "&Degree" #~ msgstr "Μ&οίρες" #~ msgid "&Radian" #~ msgstr "Α&κτίνια" #~ msgid "Display &cartesian coordinates" #~ msgstr "Εμφάνιση κα&ρτεσιανών συντεταγμένων" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "" #~ "Διατήρηση κα&ρτεσιανών συντεταγμένων κατά τη διάρκεια τροποποίησης του " #~ "κελιού" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "" #~ "Διατήρηση κ&λασματικών συντεταγμένων κατά τη διάρκεια τροποποίησης του " #~ "κελιού" #~ msgid "Display &cartesian matrix" #~ msgstr "Εμφάνιση κα&ρτεσιανού πίνακα" #~ msgid "Display &fractional matrix" #~ msgstr "Εμφάνιση κ&λασματικού πίνακα" #~ msgid "Display as &row vectors" #~ msgstr "Εμφάνιση ως διανύσματα &γραμμής" #~ msgid "Display as &column vectors" #~ msgstr "Εμφάνιση ως διανύσματα &στήλης" #~ msgid "&Crystal View Options..." #~ msgstr "Επιλογές προβολής &κρυστάλλου..." #~ msgid "" #~ "

Perceived spacegroup %1, Hall symbol %2, Hermann-Mauguin symbol %3." #~ "

Cell can be symmetrized into a conventional setting, do you wish to " #~ "do so? Actions that make use of symmetry (e.g. supercell builder) require " #~ "this.

" #~ msgstr "" #~ "

Κατανοητή ομάδα χώρου %1, σύμβολο Hall %2, σύμβολο Hermann-Mauguin %3." #~ "

Η κυψελίδα μπορεί να γίνει συμμετρική σε μια συμβατική ρύθμιση, " #~ "θέλετε να γίνει έτσι; Οι ενέργειες που χρησιμοποιούν συμμετρία (π.χ. " #~ "Δομητής υπερκυψελίδας) το απαιτούν.

" #~ msgid "Set Spacegroup" #~ msgstr "Ορισμός ομάδας χώρου" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Δεν έχει οριστεί ομάδα χώρου για αυτό το έγγραφο.\n" #~ "\n" #~ "Θα θέλατε να ορίσετε μια ομάδα χώρου τώρα;" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Αναγνωρίστηκε ομάδα χώρου P1 -- αδύνατη η συμμετρικοποίηση σε αυτήν την " #~ "ομάδα χώρου.\n" #~ "\n" #~ "Θα θέλατε να ξαναδοκιμάσετε με διαφορετική ανοχή;" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Αναδίπλωση ατόμων στο κελί" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Αναγωγή σε κελί Niggli" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "Επιλογή ανοχής στις τρέχουσες καρτεσιανές μονάδες:" #~ msgid "Crystallography" #~ msgstr "Κρυσταλλογραφία" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Κατασκευή και ανάλυση περιοδικών δομών." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "Η είσοδος δεν είναι μορφοποιημένη ως μία από\n" #~ "τις ακόλουθες υποστηριζόμενες μορφές:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Μορφή VASP\n" #~ msgid "Bad Compostion" #~ msgstr "Εσφαλμένη σύνθεση" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "Το πεδίο ταυτοτήτων πρέπει να περιέχει τον ίδιο αριθμό καταχωρίσεων " #~ "οριοθετημένου χώρου όπως η γραμμή 6 του POSCAR." #~ msgid "Cartesian Coordinates" #~ msgstr "Καρτεσιανές συντεταγμένες" #~ msgid "Fractional Coordinates" #~ msgstr "Κλασματικές συντεταγμένες" #~ msgid "Set Fractional Coordinates" #~ msgstr "Ορισμός κλασματικών συντεταγμένων" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Πίνακας κελιού (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Ορισμός πίνακα μοναδιαίας κυψελίδας" #~ msgid "Set Unit Cell Params" #~ msgstr "Ορισμός παραμέτρων μοναδιαίας κυψελίδας" #~ msgid "Working..." #~ msgstr "Εργάζεται..." #~ msgid "Build" #~ msgstr "Κατασκευή" #~ msgid "Cut Slab From Crystal" #~ msgstr "Αποκοπή πλάκας από κρύσταλλο" #~ msgid "No GLWidget?" #~ msgstr "Χωρίς GLWidget;" #~ msgid "Please select one or more atoms." #~ msgstr "Παρακαλούμε επιλέξτε ένα ή περισσότερα άτομα." #~ msgid "Trajectory..." #~ msgstr "Τροχιά..." #~ msgid "Open chemical file format" #~ msgstr "Άνοιγμα μορφής χημικού αρχείου" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Χημικά αρχεία (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Άνοιγμα αρχείου παραμέτρων" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Χημικά αρχεία (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Εισαγωγή τροχιάς" #~ msgid "Import trajectory files" #~ msgstr "Εισαγωγή αρχείων τροχιάς" #~ msgid "Setup Force Field..." #~ msgstr "Ρύθμιση Δυναμικού πεδίου" #~ msgid "Calculate Energy" #~ msgstr "Υπολογισμός ενέργειας" #~ msgid "Conformer Search..." #~ msgstr "Αναζήτηση διαμορφομερούς" #~ msgid "Constraints..." #~ msgstr "Περιορισμοί..." #~ msgid "Ignore Selection" #~ msgstr "Παράβλεψη επιλογής" #~ msgid "Fix Selected Atoms" #~ msgstr "Ορισμός επιλεγμένων ατόμων" #~ msgid "&Molecular Mechanics" #~ msgstr "&Μοριακή μηχανική" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Αδύνατη η ρύθμιση του τρέχοντος επιλεγμένου πεδίου δύναμης για αυτό το " #~ "μόριο. Αλλαγή σε UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Ενέργεια = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Γεωμετρική βελτιστοποίηση" #~ msgid "Forcefield Optimization" #~ msgstr "Βελτιστοποίηση δυναμικού πεδίου" #~ msgid "Systematic Rotor Search" #~ msgstr "Συστηματική αναζήτηση ρότορα" #~ msgid "Random Rotor Search" #~ msgstr "Τυχαία αναζήτηση ρότορα" #~ msgid "Weighted Rotor Search" #~ msgstr "Σταθμισμένη αναζήτηση ρότορα" #~ msgid "Genetic Algorithm Search" #~ msgstr "Γενετική αναζήτηση αλγορίθμου" #~ msgid "ForceField" #~ msgstr "Δυναμικό πεδίο" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Βελτιστοποίηση μορίων και δημιουργία διαμορφομερών χρησιμοποιώντας " #~ "δυναμικά πεδία μοριακής μηχανικής" #~ msgid "&Vector Graphics..." #~ msgstr "&Διανυσματικά Γραφικά..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Κοινοί τύποι διανυσματικών εικόνων" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Εξαγωγή διανυσματικών γραφικών" #~ msgid "Change H to Methyl" #~ msgstr "Αλλαγή Η σε μεθύλιο" #~ msgid "H to Methyl" #~ msgstr "Από Η σε μεθύλιο" #~ msgid "H2Methyl" #~ msgstr "H2Μεθύλιο" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Μετασχηματισμός υδρογόνων σε ομάδες μεθυλίου" #~ msgid "Add or remove hydrogens" #~ msgstr "Προσθήκη ή αφαίρεση υδρογόνων" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "Εισαγωγή DNA" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Ουρακίλη" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Θυμίνη" #~ msgid "Insert DNA/RNA" #~ msgstr "Εισαγωγή DNA/RNA" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Εισαγωγή αλυσίδων DNA/RNA" #~ msgid "Cannot read molecular file %1." #~ msgstr "Αδύνατη η ανάγνωση μοριακού αρχείου %1." #~ msgid "Fragment..." #~ msgstr "Τμήμα..." #~ msgid "Insert SMILES" #~ msgstr "Εισαγωγή SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Εισαγωγή τμήματος SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Εισαγωγή τμήματος" #~ msgid "Insert Crystal" #~ msgstr "Εισαγωγή κρυστάλλου" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Εισαγωγή μοριακών τμημάτων για κατασκευή μεγαλύτερων μορίων" #~ msgid "Peptide..." #~ msgstr "Πεπτίδιο..." #~ msgid "Insert Peptide" #~ msgstr "Εισαγωγή Πεπτιδίου" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Εισαγωγή αλληλουχιών ολιγοπεπτιδίων" #~ msgid "Invert Chirality" #~ msgstr "Αντιστροφή χειρομορφίας" #~ msgid "InvertChiral" #~ msgstr "Αντιστροφή χειρόμορφου" #~ msgid "Invert chiral centers" #~ msgstr "Αντιστροφή χειρόμορφων κέντρων" #~ msgid "Molecule Properties..." #~ msgstr "Ιδιότητες μορίου..." #~ msgid "&Properties" #~ msgstr "&Ιδιότητες" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "άγνωστο" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Εκτιμώμενη διπολική ροπή (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(εκκρεμεί)" #~ msgid "Display standard molecular properties." #~ msgstr "Εμφάνιση τυπικών μοριακών ιδιοτήτων." #~ msgid "Fetch from PDB..." #~ msgstr "Λήψη από PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Λήψη κατά χημικό όνομα..." #~ msgid "Fetch from URL..." #~ msgstr "Λήψη από URL..." #~ msgid "PDB Entry" #~ msgstr "Καταχώριση PDB" #~ msgid "PDB entry to download." #~ msgstr "Καταχώριση PDB για μεταφόρτωση." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL του μορίου για μεταφόρτωση." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Το συγκεκριμένο μόριο δεν μπόρεσε να φορτωθεί: %1" #~ msgid "Network Fetch" #~ msgstr "Λήψη δικτύου" #~ msgid "Fetch molecule files over the network." #~ msgstr "Λήψη αρχείων μορίου μέσα από το δίκτυο." #~ msgid "All Files" #~ msgstr "Όλα τα Αρχεία" #~ msgid "Show Preview" #~ msgstr "Εμφάνιση προεπισκόπησης" #~ msgid "Hide Preview" #~ msgstr "Απόκρυψη προεπισκόπησης" #~ msgid "Intensities" #~ msgstr "Εντάσεις" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Αποθήκευση αποδιδόμενης εικόνας POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Αρχεία εικόνας (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Δεν δόθηκε όνομα αρχείου." #~ msgid "No valid filename was supplied." #~ msgstr "Δεν δόθηκε κανένα έγκυρο όνομα αρχείου." #~ msgid "Does not compute." #~ msgstr "Δεν υπολογίζεται." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Δεν ζητήσατε άμεση απόδοση χρησιμοποιώντας POV-Ray και όχι να διατηρήσετε " #~ "το αρχείο POV-Ray. Αυτό θα καταλήξει να μην αποθηκευτεί καμία έξοδος. " #~ "Είσαστε σίγουρος ότι είναι αυτό που θέλετε;" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Αδύνατη η εγγραφή σε αρχείο %1. Έχετε δικαιώματα εγγραφής σε αυτή τη θέση;" #~ msgid "POV-Ray failed to start." #~ msgstr "Αποτυχία εκκίνησης του POV-Ray" #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "Αποτυχία εκκίνησης του POV-Ray. Ίσως να μην ορίστηκε σωστά η διαδρομή στο " #~ "εκτελέσιμο." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Δημιουργήστε αρχεία POV-Ray και αποδώστε τα χρησιμοποιώντας τη γραμμή " #~ "εντολών του προγράμματος POV-Ray." #~ msgid "Atom Properties..." #~ msgstr "Ιδιότητες ατόμου..." #~ msgid "Bond Properties..." #~ msgstr "Ιδιότητες δεσμού..." #~ msgid "Angle Properties..." #~ msgstr "Ιδιότητες γωνίας..." #~ msgid "Torsion Properties..." #~ msgstr "Ιδιότητες στρέψης..." #~ msgid "Conformer Properties..." #~ msgstr "Ιδιότητες διαμορφομερούς..." #~ msgid "Atom Properties" #~ msgstr "Ιδιότητες ατόμου" #~ msgid "Bond Properties" #~ msgstr "Ιδιότητες δεσμού" #~ msgid "Angle Properties" #~ msgstr "Ιδιότητες γωνίας" #~ msgid "Torsion Properties" #~ msgstr "Ιδιότητες στρέψης" #~ msgid "Conformer Properties" #~ msgstr "Ιδιότητες διαμορφομερούς" #~ msgid "Properties" #~ msgstr "Ιδιότητες" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Παράθυρα για εμφάνιση ατόμου, δεσμού, γωνίας και ιδιοτήτων στρέψης. " #~ "Περιλαμβάνει επίσης έναν καρτεσιανό επεξεργαστή συντεταγμένων." #~ msgid "Valence" #~ msgstr "Σθένος" #~ msgid "Partial Charge" #~ msgstr "Μερικό φορτίου" #~ msgid "Atom" #~ msgstr "Άτομο" #~ msgid "Start Atom" #~ msgstr "Έναρξη ατόμου" #~ msgid "Rotatable" #~ msgstr "Περιστρέψιμη" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Διαμορφομερές %1\n" #~ "Μήκος %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Μήκος %1" #~ msgid "Vertex" #~ msgstr "Κορυφή" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Διαμορφομερές %1\n" #~ "Γωνία %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Γωνία %1" #~ msgid "Angle" #~ msgstr "Γωνία" #~ msgid "Atom %1" #~ msgstr "Άτομο %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Διαμορφομερές %1\n" #~ "στρέψη %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Στρέψη %1" #~ msgid "Torsion" #~ msgstr "Στρέψη" #~ msgid "Energy (kJ/mol)" #~ msgstr "Ενέργεια (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Διαμορφομερές" #~ msgid "Yes" #~ msgstr "Ναι" #~ msgid "No" #~ msgstr "Όχι" #~ msgid "Python Terminal" #~ msgstr "Τερματικό Python" #~ msgid "pythonTerminalDock" #~ msgstr "Προσάρτηση τερματικού python" #~ msgid "Interactive python scripting terminal" #~ msgstr "Διαδραστικό τερματικό σεναρίου Python" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Προειδοποίηση γεννήτριας κάρτας εισόδου Abinit" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης κάρτας εισόδου Abinit;" #~ msgid "Abinit_Input_Deck" #~ msgstr "Abinit_Input_Deck" #~ msgid "Abinit Running." #~ msgstr "Το Abinit εκτελείται." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Το Abinit εκτελείται ήδη. Παρακαλούμε περιμένετε μέχρι να ολοκληρωθεί ο " #~ "προηγούμενος υπολογισμός." #~ msgid "Abinit Not Installed." #~ msgstr "Το Abinit δεν έχει εγκατασταθεί." #~ msgid "The abinit executable cannot be found." #~ msgstr "Το εκτελέσιμο abinit δεν μπορεί να βρεθεί." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Ψευδο (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "Το abinit δεν ξεκίνησε. Ίσως δεν έχει εγκατασταθεί σωστά." #~ msgid "Running Abinit calculation..." #~ msgstr "Εκτελείται υπολογισμός Abinit..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Το Abinit δεν εκτελέστηκε σωστά. Ίσως δεν έχει εγκατασταθεί σωστά." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Προειδοποίηση γεννήτριας αρχείου εισόδου Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης αρχείου εισόδου Dalton;" #~ msgid "QM Matches" #~ msgstr "Το QM ταιριάζει" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Επιλογή EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Επιλογή QM..." #~ msgid "Delete" #~ msgstr "Διαγραφή" #~ msgid "You must make a selection!" #~ msgstr "Παρακαλώ επιλέξτε!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Η μετατροπή SMILES είναι μη διαθέσιμη" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Η μετατροπή μορφής SMILES δεν είναι διαθέσιμη!" #~ msgid "Group Name" #~ msgstr "Όνομα ομάδας" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Δημιουργία αρχείων εισόδου για το πακέτο κβαντικής χημείας GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Οι Προχωρημένες ρυθμίσεις μεταβλήθηκαν." #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Οι προχωρημένες ρυθμίσεις έχουν μεταβληθεί.\n" #~ "Απόρριψη?" #~ msgid "Advanced Settings Reset" #~ msgstr "Επαναφορά προχωρημένων ρυθμίσεων" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Σίγουρα επιθυμείτε να επαναφέρετε τις προχωρημένες ρυθμίσεις;\n" #~ "Όλες οι αλλαγές θα χαθούν!" #~ msgid "Basic Settings Reset" #~ msgstr "Επαναφορά βασικών ρυθμίσεων" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Σίγουρα επιθυμείτε να επαναφέρετε τις βασικές ρυθμίσεις;\n" #~ "Όλες οι αλλαγές θα χαθούν!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Προειδοποίηση γεννήτριας κάρτας εισόδου GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης κάρτας εισόδου GAMESS-UK;" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Κάρτα εισόδου GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Προειδοποίηση γεννήτριας κάρτας εισόδου Γκάους" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης κάρτας εισόδου Γκάους;" #~ msgid "Gaussian Input Deck" #~ msgstr "Κάρτα εισόδου Γκάους" #~ msgid "Gaussian Running." #~ msgstr "Το Gaussian εκτελείται." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Το Gaussian εκτελείται ήδη. Παρακαλώ περιμένετε μέχρι να ολοκληρωθεί ο " #~ "προηγούμενος υπολογισμός." #~ msgid "Gaussian Not Installed." #~ msgstr "Το Gaussian δεν έχει εγκατασταθεί." #~ msgid "The G03 executable, cannot be found." #~ msgstr "Το εκτελέσιμο G03 δεν βρέθηκε." #~ msgid "G03 failed to start." #~ msgstr "Το G03 απέτυχε να ξεκινήσει." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "Το G03 δεν ξεκίνησε. Ίσως δεν έχει εγκατασταθεί σωστά." #~ msgid "Running Gaussian calculation..." #~ msgstr "Εκτέλεση υπολογισμού Gaussian" #~ msgid "G03 Crashed." #~ msgstr "Το G03 κατέρρευσε." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Το Gaussian δεν εκτελέστηκε σωστά. Ίσως δεν έχει εγκατασταθεί σωστά." #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Lammps Input Deck Generator Warning" #~ msgstr "Προειδοποίηση γεννήτριας κάρτας εισόδου Lammps" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης κάρτας εισόδου Lammps;" #~ msgid "Lammps Input" #~ msgstr "Είσοδος Lammps" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Προειδοποίηση γεννήτριας κάρτας εισόδου Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης κάρτας εισόδου Molpro;" #~ msgid "Molpro Input Deck" #~ msgstr "Κάρτα εισόδου Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Προειδοποίηση εισόδου MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης κάρτας εισόδου MOPAC;" #~ msgid "MOPAC Input Deck" #~ msgstr "Κάρτα εισόδου MOPAC" #~ msgid "MOPAC Running." #~ msgstr "Το MOPAC εκτελείται." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "Το MOPAC εκτελείται ήδη. Παρακαλούμε περιμένετε μέχρι να ολοκληρωθεί ο " #~ "προηγούμενος υπολογισμός." #~ msgid "MOPAC Not Installed." #~ msgstr "Το MOPAC δεν έχει εγκατασταθεί." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Αδύνατη η εύρεση του εκτελέσιμου MOPAC." #~ msgid "MOPAC failed to start." #~ msgstr "Αποτυχία εκκίνησης του MOPAC." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "Το MOPAC δεν ξεκίνησε. Ίσως δεν έχει εγκατασταθεί σωστά." #~ msgid "Running MOPAC calculation..." #~ msgstr "Εκτελείται υπολογισμός MOPAC..." #~ msgid "MOPAC Crashed." #~ msgstr "Το MOPAC κατέρρευσε." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Το MOPAC δεν εκτελέστηκε σωστά. Ίσως δεν έχει εγκατασταθεί σωστά." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Προειδοποίηση γεννήτριας κάρτας εισόδου NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης κάρτας εισόδου NWChem;" #~ msgid "NWChem Input Deck" #~ msgstr "Κάρτα εισόδου NWChem" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Προειδοποίηση γεννήτριας κάρτας εισόδου Psi4" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης κάρτας εισόδου Psi4;" #~ msgid "Psi4 Input Deck" #~ msgstr "Κάρτα εισόδου Psi4" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Προειδοποίηση γεννήτριας κάρτας εισόδου Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης κάρτας εισόδου Q-Chem;" #~ msgid "QChem Input Deck" #~ msgstr "Κάρτα εισόδου QChem" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "Προειδοποίηση γεννήτριας κάρτας εισόδου TeraChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Θα θέλατε να ενημερώσετε το κείμενο προεπισκόπησης, χάνοντας όλες τις " #~ "αλλαγές που έγιναν στο παράθυρο προεπισκόπησης κάρτας εισόδου TeraChem;" #~ msgid "TeraChem Input Deck" #~ msgstr "Κάρτα εισόδου TeraChem" #~ msgid "Select SMARTS..." #~ msgstr "Επιλογή SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Επιλογή κατά υπόλοιπο..." #~ msgid "Add Named Selection..." #~ msgstr "Προσθήκη επώνυμης επιλογής..." #~ msgid "SMARTS Selection" #~ msgstr "Επιλογή SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Υπόδειγμα SMARTS για επιλογή" #~ msgid "Select by residue" #~ msgstr "Επιλογή κατά υπόλοιπο" #~ msgid "Residue name" #~ msgstr "Όνομα υπολοίπου" #~ msgid "There is no current selection." #~ msgstr "Δεν υπάρχει τρέχουσα επιλογή." #~ msgid "Add Named Selection" #~ msgstr "Προσθήκη επώνυμης επιλογής" #~ msgid "Name cannot be empty." #~ msgstr "Το όνομα δεν μπορεί να είναι κενό." #~ msgid "There is already a selection with this name." #~ msgstr "Υπάρχει ήδη μια επιλογή με αυτό το όνομα." #~ msgid "Selections" #~ msgstr "Επιλογές" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Επιλέξτε άτομα, δεσμούς, υπόλοιπα..." #~ msgid "GLSL Shaders..." #~ msgstr "Σκιαστές GLSL..." #~ msgid "Open a vertex shader source file" #~ msgstr "Ανοίξτε ένα πηγαίο αρχείο σκιαστή κορυφής" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Αρχεία σκιαστή κορυφής (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Ανοίξτε ένα πηγαίο αρχείο σκιαστή τμήματος" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Αρχεία σκιαστή τμήματος (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Ανοίξτε ένα αρχείο παραμέτρων σκιαστή" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Αρχεία παραμέτρων σκιαστή (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "Σκιαστές GLSL" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Φόρτωση και χρήση σκιαστών OpenGL 2.0 GLSL" #~ msgid "Intensity (arb. units)" #~ msgstr "ένταση (ελεύθερες μονάδες)" #~ msgid "Energy (eV)" #~ msgstr "Ενέργεια (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Πυκνότητα καταστάσεων (καταστάσεις/κυψελίδα)" #~ msgid "Density of States (states/atom)" #~ msgstr "Πυκνότητα καταστάσεων (καταστάσεις/άτομο)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Πυκνότητα καταστάσεων (καταστάσεις/ ηλεκτρόνιο σθένους)" #~ msgid "Transmittance (%)" #~ msgstr "Διαπερατότητα (%)" #~ msgid "Absorbance (%)" #~ msgstr "Απορρόφηση (%)" #~ msgid "No intensities" #~ msgstr "Καμία ένταση" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Τα δεδομένα δόνησης στο μόριο που έχετε φορτώσει δεν έχουν δεδομένα " #~ "έντασης. Οι εντάσεις έχουν οριστεί σε μια τυχαία τιμή για οπτικοποίηση." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Κυματαριθμός (cm−1)" #~ msgid "Shift (ppm)" #~ msgstr "Μετατόπιση (ppm)" #~ msgid "Activity" #~ msgstr "Ενεργότητα" #~ msgid "Intensity" #~ msgstr "Ένταση" #~ msgid "X Axis" #~ msgstr "Άξονας X" #~ msgid "Y Axis" #~ msgstr "Άξονας Υ" #~ msgid "&Appearance" #~ msgstr "Εμφ&άνιση" #~ msgid "E&xport Image" #~ msgstr "Ε&ξαγωγή εικόνας" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Υπέρυθρο" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Ρυθμίσεις &υπέρυθρων φασμάτων" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "Ρυθμίσεις φασμάτων &NMR" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "&Πυκνότητα ρυθμίσεων καταστάσεων" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "Υπεριώδες" #~ msgid "&UV Settings" #~ msgstr "Ρυθμίσεις &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "Ρυθμίσεις &CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Ράμαν" #~ msgid "&Raman Settings" #~ msgstr "Ρυθμίσεις &Ράμαν" #~ msgid "No data" #~ msgstr "Χωρίς δεδομένα" #~ msgid "Dark" #~ msgstr "Σκοτεινό" #~ msgid "Light" #~ msgstr "Φωτεινό" #~ msgid "Publication" #~ msgstr "Δημοσίευση" #~ msgid "Handdrawn" #~ msgstr "Σχεδιασμένος με το χέρι" #~ msgid "New Scheme" #~ msgstr "Νέο σχήμα" #~ msgid "Confirm Scheme Removal" #~ msgstr "Επιβεβαίωση αφαίρεσης του σχήματος" #~ msgid "Really remove current scheme?" #~ msgstr "Να αφαιρεθεί πραγματικά το τρέχον σχήμα;" #~ msgid "Change Scheme Name" #~ msgstr "Αλλαγή ονόματος σχήματος" #~ msgid "Enter new name for current scheme:" #~ msgstr "Εισαγωγή νέου ονόματος για το τρέχον σχήμα:" #~ msgid "Select Background Color" #~ msgstr "Επιλογή χρώματος παρασκηνίου" #~ msgid "Select Foreground Color" #~ msgstr "Επιλογή χρώματος προσκηνίου" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Επιλογή υπολογιζόμενου χρώματος φασμάτων" #~ msgid "Select Imported Spectra Color" #~ msgstr "Επιλογή εισαγόμενου χρώματος φασμάτων" #~ msgid "Export Calculated Spectrum" #~ msgstr "Εξαγωγή υπολογιζόμενου φάσματος" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Τιμές χωριζόμενες με στηλοθέτη (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Τιμές χωριζόμενες με στηλοθέτη" #~ msgid "Comma Separated Values" #~ msgstr "Τιμές χωριζόμενες με κόμμα" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Εισαγωγή φασμάτων" #~ msgid "Spectra Import" #~ msgstr "Εισαγωγή φασμάτων" #~ msgid "Unknown extension: %1" #~ msgstr "Άγνωστη επέκταση: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "Δεδομένα IR PWscf (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Δεδομένα IR Turbomole (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Δεδομένα UV Turbomole (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Δεδομένα CD Turbomole (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Μορφή δεδομένων" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Μορφή:" #~ msgid "Load Spectral Data" #~ msgstr "Φόρτωση φασματικών δεδομένων" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Το αρχείο CD Turbomole μορφοποιήθηκε λαθεμένα : %1" #~ msgid "Portable Network Graphics" #~ msgstr "Φορητά Δικτυακά Γραφικά (PNG)" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Μορφή αρχείου εικόνας με ετικέτες" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Φορητό Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Αποθήκευση εικόνας φασμάτων" #~ msgid "Image successfully written to %1" #~ msgstr "Η εικόνα γράφτηκε με επιτυχία στο %1" #~ msgid "&Advanced <<" #~ msgstr "&Προχωρημένα <<" #~ msgid "&Advanced >>" #~ msgstr "&Προχωρημένα >>" #~ msgid "&Spectra..." #~ msgstr "&Φάσματα..." #~ msgid "Spectra" #~ msgstr "Φάσματα" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "" #~ "Οπτικοποίηση φασματικών δεδομένων από υπολογισμούς κβαντικής χημείας" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Ανάλυση δονήσεων" #~ msgid "No vibrational displacements exist." #~ msgstr "Δεν υπάρχουν μετατοπίσεις δόνησης." #~ msgid "Vibration" #~ msgstr "Δόνηση" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "" #~ "Οπτικοποίηση καταστάσεων δονήσεων από υπολογισμούς κβαντικής χημείας" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Ταξινόμηση %1 δονήσεων κατά συχνότητα..." #~ msgid "Pause" #~ msgstr "Παύση" #~ msgid "Super Cell Builder..." #~ msgstr "Δομητής υπερκυψελίδας" #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Αυτό το έγγραφο είναι προς το παρόν ένα μεμονωμένο μόριο. Πρέπει να " #~ "δημιουργήσετε μια μοναδιαία κυψελίδα." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Κατασκευή και εμφάνιση κρυσταλλογραφικών υπερκυψελίδων" #~ msgid "Molecular Orbitals..." #~ msgstr "Μοριακά τροχιακά..." #~ msgid "Orbitals" #~ msgstr "Τροχιακά" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Τροχιακό" #~ msgid "Status" #~ msgstr "Κατάσταση" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Κανένας" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Ηλεκτροστατικό δυναμικό" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Ηλεκτρονική πυκνότητα" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Μοριακό τροχιακό" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Σφάλμα - αόριστος τύπος" #~ msgid "Create Surfaces..." #~ msgstr "Δημιουργία επιφανειών..." #~ msgid "Calculating VdW Cube" #~ msgstr "Υπολογίζεται ο κύβος ΒΝΤΒ" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Υπολογίζεται το μοριακό τροχιακό %L1" #~ msgid "VdW" #~ msgstr "ΒΝΤΒ" #~ msgid "Electron Density" #~ msgstr "Ηλεκτρονική πυκνότητα" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "Οι επιφάνειες ηλεκτροστατικού δυναμικού δεν υποστηρίζονται ακόμα." #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Υπολογισμός μοριακών τροχιακών και άλλων επιφανειών" #~ msgid "&Nanotube Builder..." #~ msgstr "Κατασκευαστής &νανοσωλήνων..." #~ msgid "Nanotube Builder" #~ msgstr "Κατασκευαστής νανοσωλήνων" #~ msgid "Invalid Nanotube Specification" #~ msgstr "Άκυρη προδιαγραφή νανοσωλήνα" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "Ο νανοσωλήνας που ζητήσατε δεν μπορεί να κατασκευαστεί για τον παρακάτω " #~ "λόγο:\n" #~ "\n" #~ "Ή το n ή το m πρέπει να είναι μεγαλύτερα από 1." #~ msgid "Insert Nanotube" #~ msgstr "Εισαγωγή νανοσωλήνα" #~ msgid "SWCNT Builder" #~ msgstr "Κατασκευαστής SWCNT" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Κατασκευή νανοσωλήνων άνθρακα μονού τοιχώματος." #~ msgid "Building..." #~ msgstr "Κατασκευάζεται..." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "Το γραφικό συστατικό GL δεν αρχικοποιήθηκε σωστά για να κάνει βίντεο" #~ msgid "GL widget has no molecule" #~ msgstr "Το γραφικό συστατικό GL δεν έχει κανένα μόριο" #~ msgid "Building video " #~ msgstr "Κατασκευή βίντεο " #~ msgid "Could not run povray." #~ msgstr "Αδυναμία εκτέλεσης povray." #~ msgid "Could not run mencoder." #~ msgstr "Αδύνατη η εκτέλεση του mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Ορισμός αναλογίας διαστάσεων" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Η τρέχουσα σκηνή Avogadro έχει πλάτος %1x%2 εικονοστοιχεία και συνεπώς " #~ "έχει αναλογία διαστάσεων %3.\n" #~ "Μπορείτε να κρατήσετε αυτήν την τιμή, για παράδειγμα αν σκοπεύετε να " #~ "χρησιμοποιήσετε POV-Ray για να παράξετε μια εικόνα %4x1000\n" #~ "εικονοστοιχεία, ή μπορείτε να εισάγετε οποιαδήποτε άλλη θετική τιμή,\n" #~ "για παράδειγμα 1 αν σκοπεύετε να χρησιμοποιήσετε το POV-Ray για να " #~ "παράξετε μια τετράγωνη εικόνα, όπως 1000x1000 εικονοστοιχεία." #~ msgid "Connect" #~ msgstr "Σύνδεση" #~ msgid "Disconnect" #~ msgstr "Αποσύνδεση" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Εντοπισμός Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Εντοπισμός κίνησης χρησιμοποιώντας απομακρυσμένα Wii" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Άκυρο περιεχόμενο OpenGL.\n" #~ "Ή κάτι κατέρρευσε πλήρως στη διαμόρφωση OpenGL (μπορείτε να εκτελέσετε " #~ "οποιαδήποτε εφαρμογή OpenGL;) ή βρήκατε ένα σφάλμα." #~ msgid "Debug Information" #~ msgstr "Πληροφορίες αποσφαλμάτωσης" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Μέγεθος προβολής: %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "Προβολή μοντέλου γραμμή 1: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "Προβολή μοντέλου γραμμή 2: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "Προβολή μοντέλου γραμμή 3: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "Προβολή μοντέλου γραμμή 4: %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Άτομα: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Δεσμοί: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: ο δείκτης %1 είναι απροσπέλαστος." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Ο τύπος αρχείου '%1' δεν υποστηρίζεται για ανάγνωση." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Ο τύπος αρχείου για το αρχείο '%1' δεν υποστηρίζεται για ανάγνωση." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Αποτυχία ανάγνωσης του μορίου με δείκτη %1 από το αρχείο '%2'." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "Αντικατάσταση μορίου: ο δείκτης %1 εκτός ορίων." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Ο τύπος αρχείου '%1' δεν υποστηρίζεται για εγγραφή." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Ο τύπος αρχείου για το αρχείο '%1' δεν υποστηρίζεται για εγγραφή." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Αδύνατο το άνοιγμα του αρχείου '%1' για εγγραφή." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Αδύνατο το άνοιγμα του αρχείου '%1' για ανάγνωση." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Η αντικατάσταση του μορίου με δείκτη %1 στο αρχείο '%2' απέτυχε." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Το αρχείο %1 δεν μπορεί να ανοιχτεί για ανάγνωση." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Το αρχείο %1 δεν μπορεί να ανοιχτεί για εγγραφή." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Αποτυχία αποθήκευσης μοριακού αρχείου - αδύνατη η μετονομασία του αρχικού " #~ "αρχείου." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Αποτυχία αποθήκευσης μοριακού αρχείου - αδύνατη η μετονομασία του νέου " #~ "αρχείου." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Αποτυχία αποθήκευσης μοριακού αρχείου - αδύνατη η αφαίρεση του παλιού " #~ "αρχείου." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Αποτυχία εγγραφής του μορίου στο αρχείο '%1'. Αποτυχία της συνάρτησης " #~ "OpenBabel." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Το αρχείο %1 δεν μπορεί να ανοιχτεί για εγγραφή." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Αποτυχία εγγραφής διαμορφομερών στο αρχείο'%1'" #~ msgid "Molecule %1" #~ msgstr "Μόριο %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Άγνωστη μηχανή Python" #~ msgid "N/A" #~ msgstr "Μη διαθέσιμο" #~ msgid "PythonEngine: checking " #~ msgstr "Μηχανή Python: ελέγχεται " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - το σενάριο δεν έχει καμία ορισμένη κλάση 'Engine'" #~ msgid " - no module" #~ msgstr " - χωρίς άρθρωμα" #~ msgid "Unknown Python Extension" #~ msgstr "Άγνωστη επέκταση Python" #~ msgid "PythonExtension: checking " #~ msgstr "Επέκταση Python: ελέγχεται " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - το σενάριο δεν έχει καμία ορισμένη κλάση 'Extension'" #~ msgid "Unknown Python Tool" #~ msgstr "Άγνωστο εργαλείο Python" #~ msgid "PythonTool: checking " #~ msgstr "Εργαλείο Python: ελέγχεται " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - το σενάριο δεν έχει καμία ορισμένη κλάση 'Tool'" #~ msgid "Conformer %1" #~ msgstr "Διαμορφομερές %1" #~ msgid "Tools" #~ msgstr "Εργαλεία" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "Στοίχιση μορίων\n" #~ "\n" #~ "Αριστερό πλήκτρο: Επιλέξτε μέχρι δύο άτομα.\n" #~ " Το πρώτο άτομο κεντράρεται στο αρχικό.\n" #~ " Το δεύτερο άτομο στοιχίζεται στον επιλεγμένο άξονα.\n" #~ "Δεξιό πλήκτρο: Επαναφορά στοίχισης.\n" #~ "Διπλό πάτημα: Κεντράρισμα του ατόμου στο αρχικό." #~ msgid "Axis:" #~ msgstr "Άξονας:" #~ msgid "Align:" #~ msgstr "Στοίχιση:" #~ msgid "Everything" #~ msgstr "Όλα" #~ msgid "Align" #~ msgstr "Στοίχιση" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Στοίχιση μορίων σε έναν καρτεσιανό άξονα" #~ msgid "Align Settings" #~ msgstr "Στοίχιση ρυθμίσεων" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "Εργαλείο αυτόματης βελτιστοποίησης\n" #~ "\n" #~ "Συναρτήσεις περιήγησης κατά το πάτημα σε κενό χώρο.\n" #~ "Αριστερό πλήκτρο: Περιστροφή χώρου\n" #~ "Μεσαίο πλήκτρο: Εστίαση χώρου\n" #~ "Δεξιό πλήκτρο: Μετακίνηση χώρου\n" #~ "Διπλό πάτημα: Επαναφορά προβολής\n" #~ "\n" #~ "Κατά την εκτέλεση:\n" #~ "Αριστερό πλήκτρο: Πάτημα και μετακίνηση ατόμων για τη μετακίνησή τους." #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "Αυτόματη βελτιστοποίηση: Αδύνατη η ρύθμιση του δυναμικού πεδίου...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Αριθμός περιορισμών: %1" #~ msgid "Steps per Update:" #~ msgstr "Βήματα ανά ενημέρωση:" #~ msgid "Algorithm:" #~ msgstr "Αλγόριθμος:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Μοριακή δυναμική (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Μοριακή δυναμική (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Μοριακή δυναμική (900K)" #~ msgid "Start" #~ msgstr "Εκκίνηση" #~ msgid "Fixed atoms are movable" #~ msgstr "Τα σταθερά άτομα μπορούν να κινηθούν" #~ msgid "Ignored atoms are movable" #~ msgstr "Τα αγνοημένα άτομα μπορούν να κινηθούν" #~ msgid "AutoOpt Molecule" #~ msgstr "Μόριο αυτόματης βελτιστοποίησης" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Αυτόματη βελτιστοποίηση της μοριακής γεωμετρίας" #~ msgid "AutoOptimization Settings" #~ msgstr "Ρυθμίσεις αυτόματης βελτιστοποίησης" #~ msgid "Auto Rotation Tool" #~ msgstr "Εργαλείο αυτόματης περιστροφής" #~ msgid "x rotation:" #~ msgstr "περιστροφή x:" #~ msgid "x rotation" #~ msgstr "περιστροφή x" #~ msgid "y rotation:" #~ msgstr "περιστροφή y:" #~ msgid "y rotation" #~ msgstr "περιστροφή y" #~ msgid "z rotation:" #~ msgstr "περιστροφή z:" #~ msgid "z rotation" #~ msgstr "περιστροφή z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Αυτόματη περιστροφή μορίων" #~ msgid "AutoRotate Settings" #~ msgstr "Ρυθμίσεις αυτόματης περιστροφής" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "Εργαλείο χειρισμού κεντρικού δεσμού\n" #~ "\n" #~ "Αριστερό πλήκτρο: Πάτημα και σύρσιμο για περιστροφή της προβολής.\n" #~ "Μεσαίο πλήκτρο: Πάτημα και σύρσιμο για μεγέθυνση ή σμίκρυνση.\n" #~ "Δεξιό πλήκτρο: Πάτημα και σύρσιμο για μετακίνηση της προβολής.\n" #~ "Διπλό πάτημα: Επαναφορά της προβολής.\n" #~ "\n" #~ "Αριστερό πάτημα & σύρσιμο ενός δεσμού για ορισμό του επιπέδου χειρισμού:\n" #~ "Αριστερό πάτημα & σύρσιμο ενός ατόμου στον δεσμό για αλλαγή γωνίας\n" #~ "Δεξί πάτημα & σύρσιμο ενός ατόμου στον δεσμό για αλλαγή μήκους" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Μήκος δεσμού: %L1" #~ msgid " Show Angles" #~ msgstr " Εμφάνιση γωνιών" #~ msgid "Snap-to Threshold: " #~ msgstr "Κατώφλι προσαρμογής: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Χειρισμός κεντρικού δεσμού" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Χειρισμός μηκών, γωνιών και στρέψεων δεσμού" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Ρυθμίσεις χειρισμού κεντρικού δεσμού" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Πάτημα για μέτρηση (F12)\n" #~ "\n" #~ "Αριστερό πλήκτρο: Επιλέξτε μέχρι τρία άτομα.\n" #~ " Οι αποστάσεις μετριούνται μεταξύ 1-2 και 2-3\n" #~ " Η γωνία μετριέται μεταξύ 1-3 χρησιμοποιώντας το 2 ως το κοινό σημείο\n" #~ "Δεξιό πλήκτρο: Επαναφορά των μετρήσεων. Διπλό πάτημα: Επαναφορά της " #~ "προβολής." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Απόσταση (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Γωνία: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Απόσταση (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Δίεδρη γωνία: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Αποστάσεις:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Μέτρηση μηκών δεσμού, γωνιών και διέδρων" #~ msgid "Delete Atom" #~ msgstr "Διαγραφή ατόμου" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Εργαλείο σχεδίασης (F8)\n" #~ "\n" #~ "Αριστερό πλήκτρο: Πάτημα και μετακίνηση για τη δημιουργία ατόμων και " #~ "δεσμών\n" #~ "Δεξί πλήκτρο: Διαγραφή ατόμου" #~ msgid "Draw Bond" #~ msgstr "Σχεδίαση δεσμού" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Σχεδίαση και επεξεργασία ατόμων και δεσμών" #~ msgid "Draw Settings" #~ msgstr "Ρυθμίσεις σχεδίασης" #~ msgid "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Εργαλείο χειρισμού (F10)\n" #~ "\n" #~ "Αριστερό πλήκτρο: Πάτημα και σύρσιμο για τη μετακίνηση ατόμων\n" #~ "Μεσαίο πλήκτρο: Πάτημα και σύρσιμο για τη μετακίνηση ατόμων σε μεγαλύτερη " #~ "ή μικρότερη εγγύτητα\n" #~ "Δεξί πλήκτρο: Πάτημα και σύρσιμο για την περιστροφή των επιλεγμένων " #~ "ατόμων.\n" #~ "Διπλό πάτημα: Επαναφορά της προβολής." #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Μετακίνηση, περιστροφή και προσαρμογή ατόμων και τμημάτων" #~ msgid "Manipulate Settings" #~ msgstr "Ρυθμίσεις χειρισμού" #~ msgid "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Εργαλείο περιήγησης (F9)\n" #~ "\n" #~ "Αριστερό πλήκτρο: Πάτημα και σύρσιμο για την περιστροφή προβολής.\n" #~ "Μεσαίο πλήκτρο: Πάτημα και σύρσιμο για μεγέθυνση ή σμίκρυνση.\n" #~ "Δεξί πλήκτρο: Πάτημα και σύρσιμο για τη μετακίνηση της προβολής.\n" #~ "Διπλό πάτημα: Επαναφορά της προβολής." #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Μετακίνηση, περιστροφή και εστίαση γύρω από την τρέχουσα προβολή" #~ msgid "Navigate Settings" #~ msgstr "Ρυθμίσεις περιήγησης" #~ msgid "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgstr "" #~ "Εργαλείο επιλογής (F11)\n" #~ "\n" #~ "Αριστερό πλήκτρο: Πάτημα για επιλογή μεμονωμένων ατόμων, υπολοίπων ή " #~ "τμημάτων\n" #~ " Σύρτε για να επιλέξετε μια περιοχή ατόμων\n" #~ "Δεξιό πλήκτρο: Πάτημα έξω από το μόριο για καθαρισμό της επιλογής\n" #~ "Χρησιμοποιήστε Ctrl για εναλλαγή της επιλογής και Shift για προσθήκη στην " #~ "επιλογή.\n" #~ "Διπλό πάτημα: Επιλογή ενός ολόκληρου τμήματος." #~ msgid "Selection Mode:" #~ msgstr "Λειτουργία επιλογής:" #~ msgid "Atom/Bond" #~ msgstr "Άτομο/Δεσμός" #~ msgid "Residue" #~ msgstr "Υπόλοιπο" #~ msgid "Add Center of Atoms" #~ msgstr "Προσθήκη κέντρου ατόμων" #~ msgid "Add Center of Mass" #~ msgstr "Προσθήκη κέντρου μάζας" #~ msgid "Change color of the atom" #~ msgstr "Αλλαγή χρώματος του ατόμου" #~ msgid "Change label of the atom" #~ msgstr "Αλλαγή ετικέτας του ατόμου" #~ msgid "New Label:" #~ msgstr "Νέα ετικέτα:" #~ msgid "Change label of the bond" #~ msgstr "Αλλαγή ετικέτας του δεσμού" #~ msgid "Change radius of the atom" #~ msgstr "Αλλαγή ακτίνας του ατόμου" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Νέα ακτίνα, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Επιλέξτε άτομα, υπόλοιπα και μόρια" #~ msgid "Symbol" #~ msgstr "Σύμβολο" #~ msgid "Bond Length" #~ msgstr "Μήκος δεσμού" #~ msgid "Bond Angle" #~ msgstr "Γωνία δεσμού" #~ msgid "Dihedral Angle" #~ msgstr "Δίεδρη γωνία" #~ msgid "Z Matrix Editor..." #~ msgstr "Επεξεργαστής πίνακα Z..." #~ msgid "Z-Matrix" #~ msgstr "Πίνακας Ζ" #~ msgid "Create/edit a z-matrix" #~ msgstr "Δημιουργία/επεξεργασία ενός πίνακα z" #~ msgid "Z-Matrix Settings" #~ msgstr "Ρυθμίσεις πίνακα Z" #~ msgid "Residue Color Settings" #~ msgstr "Ρυθμίσεις χρώματος υπολοίπου" #~ msgid "Color residues by:" #~ msgstr "Υπόλοιπα χρώματος κατά:" #~ msgid "Amino Colors" #~ msgstr "Χρώματα αμίνων" #~ msgid "Shapely Colors" #~ msgstr "Χρώματα σχημάτων" #~ msgid "Hydrophobicity" #~ msgstr "Υδροφοβία" #~ msgid "Axes:" #~ msgstr "Άξονες:" #~ msgid "Cartesian Axes" #~ msgstr "Καρτεσιανοί άξονες" #~ msgid "Orthogonal Axes" #~ msgstr "Ορθογώνιοι άξονες" #~ msgid "Axis 1:" #~ msgstr "Άξονας 1:" #~ msgid "Axis 2:" #~ msgstr "Άξονας 2:" #~ msgid "Axis 3:" #~ msgstr "Άξονας 3:" #~ msgid "X" #~ msgstr "Χ" #~ msgid "Origin:" #~ msgstr "Αρχικό:" #~ msgid "Y" #~ msgstr "Υ" #~ msgid "Z" #~ msgstr "Ζ" #~ msgid "Norm" #~ msgstr "Νόρμα" #~ msgid "Preserve vector norms" #~ msgstr "Διατήρηση διανυσματικών νορμών" #~ msgid "Atom Radius:" #~ msgstr "Ακτίνα ατόμου:" #~ msgid "Bond Radius:" #~ msgstr "Ακτίνα δεσμού:" #~ msgid "Shape" #~ msgstr "Σχήμα" #~ msgid "Helix" #~ msgstr "Έλικας" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Φύλλο" #~ msgid "Loop" #~ msgstr "Βρόχος" #~ msgid "Colors" #~ msgstr "Χρώματα" #~ msgid "Dipole:" #~ msgstr "Δίπολο:" #~ msgid "Dipole Moment" #~ msgstr "Ροπή διπόλου" #~ msgid "Custom Vector" #~ msgstr "Προσαρμοσμένο διάνυσμα" #~ msgid "Custom:" #~ msgstr "Προσαρμοσμένο:" #~ msgid "Width:" #~ msgstr "Πλάτος:" #~ msgid "Cut-off radius:" #~ msgstr "Ακτίνα αποκοπής:" #~ msgid "A" #~ msgstr "Α" #~ msgid "Cut-off angle:" #~ msgstr "Γωνία αποκοπής:" #~ msgid "Rendering Engine:" #~ msgstr "Απόδοση μηχανής:" #~ msgid "TextRenderer" #~ msgstr "Απόδοση κειμένου" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Ετικέτες ατόμου" #~ msgid "Text:" #~ msgstr "Κείμενο:" #~ msgid "Color:" #~ msgstr "Χρώμα:" #~ msgid "None" #~ msgstr "Κανένα" #~ msgid "Symbol & Number in Group" #~ msgstr "Σύμβολο & αριθμός σε ομάδα" #~ msgid "Symbol & Atom number" #~ msgstr "Σύμβολο & ατομικός αριθμός" #~ msgid "Formal charge" #~ msgstr "Τυπικό φορτίο" #~ msgid "Partial charge" #~ msgstr "Μερικό φορτίο" #~ msgid "Residue number" #~ msgstr "Αριθμός υπολοίπου" #~ msgid "Unique ID" #~ msgstr "Μοναδικό αναγνωριστικό" #~ msgid "Custom data" #~ msgstr "Προσαρμοσμένα δεδομένα" #~ msgid "Change Font" #~ msgstr "Αλλαγή γραμματοσειράς" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Μετατόπιση ετικέτας:" #~ msgid "Bond Labels" #~ msgstr "Ετικέτες δεσμών" #~ msgid "Bond length" #~ msgstr "Μήκος δεσμού" #~ msgid "Bond number" #~ msgstr "Αριθμός δεσμού" #~ msgid "Bond order" #~ msgstr "Τάξη δεσμού" #~ msgid "Rendering:" #~ msgstr "Αποτύπωση:" #~ msgid "Backbone" #~ msgstr "Σκελετός" #~ msgid "Lines" #~ msgstr "Γραμμές" #~ msgid "Radius:" #~ msgstr "Ακτίνα:" #~ msgid "Include Nitrogens" #~ msgstr "Συμπερίληψη αζώτων" #~ msgid "VdW Opacity:" #~ msgstr "Αδιαφάνεια VdW:" #~ msgid "Orbital:" #~ msgstr "Τροχιακό:" #~ msgid "Render:" #~ msgstr "Απόδοση:" #~ msgid "Fill" #~ msgstr "Συμπλήρωση" #~ msgid "Points" #~ msgstr "Σημεία" #~ msgid "Draw Box:" #~ msgstr "Πλαίσιο σχεδίασης:" #~ msgid "Style:" #~ msgstr "Τεχνοτροπία:" #~ msgid "Selected Colors" #~ msgstr "Επιλεγμένα χρώματα" #~ msgid "Mapped Colors" #~ msgstr "Αντιστοιχισμένα χρώματα" #~ msgid "Colors:" #~ msgstr "Χρώματα:" #~ msgid "Positive" #~ msgstr "Θετικό" #~ msgid "Negative" #~ msgstr "Αρνητικό" #~ msgid "Show Atoms" #~ msgstr "Εμφάνιση ατόμων" #~ msgid "Animate Trajectory" #~ msgstr "Παραγωγή τροχιάς" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Βρόχος" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Αποθήκευση ως .avi..." #~ msgid "Angstroms" #~ msgstr "Ανγκστρομς" #~ msgid "Bohrs" #~ msgstr "Μπορς" #~ msgid "Fractional" #~ msgstr "Κλασματικός" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, μόνο συντεταγμένες" #~ msgid "GAMESS Input #2" #~ msgstr "Είσοδος GAMESS #2" #~ msgid "Priroda Input" #~ msgstr "Είσοδος Priroda" #~ msgid "Apply Changes" #~ msgstr "Εφαρμογή αλλαγών" #~ msgid "Cut All" #~ msgstr "Αποκοπή Όλων" #~ msgid "Paste to the End" #~ msgstr "Επικόλληση στο Τέλος" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Επικόλληση ή " #~ "επεξεργασία ατομικών συντεταγμένων εδώ. Μπορείτε να επικολλήσετε σχεδόν " #~ "κάθε τμήμα κειμένου, που περιέχει συντεταγμένες

" #~ msgid "(None)" #~ msgstr "(Κανένα)" #~ msgid "Sort by " #~ msgstr "Ταξινόμηση κατά " #~ msgid "Conformer Search" #~ msgstr "Αναζήτηση διαμορφομερούς" #~ msgid "Method" #~ msgstr "Μέθοδος" #~ msgid "Number of atoms:" #~ msgstr "Αριθμός ατόμων:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Αριθμός περιστρέψιμων δεσμών:" #~ msgid "Number of conformers" #~ msgstr "Αριθμός διαμορφομερών" #~ msgid "Systematic rotor search" #~ msgstr "Συστηματική αναζήτηση ρότορα" #~ msgid "Random rotor search" #~ msgstr "Τυχαία αναζήτηση ρότορα" #~ msgid "Weighted rotor search" #~ msgstr "Σταθμισμένη αναζήτηση ρότορα" #~ msgid "Genetic algorithm search" #~ msgstr "Γενετική αναζήτηση αλγορίθμου" #~ msgid "Genetic Algorithm Options" #~ msgstr "Γενετικές επιλογές αλγορίθμου" #~ msgid "Children" #~ msgstr "Θυγατρικά" #~ msgid "Mutability" #~ msgstr "Αστάθεια" #~ msgid "Scoring method" #~ msgstr "Μέθοδος βαθμολόγησης" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "Ενέργεια" #~ msgid "Constraints" #~ msgstr "Περιορισμοί" #~ msgid "Add Constraints" #~ msgstr "Προσθήκη περιορισμών" #~ msgid "Ignore Atom" #~ msgstr "Παράβλεψη ατόμου" #~ msgid "Fix Atom" #~ msgstr "Ορισμός ατόμου" #~ msgid "Fix Atom X" #~ msgstr "Ορισμός ατόμου Χ" #~ msgid "Fix Atom Y" #~ msgstr "Ορισμός ατόμου Υ" #~ msgid "Fix Atom Z" #~ msgstr "Ορισμός ατόμου Ζ" #~ msgid "Torsion angle" #~ msgstr "Γωνία στρέψης" #~ msgid "Constraint Value" #~ msgstr "Τιμή περιορισμού" #~ msgid "Atom Indices" #~ msgstr "Δείκτες ατόμου" #~ msgid "Add" #~ msgstr "Προσθήκη" #~ msgid "Save" #~ msgstr "Αποθήκευση" #~ msgid "Load" #~ msgstr "Φόρτωση" #~ msgid "Atomic &identites:" #~ msgstr "Ατομικές &ταυτότητες:" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgid "&Reset" #~ msgstr "&Επαναφορά" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgid "Cell Parameters" #~ msgstr "Παράμετροι κελιού" #~ msgid " °" #~ msgstr " °" #~ msgid "Surface Slab Builder" #~ msgstr "Κατασκευαστής πλάκας επιφάνειας" #~ msgid "Plane:" #~ msgstr "Επίπεδο:" #~ msgid "&Miller Indices:" #~ msgstr "Δείκτες &Μίλερ:" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Προειδοποίηση: Χρησιμοποιήστε μη μηδενικούς δείκτες Μίλερ" #~ msgid "Dimensions:" #~ msgstr "Διαστάσεις:" #~ msgid "Width (x)" #~ msgstr "Πλάτος (x)" #~ msgid "Width (y)" #~ msgstr "Πλάτος (y)" #~ msgid "Height (z)" #~ msgstr "Ύψος (z)" #~ msgid "length" #~ msgstr "μήκος" #~ msgid "cell repeats" #~ msgstr "επαναλήψεις κελιού" #~ msgid "&Translate " #~ msgstr "&Μετακίνηση " #~ msgid "by arbitrary vector" #~ msgstr "κατά τυχαίο διάνυσμα" #~ msgid "selected atom to origin" #~ msgstr "επιλεγμένο άτομο στο αρχικό" #~ msgid "selected atom to unit cell center" #~ msgstr "το επιλεγμένο άτομο στο κέντρο της μοναδιαίας κυψελίδας" #~ msgid "Translation vector:" #~ msgstr "Διάνυσμα μετακίνησης:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "Μονάδες &διανύσματος:" #~ msgid "Cartesian" #~ msgstr "Καρτεσιανές" #~ msgid "&Translate" #~ msgstr "&Μετακίνηση" #~ msgid "&Keep atoms in unit cell" #~ msgstr "&Διατήρηση των ατόμων στην μοναδιαία κυψελίδα" #~ msgid "Crystal View Options" #~ msgstr "Επιλογές προβολής κρυστάλλου" #~ msgid "Unit Cell Repeats:" #~ msgstr "Επαναλήψεις μοναδιαίας κυψελίδας:" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "Να σχεδιαστούν οι μοναδιαίες κυψελίδες" #~ msgid "One" #~ msgstr "Ένα" #~ msgid "All" #~ msgstr "Όλα" #~ msgid "Color..." #~ msgstr "Χρώμα..." #~ msgid "View Along:" #~ msgstr "Προβολή με:" #~ msgid "Default View" #~ msgstr "Προεπιλεγμένη προβολή" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "Δείκτες Μίλερ" #~ msgid "File Import..." #~ msgstr "Εισαγωγή αρχείου..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Να γίνει προσπάθεια κατανόησης των δεσμών;" #~ msgid "Setup Force Field" #~ msgstr "Ρύθμιση δυναμικού πεδίου" #~ msgid "Force Field" #~ msgstr "Δυναμικό πεδίο:" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Αριθμός βημάτων" #~ msgid "Algorithm" #~ msgstr "Αλγόριθμος" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Εισαγωγή νουκλεϊκών οξέων" #~ msgid "DNA/RNA Builder" #~ msgstr "Κατασκευαστής DNA/RNA" #~ msgid "DNA" #~ msgstr "DNA" #~ msgid "RNA" #~ msgstr "RNA" #~ msgid "Nucleic Acids:" #~ msgstr "Νουκλεϊκά οξέα:" #~ msgid "Adenine" #~ msgstr "Αδενίνη" #~ msgid "Cytosine" #~ msgstr "Κυτοσίνη" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Γουανίνη" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Αλληλουχία:" #~ msgid "the number of base pairs per helix turn" #~ msgstr "ο αριθμός των ζευγών βάσης ανά στροφή έλικα" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Άλλο" #~ msgid "Bases Per Turn:" #~ msgstr "Βάσεις ανά στροφή:" #~ msgid "Strands:" #~ msgstr "Κλώνοι:" #~ msgid "Insert" #~ msgstr "Εισαγωγή" #~ msgid "Insert Fragment..." #~ msgstr "Εισαγωγή τμήματος..." #~ msgid "Filter:" #~ msgstr "Φίλτρο:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "" #~ "Πληκτρολογήστε ένα όνομα ή μέρος ενός ονόματος για να εμφανίσετε μόνο τα " #~ "σύμφωνα αρχεία." #~ msgid "Peptide Builder" #~ msgstr "Δομητής πεπτιδίων" #~ msgid "Alanine" #~ msgstr "Αλανίνη" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Αργινίνη" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Ασπαραγίνη" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Ασπαρτικό Οξύ" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Κυστεΐνη" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Γλουταμικό Οξύ" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Γλουταμίνη" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Γλυκίνη" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Ιστιδίνη" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Ισολευκίνη" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Βαλίνη" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Τυροσίνη" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Τρυπτοφάνη" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Θρεονίνη" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Σερίνη" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Προλίνη" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Φαινυλαλανίνη" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Μεθειονίνη" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Λυσίνη" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Λευκίνη" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Αμινοξέα:" #~ msgid "Sequence (N to C):" #~ msgstr "Αλληλουχία (Ν προς C):" #~ msgid "Stereochemistry:" #~ msgstr "Στερεοχημεία:" #~ msgid "L" #~ msgstr "ΑΡ" #~ msgid "D" #~ msgstr "ΚΑ" #~ msgid "N Terminus:" #~ msgstr "Τέλος Ν:" #~ msgid "C Terminus:" #~ msgstr "Τέλος C:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Ευθεία αλυσίδα" #~ msgid "Alpha Helix" #~ msgstr "Άλφα έλικα" #~ msgid "Beta Sheet" #~ msgstr "φύλλο βήτα" #~ msgid "3-10 Helix" #~ msgstr "3-10 έλικα" #~ msgid "Pi Helix" #~ msgstr "Έλικας πι" #~ msgid "Phi:" #~ msgstr "Φι:" #~ msgid "Psi:" #~ msgstr "Ψι:" #~ msgid "Chain Number:" #~ msgstr "Αριθμός αλυσίδας:" #~ msgid "The chain number for the new peptide" #~ msgstr "Ο αριθμός αλυσίδας για το νέο πεπτίδιο" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Ιδιότητες μορίου" #~ msgid "Number of Residues:" #~ msgstr "Αριθμός υπολοίπων:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Ενέργεια (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Ροπή διπόλου (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Όνομα μορίου κατά IUPAC:" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Προχωρημένη" #~ msgid "Control" #~ msgstr "Έλεγχος" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Δεδομένα" #~ msgid "Nothing" #~ msgstr "Κανένα" #~ msgid "Grid" #~ msgstr "Πλέγμα" #~ msgid "POV-Ray Export" #~ msgstr "Εξαγωγή POV-Ray" #~ msgid "Select..." #~ msgstr "Επιλογή..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Χρήση πλήρους εξομάλυνσης σκηνής" #~ msgid "Antialias" #~ msgstr "Εξομάλυνση" #~ msgid "Set the background color to be transparent" #~ msgstr "Ορισμός του χρώματος παρασκηνίου σε διαφανές" #~ msgid "Alpha transparency" #~ msgstr "Διαφάνεια άλφα" #~ msgid "Command:" #~ msgstr "Εντολή:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Απόδοση του μορίου άμεσα χρησιμοποιώντας τη γραμμή εντολών POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Διατήρηση της πηγής POV-Ray μετά την ολοκλήρωση της απόδοσης" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Διατήρηση της πηγής POV-Ray μετά την απόδοση" #~ msgid "Path:" #~ msgstr "Διαδρομή:" #~ msgid "Abinit Input" #~ msgstr "Είσοδος Abinit" #~ msgid "k-points:" #~ msgstr "σημεία k:" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Καρτεσιανή (άνγκστρομ)" #~ msgid "Reduced" #~ msgstr "Αναγμένο" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "Αποκοπή επιπέδου κύματος (Ha):" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Ανοχή στις δυνάμεις (Ha/bohr):" #~ msgid "Max lattice expansion:" #~ msgstr "Μέγιστη επέκταση πλέγματος:" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "μετατόπιση σημείου k:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Αριθμός ζωνών:" #~ msgid "# k-point shifts:" #~ msgstr "# Μετατοπίσεις σημείου k:" #~ msgid "Double grid PW cutoff (Ha):" #~ msgstr "Αποκοπή PW διπλού πλέγματος (Ha):" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Σχήμα κατάληψης:" #~ msgid "SCF tolerance type:" #~ msgstr "Τύπος ανοχής SCF:" #~ msgid "Total Energy" #~ msgstr "Συνολική ενέργεια" #~ msgid "Wave Function norm" #~ msgstr "Νόρμα συνάρτησης κύματος" #~ msgid "Total Potential" #~ msgstr "Συνολικό δυναμικό" #~ msgid "Maximum Force" #~ msgstr "Μέγιστη δύναμη" #~ msgid "Relative Force" #~ msgstr "Σχετική δύναμη" #~ msgid "1 - semiconducting" #~ msgstr "1 - ημιαγωγό" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Φέρμι Ντιράκ" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 - Ψυχρή επάλειψη (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 - Επάλειψη Γκάους" #~ msgid "Smearing width (Ha):" #~ msgstr "Πλάτος επάλειψης (Ha):" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Γεωμετρική βελτιστοποίηση:" #~ msgid "0 - no moving ions " #~ msgstr "0 - χωρίς ιόντα μετακίνησης " #~ msgid "1 - viscous damping" #~ msgstr "1 - ιξώδης απόσβεση" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS με ενέργεια" #~ msgid "# Geometrical time steps:" #~ msgstr "# Γεωμετρικά βήματα χρόνου:" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Εξομάλυνση κινητικής ενέργειας (Ha):" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Χρήση μορφής" #~ msgid "Compute..." #~ msgstr "Υπολογίζεται..." #~ msgid "Dalton Input" #~ msgstr "Είσοδος Ντάλτον" #~ msgid "Basics" #~ msgstr "Βασικά" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Προσθέτει ό,τι πληκτρολογείτε στη γραμμή τίτλου του αρχείου εισόδου για\n" #~ "τους δικούς σας σκοπούς πληροφόρησης." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Σύνολο βάσης:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Τεχνοτροπία Pople" #~ msgid "Jensen's polarization consistent" #~ msgstr "Ομοιόμορφη πόλωση Γιένσεν" #~ msgid "Dunning's correlation consistent" #~ msgstr "Ομοιόμορφη συσχέτιση Dunning" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Συναρτήσεις συσχέτισης πυρήνα" #~ msgid "Diffuse functions" #~ msgstr "Συναρτήσεις διάχυσης" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Συναρτήσεις πόλωσης" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Άμεση" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Παράλληλη εκτέλεση όπου είναι δυνατό. Αυτό είναι δυνατό μόνο για SCF\n" #~ "κυματοσυναρτήσεις και υπολογισμούς DFT. Το Ντάλτον υποστηρίζει μόνο MPI\n" #~ "στην τρέχουσα έκδοση και πρέπει να μεταγλωττιστεί και να εγκατασταθεί\n" #~ "σωστά. Ο αριθμός των κόμβων ορίζεται χρησιμοποιώντας την επιλογή \"-N #\" " #~ "κατά την εκτέλεση του σεναρίου \"dalton\"." #~ msgid "Parallel" #~ msgstr "Παράλληλα" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Λειτουργικό:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Πυκνότητα:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Ενσωμάτωση φορτίου:" #~ msgid "Grid Specification" #~ msgstr "Προδιαγραφή πλέγματος" #~ msgid "Partitioning Scheme:" #~ msgstr "Σχήμα διαμέρισης:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (αρχικό)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Ποιότητα πλέγματος:" #~ msgid "coarse" #~ msgstr "χονδρική" #~ msgid "normal" #~ msgstr "κανονική" #~ msgid "fine" #~ msgstr "λεπτομερής" #~ msgid "ultrafine" #~ msgstr "πολύ λεπτομερής" #~ msgid "Radial Scheme:" #~ msgstr "Ακτινικό σχήμα:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Εμφάνιση όλων των συναρτήσεων" #~ msgid "Property:" #~ msgstr "Ιδιότητα:" #~ msgid "Polarizability" #~ msgstr "Πολωσιμότητα" #~ msgid "Excitation Energy" #~ msgstr "Ενέργεια διέγερσης" #~ msgid "Frequency Dependent" #~ msgstr "Εξαρτημένη συχνότητα" #~ msgid "No. excitations:" #~ msgstr "Αριθμός διεγέρσεων:" #~ msgid "EFP Matches" #~ msgstr "Συμφωνίες EFP" #~ msgid "Group Label:" #~ msgstr "Ετικέτα ομάδας:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Προχωρημένη ρύθμιση" #~ msgid "Hessian" #~ msgstr "Hessian" #~ msgid "Stat Point" #~ msgstr "Στατιστικό σημείο" #~ msgid "System" #~ msgstr "Σύστημα" #~ msgid "MO Guess" #~ msgstr "Πρόβλεψη μοριακών τροχιακών" #~ msgid "Misc" #~ msgstr "Διάφορα" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Συναρτήσεις πόλωσης βαρέως ατόμου:" #~ msgid "Read" #~ msgstr "Ανάγνωση" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Διάχυση φλοιού S σε βαριά άτομα" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Διάχυση φλοιού L σε βαριά άτομα" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Διπλό σθένος ζήτα" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Τριπλό σθένος ζήτα" #~ msgid "SBKJA Valence" #~ msgstr "Σθένος SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "Σθένος Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Τύπος ECP:" #~ msgid "Default" #~ msgstr "Προεπιλογή" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Συναρτήσεις πόλωσης βαρέως ατόμου:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#Συναρτήσεις πόλωσης ελαφριού ατόμου:" #~ msgid "Polar:" #~ msgstr "Πολική:" #~ msgid "Max SCF Iterations:" #~ msgstr "Μέγιστες επαναλήψεις SCF:" #~ msgid "Gradient" #~ msgstr "Βαθμίδα" #~ msgid "Optimization" #~ msgstr "Βελτιστοποίηση" #~ msgid "Trudge" #~ msgstr "Σύρσιμο" #~ msgid "Saddle Point" #~ msgstr "Σαγματικό σημείο" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Ακρότατο βαθμίδας" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Επιφάνεια ενέργειας" #~ msgid "Morokuma" #~ msgstr "Μοροκούμα" #~ msgid "Radiative Transition mom." #~ msgstr "mom. μετάπτωσης ακτινοβολίας" #~ msgid "Spin Orbit" #~ msgstr "Τροχιά ιδιοστροφορμής" #~ msgid "Finite Electric Field" #~ msgstr "Πεπερασμένο ηλεκτρικό πεδίο" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Γενική βελτιστοποίηση" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Βελτιστοποίηση FMO" #~ msgid "Raman Intensities" #~ msgstr "Εντάσεις Ράμαν" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Δημιουργία EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Κανένα (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Τύπος SCF:" #~ msgid "Localization Method:" #~ msgstr "Μέθοδος τοπικοποίησης:" #~ msgid "Exec Type:" #~ msgstr "Τύπος εκτέλεσης:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ορίζουσα Ames Lab." #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Περιορισμένη κατάληψη πολλαπλού ενεργού χώρου" #~ msgid "CI Singles" #~ msgstr "Απλές CI" #~ msgid "Full Second Order CI" #~ msgstr "Πλήρης δεύτερης τάξης CI" #~ msgid "General CI" #~ msgstr "Γενική CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Γραμμικοποιημένα CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC με διπλές" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC με απλές και διπλές" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Κανονική εκτέλεση" #~ msgid "Check" #~ msgstr "Έλεγχος" #~ msgid "Debug" #~ msgstr "Αποσφαλμάτωση" #~ msgid "Molecule Charge:" #~ msgstr "Φορτίο μορίου:" #~ msgid "Run Type:" #~ msgstr "Τύπος εκτέλεσης:" #~ msgid "Use MP2" #~ msgstr "Χρήση MP2" #~ msgid "Use DFT" #~ msgstr "Χρήση DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# των μεταβλητών πίνακα Z" #~ msgid "Ǻngstrom" #~ msgstr "Ανγκστρομ" #~ msgid "Order of Principal Axis:" #~ msgstr "Σειρά του κύριου άξονα:" #~ msgid "Coordinate Type:" #~ msgstr "Τύπος συντεταγμένων:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Μοναδικές καρτεσιανές συντεταγμένες." #~ msgid "Hilderbrant internals" #~ msgstr "Εσωτερικά Hilderbrant" #~ msgid "MOPAC Z-Matrix" #~ msgstr "Πίνακας Ζ MOPAC" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Χρήση συμμετρίας κατά τη διάρκεια του υπολογισμού" #~ msgid "Units:" #~ msgstr "Μονάδες:" #~ msgid "Point Group:" #~ msgstr "Ομάδα σημείων:" #~ msgid "Minutes" #~ msgstr "Λεπτά" #~ msgid "Hours" #~ msgstr "Ώρες" #~ msgid "Days" #~ msgstr "Ημέρες" #~ msgid "Weeks" #~ msgstr "Εβδομάδες" #~ msgid "Years" #~ msgstr "Έτη" #~ msgid "Millenia" #~ msgstr "Χιλιετίες" #~ msgid "MegaWords" #~ msgstr "MegaWords" #~ msgid "MegaBytes" #~ msgstr "MegaBytes" #~ msgid "GigaWords" #~ msgstr "GigaWords" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Εξαναγκασμός παράλληλων μεθόδων" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Παραγωγή αρχείου \"πυρήνα\" κατά την διακοπή" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Μνήμη:" #~ msgid "Diagonalization Method:" #~ msgstr "Μέθοδος διαγωνοποίησης:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Τύπος ισορροπίας παράλληλου φορτίου" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Βρόχος" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Επόμενη τιμή" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Χρήση εξωτερικής αναπαράστασης δεδομένων για μηνύματα" #~ msgid "Initial Guess:" #~ msgstr "Αρχική πρόβλεψη:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "Ανάγνωση μοριακών τροχιακών ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "Αποθηκευμένα μοριακά τροχιακά (DICTNRY)" #~ msgid "Skip" #~ msgstr "Παράλειψη" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "περιστροφή τροχιακών άλφα και βήτα" #~ msgid "Print the Initial Guess" #~ msgstr "Εκτύπωση αρχικής πρόβλεψης" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Διεπαφή GAMESS σε άλλους κώδικες" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Εξαναγκασμός ελέγχου τύπου εκτέλεσης" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (Έκδοση UK)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Επιδιαλυτωμένο με νερό" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Δημιουργία φυσικών τροχιακών UHF" #~ msgid "Direct SCF" #~ msgstr "Άμεσο SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Να υπολογίζονται μόνο τα αλλαγμένα στον πίνακα Fock" #~ msgid "Slater exchange" #~ msgstr "Ανταλλαγή Slater" #~ msgid "Becke 1988 exchange" #~ msgstr "Ανταλλαγή Becke 1988" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Συσχέτιση Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Συσχέτιση Lee-Yang-Parr" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Ανταλλαγή Slater + Συσχέτιση VWN" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: Ανταλλαγή BECKE + Συσχέτιση VWN5" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: Ανταλλαγή BECKE+ Συσχέτιση LYP" #~ msgid "Gill 1996 exchange" #~ msgstr "Ανταλλαγή Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Ανταλλαγή Perdew-Burke-Ernzerhof (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: Σταδιακή συσχέτιση μιας παραμέτρου" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Συσχέτιση Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + Συσχέτιση OP" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: Ανταλλαγή BECKE + Συσχέτιση OP" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: Ανταλλαγή GILL + Συσχέτιση VWN5" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: Ανταλλαγή GILL + Συσχέτιση LYP" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: Ανταλλαγή PBE + Συσχέτιση VWN6" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: Ανταλλαγή PBE + Συσχέτιση LYP" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: Ανταλλαγή PBE + Συσχέτιση OP" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: Ανταλλαγή HF και BECKE + Συσχέτιση LYP" #~ msgid "Grid-Free" #~ msgstr "Χωρίς πλέγμα" #~ msgid "DFT Functional:" #~ msgstr "Συναρτησιακό DFT:" #~ msgid "Method:" #~ msgstr "Μέθοδος:" #~ msgid "AO Integral Storage" #~ msgstr "Αποθήκευση ολοκληρώματος AO" #~ msgid "Duplicated on Each Node" #~ msgstr "Διπλό σε κάθε κόμβο" #~ msgid "Distributed Across All Nodes" #~ msgstr "Διανεμημένο μέσα από όλους τους κόμβους" #~ msgid "words" #~ msgstr "λέξεις" #~ msgid "Compute MP2 Properties" #~ msgstr "Υπολογισμός ιδιοτήτων MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Αποκοπή ανάσχεσης ολοκληρώματος:" #~ msgid "Use Localized Orbitals" #~ msgstr "Χρήση τοπικών τροχιακών" #~ msgid "# of Core Electrons:" #~ msgstr "# από πυρήνα ηλεκτρονίων" #~ msgid "Transformation Method" #~ msgstr "Μέθοδος μετασχηματισμού" #~ msgid "Two Phase Bin Sort" #~ msgstr "Δυαδική ταξινόμηση δύο φάσεων" #~ msgid "Segmented Transformation" #~ msgstr "Τμηματικός μετασχηματισμός" #~ msgid "Analytic" #~ msgstr "Αναλυτική" #~ msgid "Numeric" #~ msgstr "Αριθμητική" #~ msgid "Double Differenced Hessian" #~ msgstr "Διπλά παραγωγισμένος Hessian" #~ msgid "Print Internal Force Constants" #~ msgstr "Εκτύπωση εσωτερικών σταθερών δύναμης" #~ msgid "Displacement Size:" #~ msgstr "Μέγεθος μετατόπισης:" #~ msgid "Purify Hessian" #~ msgstr "Καθαρισμός Hessian" #~ msgid "Frequency Scale Factor:" #~ msgstr "Συντελεστής κλίμακας συχνότητας:" #~ msgid "bohrs" #~ msgstr "μπορς" #~ msgid "Initial Hessian" #~ msgstr "Αρχικό Hessian" #~ msgid "Guess (+ define)" #~ msgstr "Πρόβλεψη (+ορισμός)" #~ msgid "Read (from $HESS)" #~ msgstr "Ανάγνωση (από $HESS)" #~ msgid "Update Step Size" #~ msgstr "Μέγεθος βήματος ενημέρωσης" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Εκτύπωση τροχιακών σε κάθε επανάληψη" #~ msgid "Jump Size:" #~ msgstr "Μέγεθος άλματος:" #~ msgid "Stationary Point" #~ msgstr "Στατικό σημείο" #~ msgid "Step Size" #~ msgstr "Μέγεθος βήματος" #~ msgid "Maximum:" #~ msgstr "Μέγιστο:" #~ msgid "Minimum:" #~ msgstr "Ελάχιστο:" #~ msgid "Initial:" #~ msgstr "Αρχικά:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Βελτιστοποίηση ρητής συνάρτησης" #~ msgid "Quadratic Approximation" #~ msgstr "Δευτεροβάθμια προσέγγιση" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (σχεδόν-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Περιορισμένη βελτιστοποίηση" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Επανυπολογισμός του Hesse κάθε:" #~ msgid "Follow Mode:" #~ msgstr "Κατάσταση παρακολούθησης:" #~ msgid "Maximum Steps:" #~ msgstr "Μέγιστα βήματα:" #~ msgid "GAMESS-UK Input" #~ msgstr "Είσοδος GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Η είσοδος GAMESS-UK που δημιουργήθηκε από το Avogadro" #~ msgid "Transition State Search" #~ msgstr "Αναζήτηση κατάστασης μετάβασης" #~ msgid "Basis:" #~ msgstr "Βάση:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Πίνακας Ζ" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "Στην άμεση κατάσταση, τα ολοκληρώματα δεν αποθηκεύονται στον δίσκο, αλλά " #~ "επανυπολογίζονται όταν χρειάζεται.\n" #~ "Στα σύγχρονα συστήματα με γρήγορους επεξεργαστές και αργούς δίσκους, η " #~ "άμεση κατάσταση είναι συχνά γρηγορότερη." #~ msgid "Run in direct mode:" #~ msgstr "Εκτέλεση σε άμεση κατάσταση:" #~ msgid "Gaussian Input" #~ msgstr "Εισαγωγή Γκάους" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Έξοδος:" #~ msgid "Standard" #~ msgstr "Τυπικό" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Σημείο ελέγχου:" #~ msgid "Z-matrix (compact)" #~ msgstr "Πίνακας Ζ (συμπαγής)" #~ msgid "Select the unit style to be used during the simulation." #~ msgstr "" #~ "Επιλέξτε την τεχνοτροπία μονάδας που θα χρησιμοποιηθεί κατά τη διάρκεια " #~ "της προσομοίωσης." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "πραγματικές" #~ msgid "metal" #~ msgstr "μέταλλο" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "Ηλεκτρόνιο" #~ msgid "Water Potential" #~ msgstr "Δυναμικό νερού" #~ msgid "NONE" #~ msgstr "ΚΑΝΕΝΑ" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "Select atom_style used by the data file." #~ msgstr "" #~ "Επιλογή της χρησιμοποιούμενης τεχνοτροπίας_ατόμου από το αρχείο δεδομένων." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgid "Atom Style" #~ msgstr "Τεχνοτροπία ατόμου" #~ msgid "angle" #~ msgstr "γωνία" #~ msgid "atomic" #~ msgstr "ατομικό" #~ msgid "bond" #~ msgstr "δεσμός" #~ msgid "charge" #~ msgstr "φορτίο" #~ msgid "dipole" #~ msgstr "δίπολο" #~ msgid "ellipsoid" #~ msgstr "ελλειψοειδής" #~ msgid "full" #~ msgstr "πλήρης" #~ msgid "line" #~ msgstr "γραμμή" #~ msgid "meso" #~ msgstr "μεσοϊσομερές" #~ msgid "molecular" #~ msgstr "μοριακό" #~ msgid "peri" #~ msgstr "περί" #~ msgid "sphere" #~ msgstr "σφαίρα" #~ msgid "tri" #~ msgstr "τρι" #~ msgid "wavepacket" #~ msgstr "Κυματοπακέτο" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "Ορίστε το όνομα που θα χρησιμοποιηθεί για το αρχείο συντεταγμένων" #~ msgid "Coordinate Data File" #~ msgstr "Αρχείο δεδομένων συντεταγμένων" #~ msgid "Ensemble" #~ msgstr "Σύνολο" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Θερμοκρασία" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "Επιλογή του αριθμού των αλυσίδων Nosé-Hoover στο σύνολο NVT." #~ msgid "NH Chains" #~ msgstr "Αλυσίδες NH" #~ msgid "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgstr "" #~ "Βήμα χρόνου για την προσομοίωση σε μονάδες σύμφωνα με την προδιαγραφή " #~ "\"Μονάδες\"." #~ msgid "Time Step" #~ msgstr "Βήμα χρόνου" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "" #~ "Όνομα αρχείου του αρχείου XYZ για εγγραφή κατά τη διάρκεια της " #~ "προσομοίωσης." #~ msgid "Dump XYZ" #~ msgstr "Αποτύπωση XYZ" #~ msgid "Number of dimensions in the system." #~ msgstr "Αριθμός διαστάσεων στο σύστημα." #~ msgid "Dimensions" #~ msgstr "Διαστάσεις" #~ msgid "Change Z boundary style." #~ msgstr "Αλλαγή της τεχνοτροπίας ορίου Ζ" #~ msgid "p" #~ msgstr "p" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "Change Y boundary style." #~ msgstr "Αλλαγή της τεχνοτροπίας ορίου Υ" #~ msgid "Change X boundary style." #~ msgstr "Αλλαγή της τεχνοτροπίας ορίου Χ" #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "Επιλογή τεχνοτροπιών ορίου στις κατευθύνσεις Χ, Υ και Ζ." #~ msgid "Boundary" #~ msgstr "Όριο" #~ msgid "Number of replicants in X, Y and Z directions." #~ msgstr "Αριθμός αντιγράφων στις κατευθύνσεις Χ, Υ και Ζ." #~ msgid "Replicate" #~ msgstr "Αντιγραφή" #~ msgid "Replicate the X direction." #~ msgstr "Αντιγραφή της κατεύθυνσης Χ." #~ msgid "Replicate the Y direction." #~ msgstr "Αντιγραφή της κατεύθυνσης Υ." #~ msgid "Replicate the Z direction." #~ msgstr "Αντιγραφή της κατεύθυνσης Ζ." #~ msgid "Total number of timesteps to run the simulation." #~ msgstr "Συνολικός αριθμός βημάτων χρόνου για εκτέλεση της προσομοίωσης." #~ msgid "Total Steps" #~ msgstr "Συνολικά βήματα" #~ msgid "Dump Interval" #~ msgstr "Αποτύπωση διαστήματος" #~ msgid "Set the initial atom velocities for the simulation." #~ msgstr "Ορισμός των αρχικών ταχυτήτων ατόμου για την προσομοίωση." #~ msgid "Initial Velocities" #~ msgstr "Αρχικές ταχύτητες" #~ msgid "Select the distribution of initial atom velocities." #~ msgstr "Επιλογή της κατανομής των αρχικών ταχυτήτων ατόμου." #~ msgid "gaussian" #~ msgstr "Γκάους" #~ msgid "uniform" #~ msgstr "ομοιόμορφο" #~ msgid "Set the initial atom velocities to match this temperature." #~ msgstr "" #~ "Ορισμός των αρχικών ταχυτήτων ατόμου για να ταιριάζει αυτήν τη " #~ "θερμοκρασία." #~ msgid "Remove system linear momentum from initial velocities." #~ msgstr "Αφαίρεση της γραμμικής ορμής συστήματος από τις αρχικές ταχύτητες." #~ msgid "Zero Linear Momentum" #~ msgstr "Μηδενική γραμμική ορμή" #~ msgid "Remove system angular momentum from initial velocities." #~ msgstr "Αφαίρεση της γωνιακής ορμής συστήματος από τις αρχικές ταχύτητες." #~ msgid "Zero Angular Momentum" #~ msgstr "Μηδενική γωνιακή ορμή" #~ msgid "Control the thermodynamic output during the simulation." #~ msgstr "" #~ "Να ελέγχεται η θερμοδυναμική έξοδος κατά τη διάρκεια της προσομοίωσης." #~ msgid "Output Interval" #~ msgstr "Διάστημα εξόδου" #~ msgid "2d" #~ msgstr "2d" #~ msgid "3d" #~ msgstr "3d" #~ msgid "Thermodynamic output style." #~ msgstr "Τεχνοτροπία θερμοδυναμικής εξόδου." #~ msgid "One Line" #~ msgstr "Μία γραμμή" #~ msgid "Multi Line" #~ msgstr "Πολλαπλές γραμμές" #~ msgid "" #~ "\n" #~ "\n" #~ "

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

" #~ msgid "MOLPRO Input" #~ msgstr "Είσοδος MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Έκδοση Molpro:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Είσοδος MOPAC" #~ msgid "Quartet" #~ msgstr "Τετραπλή" #~ msgid "Quintet" #~ msgstr "Πενταπλή" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Είσοδος NWChem" #~ msgid "Psi4 Input" #~ msgstr "Είσοδος Psi4" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Είσοδος Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "Είσοδος TeraChem" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Απεριόριστο" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "όχι" #~ msgid "yes" #~ msgstr "ναι" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Διασπορά:" #~ msgid "Load Shaders" #~ msgstr "Φόρτωση σκιαστών" #~ msgid "Shader Name:" #~ msgstr "Όνομα σκιαστή:" #~ msgid "Vertex Shader:" #~ msgstr "Σκιαστής κορυφής:" #~ msgid "Fragment Shader:" #~ msgstr "Σκιαστής τμήματος:" #~ msgid "Assign Shader" #~ msgstr "Ανάθεση σκιαστή" #~ msgid "Display Type:" #~ msgstr "Τύπος εμφάνισης:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Στοιχεία ελέγχου:\n" #~ "Διπλό αριστερό πάτημα: Επαναφορά προεπιλεγμένων ορίων άξονα\n" #~ "Δεξιό πάτημα + σύρσιμο: μετακίνηση σχεδίου\n" #~ "Μεσαίο πάτημα + σύρσιμο: Εστίαση στην περιοχή\n" #~ "Τροχός κύλισης: Εστίαση στον δρομέα" #~ msgid "&Load data..." #~ msgstr "&Φόρτωση δεδομένων..." #~ msgid "&Close" #~ msgstr "&Κλείσιμο" #~ msgid "Calculated Spectra:" #~ msgstr "Υπολογισμένα φάσματα:" #~ msgid "Set Color..." #~ msgstr "Καθορισμός χρώματος..." #~ msgid "Imported Spectra:" #~ msgstr "Εισαγμένα φάσματα:" #~ msgid "Font:" #~ msgstr "Γραμματοσειρά:" #~ msgid "Change Font..." #~ msgstr "Αλλαγή γραμματοσειράς..." #~ msgid "Show" #~ msgstr "Εμφάνιση" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "" #~ "Εισάγει ένα tsv των πειραματικών φασμάτων που επικάθονται στο σχέδιο." #~ msgid "&Import..." #~ msgstr "&Εισαγωγή..." #~ msgid "Background:" #~ msgstr "Φόντο:" #~ msgid "Foreground:" #~ msgstr "Προσκήνιο:" #~ msgid "New..." #~ msgstr "Νέο..." #~ msgid "Rename..." #~ msgstr "Μετονομασία..." #~ msgid "&Schemes:" #~ msgstr "&Σχήματα:" #~ msgid "&Export..." #~ msgstr "Ε&ξαγωγή..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Πλάτος:" #~ msgid "&Height" #~ msgstr "Ύ&ψος" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "ιν" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Αποθήκευση εικόνας..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Χρήση μιας βελτιστοποιημένης τιμής για το μέγεθος γραμματοσειράς αντί για " #~ "το σχήμα-καθορισμένη τιμή (η οθόνη προς τα μεγέθη σημείου εικόνας δεν " #~ "μεταφέρονται καλά!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Αυτόματη προσαρμογή μεγέθους &γραμματοσειράς" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Εξαγωγή δεδομένων" #~ msgid "Spectra Tab" #~ msgstr "Καρτέλα φασμάτων" #~ msgid "&Gaussian Width:" #~ msgstr "Πλάτος Γ&κάους" #~ msgid "&Label peaks" #~ msgstr "Κορυφές ε&τικέτας" #~ msgid "Rotatory Strength type:" #~ msgstr "Τύπος δύναμης περιστροφής:" #~ msgid "Energy units:" #~ msgstr "Μονάδες Ενέργειας:" #~ msgid "Density units" #~ msgstr "Μονάδες πυκνότητας" #~ msgid "Fermi Energy: " #~ msgstr "Ενέργεια Φέρμι: " #~ msgid "States / Cell" #~ msgstr "Καταστάσεις / κελί" #~ msgid "States / Atom" #~ msgstr "Καταστάσεις / άτομο" #~ msgid "States / Valence electron" #~ msgstr "Καταστάσεις / ηλεκτρονικό σθένος" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Ενέργεια Φέρμι στο μηδέν" #~ msgid "Scale integrated DOS" #~ msgstr "Κλιμάκωση ολοκληρωμένου DOS" #~ msgid "Show integrated DOS" #~ msgstr "Εμφάνιση ενσωματωμένου DOS" #~ msgid "tab_IR_Raman" #~ msgstr "καρτέλα IR Ράμαν" #~ msgid "&Y Axis Units:" #~ msgstr "Μονάδες άξονα &Υ:" #~ msgid "Scaling Type:" #~ msgstr "Τύπος κλιμάκωσης:" #~ msgid "Linear" #~ msgstr "Γραμμικός" #~ msgid "Relative" #~ msgstr "Σχετικός" #~ msgid "Temperature:" #~ msgstr "Θερμοκρασία" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Κυματαριθμός λέιζερ" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Κατώφλι:" #~ msgid "tab_NMR" #~ msgstr "καρτέλα NMR" #~ msgid "Nucleus:" #~ msgstr "Πυρήνας:" #~ msgid "&Reference:" #~ msgstr "Ανα&φορά:" #~ msgid "Gaussian &Width:" #~ msgstr "&Πλάτος Γκάους:" #~ msgid "Reset &Plot Axes" #~ msgstr "Επαναφορά αξόνων &σχεδίου" #~ msgid "Label Peaks:" #~ msgstr "Κορυφές ετικέτας:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Μοριακές δονήσεις" #~ msgid "Filter: " #~ msgstr "Φίλτρο: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Ενεργότητα (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "Ε&μφάνιση φασμάτων..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "δονήσεις μεγαλύτερης συχνότητας θα εμφανίσουν γρηγορότερη κίνηση" #~ msgid "Animation speed set by frequency" #~ msgstr "Η ταχύτητα κίνησης ορίστηκε από τη συχνότητα" #~ msgid "Display force &vectors" #~ msgstr "Εμφάνιση &διανυσμάτων δύναμης" #~ msgid "&Normalize displacements" #~ msgstr "&Κανονικοποίηση μετατοπίσεων" #~ msgid "Generate Cell" #~ msgstr "Δημιουργία κελιού" #~ msgid "&Recalculate All" #~ msgstr "Επα&νυπολογισμός όλων" #~ msgid "Default &Quality:" #~ msgstr "Προεπιλεγμένη &ποιότητα:" #~ msgid "Show occupied orbitals first" #~ msgstr "Εμφάνιση πρώτα κατειλημμένων τροχιακών" #~ msgid "Limit orbital precalculations to " #~ msgstr "Να περιορίζονται οι προϋπολογισμοί τροχιακού σε " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "τροχιακά γύρω από HOMO/LUMO" #~ msgid "Quality: " #~ msgstr "Ποιότητα: " #~ msgid "Create Surfaces" #~ msgstr "Δημιουργία επιφανειών" #~ msgid "Surface Type:" #~ msgstr "Τύπος επιφάνειας:" #~ msgid "Color By:" #~ msgstr "Χρώμα κατά:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Χαμηλή" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Μεσαία" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Υψηλή" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Πολύ υψηλή" #~ msgid "Isosurface cutoff value" #~ msgstr "Τιμή αποκοπής ισοεπιφάνειας" #~ msgid "Iso Value:" #~ msgstr "Τιμή ισο:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Προσθήκη στον τύπο εμφάνισης:" #~ msgid "New Display" #~ msgstr "Νέα εμφάνιση" #~ msgid "Advanced..." #~ msgstr "Για Προχωρημένους..." #~ msgid "&n:" #~ msgstr "&n:" #~ msgid "&m:" #~ msgstr "&m:" #~ msgid "&Length:" #~ msgstr "&Μήκος:" #~ msgid "Uni&t:" #~ msgstr "Μ&ονάδα:" #~ msgid "periodic units" #~ msgstr "περιοδικές μονάδες" #~ msgid "angstrom" #~ msgstr "ανγκστρομ" #~ msgid "bohr radii" #~ msgstr "ακτίνες μπορ" #~ msgid "nanometers" #~ msgstr "νανόμετρα" #~ msgid "picometers" #~ msgstr "πικόμετρα" #~ msgid "&Cap with hydrogen" #~ msgstr "Ά&κρο με υδρογόνο" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "Αυτό μπορεί να πάρει κάμποσο. Αν μόνο οι ατομικές συντεταγμένες\n" #~ "απαιτούνται (ας πούμε, για έναν κβαντομηχανικό υπολογισμό),\n" #~ "μια απεικόνιση με μόνο έναν απλό δεσμό πρέπει να αρκεί." #~ msgid "Find &double bonds" #~ msgstr "Εύρεση &διπλών δεσμών" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Μετατόπιση κατά:" #~ msgid "X-axis" #~ msgstr "Άξονας Χ" #~ msgid "Y-axis" #~ msgstr "Άξονας Υ" #~ msgid "Z-axis" #~ msgstr "Άξονας Ζ" #~ msgid "Rotate around:" #~ msgstr "Περιστροφή γύρω από:" #~ msgid "Origin" #~ msgstr "Αρχικό" #~ msgid "Geometry" #~ msgstr "Γεωμετρία" #~ msgid "Display visual cues" #~ msgstr "Εμφάνιση οπτικών ενδείξεων" #~ msgid "Python Settings" #~ msgstr "Ρυθμίσεις Python" #~ msgid "Z Matrix Editor" #~ msgstr "Επεξεργαστής μητρώου Z" #~ msgid "Import Selected Atoms" #~ msgstr "Εισαγωγή Επιλεγμένων Ατόμων" avogadrolibs-1.93.0/i18n/en_AU.po000066400000000000000000005501301360735163600164040ustar00rootroot00000000000000# English (Australia) translation for avogadro # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:29+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: English (Australia) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Input Generator..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Input Generator..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Continue" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Close" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Unknown" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Abort Calculation" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Warning" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Warning" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Select Solvent" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Output:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Cannot write to file." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Video file not written." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Video file not written." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Title" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Filename:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processors:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Calculation:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Theory:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Theory:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Basis" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "No molecule set" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Stop &Animation" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "No Atoms Selected" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hydrogen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lithium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boron" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbon" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogen" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxygen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluorine" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicon" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Phosphorus" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Sulphur" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Chlorine" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potassium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calcium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanium" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Chromium" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganese" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Iron" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nickel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Copper" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinc" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenic" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenium" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromine" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybdenum" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technetium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruthenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Silver" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Tin" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimony" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellurium" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iodine" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lanthanum" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodymium" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodymium" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promethium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantalum" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungsten" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhenium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platinum" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Gold" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercury" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Thallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Lead" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuth" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astatine" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Thorium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranium" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Browse..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Select Solvent" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Delete Selected" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "All Files" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "untitled" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodic Table" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03 failed to start." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Scripts" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL error" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Unknown" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molecule" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Add Atom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Remove Atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Clear All" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Adjust Hydrogens" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Change Element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Change Element" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formal Charge" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Add Bond" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Remove Atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Delete Bond" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Bond Order" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Change Bond Order" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Snap-to Bonds" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Delete Bond" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Fill Unit Cell" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Fill Unit Cell" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Fill Unit Cell" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super Cell" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Super Cell" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Fill Unit Cell" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&File" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Export" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Thresholds" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Open parameter file" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensions" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Error" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problem reading traj file %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL error" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problem reading traj file %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Error" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Success!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Image successfully written to %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Show Multiple Bonds" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hydrogens" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Ball and Stick" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Renders atom and bond labels" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Bond Centric Manipulation" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Bond Centric Manipulation" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "End Atom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Remove Hydrogens" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Build" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Bond" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Filename:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Cartesian coordinates editor" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Cartesian coordinates editor" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Revert Changes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Invalid Filename" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Element name" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Element symbol" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Element symbol" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Invalid Filename" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atom number" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Invalid Filename" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Ken Sharp, ,Launchpad Contributions:,Avogadro Team," "Ken Sharp, ,Launchpad Contributions:,Avogadro Team,Ken Sharp, ,Launchpad " "Contributions:,Avogadro Team,Ken Sharp, ,Launchpad Contributions:,Avogadro " "Team,Joel Pickett,Ken Sharp,Robert Readman, ,Launchpad Contributions:," "Avogadro Team,Joel Pickett,Ken Sharp,Robert Readman, ,Launchpad " "Contributions:,Avogadro Team,Joel Pickett,Ken Sharp,Robert Readman" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ with numbers" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP Information" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP Information" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Turbomole Input" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Copy All" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Custom:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Clear All" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Fill Unit Cell" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Fill Unit Cell" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super Cell" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Renders atom and bond labels" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Custom Axes" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Draw" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Draw Atom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Change Bond Order" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Remove Atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distance" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distance (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Other..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOptimisation" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Single" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Double" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triple" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problem reading traj file %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Input Generator..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS Input" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Single Point Energy" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Equilibrium Geometry" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Transition State" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frequencies" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Core Potential" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Water" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doublet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dication" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Cation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutral" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS Input #2" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Abort Calculation" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Adjust Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Add Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Remove Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Remove Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hydrogens" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hydrogens" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Import" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Renders atom and bond labels" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Insert" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "No Description" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molecule" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Generate..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipulate" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipulate Atom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Measure" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Dihedral:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Measure" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Renders molecular isosurface meshes" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&View" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Molecular Properties" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigate" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigate" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Chemical Name" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Chemical structure to download." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Network Download Failed" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Network timeout or other error." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Specified molecule could not be found: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Network Download Failed" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimise Geometry" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometry Optimisation" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Perceive bonds?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Add Hydrogens" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Add Hydrogens for pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Remove Hydrogens" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Reading a molecule from file '%1' failed." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "A problem occurred while writing file %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimise Geometry" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Generate..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Trajectory file %1 disagrees on the number of atoms in the present molecule" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimise Geometry" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Add Hydrogens" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Add Hydrogens for pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Remove Hydrogens" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parameters:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Dynamic Bonds" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Remove..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Cannot read file %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Error" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Save Video File" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Render using POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensions" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Create input files for quantum chemistry packages" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calculating Electron Density" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calculating Electron Density" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calculate molecular orbitals and other surfaces" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Reset" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Input File Generators" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Delete All" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selection" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Invert Selection" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " valence electrons" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Select" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Select" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Selection" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selection" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrations" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Spectra Visualisation" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Type" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Select by Element..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Renders molecular dipole moments" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Render" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Render using POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Wireframe" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Renders molecules as sticks" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Form" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Selection Settings" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Abort Calculation" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Shader Program:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processors:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Change Element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Structure:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Par File:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Force Field:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Par File:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "GAMESS Input #2" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Save Video File" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Success!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Structure:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Load File..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Measure Settings" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Filename:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigate" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigate" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigate" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Filename:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Cancel" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Cartesian coordinates editor" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Reset" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distance" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Angstroms" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Format:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Revert Changes" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Apply" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Super Cell Parameters" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Super Cell Options" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A repeat:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B repeat:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C repeat:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Fill Unit Cell" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "MOPAC Z-Matrix" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Fractional" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Transformation Method" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Scale &Factor:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "TextLabel" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Bond Order:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS Input" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Basic Setup" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "In:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicity:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "With:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Title:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Charge:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calculate:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Filename:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Reset All" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Defaults" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Load File..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "name" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "No Description" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molecular Weight (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Chemical Formula:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Number of Atoms:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Number of Bonds:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometry Optimisation" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimisation Method:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Force Field:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimisation Method:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Steepest Descent" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Conjugate Gradients" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutoRotate" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosurface = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Electrostatic Potential" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "steps" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Gradient Convergence Criteria:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergence" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Time Limit:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Units:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Number of Bonds:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Wavelength (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Delete Selected" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalent" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacity:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Isosurface cutoff value" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolution:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calculate" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrations" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitude:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Start &Animation" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Stop &Animation" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molecule" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Options" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Ken Sharp, ,Launchpad Contributions:,Avogadro Team," "Ken Sharp, ,Launchpad Contributions:,Avogadro Team,Ken Sharp, ,Launchpad " "Contributions:,Avogadro Team,Ken Sharp, ,Launchpad Contributions:,Avogadro " "Team,Joel Pickett,Ken Sharp,Robert Readman, ,Launchpad Contributions:," "Avogadro Team,Joel Pickett,Ken Sharp,Robert Readman, ,Launchpad " "Contributions:,Avogadro Team,Joel Pickett,Ken Sharp,Robert Readman" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,avogadro-devel@lists.sourceforge.net,,,,avogadro-devel@lists." "sourceforge.net,,,,avogadro-devel@lists.sourceforge.net,,,,avogadro-" "devel@lists.sourceforge.net,jlkpcktt@gmail.com,,,,,avogadro-devel@lists." "sourceforge.net,jlkpcktt@gmail.com,,,,,avogadro-devel@lists.sourceforge.net," "jlkpcktt@gmail.com,," #~ msgid "Color by Index" #~ msgstr "Colour by Index" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Colour by Index (red, orange, yellow, green, blue, violet)." #~ msgid "Color by Partial Charge" #~ msgstr "Colour by Partial Charge" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Colour by atomic partial charge (blue = positive, red = negative." #~ msgid "Custom Color:" #~ msgstr "Custom Colour:" #~ msgid "Custom Color" #~ msgstr "Custom Colour" #~ msgid "Set custom colors for objects" #~ msgstr "Set custom colours for objects" #~ msgid "Color by Distance" #~ msgstr "Colour by Distance" #~ msgid "Color by distance from the first atom." #~ msgstr "Colour by distance from the first atom." #~ msgid "Color by Element" #~ msgstr "Colour by Element" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Colour by Element (carbon = grey, oxygen = red, ...)." #~ msgid "Color by Residue" #~ msgstr "Colour by Residue" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Colour by Residue (amino acid type, hydrophobicity, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS Pattern:" #~ msgid "Highlight Color:" #~ msgstr "Highlight Color:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Colour by SMARTS Pattern" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Highlight particular features which match a SMARTS pattern." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Engines" #~ msgid "Axes" #~ msgstr "Axes" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Renders the x, y and z axes at the origin" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgid "Cartoon" #~ msgstr "Cartoon" #~ msgid "Renders protein secondary structure" #~ msgstr "Renders protein secondary structure" #~ msgid "Dipole" #~ msgstr "Dipole" #~ msgid "Force" #~ msgstr "Force" #~ msgid "Renders force displacements on atoms" #~ msgstr "Renders force displacements on atoms" #~ msgid "Hydrogen Bond" #~ msgstr "Hydrogen Bond" #~ msgid "Renders hydrogen bonds" #~ msgstr "Renders hydrogen bonds" #~ msgid "Select Atom Labels Color" #~ msgstr "Select Atom Labels Color" #~ msgid "Select Bond Labels Color" #~ msgstr "Select Bond Labels Colour" #~ msgid "Select Atom Labels Font" #~ msgstr "Select Atom Labels Font" #~ msgid "Select Bond Labels Font" #~ msgstr "Select Bond Labels Font" #~ msgid "Label" #~ msgstr "Label" #~ msgid "Polygon" #~ msgstr "Polygon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgid "Ribbon" #~ msgstr "Ribbon" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Renders protein backbones as ribbons" #~ msgid "Ring" #~ msgstr "Ring" #~ msgid "Renders rings with colored planes" #~ msgstr "Renders rings with coloured planes" #~ msgid "Simple Wireframe" #~ msgstr "Simple Wireframe" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Renders bonds as wires (lines), ideal for large molecules" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waals Spheres" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Renders atoms as Van der Waals spheres" #~ msgid "Stick" #~ msgstr "Stick" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Electron density, isosurface = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosurface = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "video files (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Adding .avi extension" #~ msgid "Animation..." #~ msgstr "Animation..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Cannot read file format of file %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Read trajectory file %1 failed." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Must specify a valid .avi file name" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "GL widget was not correctly initialised in order to save video" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Invalid video filename. Must include full directory path" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgid "Animation" #~ msgstr "Animation" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animate trajectories, reactions, and vibrations." #~ msgid "Cartesian Editor" #~ msgstr "Cartesian Editor" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgid "Cartesian Editor..." #~ msgstr "Cartesian Editor..." #~ msgid "Cartesian editor" #~ msgstr "Cartesian editor" #~ msgid "Number of atoms: %1" #~ msgstr "Number of atoms: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Number of rotatable bonds: %1" #~ msgid "Add constraint" #~ msgstr "Add constraint" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "Your molecule must contain at least one atom to add a constraint" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgid "Trajectory..." #~ msgstr "Trajectory..." #~ msgid "Open chemical file format" #~ msgstr "Open chemical file format" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Chemical files (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Chemical files (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Import Trajectory" #~ msgid "Import trajectory files" #~ msgstr "Import trajectory files" #~ msgid "Setup Force Field..." #~ msgstr "Setup Force Field..." #~ msgid "Calculate Energy" #~ msgstr "Calculate Energy" #~ msgid "Conformer Search..." #~ msgstr "Conformer Search..." #~ msgid "Constraints..." #~ msgstr "Constraints..." #~ msgid "Ignore Selection" #~ msgstr "Ignore Selection" #~ msgid "Fix Selected Atoms" #~ msgstr "Fix Selected Atoms" #~ msgid "&Molecular Mechanics" #~ msgstr "&Molecular Mechanics" #~ msgid "Energy = %L1 %2" #~ msgstr "Energy = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Geometric Optimisation" #~ msgid "Forcefield Optimization" #~ msgstr "Forcefield Optimisation" #~ msgid "Systematic Rotor Search" #~ msgstr "Systematic Rotor Search" #~ msgid "Random Rotor Search" #~ msgstr "Random Rotor Search" #~ msgid "Weighted Rotor Search" #~ msgstr "Weighted Rotor Search" #~ msgid "ForceField" #~ msgstr "ForceField" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimise molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgid "Change H to Methyl" #~ msgstr "Change H to Methyl" #~ msgid "H to Methyl" #~ msgstr "H to Methyl" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transform hydrogens to methyl groups" #~ msgid "Add or remove hydrogens" #~ msgstr "Add or remove hydrogens" #~ msgid "Fragment..." #~ msgstr "Fragment..." #~ msgid "Insert SMILES" #~ msgstr "Insert SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Insert SMILES fragment:" #~ msgid "Insert Fragment" #~ msgstr "Insert Fragment" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Insert molecular fragments for building larger molecules" #~ msgid "Peptide..." #~ msgstr "Peptide..." #~ msgid "Insert Peptide" #~ msgstr "Insert Peptide" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Insert oligopeptide sequences" #~ msgid "Molecule Properties..." #~ msgstr "Molecule Properties..." #~ msgid "&Properties" #~ msgstr "&Properties" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Estimated Dipole Moment (D):" #~ msgid "Display standard molecular properties." #~ msgstr "Display standard molecular properties." #~ msgid "Fetch from PDB..." #~ msgstr "Fetch from PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Fetch by chemical name..." #~ msgid "Fetch from URL..." #~ msgstr "Fetch from URL..." #~ msgid "PDB Entry" #~ msgstr "PDB Entry" #~ msgid "PDB entry to download." #~ msgstr "PDB entry to download." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL of molecule to download." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Specified molecule could not be loaded: %1" #~ msgid "Network Fetch" #~ msgstr "Network Fetch" #~ msgid "Fetch molecule files over the network." #~ msgstr "Fetch molecule files over the network." #~ msgid "Show Preview" #~ msgstr "Show Preview" #~ msgid "Hide Preview" #~ msgstr "Hide Preview" #~ msgid "Intensities" #~ msgstr "Intensities" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Save POV-Ray rendered image" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Image files (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "No filename supplied." #~ msgid "No valid filename was supplied." #~ msgstr "No valid filename was supplied." #~ msgid "Does not compute." #~ msgstr "Does not compute." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray failed to start." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgid "Atom Properties..." #~ msgstr "Atom Properties..." #~ msgid "Bond Properties..." #~ msgstr "Bond Properties..." #~ msgid "Angle Properties..." #~ msgstr "Angle Properties..." #~ msgid "Torsion Properties..." #~ msgstr "Torsion Properties..." #~ msgid "Conformer Properties..." #~ msgstr "Conformer Properties..." #~ msgid "Atom Properties" #~ msgstr "Atom Properties" #~ msgid "Bond Properties" #~ msgstr "Bond Properties" #~ msgid "Angle Properties" #~ msgstr "Angle Properties" #~ msgid "Torsion Properties" #~ msgstr "Torsion Properties" #~ msgid "Conformer Properties" #~ msgstr "Conformer Properties" #~ msgid "Properties" #~ msgstr "Properties" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a Cartesian coordinate editor." #~ msgid "Valence" #~ msgstr "Valence" #~ msgid "Partial Charge" #~ msgstr "Partial Charge" #~ msgid "Atom" #~ msgstr "Atom" #~ msgid "Start Atom" #~ msgstr "Start Atom" #~ msgid "Rotatable" #~ msgstr "Rotatable" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Length %1" #~ msgid "Vertex" #~ msgstr "Vertex" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Angle %1" #~ msgid "Angle" #~ msgstr "Angle" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsion %1" #~ msgid "Torsion" #~ msgstr "Torsion" #~ msgid "Conformer" #~ msgstr "Conformer" #~ msgid "Yes" #~ msgstr "Yes" #~ msgid "No" #~ msgstr "No" #~ msgid "Python Terminal" #~ msgstr "Python Terminal" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Interactive python scripting terminal" #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Dalton Input File Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgid "QM Matches" #~ msgstr "QM Matches" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP Selection..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM Selection..." #~ msgid "Delete" #~ msgstr "Delete" #~ msgid "You must make a selection!" #~ msgstr "You must make a selection!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES Conversion Unavailable" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES Format Conversion Not Available!" #~ msgid "Group Name" #~ msgstr "Group Name" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Create input files for the GAMESS quantum chemistry package" #~ msgid "Advanced Settings Changed" #~ msgstr "Advanced Settings Changed" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgid "Advanced Settings Reset" #~ msgstr "Advanced Settings Reset" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgid "Basic Settings Reset" #~ msgstr "Basic Settings Reset" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussian Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussian Input Deck" #~ msgid "Gaussian Running." #~ msgstr "Gaussian Running." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian Not Installed." #~ msgid "The G03 executable, cannot be found." #~ msgstr "The G03 executable cannot be found." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 did not start. Perhaps it is not installed correctly." #~ msgid "Running Gaussian calculation..." #~ msgstr "Running Gaussian calculation..." #~ msgid "G03 Crashed." #~ msgstr "G03 Crashed." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian did not run correctly. Perhaps it is not correctly installed." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC Input Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgid "MOPAC Running." #~ msgstr "MOPAC Running." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "MOPAC is already running. Wait until the previous calculation has " #~ "finished." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC Not Installed." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "The MOPAC executable, cannot be found." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC failed to start." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC did not start. Perhaps it is not installed correctly." #~ msgid "Running MOPAC calculation..." #~ msgstr "Running MOPAC calculation..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC Crashed." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "NWChem Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgid "Select SMARTS..." #~ msgstr "Select SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Select by Residue..." #~ msgid "Add Named Selection..." #~ msgstr "Add Named Selection..." #~ msgid "SMARTS Selection" #~ msgstr "SMARTS Selection" #~ msgid "SMARTS pattern to select" #~ msgstr "SMARTS pattern to select" #~ msgid "Select by residue" #~ msgstr "Select by residue" #~ msgid "Residue name" #~ msgstr "Residue name" #~ msgid "There is no current selection." #~ msgstr "There is no current selection." #~ msgid "Add Named Selection" #~ msgstr "Add Named Selection" #~ msgid "Name cannot be empty." #~ msgstr "Name cannot be empty." #~ msgid "There is already a selection with this name." #~ msgstr "There is already a selection with this name." #~ msgid "Selections" #~ msgstr "Selections" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Select atoms, bonds, residues..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Shaders..." #~ msgid "Open a vertex shader source file" #~ msgstr "Open a vertex shader source file" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Vertex shader files (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Open a fragment shader source file" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fragment shader files (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Open a shader parameters file" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Shader parameters files (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL Shaders" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Load and use OpenGL 2.0 GLSL shaders" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensity (arb. units)" #~ msgid "Energy (eV)" #~ msgstr "Energy (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Density of States (states/cell)" #~ msgid "Density of States (states/atom)" #~ msgstr "Density of States (states/atom)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Density of States (states/valence electron)" #~ msgid "Transmittance (%)" #~ msgstr "Transmittance (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbance (%)" #~ msgid "No intensities" #~ msgstr "No intensities" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualisation." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Wavenumber (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Shift (ppm)" #~ msgid "Activity" #~ msgstr "Activity" #~ msgid "Intensity" #~ msgstr "Intensity" #~ msgid "X Axis" #~ msgstr "X Axis" #~ msgid "Y Axis" #~ msgstr "Y Axis" #~ msgid "&Appearance" #~ msgstr "&Appearance" #~ msgid "E&xport Image" #~ msgstr "E&xport Image" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrared" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&Infrared Spectra Settings" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "&NMR Spectra Settings" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "&Density Of States Settings" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "&UV Settings" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "&CD Settings" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "&Raman Settings" #~ msgid "No data" #~ msgstr "No data" #~ msgid "Dark" #~ msgstr "Dark" #~ msgid "Light" #~ msgstr "Light" #~ msgid "Publication" #~ msgstr "Publication" #~ msgid "Handdrawn" #~ msgstr "Handdrawn" #~ msgid "New Scheme" #~ msgstr "New Scheme" #~ msgid "Confirm Scheme Removal" #~ msgstr "Confirm Scheme Removal" #~ msgid "Really remove current scheme?" #~ msgstr "Really remove current scheme?" #~ msgid "Change Scheme Name" #~ msgstr "Change Scheme Name" #~ msgid "Enter new name for current scheme:" #~ msgstr "Enter new name for current scheme:" #~ msgid "Select Background Color" #~ msgstr "Select Background Colour" #~ msgid "Select Foreground Color" #~ msgstr "Select Foreground Colour" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Select Calculated Spectra Colour" #~ msgid "Select Imported Spectra Color" #~ msgstr "Select Imported Spectra Colour" #~ msgid "Export Calculated Spectrum" #~ msgstr "Export Calculated Spectrum" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Tab Separated Values (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Tab-Separated Values" #~ msgid "Comma Separated Values" #~ msgstr "Comma-Separated Values" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Import Spectra" #~ msgid "Spectra Import" #~ msgstr "Spectra Import" #~ msgid "Unknown extension: %1" #~ msgstr "Unknown extension: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR data (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole IR data (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Turbomole UV data (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Turbomole CD data (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Data Format" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format:" #~ msgid "Load Spectral Data" #~ msgstr "Load Spectral Data" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Turbomole CD file is improperly formatted : %1" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Save Spectra Image" #~ msgid "&Advanced <<" #~ msgstr "&Advanced <<" #~ msgid "&Advanced >>" #~ msgstr "&Advanced >>" #~ msgid "&Spectra..." #~ msgstr "&Spectra..." #~ msgid "Spectra" #~ msgstr "Spectra" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualise spectral data from quantum chemistry calculations" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Vibrational Analysis" #~ msgid "No vibrational displacements exist." #~ msgstr "No vibrational displacements exist." #~ msgid "Vibration" #~ msgstr "Vibration" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Visualise vibrational modes from quantum chemistry calculations" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Sorting %1 vibrations by frequency..." #~ msgid "Pause" #~ msgstr "Pause" #~ msgid "Super Cell Builder..." #~ msgstr "Super Cell Builder..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Build and display crystallographic super cells" #~ msgid "Orbitals" #~ msgstr "Orbitals" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Nothing" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Electrostatic Potential" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Electron Density" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Molecular Orbital" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Error - undefined type" #~ msgid "Create Surfaces..." #~ msgstr "Create Surfaces..." #~ msgid "Calculating VdW Cube" #~ msgstr "Calculating VdW Cube" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calculating MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Electron Density" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL widget was not correctly initialised in order to make a video" #~ msgid "GL widget has no molecule" #~ msgstr "GL widget has no molecule" #~ msgid "Building video " #~ msgstr "Building video " #~ msgid "Could not run povray." #~ msgstr "Could not run povray." #~ msgid "Could not run mencoder." #~ msgstr "Could not run mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Set Aspect Ratio" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgid "Connect" #~ msgstr "Connect" #~ msgid "Disconnect" #~ msgstr "Disconnect" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Wii Tracking" #~ msgid "Track motion using Wii remotes" #~ msgstr "Track motion using Wii remotes" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgid "Debug Information" #~ msgstr "Debug Information" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "View Size: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Atoms: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Bonds: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: index %1 out of reach." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "File type '%1' is not supported for reading." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "File type for file '%1' is not supported for reading." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Reading molecule with index %1 from file '%2' failed." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: index %1 out of reach." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "File type '%1' is not supported for writing." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "File type for file '%1' is not supported for writing." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Could not open file '%1' for writing." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Could not open file '%1' for reading." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Replacing molecule with index %1 in file '%2' failed." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "File %1 cannot be opened for reading." #~ msgid "File %1 can not be opened for writing." #~ msgstr "File %1 can not be opened for writing." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "Saving molecular file failed - could not rename original file." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "Saving molecular file failed - could not rename new file." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "Saving molecular file failed - could not remove old file." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "File %1 cannot be opened for writing." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Writing conformers to file '%1' failed." #~ msgid "Molecule %1" #~ msgstr "Molecule %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Unknown Python Engine" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: checking " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - script has no 'Engine' class defined" #~ msgid " - no module" #~ msgstr " - no module" #~ msgid "Unknown Python Extension" #~ msgstr "Unknown Python Extension" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: checking " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - script has no 'Extension' class defined" #~ msgid "Unknown Python Tool" #~ msgstr "Unknown Python Tool" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: checking " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - script has no 'Tool' class defined" #~ msgid "Conformer %1" #~ msgstr "Conformer %1" #~ msgid "Tools" #~ msgstr "Tools" #~ msgid "Axis:" #~ msgstr "Axis:" #~ msgid "Align:" #~ msgstr "Align:" #~ msgid "Everything" #~ msgstr "Everything" #~ msgid "Align" #~ msgstr "Align" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Align molecules to a Cartesian axis" #~ msgid "Align Settings" #~ msgstr "Align Settings" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Could not setup force field...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Num Constraints: %1" #~ msgid "Steps per Update:" #~ msgstr "Steps per Update:" #~ msgid "Algorithm:" #~ msgstr "Algorithm:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Molecular Dynamics (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Molecular Dynamics (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Molecular Dynamics (900K)" #~ msgid "Start" #~ msgstr "Start" #~ msgid "Fixed atoms are movable" #~ msgstr "Fixed atoms are movable" #~ msgid "Ignored atoms are movable" #~ msgstr "Ignored atoms are movable" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOpt Molecule" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Automatic optimisation of molecular geometry" #~ msgid "AutoOptimization Settings" #~ msgstr "AutoOptimisation Settings" #~ msgid "Auto Rotation Tool" #~ msgstr "Auto Rotation Tool" #~ msgid "x rotation:" #~ msgstr "x rotation:" #~ msgid "x rotation" #~ msgstr "x rotation" #~ msgid "y rotation:" #~ msgstr "y rotation:" #~ msgid "y rotation" #~ msgstr "y rotation" #~ msgid "z rotation:" #~ msgstr "z rotation:" #~ msgid "z rotation" #~ msgstr "z rotation" #~ msgid "Automatic rotation of molecules" #~ msgstr "Automatic rotation of molecules" #~ msgid "AutoRotate Settings" #~ msgstr "AutoRotate Settings" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Bond Length: %L1" #~ msgid " Show Angles" #~ msgstr " Show Angles" #~ msgid "Snap-to Threshold: " #~ msgstr "Snap-to Threshold: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Bond Centric Manipulate" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulation of bond lengths, angles, and torsions" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Bond Centric Manipulate Settings" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distance (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Angle: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distance (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Dihedral Angle: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distance(s):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Measure bond lengths, angles, and dihedrals" #~ msgid "Delete Atom" #~ msgstr "Delete Atom" #~ msgid "Draw Bond" #~ msgstr "Draw Bond" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Draw and edit atoms and bonds" #~ msgid "Draw Settings" #~ msgstr "Draw Settings" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Translate, rotate, and adjust atoms and fragments" #~ msgid "Manipulate Settings" #~ msgstr "Manipulate Settings" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Translate, rotate, and zoom around the current view" #~ msgid "Navigate Settings" #~ msgstr "Navigate Settings" #~ msgid "Selection Mode:" #~ msgstr "Selection Mode:" #~ msgid "Atom/Bond" #~ msgstr "Atom/Bond" #~ msgid "Residue" #~ msgstr "Residue" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Select atoms, residues, and molecules" #~ msgid "Symbol" #~ msgstr "Symbol" #~ msgid "Bond Length" #~ msgstr "Bond Length" #~ msgid "Bond Angle" #~ msgstr "Bond Angle" #~ msgid "Dihedral Angle" #~ msgstr "Dihedral Angle" #~ msgid "Z Matrix Editor..." #~ msgstr "Z Matrix Editor..." #~ msgid "Z-Matrix" #~ msgstr "Z-Matrix" #~ msgid "Create/edit a z-matrix" #~ msgstr "Create/edit a z-matrix" #~ msgid "Z-Matrix Settings" #~ msgstr "Z-Matrix Settings" #~ msgid "Residue Color Settings" #~ msgstr "Residue Colour Settings" #~ msgid "Color residues by:" #~ msgstr "Colour residues by:" #~ msgid "Amino Colors" #~ msgstr "Amino Colours" #~ msgid "Shapely Colors" #~ msgstr "Shapely Colours" #~ msgid "Hydrophobicity" #~ msgstr "Hydrophobicity" #~ msgid "Axes:" #~ msgstr "Axes:" #~ msgid "Cartesian Axes" #~ msgstr "Cartesian Axes" #~ msgid "Orthogonal Axes" #~ msgstr "Orthogonal Axes" #~ msgid "Axis 1:" #~ msgstr "Axis 1:" #~ msgid "Axis 2:" #~ msgstr "Axis 2:" #~ msgid "Axis 3:" #~ msgstr "Axis 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origin:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norm" #~ msgid "Preserve vector norms" #~ msgstr "Preserve vector norms" #~ msgid "Atom Radius:" #~ msgstr "Atom Radius:" #~ msgid "Bond Radius:" #~ msgstr "Bond Radius:" #~ msgid "Shape" #~ msgstr "Shape" #~ msgid "Helix" #~ msgstr "Helix" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Sheet" #~ msgid "Loop" #~ msgstr "Loop" #~ msgid "Colors" #~ msgstr "Colours" #~ msgid "Dipole:" #~ msgstr "Dipole:" #~ msgid "Dipole Moment" #~ msgstr "Dipole Moment" #~ msgid "Custom Vector" #~ msgstr "Custom Vector" #~ msgid "Width:" #~ msgstr "Width:" #~ msgid "Cut-off radius:" #~ msgstr "Cut-off radius:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Cut-off angle:" #~ msgid "Rendering Engine:" #~ msgstr "Rendering Engine:" #~ msgid "TextRenderer" #~ msgstr "TextRenderer" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Atom Labels" #~ msgid "Text:" #~ msgstr "Text:" #~ msgid "Color:" #~ msgstr "Colour:" #~ msgid "None" #~ msgstr "None" #~ msgid "Symbol & Number in Group" #~ msgstr "Symbol & Number in Group" #~ msgid "Symbol & Atom number" #~ msgstr "Symbol & Atom number" #~ msgid "Formal charge" #~ msgstr "Formal charge" #~ msgid "Partial charge" #~ msgstr "Partial charge" #~ msgid "Residue number" #~ msgstr "Residue number" #~ msgid "Unique ID" #~ msgstr "Unique ID" #~ msgid "Custom data" #~ msgstr "Custom data" #~ msgid "Change Font" #~ msgstr "Change Font" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Label Shift:" #~ msgid "Bond Labels" #~ msgstr "Bond Labels" #~ msgid "Bond length" #~ msgstr "Bond length" #~ msgid "Bond number" #~ msgstr "Bond number" #~ msgid "Bond order" #~ msgstr "Bond order" #~ msgid "Rendering:" #~ msgstr "Rendering:" #~ msgid "Backbone" #~ msgstr "Backbone" #~ msgid "Lines" #~ msgstr "Lines" #~ msgid "Radius:" #~ msgstr "Radio :" #~ msgid "Include Nitrogens" #~ msgstr "Include Nitrogens" #~ msgid "VdW Opacity:" #~ msgstr "VdW Opacity:" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Render:" #~ msgid "Fill" #~ msgstr "Fill" #~ msgid "Points" #~ msgstr "Points" #~ msgid "Draw Box:" #~ msgstr "Draw Box:" #~ msgid "Style:" #~ msgstr "Style:" #~ msgid "Selected Colors" #~ msgstr "Selected Colours" #~ msgid "Mapped Colors" #~ msgstr "Mapped Colours" #~ msgid "Colors:" #~ msgstr "Colours:" #~ msgid "Positive" #~ msgstr "Positive" #~ msgid "Negative" #~ msgstr "Negative" #~ msgid "Show Atoms" #~ msgstr "Show Atoms" #~ msgid "Animate Trajectory" #~ msgstr "Animate Trajectory" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Loop" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Save as .avi..." #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, coords only" #~ msgid "Priroda Input" #~ msgstr "Priroda Input" #~ msgid "Apply Changes" #~ msgstr "Apply Changes" #~ msgid "Cut All" #~ msgstr "Cut All" #~ msgid "Paste to the End" #~ msgstr "Paste to the End" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgid "(None)" #~ msgstr "(None)" #~ msgid "Sort by " #~ msgstr "Sort by " #~ msgid "Conformer Search" #~ msgstr "Conformer Search" #~ msgid "Method" #~ msgstr "Method" #~ msgid "Number of atoms:" #~ msgstr "Number of atoms:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Number of rotatable bonds:" #~ msgid "Number of conformers" #~ msgstr "Number of conformers" #~ msgid "Systematic rotor search" #~ msgstr "Systematic rotor search" #~ msgid "Random rotor search" #~ msgstr "Random rotor search" #~ msgid "Weighted rotor search" #~ msgstr "Weighted rotor search" #~ msgid "Energy" #~ msgstr "Energy" #~ msgid "Constraints" #~ msgstr "Constraints" #~ msgid "Add Constraints" #~ msgstr "Add Constraints" #~ msgid "Ignore Atom" #~ msgstr "Ignore Atom" #~ msgid "Fix Atom" #~ msgstr "Fix Atom" #~ msgid "Fix Atom X" #~ msgstr "Fix Atom X" #~ msgid "Fix Atom Y" #~ msgstr "Fix Atom Y" #~ msgid "Fix Atom Z" #~ msgstr "Fix Atom Z" #~ msgid "Torsion angle" #~ msgstr "Torsion angle" #~ msgid "Constraint Value" #~ msgstr "Constraint Value" #~ msgid "Atom Indices" #~ msgstr "Atom Indices" #~ msgid "Add" #~ msgstr "Add" #~ msgid "Save" #~ msgstr "Save" #~ msgid "Load" #~ msgstr "Load" #~ msgid "Cartesian" #~ msgstr "Cartesian" #~ msgid "All" #~ msgstr "All" #~ msgid "File Import..." #~ msgstr "File Import..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Attempt to perceive bonds?" #~ msgid "Setup Force Field" #~ msgstr "Setup Force Field" #~ msgid "Force Field" #~ msgstr "Force Field" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Number of steps" #~ msgid "Algorithm" #~ msgstr "Algorithm" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Other" #~ msgid "Insert Fragment..." #~ msgstr "Insert Fragment..." #~ msgid "Peptide Builder" #~ msgstr "Peptide Builder" #~ msgid "Alanine" #~ msgstr "Alanine" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginine" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagine" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Aspartic acid" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cysteine" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Glutamic acid" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamine" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glycine" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidine" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucine" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valine" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tyrosine" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Tryptophan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Threonine" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serine" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Proline" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Phenylalanine" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Methionine" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lysine" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucine" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Amino Acids:" #~ msgid "Sequence (N to C):" #~ msgstr "Sequence (N to C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereochemistry:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N Terminus:" #~ msgid "C Terminus:" #~ msgstr "C Terminus:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Straight Chain" #~ msgid "Alpha Helix" #~ msgstr "Alpha Helix" #~ msgid "Beta Sheet" #~ msgstr "Beta Sheet" #~ msgid "3-10 Helix" #~ msgstr "3-10 Helix" #~ msgid "Pi Helix" #~ msgstr "Pi Helix" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Chain Number:" #~ msgid "The chain number for the new peptide" #~ msgstr "The chain number for the new peptide" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Molecule Properties" #~ msgid "Number of Residues:" #~ msgstr "Number of Residues:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energy (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Dipole Moment (D):" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Advanced" #~ msgid "Control" #~ msgstr "Control" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Data" #~ msgid "Nothing" #~ msgstr "Nothing" #~ msgid "Grid" #~ msgstr "Grid" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray Export" #~ msgid "Select..." #~ msgstr "Select..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Use full scene antialiasing" #~ msgid "Antialias" #~ msgstr "Antialias" #~ msgid "Set the background color to be transparent" #~ msgstr "Set the background colour to be transparent" #~ msgid "Alpha transparency" #~ msgstr "Alpha transparency" #~ msgid "Command:" #~ msgstr "Command:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Render the molecule directly using command line POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Keep the POV-Ray source after rendering has completed" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Keep POV-Ray source after rendering" #~ msgid "Path:" #~ msgstr "Path:" #~ msgid "Use Form" #~ msgstr "Use Form" #~ msgid "Compute..." #~ msgstr "Compute..." #~ msgid "Dalton Input" #~ msgstr "Dalton Input" #~ msgid "Basics" #~ msgstr "Basics" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Basis Set:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Pople-style" #~ msgid "Jensen's polarization consistent" #~ msgstr "Jensen's polarisation consistent" #~ msgid "Dunning's correlation consistent" #~ msgstr "Dunning's correlation consistent" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Core correlating functions" #~ msgid "Diffuse functions" #~ msgstr "Diffuse functions" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Polarisation functions" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Direct" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgid "Parallel" #~ msgstr "Parallel" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Functional:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Density:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Charge Integration:" #~ msgid "Grid Specification" #~ msgstr "Grid Specification" #~ msgid "Partitioning Scheme:" #~ msgstr "Partitioning Scheme:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (original)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Grid Quality:" #~ msgid "coarse" #~ msgstr "coarse" #~ msgid "normal" #~ msgstr "normal" #~ msgid "fine" #~ msgstr "fine" #~ msgid "ultrafine" #~ msgstr "ultrafine" #~ msgid "Radial Scheme:" #~ msgstr "Radial Scheme:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Show all functionals" #~ msgid "Property:" #~ msgstr "Property:" #~ msgid "Polarizability" #~ msgstr "Polarisability" #~ msgid "Excitation Energy" #~ msgstr "Excitation Energy" #~ msgid "Frequency Dependent" #~ msgstr "Frequency Dependent" #~ msgid "No. excitations:" #~ msgstr "No. excitations:" #~ msgid "EFP Matches" #~ msgstr "EFP Matches" #~ msgid "Group Label:" #~ msgstr "Group Label:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Advanced Setup" #~ msgid "Hessian" #~ msgstr "Hessian" #~ msgid "Stat Point" #~ msgstr "Stat Point" #~ msgid "System" #~ msgstr "System" #~ msgid "MO Guess" #~ msgstr "MO Guess" #~ msgid "Misc" #~ msgstr "Misc" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Heavy Atom Polarisation Functions:" #~ msgid "Read" #~ msgstr "Read" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Diffuse S-Shell on Heavy Atoms" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Diffuse L-Shell on Heavy Atoms" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Double Zeta Valence" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Triple Zeta Valence" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA Valence" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt Valence" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP Type:" #~ msgid "Default" #~ msgstr "Default" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Heavy Atom Polarisation Functions:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#light Atom Polarisation Functions:" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "Max SCF Iterations:" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "Optimisation" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "Saddle Point" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Gradient Extremal" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energy Surface" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Radiative Transition mom." #~ msgid "Spin Orbit" #~ msgstr "Spin Orbit" #~ msgid "Finite Electric Field" #~ msgstr "Finite Electric Field" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Global Optimisation" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO Optimisation" #~ msgid "Raman Intensities" #~ msgstr "Raman Intensities" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Make EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "None (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF Type:" #~ msgid "Localization Method:" #~ msgstr "Localisation Method:" #~ msgid "Exec Type:" #~ msgstr "Exec Type:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinant" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Occupation Restricted Multiple Active Space" #~ msgid "CI Singles" #~ msgstr "CI Singles" #~ msgid "Full Second Order CI" #~ msgstr "Full Second Order CI" #~ msgid "General CI" #~ msgstr "General CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearised CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC with Doubles" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC with Singles and Doubles" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Normal Run" #~ msgid "Check" #~ msgstr "Check" #~ msgid "Debug" #~ msgstr "Debug" #~ msgid "Molecule Charge:" #~ msgstr "Molecule Charge:" #~ msgid "Run Type:" #~ msgstr "Run Type:" #~ msgid "Use MP2" #~ msgstr "Use MP2" #~ msgid "Use DFT" #~ msgstr "Use DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# of Z-Matrix Variables" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Order of Principal Axis:" #~ msgid "Coordinate Type:" #~ msgstr "Coordinate Type:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Unique cartesian Coords." #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrant internals" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Use Symmetry During Calculation" #~ msgid "Point Group:" #~ msgstr "Point Group:" #~ msgid "Minutes" #~ msgstr "Minutes" #~ msgid "Hours" #~ msgstr "Hours" #~ msgid "Days" #~ msgstr "Days" #~ msgid "Weeks" #~ msgstr "Weeks" #~ msgid "Years" #~ msgstr "Years" #~ msgid "Millenia" #~ msgstr "Millenia" #~ msgid "MegaWords" #~ msgstr "MegaWords" #~ msgid "MegaBytes" #~ msgstr "MegaBytes" #~ msgid "GigaWords" #~ msgstr "GigaWords" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Force Parallel Methods" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Produce \"core\" file upon abort" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memory:" #~ msgid "Diagonalization Method:" #~ msgstr "Diagonalisation Method:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Parallel Load Balance Type" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Loop" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Next Value" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Use External Data Representation for Messages" #~ msgid "Initial Guess:" #~ msgstr "Initial Guess:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO Read ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO Saved (DICTNRY)" #~ msgid "Skip" #~ msgstr "Skip" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Rotate Alpha and Beta Orbitals" #~ msgid "Print the Initial Guess" #~ msgstr "Print the Initial Guess" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "GAMESS Interface to Other Codes" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Force a Check Run Type" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK Version)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvate with Water" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Generate UHF Natural Orbitals" #~ msgid "Direct SCF" #~ msgstr "Direct SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Compute Only Changed in Fock Matrix" #~ msgid "Slater exchange" #~ msgstr "Slater exchange" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 exchange" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr correlation" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater exchange + VWN correlation" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE exchange + VWN5 correlation" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE exchange + LYP correlation" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 exchange" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: One-parameter Progressive correlation" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP correlation" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE exchange + OP correlation" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL exchange + VWN5 correlation" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL exchange + LYP correlation" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE exchange + VWN6 correlation" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE exchange +LYP correlation" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE exchange + OP correlation" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgid "Grid-Free" #~ msgstr "Grid-Free" #~ msgid "DFT Functional:" #~ msgstr "Funcional DFT:" #~ msgid "Method:" #~ msgstr "Method:" #~ msgid "AO Integral Storage" #~ msgstr "AO Integral Storage" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplicated on Each Node" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distributed Across All Nodes" #~ msgid "words" #~ msgstr "words" #~ msgid "Compute MP2 Properties" #~ msgstr "Compute MP2 Properties" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Integral Retention Cutoff:" #~ msgid "Use Localized Orbitals" #~ msgstr "Use Localised Orbitals" #~ msgid "# of Core Electrons:" #~ msgstr "# of Core Electrons:" #~ msgid "Two Phase Bin Sort" #~ msgstr "Two Phase Bin Sort" #~ msgid "Segmented Transformation" #~ msgstr "Segmented Transformation" #~ msgid "Analytic" #~ msgstr "Analytic" #~ msgid "Numeric" #~ msgstr "Numeric" #~ msgid "Double Differenced Hessian" #~ msgstr "Double Differenced Hessian" #~ msgid "Print Internal Force Constants" #~ msgstr "Print Internal Force Constants" #~ msgid "Displacement Size:" #~ msgstr "Displacement Size:" #~ msgid "Purify Hessian" #~ msgstr "Purify Hessian" #~ msgid "Frequency Scale Factor:" #~ msgstr "Frequency Scale Factor:" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Initial Hessian" #~ msgid "Guess (+ define)" #~ msgstr "Guess (+ define)" #~ msgid "Read (from $HESS)" #~ msgstr "Read (from $HESS)" #~ msgid "Update Step Size" #~ msgstr "Update Step Size" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Print Orbs at Each Iteration" #~ msgid "Jump Size:" #~ msgstr "Jump Size:" #~ msgid "Stationary Point" #~ msgstr "Stationary Point" #~ msgid "Step Size" #~ msgstr "Step Size" #~ msgid "Maximum:" #~ msgstr "Maximum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Initial:" #~ msgstr "Initial:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Rational Function Optimisation" #~ msgid "Quadratic Approximation" #~ msgstr "Quadratic Approximation" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Constrained Optimisation" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Recalculate Hessian Every:" #~ msgid "Follow Mode:" #~ msgstr "Follow Mode:" #~ msgid "Maximum Steps:" #~ msgstr "Maximum Steps:" #~ msgid "Basis:" #~ msgstr "Basis:" #~ msgid "Z-matrix" #~ msgstr "Z-matrix" #~ msgid "Gaussian Input" #~ msgstr "Gaussian Input" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Checkpoint:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-matrix (compact)" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO Input" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "MOPAC Input" #~ msgstr "MOPAC Input" #~ msgid "Quartet" #~ msgstr "Quartet" #~ msgid "Quintet" #~ msgstr "Quintet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem Input" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem Input" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "Load Shaders" #~ msgid "Shader Name:" #~ msgstr "Shader Name:" #~ msgid "Vertex Shader:" #~ msgstr "Vertex Shader:" #~ msgid "Fragment Shader:" #~ msgstr "Fragment Shader:" #~ msgid "Assign Shader" #~ msgstr "Assign Shader" #~ msgid "Display Type:" #~ msgstr "Display Type:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgid "&Load data..." #~ msgstr "&Load data..." #~ msgid "&Close" #~ msgstr "&Close" #~ msgid "Calculated Spectra:" #~ msgstr "Calculated Spectra:" #~ msgid "Set Color..." #~ msgstr "Set Colour..." #~ msgid "Imported Spectra:" #~ msgstr "Imported Spectra:" #~ msgid "Font:" #~ msgstr "Font:" #~ msgid "Change Font..." #~ msgstr "Change Font..." #~ msgid "Show" #~ msgstr "Show" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "Imports a tsv of experimental spectra to overlay on the plot." #~ msgid "&Import..." #~ msgstr "&Import..." #~ msgid "Background:" #~ msgstr "Background:" #~ msgid "Foreground:" #~ msgstr "Foreground:" #~ msgid "New..." #~ msgstr "New..." #~ msgid "Rename..." #~ msgstr "Rename..." #~ msgid "&Schemes:" #~ msgstr "&Schemes:" #~ msgid "&Export..." #~ msgstr "&Export..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Width:" #~ msgid "&Height" #~ msgstr "&Height" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Save Image..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Use an optimised value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Auto-adjust F&ont Size" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Export Data" #~ msgid "Spectra Tab" #~ msgstr "Spectra Tab" #~ msgid "&Gaussian Width:" #~ msgstr "&Gaussian Width:" #~ msgid "&Label peaks" #~ msgstr "&Label peaks" #~ msgid "Rotatory Strength type:" #~ msgstr "Rotatory Strength type:" #~ msgid "Energy units:" #~ msgstr "Energy units:" #~ msgid "Density units" #~ msgstr "Density units" #~ msgid "Fermi Energy: " #~ msgstr "Fermi Energy: " #~ msgid "States / Cell" #~ msgstr "States / Cell" #~ msgid "States / Atom" #~ msgstr "States / Atom" #~ msgid "States / Valence electron" #~ msgstr "States / Valence electron" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Fermi energy at zero" #~ msgid "Scale integrated DOS" #~ msgstr "Scale integrated DOS" #~ msgid "Show integrated DOS" #~ msgstr "Show integrated DOS" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "&Y Axis Units:" #~ msgid "Scaling Type:" #~ msgstr "Scaling Type:" #~ msgid "Linear" #~ msgstr "Linear" #~ msgid "Relative" #~ msgstr "Relative" #~ msgid "Temperature:" #~ msgstr "Temperature:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Laser Wavenumber:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Threshold:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Nucleus:" #~ msgid "&Reference:" #~ msgstr "&Reference:" #~ msgid "Gaussian &Width:" #~ msgstr "Gaussian &Width:" #~ msgid "Reset &Plot Axes" #~ msgstr "Reset &Plot Axes" #~ msgid "Label Peaks:" #~ msgstr "Label Peaks:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Molecular Vibrations" #~ msgid "Filter: " #~ msgstr "Filter: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Activity (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Show Spectra..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "higher frequency vibrations will show faster movement" #~ msgid "Animation speed set by frequency" #~ msgstr "Animation speed set by frequency" #~ msgid "Display force &vectors" #~ msgstr "Display force &vectors" #~ msgid "&Normalize displacements" #~ msgstr "&Normalise displacements" #~ msgid "Generate Cell" #~ msgstr "Generate Cell" #~ msgid "Create Surfaces" #~ msgstr "Create Surfaces" #~ msgid "Surface Type:" #~ msgstr "Surface Type:" #~ msgid "Color By:" #~ msgstr "Colour By:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Low" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Medium" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "High" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Very High" #~ msgid "Iso Value:" #~ msgstr "Iso Value:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "In Display Type:" #~ msgid "New Display" #~ msgstr "New Display" #~ msgid "Advanced..." #~ msgstr "Advanced..." #~ msgid "Display visual cues" #~ msgstr "Display visual cues" #~ msgid "Python Settings" #~ msgstr "Python Settings" #~ msgid "Z Matrix Editor" #~ msgstr "Z Matrix Editor" #~ msgid "Import Selected Atoms" #~ msgstr "Import Selected Atoms" avogadrolibs-1.93.0/i18n/en_CA.po000066400000000000000000005536221360735163600163730ustar00rootroot00000000000000# English (Canada) translation for avogadro # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:30+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: English (Canada) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Input Generator..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Input Generator..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Continue" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Close" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Unknown" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Abort Calculation" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Warning" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Warning" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Select Solvent" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Output:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Cannot Write to File." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Video file not written." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Video file not written." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Title" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Filename:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processors:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Calculation:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Theory:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Theory:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Basis" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "No molecule set" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Stop &Animation" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "No Atoms Selected" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hydrogen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lithium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boron" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbon" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogen" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxygen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluorine" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminum" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicon" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Phosphorus" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Sulfur" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Chlorine" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potassium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calcium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanium" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Chromium" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganese" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Iron" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nickel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Copper" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinc" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenic" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenium" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromine" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybdenum" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technetium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruthenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Silver" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Tin" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimony" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellurium" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iodine" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cesium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lanthanum" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodymium" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodymium" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promethium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantalum" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungsten" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhenium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platinum" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Gold" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercury" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Thallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Lead" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuth" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astatine" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Thorium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranium" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Browse..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Select Solvent" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Delete Selected" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "All files" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "untitled" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodic Table" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03 failed to start." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Scripts" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL error" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Unknown" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molecule" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Add Atom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Remove Atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Clear All" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Adjust Hydrogens" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Change Element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Change Element" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formal Charge" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Add Bond" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Remove Atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Delete Bond" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Bond Order" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Change Bond Order" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Snap-to Bonds" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Delete Bond" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Fill Unit Cell" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Fill Unit Cell" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Fill Unit Cell" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super Cell" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Super Cell" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Fill Unit Cell" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&File" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Export" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Thresholds" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Open parameter file" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensions" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Error" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problem reading traj file %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL error" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problem reading traj file %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Error" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Success!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Image successfully written to %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Show Multiple Bonds" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hydrogens" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Ball and Stick" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Renders atom and bond labels" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Bond Centric Manipulation" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Bond Centric Manipulation" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "End Atom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Remove Hydrogens" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Build" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Bond" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Filename:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Cartesian coordinates editor" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Cartesian coordinates editor" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Revert Changes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Invalid Filename" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Element name" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Element symbol" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Element symbol" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Invalid Filename" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atom number" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Invalid Filename" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Itai Molenaar, ,Launchpad Contributions:,Itai " "Molenaar, ,Launchpad Contributions:,Brian Burns,Itai Molenaar, ,Launchpad " "Contributions:,Brian Burns,Itai Molenaar, ,Launchpad Contributions:,Brian " "Burns,Itai Molenaar, ,Launchpad Contributions:,Brian Burns,Itai Molenaar," "Luke Hollins, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Itai " "Molenaar,Ken Sharp,Luke Hollins, ,Launchpad Contributions:,Avogadro Team," "Brian Burns,Itai Molenaar,Ken Sharp,Luke Hollins, ,Launchpad Contributions:," "Avogadro Team,Brian Burns,Itai Molenaar,Ken Sharp,Luke Hollins, ,Launchpad " "Contributions:,Avogadro Team,Brian Burns,Itai Molenaar,Ken Sharp,Luke " "Hollins, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Itai Molenaar," "Luke Hollins, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Itai " "Molenaar,Luke Hollins, ,Launchpad Contributions:,Avogadro Team,Brian Burns," "Itai Molenaar,Luke Hollins" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ with numbers" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP Information" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP Information" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Turbomole Input" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Copy All" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Custom:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Clear All" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Fill Unit Cell" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Fill Unit Cell" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super Cell" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Renders atom and bond labels" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Custom Axes" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Draw" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Draw Atom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Change Bond Order" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Remove Atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distance" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distance (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Other..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOptimization" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Single" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Double" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triple" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problem reading traj file %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Input Generator..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS Input" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Single Point Energy" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Equilibrium Geometry" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Transition State" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frequencies" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Core Potential" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Water" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doublet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dication" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Cation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutral" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS Input #2" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Abort Calculation" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Adjust Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Add Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Remove Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Remove Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hydrogens" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hydrogens" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Import" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Renders atom and bond labels" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Insert" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "No Description" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molecule" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Generate..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipulate" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipulate Atom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Measure" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Dihedral:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Measure" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Renders molecular isosurface meshes" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&View" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Molecular Properties" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigate" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigate" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Chemical Name" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Chemical structure to download." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Network Download Failed" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Network timeout or other error." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Specified molecule could not be found: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Network Download Failed" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimize Geometry" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometry Optimization" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Perceive bonds?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Add Hydrogens" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Add Hydrogens for pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Remove Hydrogens" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Reading a molecule from file '%1' failed." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "A problem occurred while writing file %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimize Geometry" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Generate..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Trajectory file %1 disagrees on the number of atoms in the present molecule" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimize Geometry" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Add Hydrogens" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Add Hydrogens for pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Remove Hydrogens" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parameters:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Dynamic Bonds" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Remove..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Cannot read file %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Error" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Save Video File" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Render using POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensions" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Create input files for quantum chemistry packages" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calculating Electron Density" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calculating Electron Density" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calculate molecular orbitals and other surfaces" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Reset" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Input File Generators" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Delete All" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selection" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Invert Selection" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " valence electrons" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Select" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Select" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Selection" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selection" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrations" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Spectra Visualisation" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Type" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Select by Element..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Renders molecular dipole moments" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Render" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Render using POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Wireframe" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Renders molecules as sticks" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Form" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Selection Settings" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Abort Calculation" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Shader Program:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processors:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Change Element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Structure:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Par File:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Force Field:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Par File:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "GAMESS Input #2" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Save Video File" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Success!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Structure:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Load File..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Measure Settings" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Filename:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigate" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigate" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigate" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Filename:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Cancel" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Cartesian coordinates editor" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Reset" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distance" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Angstroms" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Format:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Revert Changes" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Apply" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Super Cell Parameters" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Super Cell Options" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A repeat:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B repeat:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C repeat:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Fill Unit Cell" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "MOPAC Z-Matrix" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Fractional" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Transformation Method" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Scale &Factor:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "TextLabel" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Bond Order:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS Input" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Basic Setup" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "In:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicity:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "With:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Title:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Charge:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calculate:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Filename:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Reset All" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Defaults" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Load File..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "name" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "No Description" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molecular Weight (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Chemical Formula:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Number of Atoms:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Number of Bonds:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometry Optimization" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimisation Method:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Force Field:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimisation Method:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Steepest Descent" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Conjugate Gradients" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutoRotate" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosurface = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Electrostatic Potential" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "steps" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Gradient Convergence Criteria:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergence" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Time Limit:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Units:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Number of Bonds:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Wavelength (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Delete Selected" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalent" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacity:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Medium" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Low" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "High" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Isosurface cutoff value" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolution:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calculate" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrations" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitude:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Start &Animation" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Stop &Animation" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molecule" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Options" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Itai Molenaar, ,Launchpad Contributions:,Itai " "Molenaar, ,Launchpad Contributions:,Brian Burns,Itai Molenaar, ,Launchpad " "Contributions:,Brian Burns,Itai Molenaar, ,Launchpad Contributions:,Brian " "Burns,Itai Molenaar, ,Launchpad Contributions:,Brian Burns,Itai Molenaar," "Luke Hollins, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Itai " "Molenaar,Ken Sharp,Luke Hollins, ,Launchpad Contributions:,Avogadro Team," "Brian Burns,Itai Molenaar,Ken Sharp,Luke Hollins, ,Launchpad Contributions:," "Avogadro Team,Brian Burns,Itai Molenaar,Ken Sharp,Luke Hollins, ,Launchpad " "Contributions:,Avogadro Team,Brian Burns,Itai Molenaar,Ken Sharp,Luke " "Hollins, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Itai Molenaar," "Luke Hollins, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Itai " "Molenaar,Luke Hollins, ,Launchpad Contributions:,Avogadro Team,Brian Burns," "Itai Molenaar,Luke Hollins" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,imolenaar28@gmail.com,,,imolenaar28@gmail.com,,,bburns@aundae.com," "imolenaar28@gmail.com,,,bburns@aundae.com,imolenaar28@gmail.com,,," "bburns@aundae.com,imolenaar28@gmail.com,,,bburns@aundae.com," "imolenaar28@gmail.com,,,,avogadro-devel@lists.sourceforge.net,bburns@aundae." "com,imolenaar28@gmail.com,,,,,avogadro-devel@lists.sourceforge.net," "bburns@aundae.com,,,,,,avogadro-devel@lists.sourceforge.net,bburns@aundae." "com,,,,,,avogadro-devel@lists.sourceforge.net,bburns@aundae.com,,,,,," "avogadro-devel@lists.sourceforge.net,bburns@aundae.com,,,,,avogadro-" "devel@lists.sourceforge.net,bburns@aundae.com,,,,,avogadro-devel@lists." "sourceforge.net,bburns@aundae.com,," #~ msgid "Color by Index" #~ msgstr "Colour by Index" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Colour by Index (red, orange, yellow, green, blue, violet)." #~ msgid "Color by Partial Charge" #~ msgstr "Colour by Partial Charge" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Colour by atomic partial charge (blue = positive, red = negative." #~ msgid "Custom Color:" #~ msgstr "Custom Colour:" #~ msgid "Custom Color" #~ msgstr "Custom Colour" #~ msgid "Set custom colors for objects" #~ msgstr "Set custom colours for objects" #~ msgid "Color by Distance" #~ msgstr "Colour by Distance" #~ msgid "Color by distance from the first atom." #~ msgstr "Colour by distance from the first atom." #~ msgid "Color by Element" #~ msgstr "Colour by Element" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Colour by Element (carbon = grey, oxygen = red, ...)." #~ msgid "Color by Residue" #~ msgstr "Colour by Residue" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Colour by Residue (amino acid type, hydrophobicity, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS Pattern:" #~ msgid "Highlight Color:" #~ msgstr "Highlight Colour:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Colour by SMARTS Pattern" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Highlight particular features which match a SMARTS pattern." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Engines" #~ msgid "Axes" #~ msgstr "Axes" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Renders the x, y, and z axes at the origin" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgid "Cartoon" #~ msgstr "Cartoon" #~ msgid "Renders protein secondary structure" #~ msgstr "Renders protein secondary structure" #~ msgid "Dipole" #~ msgstr "Dipole" #~ msgid "Force" #~ msgstr "Force" #~ msgid "Renders force displacements on atoms" #~ msgstr "Renders force displacements on atoms" #~ msgid "Hydrogen Bond" #~ msgstr "Hydrogen Bond" #~ msgid "Renders hydrogen bonds" #~ msgstr "Renders hydrogen bonds" #~ msgid "Select Atom Labels Color" #~ msgstr "Select Atom Labels Colour" #~ msgid "Select Bond Labels Color" #~ msgstr "Select Bond Labels Colour" #~ msgid "Select Atom Labels Font" #~ msgstr "Select Atom Labels Font" #~ msgid "Select Bond Labels Font" #~ msgstr "Select Bond Labels Font" #~ msgid "Label" #~ msgstr "Label" #~ msgid "Polygon" #~ msgstr "Polygon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgid "Ribbon" #~ msgstr "Ribbon" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Renders protein backbones as ribbons" #~ msgid "Ring" #~ msgstr "Ring" #~ msgid "Renders rings with colored planes" #~ msgstr "Renders rings with coloured planes" #~ msgid "Simple Wireframe" #~ msgstr "Simple Wireframe" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Renders bonds as wires (lines), ideal for large molecules" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waals Spheres" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Renders atoms as Van der Waals spheres" #~ msgid "Stick" #~ msgstr "Stick" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Electron density, isosurface = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosurface = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "video files (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Adding .avi extension" #~ msgid "Animation..." #~ msgstr "Animation..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Cannot read file format of file %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Read trajectory file %1 failed." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Must specify a valid .avi file name" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "GL widget was not correctly initialized in order to save video" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Invalid video filename. Must include full directory path" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgid "Animation" #~ msgstr "Animation" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animate trajectories, reactions, and vibrations." #~ msgid "Cartesian Editor" #~ msgstr "Cartesian Editor" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgid "Cartesian Editor..." #~ msgstr "Cartesian Editor..." #~ msgid "Cartesian editor" #~ msgstr "Cartesian editor" #~ msgid "Number of atoms: %1" #~ msgstr "Number of atoms: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Number of rotatable bonds: %1" #~ msgid "Add constraint" #~ msgstr "Add constraint" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "Your molecule must contain at least one atom to add a constraint" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgid "Undefined" #~ msgstr "Undefined" #~ msgid "Trajectory..." #~ msgstr "Trajectory..." #~ msgid "Open chemical file format" #~ msgstr "Open chemical file format" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Chemical files (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Chemical files (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Import Trajectory" #~ msgid "Import trajectory files" #~ msgstr "Import trajectory files" #~ msgid "Setup Force Field..." #~ msgstr "Setup Force Field..." #~ msgid "Calculate Energy" #~ msgstr "Calculate Energy" #~ msgid "Conformer Search..." #~ msgstr "Conformer Search..." #~ msgid "Constraints..." #~ msgstr "Constraints..." #~ msgid "Ignore Selection" #~ msgstr "Ignore Selection" #~ msgid "Fix Selected Atoms" #~ msgstr "Fix Selected Atoms" #~ msgid "&Molecular Mechanics" #~ msgstr "&Molecular Mechanics" #~ msgid "Energy = %L1 %2" #~ msgstr "Energy = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Geometric Optimization" #~ msgid "Forcefield Optimization" #~ msgstr "Forcefield Optimization" #~ msgid "Systematic Rotor Search" #~ msgstr "Systematic Rotor Search" #~ msgid "Random Rotor Search" #~ msgstr "Random Rotor Search" #~ msgid "Weighted Rotor Search" #~ msgstr "Weighted Rotor Search" #~ msgid "ForceField" #~ msgstr "ForceField" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgid "&Vector Graphics..." #~ msgstr "&Vector Graphics..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Common vector image formats" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Change H to Methyl" #~ msgstr "Change H to Methyl" #~ msgid "H to Methyl" #~ msgstr "H to Methyl" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transform hydrogens to methyl groups" #~ msgid "Add or remove hydrogens" #~ msgstr "Add or remove hydrogens" #~ msgid "Fragment..." #~ msgstr "Fragment..." #~ msgid "Insert SMILES" #~ msgstr "Insert SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Insert SMILES fragment:" #~ msgid "Insert Fragment" #~ msgstr "Insert Fragment" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Insert molecular fragments for building larger molecules" #~ msgid "Peptide..." #~ msgstr "Peptide..." #~ msgid "Insert Peptide" #~ msgstr "Insert Peptide" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Insert oligopeptide sequences" #~ msgid "Molecule Properties..." #~ msgstr "Molecule Properties..." #~ msgid "&Properties" #~ msgstr "&Properties" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Estimated Dipole Moment (D):" #~ msgid "Display standard molecular properties." #~ msgstr "Display standard molecular properties." #~ msgid "Fetch from PDB..." #~ msgstr "Fetch from PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Fetch by chemical name..." #~ msgid "Fetch from URL..." #~ msgstr "Fetch from URL..." #~ msgid "PDB Entry" #~ msgstr "PDB Entry" #~ msgid "PDB entry to download." #~ msgstr "PDB entry to download." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL of molecule to download." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Specified molecule could not be loaded: %1" #~ msgid "Network Fetch" #~ msgstr "Network Fetch" #~ msgid "Fetch molecule files over the network." #~ msgstr "Fetch molecule files over the network." #~ msgid "All Files" #~ msgstr "All Files" #~ msgid "Show Preview" #~ msgstr "Show Preview" #~ msgid "Hide Preview" #~ msgstr "Hide Preview" #~ msgid "Intensities" #~ msgstr "Intensities" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Save POV-Ray rendered image" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Image files (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "No filename supplied." #~ msgid "No valid filename was supplied." #~ msgstr "No valid filename was supplied." #~ msgid "Does not compute." #~ msgstr "Does not compute." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray failed to start." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgid "Atom Properties..." #~ msgstr "Atom Properties..." #~ msgid "Bond Properties..." #~ msgstr "Bond Properties..." #~ msgid "Angle Properties..." #~ msgstr "Angle Properties..." #~ msgid "Torsion Properties..." #~ msgstr "Torsion Properties..." #~ msgid "Conformer Properties..." #~ msgstr "Conformer Properties..." #~ msgid "Atom Properties" #~ msgstr "Atom Properties" #~ msgid "Bond Properties" #~ msgstr "Bond Properties" #~ msgid "Angle Properties" #~ msgstr "Angle Properties" #~ msgid "Torsion Properties" #~ msgstr "Torsion Properties" #~ msgid "Conformer Properties" #~ msgstr "Conformer Properties" #~ msgid "Properties" #~ msgstr "Properties" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a Cartesian coordinate editor." #~ msgid "Valence" #~ msgstr "Valence" #~ msgid "Partial Charge" #~ msgstr "Partial Charge" #~ msgid "Atom" #~ msgstr "Atom" #~ msgid "Start Atom" #~ msgstr "Start Atom" #~ msgid "Rotatable" #~ msgstr "Rotatable" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Length %1" #~ msgid "Vertex" #~ msgstr "Vertex" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Angle %1" #~ msgid "Angle" #~ msgstr "Angle" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsion %1" #~ msgid "Torsion" #~ msgstr "Torsion" #~ msgid "Conformer" #~ msgstr "Conformer" #~ msgid "Yes" #~ msgstr "Yes" #~ msgid "No" #~ msgstr "No" #~ msgid "Python Terminal" #~ msgstr "Python Terminal" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Interactive python scripting terminal" #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Dalton Input File Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgid "QM Matches" #~ msgstr "QM Matches" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP Selection..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM Selection..." #~ msgid "Delete" #~ msgstr "Delete" #~ msgid "You must make a selection!" #~ msgstr "You must make a selection!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES Conversion Unavailable" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES Format Conversion Not Available!" #~ msgid "Group Name" #~ msgstr "Group Name" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Create input files for the GAMESS quantum chemistry package" #~ msgid "Advanced Settings Changed" #~ msgstr "Advanced Settings Changed" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgid "Advanced Settings Reset" #~ msgstr "Advanced Settings Reset" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgid "Basic Settings Reset" #~ msgstr "Basic Settings Reset" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussian Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussian Input Deck" #~ msgid "Gaussian Running." #~ msgstr "Gaussian Running." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian Not Installed." #~ msgid "The G03 executable, cannot be found." #~ msgstr "The G03 executable, cannot be found." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 did not start. Perhaps it is not installed correctly." #~ msgid "Running Gaussian calculation..." #~ msgstr "Running Gaussian calculation..." #~ msgid "G03 Crashed." #~ msgstr "G03 Crashed." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC Input Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgid "MOPAC Running." #~ msgstr "MOPAC Running." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC Not Installed." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "The MOPAC executable, cannot be found." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC failed to start." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC did not start. Perhaps it is not installed correctly." #~ msgid "Running MOPAC calculation..." #~ msgstr "Running MOPAC calculation..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC Crashed." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "NWChem Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgid "Select SMARTS..." #~ msgstr "Select SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Select by Residue..." #~ msgid "Add Named Selection..." #~ msgstr "Add Named Selection..." #~ msgid "SMARTS Selection" #~ msgstr "SMARTS Selection" #~ msgid "SMARTS pattern to select" #~ msgstr "SMARTS pattern to select" #~ msgid "Select by residue" #~ msgstr "Select by residue" #~ msgid "Residue name" #~ msgstr "Residue name" #~ msgid "There is no current selection." #~ msgstr "There is no current selection." #~ msgid "Add Named Selection" #~ msgstr "Add Named Selection" #~ msgid "Name cannot be empty." #~ msgstr "Name cannot be empty." #~ msgid "There is already a selection with this name." #~ msgstr "There is already a selection with this name." #~ msgid "Selections" #~ msgstr "Selections" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Select atoms, bonds, residues..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Shaders..." #~ msgid "Open a vertex shader source file" #~ msgstr "Open a vertex shader source file" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Vertex shader files (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Open a fragment shader source file" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fragment shader files (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Open a shader parameters file" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Shader parameters files (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL Shaders" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Load and use OpenGL 2.0 GLSL shaders" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensity (arb. units)" #~ msgid "Energy (eV)" #~ msgstr "Energy (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Density of States (states/cell)" #~ msgid "Density of States (states/atom)" #~ msgstr "Density of States (states/atom)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Density of States (states/valence electron)" #~ msgid "Transmittance (%)" #~ msgstr "Transmittance (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbance (%)" #~ msgid "No intensities" #~ msgstr "No intensities" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Wavenumber (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Shift (ppm)" #~ msgid "Activity" #~ msgstr "Activity" #~ msgid "Intensity" #~ msgstr "Intensity" #~ msgid "X Axis" #~ msgstr "X Axis" #~ msgid "Y Axis" #~ msgstr "Y Axis" #~ msgid "&Appearance" #~ msgstr "&Appearance" #~ msgid "E&xport Image" #~ msgstr "E&xport Image" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrared" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&Infrared Spectra Settings" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "&NMR Spectra Settings" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "&Density Of States Settings" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "&UV Settings" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "&CD Settings" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "&Raman Settings" #~ msgid "No data" #~ msgstr "No data" #~ msgid "Dark" #~ msgstr "Dark" #~ msgid "Light" #~ msgstr "Light" #~ msgid "Publication" #~ msgstr "Publication" #~ msgid "Handdrawn" #~ msgstr "Handdrawn" #~ msgid "New Scheme" #~ msgstr "New Scheme" #~ msgid "Confirm Scheme Removal" #~ msgstr "Confirm Scheme Removal" #~ msgid "Really remove current scheme?" #~ msgstr "Really remove current scheme?" #~ msgid "Change Scheme Name" #~ msgstr "Change Scheme Name" #~ msgid "Enter new name for current scheme:" #~ msgstr "Enter new name for current scheme:" #~ msgid "Select Background Color" #~ msgstr "Select Background Colour" #~ msgid "Select Foreground Color" #~ msgstr "Select Foreground Colour" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Select Calculated Spectra Colour" #~ msgid "Select Imported Spectra Color" #~ msgstr "Select Imported Spectra Colour" #~ msgid "Export Calculated Spectrum" #~ msgstr "Export Calculated Spectrum" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Tab Separated Values (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Tab Separated Values" #~ msgid "Comma Separated Values" #~ msgstr "Comma Separated Values" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Import Spectra" #~ msgid "Spectra Import" #~ msgstr "Spectra Import" #~ msgid "Unknown extension: %1" #~ msgstr "Unknown extension: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR data (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole IR data (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Turbomole UV data (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Turbomole CD data (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Data Format" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format:" #~ msgid "Load Spectral Data" #~ msgstr "Load Spectral Data" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Turbomole CD file is improperly formatted : %1" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Save Spectra Image" #~ msgid "&Advanced <<" #~ msgstr "&Advanced <<" #~ msgid "&Advanced >>" #~ msgstr "&Advanced >>" #~ msgid "&Spectra..." #~ msgstr "&Spectra..." #~ msgid "Spectra" #~ msgstr "Spectra" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualize spectral data from quantum chemistry calculations" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Vibrational Analysis" #~ msgid "No vibrational displacements exist." #~ msgstr "No vibrational displacements exist." #~ msgid "Vibration" #~ msgstr "Vibration" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Visualize vibrational modes from quantum chemistry calculations" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Sorting %1 vibrations by frequency..." #~ msgid "Pause" #~ msgstr "Pause" #~ msgid "Super Cell Builder..." #~ msgstr "Super Cell Builder..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Build and display crystallographic super cells" #~ msgid "Orbitals" #~ msgstr "Orbitals" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Nothing" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Electrostatic Potential" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Electron Density" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Molecular Orbital" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Error - undefined type" #~ msgid "Create Surfaces..." #~ msgstr "Create Surfaces..." #~ msgid "Calculating VdW Cube" #~ msgstr "Calculating VdW Cube" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calculating MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Electron Density" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL widget was not correctly initialized in order to make a video" #~ msgid "GL widget has no molecule" #~ msgstr "GL widget has no molecule" #~ msgid "Building video " #~ msgstr "Building video " #~ msgid "Could not run povray." #~ msgstr "Could not run povray." #~ msgid "Could not run mencoder." #~ msgstr "Could not run mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Set Aspect Ratio" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgid "Connect" #~ msgstr "Connect" #~ msgid "Disconnect" #~ msgstr "Disconnect" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Wii Tracking" #~ msgid "Track motion using Wii remotes" #~ msgstr "Track motion using Wii remotes" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgid "Debug Information" #~ msgstr "Debug Information" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "View Size: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Atoms: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Bonds: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: index %1 out of reach." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "File type '%1' is not supported for reading." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "File type for file '%1' is not supported for reading." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Reading molecule with index %1 from file '%2' failed." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: index %1 out of reach." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "File type '%1' is not supported for writing." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "File type for file '%1' is not supported for writing." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Could not open file '%1' for writing." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Could not open file '%1' for reading." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Replacing molecule with index %1 in file '%2' failed." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "File %1 cannot be opened for reading." #~ msgid "File %1 can not be opened for writing." #~ msgstr "File %1 can not be opened for writing." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "Saving molecular file failed - could not rename original file." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "Saving molecular file failed - could not rename new file." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "Saving molecular file failed - could not remove old file." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "File %1 cannot be opened for writing." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Writing conformers to file '%1' failed." #~ msgid "Molecule %1" #~ msgstr "Molecule %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Unknown Python Engine" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: checking " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - script has no 'Engine' class defined" #~ msgid " - no module" #~ msgstr " - no module" #~ msgid "Unknown Python Extension" #~ msgstr "Unknown Python Extension" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: checking " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - script has no 'Extension' class defined" #~ msgid "Unknown Python Tool" #~ msgstr "Unknown Python Tool" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: checking " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - script has no 'Tool' class defined" #~ msgid "Conformer %1" #~ msgstr "Conformer %1" #~ msgid "Tools" #~ msgstr "Tools" #~ msgid "Axis:" #~ msgstr "Axis:" #~ msgid "Align:" #~ msgstr "Align:" #~ msgid "Everything" #~ msgstr "Everything" #~ msgid "Align" #~ msgstr "Align" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Align molecules to a Cartesian axis" #~ msgid "Align Settings" #~ msgstr "Align Settings" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Could not setup force field...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Num Constraints: %1" #~ msgid "Steps per Update:" #~ msgstr "Steps per Update:" #~ msgid "Algorithm:" #~ msgstr "Algorithm:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Molecular Dynamics (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Molecular Dynamics (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Molecular Dynamics (900K)" #~ msgid "Start" #~ msgstr "Start" #~ msgid "Fixed atoms are movable" #~ msgstr "Fixed atoms are movable" #~ msgid "Ignored atoms are movable" #~ msgstr "Ignored atoms are movable" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOpt Molecule" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Automatic optimization of molecular geometry" #~ msgid "AutoOptimization Settings" #~ msgstr "AutoOptimization Settings" #~ msgid "Auto Rotation Tool" #~ msgstr "Auto Rotation Tool" #~ msgid "x rotation:" #~ msgstr "x rotation:" #~ msgid "x rotation" #~ msgstr "x rotation" #~ msgid "y rotation:" #~ msgstr "y rotation:" #~ msgid "y rotation" #~ msgstr "y rotation" #~ msgid "z rotation:" #~ msgstr "z rotation:" #~ msgid "z rotation" #~ msgstr "z rotation" #~ msgid "Automatic rotation of molecules" #~ msgstr "Automatic rotation of molecules" #~ msgid "AutoRotate Settings" #~ msgstr "AutoRotate Settings" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Bond Length: %L1" #~ msgid " Show Angles" #~ msgstr " Show Angles" #~ msgid "Snap-to Threshold: " #~ msgstr "Snap-to Threshold: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Bond Centric Manipulate" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulation of bond lengths, angles, and torsions" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Bond Centric Manipulate Settings" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distance (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Angle: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distance (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Dihedral Angle: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distance(s):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Measure bond lengths, angles, and dihedrals" #~ msgid "Delete Atom" #~ msgstr "Delete Atom" #~ msgid "Draw Bond" #~ msgstr "Draw Bond" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Draw and edit atoms and bonds" #~ msgid "Draw Settings" #~ msgstr "Draw Settings" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Translate, rotate, and adjust atoms and fragments" #~ msgid "Manipulate Settings" #~ msgstr "Manipulate Settings" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Translate, rotate, and zoom around the current view" #~ msgid "Navigate Settings" #~ msgstr "Navigate Settings" #~ msgid "Selection Mode:" #~ msgstr "Selection Mode:" #~ msgid "Atom/Bond" #~ msgstr "Atom/Bond" #~ msgid "Residue" #~ msgstr "Residue" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Select atoms, residues, and molecules" #~ msgid "Symbol" #~ msgstr "Symbol" #~ msgid "Bond Length" #~ msgstr "Bond Length" #~ msgid "Bond Angle" #~ msgstr "Bond Angle" #~ msgid "Dihedral Angle" #~ msgstr "Dihedral Angle" #~ msgid "Z Matrix Editor..." #~ msgstr "Z Matrix Editor..." #~ msgid "Z-Matrix" #~ msgstr "Z-Matrix" #~ msgid "Create/edit a z-matrix" #~ msgstr "Create/edit a z-matrix" #~ msgid "Z-Matrix Settings" #~ msgstr "Z-Matrix Settings" #~ msgid "Residue Color Settings" #~ msgstr "Residue Colour Settings" #~ msgid "Color residues by:" #~ msgstr "Colour residues by:" #~ msgid "Amino Colors" #~ msgstr "Amino Colours" #~ msgid "Shapely Colors" #~ msgstr "Shapely Colours" #~ msgid "Hydrophobicity" #~ msgstr "Hydrophobicity" #~ msgid "Axes:" #~ msgstr "Axes:" #~ msgid "Cartesian Axes" #~ msgstr "Cartesian Axes" #~ msgid "Orthogonal Axes" #~ msgstr "Orthogonal Axes" #~ msgid "Axis 1:" #~ msgstr "Axis 1:" #~ msgid "Axis 2:" #~ msgstr "Axis 2:" #~ msgid "Axis 3:" #~ msgstr "Axis 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origin:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norm" #~ msgid "Preserve vector norms" #~ msgstr "Preserve vector norms" #~ msgid "Atom Radius:" #~ msgstr "Atom Radius:" #~ msgid "Bond Radius:" #~ msgstr "Bond Radius:" #~ msgid "Shape" #~ msgstr "Shape" #~ msgid "Helix" #~ msgstr "Helix" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Sheet" #~ msgid "Loop" #~ msgstr "Loop" #~ msgid "Colors" #~ msgstr "Colours" #~ msgid "Dipole:" #~ msgstr "Dipole:" #~ msgid "Dipole Moment" #~ msgstr "Dipole Moment" #~ msgid "Custom Vector" #~ msgstr "Custom Vector" #~ msgid "Width:" #~ msgstr "Width:" #~ msgid "Cut-off radius:" #~ msgstr "Cut-off radius:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Cut-off angle:" #~ msgid "Rendering Engine:" #~ msgstr "Rendering Engine:" #~ msgid "TextRenderer" #~ msgstr "TextRenderer" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Atom Labels" #~ msgid "Text:" #~ msgstr "Text:" #~ msgid "Color:" #~ msgstr "Colour:" #~ msgid "None" #~ msgstr "None" #~ msgid "Symbol & Number in Group" #~ msgstr "Symbol & Number in Group" #~ msgid "Symbol & Atom number" #~ msgstr "Symbol & Atom number" #~ msgid "Formal charge" #~ msgstr "Formal charge" #~ msgid "Partial charge" #~ msgstr "Partial charge" #~ msgid "Residue number" #~ msgstr "Residue number" #~ msgid "Unique ID" #~ msgstr "Unique ID" #~ msgid "Custom data" #~ msgstr "Custom data" #~ msgid "Change Font" #~ msgstr "Change Font" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Label Shift:" #~ msgid "Bond Labels" #~ msgstr "Bond Labels" #~ msgid "Bond length" #~ msgstr "Bond length" #~ msgid "Bond number" #~ msgstr "Bond number" #~ msgid "Bond order" #~ msgstr "Bond order" #~ msgid "Rendering:" #~ msgstr "Rendering:" #~ msgid "Backbone" #~ msgstr "Backbone" #~ msgid "Lines" #~ msgstr "Lines" #~ msgid "Radius:" #~ msgstr "Radius:" #~ msgid "Include Nitrogens" #~ msgstr "Include Nitrogens" #~ msgid "VdW Opacity:" #~ msgstr "VdW Opacity:" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Render:" #~ msgid "Fill" #~ msgstr "Fill" #~ msgid "Points" #~ msgstr "Points" #~ msgid "Draw Box:" #~ msgstr "Draw Box:" #~ msgid "Style:" #~ msgstr "Style:" #~ msgid "Selected Colors" #~ msgstr "Selected Colours" #~ msgid "Mapped Colors" #~ msgstr "Mapped Colours" #~ msgid "Colors:" #~ msgstr "Colours:" #~ msgid "Positive" #~ msgstr "Positive" #~ msgid "Negative" #~ msgstr "Negative" #~ msgid "Show Atoms" #~ msgstr "Show Atoms" #~ msgid "Animate Trajectory" #~ msgstr "Animate Trajectory" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Loop" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Save as .avi..." #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, coords only" #~ msgid "Priroda Input" #~ msgstr "Priroda Input" #~ msgid "Apply Changes" #~ msgstr "Apply Changes" #~ msgid "Cut All" #~ msgstr "Cut All" #~ msgid "Paste to the End" #~ msgstr "Paste to the End" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgid "(None)" #~ msgstr "(None)" #~ msgid "Sort by " #~ msgstr "Sort by " #~ msgid "Conformer Search" #~ msgstr "Conformer Search" #~ msgid "Method" #~ msgstr "Method" #~ msgid "Number of atoms:" #~ msgstr "Number of atoms:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Number of rotatable bonds:" #~ msgid "Number of conformers" #~ msgstr "Number of conformers" #~ msgid "Systematic rotor search" #~ msgstr "Systematic rotor search" #~ msgid "Random rotor search" #~ msgstr "Random rotor search" #~ msgid "Weighted rotor search" #~ msgstr "Weighted rotor search" #~ msgid "Energy" #~ msgstr "Energy" #~ msgid "Constraints" #~ msgstr "Constraints" #~ msgid "Add Constraints" #~ msgstr "Add Constraints" #~ msgid "Ignore Atom" #~ msgstr "Ignore Atom" #~ msgid "Fix Atom" #~ msgstr "Fix Atom" #~ msgid "Fix Atom X" #~ msgstr "Fix Atom X" #~ msgid "Fix Atom Y" #~ msgstr "Fix Atom Y" #~ msgid "Fix Atom Z" #~ msgstr "Fix Atom Z" #~ msgid "Torsion angle" #~ msgstr "Torsion angle" #~ msgid "Constraint Value" #~ msgstr "Constraint Value" #~ msgid "Atom Indices" #~ msgstr "Atom Indices" #~ msgid "Add" #~ msgstr "Add" #~ msgid "Save" #~ msgstr "Save" #~ msgid "Load" #~ msgstr "Load" #~ msgid "Cartesian" #~ msgstr "Cartesian" #~ msgid "All" #~ msgstr "All" #~ msgid "File Import..." #~ msgstr "File Import..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Attempt to perceive bonds?" #~ msgid "Setup Force Field" #~ msgstr "Setup Force Field" #~ msgid "Force Field" #~ msgstr "Force Field" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Number of steps" #~ msgid "Algorithm" #~ msgstr "Algorithm" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Other" #~ msgid "Insert Fragment..." #~ msgstr "Insert Fragment..." #~ msgid "Peptide Builder" #~ msgstr "Peptide Builder" #~ msgid "Alanine" #~ msgstr "Alanine" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginine" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagine" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Aspartic acid" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cysteine" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Glutamic acid" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamine" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glycine" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidine" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucine" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valine" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tyrosine" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Tryptophan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Threonine" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serine" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Proline" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Phenylalanine" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Methionine" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lysine" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucine" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Amino Acids:" #~ msgid "Sequence (N to C):" #~ msgstr "Sequence (N to C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereochemistry:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N Terminus:" #~ msgid "C Terminus:" #~ msgstr "C Terminus:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Straight Chain" #~ msgid "Alpha Helix" #~ msgstr "Alpha Helix" #~ msgid "Beta Sheet" #~ msgstr "Beta Sheet" #~ msgid "3-10 Helix" #~ msgstr "3-10 Helix" #~ msgid "Pi Helix" #~ msgstr "Pi Helix" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Chain Number:" #~ msgid "The chain number for the new peptide" #~ msgstr "The chain number for the new peptide" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Molecule Properties" #~ msgid "Number of Residues:" #~ msgstr "Number of Residues:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energy (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Dipole Moment (D):" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Advanced" #~ msgid "Control" #~ msgstr "Control" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Data" #~ msgid "Nothing" #~ msgstr "Nothing" #~ msgid "Grid" #~ msgstr "Grid" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray Export" #~ msgid "Select..." #~ msgstr "Select..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Use full scene antialiasing" #~ msgid "Antialias" #~ msgstr "Antialias" #~ msgid "Set the background color to be transparent" #~ msgstr "Set the background color to be transparent" #~ msgid "Alpha transparency" #~ msgstr "Alpha transparency" #~ msgid "Command:" #~ msgstr "Command:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Render the molecule directly using command line POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Keep the POV-Ray source after rendering has completed" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Keep POV-Ray source after rendering" #~ msgid "Path:" #~ msgstr "Path:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Use Form" #~ msgstr "Use Form" #~ msgid "Compute..." #~ msgstr "Compute..." #~ msgid "Dalton Input" #~ msgstr "Dalton Input" #~ msgid "Basics" #~ msgstr "Basics" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Basis Set:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Pople-style" #~ msgid "Jensen's polarization consistent" #~ msgstr "Jensen's polarization consistent" #~ msgid "Dunning's correlation consistent" #~ msgstr "Dunning's correlation consistent" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Core correlating functions" #~ msgid "Diffuse functions" #~ msgstr "Diffuse functions" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Polarization functions" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Direct" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wave-functions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgid "Parallel" #~ msgstr "Parallel" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Functional:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Density:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Charge Integration:" #~ msgid "Grid Specification" #~ msgstr "Grid Specification" #~ msgid "Partitioning Scheme:" #~ msgstr "Partitioning Scheme:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (original)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Grid Quality:" #~ msgid "coarse" #~ msgstr "coarse" #~ msgid "normal" #~ msgstr "normal" #~ msgid "fine" #~ msgstr "fine" #~ msgid "ultrafine" #~ msgstr "ultrafine" #~ msgid "Radial Scheme:" #~ msgstr "Radial Scheme:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Show all functionals" #~ msgid "Property:" #~ msgstr "Property:" #~ msgid "Polarizability" #~ msgstr "Polarizability" #~ msgid "Excitation Energy" #~ msgstr "Excitation Energy" #~ msgid "Frequency Dependent" #~ msgstr "Frequency Dependent" #~ msgid "No. excitations:" #~ msgstr "No. excitations:" #~ msgid "EFP Matches" #~ msgstr "EFP Matches" #~ msgid "Group Label:" #~ msgstr "Group Label:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Advanced Setup" #~ msgid "Hessian" #~ msgstr "Hessian" #~ msgid "Stat Point" #~ msgstr "Stat Point" #~ msgid "System" #~ msgstr "System" #~ msgid "MO Guess" #~ msgstr "MO Guess" #~ msgid "Misc" #~ msgstr "Misc" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Heavy Atom Polarization Functions:" #~ msgid "Read" #~ msgstr "Read" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Diffuse S-Shell on Heavy Atoms" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Diffuse L-Shell on Heavy Atoms" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Double Zeta Valence" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Triple Zeta Valence" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA Valence" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt Valence" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP Type:" #~ msgid "Default" #~ msgstr "Default" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Heavy Atom Polarization Functions:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#light Atom Polarization Functions:" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "Max SCF Iterations:" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "Optimization" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "Saddle Point" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Gradient Extremal" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energy Surface" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Radiative Transition mom." #~ msgid "Spin Orbit" #~ msgstr "Spin Orbit" #~ msgid "Finite Electric Field" #~ msgstr "Finite Electric Field" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Global Optimization" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO Optimization" #~ msgid "Raman Intensities" #~ msgstr "Raman Intensities" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Make EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "None (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF Type:" #~ msgid "Localization Method:" #~ msgstr "Localization Method:" #~ msgid "Exec Type:" #~ msgstr "Exec Type:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinant" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Occupation Restricted Multiple Active Space" #~ msgid "CI Singles" #~ msgstr "CI Singles" #~ msgid "Full Second Order CI" #~ msgstr "Full Second Order CI" #~ msgid "General CI" #~ msgstr "General CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearized CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC with Doubles" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC with Singles and Doubles" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Normal Run" #~ msgid "Check" #~ msgstr "Check" #~ msgid "Debug" #~ msgstr "Debug" #~ msgid "Molecule Charge:" #~ msgstr "Molecule Charge:" #~ msgid "Run Type:" #~ msgstr "Run Type:" #~ msgid "Use MP2" #~ msgstr "Use MP2" #~ msgid "Use DFT" #~ msgstr "Use DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# of Z-Matrix Variables" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Order of Principal Axis:" #~ msgid "Coordinate Type:" #~ msgstr "Coordinate Type:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Unique Cartesian Coords." #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrant internals" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Use Symmetry During Calculation" #~ msgid "Point Group:" #~ msgstr "Point Group:" #~ msgid "Minutes" #~ msgstr "Minutes" #~ msgid "Hours" #~ msgstr "Hours" #~ msgid "Days" #~ msgstr "Days" #~ msgid "Weeks" #~ msgstr "Weeks" #~ msgid "Years" #~ msgstr "Years" #~ msgid "Millenia" #~ msgstr "Millenia" #~ msgid "MegaWords" #~ msgstr "MegaWords" #~ msgid "MegaBytes" #~ msgstr "MegaBytes" #~ msgid "GigaWords" #~ msgstr "GigaWords" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Force Parallel Methods" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Produce \"core\" file upon abort" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memory:" #~ msgid "Diagonalization Method:" #~ msgstr "Diagonalization Method:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Parallel Load Balance Type" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Loop" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Next Value" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Use External Data Representation for Messages" #~ msgid "Initial Guess:" #~ msgstr "Initial Guess:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO Read ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO Saved (DICTNRY)" #~ msgid "Skip" #~ msgstr "Skip" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Rotate Alpha and Beta Orbitals" #~ msgid "Print the Initial Guess" #~ msgstr "Print the Initial Guess" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "GAMESS Interface to Other Codes" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Force a Check Run Type" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK Version)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvate with Water" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Generate UHF Natural Orbitals" #~ msgid "Direct SCF" #~ msgstr "Direct SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Compute Only Changed in Fock Matrix" #~ msgid "Slater exchange" #~ msgstr "Slater exchange" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 exchange" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr correlation" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater exchange + VWN correlation" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE exchange + VWN5 correlation" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE exchange + LYP correlation" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 exchange" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: One-parameter Progressive correlation" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP correlation" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE exchange + OP correlation" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL exchange + VWN5 correlation" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL exchange + LYP correlation" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE exchange + VWN6 correlation" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE exchange +LYP correlation" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE exchange + OP correlation" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgid "Grid-Free" #~ msgstr "Grid-Free" #~ msgid "DFT Functional:" #~ msgstr "DFT Functional:" #~ msgid "Method:" #~ msgstr "Method:" #~ msgid "AO Integral Storage" #~ msgstr "AO Integral Storage" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplicated on Each Node" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distributed Across All Nodes" #~ msgid "words" #~ msgstr "words" #~ msgid "Compute MP2 Properties" #~ msgstr "Compute MP2 Properties" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Integral Retention Cutoff:" #~ msgid "Use Localized Orbitals" #~ msgstr "Use Localized Orbitals" #~ msgid "# of Core Electrons:" #~ msgstr "# of Core Electrons:" #~ msgid "Two Phase Bin Sort" #~ msgstr "Two-Phase Bin Sort" #~ msgid "Segmented Transformation" #~ msgstr "Segmented Transformation" #~ msgid "Analytic" #~ msgstr "Analytic" #~ msgid "Numeric" #~ msgstr "Numeric" #~ msgid "Double Differenced Hessian" #~ msgstr "Double Differenced Hessian" #~ msgid "Print Internal Force Constants" #~ msgstr "Print Internal Force Constants" #~ msgid "Displacement Size:" #~ msgstr "Displacement Size:" #~ msgid "Purify Hessian" #~ msgstr "Purify Hessian" #~ msgid "Frequency Scale Factor:" #~ msgstr "Frequency Scale Factor:" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Initial Hessian" #~ msgid "Guess (+ define)" #~ msgstr "Guess (+ define)" #~ msgid "Read (from $HESS)" #~ msgstr "Read (from $HESS)" #~ msgid "Update Step Size" #~ msgstr "Update Step Size" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Print Orbs at Each Iteration" #~ msgid "Jump Size:" #~ msgstr "Jump Size:" #~ msgid "Stationary Point" #~ msgstr "Stationary Point" #~ msgid "Step Size" #~ msgstr "Step Size" #~ msgid "Maximum:" #~ msgstr "Maximum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Initial:" #~ msgstr "Initial:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Rational Function Optimization" #~ msgid "Quadratic Approximation" #~ msgstr "Quadratic Approximation" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Constrained Optimization" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Recalculate Hessian Every:" #~ msgid "Follow Mode:" #~ msgstr "Follow Mode:" #~ msgid "Maximum Steps:" #~ msgstr "Maximum Steps:" #~ msgid "Basis:" #~ msgstr "Basis:" #~ msgid "Z-matrix" #~ msgstr "Z-matrix" #~ msgid "Gaussian Input" #~ msgstr "Gaussian Input" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Checkpoint:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-matrix (compact)" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO Input" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "MOPAC Input" #~ msgstr "MOPAC Input" #~ msgid "Quartet" #~ msgstr "Quartet" #~ msgid "Quintet" #~ msgstr "Quintet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem Input" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem Input" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "Load Shaders" #~ msgid "Shader Name:" #~ msgstr "Shader Name:" #~ msgid "Vertex Shader:" #~ msgstr "Vertex Shader:" #~ msgid "Fragment Shader:" #~ msgstr "Fragment Shader:" #~ msgid "Assign Shader" #~ msgstr "Assign Shader" #~ msgid "Display Type:" #~ msgstr "Display Type:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgid "&Load data..." #~ msgstr "&Load data..." #~ msgid "&Close" #~ msgstr "&Close" #~ msgid "Calculated Spectra:" #~ msgstr "Calculated Spectra:" #~ msgid "Set Color..." #~ msgstr "Set Color..." #~ msgid "Imported Spectra:" #~ msgstr "Imported Spectra:" #~ msgid "Font:" #~ msgstr "Font:" #~ msgid "Change Font..." #~ msgstr "Change Font..." #~ msgid "Show" #~ msgstr "Show" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "Imports a tsv of experimental spectra to overlay on the plot." #~ msgid "&Import..." #~ msgstr "&Import..." #~ msgid "Background:" #~ msgstr "Background:" #~ msgid "Foreground:" #~ msgstr "Foreground:" #~ msgid "New..." #~ msgstr "New..." #~ msgid "Rename..." #~ msgstr "Rename..." #~ msgid "&Schemes:" #~ msgstr "&Schemes:" #~ msgid "&Export..." #~ msgstr "&Export..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Width:" #~ msgid "&Height" #~ msgstr "&Height" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Save Image..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Use an optimised value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Auto-adjust F&ont Size" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Export Data" #~ msgid "Spectra Tab" #~ msgstr "Spectra Tab" #~ msgid "&Gaussian Width:" #~ msgstr "&Gaussian Width:" #~ msgid "&Label peaks" #~ msgstr "&Label peaks" #~ msgid "Rotatory Strength type:" #~ msgstr "Rotatory Strength type:" #~ msgid "Energy units:" #~ msgstr "Energy units:" #~ msgid "Density units" #~ msgstr "Density units" #~ msgid "Fermi Energy: " #~ msgstr "Fermi Energy: " #~ msgid "States / Cell" #~ msgstr "States / Cell" #~ msgid "States / Atom" #~ msgstr "States / Atom" #~ msgid "States / Valence electron" #~ msgstr "States / Valence electron" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Fermi energy at zero" #~ msgid "Scale integrated DOS" #~ msgstr "Scale integrated DOS" #~ msgid "Show integrated DOS" #~ msgstr "Show integrated DOS" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "&Y Axis Units:" #~ msgid "Scaling Type:" #~ msgstr "Scaling Type:" #~ msgid "Linear" #~ msgstr "Linear" #~ msgid "Relative" #~ msgstr "Relative" #~ msgid "Temperature:" #~ msgstr "Temperature:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Laser Wavenumber:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Threshold:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Nucleus:" #~ msgid "&Reference:" #~ msgstr "&Reference:" #~ msgid "Gaussian &Width:" #~ msgstr "Gaussian &Width:" #~ msgid "Reset &Plot Axes" #~ msgstr "Reset &Plot Axes" #~ msgid "Label Peaks:" #~ msgstr "Label Peaks:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Molecular Vibrations" #~ msgid "Filter: " #~ msgstr "Filter: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Activity (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Show Spectra..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "higher frequency vibrations will show faster movement" #~ msgid "Animation speed set by frequency" #~ msgstr "Animation speed set by frequency" #~ msgid "Display force &vectors" #~ msgstr "Display force &vectors" #~ msgid "&Normalize displacements" #~ msgstr "&Normalize displacements" #~ msgid "Generate Cell" #~ msgstr "Generate Cell" #~ msgid "Create Surfaces" #~ msgstr "Create Surfaces" #~ msgid "Surface Type:" #~ msgstr "Surface Type:" #~ msgid "Color By:" #~ msgstr "Color By:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Low" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Medium" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "High" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Very High" #~ msgid "Iso Value:" #~ msgstr "Iso Value:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "In Display Type:" #~ msgid "New Display" #~ msgstr "New Display" #~ msgid "Advanced..." #~ msgstr "Advanced..." #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Display visual cues" #~ msgstr "Display visual cues" #~ msgid "Python Settings" #~ msgstr "Python Settings" #~ msgid "Z Matrix Editor" #~ msgstr "Z Matrix Editor" #~ msgid "Import Selected Atoms" #~ msgstr "Import Selected Atoms" avogadrolibs-1.93.0/i18n/en_GB.po000066400000000000000000007215111360735163600163720ustar00rootroot00000000000000# English (United Kingdom) translation for avogadro # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same licence as the avogadro package. msgid "" msgstr "" "Project-Id-Version: _avogadro-en_GB\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:31+0000\n" "Last-Translator: Geoff Hutchison \n" "Language-Team: English (United Kingdom) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Input Generator..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Input Generator..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Continue" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Close" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Unknown" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "abinit failed to start." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Abort Calculation" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Warning" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Warning" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Select Solvent" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Output" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Cannot write to file." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Video file not written." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Video file not written." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 #, fuzzy msgid "Write input files" msgstr "Create wrl files" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Configure" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Title" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Filename:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processors:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Calculation" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Theory:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Theory:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Basis" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "Charge" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "Multiplicity" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "No molecule set" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Stop &Animation" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "No Atoms Selected" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hydrogen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lithium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boron" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbon" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogen" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxygen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluorine" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicon" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Phosphorus" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Sulphur" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Chlorine" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potassium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calcium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanium" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Chromium" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganese" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Iron" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nickel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Copper" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinc" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenic" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenium" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromine" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybdenum" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technetium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruthenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Silver" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Tin" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimony" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellurium" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iodine" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Caesium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lanthanum" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodymium" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodymium" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promethium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantalum" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungsten" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhenium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platinum" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Gold" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercury" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Thallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Lead" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuth" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astatine" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Thorium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranium" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovium" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorium" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Browse..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr " Selection failure" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Delete Selected" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "All files" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "untitled" #: qtgui/multiviewwidget.cpp:199 #, fuzzy msgid "Create a new view" msgstr "Create wrl files" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodic Table" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "abinit failed to start." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinit Crashed." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL error" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Unknown" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molecule" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Add Atom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Remove Atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Clear All" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Adjust Hydrogens" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Change Element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Change Element" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formal Charge" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Add Bond" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Remove Atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Delete Bond" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Bond Order" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Change Bond Order" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Snap-to Bonds" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Delete Bond" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Add &Unit Cell" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Remove &Unit Cell" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Fill Unit Cell" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Wrap Atoms to Cell" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Scale Unit Cell Volume" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super Cell" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Rotate to Standard Orientation" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Reduce to Primitive Cell" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Symmetrise" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Fill Unit Cell" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Reduce to Asymmetric Unit" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&File" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Export" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Thresholds" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Orca Output File" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensions" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr " Error " #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problem reading traj file %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL error" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problem reading traj file %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Open WFN File" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Open WFN File" #: qtplugins/apbs/apbsdialog.cpp:103 #, fuzzy msgid "PQR Files (*.pqr)" msgstr "VRML files (*wrl)" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Error" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Save Input Deck" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "LAMMPS Input" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Success!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Input file comments" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Show Multiple Bonds" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hydrogens" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Ball and Stick" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Renders atom and bond labels" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Bond Centric Manipulation" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Bond Centric Manipulation" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "End Atom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Remove Hydrogens" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Build" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Bond" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Tolerance for symmetry operations..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 #, fuzzy msgid "Connection failed" msgstr " Selection failure" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Filename:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Cartesian coordinates editor" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Cartesian coordinates editor" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Revert Changes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Invalid Filename" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Element name" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Element symbol" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Element symbol" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Invalid Filename" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atom number" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Invalid Filename" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Set Cartesian Coordinates" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Custom" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Andres Montejo Martinez,DiegoJ,Edgardo Fredz," "Enterhase,Feder Sáiz,Federico Vera,Gabriel Ruiz,Geoff Hutchison,Gothmog," "Javier García Díaz,Luis J. Claros,Pablo Catarecha,Rogelio Castillo A.," "cocoloco, ,Launchpad Contributions:,Gabriel Ruiz,Geoff Hutchison,Jen Ockwell," "Marcus D. Hanwell,kuede, ,Launchpad Contributions:,Avogadro Team, ,Launchpad " "Contributions:,Avogadro Team,Brian Burns,Geoff Hutchison,Marcus D. Hanwell, ," "Launchpad Contributions:,Avogadro Team,Brian Burns,Geoff Hutchison,Marcus D. " "Hanwell,ascenseur, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Geoff " "Hutchison,Marcus D. Hanwell,ascenseur, ,Launchpad Contributions:,Avogadro " "Team,Brian Burns,Geoff Hutchison,Marcus D. Hanwell,ascenseur, ,Launchpad " "Contributions:,Avogadro Team,Brian Burns,Geoff Hutchison,Ken Sharp,Marcus D. " "Hanwell,ascenseur, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Geoff " "Hutchison,Ken Sharp,Marcus D. Hanwell,ascenseur, ,Launchpad Contributions:," "Avogadro Team,Brian Burns,Geoff Hutchison,Ken Sharp,Marcus D. Hanwell," "ascenseur, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Geoff " "Hutchison,Ken Sharp,Marcus D. Hanwell,ascenseur, ,Launchpad Contributions:," "Andi Chandler,Anthony Harrington,Avogadro Team,Brian Burns,Chris Woollard," "Geoff Hutchison,Ken Sharp,Marcus D. Hanwell,ascenseur, ,Launchpad " "Contributions:,Andi Chandler,Anthony Harrington,Avogadro Team,Brian Burns," "Chris Woollard,Geoff Hutchison,Ken Sharp,Marcus D. Hanwell,ascenseur, ," "Launchpad Contributions:,Andi Chandler,Anthony Harrington,Avogadro Team," "Brian Burns,Chris Woollard,Geoff Hutchison,Ken Sharp,Marcus D. Hanwell," "ascenseur" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ with numbers" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Cartesian coordinates" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP Information" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP Information" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Turbomole Input" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Copy All" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Custom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Clear All" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Could not set format: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Could not set format: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "I&mport Crystal from Clipboard..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Fill Unit Cell" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Fill Unit Cell" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Wrap Atoms to Cell" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Rotate to Standard Orientation" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Scale Cell To &Volume..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super Cell" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Reduce Cell (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Crystal..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Remove &Unit Cell" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Add &Unit Cell" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "This unit cell is already reduced to its canonical Niggli representation." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Crystal..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Renders atom and bond labels" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Cannot Parse Text" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Custom Axes" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Draw" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Draw Atom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Change Bond Order" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Remove Atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distance" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distance (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Other..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOptimization" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Single" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Double" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triple" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problem reading traj file %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Input Generator..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS Input" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Single Point Energy" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Equilibrium Geometry" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Transition State" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frequencies" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Core Potential" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Water" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doublet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dication" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Cation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutral" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS Input Deck" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Abort Calculation" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Adjust Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Add Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Remove Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Remove Hydrogens" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hydrogens" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hydrogens" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Import" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Renders atom and bond labels" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Insert" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "No Description" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molecule" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Generate..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipulate" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipulate Atom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Measure" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Dihedral:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Measure" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Renders molecular isosurface meshes" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&View" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Molecular Properties" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigate" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigate" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Chemical Name" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Chemical structure to download." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Network Download Failed" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Network timeout or other error." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Specified molecule could not be found: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Network Download Failed" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimise Geometry" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometry Optimization" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Perceive bonds?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Add Hydrogens" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Add Hydrogens for pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Remove Hydrogens" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Reading a molecule from file '%1' failed." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "A problem occurred while writing file %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimise Geometry" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Generate..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Trajectory file %1 disagrees on the number of atoms in the present molecule" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimise Geometry" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Add Hydrogens" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "Generate Orca Input..." #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Add Hydrogens for pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Remove Hydrogens" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parameters:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Dynamic Bonds" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Remove..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Export Vector Graphics" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Cannot read file %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "I'm an error message!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr " Error " #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Save Video File" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Render using POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Renders primitives using QTAIM properties" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Molecular Graph..." #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Molecular Graph with Lone Pairs..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Atomic Charge..." #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensions" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Open WFN File" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "WFN files (*.wfn);;All files (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "QTAIM extension" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Create input files for quantum chemistry packages" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calculating Electron Density" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calculating Electron Density" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calculate and visualise molecular orbitals" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Reset" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "File Format:" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Delete All" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selection" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Invert Selection" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " valence electrons" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Select" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Select" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Selection" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selection" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Perceive Space group" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "Symmetrise" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Reduce to Asymmetric Unit" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Tolerance:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Space &group" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Space group perception failed.\n" "\n" "Would you like to try again with a different tolerance?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Space group perception failed.\n" "\n" "Would you like to try again with a different tolerance?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Space group perception failed.\n" "\n" "Would you like to try again with a different tolerance?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Space group perception failed.\n" "\n" "Would you like to try again with a different tolerance?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "SCF tolerance:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "International" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Hall" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Select spacegroup" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Space &group" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrations" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Spectra Visualisation" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Display &fractional coordinates" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Type" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "Symmetry Properties..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Symmetry" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Symmetry Properties" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Renders molecular dipole moments" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "∞" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Render" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "VRML" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Render using POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Wireframe" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Renders molecules as sticks" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Dialogue" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Form" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Selection Settings" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Abort Calculation" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Shader Program:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processors:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Hide when finished" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Hide when finished" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Change Element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Dalton Input File" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "Generate Orca Input..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Par File:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Force Field:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Par File:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Dalton Input File" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Save Input Deck" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Success!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Load File" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Load File" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Measure Settings" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Filename:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigate" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigate" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigate" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Filename:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Files of type:" msgstr "File Format:" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Cancel" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Coordinate Format:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Reset" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distance" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Format:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Revert Changes" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Apply" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Import Crystal" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Super Cell Parameters" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Super Cell Options" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A repeat:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B repeat:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C repeat:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Set Unit Cell Colour" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Cell Matrix" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Fractional Cell Matrix (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Translate Atoms" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Apply" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Hide" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Scale Unit Cell Volume" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Enter new volume:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Scaling Factor" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "TextLabel" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Bond Order:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS Input" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Basic Setup" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "In:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicity:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "With:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Title:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Charge:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calculate:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Filename:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Reset All" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Defaults" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Load File..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "name" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "No Description" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molecular Weight (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Chemical Formula:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Number of Atoms:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Number of Bonds:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometry Optimization" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimisation Method:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Force Field:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimisation Method:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Steepest Descent" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Conjugate Gradients" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutoRotate" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosurface = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Electrostatic Potential" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "steps" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Gradient Convergence Criteria:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergence" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Time Limit:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Units" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Number of Bonds:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Wavelength (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Delete Selected" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Critical Point Radius:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Bond Path Radius:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalent" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Constant Size" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacity:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Medium" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Very Low" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Low" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "High" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Very High" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "&Isosurface Value:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolution:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calculate" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrations" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitude:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Start &Animation" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Stop &Animation" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molecule" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Symmetry" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Options" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Symmetry Properties" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Space &group" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "Tolerance:" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "Tight" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "Normal" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "Loose" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "Detect Symmetry" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Andres Montejo Martinez,DiegoJ,Edgardo Fredz," "Enterhase,Feder Sáiz,Federico Vera,Gabriel Ruiz,Geoff Hutchison,Gothmog," "Javier García Díaz,Luis J. Claros,Pablo Catarecha,Rogelio Castillo A.," "cocoloco, ,Launchpad Contributions:,Gabriel Ruiz,Geoff Hutchison,Jen Ockwell," "Marcus D. Hanwell,kuede, ,Launchpad Contributions:,Avogadro Team, ,Launchpad " "Contributions:,Avogadro Team,Brian Burns,Geoff Hutchison,Marcus D. Hanwell, ," "Launchpad Contributions:,Avogadro Team,Brian Burns,Geoff Hutchison,Marcus D. " "Hanwell,ascenseur, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Geoff " "Hutchison,Marcus D. Hanwell,ascenseur, ,Launchpad Contributions:,Avogadro " "Team,Brian Burns,Geoff Hutchison,Marcus D. Hanwell,ascenseur, ,Launchpad " "Contributions:,Avogadro Team,Brian Burns,Geoff Hutchison,Ken Sharp,Marcus D. " "Hanwell,ascenseur, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Geoff " "Hutchison,Ken Sharp,Marcus D. Hanwell,ascenseur, ,Launchpad Contributions:," "Avogadro Team,Brian Burns,Geoff Hutchison,Ken Sharp,Marcus D. Hanwell," "ascenseur, ,Launchpad Contributions:,Avogadro Team,Brian Burns,Geoff " "Hutchison,Ken Sharp,Marcus D. Hanwell,ascenseur, ,Launchpad Contributions:," "Andi Chandler,Anthony Harrington,Avogadro Team,Brian Burns,Chris Woollard," "Geoff Hutchison,Ken Sharp,Marcus D. Hanwell,ascenseur, ,Launchpad " "Contributions:,Andi Chandler,Anthony Harrington,Avogadro Team,Brian Burns," "Chris Woollard,Geoff Hutchison,Ken Sharp,Marcus D. Hanwell,ascenseur, ," "Launchpad Contributions:,Andi Chandler,Anthony Harrington,Avogadro Team," "Brian Burns,Chris Woollard,Geoff Hutchison,Ken Sharp,Marcus D. Hanwell," "ascenseur" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,Nathan_chud@hotmail.com,diegojromerolopez@gmail.com,medeshago@gmail.com," "patricio.oshee@gmail.com,federsaiz@googlemail.com,,debianmaster@gmail." "com,,,,,pczoido@gmail.com,,jalvarezrom@gmail.com,,,debianmaster@gmail.com,," "jenfraggleubuntu@googlemail.com,,,,,avogadro-devel@lists.sourceforge.net,,," "avogadro-devel@lists.sourceforge.net,bburns@aundae.com,,,,,avogadro-" "devel@lists.sourceforge.net,bburns@aundae.com,,,joseph.odell@googlemail." "com,,,avogadro-devel@lists.sourceforge.net,bburns@aundae.com,,,joseph." "odell@googlemail.com,,,avogadro-devel@lists.sourceforge.net,bburns@aundae." "com,,,joseph.odell@googlemail.com,,,avogadro-devel@lists.sourceforge.net," "bburns@aundae.com,,,,joseph.odell@googlemail.com,,,avogadro-devel@lists." "sourceforge.net,bburns@aundae.com,,,,joseph.odell@googlemail.com,,,avogadro-" "devel@lists.sourceforge.net,bburns@aundae.com,,,,joseph.odell@googlemail." "com,,,avogadro-devel@lists.sourceforge.net,bburns@aundae.com,,,,joseph." "odell@googlemail.com,,,,untaintableangel@ubuntu.com,avogadro-devel@lists." "sourceforge.net,bburns@aundae.com,cwoollard@gmail.com,,,,joseph." "odell@googlemail.com,,,,untaintableangel@ubuntu.com,avogadro-devel@lists." "sourceforge.net,bburns@aundae.com,cwoollard@gmail.com,,,,joseph." "odell@googlemail.com,,,,,avogadro-devel@lists.sourceforge.net,bburns@aundae." "com,cwoollard@gmail.com,,,,joseph.odell@googlemail.com" #~ msgid "Color by Index" #~ msgstr "Colour by Index" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Colour by Index (red, orange, yellow, green, blue, violet)." #~ msgid "Color by Partial Charge" #~ msgstr "Colour by Partial Charge" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Colour by atomic partial charge (blue = positive, red = negative." #~ msgid "Custom Color:" #~ msgstr "Custom Colour:" #~ msgid "Custom Color" #~ msgstr "Custom Colour" #~ msgid "Set custom colors for objects" #~ msgstr "Set custom colours for objects" #~ msgid "Color by Distance" #~ msgstr "Colour by Distance" #~ msgid "Color by distance from the first atom." #~ msgstr "Colour by distance from the first atom." #~ msgid "Color by Element" #~ msgstr "Colour by Element" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Colour by Element (carbon = grey, oxygen = red, ...)." #~ msgid "Color by Residue" #~ msgstr "Colour by Residue" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Colour by Residue (amino acid type, hydrophobicity, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS Pattern:" #~ msgid "Highlight Color:" #~ msgstr "Highlight Color:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Colour by SMARTS Pattern" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Highlight particular features which match a SMARTS pattern." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Engines" #~ msgid "Axes" #~ msgstr "Axes" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Renders the x, y and z axes at the origin" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgid "Cartoon" #~ msgstr "Cartoon" #~ msgid "Renders protein secondary structure" #~ msgstr "Renders protein secondary structure" #~ msgid "Dipole" #~ msgstr "Dipole" #~ msgid "Force" #~ msgstr "Force" #~ msgid "Renders force displacements on atoms" #~ msgstr "Renders force displacements on atoms" #~ msgid "Hydrogen Bond" #~ msgstr "Hydrogen Bond" #~ msgid "Renders hydrogen bonds" #~ msgstr "Renders hydrogen bonds" #~ msgid "Select Atom Labels Color" #~ msgstr "Select Atom Labels Color" #~ msgid "Select Bond Labels Color" #~ msgstr "Select Bond Labels Colour" #~ msgid "Select Atom Labels Font" #~ msgstr "Select Atom Labels Font" #~ msgid "Select Bond Labels Font" #~ msgstr "Select Bond Labels Font" #~ msgid "Label" #~ msgstr "Label" #~ msgid "Polygon" #~ msgstr "Polygon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgid "Ribbon" #~ msgstr "Ribbon" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Renders protein backbones as ribbons" #~ msgid "Ring" #~ msgstr "Ring" #~ msgid "Renders rings with colored planes" #~ msgstr "Renders rings with coloured planes" #~ msgid "Simple Wireframe" #~ msgstr "Simple Wireframe" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Renders bonds as wires (lines), ideal for large molecules" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waals Spheres" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Renders atoms as Van der Waals spheres" #~ msgid "Stick" #~ msgstr "Stick" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Electron density, isosurface = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosurface = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgid "Trajectory files" #~ msgstr "Trajectory files" #~ msgid "DL-POLY HISTORY files" #~ msgstr "DL-POLY HISTORY files" #~ msgid "Open Trajectory File" #~ msgstr "Open Trajectory File" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "video files (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Adding .avi extension" #~ msgid "Animation..." #~ msgstr "Animation..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Cannot read file format of file %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Read trajectory file %1 failed." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Must specify a valid .avi file name" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "GL widget was not correctly initialised in order to save video" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Invalid video filename. Must include full directory path" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Could not determine format from filename: %1" #~ msgid "Animation" #~ msgstr "Animation" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animate trajectories, reactions, and vibrations." #~ msgid "Cartesian Editor" #~ msgstr "Cartesian Editor" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgid "Cartesian Editor..." #~ msgstr "Cartesian Editor..." #~ msgid "Cartesian editor" #~ msgstr "Cartesian editor" #~ msgid "Number of atoms: %1" #~ msgstr "Number of atoms: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Number of rotatable bonds: %1" #~ msgid "Add constraint" #~ msgstr "Add constraint" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "Your molecule must contain at least one atom to add a constraint" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgid "&Crystallography" #~ msgstr "&Crystallography" #~ msgid "&Reduce" #~ msgstr "&Reduce" #~ msgid "&Settings" #~ msgstr "&Settings" #~ msgid "&Length Unit" #~ msgstr "&Length Unit" #~ msgid "&Angle Unit" #~ msgstr "&Angle Unit" #~ msgid "&Coordinate Display" #~ msgstr "&Coordinate Display" #~ msgid "Coordinate &Preservation" #~ msgstr "Coordinate &Preservation" #~ msgid "&Matrix Display" #~ msgstr "&Matrix Display" #~ msgid "Hide &Editors" #~ msgstr "Hide &Editors" #~ msgid "Show &Editors" #~ msgstr "Show &Editors" #~ msgid "Hide &Property Display" #~ msgstr "Hide &Property Display" #~ msgid "Show &Property Display" #~ msgstr "Show &Property Display" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Lattice Type: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Space group: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Unit cell volume: %L1%2" #~ msgid "Undefined" #~ msgstr "Undefined" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triclinic" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoclinic" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Orthorhombic" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonal" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Rhombohedral" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hexagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Cubic" #~ msgid "Paste Crystal" #~ msgstr "Paste Crystal" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Niggli-reduction failed. The input structure's lattice is confusing the " #~ "Niggli-reduction algorithm. Try making a small perturbation (approx. 2 " #~ "orders of magnitude smaller than the tolerance) to the input lattices and " #~ "try again." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgid "&Translate Atoms..." #~ msgstr "&Translate Atoms..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Rotate To Standard &Orientation" #~ msgid "&Slab..." #~ msgstr "&Slab..." #~ msgid "Perceive Space&group..." #~ msgstr "Perceive Space &group..." #~ msgid "Set &Spacegroup..." #~ msgstr "Set &Space group..." #~ msgid "&Fill Unit Cell" #~ msgstr "&Fill Unit Cell" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Fill the unit cell using current space group." #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Reduce to &Asymmetric Unit" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Sy&mmetrise Crystal" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Reduce Cell (&Primitive)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometre" #~ msgid "&Picometer" #~ msgstr "&Picometre" #~ msgid "&Degree" #~ msgstr "&Degree" #~ msgid "&Radian" #~ msgstr "&Radian" #~ msgid "Display &cartesian coordinates" #~ msgstr "Display &cartesian coordinates" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Preserve &Cartesian Coordinates During Cell Modification" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Preserve &Fractional Coordinates During Cell Modification" #~ msgid "Display &cartesian matrix" #~ msgstr "Display &cartesian matrix" #~ msgid "Display &fractional matrix" #~ msgstr "Display &fractional matrix" #~ msgid "Display as &row vectors" #~ msgstr "Display as &row vectors" #~ msgid "Display as &column vectors" #~ msgstr "Display as &column vectors" #~ msgid "&Crystal View Options..." #~ msgstr "&Crystal View Options..." #~ msgid "" #~ "

Perceived spacegroup %1, Hall symbol %2, Hermann-Mauguin symbol %3." #~ "

Cell can be symmetrized into a conventional setting, do you wish to " #~ "do so? Actions that make use of symmetry (e.g. supercell builder) require " #~ "this.

" #~ msgstr "" #~ "

Perceived spacegroup %1, Hall symbol %2, Hermann-Mauguin symbol %3." #~ "

Cell can be symmetrised into a conventional setting, do you wish to " #~ "do so? Actions that make use of symmetry (e.g. supercell builder) require " #~ "this.

" #~ msgid "Set Spacegroup" #~ msgstr "Set Space group" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "There is not a space group set for this document.\n" #~ "\n" #~ "Would you like to set a space group now?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Space group P1 detected -- cannot symmetrise to this space group.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgid "Symmetrize Crystal" #~ msgstr "Symmetrise Crystal" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Wrap Atoms To Cell" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Reduce to Niggli Cell" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "Select tolerance in current cartesian units:" #~ msgid "Crystallography" #~ msgstr "Crystallography" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Construct and analyse periodic structures." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "VASP Format\n" #~ msgid "Bad Compostion" #~ msgstr "Bad Compostion" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgid "Cartesian Coordinates" #~ msgstr "Cartesian Coordinates" #~ msgid "Fractional Coordinates" #~ msgstr "Fractional Coordinates" #~ msgid "Set Fractional Coordinates" #~ msgstr "Set Fractional Coordinates" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Cell Matrix (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Set Unit Cell Matrix" #~ msgid "Set Unit Cell Params" #~ msgstr "Set Unit Cell Params" #~ msgid "Working..." #~ msgstr "Working..." #~ msgid "Build" #~ msgstr "Build" #~ msgid "Cut Slab From Crystal" #~ msgstr "Cut Slab From Crystal" #~ msgid "No GLWidget?" #~ msgstr "No GLWidget?" #~ msgid "Please select one or more atoms." #~ msgstr "Please select one or more atoms." #~ msgid "Trajectory..." #~ msgstr "Trajectory..." #~ msgid "Open chemical file format" #~ msgstr "Open chemical file format" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Chemical files (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Open parameter file" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Chemical files (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Import Trajectory" #~ msgid "Import trajectory files" #~ msgstr "Import trajectory files" #~ msgid "Setup Force Field..." #~ msgstr "Setup Force Field..." #~ msgid "Calculate Energy" #~ msgstr "Calculate Energy" #~ msgid "Conformer Search..." #~ msgstr "Conformer Search..." #~ msgid "Constraints..." #~ msgstr "Constraints..." #~ msgid "Ignore Selection" #~ msgstr "Ignore Selection" #~ msgid "Fix Selected Atoms" #~ msgstr "Fix Selected Atoms" #~ msgid "&Molecular Mechanics" #~ msgstr "&Molecular Mechanics" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Energy = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Geometric Optimization" #~ msgid "Forcefield Optimization" #~ msgstr "Forcefield Optimization" #~ msgid "Systematic Rotor Search" #~ msgstr "Systematic Rotor Search" #~ msgid "Random Rotor Search" #~ msgstr "Random Rotor Search" #~ msgid "Weighted Rotor Search" #~ msgstr "Weighted Rotor Search" #~ msgid "Genetic Algorithm Search" #~ msgstr "Genetic Algorithm Search" #~ msgid "ForceField" #~ msgstr "ForceField" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimise molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgid "&Vector Graphics..." #~ msgstr "&Vector Graphics..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Common vector image formats" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Vector graphics export" #~ msgid "Change H to Methyl" #~ msgstr "Change H to Methyl" #~ msgid "H to Methyl" #~ msgstr "H to Methyl" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transform hydrogens to methyl groups" #~ msgid "Add or remove hydrogens" #~ msgstr "Add or remove hydrogens" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "Insert DNA" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Uracil" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Thymine" #~ msgid "Insert DNA/RNA" #~ msgstr "Insert DNA/RNA" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Insert DNA/RNA chains" #~ msgid "Cannot read molecular file %1." #~ msgstr "Cannot read molecular file %1." #~ msgid "Fragment..." #~ msgstr "Fragment..." #~ msgid "Insert SMILES" #~ msgstr "Insert SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Insert SMILES fragment:" #~ msgid "Insert Fragment" #~ msgstr "Insert Fragment" #~ msgid "Insert Crystal" #~ msgstr "Insert Crystal" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Insert molecular fragments for building larger molecules" #~ msgid "Peptide..." #~ msgstr "Peptide..." #~ msgid "Insert Peptide" #~ msgstr "Insert Peptide" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Insert oligopeptide sequences" #~ msgid "Invert Chirality" #~ msgstr "Invert Chirality" #~ msgid "InvertChiral" #~ msgstr "InvertChiral" #~ msgid "Invert chiral centers" #~ msgstr "Invert chiral centres" #~ msgid "Molecule Properties..." #~ msgstr "Molecule Properties..." #~ msgid "&Properties" #~ msgstr "&Properties" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "unknown" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Estimated Dipole Moment (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(pending)" #~ msgid "Display standard molecular properties." #~ msgstr "Display standard molecular properties." #~ msgid "Fetch from PDB..." #~ msgstr "Fetch from PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Fetch by chemical name..." #~ msgid "Fetch from URL..." #~ msgstr "Fetch from URL..." #~ msgid "PDB Entry" #~ msgstr "PDB Entry" #~ msgid "PDB entry to download." #~ msgstr "PDB entry to download." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL of molecule to download." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Specified molecule could not be loaded: %1" #~ msgid "Network Fetch" #~ msgstr "Network Fetch" #~ msgid "Fetch molecule files over the network." #~ msgstr "Fetch molecule files over the network." #~ msgid "OrcaExtension Warning" #~ msgstr "OrcaExtension Warning" #~ msgid "OrcaExtension" #~ msgstr "OrcaExtension" #~ msgid " No vibration data found!" #~ msgstr " No vibration data found!" #~ msgid " No vibration data found or molecule changed outside Orca Plugin!" #~ msgstr " No vibration data found or molecule changed outside Orca Plugin!" #~ msgid "Selected displacement data don't fit to the actual molecule!" #~ msgstr "Selected displacement data doesn't fit to the actual molecule!" #~ msgid "extended Geometry File" #~ msgstr "extended Geometry File" #~ msgid "All Files" #~ msgstr "All Files" #~ msgid "Read Orca Outputfile" #~ msgstr "Read Orca Outputfile" #~ msgid "no file found" #~ msgstr "no file found" #~ msgid "Somethings wrong in the file structure" #~ msgstr "Somethings wrong in the file structure" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "Somethings wrong in the file structure - unitcells" #~ msgid "Something is wrong in the IR output! " #~ msgstr "Something is wrong in the IR output! " #~ msgid "Something is wrong in the raman output! " #~ msgstr "Something is wrong in the raman output! " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "Something is wrong in the orbital energy output! " #~ msgid "No geometry found in file!" #~ msgstr "No geometry found in file!" #~ msgid "" #~ "Molecule of the file does not fit the actual molecule structure! \n" #~ " Would you like to override the actual molecule?" #~ msgstr "" #~ "Molecule of the file does not fit the actual molecule structure! \n" #~ " Would you like to override the actual molecule?" #~ msgid "Could not read file!" #~ msgstr "Could not read file!" #~ msgid "Analyse Orca Output..." #~ msgstr "Analyse Orca Output..." #~ msgid "&Orca" #~ msgstr "&Orca" #~ msgid "Orca Test Example" #~ msgstr "Orca Test Example" #~ msgid "Provides a dialog box with the words \"H...\"." #~ msgstr "Provides a dialogue box with the words \"H...\"." #~ msgid "ORCA Input Deck" #~ msgstr "ORCA Input Deck" #~ msgid "Show Preview" #~ msgstr "Show Preview" #~ msgid "Hide Preview" #~ msgstr "Hide Preview" #~ msgid "RijCosX option not available for the selected DFT functional!" #~ msgstr "RijCosX option not available for the selected DFT functional!" #~ msgid "" #~ "RijCosX not available for the selected DFT functional! \n" #~ "RijCosX option reset!" #~ msgstr "" #~ "RijCosX not available for the selected DFT functional! \n" #~ "RijCosX option reset!" #~ msgid "" #~ "Unsaved changes are made in the actual preview text! \n" #~ " Generating a new preview will lose all changes! \n" #~ " Would you like to override them anyway?" #~ msgstr "" #~ "Unsaved changes are made in the actual preview text! \n" #~ " Generating a new preview will lose all changes! \n" #~ " Would you like to override them anyway?" #~ msgid "Intensities" #~ msgstr "Intensities" #~ msgid " OrcaSpectra::No vibration data found!" #~ msgstr " OrcaSpectra::No vibration data found!" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Save POV-Ray rendered image" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Image files (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "No filename supplied." #~ msgid "No valid filename was supplied." #~ msgstr "No valid filename was supplied." #~ msgid "Does not compute." #~ msgstr "Does not compute." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray failed to start." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgid "Atom Properties..." #~ msgstr "Atom Properties..." #~ msgid "Bond Properties..." #~ msgstr "Bond Properties..." #~ msgid "Angle Properties..." #~ msgstr "Angle Properties..." #~ msgid "Torsion Properties..." #~ msgstr "Torsion Properties..." #~ msgid "Conformer Properties..." #~ msgstr "Conformer Properties..." #~ msgid "Atom Properties" #~ msgstr "Atom Properties" #~ msgid "Bond Properties" #~ msgstr "Bond Properties" #~ msgid "Angle Properties" #~ msgstr "Angle Properties" #~ msgid "Torsion Properties" #~ msgstr "Torsion Properties" #~ msgid "Conformer Properties" #~ msgstr "Conformer Properties" #~ msgid "Properties" #~ msgstr "Properties" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a Cartesian coordinate editor." #~ msgid "Valence" #~ msgstr "Valence" #~ msgid "Partial Charge" #~ msgstr "Partial Charge" #~ msgid "Atom" #~ msgstr "Atom" #~ msgid "Start Atom" #~ msgstr "Start Atom" #~ msgid "Rotatable" #~ msgstr "Rotatable" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Conformer %1\n" #~ "Length %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Length %1" #~ msgid "Vertex" #~ msgstr "Vertex" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Angle %1" #~ msgid "Angle" #~ msgstr "Angle" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsion %1" #~ msgid "Torsion" #~ msgstr "Torsion" #~ msgid "Energy (kJ/mol)" #~ msgstr "Energy (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Conformer" #~ msgid "Yes" #~ msgstr "Yes" #~ msgid "No" #~ msgstr "No" #~ msgid "Python Terminal" #~ msgstr "Python Terminal" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Interactive python scripting terminal" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Abinit Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgid "Abinit_Input_Deck" #~ msgstr "Abinit_Input_Deck" #~ msgid "Abinit Running." #~ msgstr "Abinit Running." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit Not Installed." #~ msgid "The abinit executable cannot be found." #~ msgstr "The abinit executable cannot be found." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "abinit did not start. Perhaps it is not installed correctly." #~ msgid "Running Abinit calculation..." #~ msgstr "Running Abinit calculation..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Dalton Input File Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgid "QM Matches" #~ msgstr "QM Matches" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP Selection..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM Selection..." #~ msgid "Delete" #~ msgstr "Delete" #~ msgid "You must make a selection!" #~ msgstr "You must make a selection!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES Conversion Unavailable" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES Format Conversion Not Available!" #~ msgid "Group Name" #~ msgstr "Group Name" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Create input files for the GAMESS quantum chemistry package" #~ msgid "Advanced Settings Changed" #~ msgstr "Advanced Settings Changed" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgid "Advanced Settings Reset" #~ msgstr "Advanced Settings Reset" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgid "Basic Settings Reset" #~ msgstr "Basic Settings Reset" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "GAMESS-UK Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "GAMESS-UK Input Deck" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussian Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussian Input Deck" #~ msgid "Gaussian Running." #~ msgstr "Gaussian Running." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian Not Installed." #~ msgid "The G03 executable, cannot be found." #~ msgstr "The G03 executable cannot be found." #~ msgid "G03 failed to start." #~ msgstr "G03 failed to start." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 did not start. Perhaps it is not installed correctly." #~ msgid "Running Gaussian calculation..." #~ msgstr "Running Gaussian calculation..." #~ msgid "G03 Crashed." #~ msgstr "G03 Crashed." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian did not run correctly. Perhaps it is not correctly installed." #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Input File Generators" #~ msgstr "Input File Generators" #~ msgid "Lammps Input Deck Generator Warning" #~ msgstr "Lammps Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgid "Lammps Input" #~ msgstr "Lammps Input" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Molpro Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgid "Molpro Input Deck" #~ msgstr "Molpro Input Deck" #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC Input Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgid "MOPAC Input Deck" #~ msgstr "MOPAC Input Deck" #~ msgid "MOPAC Running." #~ msgstr "MOPAC Running." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "MOPAC is already running. Wait until the previous calculation has " #~ "finished." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC Not Installed." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "The MOPAC executable, cannot be found." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC failed to start." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC did not start. Perhaps it is not installed correctly." #~ msgid "Running MOPAC calculation..." #~ msgstr "Running MOPAC calculation..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC Crashed." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "NWChem Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgid "NWChem Input Deck" #~ msgstr "NWChem Input Deck" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Psi4 Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgid "Psi4 Input Deck" #~ msgstr "Psi4 Input Deck" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgid "QChem Input Deck" #~ msgstr "QChem Input Deck" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "TeraChem Input Deck Generator Warning" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgid "TeraChem Input Deck" #~ msgstr "TeraChem Input Deck" #~ msgid "Select SMARTS..." #~ msgstr "Select SMARTS..." #~ msgid "Select by Element..." #~ msgstr "Select by Element..." #~ msgid "Select by Residue..." #~ msgstr "Select by Residue..." #~ msgid "Add Named Selection..." #~ msgstr "Add Named Selection..." #~ msgid "SMARTS Selection" #~ msgstr "SMARTS Selection" #~ msgid "SMARTS pattern to select" #~ msgstr "SMARTS pattern to select" #~ msgid "Select by residue" #~ msgstr "Select by residue" #~ msgid "Residue name" #~ msgstr "Residue name" #~ msgid "There is no current selection." #~ msgstr "There is no current selection." #~ msgid "Add Named Selection" #~ msgstr "Add Named Selection" #~ msgid "Name cannot be empty." #~ msgstr "Name cannot be empty." #~ msgid "There is already a selection with this name." #~ msgstr "There is already a selection with this name." #~ msgid "Selections" #~ msgstr "Selections" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Select atoms, bonds, residues..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Shaders..." #~ msgid "Open a vertex shader source file" #~ msgstr "Open a vertex shader source file" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Vertex shader files (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Open a fragment shader source file" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fragment shader files (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Open a shader parameters file" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Shader parameters files (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL Shaders" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Load and use OpenGL 2.0 GLSL shaders" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensity (arb. units)" #~ msgid "Energy (eV)" #~ msgstr "Energy (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Density of States (states/cell)" #~ msgid "Density of States (states/atom)" #~ msgstr "Density of States (states/atom)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Density of States (states/valence electron)" #~ msgid "Transmittance (%)" #~ msgstr "Transmittance (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbance (%)" #~ msgid "No intensities" #~ msgstr "No intensities" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualisation." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Wavenumber (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Shift (ppm)" #~ msgid "Activity" #~ msgstr "Activity" #~ msgid "Intensity" #~ msgstr "Intensity" #~ msgid "X Axis" #~ msgstr "X Axis" #~ msgid "Y Axis" #~ msgstr "Y Axis" #~ msgid "&Appearance" #~ msgstr "&Appearance" #~ msgid "E&xport Image" #~ msgstr "E&xport Image" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrared" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&Infrared Spectra Settings" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "&NMR Spectra Settings" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "&Density Of States Settings" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "&UV Settings" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "&CD Settings" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "&Raman Settings" #~ msgid "No data" #~ msgstr "No data" #~ msgid "Dark" #~ msgstr "Dark" #~ msgid "Light" #~ msgstr "Light" #~ msgid "Publication" #~ msgstr "Publication" #~ msgid "Handdrawn" #~ msgstr "Handdrawn" #~ msgid "New Scheme" #~ msgstr "New Scheme" #~ msgid "Confirm Scheme Removal" #~ msgstr "Confirm Scheme Removal" #~ msgid "Really remove current scheme?" #~ msgstr "Really remove current scheme?" #~ msgid "Change Scheme Name" #~ msgstr "Change Scheme Name" #~ msgid "Enter new name for current scheme:" #~ msgstr "Enter new name for current scheme:" #~ msgid "Select Background Color" #~ msgstr "Select Background Colour" #~ msgid "Select Foreground Color" #~ msgstr "Select Foreground Colour" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Select Calculated Spectra Colour" #~ msgid "Select Imported Spectra Color" #~ msgstr "Select Imported Spectra Colour" #~ msgid "Export Calculated Spectrum" #~ msgstr "Export Calculated Spectrum" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Tab Separated Values (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Tab-Separated Values" #~ msgid "Comma Separated Values" #~ msgstr "Comma-Separated Values" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Import Spectra" #~ msgid "Spectra Import" #~ msgstr "Spectra Import" #~ msgid "Unknown extension: %1" #~ msgstr "Unknown extension: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR data (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole IR data (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Turbomole UV data (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Turbomole CD data (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Data Format" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format:" #~ msgid "Load Spectral Data" #~ msgstr "Load Spectral Data" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Turbomole CD file is improperly formatted : %1" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Save Spectra Image" #~ msgid "Image successfully written to %1" #~ msgstr "Image successfully written to %1" #~ msgid "&Advanced <<" #~ msgstr "&Advanced <<" #~ msgid "&Advanced >>" #~ msgstr "&Advanced >>" #~ msgid "&Spectra..." #~ msgstr "&Spectra..." #~ msgid "Spectra" #~ msgstr "Spectra" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualise spectral data from quantum chemistry calculations" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Vibrational Analysis" #~ msgid "No vibrational displacements exist." #~ msgstr "No vibrational displacements exist." #~ msgid "Vibration" #~ msgstr "Vibration" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Visualise vibrational modes from quantum chemistry calculations" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Sorting %1 vibrations by frequency..." #~ msgid "Pause" #~ msgstr "Pause" #~ msgid "Super Cell Builder..." #~ msgstr "Super Cell Builder..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Build and display crystallographic super cells" #~ msgid "Molecular Orbitals..." #~ msgstr "Molecular Orbitals..." #~ msgid "Orbitals" #~ msgstr "Orbitals" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Orbital" #~ msgid "Status" #~ msgstr "Status" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Nothing" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Electrostatic Potential" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Electron Density" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Molecular Orbital" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Error - undefined type" #~ msgid "Create Surfaces..." #~ msgstr "Create Surfaces..." #~ msgid "Calculating VdW Cube" #~ msgstr "Calculating VdW Cube" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calculating MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Electron Density" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "Electrostatic potential surfaces are not yet supported." #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Calculate molecular orbitals and other surfaces" #~ msgid "&Nanotube Builder..." #~ msgstr "&Nanotube Builder..." #~ msgid "Nanotube Builder" #~ msgstr "Nanotube Builder" #~ msgid "Invalid Nanotube Specification" #~ msgstr "Invalid Nanotube Specification" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgid "Insert Nanotube" #~ msgstr "Insert Nanotube" #~ msgid "SWCNT Builder" #~ msgstr "SWCNT Builder" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Construct single wall carbon nanotubes." #~ msgid "Building..." #~ msgstr "Building..." #~ msgid "Display point group symmetry." #~ msgstr "Display point group symmetry." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL widget was not correctly initialised in order to make a video" #~ msgid "GL widget has no molecule" #~ msgstr "GL widget has no molecule" #~ msgid "Building video " #~ msgstr "Building video " #~ msgid "Could not run povray." #~ msgstr "Could not run povray." #~ msgid "Could not run mencoder." #~ msgstr "Could not run mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Set Aspect Ratio" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgid "Save VRML rendered files" #~ msgstr "Save VRML rendered files" #~ msgid "VRML..." #~ msgstr "VRML..." #~ msgid "Connect" #~ msgstr "Connect" #~ msgid "Disconnect" #~ msgstr "Disconnect" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Wii Tracking" #~ msgid "Track motion using Wii remotes" #~ msgstr "Track motion using Wii remotes" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgid "Debug Information" #~ msgstr "Debug Information" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "View Size: %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Atoms: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Bonds: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: index %1 out of reach." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "File type '%1' is not supported for reading." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "File type for file '%1' is not supported for reading." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Reading molecule with index %1 from file '%2' failed." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: index %1 out of reach." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "File type '%1' is not supported for writing." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "File type for file '%1' is not supported for writing." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Could not open file '%1' for writing." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Could not open file '%1' for reading." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Replacing molecule with index %1 in file '%2' failed." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "File %1 cannot be opened for reading." #~ msgid "File %1 can not be opened for writing." #~ msgstr "File %1 can not be opened for writing." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "Saving molecular file failed - could not rename original file." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "Saving molecular file failed - could not rename new file." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "Saving molecular file failed - could not remove old file." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "File %1 cannot be opened for writing." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Writing conformers to file '%1' failed." #~ msgid "Molecule %1" #~ msgstr "Molecule %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Unknown Python Engine" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: checking " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - script has no 'Engine' class defined" #~ msgid " - no module" #~ msgstr " - no module" #~ msgid "Unknown Python Extension" #~ msgstr "Unknown Python Extension" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: checking " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - script has no 'Extension' class defined" #~ msgid "Unknown Python Tool" #~ msgstr "Unknown Python Tool" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: checking " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - script has no 'Tool' class defined" #~ msgid "Conformer %1" #~ msgstr "Conformer %1" #~ msgid "Tools" #~ msgstr "Tools" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centred at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCentre the atom at the origin." #~ msgid "Axis:" #~ msgstr "Axis:" #~ msgid "Align:" #~ msgstr "Align:" #~ msgid "Everything" #~ msgstr "Everything" #~ msgid "Align" #~ msgstr "Align" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Align molecules to a Cartesian axis" #~ msgid "Align Settings" #~ msgstr "Align Settings" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "Auto Optimisation Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Could not setup force field...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Num Constraints: %1" #~ msgid "Steps per Update:" #~ msgstr "Steps per Update:" #~ msgid "Algorithm:" #~ msgstr "Algorithm:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Molecular Dynamics (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Molecular Dynamics (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Molecular Dynamics (900K)" #~ msgid "Start" #~ msgstr "Start" #~ msgid "Fixed atoms are movable" #~ msgstr "Fixed atoms are movable" #~ msgid "Ignored atoms are movable" #~ msgstr "Ignored atoms are movable" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOpt Molecule" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Automatic optimisation of molecular geometry" #~ msgid "AutoOptimization Settings" #~ msgstr "AutoOptimisation Settings" #~ msgid "Auto Rotation Tool" #~ msgstr "Auto Rotation Tool" #~ msgid "x rotation:" #~ msgstr "x rotation:" #~ msgid "x rotation" #~ msgstr "x rotation" #~ msgid "y rotation:" #~ msgstr "y rotation:" #~ msgid "y rotation" #~ msgstr "y rotation" #~ msgid "z rotation:" #~ msgstr "z rotation:" #~ msgid "z rotation" #~ msgstr "z rotation" #~ msgid "Automatic rotation of molecules" #~ msgstr "Automatic rotation of molecules" #~ msgid "AutoRotate Settings" #~ msgstr "AutoRotate Settings" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Bond Length: %L1" #~ msgid " Show Angles" #~ msgstr " Show Angles" #~ msgid "Snap-to Threshold: " #~ msgstr "Snap-to Threshold: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Bond Centric Manipulate" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulation of bond lengths, angles, and torsions" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Bond Centric Manipulate Settings" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distance (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Angle: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distance (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Dihedral Angle: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distance(s):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Measure bond lengths, angles, and dihedrals" #~ msgid "Delete Atom" #~ msgstr "Delete Atom" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgid "Draw Bond" #~ msgstr "Draw Bond" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Draw and edit atoms and bonds" #~ msgid "Draw Settings" #~ msgstr "Draw Settings" #~ msgid "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Translate, rotate, and adjust atoms and fragments" #~ msgid "Manipulate Settings" #~ msgstr "Manipulate Settings" #~ msgid "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Translate, rotate, and zoom around the current view" #~ msgid "Navigate Settings" #~ msgstr "Navigate Settings" #~ msgid "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgstr "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgid "Selection Mode:" #~ msgstr "Selection Mode:" #~ msgid "Atom/Bond" #~ msgstr "Atom/Bond" #~ msgid "Residue" #~ msgstr "Residue" #~ msgid "Add Center of Atoms" #~ msgstr "Add Centre of Atoms" #~ msgid "Add Center of Mass" #~ msgstr "Add Centre of Mass" #~ msgid "Change color of the atom" #~ msgstr "Change colour of the atom" #~ msgid "Change label of the atom" #~ msgstr "Change label of the atom" #~ msgid "New Label:" #~ msgstr "New Label:" #~ msgid "Change label of the bond" #~ msgstr "Change label of the bond" #~ msgid "Change radius of the atom" #~ msgstr "Change radius of the atom" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "New Radius, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Select atoms, residues, and molecules" #~ msgid "Symbol" #~ msgstr "Symbol" #~ msgid "Bond Length" #~ msgstr "Bond Length" #~ msgid "Bond Angle" #~ msgstr "Bond Angle" #~ msgid "Dihedral Angle" #~ msgstr "Dihedral Angle" #~ msgid "Z Matrix Editor..." #~ msgstr "Z Matrix Editor..." #~ msgid "Z-Matrix" #~ msgstr "Z-Matrix" #~ msgid "Create/edit a z-matrix" #~ msgstr "Create/edit a z-matrix" #~ msgid "Z-Matrix Settings" #~ msgstr "Z-Matrix Settings" #~ msgid "Residue Color Settings" #~ msgstr "Residue Colour Settings" #~ msgid "Color residues by:" #~ msgstr "Colour residues by:" #~ msgid "Amino Colors" #~ msgstr "Amino Colours" #~ msgid "Shapely Colors" #~ msgstr "Shapely Colours" #~ msgid "Hydrophobicity" #~ msgstr "Hydrophobicity" #~ msgid "Axes:" #~ msgstr "Axes:" #~ msgid "Cartesian Axes" #~ msgstr "Cartesian Axes" #~ msgid "Orthogonal Axes" #~ msgstr "Orthogonal Axes" #~ msgid "Axis 1:" #~ msgstr "Axis 1:" #~ msgid "Axis 2:" #~ msgstr "Axis 2:" #~ msgid "Axis 3:" #~ msgstr "Axis 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origin:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norm" #~ msgid "Preserve vector norms" #~ msgstr "Preserve vector norms" #~ msgid "Atom Radius:" #~ msgstr "Atom Radius:" #~ msgid "Bond Radius:" #~ msgstr "Bond Radius:" #~ msgid "Shape" #~ msgstr "Shape" #~ msgid "Helix" #~ msgstr "Helix" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Sheet" #~ msgid "Loop" #~ msgstr "Loop" #~ msgid "Colors" #~ msgstr "Colours" #~ msgid "Dipole:" #~ msgstr "Dipole:" #~ msgid "Dipole Moment" #~ msgstr "Dipole Moment" #~ msgid "Custom Vector" #~ msgstr "Custom Vector" #~ msgid "Custom:" #~ msgstr "Custom:" #~ msgid "Width:" #~ msgstr "Width:" #~ msgid "Cut-off radius:" #~ msgstr "Cut-off radius:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Cut-off angle:" #~ msgid "Rendering Engine:" #~ msgstr "Rendering Engine:" #~ msgid "TextRenderer" #~ msgstr "TextRenderer" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Atom Labels" #~ msgid "Text:" #~ msgstr "Text:" #~ msgid "Color:" #~ msgstr "Colour:" #~ msgid "None" #~ msgstr "None" #~ msgid "Symbol & Number in Group" #~ msgstr "Symbol & Number in Group" #~ msgid "Symbol & Atom number" #~ msgstr "Symbol & Atom number" #~ msgid "Formal charge" #~ msgstr "Formal charge" #~ msgid "Partial charge" #~ msgstr "Partial charge" #~ msgid "Residue number" #~ msgstr "Residue number" #~ msgid "Unique ID" #~ msgstr "Unique ID" #~ msgid "Custom data" #~ msgstr "Custom data" #~ msgid "Change Font" #~ msgstr "Change Font" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Label Shift:" #~ msgid "Bond Labels" #~ msgstr "Bond Labels" #~ msgid "Bond length" #~ msgstr "Bond length" #~ msgid "Bond number" #~ msgstr "Bond number" #~ msgid "Bond order" #~ msgstr "Bond order" #~ msgid "Rendering:" #~ msgstr "Rendering:" #~ msgid "Backbone" #~ msgstr "Backbone" #~ msgid "Lines" #~ msgstr "Lines" #~ msgid "Radius:" #~ msgstr "Radio :" #~ msgid "Include Nitrogens" #~ msgstr "Include Nitrogens" #~ msgid "VdW Opacity:" #~ msgstr "VdW Opacity:" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Render:" #~ msgid "Fill" #~ msgstr "Fill" #~ msgid "Points" #~ msgstr "Points" #~ msgid "Draw Box:" #~ msgstr "Draw Box:" #~ msgid "Style:" #~ msgstr "Style:" #~ msgid "Selected Colors" #~ msgstr "Selected Colours" #~ msgid "Mapped Colors" #~ msgstr "Mapped Colours" #~ msgid "Colors:" #~ msgstr "Colours:" #~ msgid "Positive" #~ msgstr "Positive" #~ msgid "Negative" #~ msgstr "Negative" #~ msgid "Show Atoms" #~ msgstr "Show Atoms" #~ msgid "Animate Trajectory" #~ msgstr "Animate Trajectory" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Loop" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Save as .avi..." #~ msgid "Angstroms" #~ msgstr "Angstroms" #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "Fractional" #~ msgstr "Fractional" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, coords only" #~ msgid "GAMESS Input #2" #~ msgstr "GAMESS Input #2" #~ msgid "Priroda Input" #~ msgstr "Priroda Input" #~ msgid "Apply Changes" #~ msgstr "Apply Changes" #~ msgid "Cut All" #~ msgstr "Cut All" #~ msgid "Paste to the End" #~ msgstr "Paste to the End" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgid "(None)" #~ msgstr "(None)" #~ msgid "Sort by " #~ msgstr "Sort by " #~ msgid "Conformer Search" #~ msgstr "Conformer Search" #~ msgid "Method" #~ msgstr "Method" #~ msgid "Number of atoms:" #~ msgstr "Number of atoms:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Number of rotatable bonds:" #~ msgid "Number of conformers" #~ msgstr "Number of conformers" #~ msgid "Systematic rotor search" #~ msgstr "Systematic rotor search" #~ msgid "Random rotor search" #~ msgstr "Random rotor search" #~ msgid "Weighted rotor search" #~ msgstr "Weighted rotor search" #~ msgid "Genetic algorithm search" #~ msgstr "Genetic algorithm search" #~ msgid "Genetic Algorithm Options" #~ msgstr "Genetic Algorithm Options" #~ msgid "Children" #~ msgstr "Children" #~ msgid "Mutability" #~ msgstr "Mutability" #~ msgid "Scoring method" #~ msgstr "Scoring method" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "Energy" #~ msgid "Constraints" #~ msgstr "Constraints" #~ msgid "Add Constraints" #~ msgstr "Add Constraints" #~ msgid "Ignore Atom" #~ msgstr "Ignore Atom" #~ msgid "Fix Atom" #~ msgstr "Fix Atom" #~ msgid "Fix Atom X" #~ msgstr "Fix Atom X" #~ msgid "Fix Atom Y" #~ msgstr "Fix Atom Y" #~ msgid "Fix Atom Z" #~ msgstr "Fix Atom Z" #~ msgid "Torsion angle" #~ msgstr "Torsion angle" #~ msgid "Constraint Value" #~ msgstr "Constraint Value" #~ msgid "Atom Indices" #~ msgstr "Atom Indices" #~ msgid "Add" #~ msgstr "Add" #~ msgid "Save" #~ msgstr "Save" #~ msgid "Load" #~ msgstr "Load" #~ msgid "Atomic &identites:" #~ msgstr "Atomic &identites:" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgid "&Reset" #~ msgstr "&Reset" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgid "Cell Parameters" #~ msgstr "Cell Parameters" #~ msgid " °" #~ msgstr " °" #~ msgid "Surface Slab Builder" #~ msgstr "Surface Slab Builder" #~ msgid "Plane:" #~ msgstr "Plane:" #~ msgid "&Miller Indices:" #~ msgstr "&Miller Indices:" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Warning: Use non-zero Miller Indices" #~ msgid "Dimensions:" #~ msgstr "Dimensions:" #~ msgid "Width (x)" #~ msgstr "Width (x)" #~ msgid "Width (y)" #~ msgstr "Width (y)" #~ msgid "Height (z)" #~ msgstr "Height (z)" #~ msgid "length" #~ msgstr "length" #~ msgid "cell repeats" #~ msgstr "cell repeats" #~ msgid "&Translate " #~ msgstr "&Translate " #~ msgid "by arbitrary vector" #~ msgstr "by arbitrary vector" #~ msgid "selected atom to origin" #~ msgstr "selected atom to origin" #~ msgid "selected atom to unit cell center" #~ msgstr "selected atom to unit cell centre" #~ msgid "Translation vector:" #~ msgstr "Translation vector:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "&Vector units:" #~ msgid "Cartesian" #~ msgstr "Cartesian" #~ msgid "&Translate" #~ msgstr "&Translate" #~ msgid "&Keep atoms in unit cell" #~ msgstr "&Keep atoms in unit cell" #~ msgid "Crystal View Options" #~ msgstr "Crystal View Options" #~ msgid "Unit Cell Repeats:" #~ msgstr "Unit Cell Repeats:" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "Draw Unit Cell(s)?" #~ msgid "One" #~ msgstr "One" #~ msgid "All" #~ msgstr "All" #~ msgid "Color..." #~ msgstr "Colour..." #~ msgid "View Along:" #~ msgstr "View Along:" #~ msgid "Default View" #~ msgstr "Default View" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "Miller Indices" #~ msgid "File Import..." #~ msgstr "File Import..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Attempt to perceive bonds?" #~ msgid "Setup Force Field" #~ msgstr "Setup Force Field" #~ msgid "Force Field" #~ msgstr "Force Field" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Number of steps" #~ msgid "Algorithm" #~ msgstr "Algorithm" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Insert Nucleic Acids" #~ msgid "DNA/RNA Builder" #~ msgstr "DNA/RNA Builder" #~ msgid "DNA" #~ msgstr "DNA" #~ msgid "RNA" #~ msgstr "RNA" #~ msgid "Nucleic Acids:" #~ msgstr "Nucleic Acids:" #~ msgid "Adenine" #~ msgstr "Adenine" #~ msgid "Cytosine" #~ msgstr "Cytosine" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Guanine" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Sequence:" #~ msgid "the number of base pairs per helix turn" #~ msgstr "the number of base pairs per helix turn" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Other" #~ msgid "Bases Per Turn:" #~ msgstr "Bases Per Turn:" #~ msgid "Strands:" #~ msgstr "Strands:" #~ msgid "Insert" #~ msgstr "Insert" #~ msgid "Insert Fragment..." #~ msgstr "Insert Fragment..." #~ msgid "Filter:" #~ msgstr "Filter:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "Type a name or part of a name to show only matching files." #~ msgid "Peptide Builder" #~ msgstr "Peptide Builder" #~ msgid "Alanine" #~ msgstr "Alanine" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginine" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagine" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Aspartic acid" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cysteine" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Glutamic acid" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamine" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glycine" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidine" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucine" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valine" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tyrosine" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Tryptophan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Threonine" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serine" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Proline" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Phenylalanine" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Methionine" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lysine" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucine" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Amino Acids:" #~ msgid "Sequence (N to C):" #~ msgstr "Sequence (N to C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereochemistry:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N Terminus:" #~ msgid "C Terminus:" #~ msgstr "C Terminus:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Structure:" #~ msgstr "Structure:" #~ msgid "Straight Chain" #~ msgstr "Straight Chain" #~ msgid "Alpha Helix" #~ msgstr "Alpha Helix" #~ msgid "Beta Sheet" #~ msgstr "Beta Sheet" #~ msgid "3-10 Helix" #~ msgstr "3-10 Helix" #~ msgid "Pi Helix" #~ msgstr "Pi Helix" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Chain Number:" #~ msgid "The chain number for the new peptide" #~ msgstr "The chain number for the new peptide" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Molecule Properties" #~ msgid "Number of Residues:" #~ msgstr "Number of Residues:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energy (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Dipole Moment (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "IUPAC Molecule Name:" #~ msgid "Frames" #~ msgstr "Frames" #~ msgid "Plot Spectra" #~ msgstr "Plot Spectra" #~ msgid "Fragments" #~ msgstr "Fragments" #~ msgid "select Fragment" #~ msgstr "select Fragment" #~ msgid "Basic" #~ msgstr "Basic" #~ msgid "Comment" #~ msgstr "Comment" #~ msgid "Frequency" #~ msgstr "Frequency" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Basis set" #~ msgstr "Basis set" #~ msgid "Format" #~ msgstr "Format" #~ msgid "z-Matrix" #~ msgstr "z-Matrix" #~ msgid "z-Matrix compact" #~ msgstr "z-Matrix compact" #~ msgid "Advanced" #~ msgstr "Advanced" #~ msgid "Basis Set" #~ msgstr "Basis Set" #~ msgid "Control" #~ msgstr "Control" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "RijCosX" #~ msgstr "RijCosX" #~ msgid "Data" #~ msgstr "Data" #~ msgid "ECP" #~ msgstr "ECP" #~ msgid "Aux. Basis Set" #~ msgstr "Aux. Basis Set" #~ msgid "Aux. ECP" #~ msgstr "Aux. ECP" #~ msgid "Relativistic" #~ msgstr "Relativistic" #~ msgid "ZORA" #~ msgstr "ZORA" #~ msgid "IORA" #~ msgstr "IORA" #~ msgid "DKH" #~ msgstr "DKH" #~ msgid "Order" #~ msgstr "Order" #~ msgid "Corr. Aux. Basis Set" #~ msgstr "Corr. Aux. Basis Set" #~ msgid "Corr. ECP" #~ msgstr "Corr. ECP" #~ msgid "Run type" #~ msgstr "Run type" #~ msgid "Add. Print Options" #~ msgstr "Add. Print Options" #~ msgid "MOs" #~ msgstr "MOs" #~ msgid "Basis Sets" #~ msgstr "Basis Sets" #~ msgid "Printlevel" #~ msgstr "Printlevel" #~ msgid "Nothing" #~ msgstr "Nothing" #~ msgid "Mini" #~ msgstr "Mini" #~ msgid "Small" #~ msgstr "Small" #~ msgid "Large" #~ msgstr "Large" #~ msgid "Damping" #~ msgstr "Damping" #~ msgid "Factor" #~ msgstr "Factor" #~ msgid "" #~ "

select only if no defaults are wanted

" #~ msgstr "" #~ "

select only if no defaults are wanted

" #~ msgid "Accuracy" #~ msgstr "Accuracy" #~ msgid "Tight SCF" #~ msgstr "Tight SCF" #~ msgid "Very Tight SCF" #~ msgstr "Very Tight SCF" #~ msgid "Extreme SCF" #~ msgstr "Extreme SCF" #~ msgid "Convergers" #~ msgstr "Convergers" #~ msgid "DIIS" #~ msgstr "DIIS" #~ msgid "KDIIS" #~ msgstr "KDIIS" #~ msgid "Levelshift " #~ msgstr "Levelshift " #~ msgid "Levelshift" #~ msgstr "Levelshift" #~ msgid "2nd Order" #~ msgstr "2nd Order" #~ msgid "SOSCF" #~ msgstr "SOSCF" #~ msgid "NRSCF" #~ msgstr "NRSCF" #~ msgid "AHSCF" #~ msgstr "AHSCF" #~ msgid "max. SCF iterations" #~ msgstr "max. SCF iterations" #~ msgid "SCF Type" #~ msgstr "SCF Type" #~ msgid "restricted" #~ msgstr "restricted" #~ msgid "unrestricted" #~ msgstr "unrestricted" #~ msgid "restricted open-shell" #~ msgstr "restricted open-shell" #~ msgid "SFitting" #~ msgstr "SFitting" #~ msgid "GridX" #~ msgstr "GridX" #~ msgid "FinalGridX" #~ msgstr "FinalGridX" #~ msgid "DFT Functional" #~ msgstr "DFT Functional" #~ msgid "Grid" #~ msgstr "Grid" #~ msgid "FinalGrid" #~ msgstr "FinalGrid" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray Export" #~ msgid "Select..." #~ msgstr "Select..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Use full scene antialiasing" #~ msgid "Antialias" #~ msgstr "Antialias" #~ msgid "Set the background color to be transparent" #~ msgstr "Set the background colour to be transparent" #~ msgid "Alpha transparency" #~ msgstr "Alpha transparency" #~ msgid "Command:" #~ msgstr "Command:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Render the molecule directly using command line POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Keep the POV-Ray source after rendering has completed" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Keep POV-Ray source after rendering" #~ msgid "Path:" #~ msgstr "Path:" #~ msgid "Abinit Input" #~ msgstr "Abinit Input" #~ msgid "k-points:" #~ msgstr "k-points:" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Cartesian (Angstrom)" #~ msgid "Reduced" #~ msgstr "Reduced" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "Plane Wave cutoff (Ha):" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Tolerance on forces(Ha/bohr):" #~ msgid "Max lattice expansion:" #~ msgstr "Max lattice expansion:" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "k-point shift:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Number of bands:" #~ msgid "# k-point shifts:" #~ msgstr "# k-point shifts:" #~ msgid "Double grid PW cutoff (Ha):" #~ msgstr "Double grid PW cutoff (Ha):" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Occupation scheme:" #~ msgid "SCF tolerance type:" #~ msgstr "SCF tolerance type:" #~ msgid "Total Energy" #~ msgstr "Total Energy" #~ msgid "Wave Function norm" #~ msgstr "Wave Function norm" #~ msgid "Total Potential" #~ msgstr "Total Potential" #~ msgid "Maximum Force" #~ msgstr "Maximum Force" #~ msgid "Relative Force" #~ msgstr "Relative Force" #~ msgid "1 - semiconducting" #~ msgstr "1 - semiconducting" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi Dirac" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 - Cold Smearing (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 - Gaussian smearing" #~ msgid "Smearing width (Ha):" #~ msgstr "Smearing width (Ha):" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Geometry Optimisation:" #~ msgid "0 - no moving ions " #~ msgstr "0 - no moving ions " #~ msgid "1 - viscous damping" #~ msgstr "1 - viscous damping" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS with energy" #~ msgid "# Geometrical time steps:" #~ msgstr "# Geometrical time steps:" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Kinetic Energy smoothing (Ha):" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Use Form" #~ msgid "Compute..." #~ msgstr "Compute..." #~ msgid "Dalton Input" #~ msgstr "Dalton Input" #~ msgid "Basics" #~ msgstr "Basics" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Basis Set:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Pople-style" #~ msgid "Jensen's polarization consistent" #~ msgstr "Jensen's polarisation consistent" #~ msgid "Dunning's correlation consistent" #~ msgstr "Dunning's correlation consistent" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Core correlating functions" #~ msgid "Diffuse functions" #~ msgstr "Diffuse functions" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Polarisation functions" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Direct" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgid "Parallel" #~ msgstr "Parallel" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Functional:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Density:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Charge Integration:" #~ msgid "Grid Specification" #~ msgstr "Grid Specification" #~ msgid "Partitioning Scheme:" #~ msgstr "Partitioning Scheme:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (original)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Grid Quality:" #~ msgid "coarse" #~ msgstr "coarse" #~ msgid "normal" #~ msgstr "normal" #~ msgid "fine" #~ msgstr "fine" #~ msgid "ultrafine" #~ msgstr "ultrafine" #~ msgid "Radial Scheme:" #~ msgstr "Radial Scheme:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Show all functionals" #~ msgid "Property:" #~ msgstr "Property:" #~ msgid "Polarizability" #~ msgstr "Polarisability" #~ msgid "Excitation Energy" #~ msgstr "Excitation Energy" #~ msgid "Frequency Dependent" #~ msgstr "Frequency Dependent" #~ msgid "No. excitations:" #~ msgstr "No. excitations:" #~ msgid "EFP Matches" #~ msgstr "EFP Matches" #~ msgid "Group Label:" #~ msgstr "Group Label:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Advanced Setup" #~ msgid "Hessian" #~ msgstr "Hessian" #~ msgid "Stat Point" #~ msgstr "Stat Point" #~ msgid "System" #~ msgstr "System" #~ msgid "MO Guess" #~ msgstr "MO Guess" #~ msgid "Misc" #~ msgstr "Misc" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Heavy Atom Polarisation Functions:" #~ msgid "Read" #~ msgstr "Read" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Diffuse S-Shell on Heavy Atoms" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Diffuse L-Shell on Heavy Atoms" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Double Zeta Valence" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Triple Zeta Valence" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA Valence" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt Valence" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP Type:" #~ msgid "Default" #~ msgstr "Default" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Heavy Atom Polarization Functions:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#light Atom Polarization Functions:" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "Max SCF Iterations:" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "Optimisation" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "Saddle Point" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Gradient Extremal" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energy Surface" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Radiative Transition mom." #~ msgid "Spin Orbit" #~ msgstr "Spin Orbit" #~ msgid "Finite Electric Field" #~ msgstr "Finite Electric Field" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Global Optimization" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO Optimization" #~ msgid "Raman Intensities" #~ msgstr "Raman Intensities" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Make EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "None (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF Type:" #~ msgid "Localization Method:" #~ msgstr "Localization Method:" #~ msgid "Exec Type:" #~ msgstr "Exec Type:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinant" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Occupation Restricted Multiple Active Space" #~ msgid "CI Singles" #~ msgstr "CI Singles" #~ msgid "Full Second Order CI" #~ msgstr "Full Second Order CI" #~ msgid "General CI" #~ msgstr "General CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearised CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC with Doubles" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC with Singles and Doubles" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Normal Run" #~ msgid "Check" #~ msgstr "Check" #~ msgid "Debug" #~ msgstr "Debug" #~ msgid "Molecule Charge:" #~ msgstr "Molecule Charge:" #~ msgid "Run Type:" #~ msgstr "Run Type:" #~ msgid "Use MP2" #~ msgstr "Use MP2" #~ msgid "Use DFT" #~ msgstr "Use DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# of Z-Matrix Variables" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Order of Principal Axis:" #~ msgid "Coordinate Type:" #~ msgstr "Coordinate Type:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Unique cartesian Coords." #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrant internals" #~ msgid "MOPAC Z-Matrix" #~ msgstr "MOPAC Z-Matrix" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Use Symmetry During Calculation" #~ msgid "Units:" #~ msgstr "Units:" #~ msgid "Point Group:" #~ msgstr "Point Group:" #~ msgid "Minutes" #~ msgstr "Minutes" #~ msgid "Hours" #~ msgstr "Hours" #~ msgid "Days" #~ msgstr "Days" #~ msgid "Weeks" #~ msgstr "Weeks" #~ msgid "Years" #~ msgstr "Years" #~ msgid "Millenia" #~ msgstr "Millenia" #~ msgid "MegaWords" #~ msgstr "MegaWords" #~ msgid "MegaBytes" #~ msgstr "MegaBytes" #~ msgid "GigaWords" #~ msgstr "GigaWords" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Force Parallel Methods" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Produce \"core\" file upon abort" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memory:" #~ msgid "Diagonalization Method:" #~ msgstr "Diagonalisation Method:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Parallel Load Balance Type" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Loop" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Next Value" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Use External Data Representation for Messages" #~ msgid "Initial Guess:" #~ msgstr "Initial Guess:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO Read ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO Saved (DICTNRY)" #~ msgid "Skip" #~ msgstr "Skip" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Rotate Alpha and Beta Orbitals" #~ msgid "Print the Initial Guess" #~ msgstr "Print the Initial Guess" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "GAMESS Interface to Other Codes" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Force a Check Run Type" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK Version)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvate with Water" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Generate UHF Natural Orbitals" #~ msgid "Direct SCF" #~ msgstr "Direct SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Compute Only Changed in Fock Matrix" #~ msgid "Slater exchange" #~ msgstr "Slater exchange" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 exchange" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr correlation" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater exchange + VWN correlation" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE exchange + VWN5 correlation" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE exchange + LYP correlation" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 exchange" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: One-parameter Progressive correlation" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP correlation" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE exchange + OP correlation" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL exchange + VWN5 correlation" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL exchange + LYP correlation" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE exchange + VWN6 correlation" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE exchange +LYP correlation" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE exchange + OP correlation" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgid "Grid-Free" #~ msgstr "Grid-Free" #~ msgid "DFT Functional:" #~ msgstr "DFT Functional:" #~ msgid "Method:" #~ msgstr "Method:" #~ msgid "AO Integral Storage" #~ msgstr "AO Integral Storage" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplicated on Each Node" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distributed Across All Nodes" #~ msgid "words" #~ msgstr "words" #~ msgid "Compute MP2 Properties" #~ msgstr "Compute MP2 Properties" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Integral Retention Cutoff:" #~ msgid "Use Localized Orbitals" #~ msgstr "Use Localised Orbitals" #~ msgid "# of Core Electrons:" #~ msgstr "# of Core Electrons:" #~ msgid "Transformation Method" #~ msgstr "Transformation Method" #~ msgid "Two Phase Bin Sort" #~ msgstr "Two Phase Bin Sort" #~ msgid "Segmented Transformation" #~ msgstr "Segmented Transformation" #~ msgid "Analytic" #~ msgstr "Analytic" #~ msgid "Numeric" #~ msgstr "Numeric" #~ msgid "Double Differenced Hessian" #~ msgstr "Double Differenced Hessian" #~ msgid "Print Internal Force Constants" #~ msgstr "Print Internal Force Constants" #~ msgid "Displacement Size:" #~ msgstr "Displacement Size:" #~ msgid "Purify Hessian" #~ msgstr "Purify Hessian" #~ msgid "Frequency Scale Factor:" #~ msgstr "Frequency Scale Factor:" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Initial Hessian" #~ msgid "Guess (+ define)" #~ msgstr "Guess (+ define)" #~ msgid "Read (from $HESS)" #~ msgstr "Read (from $HESS)" #~ msgid "Update Step Size" #~ msgstr "Update Step Size" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Print Orbs at Each Iteration" #~ msgid "Jump Size:" #~ msgstr "Jump Size:" #~ msgid "Stationary Point" #~ msgstr "Stationary Point" #~ msgid "Step Size" #~ msgstr "Step Size" #~ msgid "Maximum:" #~ msgstr "Maximum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Initial:" #~ msgstr "Initial:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Rational Function Optimisation" #~ msgid "Quadratic Approximation" #~ msgstr "Quadratic Approximation" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Constrained Optimisation" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Recalculate Hessian Every:" #~ msgid "Follow Mode:" #~ msgstr "Follow Mode:" #~ msgid "Maximum Steps:" #~ msgstr "Maximum Steps:" #~ msgid "GAMESS-UK Input" #~ msgstr "GAMESS-UK Input" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "GAMESS-UK input generated by Avogadro" #~ msgid "Calculation:" #~ msgstr "Calculation:" #~ msgid "Transition State Search" #~ msgstr "Transition State Search" #~ msgid "Basis:" #~ msgstr "Basis:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Z-matrix" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgid "Run in direct mode:" #~ msgstr "Run in direct mode:" #~ msgid "Gaussian Input" #~ msgstr "Gaussian Input" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Output:" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Checkpoint:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-matrix (compact)" #~ msgid "Select the unit style to be used during the simulation." #~ msgstr "Select the unit style to be used during the simulation." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "real" #~ msgid "metal" #~ msgstr "metal" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "electron" #~ msgid "Water Potential" #~ msgstr "Water Potential" #~ msgid "NONE" #~ msgstr "NONE" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "Select atom_style used by the data file." #~ msgstr "Select atom_style used by the data file." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgid "Atom Style" #~ msgstr "Atom Style" #~ msgid "angle" #~ msgstr "angle" #~ msgid "atomic" #~ msgstr "atomic" #~ msgid "bond" #~ msgstr "bond" #~ msgid "charge" #~ msgstr "charge" #~ msgid "dipole" #~ msgstr "dipole" #~ msgid "ellipsoid" #~ msgstr "ellipsoid" #~ msgid "full" #~ msgstr "full" #~ msgid "line" #~ msgstr "line" #~ msgid "meso" #~ msgstr "meso" #~ msgid "molecular" #~ msgstr "molecular" #~ msgid "peri" #~ msgstr "peri" #~ msgid "sphere" #~ msgstr "sphere" #~ msgid "tri" #~ msgstr "tri" #~ msgid "wavepacket" #~ msgstr "wavepacket" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "Specify the name to be used for the coordinate file." #~ msgid "Coordinate Data File" #~ msgstr "Coordinate Data File" #~ msgid "Ensemble" #~ msgstr "Ensemble" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Temperature" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgid "NH Chains" #~ msgstr "NH Chains" #~ msgid "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgstr "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgid "Time Step" #~ msgstr "Time Step" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "Filename of the XYZ file to write during the simulation." #~ msgid "Dump XYZ" #~ msgstr "Dump XYZ" #~ msgid "Number of dimensions in the system." #~ msgstr "Number of dimensions in the system." #~ msgid "Dimensions" #~ msgstr "Dimensions" #~ msgid "Change Z boundary style." #~ msgstr "Change Z boundary style." #~ msgid "p" #~ msgstr "p" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "Change Y boundary style." #~ msgstr "Change Y boundary style." #~ msgid "Change X boundary style." #~ msgstr "Change X boundary style." #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "Select bondary Styles in X, Y and Z directions." #~ msgid "Boundary" #~ msgstr "Boundary" #~ msgid "Number of replicants in X, Y and Z directions." #~ msgstr "Number of replicants in X, Y and Z directions." #~ msgid "Replicate" #~ msgstr "Replicate" #~ msgid "Replicate the X direction." #~ msgstr "Replicate the X direction." #~ msgid "Replicate the Y direction." #~ msgstr "Replicate the Y direction." #~ msgid "Replicate the Z direction." #~ msgstr "Replicate the Z direction." #~ msgid "Total number of timesteps to run the simulation." #~ msgstr "Total number of timesteps to run the simulation." #~ msgid "Total Steps" #~ msgstr "Total Steps" #~ msgid "Dump Interval" #~ msgstr "Dump Interval" #~ msgid "Set the initial atom velocities for the simulation." #~ msgstr "Set the initial atom velocities for the simulation." #~ msgid "Initial Velocities" #~ msgstr "Initial Velocities" #~ msgid "Select the distribution of initial atom velocities." #~ msgstr "Select the distribution of initial atom velocities." #~ msgid "gaussian" #~ msgstr "gaussian" #~ msgid "uniform" #~ msgstr "uniform" #~ msgid "Set the initial atom velocities to match this temperature." #~ msgstr "Set the initial atom velocities to match this temperature." #~ msgid "Remove system linear momentum from initial velocities." #~ msgstr "Remove system linear momentum from initial velocities." #~ msgid "Zero Linear Momentum" #~ msgstr "Zero Linear Momentum" #~ msgid "Remove system angular momentum from initial velocities." #~ msgstr "Remove system angular momentum from initial velocities." #~ msgid "Zero Angular Momentum" #~ msgstr "Zero Angular Momentum" #~ msgid "Control the thermodynamic output during the simulation." #~ msgstr "Control the thermodynamic output during the simulation." #~ msgid "Output Interval" #~ msgstr "Output Interval" #~ msgid "2d" #~ msgstr "2D" #~ msgid "3d" #~ msgstr "3D" #~ msgid "Thermodynamic output style." #~ msgstr "Thermodynamic output style." #~ msgid "One Line" #~ msgstr "One Line" #~ msgid "Multi Line" #~ msgstr "Multi Line" #~ msgid "" #~ "\n" #~ "\n" #~ "

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO Input" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Molpro Version:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "MOPAC Input" #~ msgid "Quartet" #~ msgstr "Quartet" #~ msgid "Quintet" #~ msgstr "Quintet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem Input" #~ msgid "Psi4 Input" #~ msgstr "Psi4 Input" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem Input" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "TeraChem Input" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Unrestricted" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "no" #~ msgid "yes" #~ msgstr "yes" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Dispersion:" #~ msgid "Load Shaders" #~ msgstr "Load Shaders" #~ msgid "Shader Name:" #~ msgstr "Shader Name:" #~ msgid "Vertex Shader:" #~ msgstr "Vertex Shader:" #~ msgid "Fragment Shader:" #~ msgstr "Fragment Shader:" #~ msgid "Assign Shader" #~ msgstr "Assign Shader" #~ msgid "Display Type:" #~ msgstr "Display Type:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgid "&Load data..." #~ msgstr "&Load data..." #~ msgid "&Close" #~ msgstr "&Close" #~ msgid "Calculated Spectra:" #~ msgstr "Calculated Spectra:" #~ msgid "Set Color..." #~ msgstr "Set Colour..." #~ msgid "Imported Spectra:" #~ msgstr "Imported Spectra:" #~ msgid "Font:" #~ msgstr "Font:" #~ msgid "Change Font..." #~ msgstr "Change Font..." #~ msgid "Show" #~ msgstr "Show" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "Imports a tsv of experimental spectra to overlay on the plot." #~ msgid "&Import..." #~ msgstr "&Import..." #~ msgid "Background:" #~ msgstr "Background:" #~ msgid "Foreground:" #~ msgstr "Foreground:" #~ msgid "New..." #~ msgstr "New..." #~ msgid "Rename..." #~ msgstr "Rename..." #~ msgid "&Schemes:" #~ msgstr "&Schemes:" #~ msgid "&Export..." #~ msgstr "&Export..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Width:" #~ msgid "&Height" #~ msgstr "&Height" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Save Image..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Use an optimised value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Auto-adjust F&ont Size" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Export Data" #~ msgid "Spectra Tab" #~ msgstr "Spectra Tab" #~ msgid "&Gaussian Width:" #~ msgstr "&Gaussian Width:" #~ msgid "&Label peaks" #~ msgstr "&Label peaks" #~ msgid "Rotatory Strength type:" #~ msgstr "Rotatory Strength type:" #~ msgid "Energy units:" #~ msgstr "Energy units:" #~ msgid "Density units" #~ msgstr "Density units" #~ msgid "Fermi Energy: " #~ msgstr "Fermi Energy: " #~ msgid "States / Cell" #~ msgstr "States / Cell" #~ msgid "States / Atom" #~ msgstr "States / Atom" #~ msgid "States / Valence electron" #~ msgstr "States / Valence electron" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Fermi energy at zero" #~ msgid "Scale integrated DOS" #~ msgstr "Scale integrated DOS" #~ msgid "Show integrated DOS" #~ msgstr "Show integrated DOS" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "&Y Axis Units:" #~ msgid "Scaling Type:" #~ msgstr "Scaling Type:" #~ msgid "Linear" #~ msgstr "Linear" #~ msgid "Relative" #~ msgstr "Relative" #~ msgid "Scale &Factor:" #~ msgstr "Scale &Factor:" #~ msgid "Temperature:" #~ msgstr "Temperature:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Laser Wavenumber:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Threshold:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Nucleus:" #~ msgid "&Reference:" #~ msgstr "&Reference:" #~ msgid "Gaussian &Width:" #~ msgstr "Gaussian &Width:" #~ msgid "Reset &Plot Axes" #~ msgstr "Reset &Plot Axes" #~ msgid "Label Peaks:" #~ msgstr "Label Peaks:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Molecular Vibrations" #~ msgid "Filter: " #~ msgstr "Filter: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Activity (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Show Spectra..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "higher frequency vibrations will show faster movement" #~ msgid "Animation speed set by frequency" #~ msgstr "Animation speed set by frequency" #~ msgid "Display force &vectors" #~ msgstr "Display force &vectors" #~ msgid "&Normalize displacements" #~ msgstr "&Normalise displacements" #~ msgid "Generate Cell" #~ msgstr "Generate Cell" #~ msgid "&Recalculate All" #~ msgstr "&Recalculate All" #~ msgid "Default &Quality:" #~ msgstr "Default &Quality:" #~ msgid "Show occupied orbitals first" #~ msgstr "Show occupied orbitals first" #~ msgid "Limit orbital precalculations to " #~ msgstr "Limit orbital precalculations to " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "orbitals around HOMO/LUMO" #~ msgid "Quality: " #~ msgstr "Quality: " #~ msgid "Create Surfaces" #~ msgstr "Create Surfaces" #~ msgid "Surface Type:" #~ msgstr "Surface Type:" #~ msgid "Color By:" #~ msgstr "Colour By:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Low" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Medium" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "High" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Very High" #~ msgid "Isosurface cutoff value" #~ msgstr "Isosurface cutoff value" #~ msgid "Iso Value:" #~ msgstr "Iso Value:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "In Display Type:" #~ msgid "New Display" #~ msgstr "New Display" #~ msgid "Advanced..." #~ msgstr "Advanced..." #~ msgid "&n:" #~ msgstr "&n:" #~ msgid "&m:" #~ msgstr "&m:" #~ msgid "&Length:" #~ msgstr "&Length:" #~ msgid "Uni&t:" #~ msgstr "Uni&t:" #~ msgid "periodic units" #~ msgstr "periodic units" #~ msgid "angstrom" #~ msgstr "angstrom" #~ msgid "bohr radii" #~ msgstr "bohr radii" #~ msgid "nanometers" #~ msgstr "nanometres" #~ msgid "picometers" #~ msgstr "picometres" #~ msgid "&Cap with hydrogen" #~ msgstr "&Cap with hydrogen" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgid "Find &double bonds" #~ msgstr "Find &double bonds" #~ msgid "Molecular Symmetry" #~ msgstr "Molecular Symmetry" #~ msgid "VRML Export" #~ msgstr "VRML Export" #~ msgid "Scale (mm/Å):" #~ msgstr "Scale (mm/Å):" #~ msgid "Smallest sphere (mm): " #~ msgstr "Smallest sphere (mm): " #~ msgid "VRML (color)" #~ msgstr "VRML (colour)" #~ msgid "Thinnest cylinder (mm): " #~ msgstr "Thinnest cylinder (mm): " #~ msgid "Calculate Size..." #~ msgstr "Calculate Size..." #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Translate by:" #~ msgid "X-axis" #~ msgstr "X-axis" #~ msgid "Y-axis" #~ msgstr "Y-axis" #~ msgid "Z-axis" #~ msgstr "Z-axis" #~ msgid "Rotate around:" #~ msgstr "Rotate around:" #~ msgid "Origin" #~ msgstr "Origin" #~ msgid "Geometry" #~ msgstr "Geometry" #~ msgid "Display visual cues" #~ msgstr "Display visual cues" #~ msgid "Python Settings" #~ msgstr "Python Settings" #~ msgid "Z Matrix Editor" #~ msgstr "Z Matrix Editor" #~ msgid "Import Selected Atoms" #~ msgstr "Import Selected Atoms" avogadrolibs-1.93.0/i18n/es.po000066400000000000000000006606711360735163600160400ustar00rootroot00000000000000# Spanish translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:31+0000\n" "Last-Translator: Miguel de Dios \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Generador de Entrada..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Generador de Entrada..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Continuar" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Cerrar" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Desconocido" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "Falló al iniciar abinit" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Abortar cálculo" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Advertencia" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Advertencia" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Seleccionar Solvente" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Salida:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Imposible guardar al archivo" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "No se ha escrito el archivo de vídeo" #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "No se ha escrito el archivo de vídeo" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Título" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nombre de archivo:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Procesadores:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Cálculo:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teoría:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teoría:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Base" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "No hay molecula seleccionada" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Detener animación" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Ningún átomo seleccionado" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrógeno" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helio" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litio" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berilio" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boro" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbono" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrógeno" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxígeno" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Flúor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neón" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodio" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesio" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminio" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicio" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fósforo" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Azufre" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Cloro" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argón" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potasio" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calcio" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Escandio" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanio" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadio" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Cromo" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganeso" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Hierro" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalto" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Níquel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Cobre" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinc" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Galio" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanio" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsénico" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenio" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromo" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Kripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidio" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Estroncio" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Itrio" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Circonio" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobio" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdeno" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tecnecio" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenio" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodio" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Paladio" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Plata" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmio" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indio" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Estaño" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimonio" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telurio" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Yodo" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cesio" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bario" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantano" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerio" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodimio" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodimio" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometio" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samario" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europio" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinio" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbio" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprosio" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmio" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbio" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tulio" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Iterbio" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutecio" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnio" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantalio" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Renio" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmio" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridio" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platino" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Oro" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercurio" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Talio" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Plomo" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuto" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonio" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astato" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radón" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francio" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radio" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinio" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Torio" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinio" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranio" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunio" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonio" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americio" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curio" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelio" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californio" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einstenio" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermio" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevio" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelio" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Laurencio" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordio" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnio" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgio" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrio" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassio" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerio" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtio" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenio" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicio" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Circonio" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovio" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorio" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Examinar..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Seleccionar Solvente" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Borrar seleccionados" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Todos los archivos" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "Sin título" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Tabla periódica" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Falló al iniciar abinit" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinit Falló." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Error de OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Desconocido" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molécula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Añadir átomo" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Eliminar átomo" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Limpiar todo" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Ajustar Hidrógenos" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Cambiar Elemento" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Cambiar Elemento" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Carga formal" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Añadir enlace" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Eliminar átomo" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Borrar enlace" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Orden de enlace" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Cambiar orden de enlace" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Romper enlaces" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Borrar enlace" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Añador &Celda" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Eliminar &celda" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Llenar Celda Unitaria" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Envolver Atomos a Célula" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Escalar el volumen unitario de la celda" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Súper Celda" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Rotar a la orientación estándar" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Reducir a una celda primitiva" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Dar simetría al cristal" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Llenar Celda Unitaria" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Reducir a una unidad asimétrica" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Archivo" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exportar" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Abrir archivo WFN" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Complementos" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Error" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Hubo un problema leyendo el archivo de trayectoria %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Error de OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Hubo un problema leyendo el archivo de trayectoria %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Abrir archivo WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Abrir archivo WFN" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Error" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Guardar Bandeja de Entrada" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "¡Éxito!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "La imagen se escribio en %1 sin errores" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Mostrar enlaces múltiples" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrógenos" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Bola y varilla" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Dibuja etiquetes en átomos y enlaces" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulación centrada en enlaces" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulación centrada en enlaces" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Átomo final" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Eliminar hidrógenos" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Construir" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Enlace" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Tolerancia para operaciones simétricas..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nombre de archivo:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Editor de coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Editor de coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Revertir cambios" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nombre de Archivo Inválido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nombre del elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Símbolo del Elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Símbolo del Elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nombre de Archivo Inválido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Número de Átomo" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nombre de Archivo Inválido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Coordenadas Cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Coordenadas Cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Coordenadas Cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Coordenadas Cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Coordenadas Cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Coordenadas Cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Establecer Coordenadas Cartesianas" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Andres Montejo Martinez,DiegoJ,Edgardo Fredz," "Enterhase,Feder Sáiz,Federico Vera,Gabriel Ruiz,Geoff Hutchison,Gothmog," "Javier García Díaz,Luis J. Claros,Pablo Catarecha,Rogelio Castillo A.," "cocoloco, ,Launchpad Contributions:,Andres Montejo Martinez,DiegoJ,Edgardo " "Fredz,Enterhase,Feder Sáiz,Federico Vera,Gabriel Ruiz,Geoff Hutchison," "Gothmog,Javier García Díaz,Luis J. Claros,Pablo Catarecha,Rogelio Castillo " "A.,cocoloco, ,Launchpad Contributions:,Avogadro Team,niniocompu, ,Launchpad " "Contributions:,Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team," "DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz,Francisco J. Aviles " "Noreña,Geoff Hutchison,Mauro de Carvalho,Nicolás M. Zahlut,Victor Herrero," "memaljo,niniocompu, ,Launchpad Contributions:,Alejandro Del Rincón,Angel " "Herráez,Ariel Cabral,Avogadro Team,Daniel Ferreira,DiegoJ,DiegoSuarez uy," "Edgardo Fredz,FJModrego,Feder Sáiz,Francisco J. Aviles Noreña,Geoff " "Hutchison,Mauro de Carvalho,Nicolás M. Zahlut,Victor Herrero,memaljo," "niniocompu, ,Launchpad Contributions:,Alejandro Del Rincón,Angel Herráez," "Ariel Cabral,Avogadro Team,Daniel Ferreira,DiegoJ,DiegoSuarez uy,Edgardo " "Fredz,FJModrego,Feder Sáiz,Francisco J. Aviles Noreña,Geoff Hutchison,Mauro " "de Carvalho,Nicolás M. Zahlut,Victor Herrero,memaljo,niniocompu, ,Launchpad " "Contributions:,Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team," "Daniel Ferreira,DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz," "Francisco J. Aviles Noreña,Geoff Hutchison,Mauro de Carvalho,Nicolás M. " "Zahlut,Victor Herrero,memaljo,niniocompu, ,Launchpad Contributions:," "Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team,Daniel " "Ferreira,DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz,Francisco " "J. Aviles Noreña,Geoff Hutchison,JoseRoberto,Mauro de Carvalho,Nicolás M. " "Zahlut,Victor Herrero,memaljo,niniocompu, ,Launchpad Contributions:," "Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team,Daniel " "Ferreira,DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz,Francisco " "J. Aviles Noreña,Geoff Hutchison,JoseRoberto,Mauro de Carvalho,Monkey," "Nicolás M. Zahlut,Victor Herrero,memaljo,niniocompu, ,Launchpad " "Contributions:,Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team," "Daniel Ferreira,DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz," "Francisco J. Aviles Noreña,Geoff Hutchison,JoseRoberto,Mauro de Carvalho," "Monkey,Nicolás M. Zahlut,Victor Herrero,memaljo,niniocompu, ,Launchpad " "Contributions:,Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team," "Daniel Ferreira,DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz," "Francisco J. Aviles Noreña,Geoff Hutchison,JoseRoberto,Mauro de Carvalho," "Maximiliano,Miguel Valdiri Badillo,Monkey,Nicolás M. Zahlut,Victor Herrero," "memaljo,niniocompu, ,Launchpad Contributions:,Alejandro Del Rincón,Angel " "Herráez,Ariel Cabral,Avogadro Team,Daniel Ferreira,DiegoJ,DiegoSuarez uy," "Edgardo Fredz,FJModrego,Feder Sáiz,Fitoschido,Francisco J. Aviles Noreña," "Geoff Hutchison,JoseRoberto,Lu,Mauro de Carvalho,Maximiliano,Miguel Valdiri " "Badillo,Monkey,Nicolás M. Zahlut,Victor Herrero,memaljo,niniocompu, ," "Launchpad Contributions:,Adolfo Jayme,Alejandro Del Rincón,Alejandro Moulia " "Cap Saint Jean,Angel Herráez,Ariel Cabral,Avogadro Team,Daniel Ferreira," "DiegoJ,DiegoSuarez uy,Dj Dracaufeu,Edgardo Fredz,Eduardo Alberto Calvo," "Eduardo Echeverria,FJModrego,Feder Sáiz,Francisco J. Aviles Noreña,Geoff " "Hutchison,Gróver Adán Tapia Domínguez,Jellby,Jose Gutierrez,JoseRoberto," "LinuxNerdo,Lu,Maximiliano,Miguel de Dios,Monkey,Nicolás M. Zahlut,Pablo de " "Castro,Paco Molinero,Rogelio Meza Torres,Victor Herrero,memaljo,niniocompu, ," "Launchpad Contributions:,Adolfo Jayme,Alejandro Del Rincón,Alejandro Moulia " "Cap Saint Jean,Angel Herráez,Ariel Cabral,Avogadro Team,Daniel Ferreira," "DiegoJ,DiegoSuarez uy,Dj Dracaufeu,Edgardo Fredz,Eduardo Alberto Calvo," "Eduardo Echeverria,FJModrego,Feder Sáiz,Francisco J. Aviles Noreña,Geoff " "Hutchison,Gróver Adán Tapia Domínguez,Jellby,Jose Gutierrez,JoseRoberto," "LinuxNerdo,Lu,Maximiliano,Miguel de Dios,Monkey,Nicolás M. Zahlut,Pablo de " "Castro,Paco Molinero,Rogelio Meza Torres,Victor Herrero,memaljo,niniocompu, ," "Launchpad Contributions:,Adolfo Jayme,Alejandro Del Rincón,Alejandro Moulia " "Cap Saint Jean,Angel Herráez,Ariel Cabral,Avogadro Team,Daniel,DiegoJ," "DiegoSuarez uy,Dj Dracaufeu,Edgardo Fredz,Eduardo Alberto Calvo,Eduardo " "Echeverria,FJModrego,Feder Sáiz,Francisco J. Aviles Noreña,Geoff Hutchison," "Gróver Adán Tapia Domínguez,Jellby,Jose Gutierrez,JoseRoberto,LinuxNerdo,Lu," "Maximiliano,Miguel de Dios,Monkey,Nicolás M. Zahlut,Pablo de Castro,Paco " "Molinero,Rogelio Meza Torres,Victor Herrero,memaljo,niniocompu" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ con numeros" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Coordenadas Cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Coordenadas Cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Información EFP de GAMESS" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Información EFP de GAMESS" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Copiar todo" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Personalizado:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Limpiar todo" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "No se pudo establecer formato %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "No se pudo establecer formato %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "I&mportar Crystal desde el portapapeles..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Llenar Celda Unitaria" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Llenar Celda Unitaria" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Envolver Atomos a Célula" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Rotar a la orientación estándar" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Escalar la Celda al Volumen..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Súper Celda" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Reducir Celda (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Cristal…" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Eliminar &celda" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Añador &Celda" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "Esta celda ya esta reducida a su representación canónica niggli." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Cristal…" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Dibuja etiquetes en átomos y enlaces" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "No se puede analizar el texto" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Ejes personalizados" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Dibujar" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Dibujar átomo" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Cambiar orden de enlace" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Eliminar átomo" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distancia" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distancia (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Otro..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOptimización" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Simple" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Doble" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triple" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Hubo un problema leyendo el archivo de trayectoria %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Generador de Entrada..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Entrada de GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Energía en un punto" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Geometría de equilibrio" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Estado de transición" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frecuencias" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Potencial Nuclear" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Agua" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlete" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doblete" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplete" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dicatión" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Catión" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutro" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anión" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianión" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Bandeja de entrada de GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Abortar cálculo" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Ajustar Hidrógenos" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Añadir hidrógenos" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Eliminar hidrógenos" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Eliminar hidrógenos" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrógenos" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidrógenos" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importar" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Dibuja etiquetes en átomos y enlaces" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&insertar" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Sin descripción" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molécula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Generar..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipular" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipular átomo" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Mediciones" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Dihedro:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Ángulo:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Ángulo:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Mediciones" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Genera mallas de isosuperficies moleculares" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Ver" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Propiedades moleculares" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navegar" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navegar" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nombre quimico" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Structura para descargar" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Descarga Fallida" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Venció el tiempo de red u otro error." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "La molécula especificada no pudo ser encontrada: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Descarga Fallida" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimizar Geometría" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Optimización de geometría" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "¿Percibir los enlaces?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Añadir hidrógenos" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Añadir Hidrógenos para el pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Eliminar hidrógenos" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "No se pudo leer la molecula del archivo '%1'" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Hubo un problema al escribir el archivo %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimizar Geometría" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Generar..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "El archivo de trayectoria %1 indica que hay un número diferente de átomos en " "la molécula actual" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimizar Geometría" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Añadir hidrógenos" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Añadir hidrógenos de pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Eliminar hidrógenos" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Parar" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parámetros:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Enlaces dinámicos" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Quitar ..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Parar" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Exportar Gráfico de Vector" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "No se puede leer el archivo %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Error" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Guardar archivo de vídeo" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Generar usando POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM - Quantum Theory of Atoms in Molecules" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Renderiza primitivas usando propiedades QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Gráfico Molecular" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Gráfico Molecular con pares libres ..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Carga Atómica" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensiones" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Abrir archivo WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Archivos WFN (*.wfn);;All files (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Extension QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Crear archivos de entrada para paquetes de química cuántica" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calculando densidad electrónica" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calculando densidad electrónica" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calcular y visualizar orbitas moleculares" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "OM %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Reiniciar" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Generadores de archivo de entrada" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Eliminar Todo" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selección" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Invertir selección" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " electrones de valencia" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Seleccionar" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Seleccionar" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Selección" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selección" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Percibir un grupo de espacio" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Reducir a una unidad asimétrica" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Espacio&grupo" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "La percepción grupal de espacio ha fallado.\n" "\n" "¿Desea intentarlo de nuevo con una tolerancia diferente?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "La percepción grupal de espacio ha fallado.\n" "\n" "¿Desea intentarlo de nuevo con una tolerancia diferente?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "La percepción grupal de espacio ha fallado.\n" "\n" "¿Desea intentarlo de nuevo con una tolerancia diferente?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "La percepción grupal de espacio ha fallado.\n" "\n" "¿Desea intentarlo de nuevo con una tolerancia diferente?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Selecciona la tolerancia en las coordenadas cartesianas utilizadas:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Internacional" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Sala" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Seleccionar un grupo de espacio" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Espacio&grupo" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibraciones" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Visualización de los espectros" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Mostrar coordenadas &fraccionarias" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tipo" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Elemento" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Simetría" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Seleccionar por Elemento..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Dibuja los momentos dipolares" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Generar" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Generar usando POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Armazón de alambre" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Dibuja moléculas como palos" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Forma" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Configuraciones de selección" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Abortar cálculo" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Programa de sombreado:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Procesadores:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Ocultar cuando finalice" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Ocultar cuando finalice" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Cambiar Elemento" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Archivo de entrada Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Archivo de Par:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Forzar campo:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Archivo de Par:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Archivo de entrada Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Guardar Bandeja de Entrada" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "¡Éxito!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Estructura:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Cargar Archivo..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Configuraciones de Medida" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Nombre de archivo" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navegar" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navegar" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navegar" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nombre de archivo:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "Aceptar" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Cancelar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Editor de coordenadas cartesianas" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Reiniciar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distancia" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formato:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Revertir cambios" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Aplicar" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parámetros de Súper Celda" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Opciones de Súper Celda" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Repetir A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Repetir B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Repetir C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Establecer color de la unidad de la célula" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matriz Celular (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Matriz Celular Fraccionaria (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Interpretar Atomos" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Ocultar" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Escalar el volumen unitario de la celda" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Inserte el nuevo volumen:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Factor Escalar de Frecuencia" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Elemento:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Orden de Enlace:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Entrada de GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Configuración Básica" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Dentro:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicidad:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Con:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Título:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Carga:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calcular:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nombre de archivo:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Restablecer Todo" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Predeterminados" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Cargar Archivo..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nombre" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formato:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Sin descripción" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Peso molecular (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Fórmula química:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Número de átomos:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Número de Bonos:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Optimización de geometría" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Método de Optimización:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Forzar campo:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Método de Optimización:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Descenso por gradiente" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Gradientes Conjugados" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutoRotar" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosuperficie = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potencial Electrostático" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "pasos" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Criterio de Convergencia de Gradiente" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergencia" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Límite de Tiempo:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Unidades:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Número de Bonos:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Longitud de onda (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Borrar seleccionados" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalente" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacidad:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Superficies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Superficies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Medio" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Bajo" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Alto" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Valor de limíte de isosuperficie" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolución:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Superficies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calcular" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibraciones" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitud:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Empezar animación" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Detener animación" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molécula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Simetría" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Opciones" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Simetría" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Espacio&grupo" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Andres Montejo Martinez,DiegoJ,Edgardo Fredz," "Enterhase,Feder Sáiz,Federico Vera,Gabriel Ruiz,Geoff Hutchison,Gothmog," "Javier García Díaz,Luis J. Claros,Pablo Catarecha,Rogelio Castillo A.," "cocoloco, ,Launchpad Contributions:,Andres Montejo Martinez,DiegoJ,Edgardo " "Fredz,Enterhase,Feder Sáiz,Federico Vera,Gabriel Ruiz,Geoff Hutchison," "Gothmog,Javier García Díaz,Luis J. Claros,Pablo Catarecha,Rogelio Castillo " "A.,cocoloco, ,Launchpad Contributions:,Avogadro Team,niniocompu, ,Launchpad " "Contributions:,Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team," "DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz,Francisco J. Aviles " "Noreña,Geoff Hutchison,Mauro de Carvalho,Nicolás M. Zahlut,Victor Herrero," "memaljo,niniocompu, ,Launchpad Contributions:,Alejandro Del Rincón,Angel " "Herráez,Ariel Cabral,Avogadro Team,Daniel Ferreira,DiegoJ,DiegoSuarez uy," "Edgardo Fredz,FJModrego,Feder Sáiz,Francisco J. Aviles Noreña,Geoff " "Hutchison,Mauro de Carvalho,Nicolás M. Zahlut,Victor Herrero,memaljo," "niniocompu, ,Launchpad Contributions:,Alejandro Del Rincón,Angel Herráez," "Ariel Cabral,Avogadro Team,Daniel Ferreira,DiegoJ,DiegoSuarez uy,Edgardo " "Fredz,FJModrego,Feder Sáiz,Francisco J. Aviles Noreña,Geoff Hutchison,Mauro " "de Carvalho,Nicolás M. Zahlut,Victor Herrero,memaljo,niniocompu, ,Launchpad " "Contributions:,Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team," "Daniel Ferreira,DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz," "Francisco J. Aviles Noreña,Geoff Hutchison,Mauro de Carvalho,Nicolás M. " "Zahlut,Victor Herrero,memaljo,niniocompu, ,Launchpad Contributions:," "Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team,Daniel " "Ferreira,DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz,Francisco " "J. Aviles Noreña,Geoff Hutchison,JoseRoberto,Mauro de Carvalho,Nicolás M. " "Zahlut,Victor Herrero,memaljo,niniocompu, ,Launchpad Contributions:," "Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team,Daniel " "Ferreira,DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz,Francisco " "J. Aviles Noreña,Geoff Hutchison,JoseRoberto,Mauro de Carvalho,Monkey," "Nicolás M. Zahlut,Victor Herrero,memaljo,niniocompu, ,Launchpad " "Contributions:,Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team," "Daniel Ferreira,DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz," "Francisco J. Aviles Noreña,Geoff Hutchison,JoseRoberto,Mauro de Carvalho," "Monkey,Nicolás M. Zahlut,Victor Herrero,memaljo,niniocompu, ,Launchpad " "Contributions:,Alejandro Del Rincón,Angel Herráez,Ariel Cabral,Avogadro Team," "Daniel Ferreira,DiegoJ,DiegoSuarez uy,Edgardo Fredz,FJModrego,Feder Sáiz," "Francisco J. Aviles Noreña,Geoff Hutchison,JoseRoberto,Mauro de Carvalho," "Maximiliano,Miguel Valdiri Badillo,Monkey,Nicolás M. Zahlut,Victor Herrero," "memaljo,niniocompu, ,Launchpad Contributions:,Alejandro Del Rincón,Angel " "Herráez,Ariel Cabral,Avogadro Team,Daniel Ferreira,DiegoJ,DiegoSuarez uy," "Edgardo Fredz,FJModrego,Feder Sáiz,Fitoschido,Francisco J. Aviles Noreña," "Geoff Hutchison,JoseRoberto,Lu,Mauro de Carvalho,Maximiliano,Miguel Valdiri " "Badillo,Monkey,Nicolás M. Zahlut,Victor Herrero,memaljo,niniocompu, ," "Launchpad Contributions:,Adolfo Jayme,Alejandro Del Rincón,Alejandro Moulia " "Cap Saint Jean,Angel Herráez,Ariel Cabral,Avogadro Team,Daniel Ferreira," "DiegoJ,DiegoSuarez uy,Dj Dracaufeu,Edgardo Fredz,Eduardo Alberto Calvo," "Eduardo Echeverria,FJModrego,Feder Sáiz,Francisco J. Aviles Noreña,Geoff " "Hutchison,Gróver Adán Tapia Domínguez,Jellby,Jose Gutierrez,JoseRoberto," "LinuxNerdo,Lu,Maximiliano,Miguel de Dios,Monkey,Nicolás M. Zahlut,Pablo de " "Castro,Paco Molinero,Rogelio Meza Torres,Victor Herrero,memaljo,niniocompu, ," "Launchpad Contributions:,Adolfo Jayme,Alejandro Del Rincón,Alejandro Moulia " "Cap Saint Jean,Angel Herráez,Ariel Cabral,Avogadro Team,Daniel Ferreira," "DiegoJ,DiegoSuarez uy,Dj Dracaufeu,Edgardo Fredz,Eduardo Alberto Calvo," "Eduardo Echeverria,FJModrego,Feder Sáiz,Francisco J. Aviles Noreña,Geoff " "Hutchison,Gróver Adán Tapia Domínguez,Jellby,Jose Gutierrez,JoseRoberto," "LinuxNerdo,Lu,Maximiliano,Miguel de Dios,Monkey,Nicolás M. Zahlut,Pablo de " "Castro,Paco Molinero,Rogelio Meza Torres,Victor Herrero,memaljo,niniocompu, ," "Launchpad Contributions:,Adolfo Jayme,Alejandro Del Rincón,Alejandro Moulia " "Cap Saint Jean,Angel Herráez,Ariel Cabral,Avogadro Team,Daniel,DiegoJ," "DiegoSuarez uy,Dj Dracaufeu,Edgardo Fredz,Eduardo Alberto Calvo,Eduardo " "Echeverria,FJModrego,Feder Sáiz,Francisco J. Aviles Noreña,Geoff Hutchison," "Gróver Adán Tapia Domínguez,Jellby,Jose Gutierrez,JoseRoberto,LinuxNerdo,Lu," "Maximiliano,Miguel de Dios,Monkey,Nicolás M. Zahlut,Pablo de Castro,Paco " "Molinero,Rogelio Meza Torres,Victor Herrero,memaljo,niniocompu" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,Nathan_chud@hotmail.com,diegojromerolopez@gmail.com,medeshago@gmail.com," "patricio.oshee@gmail.com,federsaiz@googlemail.com,,debianmaster@gmail." "com,,,,,pczoido@gmail.com,,jalvarezrom@gmail.com,,,Nathan_chud@hotmail.com," "diegojromerolopez@gmail.com,medeshago@gmail.com,patricio.oshee@gmail.com," "federsaiz@googlemail.com,,debianmaster@gmail.com,,,,,pczoido@gmail.com,," "jalvarezrom@gmail.com,,,avogadro-devel@lists.sourceforge.net,,,,," "aherraez@users.sourceforge.net,,avogadro-devel@lists.sourceforge.net," "diegojromerolopez@gmail.com,jdiegosuarez@hotmail.es,medeshago@gmail.com,," "federsaiz@googlemail.com,fjavilesn@gmail.com,,mauro.dec@gmail.com," "nzahlut@live.com,victorhera@gmail.com,memaljo@yahoo.com,,,,,aherraez@users." "sourceforge.net,,avogadro-devel@lists.sourceforge.net,spanish_nerdo@hotmail." "com,diegojromerolopez@gmail.com,jdiegosuarez@hotmail.es,medeshago@gmail.com,," "federsaiz@googlemail.com,fjavilesn@gmail.com,,mauro.dec@gmail.com," "nzahlut@live.com,victorhera@gmail.com,memaljo@yahoo.com,,,,,aherraez@users." "sourceforge.net,,avogadro-devel@lists.sourceforge.net,spanish_nerdo@hotmail." "com,diegojromerolopez@gmail.com,jdiegosuarez@hotmail.es,medeshago@gmail." "com,,,fjavilesn@gmail.com,,mauro.dec@gmail.com,nzahlut@live.com," "victorhera@gmail.com,memaljo@yahoo.com,,,,,aherraez@users.sourceforge.net,," "avogadro-devel@lists.sourceforge.net,spanish_nerdo@hotmail.com," "diegojromerolopez@gmail.com,jdiegosuarez@hotmail.es,medeshago@gmail.com,,," "fjavilesn@gmail.com,,mauro.dec@gmail.com,nzahlut@live.com,victorhera@gmail." "com,memaljo@yahoo.com,,,,,aherraez@users.sourceforge.net,,avogadro-" "devel@lists.sourceforge.net,spanish_nerdo@hotmail.com," "diegojromerolopez@gmail.com,jdiegosuarez@hotmail.es,medeshago@gmail.com,,," "fjavilesn@gmail.com,,,mauro.dec@gmail.com,nzahlut@live.com,victorhera@gmail." "com,memaljo@yahoo.com,,,,,aherraez@users.sourceforge.net,,avogadro-" "devel@lists.sourceforge.net,spanish_nerdo@hotmail.com," "diegojromerolopez@gmail.com,jdiegosuarez@hotmail.es,medeshago@gmail.com,,," "fjavilesn@gmail.com,,,mauro.dec@gmail.com,,nzahlut@live.com,victorhera@gmail." "com,memaljo@yahoo.com,,,,,aherraez@users.sourceforge.net,,avogadro-" "devel@lists.sourceforge.net,spanish_nerdo@hotmail.com," "diegojromerolopez@gmail.com,jdiegosuarez@hotmail.es,medeshago@gmail.com,,," "fjavilesn@gmail.com,,,mauro.dec@gmail.com,monkey.libre@gmail.com," "nzahlut@live.com,victorhera@gmail.com,memaljo@yahoo.com,,,,,aherraez@users." "sourceforge.net,,avogadro-devel@lists.sourceforge.net,spanish_nerdo@hotmail." "com,diegojromerolopez@gmail.com,jdiegosuarez@hotmail.es,medeshago@gmail." "com,,,fjavilesn@gmail.com,,,mauro.dec@gmail.com,meilan@adinet.com.uy," "catastro1@tutopia.com,monkey.libre@gmail.com,nzahlut@live.com," "victorhera@gmail.com,memaljo@yahoo.com,,,,,aherraez@users.sourceforge.net,," "avogadro-devel@lists.sourceforge.net,spanish_nerdo@hotmail.com," "diegojromerolopez@gmail.com,jdiegosuarez@hotmail.es,medeshago@gmail.com,,," "fitoschido@gmail.com,fjavilesn@gmail.com,,,,mauro.dec@gmail.com," "meilan@adinet.com.uy,catastro1@tutopia.com,monkey.libre@gmail.com," "nzahlut@live.com,victorhera@gmail.com,memaljo@yahoo.com,,,,fitoschido@gmail." "com,,alejandromoulia@gmail.com,aherraez@users.sourceforge.net,,avogadro-" "devel@lists.sourceforge.net,spanish_nerdo@hotmail.com," "diegojromerolopez@gmail.com,jdiegosuarez@hotmail.es,djdracaufeu@hotmail.com," "medeshago@gmail.com,,,,,fjavilesn@gmail.com,,grovertapia@hotmail.com,,joseb." "gutierrez@gmail.com,,,,meilan@adinet.com.uy,tres.14159@gmail.com,monkey." "libre@gmail.com,nzahlut@live.com,,paco@byasl.com,,victorhera@gmail.com," "memaljo@yahoo.com,,,,fitoschido@gmail.com,,alejandromoulia@gmail.com," "aherraez@users.sourceforge.net,,avogadro-devel@lists.sourceforge.net," "spanish_nerdo@hotmail.com,diegojromerolopez@gmail.com,jdiegosuarez@hotmail." "es,djdracaufeu@hotmail.com,medeshago@gmail.com,,,,,fjavilesn@gmail.com,," "grovertapia@hotmail.com,,joseb.gutierrez@gmail.com,,,,meilan@adinet.com.uy," "tres.14159@gmail.com,monkey.libre@gmail.com,nzahlut@live.com,,paco@byasl." "com,,victorhera@gmail.com,memaljo@yahoo.com,,,,,,alejandromoulia@gmail.com," "aherraez@users.sourceforge.net,,avogadro-devel@lists.sourceforge.net," "spanish_nerdo@hotmail.com,diegojromerolopez@gmail.com,jdiegosuarez@hotmail." "es,djdracaufeu@hotmail.com,medeshago@gmail.com,,,,,fjavilesn@gmail.com,," "grovertapia@hotmail.com,,joseb.gutierrez@gmail.com,,,,meilan@adinet.com.uy," "tres.14159@gmail.com,monkey.libre@gmail.com,nzahlut@live.com,,paco@byasl." "com,,victorhera@gmail.com,memaljo@yahoo.com," #~ msgid "Color by Index" #~ msgstr "Color por índice" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Color por índice (rojo, naranja, amarillo, verde, azul, violeta)." #~ msgid "Color by Partial Charge" #~ msgstr "Color por carga parcial" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Color por carga atómica parcial (azul = positiva, rojo = negativa)." #~ msgid "Custom Color:" #~ msgstr "Color personalizado:" #~ msgid "Custom Color" #~ msgstr "Color personalizado" #~ msgid "Set custom colors for objects" #~ msgstr "Establecer colores personalizados para los objetos" #~ msgid "Color by Distance" #~ msgstr "Color por distancia" #~ msgid "Color by distance from the first atom." #~ msgstr "Color por distancia desde el primer átomo." #~ msgid "Color by Element" #~ msgstr "Color por elemento" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Color por elemento (carbono = gris, oxígeno = rojo)" #~ msgid "Color by Residue" #~ msgstr "Color por radical" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Color por residuo (tipo aminoácido, hidrofobiia, ...)" #~ msgid "SMARTS Pattern:" #~ msgstr "Patrón SMARTS" #~ msgid "Highlight Color:" #~ msgstr "Resaltar color:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Color por Patrón SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "" #~ "Resaltar características particulares que se ajustan a patrones SMARTS" #~ msgid "Ununtrium" #~ msgstr "Ununtrio" #~ msgid "Ununpentium" #~ msgstr "Ununpentio" #~ msgid "Ununseptium" #~ msgstr "Ununseptio" #~ msgid "Ununoctium" #~ msgstr "Ununoctio" #~ msgid "Engines" #~ msgstr "Motores" #~ msgid "Axes" #~ msgstr "Ejes" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Renderiza los ejes x, y y z en el origen" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Representa las primitivas usando esferas (átomos) y palos (enlaces)" #~ msgid "Cartoon" #~ msgstr "Esquemático" #~ msgid "Renders protein secondary structure" #~ msgstr "Renderiza la estructura secundaria de la proteina" #~ msgid "Dipole" #~ msgstr "Dipolo" #~ msgid "Force" #~ msgstr "Fuerza" #~ msgid "Renders force displacements on atoms" #~ msgstr "Dibuja la fuerza de desplazamiento en átomos" #~ msgid "Hydrogen Bond" #~ msgstr "Enlace de Hidrógeno" #~ msgid "Renders hydrogen bonds" #~ msgstr "Representa enlaces de hidrógeno" #~ msgid "Select Atom Labels Color" #~ msgstr "Seleccionar el color de las etiquetas de los átomos" #~ msgid "Select Bond Labels Color" #~ msgstr "Seleccionar el color de las etiquetas de los enlaces" #~ msgid "Select Atom Labels Font" #~ msgstr "Seleccionar la tipografía de las etiquetas de los átomos" #~ msgid "Select Bond Labels Font" #~ msgstr "Seleccionar la tipografía de las etiquetas de los enlaces" #~ msgid "Label" #~ msgstr "Etiqueta" #~ msgid "Polygon" #~ msgstr "Polígono" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Dibuja átomos como tetraedros, octaedros y otros polígonos" #~ msgid "Ribbon" #~ msgstr "Cinta" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Hace proteína troncales como cintas" #~ msgid "Ring" #~ msgstr "Anillo" #~ msgid "Renders rings with colored planes" #~ msgstr "Hace con anillos de colores planos" #~ msgid "Simple Wireframe" #~ msgstr "Alambre simple" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Hace bonos cables (líneas), ideal para grandes moléculas" #~ msgid "Van der Waals Spheres" #~ msgstr "Esferas de Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Traza átomos como esferas de Van der Waals" #~ msgid "Stick" #~ msgstr "Varilla" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Densidad Electrónica, isosuperficie = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosuperficie = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Representa enlaces como alambres (líneas), ideal para (bio)moléculas muy " #~ "grandes" #~ msgid "Trajectory files" #~ msgstr "Archivos Trajectory" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Archivos DL-POLY HISTORY" #~ msgid "Open Trajectory File" #~ msgstr "Abrir archivo Trajectory" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "archivos de vídeo (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Añadiendo complemento .avi" #~ msgid "Animation..." #~ msgstr "Animación..." #~ msgid "Cannot read file format of file %1." #~ msgstr "No se puede leer el formato del archivo %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Falló lectura del archivo de trayectoria %1." #~ msgid "Must specify a valid .avi file name" #~ msgstr "El nombre del archivo .avi ha de ser válido" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "GL artilugio no se inicializa correctamente, a fin de salvar de vídeo" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Nombre de archivo de vídeo no válido. Se debe incluir la ruta completa al " #~ "directorio" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Nombre de archivo de vídeo no válido. Se debe incluir la ruta completa al " #~ "directorio y el nombre, acabado en .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Formato de archivo no reconocido: %1" #~ msgid "Animation" #~ msgstr "Animación" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animar trayectorias, reacciones y vibraciones." #~ msgid "Cartesian Editor" #~ msgstr "Editor Cartesiano" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Sin definir una celda para la molécula -- no usar coordenadas decimales." #~ msgid "Cartesian Editor..." #~ msgstr "Editor Cartesiano..." #~ msgid "Cartesian editor" #~ msgstr "Editor cartesiano" #~ msgid "Number of atoms: %1" #~ msgstr "Número de átomos: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Número de enlaces rotables: %1" #~ msgid "Add constraint" #~ msgstr "Añadir reducción" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Tu molécula debe contener a lo menos un átomo para añadir una fuerza." #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "La molécula debe contener al menos dos átomos para añadir una restricción " #~ "de enlace." #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Tu molécula debe contener a lo menos tres átomos para añadir una fuerza " #~ "angular ." #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Tu molécula debe contener a lo menos cuatro átomos para añadir una fuerza " #~ "de torsión" #~ msgid "&Crystallography" #~ msgstr "&Cristalografía" #~ msgid "&Reduce" #~ msgstr "&Reducir" #~ msgid "&Settings" #~ msgstr "&Configuración" #~ msgid "&Length Unit" #~ msgstr "Unidad de &longitud" #~ msgid "&Angle Unit" #~ msgstr "Unidad de á&ngulo" #~ msgid "&Coordinate Display" #~ msgstr "&Coordinar vista" #~ msgid "Coordinate &Preservation" #~ msgstr "Coordinar &preservación" #~ msgid "&Matrix Display" #~ msgstr "&Mostrar Matriz" #~ msgid "Hide &Editors" #~ msgstr "Ocultar &editores" #~ msgid "Show &Editors" #~ msgstr "Mostrar &editores" #~ msgid "Hide &Property Display" #~ msgstr "Ocultar &Propiedades de Pantalla" #~ msgid "Show &Property Display" #~ msgstr "Mostrar &Propiedades de pantalla" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Tipo de enrejado: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Espacio de grupo: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Volumen de celda: %L1%2" #~ msgid "Undefined" #~ msgstr "No definido" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triclínico" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoclinico" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortorrómbico" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonal" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Rombohedral" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hexagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Cúbico" #~ msgid "Paste Crystal" #~ msgstr "Pegar Crystal" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Niggli-reducción fallado. La estructura de entrada de red que se confunde " #~ "el algoritmo de reducción de Niggli. Trate de hacer una pequeña " #~ "perturbación (aprox. 2 órdenes de magnitud menor que la tolerancia) a las " #~ "celosías de entrada y vuelva a intentarlo." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "No se ha podido reducir la celda después de 1000 iteraciones del " #~ "algoritmo de reducción. Deteniendo" #~ msgid "&Translate Atoms..." #~ msgstr "&Interpretar átomos..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Rotar a Orientación Estándar" #~ msgid "&Slab..." #~ msgstr "&Slab" #~ msgid "Perceive Space&group..." #~ msgstr "Percibir el espacio y el grupo ..." #~ msgid "Set &Spacegroup..." #~ msgstr "Asignar Grupo Espacial" #~ msgid "&Fill Unit Cell" #~ msgstr "Rellenar Celda Unidad" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Rellenar la unidad usando el grupo espacial actual" #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Reducir a unidad asimétrica" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "" #~ "Retire átomos en posiciones equivalentes (inverso del relleno de Unidad " #~ "celular)." #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Dar si&metría al cristal" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Reducir Celda (&Primitiva)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "Nanómetro" #~ msgid "&Picometer" #~ msgstr "Picómetro" #~ msgid "&Degree" #~ msgstr "&Grado" #~ msgid "&Radian" #~ msgstr "&Radián" #~ msgid "Display &cartesian coordinates" #~ msgstr "Mostrar coordenadas &cartesianas" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "" #~ "Conservar Coordenadas &Cartesianas Durante la Modificación de la Célula" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "" #~ "Conservar Coordenadas &Fraccionarias Durante la Modificación de la Célula" #~ msgid "Display &cartesian matrix" #~ msgstr "Mostrar matriz &cartesiana" #~ msgid "Display &fractional matrix" #~ msgstr "Mostrar matriz &fraccionaria" #~ msgid "Display as &row vectors" #~ msgstr "Mostrar como vectores en &columna" #~ msgid "Display as &column vectors" #~ msgstr "Mostrar como vectores de &columna" #~ msgid "&Crystal View Options..." #~ msgstr "Y opciones de visualización de cristal ..." #~ msgid "" #~ "

Perceived spacegroup %1, Hall symbol %2, Hermann-Mauguin symbol %3." #~ "

Cell can be symmetrized into a conventional setting, do you wish to " #~ "do so? Actions that make use of symmetry (e.g. supercell builder) require " #~ "this.

" #~ msgstr "" #~ "

La percepción de grupo espacial %1, Símbolo Hall %2, Símbolo de " #~ "Hermann-Mauguin %3.

La Célula puede ser simetrizada en una " #~ "configuración convensional, ¿desea hacerlo? Acciones que hacen uso de la " #~ "simetría (por ejemplo, el constructor de supercelda) requiere esto.

" #~ msgid "Set Spacegroup" #~ msgstr "Asignar un grupo de espacio" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "No hay un grupo de espacio asignado para este documento.\n" #~ "\n" #~ "¿Le gustaría asignar un grupo de espacio ahora?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Se ha detectado un grupo de espacio P1 -- no se ha podido hacer simétrico " #~ "este grupo de espacio.\n" #~ "\n" #~ "¿Le gustaría intentar de nuevo con una tolerancia diferente?" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Convertír átomos en celdas" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Reducir a una celda del tipo Niggli" #~ msgid "Crystallography" #~ msgstr "Cristalografía" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Construir y Analizar estructuras periódicas" #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "La entrada no está formateada como uno de\n" #~ "los siguientes formatos soportados:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Formato VASP\n" #~ msgid "Bad Compostion" #~ msgstr "Composición errónea" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "El campo de las identidades debe contener el mismo número de entradas " #~ "delimitados por espacios como la línea 6 del POSCAR." #~ msgid "Cartesian Coordinates" #~ msgstr "Coordenadas cartesianas" #~ msgid "Fractional Coordinates" #~ msgstr "Coordenadas Fraccionarias" #~ msgid "Set Fractional Coordinates" #~ msgstr "Establecer Coordenadas Fraccionarias" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Establecer Matriz Celular Unitaria" #~ msgid "Set Unit Cell Params" #~ msgstr "Establecer Parámetros de la Célula Unitaria" #~ msgid "Working..." #~ msgstr "Procesando..." #~ msgid "Build" #~ msgstr "Construcción" #~ msgid "No GLWidget?" #~ msgstr "No GLWidget?" #~ msgid "Please select one or more atoms." #~ msgstr "Por favor seleccione uno o más átomos." #~ msgid "Trajectory..." #~ msgstr "Trayectoria..." #~ msgid "Open chemical file format" #~ msgstr "Abrir formato de archivo químico" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Archivos químicos (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Abrir archivo de parámetros" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Archivos químicos (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importar trayectoria" #~ msgid "Import trajectory files" #~ msgstr "Importar archivos de trayectoria" #~ msgid "Setup Force Field..." #~ msgstr "Configurar campo de fuerza..." #~ msgid "Calculate Energy" #~ msgstr "Calcular Energía" #~ msgid "Conformer Search..." #~ msgstr "Búsqueda de Confórmeros..." #~ msgid "Constraints..." #~ msgstr "Impedimentos..." #~ msgid "Ignore Selection" #~ msgstr "Ignorar Selección" #~ msgid "Fix Selected Atoms" #~ msgstr "Fijar Átomos Seleccionadaos" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mecánica molecular" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "No fue posible establecer la energía potencial para la molécula. " #~ "Cambiando a UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Energía = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Optimización Geométrica" #~ msgid "Forcefield Optimization" #~ msgstr "Optimización de campos de fuerza" #~ msgid "Systematic Rotor Search" #~ msgstr "Búsqueda sistemática de rotores" #~ msgid "Random Rotor Search" #~ msgstr "Búsqueda aleatoria de rotores" #~ msgid "Weighted Rotor Search" #~ msgstr "Búsqueda ponderada de rotores" #~ msgid "Genetic Algorithm Search" #~ msgstr "Buscar De Algoritmo Genético" #~ msgid "ForceField" #~ msgstr "Campo de fuerzas" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimizar y generar moléculas conformers utilizando campos de fuerza " #~ "mecánica molecular" #~ msgid "&Vector Graphics..." #~ msgstr "Gráficos &vectoriales..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Formatos de imágenes vectoriales comunes" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Exportación de gráfico de vector" #~ msgid "Change H to Methyl" #~ msgstr "Cambiar H a Metilo" #~ msgid "H to Methyl" #~ msgstr "H a metilo" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Hidrógenos transformar a los grupos metilo" #~ msgid "Add or remove hydrogens" #~ msgstr "Agregar o quitar hidrógenos" #~ msgid "DNA/RNA..." #~ msgstr "ADN/ARN" #~ msgid "Insert DNA" #~ msgstr "Insertar ADN" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "Uracilo" #~ msgid "Uracil" #~ msgstr "Uracilo" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Timina" #~ msgid "Insert DNA/RNA" #~ msgstr "Insertar ADN/ARN" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Insertar cadenas de ADN/ARN" #~ msgid "Cannot read molecular file %1." #~ msgstr "No se puede leer el archvo molecular %1." #~ msgid "Fragment..." #~ msgstr "Fragmento ..." #~ msgid "Insert SMILES" #~ msgstr "insertar Sonrisas" #~ msgid "Insert SMILES fragment:" #~ msgstr "Insertar fragmento SONRISAS" #~ msgid "Insert Fragment" #~ msgstr "Insertar fragmento" #~ msgid "Insert Crystal" #~ msgstr "Insertar Cristal" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "" #~ "Insertar fragmentos moleculares para la construcción de grandes moléculas" #~ msgid "Peptide..." #~ msgstr "Péptido ..." #~ msgid "Insert Peptide" #~ msgstr "Insertar Péptidos" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Insertar secuencias Oligopeptide" #~ msgid "Invert Chirality" #~ msgstr "Resolución óptica (Chirality) inversa" #~ msgid "InvertChiral" #~ msgstr "ChiralInverso" #~ msgid "Invert chiral centers" #~ msgstr "Invertir el centro del quiral" #~ msgid "Molecule Properties..." #~ msgstr "Propiedades de la Molécula." #~ msgid "&Properties" #~ msgstr "&Propiedades" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "desconocido" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "(" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(pendiente)" #~ msgid "Display standard molecular properties." #~ msgstr "Pantalla estándar de propiedades moleculares." #~ msgid "Fetch from PDB..." #~ msgstr "Obtener de PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Buscar por nombre químico" #~ msgid "Fetch from URL..." #~ msgstr "Obtener de URL..." #~ msgid "PDB Entry" #~ msgstr "Entrada de PDB" #~ msgid "PDB entry to download." #~ msgstr "Entrada PDB a descargar." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL de la molécula a ser descargada." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "La molécula especificada no pudo ser cargada: %1" #~ msgid "Network Fetch" #~ msgstr "Obtener de la red" #~ msgid "Fetch molecule files over the network." #~ msgstr "Obtener la molécula a través de la red." #~ msgid "All Files" #~ msgstr "Todos los archivos" #~ msgid "Show Preview" #~ msgstr "Mostrar previsualización" #~ msgid "Hide Preview" #~ msgstr "Ocultar previsualización" #~ msgid "Intensities" #~ msgstr "Intensidades" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Guardar imagen POV-Ray renderizada" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Archivos de imágenes (*.png, *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "No se ha sumistrado un nombre de archivo." #~ msgid "No valid filename was supplied." #~ msgstr "No se ha dado un nombre de archivo válido." #~ msgid "Does not compute." #~ msgstr "No computa." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Se solicito la generacion no directa de una imagen usando POV-Ray y " #~ "eliminar el archivo POV-Ray. La imagen no sera salvada. Deseas " #~ "continuar?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Imposible escribir en el archivo %1. Tienes permiso para escribir en ese " #~ "lugar?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray ha fallado al iniciarse." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray ha fallado al iniciarse. Quizás la ruta a su ejecutable no sea la " #~ "correcta." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Crear archivos POV-Ray y generar las imagenes usando la linea de " #~ "comandos en POV-Ray" #~ msgid "Atom Properties..." #~ msgstr "Propiedades Atómicas..." #~ msgid "Bond Properties..." #~ msgstr "Propiedades de enlace..." #~ msgid "Angle Properties..." #~ msgstr "Propiedades del Ángulo..." #~ msgid "Torsion Properties..." #~ msgstr "Propiedades de Torsión..." #~ msgid "Conformer Properties..." #~ msgstr "Propiedades del confórmero..." #~ msgid "Atom Properties" #~ msgstr "Propiedades del átomo..." #~ msgid "Bond Properties" #~ msgstr "Propiedades del enlace" #~ msgid "Angle Properties" #~ msgstr "Propiedades del Ángulo" #~ msgid "Torsion Properties" #~ msgstr "Propiedades de torsión" #~ msgid "Conformer Properties" #~ msgstr "Propiedades del confórmero" #~ msgid "Properties" #~ msgstr "Propiedades" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Ventanas para mostrar las propiedades de átomos, enlaces, ángulos de " #~ "énlaces y torsión. También incluye un editor de coordenadas cartesianas." #~ msgid "Valence" #~ msgstr "Valencia" #~ msgid "Partial Charge" #~ msgstr "Carga parcial" #~ msgid "Atom" #~ msgstr "Átomo" #~ msgid "Start Atom" #~ msgstr "Átomo inicial" #~ msgid "Rotatable" #~ msgstr "Rotable" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Confórmero %1\n" #~ "Distancia %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Longitud %1" #~ msgid "Vertex" #~ msgstr "Vértice" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Confórmero %1\n" #~ "Ángulo %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Ángulo %1" #~ msgid "Angle" #~ msgstr "Ángulo" #~ msgid "Atom %1" #~ msgstr "Átomo %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Confórmero %1\n" #~ "Torsión %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsión %1" #~ msgid "Torsion" #~ msgstr "Torsión" #~ msgid "Energy (kJ/mol)" #~ msgstr "Energía (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Confórmero" #~ msgid "Yes" #~ msgstr "Sí" #~ msgid "No" #~ msgstr "No" #~ msgid "Python Terminal" #~ msgstr "Terminal de Python" #~ msgid "pythonTerminalDock" #~ msgstr "Enter string" #~ msgid "Interactive python scripting terminal" #~ msgstr "Terminal interactiva para hacer scripts de python" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Entrada Abinit cubierta del generador de advertencia" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "¿Desea actualizar la vista previa del texto, perdiendo los cambios " #~ "realizados en la entrada Abinit del panel de vista previa?" #~ msgid "Abinit_Input_Deck" #~ msgstr "Espacio de entradas de Abinit" #~ msgid "Abinit Running." #~ msgstr "Ejecutandose Abinit." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Abinit está corriendo. Por favor espere hasta que el cálculo anterior " #~ "termine." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit no está instalado." #~ msgid "The abinit executable cannot be found." #~ msgstr "No se encuentra el ejecutable de abinit." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "abinit no inició. Quizás no está instalado correctaemente." #~ msgid "Running Abinit calculation..." #~ msgstr "Ejecutando cálculos abinit..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit no se ejecutó correctamente. Quizás no está instalado " #~ "correctamente." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Generador de alerta del archivo de entrada Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Quiere actualizar la vista previa del texo, perdiendo todos los cambios " #~ "realizados en el archivo de entrada Dalton del panel de previsualizacion?" #~ msgid "QM Matches" #~ msgstr "Aciertos QM" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Selección de EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Selección para mecánica cuántica" #~ msgid "Delete" #~ msgstr "Eliminar" #~ msgid "You must make a selection!" #~ msgstr "¡Debes hacer una selección!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Conversión de SMILES no disponible" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "¡Conversión de formato SMILES no disponible!" #~ msgid "Group Name" #~ msgstr "Nombre del Grupo" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Crear archivos de entrada de la química cuántica GAMESS paquete" #~ msgid "Advanced Settings Changed" #~ msgstr "Ajustes Avanzados Cambiados" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Los Ajustes Avanzados han cambiado.\n" #~ "¿Descartar?" #~ msgid "Advanced Settings Reset" #~ msgstr "Restablecer Ajustes Avanzados" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "¿Estás seguro que deseas restablecer los ajustes avanzados?\n" #~ "¡Todos los cambios se perderán!" #~ msgid "Basic Settings Reset" #~ msgstr "Restablecer Ajustes Básicos" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "¿Estás seguro que deseas restablecer los ajustes básicos?\n" #~ "¡Todos los cambios se perderán!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Alerta del espacio de entrada de GAMESS-Reino Unido" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "¿Le gustaría actualizar el texto preliminar, perdería todos los cambios " #~ "introducidos en el panel de vista previa en la GAMESS-UK?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Cubierta de entrada de GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussian Entrada cubierta Generador Advertencia" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "¿Desea actualizar la vista previa de texto, de perder todos los cambios " #~ "realizados en la cubierta de entrada de Gaussian panel de vista previa?" #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussiano de entrada en cubierta" #~ msgid "Gaussian Running." #~ msgstr "Gaussian calculando." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussián ya está ejecutándose. Espere hasta que el cálculo previo haya " #~ "terminado." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian No Está instalado." #~ msgid "The G03 executable, cannot be found." #~ msgstr "El ejecutable G03 no se ha encontrado." #~ msgid "G03 failed to start." #~ msgstr "G03 falló al comenzar." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 no se inició. Quizás no esté instalado correctamente." #~ msgid "Running Gaussian calculation..." #~ msgstr "Ejecutando cálculo gaussiano" #~ msgid "G03 Crashed." #~ msgstr "G03 se ha colgado." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian no se ejecutó correctamente. Quizás no está instalado " #~ "correctamente." #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Desea actualizar el texto de vista previa, perdiendo todos los cambios " #~ "realizados en el panel de vista previa de entrada cubierta LAMMPS?" #~ msgid "Lammps Input" #~ msgstr "Entrada Lammps" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Generador de Advertencias de la Bandeja de Entrada Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "¿Le gustaría actualizar el texto preliminar, perdería todos los cambios " #~ "introducidos en la bandeja de entrada Molpro del panel de vista previa?" #~ msgid "Molpro Input Deck" #~ msgstr "Bandeja de Entrada Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Entrada Mopac Advertencia" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "¿Desea actualizar la vista previa de texto, de perder todos los cambios " #~ "realizados en la cubierta de entrada Mopac panel de vista previa?" #~ msgid "MOPAC Input Deck" #~ msgstr "Bandeja de entrada MOPAC" #~ msgid "MOPAC Running." #~ msgstr "Mopac Atletismo." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "Mopac ya se está ejecutando. Espere hasta que el cálculo anterior ha " #~ "terminado." #~ msgid "MOPAC Not Installed." #~ msgstr "Copiar texto No Mopac instala." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "El Mopac ejecutable, no se puede encontrar." #~ msgid "MOPAC failed to start." #~ msgstr "Mopac Error al iniciar." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "Mopac no comenzó. Tal vez no está instalado correctamente." #~ msgid "Running MOPAC calculation..." #~ msgstr "Correr Mopac cálculo ..." #~ msgid "MOPAC Crashed." #~ msgstr "Mopac estrelló." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Mopac no ejecutarse correctamente. Tal vez no está instalado " #~ "correctamente." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Aviso del generador de entrada para NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "¿Quieres actualizar el texto de vista previa, perdiendo los cambios " #~ "realizados en" #~ msgid "NWChem Input Deck" #~ msgstr "Bloque de entrada de NWChem" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Psi4 Entrada cubierta de generador de alerta" #~ msgid "Psi4 Input Deck" #~ msgstr "Psi4 Entrada cubierta" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem Cubierta de entrada del generador de alerta" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "¿Desea actualizar la vista previa de texto, de perder todos los cambios " #~ "realizados en el Q-Chem de entrada cubierta de panel de vista previa?" #~ msgid "QChem Input Deck" #~ msgstr "Bandeja de Entrada QChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "¿Quieres actualizar el texto de vista previa, perdiendo todos los cambios " #~ "realizados en el panel de vista previa de entrada TeraChem cubierta?" #~ msgid "Select SMARTS..." #~ msgstr "Seleccionar SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Seleccionar por Residuo..." #~ msgid "Add Named Selection..." #~ msgstr "Añadir Selección Nombrada..." #~ msgid "SMARTS Selection" #~ msgstr "Selección SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Selección del patrón SMARTS" #~ msgid "Select by residue" #~ msgstr "Seleccionar por residuo" #~ msgid "Residue name" #~ msgstr "Nombre del residuo" #~ msgid "There is no current selection." #~ msgstr "No hay una selección activa." #~ msgid "Add Named Selection" #~ msgstr "Añadir Selección Nombrada" #~ msgid "Name cannot be empty." #~ msgstr "El Nombre no puede estar vacío" #~ msgid "There is already a selection with this name." #~ msgstr "Ya hay una selección con este nombre" #~ msgid "Selections" #~ msgstr "Selecciones" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Seleccionar átomos, cadenas, residuos ..." #~ msgid "GLSL Shaders..." #~ msgstr "Sombras GLSL..." #~ msgid "Open a vertex shader source file" #~ msgstr "Abrir un archivo fuente de sombreado de vértices" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Archivos de sombreado de vértices (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Abrir un archivo fuente de sombreado de fragmentos" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Archivos de sombreado de fragmentos (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Abrir un archivo de parámetros de sombreado" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Archivos de parámetros de sombras (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "Sombras GLSL" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Cargar y usar sombreados OpenGL 2.0" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensidad (unidades arb.)" #~ msgid "Energy (eV)" #~ msgstr "Energía (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Densidad de estados (estados/elemento)" #~ msgid "Density of States (states/atom)" #~ msgstr "Densidad de estados (estados/átomo)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Densidad de estados (estados/electrones de valencia)" #~ msgid "Transmittance (%)" #~ msgstr "Transmitancia (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbancia (%)" #~ msgid "No intensities" #~ msgstr "Sin intensidades" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Los datos de vibración en la molécula que ha cargado no tienen datos de " #~ "intensidad. Intensidades se han fijado a un valor arbitrario para la " #~ "visualización." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Numero de onda (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Desplazamiento (ppm)" #~ msgid "Activity" #~ msgstr "Actividad" #~ msgid "Intensity" #~ msgstr "Intensidad" #~ msgid "X Axis" #~ msgstr "Eje X" #~ msgid "Y Axis" #~ msgstr "Eje Y" #~ msgid "&Appearance" #~ msgstr "&Apariencia" #~ msgid "E&xport Image" #~ msgstr "Exportar imagen" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrarrojo" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Ajustes de espectros infrarrojos" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "RMN" #~ msgid "&NMR Spectra Settings" #~ msgstr "Ajustes de espectros &RMN" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS (Densidad de estados)" #~ msgid "&Density Of States Settings" #~ msgstr "&Configuraciones de Densidad de estados" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV (espectro Ultra-Violeta)" #~ msgid "&UV Settings" #~ msgstr "&Configuraciones UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD (Espectro circular dicromatismo)" #~ msgid "&CD Settings" #~ msgstr "&Configuraciones CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman (Espectro raman)" #~ msgid "&Raman Settings" #~ msgstr "&Configuraciones raman" #~ msgid "No data" #~ msgstr "Sin datos" #~ msgid "Dark" #~ msgstr "Óscuro" #~ msgid "Light" #~ msgstr "Claro" #~ msgid "Publication" #~ msgstr "Publicación" #~ msgid "Handdrawn" #~ msgstr "Dibujar a mano" #~ msgid "New Scheme" #~ msgstr "Nuevo esquema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Confirmar la eliminación del esquema" #~ msgid "Really remove current scheme?" #~ msgstr "Desea realment eliminar actual esquema?" #~ msgid "Change Scheme Name" #~ msgstr "Cambiar nombre del esquema" #~ msgid "Enter new name for current scheme:" #~ msgstr "Ingrese nuevo nombre para actual esquema" #~ msgid "Select Background Color" #~ msgstr "Seleccionar el color de fondo" #~ msgid "Select Foreground Color" #~ msgstr "Seleccionar el Color de primer plano" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Seleccionar espectro de color calculado" #~ msgid "Select Imported Spectra Color" #~ msgstr "Seleccionar espectro de color importado" #~ msgid "Export Calculated Spectrum" #~ msgstr "Exportar Espectro Calculado" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Valores separados por tabulador" #~ msgid "Tab Separated Values" #~ msgstr "Valores separados por tabulador" #~ msgid "Comma Separated Values" #~ msgstr "Valores separados por coma" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importar Espectro" #~ msgid "Spectra Import" #~ msgstr "Importar espectros" #~ msgid "Unknown extension: %1" #~ msgstr "Tipo de archivo desconocido: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "Datos IR PWscf (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Datos IR Turbomole (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Datos UV de Turbomole (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Datos CD de Turbomole (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Formato de datos" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Formato:" #~ msgid "Load Spectral Data" #~ msgstr "Cargar datos espectrales" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "El CD de datos Turbomole está formateado erróneamente: %1" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Formato de archivo de imagen etiquetado" #~ msgid "Windows Bitmap" #~ msgstr "Mapa de bits de Windows" #~ msgid "Portable Pixmap" #~ msgstr "PPM (archivo mapa de pixeles portatil)" #~ msgid "X11 Bitmap" #~ msgstr "Mapa de bits de X11" #~ msgid "X11 Pixmap" #~ msgstr "XPM (archivo mapa de pixeles X11)" #~ msgid "Save Spectra Image" #~ msgstr "Guardar imagen del espectro" #~ msgid "&Advanced <<" #~ msgstr "&Avanzado <<" #~ msgid "&Advanced >>" #~ msgstr "&Avanzado >>" #~ msgid "&Spectra..." #~ msgstr "Espectros..." #~ msgid "Spectra" #~ msgstr "Espectros" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualizar datos espectrales de cálculos de química cuántica" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Análisis Vibracional" #~ msgid "No vibrational displacements exist." #~ msgstr "No existe desplazamiento vibracional." #~ msgid "Vibration" #~ msgstr "Vibración" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "" #~ "Visualizar los modos vibracionales de los cálculos de química cuántica" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Oredenando vibraciones %1 por frecuencia" #~ msgid "Pause" #~ msgstr "Pausa" #~ msgid "Super Cell Builder..." #~ msgstr "Creador de Súper Celda..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Este documento es actualmente una molécula aislada. Necesita crear una " #~ "celda unitaria." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Crear y mostrar súper celdas cristalográficas" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbitas Moleculares..." #~ msgid "Orbitals" #~ msgstr "Orbitales" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO (orbital molecular ocupado de mayor energía)" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO (orbital molecular vacío de menor energía)" #~ msgid "Orbital" #~ msgstr "Òrbital" #~ msgid "Status" #~ msgstr "Estado" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Nada" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potencial Electrostático" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Densidad electrónica" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbital molecular" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Error - tipo no definido" #~ msgid "Create Surfaces..." #~ msgstr "Crear superficies..." #~ msgid "Calculating VdW Cube" #~ msgstr "Calculando cubo de Van der Waals" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calculando el OM %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Densidad electrónica" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "Superficies potenciales electroestática no estan aún soportadas" #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Calcular orbitales moleculares y otras superficies" #~ msgid "&Nanotube Builder..." #~ msgstr "&Constructor de nanotubos" #~ msgid "Nanotube Builder" #~ msgstr "Constructor de Nanotubos" #~ msgid "Invalid Nanotube Specification" #~ msgstr "Especificaciones de Nanotubos no válida" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "El nanotubo solicitado no puede ser construido por la siguiente razón:\n" #~ "Cualquiera n o m deben ser mayores que 1." #~ msgid "Insert Nanotube" #~ msgstr "Insertar Nanotubo" #~ msgid "SWCNT Builder" #~ msgstr "Constructor SWCNT" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Construye nanotubos de carbono de pared sencilla." #~ msgid "Building..." #~ msgstr "Construyendo..." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL widget no se inicio para realizar un video" #~ msgid "GL widget has no molecule" #~ msgstr "GL widget no tiene molecula" #~ msgid "Building video " #~ msgstr "Generando vídeo " #~ msgid "Could not run povray." #~ msgstr "No se pudo ejecutar povray" #~ msgid "Could not run mencoder." #~ msgstr "No se pudo ejecutar mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Establecer relación de aspecto" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "La escena activa de Avogadro tiene %1x%2 píxeles, por lo que su relación " #~ "de aspecto es %3.\n" #~ "Puede mantener este valor si, por ejemplo, pretende usar POV-Ray\n" #~ "para generar una imagen de %4x1000 píxeles, o bien puede introducir " #~ "cualquier otro valor positivo,\n" #~ "por ejemplo 1, si pretende usar POV-Ray para generar una imagen cuadrada, " #~ "como de 1000x1000 píxeles." #~ msgid "Connect" #~ msgstr "Conectar" #~ msgid "Disconnect" #~ msgstr "Desconectar" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Seguimiento Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Seguir movimiento utilizando mandos a distancia de Wii" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Contexto OpenGL inválido.\n" #~ "Puede que algo esté completamente roto en la configuración de OpenGL " #~ "(¿puedes ejecutar alguna aplicación OpenGL?), o bien has encontrado un bug" #~ msgid "Debug Information" #~ msgstr "Información de depuración" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Tamaño de imagen: %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "Vista del Modelo fila 1: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "Vista del Modelo fila 2: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "Vista del Modelo fila 3: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "Vista del Modelo fila 4: %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Atomos: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Cadenas: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: indice %1 fuera de alcance" #~ msgid "File type '%1' is not supported for reading." #~ msgstr "El tipo de archivo '%1' no está soportado para lectura" #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "El tipo de archivo para el archivo '%1' no puede leerse" #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "La lectura de la molecula con indice %1 del archivo '%2' ha fallado" #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "reemplazar Molecula : indice %1 fuera de alcance" #~ msgid "File type '%1' is not supported for writing." #~ msgstr "El tipo de archivo '%1' no puede escribirse" #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "El tipo de archivo para el archivo '%1' no puede escribirse" #~ msgid "Could not open file '%1' for writing." #~ msgstr "No se pudo abrir al archivo '%1' para escritura." #~ msgid "Could not open file '%1' for reading." #~ msgstr "No es posible abrir el archivo '%1' para lectura" #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "No se pudo reemplazar la molecula con indice %1 en el archivo '%2'" #~ msgid "File %1 cannot be opened for reading." #~ msgstr "El archivo %1 no pudo ser abierto para lectura." #~ msgid "File %1 can not be opened for writing." #~ msgstr "El archivo %1 no pudo ser abierto para escritura" #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Error al salvar el archivo molecular - No se pudo cambiar el nombre al " #~ "archivo original" #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Error al salvar el archivo molecular - no se pudo salvar el nuevo archivo" #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Error al salvar el archivo molecular - no se pudo eliminar el archivo " #~ "anterior" #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Error al escribir la molecula en el archivo '%1'. Error en la funcion " #~ "OpenBabel" #~ msgid "File %1 cannot be opened for writing." #~ msgstr "El archivo %1 no puede ser accesado para escritura" #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Error al guardar los conformeros en el archivo '%1'" #~ msgid "Molecule %1" #~ msgstr "Molecula %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Motor Python Desconocido" #~ msgid "N/A" #~ msgstr "N/D" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: revisando " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - el codigo no tiene definido la clase 'Engine'" #~ msgid " - no module" #~ msgstr " - sin módulo" #~ msgid "Unknown Python Extension" #~ msgstr "Extensión Python Desconocida" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: revisando " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - el codigo no tiene definida la clase 'Extension'" #~ msgid "Unknown Python Tool" #~ msgstr "Herramienta Python Desconocida" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: revisando " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - el codigo no tiene definida la clase 'Tool'" #~ msgid "Conformer %1" #~ msgstr "Confórmero %1" #~ msgid "Tools" #~ msgstr "Herramientas" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "Alinear Moléculas \n" #~ "\n" #~ "Izquierdo del ratón: \t Seleccione hasta dos átomos. \n" #~ "\t El primer átomo se centra en el origen. \n" #~ "\t El segundo átomo está alineado con el eje seleccionado. \n" #~ "Derecho del ratón: \t Cambiar la alineación. \n" #~ "Doble clic: \t Centrar el átomo en el origen." #~ msgid "Axis:" #~ msgstr "Eje:" #~ msgid "Align:" #~ msgstr "Alinear:" #~ msgid "Everything" #~ msgstr "Todo" #~ msgid "Align" #~ msgstr "Alinear" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Alinear moléculas a un eje Cartesiano" #~ msgid "Align Settings" #~ msgstr "Configuraciones de Alineacion" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "Herramienta de Auto Optimización\n" #~ "\n" #~ "Funciones de navegación al hacer click en el espacio vacío.\n" #~ "Izquierdo del ratón: \t Rotar Espacio\n" #~ "Centro del ratón: Zoom Espacio\n" #~ "Derecho del ratón: \t Mover Espacio\n" #~ "Doble clic: \t Restablecer vista\n" #~ "\n" #~ "Cuando se ejecuta:\n" #~ "Izquierdo del ratón: \t Haga clic y arrastre para mover átomos entre " #~ "ellos." #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "Opt. autom.: No se puede establecer el campo de fuerza..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Número de restricciones: %1" #~ msgid "Steps per Update:" #~ msgstr "Pasos por actualización:" #~ msgid "Algorithm:" #~ msgstr "Algoritmo:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dinámica molecular (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinámica molecular (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinámica molecular (900K)" #~ msgid "Start" #~ msgstr "Iniciar" #~ msgid "Fixed atoms are movable" #~ msgstr "Los átomos fijos se pueden mover" #~ msgid "Ignored atoms are movable" #~ msgstr "Los átomos ignorados se pueden mover" #~ msgid "AutoOpt Molecule" #~ msgstr "Optimizar molécula automáticamente" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Optimización automática de la geometría molecular" #~ msgid "AutoOptimization Settings" #~ msgstr "Configuraciones de AutoOptimizacion" #~ msgid "Auto Rotation Tool" #~ msgstr "Herramienta de Rotación Automática" #~ msgid "x rotation:" #~ msgstr "rotación de x:" #~ msgid "x rotation" #~ msgstr "rotación de x:" #~ msgid "y rotation:" #~ msgstr "rotación de y:" #~ msgid "y rotation" #~ msgstr "rotación de y" #~ msgid "z rotation:" #~ msgstr "rotación de z:" #~ msgid "z rotation" #~ msgstr "rotación de z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Rotación automática de moléculas" #~ msgid "AutoRotate Settings" #~ msgstr "Configuraciones de AutoGirar" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "Herramienta de manipulación del enlace central \n" #~ "\n" #~ "Izquierdo del ratón: \t Haga clic y arrastre para girar la vista. \n" #~ "Central del ratón: Haga clic y arrastre para acercar o alejar. \n" #~ "Derecho del ratón: \t Haga clic y arrastre para mover la vista. \n" #~ "Doble clic: \t Restablecer la vista. \n" #~ "\n" #~ "Clic Izquierdo y arrastre sobre un enlace para definir el plano de " #~ "manipulación: \n" #~ "Clic izquierdo y arrastrar uno de los átomos en el enlace para cambiar el " #~ "ángulo\n" #~ "Clic derecho y arrastre uno de los átomos en el enlace de cambiar la " #~ "longitud" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Longitud de cadena: %L1" #~ msgid " Show Angles" #~ msgstr " Mostrar Ángulos" #~ msgid "Snap-to Threshold: " #~ msgstr "Romper Umbral: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Manipular centrado en enlaces" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipular longitudes de enlace, ángulos y torsiones" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Ajustes de manipulacion de enlaces" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Clic para medir (F12)\n" #~ "\n" #~ "Izquierdo del ratón: \t seleccione hasta tres átomos. \n" #~ "\t Las distancias se miden entre 1-2 y 2-3 \n" #~ "\t El ángulo se mide entre 1-3 usando 2 como punto común Derecho del " #~ "ratón: \n" #~ "\t Reinicie el Doble-Clic de medición: \t Restablecer la vista." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distancia (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Angulo: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distancia (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Angulo Dihedral: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distancia(s):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Medir longitudes de enlace, ángulos y diedros" #~ msgid "Delete Atom" #~ msgstr "Borrar átomo" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Herramienta de dibujo (F8)\n" #~ "\n" #~ "Ratón izquiedo: \t Clic y arrastrar para crear Átomos y enlaces\n" #~ "Ratón derecho: \t Eliminar Átomo" #~ msgid "Draw Bond" #~ msgstr "Dibujar enlace" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Dibujar y editar átomos y enlaces" #~ msgid "Draw Settings" #~ msgstr "Configuraciones de Dibujo" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Trasladar, rotar y ajustar átomos y fragmentos" #~ msgid "Manipulate Settings" #~ msgstr "Configuraciones de manipulacion" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Trasladar, rotar y acercar al rededor de la vista actual" #~ msgid "Navigate Settings" #~ msgstr "Configuraciones de navegacion" #~ msgid "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgstr "" #~ "Herramienta de selección\n" #~ "\n" #~ "Boton izquierdo del ratón: \t Presione para seleccionar átomos " #~ "individuales, residuos, o fragmentos\n" #~ "\t Mantener presionado para seleccionar un grupo de átomos\n" #~ "Boton derecho del ratón: \t Presione por fuera de la molécula para " #~ "limpiar la selección\n" #~ "Utilize shift para añadir a la selección y Ctrl para añadir o quitar de " #~ "la selección\n" #~ "Doble Click: \t Seleccionar un fragmento completo" #~ msgid "Selection Mode:" #~ msgstr "Modo de Selección:" #~ msgid "Atom/Bond" #~ msgstr "Átomo/enlace" #~ msgid "Residue" #~ msgstr "Residuo" #~ msgid "Add Center of Atoms" #~ msgstr "Añadir centro de la molécula" #~ msgid "Add Center of Mass" #~ msgstr "Agregar centro de masa" #~ msgid "Change color of the atom" #~ msgstr "Cambiar el color del átomo" #~ msgid "Change label of the atom" #~ msgstr "Cambiar la etiqueta del átomo" #~ msgid "New Label:" #~ msgstr "Etiqueta nueva:" #~ msgid "Change label of the bond" #~ msgstr "Cambiar la etiqueta del enlace" #~ msgid "Change radius of the atom" #~ msgstr "Cambiar el radio del átomo" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Nuevo Radio, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Seleccionar átomos, residuos y moléculas" #~ msgid "Symbol" #~ msgstr "Símbolo" #~ msgid "Bond Length" #~ msgstr "Longitud de cadena" #~ msgid "Bond Angle" #~ msgstr "Angulo de cadena" #~ msgid "Dihedral Angle" #~ msgstr "Angulo dihedral" #~ msgid "Z Matrix Editor..." #~ msgstr "Editor de matriz Z" #~ msgid "Z-Matrix" #~ msgstr "Matriz-Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Crear/editar una matriz Z" #~ msgid "Z-Matrix Settings" #~ msgstr "Ajustes para matriz Z" #~ msgid "Residue Color Settings" #~ msgstr "Preferencias de colores de residuos" #~ msgid "Color residues by:" #~ msgstr "Colorear residuos por:" #~ msgid "Amino Colors" #~ msgstr "Colores de aminoacidos" #~ msgid "Shapely Colors" #~ msgstr "Colores Shapely" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobicidad" #~ msgid "Axes:" #~ msgstr "Ejes:" #~ msgid "Cartesian Axes" #~ msgstr "Ejes cartesianos" #~ msgid "Orthogonal Axes" #~ msgstr "Ejes Ortogonales" #~ msgid "Axis 1:" #~ msgstr "Eje 1:" #~ msgid "Axis 2:" #~ msgstr "Eje 2:" #~ msgid "Axis 3:" #~ msgstr "Eje 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origen:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norma" #~ msgid "Atom Radius:" #~ msgstr "Radio Atómico:" #~ msgid "Bond Radius:" #~ msgstr "Radio del enlace:" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Helix" #~ msgstr "Hélice" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Hoja" #~ msgid "Loop" #~ msgstr "Ciclo" #~ msgid "Colors" #~ msgstr "Colores" #~ msgid "Dipole:" #~ msgstr "Dipolo:" #~ msgid "Dipole Moment" #~ msgstr "Momento dipolar" #~ msgid "Custom Vector" #~ msgstr "Vector personalizado" #~ msgid "Width:" #~ msgstr "Ancho:" #~ msgid "Cut-off radius:" #~ msgstr "Radio límite:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Ángulo límite:" #~ msgid "Rendering Engine:" #~ msgstr "Motor de renderizado:" #~ msgid "Atom Labels" #~ msgstr "Etiquetas del atomo" #~ msgid "Text:" #~ msgstr "Texto:" #~ msgid "Color:" #~ msgstr "Color:" #~ msgid "None" #~ msgstr "Ninguno" #~ msgid "Symbol & Number in Group" #~ msgstr "Simbolo y Numero en grupo" #~ msgid "Symbol & Atom number" #~ msgstr "Simbolo y número atómico" #~ msgid "Formal charge" #~ msgstr "Carga formal" #~ msgid "Partial charge" #~ msgstr "Carga parcial" #~ msgid "Residue number" #~ msgstr "Número del Residuo" #~ msgid "Unique ID" #~ msgstr "Identificador único" #~ msgid "Custom data" #~ msgstr "Dato personalizado" #~ msgid "Change Font" #~ msgstr "Cambiar la fuente" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Bond length" #~ msgstr "Longitud del enlace" #~ msgid "Bond number" #~ msgstr "Número de enlace" #~ msgid "Bond order" #~ msgstr "Orden de enlace" #~ msgid "Rendering:" #~ msgstr "Trazado:" #~ msgid "Backbone" #~ msgstr "Esqueleto" #~ msgid "Lines" #~ msgstr "Líneas" #~ msgid "Radius:" #~ msgstr "Radio :" #~ msgid "Include Nitrogens" #~ msgstr "Incluir nitrógenos" #~ msgid "VdW Opacity:" #~ msgstr "Opacidad de Van der Waals:" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Renderizar:" #~ msgid "Fill" #~ msgstr "Llenar" #~ msgid "Points" #~ msgstr "Puntos" #~ msgid "Draw Box:" #~ msgstr "Dibujar Caja:" #~ msgid "Style:" #~ msgstr "Estilo:" #~ msgid "Selected Colors" #~ msgstr "Colores seleccionados" #~ msgid "Mapped Colors" #~ msgstr "Colores mapeados" #~ msgid "Colors:" #~ msgstr "Colores:" #~ msgid "Positive" #~ msgstr "Positivo" #~ msgid "Negative" #~ msgstr "Negativo" #~ msgid "Show Atoms" #~ msgstr "Mostrar átomos" #~ msgid "Animate Trajectory" #~ msgstr "Animar trayectoria" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Bucle" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Guardar como .avi" #~ msgid "Angstroms" #~ msgstr "Angstroms" #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "Fractional" #~ msgstr "Fraccionario" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, sólo coordenadas" #~ msgid "Apply Changes" #~ msgstr "Aplicar cambios" #~ msgid "Cut All" #~ msgstr "Cortar todo" #~ msgid "Paste to the End" #~ msgstr "Pegar al final" #~ msgid "(None)" #~ msgstr "(Ninguno)" #~ msgid "Sort by " #~ msgstr "Organizar por " #~ msgid "Conformer Search" #~ msgstr "Búsqueda de Confórmero" #~ msgid "Method" #~ msgstr "Método" #~ msgid "Number of atoms:" #~ msgstr "Número de Átomos:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Número de enlaces rotables:" #~ msgid "Number of conformers" #~ msgstr "Número de Confórmeros" #~ msgid "Systematic rotor search" #~ msgstr "Búsqueda sistemática de rotores" #~ msgid "Random rotor search" #~ msgstr "Búsqueda aleatoria de rotores" #~ msgid "Weighted rotor search" #~ msgstr "Búsqueda ponderada de rotores" #~ msgid "Children" #~ msgstr "Hijos" #~ msgid "Energy" #~ msgstr "Energía" #~ msgid "Constraints" #~ msgstr "Restricciones" #~ msgid "Add Constraints" #~ msgstr "Añadir restricciones" #~ msgid "Ignore Atom" #~ msgstr "Ignorar Átomo" #~ msgid "Fix Atom" #~ msgstr "Fijar Átomo" #~ msgid "Fix Atom X" #~ msgstr "Fijar Átomo X" #~ msgid "Fix Atom Y" #~ msgstr "Fijar Átomo Y" #~ msgid "Fix Atom Z" #~ msgstr "Fijar Átomo Z" #~ msgid "Torsion angle" #~ msgstr "Ángulo de Torsión" #~ msgid "Constraint Value" #~ msgstr "Valores de restricción" #~ msgid "Atom Indices" #~ msgstr "Índices Atómicos" #~ msgid "Add" #~ msgstr "Añadir" #~ msgid "Save" #~ msgstr "Guardar" #~ msgid "Load" #~ msgstr "Cargar" #~ msgid "Cartesian" #~ msgstr "Cartesiano" #~ msgid "All" #~ msgstr "Todos" #~ msgid "File Import..." #~ msgstr "Importar archivo..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "¿Tratar de ver los enlaces?" #~ msgid "Setup Force Field" #~ msgstr "Configurar Campo de Fuerza" #~ msgid "Force Field" #~ msgstr "Campo de fuerza" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Cantidad de pasos" #~ msgid "Algorithm" #~ msgstr "Algoritmo" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Otro" #~ msgid "Insert Fragment..." #~ msgstr "Insertar Fragmento..." #~ msgid "Peptide Builder" #~ msgstr "Constructo de péptidos" #~ msgid "Alanine" #~ msgstr "Alanina" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginina" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparragina" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Acido aspártico" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cisteína" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Acido glutamico" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamina" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glicina" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidina" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucina" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valina" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirosina" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Triptófano" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treonina" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serina" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolina" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Penilalanina" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionina" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lisina" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucina" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminoacidos:" #~ msgid "Sequence (N to C):" #~ msgstr "Secuencia (N a C)" #~ msgid "Stereochemistry:" #~ msgstr "Estereoquímica:" #~ msgid "L" #~ msgstr "I" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N Terminal:" #~ msgid "C Terminus:" #~ msgstr "C Terminal:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Cadena recta" #~ msgid "Alpha Helix" #~ msgstr "Hélice alfa" #~ msgid "Beta Sheet" #~ msgstr "Hoja beta" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Cadena de número:" #~ msgid "The chain number for the new peptide" #~ msgstr "La cadena para el nuevo número de péptidos" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Propiedades de la molécula" #~ msgid "Number of Residues:" #~ msgstr "Número de residuos:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energia (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Momento dipolar (D)" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Avanzado" #~ msgid "Control" #~ msgstr "Control" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Datos" #~ msgid "Nothing" #~ msgstr "Nada" #~ msgid "Grid" #~ msgstr "Cuadrícula" #~ msgid "POV-Ray Export" #~ msgstr "Exportar a POV-Ray" #~ msgid "Select..." #~ msgstr "Seleccionar…" #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Usar suavizado (antialiasing) sobre toda la escena" #~ msgid "Antialias" #~ msgstr "Suavizado (antialias)" #~ msgid "Set the background color to be transparent" #~ msgstr "Poner el color de fondo transparente" #~ msgid "Alpha transparency" #~ msgstr "Transparencia alfa" #~ msgid "Command:" #~ msgstr "Orden:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "" #~ "Generar la molécula directamente usando la línea de órdenes de POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Conservar fuente POV-Ray después de haberlo generado" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Conservar fuente POV-Ray después de haberlo generado" #~ msgid "Path:" #~ msgstr "Ruta" #~ msgid "0.0" #~ msgstr "0,0" #~ msgid "Use Form" #~ msgstr "Usar Forma" #~ msgid "Compute..." #~ msgstr "Calcular..." #~ msgid "Dalton Input" #~ msgstr "Entrada Dalton" #~ msgid "Basics" #~ msgstr "Basicos" #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Set Básico:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Parallel" #~ msgstr "Paralelo" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Funcional:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Dendidad:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Calidad de la red:" #~ msgid "coarse" #~ msgstr "grueso" #~ msgid "normal" #~ msgstr "normal" #~ msgid "fine" #~ msgstr "fino" #~ msgid "ultrafine" #~ msgstr "ultrafino" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Polarizability" #~ msgstr "Polaridad" #~ msgid "No. excitations:" #~ msgstr "Nº de excitanciones" #~ msgid "EFP Matches" #~ msgstr "Coincidencias EFP" #~ msgid "Group Label:" #~ msgstr "Etiqueta de Grupo:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Configuración Avanzada" #~ msgid "Hessian" #~ msgstr "Hessiano" #~ msgid "Stat Point" #~ msgstr "Punto de inicio" #~ msgid "System" #~ msgstr "Sistema" #~ msgid "MO Guess" #~ msgstr "MO Guess" #~ msgid "Misc" #~ msgstr "Varios" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Funciones de Polarización de Átomos Pesados:" #~ msgid "Read" #~ msgstr "Leer" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Difundir S-Shell en átomos pesados" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Difundir capa L en Átomos Pesados" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Valencia Doble Zeta" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Valencia Triple Zeta" #~ msgid "SBKJA Valence" #~ msgstr "Valencia de SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "Valencia de Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Tipo de ECP:" #~ msgid "Default" #~ msgstr "Por defecto" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Funciones de Polarización de Átomos Pesados:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "# Funciones de Polarización de Átomos ligeros:" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "Iteraciones Max SCF:" #~ msgid "Gradient" #~ msgstr "Gradiente" #~ msgid "Optimization" #~ msgstr "Optimización" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "Punto de silla (Estado de transición)" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Extremos Relativos" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Superficie energética" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Mom. de Transición Radiativa." #~ msgid "Spin Orbit" #~ msgstr "Órbita de spin" #~ msgid "Finite Electric Field" #~ msgstr "Campo Eléctrico Finito" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Optimización Global" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Optimización FMO" #~ msgid "Raman Intensities" #~ msgstr "Intensidades de Raman" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Hacer EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Ninguno (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Tipo de SCF:" #~ msgid "Localization Method:" #~ msgstr "Método de Localización:" #~ msgid "Exec Type:" #~ msgstr "Tipo de ejecución:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Determinante de Ames Lab." #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Espacio activo de ocupacion multiple restringida" #~ msgid "CI Singles" #~ msgstr "CI Individuales" #~ msgid "Full Second Order CI" #~ msgstr "CI Completo de Segundo Orden" #~ msgid "General CI" #~ msgstr "CI General" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: CC linealizado" #~ msgid "CCD: CC with Doubles" #~ msgstr "DCC: doble CC" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC con simples y dobles" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Ejecución normal" #~ msgid "Check" #~ msgstr "Revisar" #~ msgid "Debug" #~ msgstr "Depurar" #~ msgid "Molecule Charge:" #~ msgstr "Carga molecular" #~ msgid "Run Type:" #~ msgstr "Tipo de ejecución" #~ msgid "Use MP2" #~ msgstr "Usar MP2" #~ msgid "Use DFT" #~ msgstr "Usar DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# de Variables de Z-Matriz" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Orden del Eje Principal:" #~ msgid "Coordinate Type:" #~ msgstr "Tipo de Coordinado:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Coordenadas Únicas cartesianas" #~ msgid "Hilderbrant internals" #~ msgstr "Coordenadas internas de Hilderbrant" #~ msgid "MOPAC Z-Matrix" #~ msgstr "Matriz-Z MOPAC" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Usar Simetría durante el Cálculo" #~ msgid "Point Group:" #~ msgstr "Grupo puntual" #~ msgid "Minutes" #~ msgstr "Minutos" #~ msgid "Hours" #~ msgstr "Horas" #~ msgid "Days" #~ msgstr "Días" #~ msgid "Weeks" #~ msgstr "Semanas" #~ msgid "Years" #~ msgstr "Años" #~ msgid "Millenia" #~ msgstr "Milenios" #~ msgid "MegaWords" #~ msgstr "MegaPalabras" #~ msgid "MegaBytes" #~ msgstr "Megabytes" #~ msgid "GigaWords" #~ msgstr "GigaWords" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Forzar métodos paralelos" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Producir un archivo de \"núcleo\" al abortar" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memoria:" #~ msgid "Diagonalization Method:" #~ msgstr "Método de Diagonalización" #~ msgid "Parallel Load Balance Type" #~ msgstr "Tipo de equilibrio de carga paralela" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Bucle" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Siguiente valor" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Usar Representación Externa de Datos para los Mensajes" #~ msgid "Initial Guess:" #~ msgstr "Suposición inicial" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "Lectura MO ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "Guardado Mo (DICTNRY)" #~ msgid "Skip" #~ msgstr "Omitir" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Rotar Orbitales Alfa y Beta" #~ msgid "Print the Initial Guess" #~ msgstr "Mostrar la suposición inicial" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Interfaz GAMESS a Otros Códigos" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Forzar un tipo de ejecución de prueba" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (Versión de Reino Unido)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussiano 9x" #~ msgid "Solvate with Water" #~ msgstr "Disolver con Agua" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Generar Orbitales Naturales UHF" #~ msgid "Direct SCF" #~ msgstr "SCF Directo" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Calcular sólo cambios en la matriz de Fock" #~ msgid "Slater exchange" #~ msgstr "Intercambio de Slater" #~ msgid "Becke 1988 exchange" #~ msgstr "Intercambio de Becke 1988" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Correlación de Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Correlación de Lee-Yang-Parr" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "VWN: Intercambio de Slater + VWN correlación" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: Intercambio de BECKE + correlación VWN5" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: Intercambio de BECKE + correlación LYP" #~ msgid "Gill 1996 exchange" #~ msgstr "Intercambio de Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Intercambio de Perdew-Burke-Ernzerhof (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "Correlación Progresiva de un parámetro" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: Intercambio de SLATER + correlación Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: Intercambio de SLATER + correlación OP" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: Intercambio de BECKE + correlación OP" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: Intercambio de GILL + correlación VWN5" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: Intercambio de GILL + correlación LYP" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: Intercambio PBE + correlación VWN6" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: intercambio PBE + correlación LYP" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: Intercambio PBE + correlación OP" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: Intercambios HF y BECKE + correlación LYP" #~ msgid "Grid-Free" #~ msgstr "Sin cuadrícula" #~ msgid "DFT Functional:" #~ msgstr "Funcional DFT:" #~ msgid "Method:" #~ msgstr "Método:" #~ msgid "AO Integral Storage" #~ msgstr "Almacenaje integral AO" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplicado en Cada Nodo" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distribuído entre Todos los Nodos" #~ msgid "words" #~ msgstr "palabras" #~ msgid "Compute MP2 Properties" #~ msgstr "Calcular Propiedades MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Umbral de retención integral" #~ msgid "Use Localized Orbitals" #~ msgstr "Usar Orbitales Localizados" #~ msgid "# of Core Electrons:" #~ msgstr "# de Electrones del Núcleo:" #~ msgid "Transformation Method" #~ msgstr "Método de Transformación" #~ msgid "Two Phase Bin Sort" #~ msgstr "Ordenamiento binario en dos fases" #~ msgid "Segmented Transformation" #~ msgstr "Transformación Segmentada" #~ msgid "Analytic" #~ msgstr "Analítico" #~ msgid "Numeric" #~ msgstr "Numérico" #~ msgid "Double Differenced Hessian" #~ msgstr "Hessiano doblemente diferenciada" #~ msgid "Print Internal Force Constants" #~ msgstr "Mostrar Constantes de Fuerza Internas" #~ msgid "Displacement Size:" #~ msgstr "Tamaño desplazado" #~ msgid "Purify Hessian" #~ msgstr "Purificar Hessiano" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Hessiano Inicial" #~ msgid "Guess (+ define)" #~ msgstr "Suponer (+ definir)" #~ msgid "Read (from $HESS)" #~ msgstr "Leer (de $HESS)" #~ msgid "Update Step Size" #~ msgstr "Actualizar Tamaño del Paso" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Imprimir orbitales en cada iteración" #~ msgid "Jump Size:" #~ msgstr "Tamaño del Salto:" #~ msgid "Stationary Point" #~ msgstr "Extremo Relativo" #~ msgid "Step Size" #~ msgstr "Tamaño del Paso" #~ msgid "Maximum:" #~ msgstr "Máximo:" #~ msgid "Minimum:" #~ msgstr "Mínimo:" #~ msgid "Initial:" #~ msgstr "Inicial:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Optimización de Función Racional" #~ msgid "Quadratic Approximation" #~ msgstr "Aproximación Cuadrática" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Optimización restringida" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Recalcular hessiano cada:" #~ msgid "Follow Mode:" #~ msgstr "Modo de Seguimiento:" #~ msgid "Maximum Steps:" #~ msgstr "Pasos Máximos:" #~ msgid "Basis:" #~ msgstr "Base:" #~ msgid "Z-matrix" #~ msgstr "matriz-Z" #~ msgid "Gaussian Input" #~ msgstr "Entrada Gaussiana" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Estándar" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Punto de revisión:" #~ msgid "Z-matrix (compact)" #~ msgstr "matriz-Z (compacta)" #~ msgid "MOLPRO Input" #~ msgstr "Entrada MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Entrada para MOPAC" #~ msgid "Quartet" #~ msgstr "Cuarteto" #~ msgid "Quintet" #~ msgstr "Quinteto" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Entrada para NWChem" #~ msgid "Q-Chem Input" #~ msgstr "Entrada de Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "Cargar sombras" #~ msgid "Shader Name:" #~ msgstr "Nombre del sombreado:" #~ msgid "Vertex Shader:" #~ msgstr "Sombras de vértices:" #~ msgid "Fragment Shader:" #~ msgstr "Sombras fragmentadas:" #~ msgid "Assign Shader" #~ msgstr "Asignar sombras" #~ msgid "Display Type:" #~ msgstr "Tipo de display:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Controles:\n" #~ "Doble izquierda, haz clic en Restaurar predeterminados eje límites\n" #~ "Haga clic derecho + arrastrar: Mover parcela\n" #~ "Medio haga clic + arrastrar: Zoom a la región\n" #~ "Rueda de desplazamiento: Zoom a cursor\n" #~ "Nota: Hay saltos de línea aquí. Cada uno representa un salto de línea. " #~ "Iniciar una nueva línea en la posición equivalente en la traducción." #~ msgid "&Load data..." #~ msgstr "&Carga de datos ..." #~ msgid "&Close" #~ msgstr "&Cerrar" #~ msgid "Calculated Spectra:" #~ msgstr "Calculado Spectra:" #~ msgid "Set Color..." #~ msgstr "Ajuste de color ..." #~ msgid "Imported Spectra:" #~ msgstr "Spectra importados:" #~ msgid "Font:" #~ msgstr "Fuente:" #~ msgid "Change Font..." #~ msgstr "Cambiar fuente ..." #~ msgid "Show" #~ msgstr "Mostrar" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "" #~ "Las importaciones de un tsv espectros experimentales de la superposición " #~ "en la parcela." #~ msgid "&Import..." #~ msgstr "&Importar ..." #~ msgid "Background:" #~ msgstr "Antecedentes:" #~ msgid "Foreground:" #~ msgstr "Primer plano:" #~ msgid "New..." #~ msgstr "nuevo..." #~ msgid "Rename..." #~ msgstr "Renombrar ..." #~ msgid "&Schemes:" #~ msgstr "&Regímenes:" #~ msgid "&Export..." #~ msgstr "&Exportar..." #~ msgid "&DPI:" #~ msgstr "&DPI" #~ msgid "&Width:" #~ msgstr "&Ancho:" #~ msgid "&Height" #~ msgstr "&Altura" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "en" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&guardar imajen..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Utilice un valor optimizado para el tamaño de la fuente en lugar del " #~ "régimen valor especificado (imagen de pantalla para tamaños en puntos no " #~ "se traducen bien!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Ajuste automático de F & tienen Tamaño" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "&Gaussian Width:" #~ msgstr "&Gaussian Ancho:" #~ msgid "&Label peaks" #~ msgstr "&Etiqueta picos" #~ msgid "Energy units:" #~ msgstr "Unidades de energía:" #~ msgid "Density units" #~ msgstr "Unidades de densidad" #~ msgid "eV" #~ msgstr "eV" #~ msgid "&Y Axis Units:" #~ msgstr "&Y Eje Unidades:" #~ msgid "Linear" #~ msgstr "Lineal" #~ msgid "Temperature:" #~ msgstr "Temperatura:" #~ msgid " K" #~ msgstr " K" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Núcleo" #~ msgid "&Reference:" #~ msgstr "&Referencia:" #~ msgid "Gaussian &Width:" #~ msgstr "Gaussian &Ancho:" #~ msgid "Reset &Plot Axes" #~ msgstr "Restablecer &Parcela Ejes" #~ msgid "Label Peaks:" #~ msgstr "Picos de etiqueta:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Vibraciones Moleculares" #~ msgid "Filter: " #~ msgstr "Filtro: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Actividad (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Mostrar espectro..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "" #~ "Las frecuencias de vibración más altas mostrarán movimiento más rápido" #~ msgid "Animation speed set by frequency" #~ msgstr "Velocidad de animacion establecida por frecuencia" #~ msgid "Display force &vectors" #~ msgstr "Mostrar fuerza &vectores" #~ msgid "Generate Cell" #~ msgstr "Generar Celda" #~ msgid "Create Surfaces" #~ msgstr "Crear Superficies" #~ msgid "Surface Type:" #~ msgstr "Tipo de superficie:" #~ msgid "Color By:" #~ msgstr "Color por:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Baja" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Media" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Alta" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Muy alta" #~ msgid "Iso Value:" #~ msgstr "Iso valor:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "En tipo de presentación:" #~ msgid "New Display" #~ msgstr "Nueva presentación" #~ msgid "Advanced..." #~ msgstr "Avanzado..." #~ msgid "&Cap with hydrogen" #~ msgstr "Casquillo con hidrógeno" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "Esto puede tomar un tiempo. Si solamente los átomos coordinados\n" #~ "son necesarios (digamos, para un cálculo de mecánica cuántica),\n" #~ "un enlace simple sólo una representación debería ser suficiente." #~ msgid "Find &double bonds" #~ msgstr "Buscar &enlaces dobles" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Traducido por:" #~ msgid "Rotate around:" #~ msgstr "Rotar alrededor:" #~ msgid "Origin" #~ msgstr "Origen" #~ msgid "Display visual cues" #~ msgstr "Mostrar indicaciones visuales" #~ msgid "Python Settings" #~ msgstr "Configuración de Python" #~ msgid "Z Matrix Editor" #~ msgstr "Editor de matriz Z" #~ msgid "Import Selected Atoms" #~ msgstr "Importar átomos seleccionados" avogadrolibs-1.93.0/i18n/et.po000066400000000000000000003272621360735163600160350ustar00rootroot00000000000000# Estonian translation for avogadro # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:31+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Estonian \n" "Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Tundmatu" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, qt-format msgid "Submit %1 Calculation" msgstr "" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 msgid "Hide &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:390 msgid "Show &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Vali lahusti" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, qt-format msgid "Failed to write to file %1." msgstr "" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Arvuta" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 msgid "No program selected." msgstr "" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Vesinik" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Heelium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Liitium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berüllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Süsinik" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Lämmastik" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Hapnik" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neoon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Naatrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magneesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alumiinium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Räni" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Väävel" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Kloor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argoon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kaalium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kaltsium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titaan" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanaadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Kroom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangaan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Raud" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Koobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikkel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Vask" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Tsink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germaanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arseen" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Seleen" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Broom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krüptoon" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubiidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontsium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Ütrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Tsirkoonium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Nioobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molübdeen" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tehneetsium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruteenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Roodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Pallaadium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Hõbe" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kaadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Tina" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telluur" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jood" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ksenoon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Tseesium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Baarium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantaan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Tseerium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodüüm" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodüüm" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promeetium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samaarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Euroopium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadoliinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Düsproosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tuulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Üterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Luteetsium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantaal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Volfram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Reenium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iriidium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Plaatina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Kuld" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Elavhõbe" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Plii" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Vismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Poloonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astaat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radoon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Frantsium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Raadium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktiinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Toorium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktiinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uraan" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptuunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutoonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Ameriitsium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Kuurium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkeelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kalifornium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendeleevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobeelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lavrentsium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitneerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Röntgeenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Tsirkoonium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Vali lahusti" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 msgid "All files (*);;" msgstr "" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 msgid "Untitled" msgstr "" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Tundmatu" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Eemalda aatom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Esimene aatom" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formaalne laeng" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Eemalda aatom" #: qtgui/rwmolecule.cpp:758 msgid "Clear Bonds" msgstr "" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Sidemete järjekord" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 msgid "Update Bond" msgstr "" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 msgid "&Export" msgstr "" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "&Extensions" msgstr "" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 msgid "IO Error" msgstr "" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 msgid "Success" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Vesinikud" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Aatomite esitamine van der Waalsi sfääridena" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Viimane aatom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Eemalda aatom" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Jäägi nimi" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Elemendi nimi" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Elemendi nimi" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Elemendi sümbol" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Elemendi sümbol" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Aatomi number" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Aatomi number" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 msgid "Invalid coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Annika, ,Launchpad Contributions:,Annika,Avogadro " "Team, ,Launchpad Contributions:,Annika,Avogadro Team, ,Launchpad " "Contributions:,Annika,Avogadro Team" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Värv elemendi järgi" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Eemalda aatom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Värv kauguse järgi" #: qtplugins/editor/editor.cpp:235 #, qt-format msgid "Distance: %L1 Å" msgstr "" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 msgid "GAMESS input" msgstr "" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 msgid "Single Point" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Sagedused" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gaas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Vesi" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 msgid "Submit GAMESS Calculation" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Vesinikud" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Lisa või eemalda vesinikke" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Lisa või eemalda vesinikke" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Vesinikud" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Vesinikud" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 msgid "&Import" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Aatomite esitamine van der Waalsi sfääridena" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Nurk %1" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Molekulaarsed omadused..." #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geomeetriline optimeerimine" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Lisa pH jaoks vesinikke" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Lisa pH jaoks vesinikke" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Lisa või eemalda vesinikke" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Lisa pH jaoks vesinikke" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Lisa pH jaoks vesinikke" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Vask" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, qt-format msgid "Cannot save file %1." msgstr "" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 msgid "Error: " msgstr "" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 msgid "POV-Ray Render" msgstr "" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 msgid "Save File" msgstr "" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Elektrontihedus" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Vali lahusti" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Vali lahusti" #: qtplugins/select/select.cpp:48 msgid "Invert Selection" msgstr "" #: qtplugins/select/select.cpp:59 msgid "Change selections" msgstr "" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "Vali lahusti" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Vali lahusti" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tüüp" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Vali elemendi järgi..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Esitab molekuli dipoolmomente" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Arvuta" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) msgid "Submit Calculation..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Struktuur:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) msgid "Save Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Struktuur:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Jäägi nimi" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Distance Unit:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Save File..." msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Keemiline valem:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molekulaarmass (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Keemiline valem:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Aatomite arv:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Sidemete arv:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geomeetriline optimeerimine" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isopind = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Elektrostaatiline potentsiaal" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Sidemete arv:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download Selected" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Pinnad" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Pinnad" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Pinnad" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Arvuta" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Esimene aatom" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) msgid "Stop Animation" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) msgid "Operations" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Annika, ,Launchpad Contributions:,Annika,Avogadro " "Team, ,Launchpad Contributions:,Annika,Avogadro Team, ,Launchpad " "Contributions:,Annika,Avogadro Team" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,aennok@gmail.com,,,aennok@gmail.com,avogadro-devel@lists.sourceforge.net,,," "aennok@gmail.com,avogadro-devel@lists.sourceforge.net,,,aennok@gmail.com," "avogadro-devel@lists.sourceforge.net" #~ msgid "Color by Index" #~ msgstr "Värv indeksi järgi" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Värv indeksi järgi (punane, oranž, kollane, roheline, sinine, lilla)." #~ msgid "Color by Partial Charge" #~ msgstr "Värv osalaengu järgi" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Värv aatomi osalaengu järgi (sinine = positiivne, punane = negatiivne." #~ msgid "Custom Color:" #~ msgstr "Kohandatud värv:" #~ msgid "Custom Color" #~ msgstr "Kohandatud värv" #~ msgid "Set custom colors for objects" #~ msgstr "Määra objektidele kohandatud värvid" #~ msgid "Color by distance from the first atom." #~ msgstr "Värv kauguse järgi esimesest aatomist." #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Värv elemendi järgi (süsinik = hall, hapnik = punane, ...)." #~ msgid "Color by Residue" #~ msgstr "Värv jäägi järgi" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Värv jäägi järgi (aminohappe tüüp, hüdrofoobsus, ..." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoktium" #~ msgid "Engines" #~ msgstr "Mootorid" #~ msgid "Axes" #~ msgstr "Teljed" #~ msgid "Renders protein secondary structure" #~ msgstr "Esitab proteiini sekundaarset struktuuri" #~ msgid "Dipole" #~ msgstr "Dipool" #~ msgid "Force" #~ msgstr "Jõud" #~ msgid "Hydrogen Bond" #~ msgstr "Vesinikside" #~ msgid "Renders hydrogen bonds" #~ msgstr "Esitab vesiniksidemeid" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waalsi sfäärid" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Elektrontihedus, isopind = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isopind = %L2" #~ msgid "video files (*.avi)" #~ msgstr "videofailid (*.avi)" #~ msgid "Number of atoms: %1" #~ msgstr "Aatomite arv: %1" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Keemiafailid (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Keemiafailid (*.parm7)" #~ msgid "Calculate Energy" #~ msgstr "Arvuta energia" #~ msgid "Fix Selected Atoms" #~ msgstr "Paranda valitud aatomid" #~ msgid "Energy = %L1 %2" #~ msgstr "Energia = %L1 %2" #~ msgid "Molecule Properties..." #~ msgstr "Molekuli omadused..." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "Allalaaditava molekuli URL." #~ msgid "Bond Properties" #~ msgstr "Sidemete omadused" #~ msgid "Angle Properties" #~ msgstr "Nurkade omadused" #~ msgid "Properties" #~ msgstr "Omadused" #~ msgid "Valence" #~ msgstr "Valentsus" #~ msgid "Partial Charge" #~ msgstr "Osalaeng" #~ msgid "Rotatable" #~ msgstr "Roteeritav" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Pikkus %1" #~ msgid "Atom %1" #~ msgstr "Aatom %1" #~ msgid " (" #~ msgstr " (" #~ msgid ")" #~ msgstr ")" #~ msgid "Select by Residue..." #~ msgstr "Vali jäägi järgi..." #~ msgid "Select by residue" #~ msgstr "Vali jäägi järgi" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Vali aatomid, sidemed, jäägid..." #~ msgid "X Axis" #~ msgstr "X-telg" #~ msgid "Y Axis" #~ msgstr "Y-telg" #~ msgid "Dark" #~ msgstr "Tume" #~ msgid "Light" #~ msgstr "Hele" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Elektrontihedus" #~ msgid "Residue" #~ msgstr "Jääk" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Vali aatomid, jäägid ja molekulid" #~ msgid "Atom Radius:" #~ msgstr "Aatom raadius:" #~ msgid "Bond Radius:" #~ msgstr "Sideme raadius:" #~ msgid "Dipole:" #~ msgstr "Dipool:" #~ msgid "Dipole Moment" #~ msgstr "Dipoolmoment" #~ msgid "Formal charge" #~ msgstr "Formaalne laeng" #~ msgid "Partial charge" #~ msgstr "Osalaeng" #~ msgid "Residue number" #~ msgstr "Jäägo number" #~ msgid "Radius:" #~ msgstr "Raadius:" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "B" #~ msgstr "B" #~ msgid "Alanine" #~ msgstr "Alaniin" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginiin" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagiin" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Aspartiinhape" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Tsüsteiin" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Glutamiinhape" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamiin" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glütsiin" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidiin" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleutsiin" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valiin" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Türosiin" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Trüptofaan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treoniin" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Seriin" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Proliin" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenüülalaniin" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metioniin" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lüsiin" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leutsiin" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminohapped:" #~ msgid "Stereochemistry:" #~ msgstr "Stereokeemia:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Sirge agel" #~ msgid "Alpha Helix" #~ msgstr "Alfa heeliks" #~ msgid "Chain Number:" #~ msgstr "Ahela number:" #~ msgid "The chain number for the new peptide" #~ msgstr "Uue peptiidi ahelanumber" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Molekuli omadused" #~ msgid "Number of Residues:" #~ msgstr "Jääkide arv:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energia (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Dipoolmoment (D):" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "toll" #~ msgid "px" #~ msgstr "px" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Import Selected Atoms" #~ msgstr "Impordi valitud aatomid" avogadrolibs-1.93.0/i18n/eu.po000066400000000000000000007060321360735163600160320ustar00rootroot00000000000000# Basque translation for avogadro # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:31+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Basque \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Sarrera Sortzailea..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Sarrera Sortzailea..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Jarraitu" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Itxi" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Ezezaguna" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "Akatsa abinit abiaraztean." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Gelditu Kalkulua" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Abisua" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Abisua" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Disolbatzailea Hautatu" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Output" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Ezin da Artxiboa Sortu" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Ez da idatzi bideo-artxiboa." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Ez da idatzi bideo-artxiboa." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 #, fuzzy msgid "Write input files" msgstr "wrl fitxategiak sortu" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Konfiguratu" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Izenburua" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Artxibo-Izena:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Prozesatzaileak:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Kalkulua" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Oinarria" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "Karga" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "Multiplizitatea" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Setatutako Molekularik ez" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Gelditu &Animazioa" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Ez dago Atomorik Hautatuta" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrogeno" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helio" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litio" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berilio" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boro" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Karbono" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogeno" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxigeno" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodio" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesio" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminio" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silizio" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosforo" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Sufre" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Kloro" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potasio" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kaltzio" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Eskandio" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanio" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Banadio" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Kromo" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganeso" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Burdin" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalto" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Kupre" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Galio" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanio" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Artseniko" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenio" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromo" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Kripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidio" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Estrontzio" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Itrio" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirkonio" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobio" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdeno" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Teknezio" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenio" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodio" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Paladio" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Zilar" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmio" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indio" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Eztainu" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimonio" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telurio" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iodo" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Zesio" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bario" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantano" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Zerio" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodimio" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodimio" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometio" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samario" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europio" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinio" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbio" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprosio" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmio" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbio" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tulio" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Iterbio" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutezio" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnio" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantalo" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Wolframio" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Renio" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmio" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridio" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platino" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Urre" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Merkurio" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Talio" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Berun" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuto" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonio" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astato" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Frantzio" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radio" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktinio" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Torio" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktinio" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranio" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunio" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonio" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Amerizio" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Kurio" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelio" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kalifornio" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einstenio" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermio" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelebio" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelio" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Laurentzio" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordio" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnio" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgio" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrio" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hasio" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerio" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtio" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenio" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Kopernizio" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirkonio" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovio" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorio" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Interneten Begiratu..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr " Aukeraketa akatsa" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Ezabatu Hautatutakoa" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Fitxategi guztiak" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "Titulugabea" #: qtgui/multiviewwidget.cpp:199 #, fuzzy msgid "Create a new view" msgstr "wrl fitxategiak sortu" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Taula Periodikoa" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Akatsa abinit abiaraztean." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinit-ek failatu du" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL akatsa" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Ezezaguna" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Gehitu Atomo Bat" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Ezabatu Atomoa" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Deuseztatu Guztia" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Doitu Hidrogenoak" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Aldatu Elementua" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Aldatu Elementua" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Karga Formala" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Gehitu Lotura Bat" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Ezabatu Atomoa" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Ezabatu Lotura" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Lotura Ordena" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Aldatu Loturen Ordena" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Atxikitu Loturei" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Ezabatu Lotura" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Gelaxka &Unitatea gehitu" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Gelaxka &Unitatea kendu" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Bete Gelatxo Unitarioa" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "Atomoak Gelaxkan &Multzotu" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Gelaxka unitatearen bolumena eskalatu" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super Gelatxoa" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Jatorrizko gelaxkara murriztu" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Simetrizatu" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Bete Gelatxo Unitarioa" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Unitate Asimetrikora murriztu" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Artxiboa" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Esportatu" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Atalaseak" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Orca-ren Output fitxategia" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Hedapenak" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr " Errorea " #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Arazo bat egon da %1 ibilbide-artxiboa irakurtzean" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL akatsa" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Arazo bat egon da %1 ibilbide-artxiboa irakurtzean" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Open WFN Fitxategia" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Open WFN Fitxategia" #: qtplugins/apbs/apbsdialog.cpp:103 #, fuzzy msgid "PQR Files (*.pqr)" msgstr "VRML fitxategiak (*wrl)" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Akatsa" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Gorde Sarrera Kubierta" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "LAMMPS-en Input-a" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Ondo egin da!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Input fitxategiaren komentarioak" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Erakutsi Lotura Anizkoitzak" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrogenoak" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Puntu eta barrak" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Atomoen eta loturen etiketak errenderizatzen ditu" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Loturetan Oinarritutako Manipulazioa" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Loturetan Oinarritutako Manipulazioa" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Amaierako Atomoa" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Ezabatu Hidrogenoak" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Eraiki" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Lotura" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "Simetri eragitentzako &Tolerantzia..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 #, fuzzy msgid "Connection failed" msgstr " Aukeraketa akatsa" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Artxibo-Izena:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Koordenatu kartesiarrak editatu" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Koordenatu kartesiarrak editatu" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Aldaketak Leheneratu" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Fitxategi-izen baliogabea" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Elementuaren izena" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Elementuaren sinboloa" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Elementuaren sinboloa" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Fitxategi-izen baliogabea" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atomoaren zenbakia" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Fitxategi-izen baliogabea" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Koordenatuak" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Koordenatuak" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Koordenatuak" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Koordenatu kartesiarrak" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Koordenatu kartesiarrak" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Koordenatuak" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Koordenatu kartesiarrak ezarri" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Petsonalizatua" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Ander González, ,Launchpad Contributions:,Ander " "González,Avogadro Team, ,Launchpad Contributions:,Ander González,Avogadro " "Team, ,Launchpad Contributions:,Ander González,Avogadro Team, ,Launchpad " "Contributions:,Ander González,Avogadro Team, ,Launchpad Contributions:,Ander " "González,Avogadro Team, ,Launchpad Contributions:,Ander González,Avogadro " "Team,Julen Larrucea" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ Zenbakiekin" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Koordenatu kartesiarrak" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Koordenatu kartesiarrak" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP Informazioa" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP Informazioa" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Turbomole Sarrera" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Kopiatu Guztia" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Petsonalizatua" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Deuseztatu Guztia" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Ezinezkoa izan da %1-en formatua zehaztea" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Ezinezkoa izan da %1-en formatua zehaztea" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "Kristala Inportatu" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Bete Gelatxo Unitarioa" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Bete Gelatxo Unitarioa" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "Atomoak Gelaxkan &Multzotu" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "&Orientazio Standardera Errotatu" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Gelaxka &Bolumenera Eskalatu..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super Gelatxoa" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Gelaxka murriztu (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Kristal..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Gelaxka &Unitatea kendu" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Gelaxka &Unitatea gehitu" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Gelaxka unitatea hau dagoeneko bere Niggli errepresentazio kanonikora " "murriztuta dago." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Kristal..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Atomoen eta loturen etiketak errenderizatzen ditu" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Neurrira Egindako Ardatzak" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Marraztu" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Marraztu Atomoa" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Aldatu Loturen Ordena" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Ezabatu Atomoa" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distantzia" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distantzia (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Beste batzuk..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOptimizazioa" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Bakuna" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Bikoitza" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Hirukoitza" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Script-ak" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Arazo bat egon da %1 ibilbide-artxiboa irakurtzean" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Sarrera Sortzailea..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS Sarrera" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Energia-Puntu Bakarra" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Geometria Oreka" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Trantsizio Egoera" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Maiztasunak" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Nukleoaren Potentziala" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gasa" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Ura" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Bakarra-t" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Bikoitza-t" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Hirukoitza-t" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Katioi (+2)" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Katioi (+1)" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutroa" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anioi (-1)" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Anioi (-2)" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS Sartzeko Kubierta" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Gelditu Kalkulua" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Doitu Hidrogenoak" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Gehitu Hidrogenoak" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Ezabatu Hidrogenoak" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Ezabatu Hidrogenoak" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrogenoak" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidrogenoak" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Inportatu" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Atomoen eta loturen etiketak errenderizatzen ditu" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Txertatu" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Azalpenik Ez" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Sortu..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipulatu" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipulatu Atomoa" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Neurtu" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Diedroa:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Angelua:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Angelua:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Neurtu" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Isoazalera molekularrak sare gisa errenderizatzen ditu" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Ikusi" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Propietate Molekularrak" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Nabigatu" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Nabigatu" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Izen Kimikoa" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Deskargatzeko estruktura kimikoa" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Sareko Deskarga Huts Egin Du!" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Sarearen denbora agortu da edo beste akats bat omen dago." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Zehaztu den molekula ezin izan da aurkitu: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Sareko Deskarga Huts Egin Du!" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Geometria Optimizatu" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometriaren Optimizazioa" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Loturak hauteman?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Gehitu Hidrogenoak" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Gehitu Hidrogenoak pH-rentzat" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Ezabatu Hidrogenoak" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "'%1' arxibotik molekula bat irakurtzean huts egin du." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Akats bat egon da %1 artxiboa idaztean" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Geometria Optimizatu" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Sortu..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "%1 ibilbide-artxiboa ez da bat etortzen atomoen kantitatearekin molekula " "honetan" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Geometria Optimizatu" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Gehitu Hidrogenoak" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "Orca-rentzako input-a sortu" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Gehitu Hidrogenoak pH-rentzat" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Ezabatu Hidrogenoak" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Geldi" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parametroak:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Lotura Dinamikoak" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Ezabatu..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Geldi" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Bektore Grafikoa Exportatu" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Ezin da %1 fitxategia irakurri." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Errore mezu bat naiz!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr " Errorea " #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Gorde Bideo-Artxiboa" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Errenderizatu POV-Ray erabiltzen" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Grafiko Molekularra..." #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Grafiko Molekularra Bikote Bakartiekin..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Karga Atomikoa" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "H&edapenak" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Open WFN Fitxategia" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "WFN fitxategiak (.*wfn);;Fitxategi guztiak (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "QTAIM extentsioa" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Sarrera artxiboak sortu kimika kuantikoko paketeentzat" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Kalkulatzen Elektroien Dentsitatea" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Kalkulatzen Elektroien Dentsitatea" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Kalkulatu eta ikusi orbital molekularrak" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "Orbital Molekularra %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(Altuen Okupatutako OM)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(Hondoen Ezokupatutako OM)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Berrezarri" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Firtxategi formatua:" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Ezabatu Guztia" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Hautatutakoa" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Alderantzizkatu hautapena" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " balentzia-elektroi" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Hautatu" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Hautatu" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Hautatutakoa" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Hautatutakoa" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Espazio taldea hauteman" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "Simetrizatu" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Unitate Asimetrikora murriztu" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Tolerantzia:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Espazio&taldea" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Espazio taldearen hautemateak porrot egin du.\n" "\n" "Beste tolerantzia ezberdin batekin berriz saiatu nahiko zenuke?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Espazio taldearen hautemateak porrot egin du.\n" "\n" "Beste tolerantzia ezberdin batekin berriz saiatu nahiko zenuke?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Espazio taldearen hautemateak porrot egin du.\n" "\n" "Beste tolerantzia ezberdin batekin berriz saiatu nahiko zenuke?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Espazio taldearen hautemateak porrot egin du.\n" "\n" "Beste tolerantzia ezberdin batekin berriz saiatu nahiko zenuke?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "SCF tolerantzia:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Nazioartekoa" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Atari" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Espazio taldea aukeratu" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Espazio&taldea" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Bibrazioak" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Irudikatze Espektroa" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Koordenatu &zatikatuak erakutsi" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Mota" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Elementua" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "Simetri Propietateak..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Simetria" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Simetri Propietateak" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Molekularen momentu bipolarrak errenderizatzen ditu" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "∞" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Errenderizatu" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "VRML" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Errenderizatu POV-Ray erabiltzen" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Burdin-haria" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Molekulak makila gisa errenderizatzen ditu" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Elkarrizketa" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Inprimakia" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Hautapen Ezarpenak" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Gelditu Kalkulua" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Iluntzaile Programa:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Prozesatzaileak:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Ezkutatu amaitzean" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Ezkutatu amaitzean" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Aldatu Elementua" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Dalton Sarrera Artxiboa" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "Orca-rentzako input-a sortu" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Maila Artxiboa:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Indar-eremua:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Maila Artxiboa:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Dalton Sarrera Artxiboa" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Gorde Sarrera Kubierta" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Ondo egin da!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Kargatu fitxategia" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Kargatu fitxategia" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Neurketa Ezarpenak" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Artxiboaren Izena:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Nabigatu" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Nabigatu" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Nabigatu" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Artxibo-Izena:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "Ados" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Files of type:" msgstr "Firtxategi formatua:" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Ezeztatu" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Koordenatuen formatua:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Berrezarri" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distantzia" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formatua:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Aldaketak Leheneratu" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Ezarri" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Kristala Inportatu" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Super-Gelatxoaren Parametroak" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Super-Gelatxoaren Aukerak" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A errepikatu:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B errepikatu:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C errepikatu:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Gelaxka Unitatearen Kolorea Ezarri" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Gelaxka Matrizea" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Zatikatua" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Atomoak trasladatu" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Ezarri" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Ezkutatu" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Gelaxka unitatearen bolumena eskalatu" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Bolumen berria sartu:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Eskalaketa Faktorea" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "TestuMarka" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Elementua:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Loturen Ordena:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS Sarrera" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Oinarrizko Konfigurazioa" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Sarrera:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Anizkoiztasuna:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Honekin:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Izenburua:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Karga:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Kalkulatu:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Artxibo-Izena:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Berrezarri Guztia" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Lehenespenak" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Kargatu Artxiboa..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "izena" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formatua:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Azalpenik Ez" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Pisu Molekularra (g/mol)" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "EGITEKOA" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Formula Kimikoa:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Atomo Kopurua:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Lotura Kopurua:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometriaren Optimizazioa" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimizazio Metodoa" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Indar-eremua:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimizazio Metodoa" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Gradientearen malda" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Konjugatu Gradienteak" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutoBiratu" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isoazalera = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potentzial Elektrostatikoa" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "Pausuak" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Gradienteen Konbergentziarako Kriterioak:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Konbergentzia" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Denbora Muga:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Unitateak" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Lotura Kopurua:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Uhin-luzera (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Ezabatu Hautatutakoa" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Puntu Kritikoko Erradioa:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Kobalentea" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Tamainu Konstantea" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opakotasuna:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Azalerak" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Azalerak" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Ertaina" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Oso baxua" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Baxua" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Altua" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Oso Altua" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "&Isoazaleraren Valioa:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Bereizmena:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Azalerak" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Kalkulatu" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Bibrazioak" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Anplitudea:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Hasi &Animazioa" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Gelditu &Animazioa" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Simetria" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Aukerak" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Simetri Propietateak" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Espazio&taldea" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "Tolerantzia:" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "Hetsia" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "Normala" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "Laxo" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "Simetria detektatu" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Ander González, ,Launchpad Contributions:,Ander " "González,Avogadro Team, ,Launchpad Contributions:,Ander González,Avogadro " "Team, ,Launchpad Contributions:,Ander González,Avogadro Team, ,Launchpad " "Contributions:,Ander González,Avogadro Team, ,Launchpad Contributions:,Ander " "González,Avogadro Team, ,Launchpad Contributions:,Ander González,Avogadro " "Team,Julen Larrucea" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,,avogadro-devel@lists.sourceforge.net,,,,avogadro-devel@lists." "sourceforge.net,,,,avogadro-devel@lists.sourceforge.net,,,,avogadro-" "devel@lists.sourceforge.net,,,,avogadro-devel@lists.sourceforge.net,,,," "avogadro-devel@lists.sourceforge.net,julenl@gmail.com" #~ msgid "Color by Index" #~ msgstr "Koloreen Aurkibidea" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Koloreen Aurkibidea (gorria, laranja, horia, berdea, urdina, morea)." #~ msgid "Color by Partial Charge" #~ msgstr "Kolorea Karga Partzialez Ezarri" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Kolorea karga atomiko partzialez ordenatu (urdina positiboa, gorria " #~ "negatiboa)" #~ msgid "Custom Color:" #~ msgstr "Kolore Egokitua:" #~ msgid "Custom Color" #~ msgstr "Kolore Egokitua" #~ msgid "Set custom colors for objects" #~ msgstr "Kolore egokituak objetuentzat erabili" #~ msgid "Color by Distance" #~ msgstr "Kolorea Distantziaz Jarri" #~ msgid "Color by distance from the first atom." #~ msgstr "Kolorea lehenengo atomoarekiko distantziaz jarri." #~ msgid "Color by Element" #~ msgstr "Kolorea elementuz jarri" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Kolorea elementuz jarri (C = grisa, O = gorria, ...)" #~ msgid "Color by Residue" #~ msgstr "Kolorea Hondakinez Jarri" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Kolorea Hondakinez Jarri (aminoazidoak, hidrofobizitatea, ...)" #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS Diseinua:" #~ msgid "Highlight Color:" #~ msgstr "Kolore Argienak:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Kolorea SMARTS Diseinuaz jarri" #~ msgid "Ununtrium" #~ msgstr "Ununtrio" #~ msgid "Ununpentium" #~ msgstr "Ununpentio" #~ msgid "Ununseptium" #~ msgstr "Ununseptio" #~ msgid "Ununoctium" #~ msgstr "Ununoctio" #~ msgid "Engines" #~ msgstr "Motoreak" #~ msgid "Axes" #~ msgstr "Ardatzak" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "x, y eta z ardatzak hasierara bueltatzen ditu" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Puntuak (atomoak) eta barrak (loturak) erabiliz errenderizatzen du" #~ msgid "Cartoon" #~ msgstr "Marrazkia" #~ msgid "Renders protein secondary structure" #~ msgstr "Proteinen bigarren estruktura errenderizatzen du" #~ msgid "Dipole" #~ msgstr "Bipolarra" #~ msgid "Force" #~ msgstr "Indarra" #~ msgid "Renders force displacements on atoms" #~ msgstr "Indar desplazamenduak atomoetan" #~ msgid "Hydrogen Bond" #~ msgstr "Hidrogeno Loturak" #~ msgid "Renders hydrogen bonds" #~ msgstr "Hidrogenoen loturak errenderizatzen ditu" #~ msgid "Select Atom Labels Color" #~ msgstr "Atomoen Etiketen Kolorea Hautatu" #~ msgid "Select Bond Labels Color" #~ msgstr "Loturen Etiketen Kolorea Hautatu" #~ msgid "Select Atom Labels Font" #~ msgstr "Atomoen Etiketen Letra-tipoa Hautatu" #~ msgid "Select Bond Labels Font" #~ msgstr "Loturen Etiketen Letra-tipoa Hautatu" #~ msgid "Label" #~ msgstr "Etiketa" #~ msgid "Polygon" #~ msgstr "Poligonoa" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "" #~ "Atomoak tetraedro-, oktoedro- eta beste poligono-formaz errenderizatzen " #~ "ditu" #~ msgid "Ribbon" #~ msgstr "Zinta" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Proteinen bizkarrezurra zintez errenderizatzen ditu" #~ msgid "Ring" #~ msgstr "Eraztuna" #~ msgid "Renders rings with colored planes" #~ msgstr "Kolore planozko eraztunez errenderizatzen du" #~ msgid "Simple Wireframe" #~ msgstr "Alanbre Sinple" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "Loturak alanbre (lerro) gisa errenderizatzen ditu, apartekoa molekula " #~ "handientzat" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waals-en Esferak" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Atomoak Van der Waals esferen gisa errenderizatzen ditu" #~ msgid "Stick" #~ msgstr "Makila" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Elektroien dentsitatea, isoazalera = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isoazalera = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Loturak harien (lerro) moduan errenderizatzen ditu, apartekoa oso " #~ "(bio)molekula handientzat" #~ msgid "Trajectory files" #~ msgstr "Tarjektoria fitxategiak" #~ msgid "DL-POLY HISTORY files" #~ msgstr "DL-POLY HISTORIO fitxategia" #~ msgid "Open Trajectory File" #~ msgstr "Trajektoria Fitxategia ireki" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "bideo-artxiboak (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Gehitzen .avi estentzioa" #~ msgid "Animation..." #~ msgstr "Animazioa..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Ezin da %1 artxiboaren formatua irakurri." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Ezin da irakurri %1 ibilbide artxiboa" #~ msgid "Must specify a valid .avi file name" #~ msgstr ".avi artxibo izen onargarri bat adierazi behar da." #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "GL tresna ezin izan da ongi hasieratu bideo-artxiboa gordetzeko" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Bideo-artxiboaren izen ezonargarria. Direktorioaren ibilbide osoa " #~ "adierazi behar da" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Bideo-artxiboaren izen ezonargarria. Direktorioaren ibilbide osoa eta " #~ "izena adierazi behar dira, izena .avi-z amaitu behar da" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Ezinezkoa izan da %1 fitxategiko formatua zeaztea." #~ msgid "Animation" #~ msgstr "Animazioa" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Ibilbideak, erreakzioak eta bibrazioak animatu." #~ msgid "Cartesian Editor" #~ msgstr "Editore Kartesiarra" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Ez dago zelula unitariorik zehaztuta molekula honentzat -- ezin dira " #~ "erabili frakzio-koordenadak" #~ msgid "Cartesian Editor..." #~ msgstr "Editore Kartesiarra..." #~ msgid "Cartesian editor" #~ msgstr "Editore kartesiarra" #~ msgid "Number of atoms: %1" #~ msgstr "Atomo kopurua: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Lotura biragarrien kopurua: %1" #~ msgid "Add constraint" #~ msgstr "Muga gehitu" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "Zure molekula muga bat gehitzeko atomo bat izan behar du gutxienez" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Zure molekula lotura-muga bat gehitzeko bi atomo izan behar ditu gutxienez" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Zure molekula angelu-muga bat gehitzeko hiru atomo izan behar ditu " #~ "gutxienez" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Zure molekula bihurdura-muga bat gehitzeko lau atomo izan behar ditu " #~ "gutxienez" #~ msgid "&Crystallography" #~ msgstr "&Kristalografia" #~ msgid "&Reduce" #~ msgstr "&Murriztu" #~ msgid "&Settings" #~ msgstr "Ezar&penak" #~ msgid "&Length Unit" #~ msgstr "&Luzera Unitatea" #~ msgid "&Angle Unit" #~ msgstr "&Angelu Unitatea" #~ msgid "&Coordinate Display" #~ msgstr "&Koodenatuak Erakutsi" #~ msgid "Coordinate &Preservation" #~ msgstr "Koodenatuak &Mantendu" #~ msgid "&Matrix Display" #~ msgstr "&Matrizea erakutsi" #~ msgid "Hide &Editors" #~ msgstr "Eskutatu &Editoreak" #~ msgid "Show &Editors" #~ msgstr "Erakutsi &Editoreak" #~ msgid "Hide &Property Display" #~ msgstr "Eskutatu &Propietateen leihoa" #~ msgid "Show &Property Display" #~ msgstr "Erakutsi &Propietateen leihoa" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Sare Mota: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Talde espaziala: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Gelaxka unitatearen bolumena: %L1%2" #~ msgid "Undefined" #~ msgstr "Definitu gabea" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triklinikoa" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoklinikoa" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortorombikoa" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonala" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Romboedrikoa" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hexagonala" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Kubikoa" #~ msgid "Paste Crystal" #~ msgstr "Krisitala txertatu" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Niggli-erredukzioak porrot egin du. Input egituraren sareak Niggli-" #~ "erredukzio algoritmoa nahasten ari da. Input sareareari perturbazio txiki " #~ "bat egiten saitu (gutxi gora behera tolerantzia baino magnitude orden 2 " #~ "txikiagoa dena)." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Gelaxkaren murrizpenak 1000 iterazio ondoren porrot egin du. Gelditzen." #~ msgid "&Translate Atoms..." #~ msgstr "Atomoak &Transladatu..." #~ msgid "&Slab..." #~ msgstr "&Lauza..." #~ msgid "Perceive Space&group..." #~ msgstr "Espazio&taldea hauteman..." #~ msgid "Set &Spacegroup..." #~ msgstr "Espazio&taldea ezarri..." #~ msgid "&Fill Unit Cell" #~ msgstr "Gelaxka Unitatea &Bete" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Gelaxka unitatea bete egungo espazio taldea erabiliz." #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Unitate &Asimetrikora Murriztu" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "" #~ "Posizio baliokidea duten atomoak ezabatu (Gelaxka Unitatea Beteren " #~ "aurkakoa)." #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Kristala Sy&metrizatu" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Gelaxka Murriztu (&Jatorrizkoa)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometro" #~ msgid "&Picometer" #~ msgstr "&Picometro" #~ msgid "&Degree" #~ msgstr "&Graduak" #~ msgid "&Radian" #~ msgstr "&Erradianak" #~ msgid "Display &cartesian coordinates" #~ msgstr "Koordenatu &kartesiarrak erakutsi" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Koordenatu &Kartesiarrak Mantendu Gelaxka Aldaketetan Zehar" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Koordenatu %Zatikatuak Mantendu Gelaxkaren Eraldaketan Zehar" #~ msgid "Display &cartesian matrix" #~ msgstr "Matrize &kartesiarra erakutsi" #~ msgid "Display &fractional matrix" #~ msgstr "Matrize &zatikatua erakutsi" #~ msgid "Display as &row vectors" #~ msgstr "&Lerro bektoreak erakutsi" #~ msgid "Display as &column vectors" #~ msgstr "&Zutabe bektoreak erakutsi" #~ msgid "&Crystal View Options..." #~ msgstr "&Kristala ikusteko aukerak..." #~ msgid "" #~ "

Perceived spacegroup %1, Hall symbol %2, Hermann-Mauguin symbol %3." #~ "

Cell can be symmetrized into a conventional setting, do you wish to " #~ "do so? Actions that make use of symmetry (e.g. supercell builder) require " #~ "this.

" #~ msgstr "" #~ "

Autemandako espazio taldea %1, Hall ikurra %2, Hermann-Mauguin ikurra " #~ "%3.

Gelaxka ezarpen arruntera simetrizatua izan daiteke, hori egin " #~ "nahi duzu? Simetria erabiltzen duten ekintzek (ad. supergelaxka " #~ "eraikitzailea) hau behar dute.

" #~ msgid "Set Spacegroup" #~ msgstr "Espazio taldea ezarri" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Ez da dokumentu honentzako espazio talderik zehaztu.\n" #~ "\n" #~ "Espazio talde bat ezarri nahiko zenuke?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "P1 Espazio taldea hauteman da -- ezin da espazio talde hau simetrizatu.\n" #~ "\n" #~ "Beste tolerantzia ezberdin batekin berri saiatu nahiko zenuke?" #~ msgid "Symmetrize Crystal" #~ msgstr "Kristala Simetrizatu" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Niggli gelaxkara murriztu" #~ msgid "Crystallography" #~ msgstr "Kristalografia" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Egitura periodikoak eraiki eta analizatu." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "Inputa ez dago ondorengo euskarridun\n" #~ "formatuetako batean formateatuta:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "VASP Formatua\n" #~ msgid "Bad Compostion" #~ msgstr "Konposizio txarra" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "Identitateen atalak POSCAR-eko 6. lerroan bezain besteko espazioez " #~ "banaturiko sarrerak izan behar ditu." #~ msgid "Cartesian Coordinates" #~ msgstr "Koordenatu kartesiarrak" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Gelaxka Matrizea (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Gelaxka unitatearen matrizea ezarri" #~ msgid "Set Unit Cell Params" #~ msgstr "Gelaxka Unitate Parametroak Ezarri" #~ msgid "Working..." #~ msgstr "Lanean..." #~ msgid "Build" #~ msgstr "Eraiki" #~ msgid "No GLWidget?" #~ msgstr "GLWidget-ik ez?" #~ msgid "Please select one or more atoms." #~ msgstr "Mesedez aukeratu atomo bat edo gehiago." #~ msgid "Trajectory..." #~ msgstr "Ibilbidea..." #~ msgid "Open chemical file format" #~ msgstr "Ireki artxibo kimikoko formatua" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Artxibo kimikoak (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Ireki parametro-artxiboa" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Artxibo kimikoak (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Ibilbidea Inportatu" #~ msgid "Import trajectory files" #~ msgstr "Ibilbide-artxiboak inportatu" #~ msgid "Setup Force Field..." #~ msgstr "Konfigurazio Behartutako Eremua..." #~ msgid "Calculate Energy" #~ msgstr "Energia Kalkulatu" #~ msgid "Conformer Search..." #~ msgstr "Bilaketa Egokitua..." #~ msgid "Constraints..." #~ msgstr "Mugak..." #~ msgid "Ignore Selection" #~ msgstr "Ez Hartu Kontuan Hautatutakoa" #~ msgid "Fix Selected Atoms" #~ msgstr "Atomo Hautatuak Konpondu" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mekanika Molekularra" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Ezin da konfiguratu hautatutakoaren indar-eremua molekula honentzako. UFF-" #~ "ra aldatzen" #~ msgid "Energy = %L1 %2" #~ msgstr "Energia = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Optimizazio Geometrikoa" #~ msgid "Forcefield Optimization" #~ msgstr "Indar-eremuen Optimizazioa" #~ msgid "Systematic Rotor Search" #~ msgstr "Errotore Sistematikoaren Bilaketa" #~ msgid "Random Rotor Search" #~ msgstr "Auzazko Errotore Bilaketa" #~ msgid "Weighted Rotor Search" #~ msgstr "Errotore Pisudunaren Bilketa" #~ msgid "Genetic Algorithm Search" #~ msgstr "Algoritmo Genetiko bidez Bilatu" #~ msgid "ForceField" #~ msgstr "Indar-Eremua" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Molekulak optimizatu eta egokitzaileak sortu mekanika molekularraren " #~ "indar-eremuak erabiliz" #~ msgid "&Vector Graphics..." #~ msgstr "&Bektore Grafikoak..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Ohiko bektore irudi formatuak" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Bektore grafikoen exportaketa" #~ msgid "Change H to Methyl" #~ msgstr "Aldatu H Metil-era" #~ msgid "H to Methyl" #~ msgstr "H Metil-era" #~ msgid "H2Methyl" #~ msgstr "H2Metil" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Hidrogenoak metil-taldeak bihurtu" #~ msgid "Add or remove hydrogens" #~ msgstr "Gehitu edo ezabatu hidrogenoak" #~ msgid "DNA/RNA..." #~ msgstr "ADN/ARN..." #~ msgid "Insert DNA" #~ msgstr "ADN-a sartu" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Uraziloa" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Timina" #~ msgid "Insert DNA/RNA" #~ msgstr "ADN/ARN-a sartu" #~ msgid "Insert DNA/RNA chains" #~ msgstr "ADN/ARN kateak sartu" #~ msgid "Cannot read molecular file %1." #~ msgstr "Ezinezkoa izan da %1 molekula fitxategia irakurtzea." #~ msgid "Fragment..." #~ msgstr "Zatitu..." #~ msgid "Insert SMILES" #~ msgstr "SMILES-ak Txertatu" #~ msgid "Insert SMILES fragment:" #~ msgstr "SMILES zatiak txertatu" #~ msgid "Insert Fragment" #~ msgstr "Txertatu zatia" #~ msgid "Insert Crystal" #~ msgstr "Kristala Sartu..." #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Txertatu zati molekularrak molekula handiagoak bihur daitezen" #~ msgid "Peptide..." #~ msgstr "Peptido..." #~ msgid "Insert Peptide" #~ msgstr "Peptidoak Txertatu" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Sekuentzia oligopeptidoak txertatu" #~ msgid "Invert Chirality" #~ msgstr "Kiralitea Inbertitu" #~ msgid "InvertChiral" #~ msgstr "KiraliteteaInbertitu" #~ msgid "Invert chiral centers" #~ msgstr "Zentru kiralak inbertitu" #~ msgid "Molecule Properties..." #~ msgstr "Propietate Molekularrak..." #~ msgid "&Properties" #~ msgstr "&Ezaugarriak" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "ezezaguna" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Momentu Bipolarra Estimatua (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(zain)" #~ msgid "Display standard molecular properties." #~ msgstr "Erakutsi adierazitako propietate molekularrak." #~ msgid "Fetch from PDB..." #~ msgstr "Erakutsi PDB-tik..." #~ msgid "Fetch by chemical name..." #~ msgstr "Erakutsi izen kimikoz..." #~ msgid "Fetch from URL..." #~ msgstr "Erakutsi URL-tik" #~ msgid "PDB Entry" #~ msgstr "PDB Sarbidea" #~ msgid "PDB entry to download." #~ msgstr "Deskargatzeko PDB sarbidea" #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "Deskargatzeko molekularen URL-a" #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Zehaztu den molekula ezin izan da kargatu: %1" #~ msgid "Network Fetch" #~ msgstr "Erakutsi Sarea" #~ msgid "Fetch molecule files over the network." #~ msgstr "Erakutsi artxibo molekularrak sare osotik." #~ msgid " No vibration data found!" #~ msgstr " Ez da bibrazio datarik aurkitu!" #~ msgid " No vibration data found or molecule changed outside Orca Plugin!" #~ msgstr "" #~ " Ez da bibrazio datarik aurkitu edo molekulak aldatu egin du Orca " #~ "Pluginetik kanpo!" #~ msgid "All Files" #~ msgstr "Fitxategi guztiak" #~ msgid "Read Orca Outputfile" #~ msgstr "Orca-ren Output fitxategia irakurri" #~ msgid "no file found" #~ msgstr "ez da fitxategia aurkitu" #~ msgid "Somethings wrong in the file structure" #~ msgstr "Zerbait txarto dago fitxategiaren egituran" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "Zerbait txarto dago fitxategiaren egituran - gelaxka unitatea" #~ msgid "Something is wrong in the IR output! " #~ msgstr "IR-aren outputean akatsen bat dago! " #~ msgid "Something is wrong in the raman output! " #~ msgstr "raman outputean akatsen bat dago! " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "Orbitalen energiaren outputarekin zerbait txarto dago! " #~ msgid "No geometry found in file!" #~ msgstr "Ez da geometriarik aurkitu fitxategian!" #~ msgid "" #~ "Molecule of the file does not fit the actual molecule structure! \n" #~ " Would you like to override the actual molecule?" #~ msgstr "" #~ "Fitxategiko molekulak ez dator bat egungo egiturarekin!\n" #~ " Egungo molekula gainidatzi nahi duzu?" #~ msgid "Could not read file!" #~ msgstr "Ezinezkoa izan da fitxategia irakurtzea!" #~ msgid "Analyse Orca Output..." #~ msgstr "Orca-ren inputa analizatu..." #~ msgid "&Orca" #~ msgstr "&Orca" #~ msgid "Orca Test Example" #~ msgstr "Orca Test Adibidea" #~ msgid "Show Preview" #~ msgstr "Erakutsi Aurreikuspena" #~ msgid "Hide Preview" #~ msgstr "Ezkutatu Aurreikuspena" #~ msgid "RijCosX option not available for the selected DFT functional!" #~ msgstr "" #~ "RijCosX aukera ez dago eskuragarri aukeraturiko DFT funtzionalarentzat!" #~ msgid "" #~ "RijCosX not available for the selected DFT functional! \n" #~ "RijCosX option reset!" #~ msgstr "" #~ "RijCosX ez dago eskuragarri aukeraturiko DFT funtzionalarentzat! \n" #~ "RijCosX aukera berezarketa!" #~ msgid "Intensities" #~ msgstr "Intentsitateak" #~ msgid " OrcaSpectra::No vibration data found!" #~ msgstr " OrcaSpectra::Ez da datu bibrazionalik aurkitu!" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Gorde POV-Ray argazki errenderizatua" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Argazki-artxiboak (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Ez da hornitu artxibo izenik." #~ msgid "No valid filename was supplied." #~ msgstr "Ez da hornitu artxibo izen onargarririk." #~ msgid "Does not compute." #~ msgstr "Ezin da konputatu." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Zure eskaera izan da ez egitea errenderizazio zuzenik POV-Ray erabiltzen " #~ "eta POV-Ray artxiboa ez mantentzea. Honek inposatzen du ez duela ezer " #~ "gordeko. Ziur zaude hau nahi duzula?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Ezin da %1 artxiboa sortu. Baimenik al duzu helbide horretan gordetzeko?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray huts egin du hasieran." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Rau huts egin du hasieran. Agian exekutagarrirako helbidea ez da " #~ "zuzenki idatzi." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Sortu POV-Ray artxiboak eta POV-Ray programa komando-lerroa erabiliz " #~ "haiek errenderizatu." #~ msgid "Atom Properties..." #~ msgstr "Propietate Atomikoak..." #~ msgid "Bond Properties..." #~ msgstr "Loturaren Propietateak..." #~ msgid "Angle Properties..." #~ msgstr "Propietate Angeluarrak..." #~ msgid "Torsion Properties..." #~ msgstr "Tortsioaren Propietatek..." #~ msgid "Conformer Properties..." #~ msgstr "Egokitzailearen Propietateak..." #~ msgid "Atom Properties" #~ msgstr "Propietate Atomikoak" #~ msgid "Bond Properties" #~ msgstr "Loturaren Propietateak" #~ msgid "Angle Properties" #~ msgstr "Propietate Angeluarrak" #~ msgid "Torsion Properties" #~ msgstr "Tortsioaren Propietateak" #~ msgid "Conformer Properties" #~ msgstr "Egokitzailearen Propietateak" #~ msgid "Properties" #~ msgstr "Ezaugarriak" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Atomo-, lotura-, angelu- eta tortsio-propietateak ikusteko leihoa. Baita " #~ "koordenatu kartesiarrak aldatzeko editorea." #~ msgid "Valence" #~ msgstr "Balentzia" #~ msgid "Partial Charge" #~ msgstr "Karga Partziala" #~ msgid "Atom" #~ msgstr "Atomoa" #~ msgid "Start Atom" #~ msgstr "Hasierako Atomoa" #~ msgid "Rotatable" #~ msgstr "Biragarria" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Konformeroa %1\n" #~ "Luzeera %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Luzera %1" #~ msgid "Vertex" #~ msgstr "Erpina" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Konformeroa %1\n" #~ "Angelua %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Angelu %1" #~ msgid "Angle" #~ msgstr "Angelua" #~ msgid "Atom %1" #~ msgstr "Atomo %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Konformeroa %1\n" #~ "Tortsioa %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Tortsio %1" #~ msgid "Torsion" #~ msgstr "Tortsio" #~ msgid "Energy (kJ/mol)" #~ msgstr "Energia (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Egokitzailea" #~ msgid "Yes" #~ msgstr "Onartu" #~ msgid "No" #~ msgstr "Ukatu" #~ msgid "Python Terminal" #~ msgstr "Python Terminala" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Python idazteko terminal interaktiboa" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Aurrebistako textua eguneratu nahiko zenuke, Abinitek input atalean " #~ "egindako aldaketa guztiak galduz?" #~ msgid "Abinit_Input_Deck" #~ msgstr "Abinit_Input_Atala" #~ msgid "Abinit Running." #~ msgstr "Abinit abian." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Abinit abian dago dagoeneko. Mesedez itxaron aurreko kalkulua bukatu arte." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit Ez dago Instalatuta." #~ msgid "The abinit executable cannot be found." #~ msgstr "Ezin da Abinit-en exekutagarria aurkitu." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudoak (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "abinit ez da abiatu. Agian ez dago behar bezala instalatuta." #~ msgid "Running Abinit calculation..." #~ msgstr "Abinit kalkulua Abiatzen..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit-ek ez du behar bezala abiatu. Agian ez dago behar bezala " #~ "instalatuta." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Dalton Sarrera Artxiboa Sortzeko Abisua" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Gustatuko litzaizuke aurreko testua eguneratzea, Dalton Sarrera " #~ "artxiboaren aurreikuspen panelean egindako aldaketa guztiak ezabatzen?" #~ msgid "QM Matches" #~ msgstr "QM" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP Hautapena..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM Hautapena..." #~ msgid "Delete" #~ msgstr "Ezabatu" #~ msgid "You must make a selection!" #~ msgstr "Zerbai hautatu behar da!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES Bihurketa Eskuraezina" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES Formatu Bihurriketa Eskuraezina!" #~ msgid "Group Name" #~ msgstr "Talde-izena" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "" #~ "Sarrera artxiboak sortzen ditu GAMESS kimika kuantikoko paketeentzat" #~ msgid "Advanced Settings Changed" #~ msgstr "Ezarpen Aurreratuak Aldatu dira" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Ezarpen aurreratuak aldatu dira.\n" #~ "Deuseztatu?" #~ msgid "Advanced Settings Reset" #~ msgstr "Ezarpen Aurreratuak Berrezarri" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Ziur al zaude ezarpen aurreratuak berrezarri nahi dituzula?\n" #~ "Aldaketa guztiak galduko dira!" #~ msgid "Basic Settings Reset" #~ msgstr "Ezarpen Basikoak Berrezarri" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Ziur al zaude ezarpen basikoak berrezarri nahi dituzula?\n" #~ "Aldaketa guztiak galduko dira!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "GAMESS-UK Input Atalal Generadorearen Ohartarazpena" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Aurrebistako textua eguneratu nahiko zenuke, GAMESS-UK-ek input atalean " #~ "egindako aldaketa guztiak galduz?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "GAMESS-UK Input Atala" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussian Sartzeko Kubiertaren Sortzaileko Abisua" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Gustatuko litzaizuke aurreko testua eguneratzea, Gaussian sartzeko " #~ "kubierta berrikusteko panelean egindako aldaketa guztiak ezabatzen?" #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussian Sartzeko Kubierta" #~ msgid "Gaussian Running." #~ msgstr "Gaussian Ibiltzen." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian jadanik dabil. Itxaron beste kalkuluak amaitzen diren arte." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian ez dago Instalatuta" #~ msgid "The G03 executable, cannot be found." #~ msgstr "G03 exekutablea, ezin da aurkitu." #~ msgid "G03 failed to start." #~ msgstr "G03 huts egin du hasieran." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 ez da hasi. Agian ez da ongi instalatu" #~ msgid "Running Gaussian calculation..." #~ msgstr "Gaussian kalkulua ibiltzen..." #~ msgid "G03 Crashed." #~ msgstr "G03 Huts Egin du." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Gaussian ez da ondo ibili. Agian ez da ongi instalatu." #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Input File Generators" #~ msgstr "Sarrera-Artxibo Sortzaileak" #~ msgid "Lammps Input Deck Generator Warning" #~ msgstr "Lammps Input Atalal Generadorearen Ohartarazpena" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Aurrebistako textua eguneratu nahiko zenuke, Lammps-ek input atalean " #~ "egindako aldaketa guztiak galduz?" #~ msgid "Lammps Input" #~ msgstr "Lammps Inputa" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Molpro Sartzeko Kubierta Sortzailearen Abisua" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Gustatuko litzaizuke aurreko testua eguneratzea, Molpro sartzeko kubierta " #~ "aurreikusteko panelean egindako aldaketa guztiak ezabatzen?" #~ msgid "Molpro Input Deck" #~ msgstr "Molpro Sartzeko Kubierta" #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC Sarrerako Abisua" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Gustatuko litzaizuke aurreko testua eguneratzea, MOPAC sartzeko kubierta " #~ "aurreikusteko panelean egindako aldaketa guztiak ezabatzen?" #~ msgid "MOPAC Input Deck" #~ msgstr "MOPAC Sartzeko Kubierta" #~ msgid "MOPAC Running." #~ msgstr "MOPAC Ibiltzen." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC jadanik dabil. Itxaron aurreko kalkuluak amaitu arte." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC ez dago Instalatuta." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "MOPAC exekutablea, ezin da aurkitu." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC huts egin du hasieran." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC ez da hasi. Agian ez da ongi instalatu." #~ msgid "Running MOPAC calculation..." #~ msgstr "MOPAC kalkulua ibiltzen..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC huts egin du." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "MOPAC ez da zuzenean ibili. Agian ez da ongi instalatu." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "MWChem Sartzeko Kubierta Sortzeko Abisua" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Gustatuko litzaizuke aurreko testua eguneratzea, MWChem sartzeko kubierta " #~ "aurreikusteko panelean egindako aldaketa guztiak ezabatzen?" #~ msgid "NWChem Input Deck" #~ msgstr "MWChem Sartzeko Kubierta" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Psi4 Input Atalal Generadorearen Ohartarazpena" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "Aurrebistako textua eguneratu nahiko zenuke, Psi4-ek input atalean " #~ "egindako aldaketa guztiak galduz?" #~ msgid "Psi4 Input Deck" #~ msgstr "Psi4 Input Atala" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem Sartzeko Kubierta Sortzeko Abisua" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Gustatuko litzaizuke aurreko testua eguneratzea, Q-Chem sartzeko kubierta " #~ "aurreikusteko panelean egindako aldaketa guztiak ezabatzen?" #~ msgid "QChem Input Deck" #~ msgstr "QChem Sartzeko Kubierta" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "TeraChem Input Atal Generadorearen Ohartarazpena" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Aurrebistako textua eguneratu nahiko zenuke, TeraChem-ek input atalean " #~ "egindako aldaketa guztiak galduz?" #~ msgid "TeraChem Input Deck" #~ msgstr "TeraChem Input Atala" #~ msgid "Select SMARTS..." #~ msgstr "SMARTS Hautatu..." #~ msgid "Select by Element..." #~ msgstr "Elementuz Hautatu..." #~ msgid "Select by Residue..." #~ msgstr "Hondakinez Hautatu..." #~ msgid "Add Named Selection..." #~ msgstr "Gehitu Hautaketa Izenduna..." #~ msgid "SMARTS Selection" #~ msgstr "SMARTS Hautaketa" #~ msgid "SMARTS pattern to select" #~ msgstr "SMARTS eredua hautatzeko" #~ msgid "Select by residue" #~ msgstr "Hondakinez hautatu" #~ msgid "Residue name" #~ msgstr "Hondakinaren izena" #~ msgid "There is no current selection." #~ msgstr "Ez dago ezer hautatuta." #~ msgid "Add Named Selection" #~ msgstr "Gehitu Izendatutako Hautapena" #~ msgid "Name cannot be empty." #~ msgstr "Izena ezin da hutsik egon." #~ msgid "There is already a selection with this name." #~ msgstr "Beste hautaketa dago jadanik izen horrekin." #~ msgid "Selections" #~ msgstr "Hautaketak" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Hautatu atomoak, loturak, hondakinak..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Iluntzaileak..." #~ msgid "Open a vertex shader source file" #~ msgstr "Ireki erpin iluntzaileko iturri-artxiboa" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Erpin iluntzaile-artxiboak (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Ireki fragmentu iluntzaileko iturri-artxiboa" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fragmentu iluntzaile-artxiboak (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Ireki iluntzailearen parametro-artxiboa" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Iluntzailearen parametro-artxiboa (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL Iluntzaileak" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Kargatu eta erabili OpenGL 2.0 GLSL iluntzaileak" #~ msgid "Intensity (arb. units)" #~ msgstr "Intentsitatea (arb. unitateak)" #~ msgid "Energy (eV)" #~ msgstr "Energia (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Estatuen Dentsitatea (estatu/gelaxka)" #~ msgid "Density of States (states/atom)" #~ msgstr "Estatuen Dentsitatea (estatu/atomo)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Estatuen Dentsitatea (estatu/balentzia-elektroi)" #~ msgid "Transmittance (%)" #~ msgstr "Transmisio-Faktorea (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbantzia (%)" #~ msgid "No intensities" #~ msgstr "Intentsitaterik ez" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Kargatu diren bibrazio-datuak molekula honetan ez dute intentsitate " #~ "daturik. Intentsitateei hautazko baloreak ezarri zaizkie ongi " #~ "irudikatzeko." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Uhin-zenbakia (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Modulazioa (ppm)" #~ msgid "Activity" #~ msgstr "Jarduera" #~ msgid "Intensity" #~ msgstr "Intentsitatea" #~ msgid "X Axis" #~ msgstr "X Ardatza" #~ msgid "Y Axis" #~ msgstr "Y Ardatza" #~ msgid "&Appearance" #~ msgstr "&Itxura" #~ msgid "E&xport Image" #~ msgstr "E&sportatu Irudia" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infragorria" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&Espektru Infragorriaren Ezarpenak" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "&NMR Espektruaren Ezarpenak" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "Estatuen Dentsitatea" #~ msgid "&Density Of States Settings" #~ msgstr "&Estatuen Dentsitatearen Ezarpenak" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "Ultarmorea" #~ msgid "&UV Settings" #~ msgstr "&Ultramoreko Ezarpenak" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "Dikromismo Zirkularreko Espektrua" #~ msgid "&CD Settings" #~ msgstr "&Dikronismo Zirkularraren Ezarpenak" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman Espektrua" #~ msgid "&Raman Settings" #~ msgstr "&Raman Ezarpenak" #~ msgid "No data" #~ msgstr "Daturik ez" #~ msgid "Dark" #~ msgstr "Iluna" #~ msgid "Light" #~ msgstr "Argia" #~ msgid "Publication" #~ msgstr "Publikazioa" #~ msgid "Handdrawn" #~ msgstr "Eskuz Marraztuta" #~ msgid "New Scheme" #~ msgstr "Eskema berria" #~ msgid "Confirm Scheme Removal" #~ msgstr "Baieztatu Eskema Ezabatzea" #~ msgid "Really remove current scheme?" #~ msgstr "Benetan ezabatu nahi duzu eskema hau?" #~ msgid "Change Scheme Name" #~ msgstr "Aldatu Eskemaren Izena" #~ msgid "Enter new name for current scheme:" #~ msgstr "Eskema berriaren izena idatzi:" #~ msgid "Select Background Color" #~ msgstr "Atzealdeko Kolorea Hautatu" #~ msgid "Select Foreground Color" #~ msgstr "Hautatu Lehenengo Planoaren Kolorea" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Hautatu Kalkulatutako Kolore Espektrua" #~ msgid "Select Imported Spectra Color" #~ msgstr "Hautatu Inportatutako Kolore Espektrua" #~ msgid "Export Calculated Spectrum" #~ msgstr "Esportatu Kalkulatutako Espektrua" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Tabuladorez Bereizitako Baloreak (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Tabuladorez Bereizitako Baloreak" #~ msgid "Comma Separated Values" #~ msgstr "Komaz Bereizitako Baloreak" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Inportatu Espektrua" #~ msgid "Spectra Import" #~ msgstr "Espektru Inportazioa" #~ msgid "Unknown extension: %1" #~ msgstr "Estensio Ezezaguna: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR (Infragorrien) datuak (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole IR (Infragorrien) datuak (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Turbomole (UV) Ultramoreen datuak (control)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Turbomole CD (Dikromismo Zirkularraren) datuak (control)" #~ msgid "Data Format" #~ msgstr "Datuaren Formatua" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Formatua:" #~ msgid "Load Spectral Data" #~ msgstr "Gorde Espektruaren Datuak" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "" #~ "Turbomole Dikromismo Zirkulareko artxiboa txarto formateatuta dago: %1" #~ msgid "Portable Network Graphics" #~ msgstr "Sareko Grafiko Eramangarriak" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Etiketaturiko Argazkien Artxiboen Formatua" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bit-mapa" #~ msgid "Portable Pixmap" #~ msgstr "Pixel-mapa Eramangarria" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bit-mapa" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixel-mapa" #~ msgid "Save Spectra Image" #~ msgstr "Gorde Espektruaren Irudia" #~ msgid "Image successfully written to %1" #~ msgstr "Argazkia ongi idatzi izan da %1 artxibora" #~ msgid "&Advanced <<" #~ msgstr "&Aurreratua <<" #~ msgid "&Advanced >>" #~ msgstr "&Aurreratua >>" #~ msgid "&Spectra..." #~ msgstr "&Espektrua..." #~ msgid "Spectra" #~ msgstr "Espektrua" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Ikusi datu espektralak mekanika kimikoko kalkulutetatik" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Bibrazio-Analisi" #~ msgid "No vibrational displacements exist." #~ msgstr "Ez dira bibrazio-desplazamendurik existitzen." #~ msgid "Vibration" #~ msgstr "Bibrazioa" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Ikusi bibrazio-moduak kimika kuantikoko kalkuluetatik" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Salikatzen %1 bibrazioak frekuentziaz..." #~ msgid "Pause" #~ msgstr "Gelditu" #~ msgid "Super Cell Builder..." #~ msgstr "Super Gelatxo-Eraikitzailea..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Dokumentu hau molekula isolatu bakarra da. Gelatxo unitario bat sortu " #~ "behar duzu." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Eraiki eta erakutsi super gelatxo kristalografikoak" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbital Molekularrak..." #~ msgid "Orbitals" #~ msgstr "Orbitalak" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "Altuen Okupatutako OM" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "Hondoen Ezokupatutako OM" #~ msgid "Orbital" #~ msgstr "Orbitala" #~ msgid "Status" #~ msgstr "Egoera" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Ezer ez" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potentzial Elektrostatikoa" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Elektroien Dentsitatea" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbital molekularra" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Akatsa - mota zehaztugabea" #~ msgid "Create Surfaces..." #~ msgstr "Azalerak Sortu..." #~ msgid "Calculating VdW Cube" #~ msgstr "VdW Kuboa Kalkulatzek" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Kalkulatzen %1 Orbital Molekularra" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Elektroien Dentsitatea" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "" #~ "Potentzial elektrostatikozko gainazalak ez daude oraindik soportauta." #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Kalkulatu orbital molekularrak eta beste azalerak" #~ msgid "&Nanotube Builder..." #~ msgstr "&Nanohodi Eraikitzailea..." #~ msgid "Nanotube Builder" #~ msgstr "Nanohodi Eraikitzailea." #~ msgid "Invalid Nanotube Specification" #~ msgstr "Nanohodi zehazpen baliogabea" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "Eskatutako nanohodia ezin izan da eraiki ondorengo arrazoiarengatik:\n" #~ "\n" #~ "n edo m-ren balioa 1 baino handiagoa izan behar da." #~ msgid "Insert Nanotube" #~ msgstr "Nanohodia Sartu" #~ msgid "SWCNT Builder" #~ msgstr "SWCNT Eraikitzailea" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Orma bakarreko karbono nanohodiak eraiki." #~ msgid "Building..." #~ msgstr "Eraikitzen..." #~ msgid "Display point group symmetry." #~ msgstr "Talde puntualaren simetria erakutsi." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL tresna ez zen ongi hasieratua bideo bat egiteko" #~ msgid "GL widget has no molecule" #~ msgstr "GL tresna ez du molekularik" #~ msgid "Building video " #~ msgstr "Bideoa Eraikitzen " #~ msgid "Could not run povray." #~ msgstr "Ezin izan da POV-Ray ibili" #~ msgid "Could not run mencoder." #~ msgstr "Ezin izan da mencoder ibili." #~ msgid "Set Aspect Ratio" #~ msgstr "Izendatu Itxura-Proportzioa" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Avogadro eszena hau %1x%2 pixeleko luzera du, eta ondorioz %3-(e)ko " #~ "itxura proportzioa du.\n" #~ "Balore hauek mantentzea komenigarria da, adibidez POV-Ray erabili nahi " #~ "baduzu\n" #~ "%4x1000 pixeleko argazki bat eraikitzeko, edo beste balore positiborik " #~ "sar daiteke,\n" #~ "adibidez 1 POV-Ray erabiltzeko intentzioa baduzu irudi karratu bat " #~ "eraikitzeko (1000x1000 pixel)." #~ msgid "Save VRML rendered files" #~ msgstr "Gorde VRML errenderizaturiko fitxategiak" #~ msgid "VRML..." #~ msgstr "VRML..." #~ msgid "Connect" #~ msgstr "Konektatu" #~ msgid "Disconnect" #~ msgstr "Deskonektatu" #~ msgid "&WiiTrack" #~ msgstr "&Wii-Bidea" #~ msgid "Wii Tracking" #~ msgstr "Wii Bideratzen" #~ msgid "Track motion using Wii remotes" #~ msgstr "Bideratu Wiimote-a erabiltzen" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "OpenGL testuinguru baliogabea.\n" #~ "Zure OpenGL-ko konfigurazioan dagoen edozer guztiz apurtuta dago (edozein " #~ "OpenGL-aplikaziorik ibili dezakezu?), edo programazio-akats (bug) bat " #~ "aurkitu duzu." #~ msgid "Debug Information" #~ msgstr "Arazketaren informazioa" #~ msgid "FPS: %L1" #~ msgstr "Fotogramak segundoko: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Ikusi Neurria: %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "ModelView 1. ilara: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "ModelView 2. ilara: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "ModelView 3. ilara: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "ModelView 4. ilara: %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Atomoak: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Loturak: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: %1 aurkibidea eskuerarik gabe geratu da." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "'%1' Artxibo mota ezin da irakurri" #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "'%1' Artxiboarentzako artxibo mota ezin da irakurri" #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "" #~ "%1-(e)ko aurkibideko molekula '%2' artxibotik irakurtzean huts egin du." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: %1 aurkibidea eskuerarik gabe geratu da." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "'%1' Artxibo mota ezin da idatzi" #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "'%1' Artxiboarentzako artxibo mota ezin da idatzi" #~ msgid "Could not open file '%1' for writing." #~ msgstr "Ezin da '%1' artxiboa ireki idazteko." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Ezin da '%1' artxiboa ireki irakurtzeko." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "" #~ "%1 aurkibidea duen molekula '%2' artxiboan ordezkatzean huts egin du." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "%1 artxiboa ezin da ireki irakurtzeko." #~ msgid "File %1 can not be opened for writing." #~ msgstr "%1 artxiboa ezin da ireki idazteko." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Huts egin du artxibo molekularra gordetzean - ezin zaio izenik ipini " #~ "jatorrizko artxiboari." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Huts egin du artxibo molekularra gordetzean - ezin zaio izenik ipini " #~ "artxibo berriari." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Huts egin du artxibo molekularra gordetzean - ezin da ezabatu artxibo " #~ "zaharra." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Molekula bat '%1' artxibora idaztean huts egin du. OpenBabel funtzioa " #~ "huts egin du." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Ezin da %1 artxiboa ireki idazteko." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "'%1' artxiboan egokitzaileak idaztean huts egin du." #~ msgid "Molecule %1" #~ msgstr "%1 Molekula" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Python Engine Ezezaguna" #~ msgid "N/A" #~ msgstr "A/E" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: konprobatzen " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - script-a ez du 'Engine' klasea definituta" #~ msgid " - no module" #~ msgstr " - modulorik ez" #~ msgid "Unknown Python Extension" #~ msgstr "\"Python Extension\" Ezezaguna" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: konprobatzen " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - script-a ez du 'Extension' klasea definituta" #~ msgid "Unknown Python Tool" #~ msgstr "\"Python Tool\" Ezezaguna" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: konprobatzen " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - script-a ez du 'Tool' klasea definituta" #~ msgid "Conformer %1" #~ msgstr "%1 Egokitzailea" #~ msgid "Tools" #~ msgstr "Tresnak" #~ msgid "Axis:" #~ msgstr "Ardatza:" #~ msgid "Align:" #~ msgstr "Lerrokatu:" #~ msgid "Everything" #~ msgstr "Guztia" #~ msgid "Align" #~ msgstr "Lerrokatu" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Lerrokatu molekulak ardatz kartesiar batera" #~ msgid "Align Settings" #~ msgstr "Lerrokatu Ezarpenak" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt.: ezin izan da indar-eremua konfiguratu..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Mugen Kopurua: %1" #~ msgid "Steps per Update:" #~ msgstr "Urratsak eguneraketako:" #~ msgid "Algorithm:" #~ msgstr "Algoritmoa:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dinamika Molekularra (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinamika Molekularra (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinamika Molekularra (900K)" #~ msgid "Start" #~ msgstr "Hasi" #~ msgid "Fixed atoms are movable" #~ msgstr "Finkatutako atomoak mugikorrak dira" #~ msgid "Ignored atoms are movable" #~ msgstr "Ezikusitako atomoak mugikorrak dira" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOpt molekula" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Geometria molekularra automatikoki optimizatzen du" #~ msgid "AutoOptimization Settings" #~ msgstr "AutoOptimizazioaren Ezarpenak" #~ msgid "Auto Rotation Tool" #~ msgstr "Auto-Biraketa Tresna" #~ msgid "x rotation:" #~ msgstr "x biraketa:" #~ msgid "x rotation" #~ msgstr "x biraketa" #~ msgid "y rotation:" #~ msgstr "y biraketa:" #~ msgid "y rotation" #~ msgstr "y biraketa" #~ msgid "z rotation:" #~ msgstr "z biraketa:" #~ msgid "z rotation" #~ msgstr "z biraketa" #~ msgid "Automatic rotation of molecules" #~ msgstr "Molekulak automatikoki biratzen ditu" #~ msgid "AutoRotate Settings" #~ msgstr "AutoBiratu Ezarpenak" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Loturaren Luzera: %L1" #~ msgid " Show Angles" #~ msgstr " Erakutsi angeluak" #~ msgid "Snap-to Threshold: " #~ msgstr "Atxikitu Atalaseari: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Loturetan Oinarrituta Manipulatu" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Loturen luzera, angelua eta tortsioen manipulaketa" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Loturetan Oinarrituta Manipulatzeko Ezarpenak" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Klikatu Neurtzeko (F12)\n" #~ "\n" #~ "Saguko ezker botoia: \t Aukeratu batetik hiru Atomorarte.\n" #~ "\t Distantziak 1-2 eta 2-3-ren arten neurtuko dira\n" #~ "\t Angelua 1-3-ren artean neurtuko da 2-a puntu komuna izanik\n" #~ "Saguko eskuin botoia: \t Neurketak berrezarri. Klik bikoitza: \t " #~ "Ikuspuntua berrezarri." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distantzia (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Angelua: %L1º" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distantzia (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Angelu Diedroa: %1º" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distantzia(k):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Loturaren luzera, angeluak eta diedroak neurtu" #~ msgid "Delete Atom" #~ msgstr "Ezabatu Atomoa" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Marrazketa Tresna (F8)\n" #~ "\n" #~ "Saguko ezker botoia: \t Klikatu eta tiratu Atomoak eta Loturak sortzeko\n" #~ "Saguko eskuin botoia: \t Atomoa ezabatu" #~ msgid "Draw Bond" #~ msgstr "Marraztu Lotura" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Marraztu eta editatu atomoak eta loturak" #~ msgid "Draw Settings" #~ msgstr "Marrazketa Ezarpenak" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Mugitu, biratu eta doitu atomoak eta zatiak" #~ msgid "Manipulate Settings" #~ msgstr "Manipulaketa Ezarpenak" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Mugitu, biratu eta egin zoom ikusten den inguruan" #~ msgid "Navigate Settings" #~ msgstr "Nabigazio Ezarpenak" #~ msgid "Selection Mode:" #~ msgstr "Hautapen Modua:" #~ msgid "Atom/Bond" #~ msgstr "Atomo/Lotura" #~ msgid "Residue" #~ msgstr "Hondakina" #~ msgid "Add Center of Atoms" #~ msgstr "Atomoen Zentrua Gehitu" #~ msgid "Add Center of Mass" #~ msgstr "Masa Zentrua Gehitu" #~ msgid "Change color of the atom" #~ msgstr "Atomoaren kolorea aldatu" #~ msgid "Change label of the atom" #~ msgstr "Atomoaren marka aldatu" #~ msgid "New Label:" #~ msgstr "Marka Berria:" #~ msgid "Change label of the bond" #~ msgstr "Loturaren marka aldatu" #~ msgid "Change radius of the atom" #~ msgstr "Atomoaren erradioa aldatu" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Erradio Berria (Å), %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Hautatu atomoak, hondakinak eta molekulak" #~ msgid "Symbol" #~ msgstr "Sinboloa" #~ msgid "Bond Length" #~ msgstr "Loturaren Luzera" #~ msgid "Bond Angle" #~ msgstr "Loturaren Angelua" #~ msgid "Dihedral Angle" #~ msgstr "Angelu Diedroa" #~ msgid "Z Matrix Editor..." #~ msgstr "Z Matrizea Editatu..." #~ msgid "Z-Matrix" #~ msgstr "Z-Matrizea" #~ msgid "Create/edit a z-matrix" #~ msgstr "Sortu/Editatu z-matrize bat" #~ msgid "Z-Matrix Settings" #~ msgstr "Z-Matrizearen Ezarpenak" #~ msgid "Residue Color Settings" #~ msgstr "Hondakinaren Kolorearen Ezarpenak" #~ msgid "Color residues by:" #~ msgstr "Hondakinen kolorea antolatu:" #~ msgid "Amino Colors" #~ msgstr "Kolore Aminoak" #~ msgid "Shapely Colors" #~ msgstr "Kolore Modelatuak" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobizitatea" #~ msgid "Axes:" #~ msgstr "Ardatzak:" #~ msgid "Cartesian Axes" #~ msgstr "Ardatz Kartesiarrak" #~ msgid "Orthogonal Axes" #~ msgstr "Ardatz Ortogonalak" #~ msgid "Axis 1:" #~ msgstr "1. Ardatza:" #~ msgid "Axis 2:" #~ msgstr "2. Ardatza:" #~ msgid "Axis 3:" #~ msgstr "3. Ardatza:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Jatorria:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Araua" #~ msgid "Preserve vector norms" #~ msgstr "Bektorearen arauak mantendu" #~ msgid "Atom Radius:" #~ msgstr "Atomoaren Erradioa:" #~ msgid "Bond Radius:" #~ msgstr "Loturaren Erradioa:" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Helix" #~ msgstr "Helizea" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Orria" #~ msgid "Loop" #~ msgstr "Errepikatu" #~ msgid "Colors" #~ msgstr "Koloreak" #~ msgid "Dipole:" #~ msgstr "Bipoloa:" #~ msgid "Dipole Moment" #~ msgstr "Momentu Bipolarra" #~ msgid "Custom Vector" #~ msgstr "Neurrira Egindako Bektorea" #~ msgid "Custom:" #~ msgstr "Neurrira Egindakoa:" #~ msgid "Width:" #~ msgstr "Zabalera:" #~ msgid "Cut-off radius:" #~ msgstr "Mozketa-Erradioa:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Mozketa-Angelua:" #~ msgid "Rendering Engine:" #~ msgstr "Errenderizazio Motorra:" #~ msgid "TextRenderer" #~ msgstr "TextRenderer" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Atomoaren Markak" #~ msgid "Text:" #~ msgstr "Testua:" #~ msgid "Color:" #~ msgstr "Kolorea:" #~ msgid "None" #~ msgstr "Ezer ez" #~ msgid "Symbol & Number in Group" #~ msgstr "Sinboloa eta Zenbakia Taldekatu" #~ msgid "Symbol & Atom number" #~ msgstr "Sinboloa eta Atomoaren zenbakia" #~ msgid "Formal charge" #~ msgstr "Karga Formala" #~ msgid "Partial charge" #~ msgstr "Karga Partziala" #~ msgid "Residue number" #~ msgstr "Hondakinaren zenbakia" #~ msgid "Unique ID" #~ msgstr "ID Bakarra" #~ msgid "Custom data" #~ msgstr "Neurrira egindako datuak" #~ msgid "Change Font" #~ msgstr "Aldatu Letra-Tipoa" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Marka Aldatu:" #~ msgid "Bond Labels" #~ msgstr "Lotura-Markak" #~ msgid "Bond length" #~ msgstr "Loturaren luzera" #~ msgid "Bond number" #~ msgstr "Loturaren zenbakia" #~ msgid "Bond order" #~ msgstr "Loturaren ordena" #~ msgid "Rendering:" #~ msgstr "Errenderizatzen:" #~ msgid "Backbone" #~ msgstr "Bizkarrezurra" #~ msgid "Lines" #~ msgstr "Lerroak" #~ msgid "Radius:" #~ msgstr "Erradioa:" #~ msgid "Include Nitrogens" #~ msgstr "Txertatu Nitrogenoak" #~ msgid "VdW Opacity:" #~ msgstr "VdW Opakotasuna:" #~ msgid "Orbital:" #~ msgstr "Orbitala:" #~ msgid "Render:" #~ msgstr "Errenderizatu:" #~ msgid "Fill" #~ msgstr "Bete" #~ msgid "Points" #~ msgstr "Puntuak" #~ msgid "Draw Box:" #~ msgstr "Marrazketa-Koadroa:" #~ msgid "Style:" #~ msgstr "Estiloa:" #~ msgid "Selected Colors" #~ msgstr "Hautatutako Koloreak" #~ msgid "Mapped Colors" #~ msgstr "Marraztutako Koloreak" #~ msgid "Colors:" #~ msgstr "Koloreak:" #~ msgid "Positive" #~ msgstr "Positiboa" #~ msgid "Negative" #~ msgstr "Negatiboa" #~ msgid "Show Atoms" #~ msgstr "Erakutsi Atomoak" #~ msgid "Animate Trajectory" #~ msgstr "Ibilbidea Animatu" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Errepikatu" #~ msgid "fps" #~ msgstr "fotogramak segundoko" #~ msgid "Save as .avi..." #~ msgstr "Gorde .avi bezala" #~ msgid "Angstroms" #~ msgstr "Angstrom (Å)" #~ msgid "Bohrs" #~ msgstr "Bohr" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, koordenatuak bakarrik" #~ msgid "GAMESS Input #2" #~ msgstr "2. GAMESS Sarrera" #~ msgid "Priroda Input" #~ msgstr "Priroda Sarrera" #~ msgid "Apply Changes" #~ msgstr "Aldaketak Aplikatu" #~ msgid "Cut All" #~ msgstr "Moztu Guztia" #~ msgid "Paste to the End" #~ msgstr "Itsatsi Amaieran" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Itsatsi edo editatu " #~ "koordenatu atomikoak hemen. Komenigarria da ia edozein testu zati " #~ "itsastea, koordenatuak barne

" #~ msgid "(None)" #~ msgstr "(Ezer ez)" #~ msgid "Sort by " #~ msgstr "-(e)z Ordenatu " #~ msgid "Conformer Search" #~ msgstr "Egokitzaile-Bilaketa" #~ msgid "Method" #~ msgstr "Metodoa" #~ msgid "Number of atoms:" #~ msgstr "Atomo kopurua:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Lotura biragarrien kopurua:" #~ msgid "Number of conformers" #~ msgstr "Egokitzaile kopurua" #~ msgid "Systematic rotor search" #~ msgstr "Errotore sistematikoa bilatu" #~ msgid "Random rotor search" #~ msgstr "Ausazko errotore bilaketa" #~ msgid "Weighted rotor search" #~ msgstr "Pisuzko errotore bilaketa" #~ msgid "Genetic algorithm search" #~ msgstr "Algoritmo genetiko bidezko bilaketa" #~ msgid "Genetic Algorithm Options" #~ msgstr "Algoritmo genetikoaren aukerak" #~ msgid "Children" #~ msgstr "Semeak" #~ msgid "Mutability" #~ msgstr "Mutagarritasuna" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Constraints" #~ msgstr "Mugak" #~ msgid "Add Constraints" #~ msgstr "Mugak Gehitu" #~ msgid "Ignore Atom" #~ msgstr "Ez Hartu Atomo Hau Kontuan" #~ msgid "Fix Atom" #~ msgstr "Konpondu Atomoa" #~ msgid "Fix Atom X" #~ msgstr "Konpondo X Atomoa" #~ msgid "Fix Atom Y" #~ msgstr "Konpondu Y Atomoa" #~ msgid "Fix Atom Z" #~ msgstr "Konpondu Z Atomoa" #~ msgid "Torsion angle" #~ msgstr "Tortsio angelua" #~ msgid "Constraint Value" #~ msgstr "Muga-Balioa" #~ msgid "Atom Indices" #~ msgstr "Atomo Aurkibideak" #~ msgid "Add" #~ msgstr "Gehitu" #~ msgid "Save" #~ msgstr "Gorde" #~ msgid "Load" #~ msgstr "Kargatu" #~ msgid "Atomic &identites:" #~ msgstr "&Identitate Atomikoak:" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgid "&Reset" #~ msgstr "&Berrezarri" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgid "Cell Parameters" #~ msgstr "Gelaxka Parametroak" #~ msgid " °" #~ msgstr " °" #~ msgid "Plane:" #~ msgstr "Planoa:" #~ msgid "&Miller Indices:" #~ msgstr "&Miller indizeak:" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Kontuz: Miller indizeak ezin dira huts izan" #~ msgid "Dimensions:" #~ msgstr "Dimentsioak:" #~ msgid "Width (x)" #~ msgstr "Zabalera (x)" #~ msgid "Width (y)" #~ msgstr "Zabalera (y)" #~ msgid "Height (z)" #~ msgstr "Altuera (z)" #~ msgid "length" #~ msgstr "luzeera" #~ msgid "cell repeats" #~ msgstr "gelaxka errepikapenak" #~ msgid "&Translate " #~ msgstr "&Translatu " #~ msgid "by arbitrary vector" #~ msgstr "bektore arbitrarioz" #~ msgid "selected atom to origin" #~ msgstr "atomoen jatorria aukeratua" #~ msgid "selected atom to unit cell center" #~ msgstr "atomotik gelaxka unitaterainoko zentrua aukeratua" #~ msgid "Translation vector:" #~ msgstr "Translazio bektorea:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "&Bektore unitateak:" #~ msgid "Cartesian" #~ msgstr "Kartesiarra" #~ msgid "&Translate" #~ msgstr "&Translatu" #~ msgid "&Keep atoms in unit cell" #~ msgstr "&Atomoak gelaxka unitatean mantendu" #~ msgid "Crystal View Options" #~ msgstr "Kristala Ikusteko Aukerak" #~ msgid "Unit Cell Repeats:" #~ msgstr "Gelaxka Unitatearen Errepikapenak:" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "Gelaxka Unitatea(k) Marraztu?" #~ msgid "One" #~ msgstr "Bat" #~ msgid "All" #~ msgstr "Guztia" #~ msgid "Color..." #~ msgstr "Kolorea..." #~ msgid "Default View" #~ msgstr "Ikuspegi lehenetsia" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "Miller Indizeak" #~ msgid "File Import..." #~ msgstr "Inportatu Artxiboa..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Saiatu loturak hautematen?" #~ msgid "Setup Force Field" #~ msgstr "Indar-Eremua Konfiguratu" #~ msgid "Force Field" #~ msgstr "Indar-Eremua" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Urrats Kopurua" #~ msgid "Algorithm" #~ msgstr "Algoritmoa" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Azido Nukleikoak Sartu" #~ msgid "DNA/RNA Builder" #~ msgstr "ADN/ARN Eraikitzailea" #~ msgid "DNA" #~ msgstr "ADN" #~ msgid "RNA" #~ msgstr "ARN" #~ msgid "Nucleic Acids:" #~ msgstr "Azido Nukleikoak:" #~ msgid "Adenine" #~ msgstr "Adenina" #~ msgid "Cytosine" #~ msgstr "Zitosina" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Guanina" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Sekuentzia:" #~ msgid "the number of base pairs per helix turn" #~ msgstr "Base bikote kopurua helizearen biraketa bakoitzeko" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Bestelakoa" #~ msgid "Bases Per Turn:" #~ msgstr "Baseak Biraketa Bakoitzeko:" #~ msgid "Insert" #~ msgstr "Sartu" #~ msgid "Insert Fragment..." #~ msgstr "Txertatu Zatia..." #~ msgid "Filter:" #~ msgstr "Iragazkia:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "" #~ "Sartu izen bat edo izen baten zati bat, horrekin bat egiten duten " #~ "fitxategiak erakusteko." #~ msgid "Peptide Builder" #~ msgstr "Eraiki Peptidoak" #~ msgid "Alanine" #~ msgstr "Alanina" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginina" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Arparagina" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Azido Aspartikoa" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Zisteina" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Azido Glutamikoa" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamina" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glizina" #~ msgid "Gly" #~ msgstr "Gli" #~ msgid "Histidine" #~ msgstr "Histidina" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleuzina" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Balina" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirosina" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Triptofanoa" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treonina" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serina" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolina" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanina" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionina" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lisina" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leuzina" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminoazidoak:" #~ msgid "Sequence (N to C):" #~ msgstr "Sekuentzia (N-tik C-ra)" #~ msgid "Stereochemistry:" #~ msgstr "Estereokimika:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N Terminala:" #~ msgid "C Terminus:" #~ msgstr "C Terminala" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Structure:" #~ msgstr "Egitura:" #~ msgid "Straight Chain" #~ msgstr "Kate Etengabea" #~ msgid "Alpha Helix" #~ msgstr "Alfa Helizea" #~ msgid "Beta Sheet" #~ msgstr "Beta Orria" #~ msgid "3-10 Helix" #~ msgstr "3-10 Helizea" #~ msgid "Pi Helix" #~ msgstr "Pi Helizea" #~ msgid "Phi:" #~ msgstr "Fi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Kate-Zenbakia:" #~ msgid "The chain number for the new peptide" #~ msgstr "Peptido berriaren kate-zenbakia" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Propietate Molekularrak" #~ msgid "Number of Residues:" #~ msgstr "Hondakin Kopurua:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energia (kJ/mol)" #~ msgid "Dipole Moment (D):" #~ msgstr "Momentu Bipolarra (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "IUPAC-en bidezko Molekularen Izena:" #~ msgid "Frames" #~ msgstr "Fotogramak" #~ msgid "Plot Spectra" #~ msgstr "Espektrua Irudikatu" #~ msgid "Fragments" #~ msgstr "Fragmentuak" #~ msgid "select Fragment" #~ msgstr "Fragmentua aukeratu" #~ msgid "Basic" #~ msgstr "Oinarrizkoa" #~ msgid "Comment" #~ msgstr "Iruzkina" #~ msgid "Frequency" #~ msgstr "Maiztasuna" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Basis set" #~ msgstr "Oinarri multzo" #~ msgid "Format" #~ msgstr "Formatua" #~ msgid "z-Matrix" #~ msgstr "z-Matrizea" #~ msgid "z-Matrix compact" #~ msgstr "z-Matrize konpaktua" #~ msgid "Advanced" #~ msgstr "Aurreratua" #~ msgid "Basis Set" #~ msgstr "Oinarri multzo" #~ msgid "Control" #~ msgstr "Kontrola" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "RijCosX" #~ msgstr "RijCosX" #~ msgid "Data" #~ msgstr "Datuak" #~ msgid "ECP" #~ msgstr "ECP" #~ msgid "Aux. Basis Set" #~ msgstr "Oinarri multzo Aux." #~ msgid "Aux. ECP" #~ msgstr "ECP Aux." #~ msgid "Relativistic" #~ msgstr "Errelatibista" #~ msgid "ZORA" #~ msgstr "ZORA" #~ msgid "IORA" #~ msgstr "IORA" #~ msgid "DKH" #~ msgstr "DKH" #~ msgid "Order" #~ msgstr "Ordena" #~ msgid "Run type" #~ msgstr "Abiaketa mota" #~ msgid "Add. Print Options" #~ msgstr "Gehitu. Inprimatze Aukerak" #~ msgid "MOs" #~ msgstr "OMak" #~ msgid "Basis Sets" #~ msgstr "Oinarri multzo" #~ msgid "Printlevel" #~ msgstr "Inprimaketamaila" #~ msgid "Nothing" #~ msgstr "Ezer ez" #~ msgid "Mini" #~ msgstr "Mini" #~ msgid "Small" #~ msgstr "Txikia" #~ msgid "Large" #~ msgstr "Handia" #~ msgid "Factor" #~ msgstr "Faktorea" #~ msgid "" #~ "

select only if no defaults are wanted

" #~ msgstr "" #~ "

aukeratu aurreezarpenak nahi ez izanez gero

" #~ msgid "Accuracy" #~ msgstr "Zehaztasuna" #~ msgid "DIIS" #~ msgstr "DIIS" #~ msgid "KDIIS" #~ msgstr "KDIIS" #~ msgid "2nd Order" #~ msgstr "2. Ordena" #~ msgid "SOSCF" #~ msgstr "SOSCF" #~ msgid "NRSCF" #~ msgstr "NRSCF" #~ msgid "AHSCF" #~ msgstr "AHSCF" #~ msgid "max. SCF iterations" #~ msgstr "SCF iterazio kopuru maximoa" #~ msgid "SCF Type" #~ msgstr "SCF Mota" #~ msgid "restricted" #~ msgstr "mugatua" #~ msgid "unrestricted" #~ msgstr "mugagabea" #~ msgid "restricted open-shell" #~ msgstr "geruza-ireki mugagabea" #~ msgid "DFT Functional" #~ msgstr "DFT Funtzionala" #~ msgid "Grid" #~ msgstr "Sarea" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray Esportazioa" #~ msgid "Select..." #~ msgstr "Hautatu..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Erabili eszena osoko antialiasing-a" #~ msgid "Antialias" #~ msgstr "Antialiasing-a" #~ msgid "Set the background color to be transparent" #~ msgstr "Atzeko planoaren kolorea gardena ezarri." #~ msgid "Alpha transparency" #~ msgstr "Alfa gardentasuna" #~ msgid "Command:" #~ msgstr "Agindua:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Molekula zuzenki errenderizatu POV-Ray lerro-komandua erabiltzen" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Mantendu POV-Ray iturria errenderizazioa amaitu ondoren" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Mantendu POV-Ray iturria errenderizatu ondoren" #~ msgid "Path:" #~ msgstr "Bidea:" #~ msgid "Abinit Input" #~ msgstr "Abinit-en input-a" #~ msgid "k-points:" #~ msgstr "k-puntuak" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Kartesiar (Angstrom)" #~ msgid "Reduced" #~ msgstr "Murriztua" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "Uhin Lauen mozketa erizpidea (Ha):" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "k-puntuen desplazamendua:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Banda kopurua:" #~ msgid "# k-point shifts:" #~ msgstr "#k-puntuen desplazamenduak:" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Okupazio eskema:" #~ msgid "SCF tolerance type:" #~ msgstr "SCF tolerantzia mota:" #~ msgid "Total Energy" #~ msgstr "Energia Totala" #~ msgid "Wave Function norm" #~ msgstr "Uhin Funtzio norma" #~ msgid "Total Potential" #~ msgstr "Potentzial Totala" #~ msgid "Maximum Force" #~ msgstr "Indar Maximoa" #~ msgid "Relative Force" #~ msgstr "Indar Erlatiboa" #~ msgid "1 - semiconducting" #~ msgstr "1 - Erdieroalea" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi Dirac" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Geometria Optimizazioa" #~ msgid "# Geometrical time steps:" #~ msgstr "# Geometriazko denbora pausoak:" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Energia Zinetikoaren leunketa (Ha):" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Forma Erabili" #~ msgid "Compute..." #~ msgstr "Konputatzen..." #~ msgid "Dalton Input" #~ msgstr "Dalton Sarrera" #~ msgid "Basics" #~ msgstr "Oinarrizkoak" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Gehitzen du idatzitakoa input artxiboaren izenburu lerroa zeure\n" #~ "asmo berriemailetzat." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Oinarriak ezarri:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Pople-estiloa" #~ msgid "Jensen's polarization consistent" #~ msgstr "Jensen-en polarizazio kontsekuentea" #~ msgid "Dunning's correlation consistent" #~ msgstr "Dunning-en korrelazio kontsekuentea" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Nukleoaren funtzio korrelatzaileak" #~ msgid "Diffuse functions" #~ msgstr "Hedatzeko funtzioak" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Polarizazio funtzioak" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Zuzen" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Ibili paraleloan ahal den bakoitzean. Honako hau bakarrik\n" #~ "posiblea da SCF uhin-funtzio eta DFT kalkuluetarako. Dalton\n" #~ "bakarrik eusten du MPI bertsio honetan eta konpilatuta eta \n" #~ "instalatuta egon behar da. Nodo kopurua ezartzen da erabiltzen \"-N #\" " #~ "aukera \"dalton\" script-a exekutatzean." #~ msgid "Parallel" #~ msgstr "Paraleloa" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Funtzionala:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Dentsitatea:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Karga-Integrazioa:" #~ msgid "Grid Specification" #~ msgstr "Sarearen espezifikazioa:" #~ msgid "Partitioning Scheme:" #~ msgstr "Eskema partizionala:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (originala)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Sarearen Kalitatea" #~ msgid "coarse" #~ msgstr "latza" #~ msgid "normal" #~ msgstr "arrunta" #~ msgid "fine" #~ msgstr "finoa" #~ msgid "ultrafine" #~ msgstr "ultrafinoa" #~ msgid "Radial Scheme:" #~ msgstr "Eskema Erradiala:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Erakutsi funtzional guztiak" #~ msgid "Property:" #~ msgstr "Propietatea:" #~ msgid "Polarizability" #~ msgstr "Polarizagarritasuna" #~ msgid "Excitation Energy" #~ msgstr "Eszitazio-Energia" #~ msgid "Frequency Dependent" #~ msgstr "Frekuentzia Dependientea" #~ msgid "No. excitations:" #~ msgstr "Eszitazio Kopurua:" #~ msgid "Group Label:" #~ msgstr "Taldearen Marka:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Konfigurazio Aurreratua" #~ msgid "Hessian" #~ msgstr "Hessiar" #~ msgid "Stat Point" #~ msgstr "Egoera Puntua" #~ msgid "System" #~ msgstr "Sistema" #~ msgid "MO Guess" #~ msgstr "OM Asmatu" #~ msgid "Misc" #~ msgstr "Miszelanea" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Atomo Pisudunaren Funtzio Polarizatzaileak:" #~ msgid "Read" #~ msgstr "Irakurri" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Hedatu S-Shell Atomo Pisudunetan" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Hedatu L-Shell Atomo Pisudunetan" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Balentzia Zeta Bikoitza" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Balentzia Zeta Hirukoitza" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA Balentzia" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt Balentzia" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP Mota:" #~ msgid "Default" #~ msgstr "Lehenetsia" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Atomo Pisudunaren Polarizazio Funtzioak:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#light Atomoaren Polarizazio Funtzioak:" #~ msgid "Polar:" #~ msgstr "Polarra:" #~ msgid "Max SCF Iterations:" #~ msgstr "Max SCF Iterazioak:" #~ msgid "Gradient" #~ msgstr "Gradientea" #~ msgid "Optimization" #~ msgstr "Optimizazioa" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "Zela-Puntua" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Kanpo-Gradientea" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energia-Azalera" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Higidura-Kantitatearen Trantsizio Erradioaktiboa." #~ msgid "Spin Orbit" #~ msgstr "Orbita Biragarria" #~ msgid "Finite Electric Field" #~ msgstr "Zelai Elektriko Finitoa" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Optimizazio Orokorra" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO Optimizazioa" #~ msgid "Raman Intensities" #~ msgstr "Raman Intentsiatateak" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Egin EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Ezer ez (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF Mota:" #~ msgid "Localization Method:" #~ msgstr "Aurkikuntza-Metodoa:" #~ msgid "Exec Type:" #~ msgstr "Exek. Mota:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinantea" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Okupazio Mugatua Espazio Aktibo Anitza" #~ msgid "CI Singles" #~ msgstr "CI Bakarrak" #~ msgid "Full Second Order CI" #~ msgstr "CI Bigarren Agindu Betea" #~ msgid "General CI" #~ msgstr "CI Orokorra" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: CC Lerrorizatua" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC Bikoitzekin" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC Bakar eta Bikoitzekin" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Ibili Normalki" #~ msgid "Check" #~ msgstr "Egiaztatu" #~ msgid "Debug" #~ msgstr "Arazketa" #~ msgid "Molecule Charge:" #~ msgstr "Karga Molekularra:" #~ msgid "Run Type:" #~ msgstr "Ibilera Mota:" #~ msgid "Use MP2" #~ msgstr "Erabili MP2" #~ msgid "Use DFT" #~ msgstr "Erabili DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# Z-Matrize Bariableetik" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Ardatz Printzipalen Ordena:" #~ msgid "Coordinate Type:" #~ msgstr "Koordenatu Mota:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Koordenatu kartesiar esklusiboa" #~ msgid "Hilderbrant internals" #~ msgstr "Barruko Hilderbrant" #~ msgid "MOPAC Z-Matrix" #~ msgstr "MOPAC Z-Matrizea" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Erabili Simetria Kalkulatzen den Bitartean" #~ msgid "Units:" #~ msgstr "Unitateak:" #~ msgid "Point Group:" #~ msgstr "Puntu Multzoa:" #~ msgid "Minutes" #~ msgstr "Minutuak" #~ msgid "Hours" #~ msgstr "Orduak" #~ msgid "Days" #~ msgstr "Egunak" #~ msgid "Weeks" #~ msgstr "Asteak" #~ msgid "Years" #~ msgstr "Urteak" #~ msgid "Millenia" #~ msgstr "Milla Urte" #~ msgid "MegaWords" #~ msgstr "MegaHitzak" #~ msgid "MegaBytes" #~ msgstr "MegaByte-ak" #~ msgid "GigaWords" #~ msgstr "GigaHitzak" #~ msgid "GigaBytes" #~ msgstr "GigaByte-ak" #~ msgid "Force Parallel Methods" #~ msgstr "Metodo Paraleloak Bortxatu" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "\"Nukleo\"-artxiboa eratu abortatzerakoan" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memoria:" #~ msgid "Diagonalization Method:" #~ msgstr "Diagonalizazio Metodoa:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Oreka Motaren Karga Paraleloa" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Errepikatu" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Hurrengo Balorea" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Erabili Kanpo-Datuak Mezuak Errepresentatzeko" #~ msgid "Initial Guess:" #~ msgstr "Hasierako Susmoa:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "OM Irakurrita ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "OM Gordeta (DICTNRY)" #~ msgid "Skip" #~ msgstr "Jauzi Egin" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Biratu Alfa eta Beta Orbitalak" #~ msgid "Print the Initial Guess" #~ msgstr "Inprimatu Hasierako Susmoa" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "GAMESS Interfazea Beste Kodeentzat" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Bortxatu Egiaztatzeko Ibilera Mota Bat" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (Erresuma Batuko Bertsioa)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Disolbatu Uretan" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Generatu UHF Orbital Naturalak" #~ msgid "Direct SCF" #~ msgstr "SCF Zuzena" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Bakarrik Konputatu Aldaketak Fock Matrizean" #~ msgid "Slater exchange" #~ msgstr "Slater aldaketa" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 aldaketa" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) korrelazioa" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr korrelazioa" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater aldaketa + VWN korrelazioa" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE aldaketa + VWN5 korrelazioa" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE aldaketa + LYP korrelazioa" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 aldaketa" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) aldaketa" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: Parametro Aurrerakoi Bakarra korrelazioa" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) korrelazioa" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP korrelazioa" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE aldaketa + OP korrelazioa" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL aldaketa + VWN5 korrelazioa" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL aldaketa + LYP korrelazioa" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE aldaketa + VWN6 korrelazioa" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE aldaketa +LYP korrelazioa" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE aldaketa + OP korrelazioa" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF eta BECKE aldaketak + LYP korrelazioa" #~ msgid "Grid-Free" #~ msgstr "Sarerik Gabe" #~ msgid "DFT Functional:" #~ msgstr "DFT Funtzionala" #~ msgid "Method:" #~ msgstr "Metodoa:" #~ msgid "AO Integral Storage" #~ msgstr "AO Biltegi-Osagaia" #~ msgid "Duplicated on Each Node" #~ msgstr "Nodo Bakoitzean Bikoiztuta" #~ msgid "Distributed Across All Nodes" #~ msgstr "Banatuta Nodo Guztien Artean" #~ msgid "words" #~ msgstr "hitzak" #~ msgid "Compute MP2 Properties" #~ msgstr "Konputatu MP2 Ezaugarriak" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Barne-Atxikitzea Moztuta:" #~ msgid "Use Localized Orbitals" #~ msgstr "Erabili Zehaztutako Orbitalak" #~ msgid "# of Core Electrons:" #~ msgstr "# Nukleo-Elektroietatik" #~ msgid "Transformation Method" #~ msgstr "Transformazio Metodoa" #~ msgid "Two Phase Bin Sort" #~ msgstr "Bi Fase Binario Mota" #~ msgid "Segmented Transformation" #~ msgstr "Transformazio Zatikatua" #~ msgid "Analytic" #~ msgstr "Analitika" #~ msgid "Numeric" #~ msgstr "Zenbakizkoa" #~ msgid "Double Differenced Hessian" #~ msgstr "Hessiar Bikoitza Ezberdinduta" #~ msgid "Print Internal Force Constants" #~ msgstr "Inprimatu Barne-Indar Konstanteak" #~ msgid "Displacement Size:" #~ msgstr "Higidura Tamaina:" #~ msgid "Purify Hessian" #~ msgstr "Purifikatu Hesiarra" #~ msgid "Frequency Scale Factor:" #~ msgstr "Faktore Eskalaren Maiztasuna:" #~ msgid "bohrs" #~ msgstr "bohr-ak" #~ msgid "Initial Hessian" #~ msgstr "Hasierako Hessiarra" #~ msgid "Guess (+ define)" #~ msgstr "Asmatu (+ definitu)" #~ msgid "Read (from $HESS)" #~ msgstr "Irakurri ($HESS-(e)tik)" #~ msgid "Update Step Size" #~ msgstr "Eguneratu Pausuen Tamaina" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Inprimatu Orbeak Itinerazio Bakoitzean" #~ msgid "Jump Size:" #~ msgstr "Saltoaren Tamaina" #~ msgid "Stationary Point" #~ msgstr "Puntu Geldia" #~ msgid "Step Size" #~ msgstr "Pausuaren Tamaina" #~ msgid "Maximum:" #~ msgstr "Maximoa:" #~ msgid "Minimum:" #~ msgstr "Minimoa:" #~ msgid "Initial:" #~ msgstr "Hasierakoa:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Funtzio Arrazionalaren Optimizazioa" #~ msgid "Quadratic Approximation" #~ msgstr "Hurbilketa Kuadratikoa" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Optimizazio Mugatua" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Birkalkulatu Hessiar Guztiak:" #~ msgid "Follow Mode:" #~ msgstr "Jarraitzeko Modua:" #~ msgid "Maximum Steps:" #~ msgstr "Pausu Maximoak:" #~ msgid "GAMESS-UK Input" #~ msgstr "GAMESS-UK-ren Input-a" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "GAMESS-UK-ren input-a, Avogadrok sortua" #~ msgid "Calculation:" #~ msgstr "Kalkulua:" #~ msgid "Transition State Search" #~ msgstr "Trantsizio Egoera Bilaketa" #~ msgid "Basis:" #~ msgstr "Oinarrizkoak:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Z-Matrizea" #~ msgid "Gaussian Input" #~ msgstr "Gaussian Sarrera" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Irteera:" #~ msgid "Standard" #~ msgstr "Estandar" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Jarraipen Puntua:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-Matrizea (konpaktua)" #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "erreal" #~ msgid "metal" #~ msgstr "metala" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "elektroi" #~ msgid "Water Potential" #~ msgstr "Ur Potentziala" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgid "angle" #~ msgstr "angelua" #~ msgid "atomic" #~ msgstr "atomikoa" #~ msgid "bond" #~ msgstr "lotura" #~ msgid "charge" #~ msgstr "karga" #~ msgid "dipole" #~ msgstr "dipoloa" #~ msgid "ellipsoid" #~ msgstr "elipsoidea" #~ msgid "full" #~ msgstr "osoa" #~ msgid "line" #~ msgstr "lerroa" #~ msgid "meso" #~ msgstr "meso" #~ msgid "molecular" #~ msgstr "molekularra" #~ msgid "peri" #~ msgstr "peri" #~ msgid "sphere" #~ msgstr "esfera" #~ msgid "tri" #~ msgstr "tri" #~ msgid "wavepacket" #~ msgstr "uhin paketea" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "Koordenatu fitxategiarentzako izena zehaztu." #~ msgid "Coordinate Data File" #~ msgstr "Koordenatuen datu fitxategia." #~ msgid "Ensemble" #~ msgstr "Multzoa" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Tenperatura" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "Nosé-Hoover kateen kopuru bat zehaztu NVT multzoan." #~ msgid "NH Chains" #~ msgstr "NH Kateak" #~ msgid "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgstr "" #~ "Simulazioaren denbora pausua, \"Unitateak\" zehazpenarekin bat datozenak." #~ msgid "Time Step" #~ msgstr "Denbora Pausua" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "" #~ "Simulazioan zehar idatzia izango den XYZ fitxategiaren fitxategi izena." #~ msgid "Dump XYZ" #~ msgstr "XYZ bolkatu" #~ msgid "Number of dimensions in the system." #~ msgstr "Sistemaren dimentsio kopurua." #~ msgid "Dimensions" #~ msgstr "Dimentsioak" #~ msgid "Change Z boundary style." #~ msgstr "Z mugaren stiloa aldatu." #~ msgid "p" #~ msgstr "p" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "Change Y boundary style." #~ msgstr "Y mugaren estiloa aldatu." #~ msgid "Change X boundary style." #~ msgstr "X mugaren estiloa aldatu." #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "Muga estiloak aukeratu X, Y eta Z norabideetan." #~ msgid "Boundary" #~ msgstr "Muga" #~ msgid "Number of replicants in X, Y and Z directions." #~ msgstr "Errepikapen kopurua X, Y eta Z norabideetan." #~ msgid "Replicate" #~ msgstr "Errepikatu" #~ msgid "Replicate the X direction." #~ msgstr "Errepikatu X norabidean." #~ msgid "Replicate the Y direction." #~ msgstr "Errepikatu Y norabidean." #~ msgid "Replicate the Z direction." #~ msgstr "Errepikatu Z norabidean." #~ msgid "Total number of timesteps to run the simulation." #~ msgstr "Simulazioan egin beharreko pausu kopuru totala." #~ msgid "Total Steps" #~ msgstr "Pausu kopuru Totala" #~ msgid "Dump Interval" #~ msgstr "Bolkatze tartea" #~ msgid "Set the initial atom velocities for the simulation." #~ msgstr "Simulazioarentzako hasierako atomoen azkartasunak." #~ msgid "Initial Velocities" #~ msgstr "Hasierako Azkartasunak" #~ msgid "Select the distribution of initial atom velocities." #~ msgstr "Aukeratu atomoentzako hasierako azkartasun banaketa" #~ msgid "gaussian" #~ msgstr "gausiarra" #~ msgid "uniform" #~ msgstr "uniformea" #~ msgid "Set the initial atom velocities to match this temperature." #~ msgstr "" #~ "Hasierako atomoen azkartasunak dohitu tenperatura honekin bat egin " #~ "dezaten." #~ msgid "Remove system linear momentum from initial velocities." #~ msgstr "Sistemaren momentu lineala hasierako azkartasunetatik kendu." #~ msgid "Zero Linear Momentum" #~ msgstr "Zero Momentu Lineala" #~ msgid "Remove system angular momentum from initial velocities." #~ msgstr "Sistemaren momentu angeluarra hasierako azkartasunetatik kendu." #~ msgid "Zero Angular Momentum" #~ msgstr "Zero Momentu Angeluarra" #~ msgid "Control the thermodynamic output during the simulation." #~ msgstr "Simulazioan zehar output termodinamikoa kontrolatu." #~ msgid "Output Interval" #~ msgstr "Output Tartea" #~ msgid "2d" #~ msgstr "2d" #~ msgid "3d" #~ msgstr "3d" #~ msgid "Thermodynamic output style." #~ msgstr "Output termodinamikoaren estiloa." #~ msgid "One Line" #~ msgstr "Lerro Bakarra" #~ msgid "Multi Line" #~ msgstr "Hain bat lerro" #~ msgid "" #~ "\n" #~ "\n" #~ "

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO Sarrera" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Molpro Bersioa:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "MOPAC Sarrera" #~ msgid "Quartet" #~ msgstr "Laukote" #~ msgid "Quintet" #~ msgstr "Boskote" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem-entzako Input-a" #~ msgid "Psi4 Input" #~ msgstr "Psi4-entzako Input-a" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem-entzako Input-a" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "TeraChem-entzako Input-a" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Mugagabea" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "ez" #~ msgid "yes" #~ msgstr "Bai" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Dispertsioa:" #~ msgid "Load Shaders" #~ msgstr "Kargatu Iluntzaileak" #~ msgid "Shader Name:" #~ msgstr "Iluntzailearen Izena:" #~ msgid "Vertex Shader:" #~ msgstr "Erpin-Iluntzailea:" #~ msgid "Fragment Shader:" #~ msgstr "Zati-Iluntzailea:" #~ msgid "Assign Shader" #~ msgstr "Iluntzailea Izendatu" #~ msgid "Display Type:" #~ msgstr "Erakutsi Mota:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Kontrolak:\n" #~ "Klik bikoitza ezkerreko botoian: Ezarri hasierako ardatz limiteak\n" #~ "Klik eskuineko botoian + arrastatu: Mugitu adierazpidea\n" #~ "Klik erdiko botoian + arrastatu: Zoom \n" #~ "Mugitu gurpila: Zoom kurtsorerantz" #~ msgid "&Load data..." #~ msgstr "&Kargatu datuak..." #~ msgid "&Close" #~ msgstr "&Itxi" #~ msgid "Calculated Spectra:" #~ msgstr "Kalkulatutako Espektroa:" #~ msgid "Set Color..." #~ msgstr "Ezarri Kolorea..." #~ msgid "Imported Spectra:" #~ msgstr "Espektro Inportatua:" #~ msgid "Font:" #~ msgstr "Letra-Tipoa:" #~ msgid "Change Font..." #~ msgstr "Aldatu Letra-Tipoa..." #~ msgid "Show" #~ msgstr "Erakutsi" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "tsv edo espektro esperimental bat inportatzen du gaininprimatzeko." #~ msgid "&Import..." #~ msgstr "&Inportatu..." #~ msgid "Background:" #~ msgstr "Atzeko Planoa:" #~ msgid "Foreground:" #~ msgstr "Aurreko planoa:" #~ msgid "New..." #~ msgstr "Berria..." #~ msgid "Rename..." #~ msgstr "Izena Aldatu..." #~ msgid "&Schemes:" #~ msgstr "&Eskemak:" #~ msgid "&Export..." #~ msgstr "&Esportatu..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Zabalera:" #~ msgid "&Height" #~ msgstr "&Altuera" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "hazb" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Gorde Irudia..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Eskemaz espezifikatutako balore bat erabili ordez erabili balore " #~ "optimizatu bat letra-tipoaren tamainarentzat (pantailatik-irudirako " #~ "puntuen tamaina ez dira ondo irakurtzen!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Letra-Tipo A&utomatikoa Ezarri" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Datuak Esportatu" #~ msgid "Spectra Tab" #~ msgstr "Espektruaren Tabuladorea" #~ msgid "&Gaussian Width:" #~ msgstr "&Zabalera Gaussiarra" #~ msgid "&Label peaks" #~ msgstr "&Marka Gailurrak" #~ msgid "Rotatory Strength type:" #~ msgstr "Indar Birakari Mota:" #~ msgid "Energy units:" #~ msgstr "Energia-unitateak:" #~ msgid "Density units" #~ msgstr "Dentsitate-unitateak" #~ msgid "Fermi Energy: " #~ msgstr "Fermi-energia: " #~ msgid "States / Cell" #~ msgstr "Estautak / Gelatxoa" #~ msgid "States / Atom" #~ msgstr "Estatuak / Atomo" #~ msgid "States / Valence electron" #~ msgstr "Estatuak / Balentzia-elektroi" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Fermi-energiari zero ezarri" #~ msgid "Scale integrated DOS" #~ msgstr "Eskalatu DOS integratua" #~ msgid "Show integrated DOS" #~ msgstr "Erakutsi DOS integratua" #~ msgid "&Y Axis Units:" #~ msgstr "&Y Ardatzaren Unitateak:" #~ msgid "Scaling Type:" #~ msgstr "Eskalaketa Mota:" #~ msgid "Linear" #~ msgstr "Lineala" #~ msgid "Relative" #~ msgstr "Erlatiboa" #~ msgid "Scale &Factor:" #~ msgstr "Eskalatze &Faktorea" #~ msgid "Temperature:" #~ msgstr "Tenperatura:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Laser Uhin-Zenbakia:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Atalasea:" #~ msgid "Nucleus:" #~ msgstr "Nukleoa:" #~ msgid "&Reference:" #~ msgstr "&Erreferentzia:" #~ msgid "Gaussian &Width:" #~ msgstr "Zabalera &Gaussiarra" #~ msgid "Reset &Plot Axes" #~ msgstr "Hasieratu &Plot-Ardatzak" #~ msgid "Label Peaks:" #~ msgstr "Gailur-Markak:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Bibrazio Molekularrak" #~ msgid "Filter: " #~ msgstr "Iragazkia: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Jarduera (A^4/mau)" #~ msgid "&Show Spectra..." #~ msgstr "&Erakutsi Espektrua..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "maiztazun handiko bibrazioak ezarriko dute mugimendu azkarragoa" #~ msgid "Animation speed set by frequency" #~ msgstr "Animazioaren abiadura maiztasunez ezarri" #~ msgid "Display force &vectors" #~ msgstr "Erakutsi indar-&bektoreak" #~ msgid "&Normalize displacements" #~ msgstr "&Normaldu higidurak" #~ msgid "Generate Cell" #~ msgstr "Gelatxo bat Sortu" #~ msgid "&Recalculate All" #~ msgstr "&Birkalkulatu Guztia" #~ msgid "Default &Quality:" #~ msgstr "Hasierako &Kalitatea" #~ msgid "Show occupied orbitals first" #~ msgstr "Erakutsi okupatutako orbitalak lehenik" #~ msgid "Limit orbital precalculations to " #~ msgstr "Orbital aurrekalkulaketa honetara mugatu " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "HOMO/LUMO inguruko orbitalak" #~ msgid "Quality: " #~ msgstr "Kalitatea: " #~ msgid "Create Surfaces" #~ msgstr "Azalerak Sortu" #~ msgid "Surface Type:" #~ msgstr "Azalera Mota:" #~ msgid "Color By:" #~ msgstr "Kolorea ezarri:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Baxua" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Ertaina" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Altua" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Oso Altua" #~ msgid "Isosurface cutoff value" #~ msgstr "Isoazaleraren mozketa balioa" #~ msgid "Iso Value:" #~ msgstr "Iso Balioa" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Erakusketa Motan:" #~ msgid "New Display" #~ msgstr "Erakusketa Berria" #~ msgid "Advanced..." #~ msgstr "Aurreratua..." #~ msgid "&n:" #~ msgstr "&n:" #~ msgid "&m:" #~ msgstr "&m:" #~ msgid "&Length:" #~ msgstr "&Luzeera" #~ msgid "Uni&t:" #~ msgstr "Uni&tatea" #~ msgid "periodic units" #~ msgstr "unitate periodikoak" #~ msgid "angstrom" #~ msgstr "angstrom" #~ msgid "bohr radii" #~ msgstr "bohr eradioak" #~ msgid "nanometers" #~ msgstr "nanometroak" #~ msgid "picometers" #~ msgstr "picometroak" #~ msgid "Find &double bonds" #~ msgstr "Lotura &bikoitzak bilatu" #~ msgid "Molecular Symmetry" #~ msgstr "Simetria molekularra" #~ msgid "Scale (mm/Å):" #~ msgstr "Eskala (mm/Å):" #~ msgid "Smallest sphere (mm): " #~ msgstr "Esferarik txikiena (mm): " #~ msgid "Calculate Size..." #~ msgstr "Tamaina kalkulatu..." #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Translatu honen beste:" #~ msgid "X-axis" #~ msgstr "X-ardatza" #~ msgid "Y-axis" #~ msgstr "Y-ardatza" #~ msgid "Z-axis" #~ msgstr "Z-ardatza" #~ msgid "Rotate around:" #~ msgstr "Honen inguruan errotatu:" #~ msgid "Origin" #~ msgstr "Jatorria" #~ msgid "Geometry" #~ msgstr "Geometria" #~ msgid "Display visual cues" #~ msgstr "Erakutsi ikuste-seinaleak" #~ msgid "Python Settings" #~ msgstr "Python Ezarpenak" #~ msgid "Z Matrix Editor" #~ msgstr "Z Matrize Editorea" #~ msgid "Import Selected Atoms" #~ msgstr "Inportatu Hautatu Diren Atomoak" avogadrolibs-1.93.0/i18n/fi.po000066400000000000000000003457501360735163600160250ustar00rootroot00000000000000# Finnish translation for avogadro # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:32+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Sulje" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Tuntematon" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Keskeytä laskeminen" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 msgid "Hide &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr " Näytä kulmat" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Valitse liuotin" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Ulostulo:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Tiedoston %1 tiedostomuotoa ei voida lukea." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Videotiedostoa ei kirjoitettu." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Videotiedostoa ei kirjoitettu." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Tiedoston nimi:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Prosessoreja:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Lasku" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Molekyyli" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Yhtään atomia ei ole valittu" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Vety" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boori" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Hiili" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Typpi" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Happi" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluori" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Natrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alumiini" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Pii" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfori" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Rikki" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Kloori" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kalium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kalsium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titaani" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadiini" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Kromi" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangaani" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Rauta" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Koboltti" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikkeli" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Kupari" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Sinkki" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arseeni" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Seleeni" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromi" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybdeeni" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Teknetium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Hopea" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Tina" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimoni" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telluuri" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jodi" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ksenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantaani" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodyymi" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodyymi" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantaali" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Volframi" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Renium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Kulta" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Elohopea" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Lyijy" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Vismutti" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astatiini" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Frankium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Torium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uraani" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Amerikium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kalifornium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Röntgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Kopernikium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Selaa..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Valitse liuotin" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Poista valitut" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Kaikki tiedostot" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 msgid "Untitled" msgstr "" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Jaksollinen järjestelmä" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Tuntematon" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekyyli" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Lisää atomi" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Poista atomi" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Säädä vetyjä" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Vaihda alkuaine" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Vaihda alkuaine" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Lisää sidos" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Poista vetyjä" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Poista sidos" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Sidoskertaluku:" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Vaihda sidosten järjestystä" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr "Poista sidos" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Poista sidos" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Täytä yksikkökoppi" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Täytä yksikkökoppi" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Täytä yksikkökoppi" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Täytä yksikkökoppi" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Tiedosto" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 msgid "&Export" msgstr "" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "&Extensions" msgstr "" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Virhe" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Virhe" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 msgid "Success" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Poista vetyjä" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Pallo ja tikku" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Renderöi atomit Van der Waals -palloina" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Näytä atomit" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Poista vetyjä" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Sidos" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Tiedoston nimi:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Koordinaattityyppi" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Alkuaineen nimi" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Alkuaineen nimi" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Kemiallinen merkki" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Kemiallinen merkki" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Järjestysluku" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Järjestysluku" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Kateesiset koordinaatit" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Kateesiset koordinaatit" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Kateesiset koordinaatit" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Kateesiset koordinaatit" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Kateesiset koordinaatit" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Kateesiset koordinaatit" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Kateesiset koordinaatit" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Ulla, ,Launchpad Contributions:,Geoff Hutchison," "Ulla, ,Launchpad Contributions:,Avogadro Team, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Lasse Liehu, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Lasse Liehu, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Lasse Liehu" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Kateesiset koordinaatit" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Kateesiset koordinaatit" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Täytä yksikkökoppi" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Täytä yksikkökoppi" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Väri alkuaineen mukaan" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Piirrä" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Piirrä atomi" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Vaihda sidosten järjestystä" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Poista vetyjä" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Etäisyys" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Etäisyys" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Muu..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Auto-optimisaatio" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Yksinkertainen sidos" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Kaksoissidos" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Kolmoissidos" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Satulapiste" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Tasapainotilan geometria" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Taajuudet" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Kaasu" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Vesi" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Kationi" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutraali" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anioni" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Keskeytä laskeminen" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Säädä vetyjä" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Lisää vetyjä" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Poista vetyjä" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Poista vetyjä" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Vety" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 msgid "&Import" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Renderöi atomit Van der Waals -palloina" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Ei kuvausta" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekyyli" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipuloi" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipuloi atomia" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Mittaa" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Kulma" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Mittaa" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Näytä" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometrian optimisointi" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Lisää vetyjä" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Lisää vetyjä" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Poista vetyjä" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Lisää vetyjä" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Lisää vetyjä" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Poista vetyjä" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Pysäytä" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parametrit:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Pysäytä" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Tiedostoa %1 ei voida lukea." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Virhe" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Tallenna" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Renderöi käyttäen POV-Raytä" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Lasketaan elektronitiheyttä" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Lasketaan elektronitiheyttä" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Lasketaan elektronitiheyttä" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Palauta oletusarvot" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Poista kaikki" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Valinta" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "Valinta" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Valinnat" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Valitse" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Valitse" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Valinta" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Valinta" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Valitse alkuaineen mukaan..." #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals -pallot" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Renderöi" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Renderöi käyttäen POV-Raytä" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Renderöi molekyyli suoraan käyttäen komentoriviltä POV-Raytä" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Lasku" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Keskeytä laskeminen" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Prosessoreja:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Vaihda alkuaine" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) msgid "Ctrl+C" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) msgid "Ctrl+E" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Voimakenttä:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) msgid "Save Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Tiedoston nimi:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Peruuta" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Koordinaattityyppi" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Palauta oletusarvot" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Etäisyys" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Ångström" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parametrit:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Täytä yksikkökoppi" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "MOPAC Z-matriisi" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Alkuaine:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Sidoskertaluku:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Varaus:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Tiedoston nimi:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Oletusasetukset" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Tallenna muodossa .avi..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nimi" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Formula:" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Ei kuvausta" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Molecular Mass (g/mol):" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometrian optimisointi" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimisaatiomenetelmä:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Voimakenttä:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimisaatiomenetelmä:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Atomien lukumäärä:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Poista valitut" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Pinnat" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Pinnat" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resoluutio:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Pinnat" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Animaatio" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Animaatio" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekyyli" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Valinnat" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Ulla, ,Launchpad Contributions:,Geoff Hutchison," "Ulla, ,Launchpad Contributions:,Avogadro Team, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Lasse Liehu, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Lasse Liehu, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Lasse Liehu" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,,,,,avogadro-devel@lists.sourceforge.net,,,avogadro-devel@lists." "sourceforge.net,,,,avogadro-devel@lists.sourceforge.net,,,,avogadro-" "devel@lists.sourceforge.net,,,,avogadro-devel@lists.sourceforge.net,,,," "avogadro-devel@lists.sourceforge.net,,,,avogadro-devel@lists.sourceforge." "net,,,,avogadro-devel@lists.sourceforge.net,,,,avogadro-devel@lists." "sourceforge.net,,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-" "devel@lists.sourceforge.net,,,,,avogadro-devel@lists.sourceforge.net,," #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Väri alkuaineen mukaan (hiili = harmaa, happi = punainen, ...)" #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoktium" #~ msgid "Axes" #~ msgstr "Akselit" #~ msgid "Dipole" #~ msgstr "Dipoli" #~ msgid "Force" #~ msgstr "Voima" #~ msgid "Hydrogen Bond" #~ msgstr "Vetysidos" #~ msgid "Renders hydrogen bonds" #~ msgstr "Renderöi vetysidokset" #~ msgid "Polygon" #~ msgstr "Monikulmio" #~ msgid "Stick" #~ msgstr "Tikku" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "videotiedostot (*.avi)" #~ msgid "Animation..." #~ msgstr "Animaatio..." #~ msgid "Number of atoms: %1" #~ msgstr "Atomien lukumäärä: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Kierrettävien sidosten määrä: %1" #~ msgid "Add constraint" #~ msgstr "Lisää rajoite" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Molekyylisi täytyy koostua ainakin yhdestä atomista, jotta voit lisätä " #~ "rajoitteen" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Molekyylisi täytyy koostua ainakin kahdesta atomista, jotta voit lisätä " #~ "sidosrajoitteen" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Molekyylisi täytyy koostua ainakin kolmesta atomista, jotta voit lisätä " #~ "kulmarajoitteen" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Molekyylisi täytyy koostua ainakin neljästä atomista, jotta voit lisätä " #~ "kiertokulmarajoitteen" #~ msgid "Undefined" #~ msgstr "Määrittelemätön" #~ msgid "Calculate Energy" #~ msgstr "Laske energia" #~ msgid "Constraints..." #~ msgstr "Rajoitteet..." #~ msgid "Fix Selected Atoms" #~ msgstr "Kiinnitä valitut atomit paikoilleen" #~ msgid "Geometric Optimization" #~ msgstr "Geometrinen optimisaatio" #~ msgid "&Vector Graphics..." #~ msgstr "&Vektorigrafiikka" #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Change H to Methyl" #~ msgstr "Vaihta H metyyliin" #~ msgid "H to Methyl" #~ msgstr "H metyyliin" #~ msgid "&Properties" #~ msgstr "&Ominaisuudet" #~ msgid "Show Preview" #~ msgstr "Näytä esikatselu" #~ msgid "Hide Preview" #~ msgstr "Piilota esikatselu" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Tallenna POV-Ray-renderöity kuva" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Kuvatiedostot (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Valintasi on olla käyttämättä suoraa POV-Ray-renderöintiä etkä halua " #~ "säilyttää POV-Ray-tiedostoa. Tällöin tulosta ei tulla tallettamaan. " #~ "Oletko varma että haluat toimia näin?" #~ msgid "Atom Properties..." #~ msgstr "Atomiominaisuudet..." #~ msgid "Bond Properties..." #~ msgstr "Sidosominaisuudet..." #~ msgid "Torsion Properties..." #~ msgstr "Kiertokulmaominaisuudet..." #~ msgid "Properties" #~ msgstr "Ominaisuudet" #~ msgid "Valence" #~ msgstr "Valenssi" #~ msgid "Partial Charge" #~ msgstr "Osittaisvaraus" #~ msgid "Atom" #~ msgstr "Atomi" #~ msgid "Atom %1" #~ msgstr "Atomi %1" #~ msgid "Python Terminal" #~ msgstr "Python-terminaali" #~ msgid "Group Name" #~ msgstr "Ryhmän nimi" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid ")" #~ msgstr ")" #~ msgid "Name cannot be empty." #~ msgstr "Nimi ei voi olla tyhjä." #~ msgid "There is already a selection with this name." #~ msgstr "Tämän niminen valinta on jo olemassa." #~ msgid "Orbitals" #~ msgstr "Orbitaalit" #~ msgid "Create Surfaces..." #~ msgstr "Luo pintoja..." #~ msgid "Electron Density" #~ msgstr "Elektronitiheys" #~ msgid "Set Aspect Ratio" #~ msgstr "Aseta kuvasuhde" #~ msgid "Tools" #~ msgstr "Työkalut" #~ msgid "Axis:" #~ msgstr "Akseli:" #~ msgid "Align:" #~ msgstr "Kohdista:" #~ msgid "Everything" #~ msgstr "Kaikki" #~ msgid "Align" #~ msgstr "Kohdista" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Ei voitu asettaa voimakenttää..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Algorithm:" #~ msgstr "Algoritmi:" #~ msgid "Start" #~ msgstr "Käynnistä" #~ msgid "Fixed atoms are movable" #~ msgstr "Kiinnitetyt atomit voivat liikkua" #~ msgid "Ignored atoms are movable" #~ msgstr "Huomiotta jätetyt atomit voivat liikkua" #~ msgid "Auto Rotation Tool" #~ msgstr "Automaattinen kiertotyökalu" #~ msgid "x rotation:" #~ msgstr "x-akselin kiertymä:" #~ msgid "x rotation" #~ msgstr "x-akselin kiertymä" #~ msgid "y rotation:" #~ msgstr "y-akselin kiertymä:" #~ msgid "y rotation" #~ msgstr "y-akselin kiertymä" #~ msgid "z rotation:" #~ msgstr "z-akselin kiertymä:" #~ msgid "z rotation" #~ msgstr "z-akselin kiertymä" #~ msgid "Distance(s):" #~ msgstr "Etäisyydet:" #~ msgid "Draw Bond" #~ msgstr "Piirrä sidos" #~ msgid "Selection Mode:" #~ msgstr "Valintatila:" #~ msgid "Atom/Bond" #~ msgstr "Atomi/Sidos" #~ msgid "Z-Matrix" #~ msgstr "Z-matriisi" #~ msgid "Origin:" #~ msgstr "Origo:" #~ msgid "Atom Radius:" #~ msgstr "Atomin säde:" #~ msgid "Bond Radius:" #~ msgstr "Sidoksen säde:" #~ msgid "Colors" #~ msgstr "Värit" #~ msgid "Dipole:" #~ msgstr "Dipoli:" #~ msgid "Dipole Moment" #~ msgstr "Dipolimomentti" #~ msgid "Width:" #~ msgstr "Leveys:" #~ msgid "Color:" #~ msgstr "Väri:" #~ msgid "Bond length" #~ msgstr "Sidoksen pituus" #~ msgid "Bond order" #~ msgstr "Sidoskertaluku" #~ msgid "Radius:" #~ msgstr "Säde:" #~ msgid "Include Nitrogens" #~ msgstr "Sisällytä typet" #~ msgid "Orbital:" #~ msgstr "Orbitaali:" #~ msgid "Positive" #~ msgstr "Positiivinen" #~ msgid "Negative" #~ msgstr "Negatiivinen" #~ msgid "0/0" #~ msgstr "0/0" #~ msgid "fps" #~ msgstr "fps" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "Method" #~ msgstr "Menetelmä" #~ msgid "Number of rotatable bonds:" #~ msgstr "Kierrettävien sidosten määrä:" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Constraints" #~ msgstr "Rajoitukset" #~ msgid "Add Constraints" #~ msgstr "Lisää rajoituksia" #~ msgid "Ignore Atom" #~ msgstr "Jätä atomi huomiotta" #~ msgid "Fix Atom" #~ msgstr "Kiinnitä atomi paikoilleen" #~ msgid "Fix Atom X" #~ msgstr "Kiinnitä atomi X" #~ msgid "Fix Atom Y" #~ msgstr "Kiinnitä atomi Y" #~ msgid "Fix Atom Z" #~ msgstr "Kiinnitä atomi Z" #~ msgid "Torsion angle" #~ msgstr "Kiertokulma" #~ msgid "Add" #~ msgstr "Lisää" #~ msgid "All" #~ msgstr "Kaikki" #~ msgid "Setup Force Field" #~ msgstr "Aseta voimakenttä" #~ msgid "Force Field" #~ msgstr "Voimakenttä" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Askelten lukumäärä" #~ msgid "Algorithm" #~ msgstr "Algoritmi" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Select..." #~ msgstr "Valitse..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Set the background color to be transparent" #~ msgstr "Aseta taustaväri läpinäkyväksi" #~ msgid "Command:" #~ msgstr "Komento:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "Default" #~ msgstr "Oletusarvo" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "Optimization" #~ msgstr "Optimisaatio" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Globaali optimisaatio" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO-optimisaatio" #~ msgid "Raman Intensities" #~ msgstr "Raman-intensiteetit" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Normaali ajo" #~ msgid "Debug" #~ msgstr "Virheenjäljitys" #~ msgid "Molecule Charge:" #~ msgstr "Molekyylin varaus:" #~ msgid "Use DFT" #~ msgstr "Käytä DFT:tä" #~ msgid "# of Z-Matrix Variables" #~ msgstr "Z-matriisin muuttujien määrä" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Käytä symmetriaa laskemisen aikana" #~ msgid "Minutes" #~ msgstr "Minuuttia" #~ msgid "Hours" #~ msgstr "Tuntia" #~ msgid "Days" #~ msgstr "Päivää" #~ msgid "Weeks" #~ msgstr "Viikkoa" #~ msgid "Years" #~ msgstr "Vuotta" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "Diagonalization Method:" #~ msgstr "Diagonalisointimenetelmä:" #~ msgid "Initial Guess:" #~ msgstr "Alkuarvaus:" #~ msgid "Print the Initial Guess" #~ msgstr "Tulosta alkuarvaus" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "Solvate with Water" #~ msgstr "Liuota veteen" #~ msgid "Method:" #~ msgstr "Menetelmä:" #~ msgid "# of Core Electrons:" #~ msgstr "Sisäelektronien määrä" #~ msgid "Analytic" #~ msgstr "Analyyttinen" #~ msgid "Numeric" #~ msgstr "Numeerinen" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Rationaalifunktio-optimisaatio" #~ msgid "Z-matrix" #~ msgstr "Z-matriisi" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Tavallinen" #~ msgid "&Close" #~ msgstr "&Sulje" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" avogadrolibs-1.93.0/i18n/fr.po000066400000000000000000007517651360735163600160450ustar00rootroot00000000000000msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2017-02-06 21:31+0000\n" "Last-Translator: Jean-Marc \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Éditeur de fichier d'entrée..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Éditeur de fichier d'entrée..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Poursuivre" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Fermer" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Inconnu" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "abinit n'a pas pu démarrer." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Interrompre le calcul" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Attention" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Attention" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Sélectionner solvant" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Fichier de sortie :" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Impossible d'enregistrer le fichier." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Le fichier vidéo n'a pu être écrit" #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Le fichier vidéo n'a pu être écrit" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 #, fuzzy msgid "Write input files" msgstr "Créer les fichiers wrl" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Préférences" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Titre" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nom du fichier :" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processeurs :" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Calcul" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Théorie :" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Théorie :" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Base" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "Charge" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "Multiplicité" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Pas de molécule définie" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Arrêter &l'animation" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Aucun atome sélectionné" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hydrogène" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Hélium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lithium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Béryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bore" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbone" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Azote" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxygène" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Néon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnésium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicium" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Phosphore" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Soufre" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Chlore" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potassium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calcium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titane" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Chrome" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganèse" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Fer" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nickel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Cuivre" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinc" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenic" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Sélénium" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brome" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybdène" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technétium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruthénium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Argent" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Étain" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimoine" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellure" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iode" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xénon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Césium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Baryum" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lanthane" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cérium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praséodyme" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Néodyme" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prométhium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutécium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantale" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungstène" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhénium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platine" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Or" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercure" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Thallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Plomb" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuth" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astate" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Thorium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranium" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Américium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkélium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendélévium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobélium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnérium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flérovium" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorium" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Parcourir..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr " Échec de la sélection" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Suppimer la sélection" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Tous les fichiers" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "sans titre" #: qtgui/multiviewwidget.cpp:199 #, fuzzy msgid "Create a new view" msgstr "Créer les fichiers wrl" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Tableau périodique" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "abinit n'a pas pu démarrer." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Plantage d'Abinit." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Erreur OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Inconnu" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molécule" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Ajouter un atome" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Effacer l'atome" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Tout effacer" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Ajuster les hydrogènes" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Changer un élément" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Changer un élément" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Charge formelle" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Ajouter une liaison" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Effacer l'atome" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Supprimer une liaison" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Multiplicité de la liaison" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Changer l'ordre des liaisons" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Ajuster aux liaisons" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Supprimer une liaison" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Afficher la &maille conventionnelle" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Effacer la &maille conventionnelle" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Remplir la maille conventionnelle" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Regrouper les atomes dans la maille" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Mettre le volume de maille conventionnelle à l'échelle" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Maille étendue" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Tourner vers l'orientation standard" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Réduire à une maille primitive" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Symétriser" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Remplir la maille conventionnelle" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Réduire à l'unité asymétrique" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Fichier" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exporter" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Seuils" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Fichiers de résultat Orca" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensions" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr " Erreur " #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problème de lecture du fichier de trajectoire %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Erreur OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problème de lecture du fichier de trajectoire %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Ouvrir un fichier WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Ouvrir un fichier WFN" #: qtplugins/apbs/apbsdialog.cpp:103 #, fuzzy msgid "PQR Files (*.pqr)" msgstr "Fichiers VRML (*wrl)" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Erreur" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Enregistrer le fichier de données" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "Données LAMMPS" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Succès !" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Commentaires du fichier de données" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Afficher les liaisons multiples" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hydrogènes" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Boule et bâtonnet" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Affiche les étiquettes des atomes et des liaisons" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulation des liaisons" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulation des liaisons" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Atome d'arrivée" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Retirer LES Hydrogènes" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Construction" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Liaison" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Tolérance des opérations de symétrie..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 #, fuzzy msgid "Connection failed" msgstr " Échec de la sélection" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nom du fichier :" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Éditeur de coordonnées cartésiennes" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Éditeur de coordonnées cartésiennes" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Annuler les modifications" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nom de fichier invalide" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nom de l'élément" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Symbole de l'élément" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Symbole de l'élément" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nom de fichier invalide" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Numéro d'atome" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nom de fichier invalide" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Coordonnées" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Coordonnées" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Coordonnées" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Coordonnées cartésiennes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Coordonnées cartésiennes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Coordonnées" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Appliquer des coordonnées cartésiennes" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Personnalisée" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Geoff Hutchison,Laurent Peuch,Louis Ricard,Maijin," "Nizar Kerkeni, ,Launchpad Contributions:,Benoit Jacob,Geoff Hutchison," "Laurent Peuch,Louis Ricard,Maijin,Mathieu Pasquet,Nizar Kerkeni, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch,clrollin, ," "Launchpad Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch," "clrollin, ,Launchpad Contributions:,Benoit Jacob,Louis Ricard,alfred002," "belbeoch,clrollin, ,Launchpad Contributions:,Belenyx,Benoit Jacob,Louis " "Ricard,alfred002,belbeoch,clrollin,londumas,xemard.nicolas, ,Launchpad " "Contributions:,Belenyx,Benoit Jacob,Jean-Marc,Louis Ricard,alfred002," "belbeoch,clrollin,londumas,xemard.nicolas, ,Launchpad Contributions:,Belenyx," "Benoit Jacob,Geoff Hutchison,Jean-Marc,Louis Ricard,alfred002,belbeoch," "clrollin,londumas,xemard.nicolas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ avec nombres" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Coordonnées cartésiennes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Coordonnées cartésiennes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Information GAMESS PFE" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Information GAMESS PFE" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Entrée Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Tout copier" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Personnalisée" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Tout effacer" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Impossible d'appliquer le format : %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Impossible d'appliquer le format : %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "I&mporter un cristal à partir du presse-papier..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Remplir la maille conventionnelle" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Remplir la maille conventionnelle" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Regrouper les atomes dans la maille" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Tourner vers l'orientation standard" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Mettre la maille à l'échelle du @volume..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Maille étendue" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Réduire la maille (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Cristal..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Effacer la &maille conventionnelle" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Afficher la &maille conventionnelle" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Cette maille conventionnelle est déjà réduite à sa représentation canonique " "de Niggli." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Cristal..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Affiche les étiquettes des atomes et des liaisons" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Impossible d'analyser le texte" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Axes personnalisés" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Dessiner" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Dessiner un atome" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Changer l'ordre des liaisons" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Effacer l'atome" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distance" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distance (1->2) : %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Autre..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Optimisation automatique" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Simple" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Double" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triple" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problème de lecture du fichier de trajectoire %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Éditeur de fichier d'entrée..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Entrée GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Simple point" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Géométrie à l'équilibre" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "État de transition" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Fréquences" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Potentiel de cœur" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gaz" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Eau" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singulet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doublet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dication" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Cation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutre" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Fichier de données GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Interrompre le calcul" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Ajuster les hydrogènes" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Ajouter les hydrogènes" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Retirer LES Hydrogènes" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Retirer LES Hydrogènes" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hydrogènes" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hydrogènes" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importer" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Affiche les étiquettes des atomes et des liaisons" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Insérer" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Pas de description" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molécule" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Générer..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipuler" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipuler un atome" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Mesure" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Dièdre :" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Angle :" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Angle :" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Mesure" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Affiche les maillages d'isosurfaces moléculaires" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Vue" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Propriétés de la molécule" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Naviguer" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Naviguer" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nom chimique" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Structure chimique à télécharger." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Le téléchargement depuis le réseau a échoué" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Délai d'attente réseau expiré, ou autre erreur" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "La molécule spécifiée n'a pas pu être trouvée : %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Le téléchargement depuis le réseau a échoué" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimisation de la géométrie" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Optimisation de la géométrie" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Interpréter les ordres de liaison ?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Ajouter les hydrogènes" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Ajouter les hydrogènes selon le pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Retirer LES Hydrogènes" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "La lecture d'une molécule du fichier « %1 » a échoué." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Un problème est survenu pendant l'enregistrement du fichier %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimisation de la géométrie" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Générer..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Le fichier de trajectoire %1 ne contient pas le même nombre d'atomes que la " "molécule actuelle" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimisation de la géométrie" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Ajouter les hydrogènes" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "Créer le fichier de données d'Orca..." #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Ajuster le pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Retirer LES Hydrogènes" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Arrêter" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Paramètres :" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Liaisons dynamiques" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Supprimer..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Arrêter" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Exporter les graphismes vectoriels" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Impossible de lire le fichier %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Je suis un message d'erreur !" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr " Erreur " #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Enregistrer le fichier vidéo" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Rendu avec POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Affiche les primitives selon les propriétés QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Modèle moléculaire..." #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Modèle moléculaire avec paires libres..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Charge atomique..." #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensions" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Ouvrir un fichier WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Fichiers WFN (*.wfn);; Tous les fichiers (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Extension QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Créer des fichiers d'entrée pour les logiciels de chimie quantique" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calcul de la densité électronique en cours" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calcul de la densité électronique en cours" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calculer et visualiser les orbitales moléculaires" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "OM %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "HO" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "BV" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Réinitialiser" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Format du fichier :" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Tout supprimer" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Sélection" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Inverser la sélection" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " Électrons de valence" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Sélectionner" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Sélectionner" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Sélection" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Sélection" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Détecter le groupe d'espace" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "Symétriser" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Réduire à l'unité asymétrique" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Tolérance :" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Groupe &d'espace" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "La détection du groupe d'espace a échoué.\n" "\n" "Souhaitez-vous réessayer avec une tolérance différente ?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "La détection du groupe d'espace a échoué.\n" "\n" "Souhaitez-vous réessayer avec une tolérance différente ?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "La détection du groupe d'espace a échoué.\n" "\n" "Souhaitez-vous réessayer avec une tolérance différente ?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "La détection du groupe d'espace a échoué.\n" "\n" "Souhaitez-vous réessayer avec une tolérance différente ?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Tolérance SCF :" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "International" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Hall" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Maugin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Choisissez un groupe d'espace" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Groupe &d'espace" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrations" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Visualisation de spectres" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Afficher les coordonnées fractionnaires" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Type" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Élément" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "Propriétés de symétrie..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Symétrie" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Propriétés de symétrie" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Affiche les moments dipolaires" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "∞" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Générer" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "VRML" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Rendu avec POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Fil de fer" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Affiche les molécules par des bâtonnets" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Boîte de dialogue" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Formulaire" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Paramètres de sélection" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Interrompre le calcul" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Programme d'ombrage :" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processeurs :" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Masquer lorsque terminé" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Masquer lorsque terminé" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Changer un élément" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Fichier de données Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "Créer le fichier de données d'Orca..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Fichier par :" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Champ de force :" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Fichier par :" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Fichier de données Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Enregistrer le fichier de données" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Succès !" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Ouvrir le fichier" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Ouvrir le fichier" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Paramètres des mesures" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "Nom de &fichier :" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Naviguer" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Naviguer" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Naviguer" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nom du fichier :" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Files of type:" msgstr "Format du fichier :" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Annuler" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Format des coordonnées :" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Réinitialiser" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distance" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Format :" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Annuler les modifications" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Appliquer" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Importer un cristal" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Paramètres de maille étendue" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Options de maille étendue" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "répétition A :" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "répétition B :" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "répétition C :" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Définir la couleur de la maille conventionnelle" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A :" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B :" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C :" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α :" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β :" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ :" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matrice de la maille" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Matrice de maille réciproque (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Déplacer les atomes" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Appliquer" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Masquer" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Mettre le volume de maille conventionnelle à l'échelle" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Saisissez un nouveau volume de maille :" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Facteur d'échelle" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Étiquette" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Élément :" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Multiplicité :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Entrée GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "Configuration é&lémentaire" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Dans :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicité :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Avec :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Titre :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Charge :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calculer :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nom du fichier :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Tout réinitialiser" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Par défaut" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Ouvrir un fichier..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nom" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format :" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Pas de description" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Poids moléculaire (g/mol) :" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "À FAIRE" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Formule chimique :" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Nombre d'atomes :" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Nombre de liaisons :" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Optimisation de la géométrie" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Méthode d'optimisation :" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Champ de force :" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Méthode d'optimisation :" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Plus grande pente" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Gradients conjugués" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Autorotation" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosurface = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potentiel électrostatique" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "étapes" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Critères de convergence de gradient :" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergence" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Limite de temps :" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Unités" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Nombre de liaisons :" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Longueur d'onde (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Suppimer la sélection" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Rayon de point critique :" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Rayon de chemin de liaison :" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalent" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Taille constante" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacité :" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Moyenne" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Très basse" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Basse" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Élevée" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Très élevée" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "&Valeur d' isosurface :" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Résolution :" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Surfaces" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calculer" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrations" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitude :" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Commencer &l'animation" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Arrêter &l'animation" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molécule" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Symétrie" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Options" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Propriétés de symétrie" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Groupe &d'espace" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "Tolérance :" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "Exacte" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "Normal" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "Approximative" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "Détecter la symétrie" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Geoff Hutchison,Laurent Peuch,Louis Ricard,Maijin," "Nizar Kerkeni, ,Launchpad Contributions:,Benoit Jacob,Geoff Hutchison," "Laurent Peuch,Louis Ricard,Maijin,Mathieu Pasquet,Nizar Kerkeni, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch, ,Launchpad " "Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch,clrollin, ," "Launchpad Contributions:,Benoit Jacob,Louis Ricard,alfred002,belbeoch," "clrollin, ,Launchpad Contributions:,Benoit Jacob,Louis Ricard,alfred002," "belbeoch,clrollin, ,Launchpad Contributions:,Belenyx,Benoit Jacob,Louis " "Ricard,alfred002,belbeoch,clrollin,londumas,xemard.nicolas, ,Launchpad " "Contributions:,Belenyx,Benoit Jacob,Jean-Marc,Louis Ricard,alfred002," "belbeoch,clrollin,londumas,xemard.nicolas, ,Launchpad Contributions:,Belenyx," "Benoit Jacob,Geoff Hutchison,Jean-Marc,Louis Ricard,alfred002,belbeoch," "clrollin,londumas,xemard.nicolas" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" "benoitjacob@users.sourceforge.net,louis.ricard@polytechnique.fr,,,," "psycojoker@gmail.com,louis.ricard@polytechnique.edu,,nizar.kerkeni@gmail." "com,,,jacob.benoit.1@gmail.com,,psycojoker@gmail.com,louis." "ricard@polytechnique.edu,,,nizar.kerkeni@gmail.com,,,jacob.benoit.1@gmail." "com,louis.ricard@polytechnique.edu,alfred002@gmail.com,,,jacob." "benoit.1@gmail.com,louis.ricard@polytechnique.edu,alfred002@gmail.com," "simbelbeoch@hotmail.fr,,,jacob.benoit.1@gmail.com,louis.ricard@polytechnique." "edu,alfred002@gmail.com,simbelbeoch@hotmail.fr,,,jacob.benoit.1@gmail.com," "louis.ricard@polytechnique.edu,alfred002@gmail.com,simbelbeoch@hotmail.fr,,," "jacob.benoit.1@gmail.com,louis.ricard@polytechnique.edu,alfred002@gmail.com," "simbelbeoch@hotmail.fr,,,jacob.benoit.1@gmail.com,louis.ricard@polytechnique." "edu,alfred002@gmail.com,simbelbeoch@hotmail.fr,,,jacob.benoit.1@gmail.com," "louis.ricard@polytechnique.edu,alfred002@gmail.com,simbelbeoch@hotmail.fr,,,," "jacob.benoit.1@gmail.com,louis.ricard@polytechnique.edu,alfred002@gmail.com," "simbelbeoch@hotmail.fr,,,,jacob.benoit.1@gmail.com,louis." "ricard@polytechnique.edu,alfred002@gmail.com,simbelbeoch@hotmail.fr,,,,," "jacob.benoit.1@gmail.com,louis.ricard@polytechnique.edu,alfred002@gmail.com," "simbelbeoch@hotmail.fr,,helion331990@gmail.com,,,,,jacob.benoit.1@gmail.com,," "louis.ricard@polytechnique.edu,alfred002@gmail.com,simbelbeoch@hotmail.fr,," "helion331990@gmail.com,,,,,jacob.benoit.1@gmail.com,,,louis." "ricard@polytechnique.edu,alfred002@gmail.com,simbelbeoch@hotmail.fr,," "helion331990@gmail.com," #~ msgid "Color by Index" #~ msgstr "Colorier selon l'indice" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Colorier selon l'indice (rouge, orange, jaune, vert, bleu, violet)." #~ msgid "Color by Partial Charge" #~ msgstr "Colorier selon la charge partielle" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Colorier selon la charge atomique partielle (bleu = positive, rouge = " #~ "négative)." #~ msgid "Custom Color:" #~ msgstr "Couleur personnalisée :" #~ msgid "Custom Color" #~ msgstr "Couleur personnalisée" #~ msgid "Set custom colors for objects" #~ msgstr "Définir les couleurs personnalisées des objets" #~ msgid "Color by Distance" #~ msgstr "Colorier selon la distance" #~ msgid "Color by distance from the first atom." #~ msgstr "Colorier selon la distance au premier atome" #~ msgid "Color by Element" #~ msgstr "Colorier selon l'élément" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Colorier selon l'élément (carbone = gris, oxygène = rouge, ...)." #~ msgid "Color by Residue" #~ msgstr "Colorier selon le résidu" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Colorier selon le résidu (type d'amino-acide, hydrophobie, ...)" #~ msgid "SMARTS Pattern:" #~ msgstr "Structure SMARTS :" #~ msgid "Highlight Color:" #~ msgstr "Couleur de sélection :" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Colorier par structure SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "" #~ "Mettre en surbrillance les motifs qui correspondent à une structure " #~ "SMARTS." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Moteurs" #~ msgid "Axes" #~ msgstr "Axes" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Affiche les axes x, y et z à l'origine" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "" #~ "Affiche les primitives avec des boules (atomes) et des bâtonnets " #~ "(liaisons)." #~ msgid "Cartoon" #~ msgstr "Animation" #~ msgid "Renders protein secondary structure" #~ msgstr "Affiche de la structure secondaire d'une protéine" #~ msgid "Dipole" #~ msgstr "Dipôle" #~ msgid "Force" #~ msgstr "Force" #~ msgid "Renders force displacements on atoms" #~ msgstr "Affiche les forces de déplacement sur les atomes" #~ msgid "Hydrogen Bond" #~ msgstr "Liaison hydrogène" #~ msgid "Renders hydrogen bonds" #~ msgstr "Affiche les liaisons hydrogène" #~ msgid "Select Atom Labels Color" #~ msgstr "Choisir la couleur des étiquettes des atomes" #~ msgid "Select Bond Labels Color" #~ msgstr "Choisir la couleur des étiquettes des liaisons" #~ msgid "Select Atom Labels Font" #~ msgstr "Choisir la police de caractères des étiquettes des atomes" #~ msgid "Select Bond Labels Font" #~ msgstr "Choisir la police de caractères des étiquettes des liaisons" #~ msgid "Label" #~ msgstr "Étiquette" #~ msgid "Polygon" #~ msgstr "Polygone" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Affiche les atomes comme tétraèdres, octaèdres, et autres polygones" #~ msgid "Ribbon" #~ msgstr "Ruban" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Affiche les chaînes protéiques en rubans" #~ msgid "Ring" #~ msgstr "Anneau" #~ msgid "Renders rings with colored planes" #~ msgstr "Affiche les cycles par des plans colorés" #~ msgid "Simple Wireframe" #~ msgstr "Fil de fer" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "Affiche des liaisons en fils (lignes), idéal pour de grosses molécules" #~ msgid "Van der Waals Spheres" #~ msgstr "Sphères de van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Affiche les atomes avec leurs rayons de van der Waals" #~ msgid "Stick" #~ msgstr "Bâtonnet" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Densité électronique, isosurface = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1,surface iso = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Affiche les liaisons en fil de fer (lignes), idéal pour de très grosses " #~ "(bio)molécules" #~ msgid "Trajectory files" #~ msgstr "Fichiers de trajectoire" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Fichiers de l'historique de DL-POLY" #~ msgid "Open Trajectory File" #~ msgstr "Ouvrir un fichier de trajectoire" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "fichiers vidéo (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "L'extension .avi sera ajoutée" #~ msgid "Animation..." #~ msgstr "Animation..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Impossible de lire le format du fichier %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "La lecture du fichier de trajectoire %1 a échoué." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Un nom de fichier .avi valide doit être spécifié" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "Le widget GL n'a pas été initialisé correctement pour enregistrer une " #~ "vidéo" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Nom de fichier vidéo invalide. Il doit inclure le nom complet de son " #~ "répertoire." #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Nom de fichier vidéo invalide. Il doit inclure le nom complet de son " #~ "répertoire et son nom, terminé par .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Impossible de déterminer le format à partir du nom de fichier : %1" #~ msgid "Animation" #~ msgstr "Animation" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animation des trajectoires, des réactions et des vibrations." #~ msgid "Cartesian Editor" #~ msgstr "Éditeur cartésien" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Aucune maille conventionnelle n'est définie pour la molécule -- " #~ "impossible d'utiliser des coordonnées fractionnaires." #~ msgid "Cartesian Editor..." #~ msgstr "Éditeur cartésien..." #~ msgid "Cartesian editor" #~ msgstr "Éditeur cartésien" #~ msgid "Number of atoms: %1" #~ msgstr "Nombre d'atomes : %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Nombre de liaisons pouvant subir une rotation : %1" #~ msgid "Add constraint" #~ msgstr "Ajouter une contrainte" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Votre molécule doit contenir au moins un atome pour pouvoir ajouter une " #~ "contrainte" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Votre molécule doit contenir au moins deux atomes pour pouvoir ajouter " #~ "une contrainte de liaison" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Votre molécule doit contenir au moins trois atomes pour ajouter une " #~ "contrainte d'angle" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Votre molécule doit contenir au moins quatre atomes pour ajouter une " #~ "contrainte de torsion" #~ msgid "&Crystallography" #~ msgstr "&Cristallographie" #~ msgid "&Reduce" #~ msgstr "&Réduire" #~ msgid "&Settings" #~ msgstr "&Préférences" #~ msgid "&Length Unit" #~ msgstr "&Unités de longueur" #~ msgid "&Angle Unit" #~ msgstr "&Unités d'angle" #~ msgid "&Coordinate Display" #~ msgstr "&Affichage des coordonnées" #~ msgid "Coordinate &Preservation" #~ msgstr "&Préservation des coordonnées" #~ msgid "&Matrix Display" #~ msgstr "&Affichage de matrice" #~ msgid "Hide &Editors" #~ msgstr "Masquer les &éditeurs" #~ msgid "Show &Editors" #~ msgstr "Afficher les &éditeurs" #~ msgid "Hide &Property Display" #~ msgstr "Masquer l'affichage des &propriétés" #~ msgid "Show &Property Display" #~ msgstr "Afficher les &propriétés" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Type de maille : %1" #~ msgid "Spacegroup: %1" #~ msgstr "Groupe d'espace : %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Volume de maille conventionnelle : %L1%2" #~ msgid "Undefined" #~ msgstr "Indéfini" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triclinique" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoclinique" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Orthorhombique" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Quadratique" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Rhomboédrique" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hexagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Cubique" #~ msgid "Paste Crystal" #~ msgstr "Coller un cristal" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "La réduction de Nigli a échoué. La maille de la structure proposée " #~ "perturbe l'algorithme de réduction de Nigli. Effectuez une petite " #~ "modification (environ 2 ordres de grandeur plus petite que la tolérance) " #~ "aux paramètres et réessayez." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Impossible de réduire cette maille après 1 000 itérations de l'algorithme " #~ "de réduction. Abandon." #~ msgid "&Translate Atoms..." #~ msgstr "&Translation d'atomes..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Tourner vers l'&orientation standard" #~ msgid "&Slab..." #~ msgstr "&Lame..." #~ msgid "Perceive Space&group..." #~ msgstr "Détecter le &groupe d'espace..." #~ msgid "Set &Spacegroup..." #~ msgstr "Choisir le groupe d'&espace..." #~ msgid "&Fill Unit Cell" #~ msgstr "&Remplir la maille conventionnelle" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "" #~ "&Remplir la maille conventionnelle en utilisant le groupe d'espace actuel" #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Réduire à &l'unité asymétrique" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "" #~ "Enlever les atomes qui occupent des positions équivalentes (inverse de " #~ "remplir la maille conventionnelle)." #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Sy&métriser le cristal" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Réduire la maille (&primitive)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanomètre" #~ msgid "&Picometer" #~ msgstr "&Picomètre" #~ msgid "&Degree" #~ msgstr "&Degré" #~ msgid "&Radian" #~ msgstr "&Radian" #~ msgid "Display &cartesian coordinates" #~ msgstr "Afficher les coordonnées cartésiennes" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "" #~ "Préserver les coordonnées &cartésiennes pendant la modification de la " #~ "maille" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "" #~ "Préserver les coordonnées &fractionnaires pendant la modification de la " #~ "maille" #~ msgid "Display &cartesian matrix" #~ msgstr "Afficher la matrice &cartésienne" #~ msgid "Display &fractional matrix" #~ msgstr "Afficher la matrice &fractionnaire" #~ msgid "Display as &row vectors" #~ msgstr "Afficher en vecteurs &lignes" #~ msgid "Display as &column vectors" #~ msgstr "Afficher en vecteurs &colonnes" #~ msgid "&Crystal View Options..." #~ msgstr "&Options de présentation du cristal..." #~ msgid "" #~ "

Perceived spacegroup %1, Hall symbol %2, Hermann-Mauguin symbol %3." #~ "

Cell can be symmetrized into a conventional setting, do you wish to " #~ "do so? Actions that make use of symmetry (e.g. supercell builder) require " #~ "this.

" #~ msgstr "" #~ "Détecter le groupe d'espace %1, symbole de Hall %2, symbole d'Hermann-" #~ "Maugin %3.

La maille peut être symétrisée en orientation " #~ "conventionnelle si vous le souhaitez. Les fonctions qui utilisent la " #~ "symétrie (p. ex. le générateur de maille étendue) le nécessitent." #~ msgid "Set Spacegroup" #~ msgstr "Choisir le groupe d'espace" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Aucun groupe d'espace n'est sélectionné pour ce document.\n" #~ "\n" #~ "Souhaitez-vous en choisir un maintenant ?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Le groupe d'espace P1 a été détecté -- impossible de symétriser dans ce " #~ "groupe d'espace.\n" #~ "\n" #~ "Souhaitez-vous réessayer avec une tolérance différente ?" #~ msgid "Symmetrize Crystal" #~ msgstr "Symétriser le cristal" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Regrouper les atomes dans la maille" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Réduire à une maille de Niggli" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "Choisir la tolérance en unités cartésiennes actuelles :" #~ msgid "Crystallography" #~ msgstr "Cristallographie" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Construire et analyser des structures périodiques." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "Le fichier d'entrée n'est pas formaté dans un\n" #~ "des formats pris en charge suivant :\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Format VASP\n" #~ msgid "Bad Compostion" #~ msgstr "Mauvaise composition" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "Le champ des identités doit contenir le même nombre d'entrées séparées " #~ "par des espaces que dans la ligne 6 du fichier POSCAR." #~ msgid "Cartesian Coordinates" #~ msgstr "Coordonnées cartésiennes" #~ msgid "Fractional Coordinates" #~ msgstr "Coordonnées fractionnaires" #~ msgid "Set Fractional Coordinates" #~ msgstr "Appliquer des coordonnées fractionnaires" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Matrice de la maille (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Définir la matrice de maille conventionnelle" #~ msgid "Set Unit Cell Params" #~ msgstr "Définir les paramètres de maille conventionnelle" #~ msgid "Working..." #~ msgstr "Traitement..." #~ msgid "Build" #~ msgstr "Générer" #~ msgid "Cut Slab From Crystal" #~ msgstr "Couper une lame dans le cristal" #~ msgid "No GLWidget?" #~ msgstr "Aucun GLWidget ?" #~ msgid "Please select one or more atoms." #~ msgstr "Merci de sélectionner un ou des atomes" #~ msgid "Trajectory..." #~ msgstr "Trajectoire..." #~ msgid "Open chemical file format" #~ msgstr "Ouvrir un fichier au format de chimie" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Fichiers de chimie (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Ouvrir un fichier de paramètres" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Fichiers de chimie (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importer une trajectoire" #~ msgid "Import trajectory files" #~ msgstr "Importer les fichiers de trajectoire" #~ msgid "Setup Force Field..." #~ msgstr "Configurer le champ de force..." #~ msgid "Calculate Energy" #~ msgstr "Calculer l'énergie" #~ msgid "Conformer Search..." #~ msgstr "Recherche de conformères..." #~ msgid "Constraints..." #~ msgstr "Contraintes..." #~ msgid "Ignore Selection" #~ msgstr "Ignorer la sélection" #~ msgid "Fix Selected Atoms" #~ msgstr "Fixer les atomes sélectionnés" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mécanique moléculaire" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Échec de la configuration du champ de force pour cette molécule. Basculer " #~ "en UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Énergie = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Optimisation géométrique" #~ msgid "Forcefield Optimization" #~ msgstr "Optimisation par champ de force" #~ msgid "Systematic Rotor Search" #~ msgstr "Recherche systématique de rotor" #~ msgid "Random Rotor Search" #~ msgstr "Recherche aléatoire de rotor" #~ msgid "Weighted Rotor Search" #~ msgstr "Recherche pondérée de rotor" #~ msgid "Genetic Algorithm Search" #~ msgstr "Algorithme de recherche génétique" #~ msgid "ForceField" #~ msgstr "Champ de force" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimiser la géométrie moléculaire et générer les conformères à l'aide " #~ "des champs de force de la mécanique moléculaire" #~ msgid "&Vector Graphics..." #~ msgstr "&Graphismes vectoriels..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Format d'image vectorielle usuel" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Exportation des graphismes vectoriels" #~ msgid "Change H to Methyl" #~ msgstr "Changer H en Méthyl" #~ msgid "H to Methyl" #~ msgstr "Changer H en Méthyl" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transformer les hydrogènes en méthyles" #~ msgid "Add or remove hydrogens" #~ msgstr "Ajouter ou enlever les hydrogènes" #~ msgid "DNA/RNA..." #~ msgstr "ADN/ARN..." #~ msgid "Insert DNA" #~ msgstr "Insérer un ADN" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Uracile" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Thymine" #~ msgid "Insert DNA/RNA" #~ msgstr "Insérer un ADN/ARN" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Insérer une chaîne d'ADN/ARN" #~ msgid "Cannot read molecular file %1." #~ msgstr "Impossible de lire le fichier moléculaire %1." #~ msgid "Fragment..." #~ msgstr "Fragment..." #~ msgid "Insert SMILES" #~ msgstr "Insérer un SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Insérer un fragment SMILES :" #~ msgid "Insert Fragment" #~ msgstr "Insérer fragment" #~ msgid "Insert Crystal" #~ msgstr "Ajouter un cristal" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "" #~ "Insérer des fragments moléculaires pour construire de plus grandes " #~ "molécules" #~ msgid "Peptide..." #~ msgstr "Peptides..." #~ msgid "Insert Peptide" #~ msgstr "Insérer un peptide" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Insérer des séquences d'oligopeptide" #~ msgid "Invert Chirality" #~ msgstr "Inverser la chiralité" #~ msgid "InvertChiral" #~ msgstr "InverseChiral" #~ msgid "Invert chiral centers" #~ msgstr "Inverser les centres chiraux" #~ msgid "Molecule Properties..." #~ msgstr "Propriétés de la molécule..." #~ msgid "&Properties" #~ msgstr "&Propriétés" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "inconnu" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Moment dipolaire estimé (D) :" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(en attente)" #~ msgid "Display standard molecular properties." #~ msgstr "Afficher les propriétés moléculaires standards." #~ msgid "Fetch from PDB..." #~ msgstr "Chercher dans la PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Télécharger par nom chimique..." #~ msgid "Fetch from URL..." #~ msgstr "Récupération depuis l'URL..." #~ msgid "PDB Entry" #~ msgstr "Entrée PDB" #~ msgid "PDB entry to download." #~ msgstr "Entrée PDB à télécharger" #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL de la molécule à télécharger." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "La molécule spécifiée n'a pas pu être chargée : %1" #~ msgid "Network Fetch" #~ msgstr "Recherche réseau" #~ msgid "Fetch molecule files over the network." #~ msgstr "Rechercher les fichiers de molécule sur le réseau" #~ msgid "OrcaExtension Warning" #~ msgstr "Avertissement de l'extension Orca" #~ msgid "OrcaExtension" #~ msgstr "Extension Orca" #~ msgid " No vibration data found!" #~ msgstr " Aucune donnée vibrationnelle n'a été trouvée !" #~ msgid " No vibration data found or molecule changed outside Orca Plugin!" #~ msgstr "" #~ " Aucune donnée vibrationnelle n'a été trouvée ou la molécule a été " #~ "modifiée hors du greffon Orca !" #~ msgid "Selected displacement data don't fit to the actual molecule!" #~ msgstr "" #~ "Les données de déplacement sélectionnées ne correspondent pas à la " #~ "molécule actuelle !" #~ msgid "extended Geometry File" #~ msgstr "Fichier de géométrie étendue" #~ msgid "All Files" #~ msgstr "Tous les fichiers" #~ msgid "Read Orca Outputfile" #~ msgstr "Lire le fichier de résultat d'Orca" #~ msgid "no file found" #~ msgstr "Aucun fichier n'a été trouvé" #~ msgid "Somethings wrong in the file structure" #~ msgstr "Quelque chose ne va pas dans le fichier de structure" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "" #~ "Quelque chose ne va pas dans le fichier structure-mailles conventionnelles" #~ msgid "Something is wrong in the IR output! " #~ msgstr "Quelque chose ne va pas dans le fichier de sortie IR ! " #~ msgid "Something is wrong in the raman output! " #~ msgstr "Quelque chose ne va pas dans le fichier de sortie raman ! " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "" #~ "Quelque chose ne va pas dans le fichier de sortie d'énergie des " #~ "orbitales ! " #~ msgid "No geometry found in file!" #~ msgstr "Aucun fichier de géométrie n' été trouvé !" #~ msgid "" #~ "Molecule of the file does not fit the actual molecule structure! \n" #~ " Would you like to override the actual molecule?" #~ msgstr "" #~ "La molécule du fichier ne correspond pas à la structure actuelle de la " #~ "molécule ! \n" #~ " Souhaitez-vous remplacer la molécule actuelle ?" #~ msgid "Could not read file!" #~ msgstr "Impossible de lire le fichier !" #~ msgid "Analyse Orca Output..." #~ msgstr "Analyser le fichier de résultat d'Orca..." #~ msgid "&Orca" #~ msgstr "&Orca" #~ msgid "Orca Test Example" #~ msgstr "Exemple test d'Orca" #~ msgid "Provides a dialog box with the words \"H...\"." #~ msgstr "Fournit une boîte de dialogue avec les mots « H... »." #~ msgid "ORCA Input Deck" #~ msgstr "Données d'entrée d'Orca" #~ msgid "Show Preview" #~ msgstr "Afficher l'aperçu" #~ msgid "Hide Preview" #~ msgstr "Masquer l'aperçu" #~ msgid "RijCosX option not available for the selected DFT functional!" #~ msgstr "" #~ "L'option RijCosX n'est pas disponible pour la fonctionnelle sélectionnée !" #~ msgid "" #~ "RijCosX not available for the selected DFT functional! \n" #~ "RijCosX option reset!" #~ msgstr "" #~ "RijCosX n'est pas disponible pour la fonctionnelle sélectionnée ! \n" #~ "Réinitialisation de l'option RijCosX !" #~ msgid "" #~ "Unsaved changes are made in the actual preview text! \n" #~ " Generating a new preview will lose all changes! \n" #~ " Would you like to override them anyway?" #~ msgstr "" #~ "Des modifications non sauvegardées ont été effectuées dans la " #~ "prévisualisation actuelle ! \n" #~ " La génération d'une nouvelle prévisualisation entraînera leur " #~ "suppression ! \n" #~ " Souhaitez-vous passer outre ?" #~ msgid "Intensities" #~ msgstr "Intensités" #~ msgid " OrcaSpectra::No vibration data found!" #~ msgstr " OrcaSpectra::aucune donnée vibrationnelle n' été trouvée !" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Enregistrer l'image POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Fichier d'images (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Aucun nom de fichier n'est fourni." #~ msgid "No valid filename was supplied." #~ msgstr "Aucun nom de fichier valide n'est fourni." #~ msgid "Does not compute." #~ msgstr "Erreur de calcul." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Vous n'avez pas demandé de rendu direct avec POV-Ray, ni enregistré le " #~ "fichier POV-Ray. Êtes-vous certain de vouloir poursuivre ?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Impossible d'enregistrer le fichier %1. Avez-vous les permissions " #~ "d'écriture à cet endroit ?" #~ msgid "POV-Ray failed to start." #~ msgstr "Erreur de lancement de POV-Ray." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray ne se lance pas. Il y a peut-être une erreur dans le chemin de " #~ "l'exécutable." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Générer les fichiers POV-Ray et les afficher en utilisant la ligne de " #~ "commande du programme POV-Ray." #~ msgid "Atom Properties..." #~ msgstr "Propriétés des atomes..." #~ msgid "Bond Properties..." #~ msgstr "Propriétés des liaisons..." #~ msgid "Angle Properties..." #~ msgstr "Propriétés des angles..." #~ msgid "Torsion Properties..." #~ msgstr "Propriétés de torsion..." #~ msgid "Conformer Properties..." #~ msgstr "Propriétés des conformères..." #~ msgid "Atom Properties" #~ msgstr "Propriétés des atomes" #~ msgid "Bond Properties" #~ msgstr "Propriétés des liaisons" #~ msgid "Angle Properties" #~ msgstr "Propriétés des angles" #~ msgid "Torsion Properties" #~ msgstr "Propriétés des angles de torsion" #~ msgid "Conformer Properties" #~ msgstr "Propriétés des conformères" #~ msgid "Properties" #~ msgstr "Propriétés" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Fenêtre d'affichage de propriétés d'atomes, de liaisons, d'angles et " #~ "d'angle de torsion. Elle inclut également un éditeur de coordonnées " #~ "cartésiennes." #~ msgid "Valence" #~ msgstr "Valence" #~ msgid "Partial Charge" #~ msgstr "Charge partielle" #~ msgid "Atom" #~ msgstr "Atome" #~ msgid "Start Atom" #~ msgstr "Atome de départ" #~ msgid "Rotatable" #~ msgstr "Tournable" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Conformère %1\n" #~ "Distance %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Longueur %1" #~ msgid "Vertex" #~ msgstr "Sommet" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Conformère %1\n" #~ "Angle %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Angle %1" #~ msgid "Angle" #~ msgstr "Angle" #~ msgid "Atom %1" #~ msgstr "Atome %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Conformère %1\n" #~ "Dièdre %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Angle de torsion %1" #~ msgid "Torsion" #~ msgstr "Torsion" #~ msgid "Energy (kJ/mol)" #~ msgstr "Énergie (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Conformère" #~ msgid "Yes" #~ msgstr "Oui" #~ msgid "No" #~ msgstr "Non" #~ msgid "Python Terminal" #~ msgstr "Terminal Python" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Terminal de script python interactif" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Avertissement de générateur de fichier de données Abinit" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant les " #~ "modifications apportées dans le panneau de pré-visualisation du " #~ "générateur de fichier d'entrée de Abinit ?" #~ msgid "Abinit_Input_Deck" #~ msgstr "Fichier_de_données_Abinit" #~ msgid "Abinit Running." #~ msgstr "Calcul Abinit en cours" #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Abinit est en cours d'exécution. Veuillez attendre que le calcul " #~ "précédent soit terminé." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit n'est pas installé." #~ msgid "The abinit executable cannot be found." #~ msgstr "Impossible de trouver l'exécutable abinit." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "abinit n'a pas démarré. Il n'est peut-être pas correctement installé." #~ msgid "Running Abinit calculation..." #~ msgstr "Calcul Abinit en cours..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit ne s'est pas exécuté correctement. Il n'est peut-être pas " #~ "correctement installé." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Avertissement du générateur de fichier de données Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant les " #~ "modifications apportées dans le panneau de pré-visualisation du " #~ "générateur de fichier d'entrée de Dalton ?" #~ msgid "QM Matches" #~ msgstr "Résultats MQ" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Sélection PEF..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Sélection MQ..." #~ msgid "Delete" #~ msgstr "Supprimer" #~ msgid "You must make a selection!" #~ msgstr "Vous devez effectuer une sélection !" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Conversion SMILES non disponible" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Conversion de format SMILES non disponible !" #~ msgid "Group Name" #~ msgstr "Nom de groupe" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "pfe" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Créer les fichiers d'entrée pour GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Paramètres avancés modifiés" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Les paramètres avancés ont changé.\n" #~ "Réinitialiser ?" #~ msgid "Advanced Settings Reset" #~ msgstr "Réinitialiser les paramètes avancés" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Êtes-vous sûr de vouloir réinitialiser les paramètres avancés ?\n" #~ "Tous les changements seront perdus !" #~ msgid "Basic Settings Reset" #~ msgstr "Réinitialiser les paramètes élémentaires" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Êtes-vous sûr de vouloir réinitialiser les paramètres élémentaires ?\n" #~ "Tous les changements seront perdus !" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Avertissement du générateur de fichier de données de GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant les " #~ "modifications apportées dans le panneau de pré-visualisation du " #~ "générateur de fichier de données de GAMESS-UK ?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Fichier de données GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Avertissement du générateur de fichier de données Gaussian" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant les " #~ "modifications apportées dans le panneau de pré-visualisation du " #~ "générateur de fichier d'entrée de Gaussian ?" #~ msgid "Gaussian Input Deck" #~ msgstr "Fichier de données Gaussian" #~ msgid "Gaussian Running." #~ msgstr "Calcul Gaussian en cours." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Un calcul Gaussian est déjà en cours. Attendez que le calcul précédent " #~ "soit terminé." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian n'est pas installé." #~ msgid "The G03 executable, cannot be found." #~ msgstr "L'exécutable GO3 n'a pas été trouvé." #~ msgid "G03 failed to start." #~ msgstr "G03 n'a pas démarré." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 n'a pas démarré. Il n'est peut être pas correctement installé." #~ msgid "Running Gaussian calculation..." #~ msgstr "Calcul Gaussian en cours..." #~ msgid "G03 Crashed." #~ msgstr "G03 s'est planté." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian n'a pas fonctionné correctement. Il n'est peut être pas " #~ "correctement installé." #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWCHEM..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Input File Generators" #~ msgstr "Générateurs de fichier d'entrée" #~ msgid "Lammps Input Deck Generator Warning" #~ msgstr "Avertissement du générateur de fichier de données Lammps" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant tous les " #~ "changements apportés dans le panneau de pré-visualisation de Lammps ?" #~ msgid "Lammps Input" #~ msgstr "Données Lammps" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Avertissement du générateur de fichier de données Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant les " #~ "modifications apportées dans le panneau de pré-visualisation du " #~ "générateur de fichier d'entrée de Molpro" #~ msgid "Molpro Input Deck" #~ msgstr "Fichier de données Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Avertissement du générateur de fichier de données MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant tous les " #~ "changements apportés dans le panneau de pré-visualisation de MOPAC ?" #~ msgid "MOPAC Input Deck" #~ msgstr "Fichier de données MOPAC" #~ msgid "MOPAC Running." #~ msgstr "Calcul MOPAC en cours." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "Il y a déjà un calcul MOPAC en cours. Attendez que le calcul précédent " #~ "soit terminé." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC n'est pas installé." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Impossible de trouver l'exécutable de MOPAC." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC ne démarre pas." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC n'a pas démarré. Il est peut-être mal installé." #~ msgid "Running MOPAC calculation..." #~ msgstr "Calcul MOPAC en cours..." #~ msgid "MOPAC Crashed." #~ msgstr "Plantage de MOPAC." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC n'a pas fonctionné correctement. Il n'est peut-être pas " #~ "correctement installé." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Avertissement du générateur de fichier de données NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant les " #~ "modifications apportées dans le panneau de pré-visualisation du " #~ "générateur de fichier d'entrée de NWChem ?" #~ msgid "NWChem Input Deck" #~ msgstr "Fichier de données NWChem" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Avertissement du générateur de fichier de données Psi4" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant tous les " #~ "changements apportés dans le panneau de pré-visualisation de Psi4 ?" #~ msgid "Psi4 Input Deck" #~ msgstr "Fichier de données Psi4" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Avertissement du générateur de fichier de données Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant les " #~ "modifications apportées dans le panneau de pré-visualisation du " #~ "générateur de fichier d'entrée de Q-Chem ?" #~ msgid "QChem Input Deck" #~ msgstr "Fichier de données Q-Chem" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "Avertissement du générateur de fichier de données de TeraChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Souhaitez-vous mettre à jour le texte pré-visualisé, en perdant les " #~ "modifications apportées dans le panneau de pré-visualisation du " #~ "générateur de fichier de données de TeraChem ?" #~ msgid "TeraChem Input Deck" #~ msgstr "Fichier de données TeraChem" #~ msgid "Select SMARTS..." #~ msgstr "Sélectionner SMARTS..." #~ msgid "Select by Element..." #~ msgstr "Sélectionner par élément..." #~ msgid "Select by Residue..." #~ msgstr "Sélectionner par résidu..." #~ msgid "Add Named Selection..." #~ msgstr "Ajouter une sélection nommée..." #~ msgid "SMARTS Selection" #~ msgstr "Sélection SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Motif SMARTS à sélectionner" #~ msgid "Select by residue" #~ msgstr "Sélectionner par résidu" #~ msgid "Residue name" #~ msgstr "Nom du résidu" #~ msgid "There is no current selection." #~ msgstr "Il n'y actuellement aucune sélection." #~ msgid "Add Named Selection" #~ msgstr "Ajouter une sélection nommée" #~ msgid "Name cannot be empty." #~ msgstr "Le nom ne peut pas être laisser vide." #~ msgid "There is already a selection with this name." #~ msgstr "Il y a une sélection qui porte le même nom." #~ msgid "Selections" #~ msgstr "Sélections" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Sélection d'atome, liaisons, résidus..." #~ msgid "GLSL Shaders..." #~ msgstr "Textures GLSL..." #~ msgid "Open a vertex shader source file" #~ msgstr "Ouvrir un fichier source de texture vertex" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Fichiers d'ombrage de sommet (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Ouvrir un fichier souce d'ombrage de fragment" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fichiers d'ombrage de fragment (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Ouvrir un fichier de paramètres d'ombrage" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Fichiers de paramètres d'ombrage (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "Ombrages GLSL" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Charger et utiliser les ombrages GLSL OpenGL2.0" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensité (unités arb.)" #~ msgid "Energy (eV)" #~ msgstr "Énergie (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Densité d'états (états/maille)" #~ msgid "Density of States (states/atom)" #~ msgstr "Densité d'états (états/atome)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Densité d'états (états/électron de valence)" #~ msgid "Transmittance (%)" #~ msgstr "Transmittance (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbance (%)" #~ msgid "No intensities" #~ msgstr "Aucune intensité" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Les données vibrationelles de la molécule que vous avez lue ne " #~ "contiennent pas de données d'intensité. Les intensités ont été mises à " #~ "une valeur arbitraite pour leur visualisation." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Fréquence (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Déplacement chimique (ppm)" #~ msgid "Activity" #~ msgstr "Activité" #~ msgid "Intensity" #~ msgstr "Intensité" #~ msgid "X Axis" #~ msgstr "Axe X" #~ msgid "Y Axis" #~ msgstr "Axe Y" #~ msgid "&Appearance" #~ msgstr "&Apparence" #~ msgid "E&xport Image" #~ msgstr "E&xporter l'image" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrarouge" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&Paramètres du spectre infrarouge" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "RMN" #~ msgid "&NMR Spectra Settings" #~ msgstr "&Paramètres des spectres RMN" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DEE" #~ msgid "&Density Of States Settings" #~ msgstr "&Paramètres des densités d'états électroniques" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "&Paramètres UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "DC" #~ msgid "&CD Settings" #~ msgstr "&Paramètres DC" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "&Paramètres Raman" #~ msgid "No data" #~ msgstr "Aucune donnée" #~ msgid "Dark" #~ msgstr "Sombre" #~ msgid "Light" #~ msgstr "Clair" #~ msgid "Publication" #~ msgstr "Publication" #~ msgid "Handdrawn" #~ msgstr "Dessiné à main levée" #~ msgid "New Scheme" #~ msgstr "Nouveau projet" #~ msgid "Confirm Scheme Removal" #~ msgstr "Confirmer le retrait du projet" #~ msgid "Really remove current scheme?" #~ msgstr "Réellement détruire le projet actuel ?" #~ msgid "Change Scheme Name" #~ msgstr "Modifier le nom du projet" #~ msgid "Enter new name for current scheme:" #~ msgstr "Saisissez le nouveau nom du projet :" #~ msgid "Select Background Color" #~ msgstr "Choisir la couleur du fond" #~ msgid "Select Foreground Color" #~ msgstr "Choisir la couleur du premier plan" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Choisir la couleur des spectres calculés" #~ msgid "Select Imported Spectra Color" #~ msgstr "Choisir la couleur des spectres importés" #~ msgid "Export Calculated Spectrum" #~ msgstr "Exporter le spectre calculé" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Valeurs séparées par des tabulations (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Valeurs séparées par des tabulations" #~ msgid "Comma Separated Values" #~ msgstr "Valeurs séparées par des virgules" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importer des spectres" #~ msgid "Spectra Import" #~ msgstr "Importation de spectres" #~ msgid "Unknown extension: %1" #~ msgstr "Extension inconnue : %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "Données IR PWscf (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Données IR Turbomole (contrôle)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Données UV de Turbomole (spectre)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Données DC de Turbomole (spectredc)" #~ msgid "Data Format" #~ msgstr "Format des données" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format :" #~ msgid "Load Spectral Data" #~ msgstr "Lire les données spectrales" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Le fichier DC de Trubomole n'est pas correctement formaté : %1" #~ msgid "Portable Network Graphics" #~ msgstr "png" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "tiff" #~ msgid "Windows Bitmap" #~ msgstr "bmp" #~ msgid "Portable Pixmap" #~ msgstr "ppm" #~ msgid "X11 Bitmap" #~ msgstr "xbm" #~ msgid "X11 Pixmap" #~ msgstr "xpm" #~ msgid "Save Spectra Image" #~ msgstr "Enregistrer le spectre" #~ msgid "Image successfully written to %1" #~ msgstr "L'image a été enregistrée avec succès dans %1" #~ msgid "&Advanced <<" #~ msgstr "&Avancés >>" #~ msgid "&Advanced >>" #~ msgstr "&Avancés >>" #~ msgid "&Spectra..." #~ msgstr "&Spectres..." #~ msgid "Spectra" #~ msgstr "Spectres" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualiser les données spectrales de calculs de chimie quantique" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Analyse vibrationnelle" #~ msgid "No vibrational displacements exist." #~ msgstr "Aucun déplacement de fréquence n'existe." #~ msgid "Vibration" #~ msgstr "Fréquence" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Visualiser les fréquences pour les calculs de chimie quantique" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Trie de %1 vibrations par fréquences..." #~ msgid "Pause" #~ msgstr "Suspendre" #~ msgid "Super Cell Builder..." #~ msgstr "Générateur de maille étendue..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Ce document contient une molécule isolée. Vous devez créer une maille " #~ "conventionnelle." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Construire et afficher des mailles cristallographiques étendues" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbitales moléculaires..." #~ msgid "Orbitals" #~ msgstr "Orbitales" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "BV" #~ msgid "Orbital" #~ msgstr "Orbitale" #~ msgid "Status" #~ msgstr "État" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Vide" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potentiel électrostatique" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Densité électronique" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbitale moléculaire" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Erreur - type non défini" #~ msgid "Create Surfaces..." #~ msgstr "Générer les surfaces..." #~ msgid "Calculating VdW Cube" #~ msgstr "Calcul d'un cube WdW en cours" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calcul de l'OM %L1 en cours" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Densité électronique" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "" #~ "Les surfaces de potentiel électrostatique ne sont pas encore prises en " #~ "charge." #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Calculer les orbitales moléculaires et d'autres surfces" #~ msgid "&Nanotube Builder..." #~ msgstr "&Générateur de nanotube..." #~ msgid "Nanotube Builder" #~ msgstr "Générateur de nanotube" #~ msgid "Invalid Nanotube Specification" #~ msgstr "Spécification de nanotube invalide" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "Le nanotube demandé ne peut pas être construit pour la raison suivante ;\n" #~ "Soit n, soit m doit être plus grand que 1." #~ msgid "Insert Nanotube" #~ msgstr "Insérer un nanotube" #~ msgid "SWCNT Builder" #~ msgstr "Générateur SWCNT" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Construire des nanotubes à simple paroi." #~ msgid "Building..." #~ msgstr "Génération..." #~ msgid "Display point group symmetry." #~ msgstr "Afficher la symétrie du groupe ponctuel." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "Le widget GL n'est pas correctement initialisé pour permettre la " #~ "réalisation d'une vidéo" #~ msgid "GL widget has no molecule" #~ msgstr "Le widget GL ne contient pas de molécule" #~ msgid "Building video " #~ msgstr "Génération de la vidéo " #~ msgid "Could not run povray." #~ msgstr "Impossible de lancer povray" #~ msgid "Could not run mencoder." #~ msgstr "Impossible de lancer memcoder" #~ msgid "Set Aspect Ratio" #~ msgstr "Choisir le rapport largeur/hauteur" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "La vue courante d'Avogadro mesure %1x%2 pixels, et a donc un rapport " #~ "largeur/hauteur égal à %3.\n" #~ "Vous pouvez conserver cette valeur, par exemple si vous voulez utiliser " #~ "POV-Ray\n" #~ "pour produire une image de %4x1000 pixels, ou bien vous pouvez entrer " #~ "toute autre valeur positive,\n" #~ "par exemple 1 si vous voulez utiliser POV-Ray pour produire une image " #~ "carrée, par exemple de 1000x1000 pixels." #~ msgid "Save VRML rendered files" #~ msgstr "Enregistrer les fichiers de rendu VRML" #~ msgid "VRML..." #~ msgstr "VRML..." #~ msgid "Connect" #~ msgstr "Connecter" #~ msgid "Disconnect" #~ msgstr "Déconnecter" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Suivi Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Suivre les mouvements à l'aide de la télécommande Wii" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Contexte OpenGL invalide.\n" #~ "Soit quelque chose ne va pas du tout dans votre configuration OpenGL " #~ "(pouvez-vous exécuter n'importe quelle application OpenGL ?), soit vous " #~ "avez trouvé un bogue." #~ msgid "Debug Information" #~ msgstr "Informations de débogage" #~ msgid "FPS: %L1" #~ msgstr "FPS : %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Taille de la vue : %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "Ligne 1 de ModelView : %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "Ligne 2 de ModelView : %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "Ligne 3 de ModelView : %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "Ligne 4 de ModelView : %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Atomes : %L1" #~ msgid "Bonds: %L1" #~ msgstr "Liaisons : %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMOL : indice %1 hors d'atteinte." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "La lecture de fichier du type « %1 » n'est pas prise en charge." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "La lecture de fichier du type « %1  n'est pas prise en charge." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "La lecture de la molécule d'indice %1 du fichier « %2 » a échoué." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "Remplacer la molécule : l'indice %1 est hors d'atteinte" #~ msgid "File type '%1' is not supported for writing." #~ msgstr "L'écriture de fichier de type « %1 » n'est pas prise en charge." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "L'écriture de fichier de type « %1 » n'est pas prise en charge." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Impossible d'ouvrir le fichier « %1 » en écriture." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Impossible d'ouvrir le fichier « %1 » en lecture." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "" #~ "Le remplacement de la molécule d'indice %1 dans le fichier « %2 » a " #~ "échoué." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Le fichier %1 ne peut pas être ouvert en lecture." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Le fichier %1 n'a pas pu être ouvert en écriture." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "L'enregistrement du fichier moléculaire a échoué - impossible de renommer " #~ "le fichier original." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "L'enregistrement du fichier moléculaire a échoué - impossible de renommer " #~ "le fichier original." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "L'enregistrement du fichier moléculaire a échoué - impossible de détruire " #~ "l'ancien fichier." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "L'enregistrement d'une molécule dans le fichier « %1 » a échoué. Erreur " #~ "d'une fonction d'OpenBabel." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Le fichier %1 ne peut pas être ouvert en écriture." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "L'enregistrement des conformères dans le fichier « %1 » a échoué." #~ msgid "Molecule %1" #~ msgstr "Molécule %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Moteur Python inconnu" #~ msgid "N/A" #~ msgstr "N/D" #~ msgid "PythonEngine: checking " #~ msgstr "Moteur Python : vérification " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - aucune classe « Moteur » n'est définie pour le script" #~ msgid " - no module" #~ msgstr " - pas de module" #~ msgid "Unknown Python Extension" #~ msgstr "Extension Python inconnue" #~ msgid "PythonExtension: checking " #~ msgstr "Extension Python : vérification " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - aucune classe « Extension » n'est définie pour le script" #~ msgid "Unknown Python Tool" #~ msgstr "Outil Python inconnu" #~ msgid "PythonTool: checking " #~ msgstr "Outil Python : vérification " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " -aucune classe « Outil » n'est définie pour le script" #~ msgid "Conformer %1" #~ msgstr "Conformère %1" #~ msgid "Tools" #~ msgstr "Outils" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "Aligner les molécules\n" #~ "\n" #~ "Bouton gauche :\tsélectionner jusqu'à deux atomes,\n" #~ "\tLe premier atome est centré à l'origine,\n" #~ "\tLe deuxième est aligné selon l'axe sélectionné.\n" #~ "Bouton droit :\tréinitialiser l'alignement.\n" #~ "Double clic :\tcentrer l'atome à l'origine." #~ msgid "Axis:" #~ msgstr "Axe :" #~ msgid "Align:" #~ msgstr "Aligner :" #~ msgid "Everything" #~ msgstr "Tout" #~ msgid "Align" #~ msgstr "Aligner" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Aligner les molécules selon un axe cartésien" #~ msgid "Align Settings" #~ msgstr "Paramètres d'alignement" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "Outil d'optimisation automatique\n" #~ "\n" #~ "Fonction de navigation lors d'un clic dans un espace vide.\n" #~ "Bouton gauche :\trotation\n" #~ "Bouton central :\tzoom\n" #~ "Bouton droit :\ttranslation\n" #~ "Double clic :\tréinitialisation\n" #~ "\n" #~ "Lors d'un glissement :\n" #~ "Bouton gauche :\tCliquer sur les atomes et glisser-déposer pour les " #~ "déplacer" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "Auto-optimisation : impossible de configurer le champ de force...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt : E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Nombre de contraintes : %1" #~ msgid "Steps per Update:" #~ msgstr "Nombre d'étapes avant d'actualiser :" #~ msgid "Algorithm:" #~ msgstr "Algorithme :" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dynamique moléculaire (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dynamique moléculaire (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dynamique moléculaire (900K)" #~ msgid "Start" #~ msgstr "Commencer" #~ msgid "Fixed atoms are movable" #~ msgstr "Les atomes fixés sont déplaçables" #~ msgid "Ignored atoms are movable" #~ msgstr "Les atomes ignorés sont déplaçables" #~ msgid "AutoOpt Molecule" #~ msgstr "Auto-optimiser molécule" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Optimisation automatique de la géométrie moléculaire" #~ msgid "AutoOptimization Settings" #~ msgstr "Paramètres d'optimisation automatique" #~ msgid "Auto Rotation Tool" #~ msgstr "Outil de rotation automatique" #~ msgid "x rotation:" #~ msgstr "rotation x :" #~ msgid "x rotation" #~ msgstr "rotation x" #~ msgid "y rotation:" #~ msgstr "rotation y :" #~ msgid "y rotation" #~ msgstr "rotation y" #~ msgid "z rotation:" #~ msgstr "rotation z :" #~ msgid "z rotation" #~ msgstr "rotation z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Rotation automatique de molécules" #~ msgid "AutoRotate Settings" #~ msgstr "Paramètres de rotation automatique" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "Outil de manipulation des liaisons\n" #~ "\n" #~ "Bouton gauche :\tcliquer et glisser pour tourner la vue.\n" #~ "Bouton central :\tcliquer et glisser pour effectuer un zoom avant ou " #~ "arrière.\n" #~ "Bouton droit :\tcliquer et glisser pour déplacer la vue.\n" #~ "Double clic :\tréinitialisation de la vue.\n" #~ "\n" #~ "Clic gauche et glisser sur une liaison pour définir le plan de " #~ "manipulation.\n" #~ "Clic gauche et glisser un des atomes de la liaison pour modifier son " #~ "angle.\n" #~ "Clic droit et glisser un des atomes de la liaison pour modifier sa " #~ "distance." #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Longueur de liaison : %L1" #~ msgid " Show Angles" #~ msgstr " Afficher les angles" #~ msgid "Snap-to Threshold: " #~ msgstr "Seuil d'ajustement : " #~ msgid "Bond Centric Manipulate" #~ msgstr "Manipulation des liaisons" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "" #~ "Manipulation des distances de liaison, des angles et des angles de torsion" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Paramètres de manipulation centrée sur les liaisons" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Cliquer pour mesurer (F12)\n" #~ "\n" #~ "Bouton gauche :\tsélectionner jusqu'à trois atomes.\n" #~ "\tLes distances sont mesurées entre le 1er et le 2ème et le 2ème et le " #~ "3ème.\n" #~ "\tL'angle est mesuré entre le 1et le 3ème autour du 2ème.\n" #~ "Bouton droit :\teffacement des mesures.\n" #~ "Double clic :\tréinitialisation de la vue." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distance (2->3) : %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Angle : %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distance (3->4) : %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Angle dièdre : %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distance(s) :" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Mesurer des distances de liaison, des angles et des angles dièdres" #~ msgid "Delete Atom" #~ msgstr "Supprimer un atome" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Outil de dessin (F8)\n" #~ "\n" #~ "Bouton gauche ;\tcliquer et glisser-déposer pour ajouter des atomes et " #~ "des liaisons.\n" #~ "Bouton droit :\teffacer un atome." #~ msgid "Draw Bond" #~ msgstr "Dessiner une liaison" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Dessiner et éditer des atomes et des liaisons" #~ msgid "Draw Settings" #~ msgstr "Paramètres de dessin" #~ msgid "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Outil de manipulation (F10)\n" #~ "\n" #~ "Bouton gauche :\tcliquer et glisser-déposer pour déplacer des atomes.\n" #~ "Bouton central :\tcliquer et glisser-déposer pour déplacer des atomes " #~ "vers ou plus loin de vous.\n" #~ "Bouton droit :\tcliquer et glisser-déposer pour effectuer une rotation " #~ "des atomes sélectionnés. \n" #~ "Double-clic :\tréinitialisation de la vue." #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Déplacer, tourner et ajuster des atomes et des fragments" #~ msgid "Manipulate Settings" #~ msgstr "Paramètres de manipulation" #~ msgid "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Outil de navigation (F9)\n" #~ "\n" #~ "Bouton gauche :\tcliquer et glisser-déposer pour tourner la vue.\n" #~ "Bouton central :\tcliquer et glisser-déposer pour effectuer un zoom avant " #~ "ou arrière.\n" #~ "Bouton droit :\tcliquer et glisser déposer pour déplacer la vue.\n" #~ "Double-clic :\tréinitialisation de la vue." #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Déplacer, tourner et zoomer la vue actuelle" #~ msgid "Navigate Settings" #~ msgstr "Paramètres de navigation" #~ msgid "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgstr "" #~ "Outil de sélection (F11)\n" #~ "\n" #~ "Bouton gauche :\tcliquer pour sélectionner des atomes, des résidus ou des " #~ "fragments.\n" #~ "\tGlisser-déposer pour sélectionner un ensemble d'atomes.\n" #~ "Bouton droit :\tcliquer dans un espace vide pour annuler la sélection.\n" #~ "Utiliser la touche Ctrl pour inverser la sélection et la touche majuscule " #~ "pour y en ajouter.\n" #~ "Double-clic :\tsélectionner tout un fragment." #~ msgid "Selection Mode:" #~ msgstr "Mode de sélection :" #~ msgid "Atom/Bond" #~ msgstr "Atome/Liaison" #~ msgid "Residue" #~ msgstr "Résidu" #~ msgid "Add Center of Atoms" #~ msgstr "Ajouter le centroïde" #~ msgid "Add Center of Mass" #~ msgstr "Ajouter le centre de masse" #~ msgid "Change color of the atom" #~ msgstr "Modifier la couleur de l'atome" #~ msgid "Change label of the atom" #~ msgstr "Modifier l'étiquette de l'atome" #~ msgid "New Label:" #~ msgstr "Nouvelle étiquette :" #~ msgid "Change label of the bond" #~ msgstr "Modifier l'étiquette de la liaison" #~ msgid "Change radius of the atom" #~ msgstr "Modifier le rayon de l'atome" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Nouveau rayon, %1 :" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Sélectionner des atomes, des résidus et des molécules" #~ msgid "Symbol" #~ msgstr "Symbole" #~ msgid "Bond Length" #~ msgstr "Longueur de la liaison" #~ msgid "Bond Angle" #~ msgstr "Angle de la liaison" #~ msgid "Dihedral Angle" #~ msgstr "Angle dièdre" #~ msgid "Z Matrix Editor..." #~ msgstr "Éditeur de matrice Z..." #~ msgid "Z-Matrix" #~ msgstr "Matrice Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Créer/éditer une matrice Z" #~ msgid "Z-Matrix Settings" #~ msgstr "Paramètres de matrice Z" #~ msgid "Residue Color Settings" #~ msgstr "Choix de la couleur des résidus" #~ msgid "Color residues by:" #~ msgstr "Colorer les résidus selon :" #~ msgid "Amino Colors" #~ msgstr "Couleurs des acides aminés" #~ msgid "Shapely Colors" #~ msgstr "Couleurs « shapely »" #~ msgid "Hydrophobicity" #~ msgstr "Hydrophobie" #~ msgid "Axes:" #~ msgstr "Axes :" #~ msgid "Cartesian Axes" #~ msgstr "Axes cartésiens" #~ msgid "Orthogonal Axes" #~ msgstr "Axes orthogonaux" #~ msgid "Axis 1:" #~ msgstr "Axe 1 :" #~ msgid "Axis 2:" #~ msgstr "Axe 2 :" #~ msgid "Axis 3:" #~ msgstr "Axe 3 :" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origine :" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norme" #~ msgid "Preserve vector norms" #~ msgstr "Préserver la norme des vecteurs" #~ msgid "Atom Radius:" #~ msgstr "Rayons de l'atome :" #~ msgid "Bond Radius:" #~ msgstr "Rayon de la liaison :" #~ msgid "Shape" #~ msgstr "Forme" #~ msgid "Helix" #~ msgstr "Hélice" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Feuillet" #~ msgid "Loop" #~ msgstr "Boucle" #~ msgid "Colors" #~ msgstr "Couleurs" #~ msgid "Dipole:" #~ msgstr "Dipôle :" #~ msgid "Dipole Moment" #~ msgstr "Moment dipolaire" #~ msgid "Custom Vector" #~ msgstr "Vecteur personnalisé" #~ msgid "Custom:" #~ msgstr "Personnaliser :" #~ msgid "Width:" #~ msgstr "Largeur :" #~ msgid "Cut-off radius:" #~ msgstr "Rayon de coupe :" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Angle de coupe :" #~ msgid "Rendering Engine:" #~ msgstr "Moteur de rendu :" #~ msgid "TextRenderer" #~ msgstr "Rendu textuel" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Étiquettes des atomes" #~ msgid "Text:" #~ msgstr "Texte :" #~ msgid "Color:" #~ msgstr "Couleur :" #~ msgid "None" #~ msgstr "Rien" #~ msgid "Symbol & Number in Group" #~ msgstr "Symbole et numéro dans le groupe" #~ msgid "Symbol & Atom number" #~ msgstr "Symbole & numéro d'atome" #~ msgid "Formal charge" #~ msgstr "Charge formelle" #~ msgid "Partial charge" #~ msgstr "Charge partielle" #~ msgid "Residue number" #~ msgstr "Numéro du résidu" #~ msgid "Unique ID" #~ msgstr "ID unique" #~ msgid "Custom data" #~ msgstr "Données personnalisées" #~ msgid "Change Font" #~ msgstr "Modifier la police de caractères" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Décalage des étiquettes :" #~ msgid "Bond Labels" #~ msgstr "Etiquettes des liaisons" #~ msgid "Bond length" #~ msgstr "Longueur de la liaison" #~ msgid "Bond number" #~ msgstr "Numéro de liaison" #~ msgid "Bond order" #~ msgstr "Multiplicité de la liaison" #~ msgid "Rendering:" #~ msgstr "Rendu :" #~ msgid "Backbone" #~ msgstr "Squelette" #~ msgid "Lines" #~ msgstr "Lignes" #~ msgid "Radius:" #~ msgstr "Rayon :" #~ msgid "Include Nitrogens" #~ msgstr "Inclure les azotes" #~ msgid "VdW Opacity:" #~ msgstr "Opacité VdW :" #~ msgid "Orbital:" #~ msgstr "Orbitale :" #~ msgid "Render:" #~ msgstr "Rendu :" #~ msgid "Fill" #~ msgstr "Remplissage" #~ msgid "Points" #~ msgstr "Points" #~ msgid "Draw Box:" #~ msgstr "Boîte de dessin :" #~ msgid "Style:" #~ msgstr "Style :" #~ msgid "Selected Colors" #~ msgstr "Couleurs sélectionnées" #~ msgid "Mapped Colors" #~ msgstr "Mappage de couleurs" #~ msgid "Colors:" #~ msgstr "Couleurs :" #~ msgid "Positive" #~ msgstr "Positif" #~ msgid "Negative" #~ msgstr "Négatif" #~ msgid "Show Atoms" #~ msgstr "Afficher les atomes" #~ msgid "Animate Trajectory" #~ msgstr "Trajectoire d'animation" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Boucle" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Enregistrer en .avi..." #~ msgid "Angstroms" #~ msgstr "Angstroms" #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "Fractional" #~ msgstr "Fractionnaire" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, uniquement coordonnées" #~ msgid "GAMESS Input #2" #~ msgstr "Entrée GAMESS #2" #~ msgid "Priroda Input" #~ msgstr "Entrée Priroda" #~ msgid "Apply Changes" #~ msgstr "Appliquer les modifications" #~ msgid "Cut All" #~ msgstr "Tout couper" #~ msgid "Paste to the End" #~ msgstr "Coller à la fin" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Coller ou éditer ici " #~ "des coordonnées atomiques. Vous pouvez coller presque n'importe quel " #~ "portion de texte contenant des coordonnées.

" #~ msgid "(None)" #~ msgstr "(Aucun)" #~ msgid "Sort by " #~ msgstr "Trier selon " #~ msgid "Conformer Search" #~ msgstr "Recherche de conformères" #~ msgid "Method" #~ msgstr "Méthode" #~ msgid "Number of atoms:" #~ msgstr "Nombre d'atomes :" #~ msgid "Number of rotatable bonds:" #~ msgstr "Nombre de liaisons pouvant subir une rotation :" #~ msgid "Number of conformers" #~ msgstr "Nombre de conformères" #~ msgid "Systematic rotor search" #~ msgstr "Recherche systématique de rotor" #~ msgid "Random rotor search" #~ msgstr "Recherche aléatoire de rotor" #~ msgid "Weighted rotor search" #~ msgstr "Recherche pondérée de rotor" #~ msgid "Genetic algorithm search" #~ msgstr "Algorithme de recherche génétique" #~ msgid "Genetic Algorithm Options" #~ msgstr "Options de l'algorithme génétique" #~ msgid "Children" #~ msgstr "Enfants" #~ msgid "Mutability" #~ msgstr "Mutabilité" #~ msgid "Scoring method" #~ msgstr "Méthode d'évaluation" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "Énergie" #~ msgid "Constraints" #~ msgstr "Contraintes" #~ msgid "Add Constraints" #~ msgstr "Ajouter des contraintes" #~ msgid "Ignore Atom" #~ msgstr "Ignorer l'atome" #~ msgid "Fix Atom" #~ msgstr "Fixer l'atome" #~ msgid "Fix Atom X" #~ msgstr "Fixer l'atome X" #~ msgid "Fix Atom Y" #~ msgstr "Fixer l'atome Y" #~ msgid "Fix Atom Z" #~ msgstr "Fixer l'atome Z" #~ msgid "Torsion angle" #~ msgstr "Angle de torsion" #~ msgid "Constraint Value" #~ msgstr "Valeur de la contrainte" #~ msgid "Atom Indices" #~ msgstr "Indices des atomes" #~ msgid "Add" #~ msgstr "Ajouter" #~ msgid "Save" #~ msgstr "Enregistrer" #~ msgid "Load" #~ msgstr "Ouvrir" #~ msgid "Atomic &identites:" #~ msgstr "&Identités atomiques :" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgid "&Reset" #~ msgstr "&Réinitialiser" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgid "Cell Parameters" #~ msgstr "Paramètres de maille" #~ msgid " °" #~ msgstr " °" #~ msgid "Surface Slab Builder" #~ msgstr "Générateur de couche superficielle" #~ msgid "Plane:" #~ msgstr "Plan :" #~ msgid "&Miller Indices:" #~ msgstr "&Indices de Miller" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Attention : utiliser des indices de Miller diiférents de zéro" #~ msgid "Dimensions:" #~ msgstr "Dimensions :" #~ msgid "Width (x)" #~ msgstr "Largeur (x)" #~ msgid "Width (y)" #~ msgstr "Largeur (y)" #~ msgid "Height (z)" #~ msgstr "Hauteur (z)" #~ msgid "length" #~ msgstr "longueur" #~ msgid "cell repeats" #~ msgstr "Répétitions de la maille" #~ msgid "&Translate " #~ msgstr "&Déplacer " #~ msgid "by arbitrary vector" #~ msgstr "selon un vecteur arbitraire" #~ msgid "selected atom to origin" #~ msgstr "de l'atome sélectionné à l'origine" #~ msgid "selected atom to unit cell center" #~ msgstr "L'atome sélectionné au centre de la maille conventionnelle" #~ msgid "Translation vector:" #~ msgstr "Vecteur de translation :" #~ msgid "&X:" #~ msgstr "&X :" #~ msgid "&Y:" #~ msgstr "&Y :" #~ msgid "&Z:" #~ msgstr "&Z :" #~ msgid "&Vector units:" #~ msgstr "&Unités du vecteur :" #~ msgid "Cartesian" #~ msgstr "Cartésien" #~ msgid "&Translate" #~ msgstr "&Déplacer" #~ msgid "&Keep atoms in unit cell" #~ msgstr "Garder les atomes dans la maille" #~ msgid "Crystal View Options" #~ msgstr "Options de présentation du cristal" #~ msgid "Unit Cell Repeats:" #~ msgstr "Répétitions de la maille conventionnelle :" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "Dessiner la(les) maille(s) conventionnelle(s) ?" #~ msgid "One" #~ msgstr "Une" #~ msgid "All" #~ msgstr "Tout" #~ msgid "Color..." #~ msgstr "Couleur..." #~ msgid "View Along:" #~ msgstr "Voir le long de :" #~ msgid "Default View" #~ msgstr "Vue par défaut" #~ msgid "h: " #~ msgstr "h : " #~ msgid "k: " #~ msgstr "k : " #~ msgid "i: " #~ msgstr "i : " #~ msgid "l: " #~ msgstr "l : " #~ msgid "Miller Indices" #~ msgstr "Indices de Miller" #~ msgid "File Import..." #~ msgstr "Importation de fichier..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Tenter d'interpréter les ordres de liaison ?" #~ msgid "Setup Force Field" #~ msgstr "Configurer champ de force" #~ msgid "Force Field" #~ msgstr "Champ de force" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Nombre d'étapes" #~ msgid "Algorithm" #~ msgstr "Algorithme" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Insérer des acides nucléiques" #~ msgid "DNA/RNA Builder" #~ msgstr "Générateur d'ADN/ARN" #~ msgid "DNA" #~ msgstr "ADN" #~ msgid "RNA" #~ msgstr "ARN" #~ msgid "Nucleic Acids:" #~ msgstr "Acides nucléiques :" #~ msgid "Adenine" #~ msgstr "Adénine" #~ msgid "Cytosine" #~ msgstr "Cytosine" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Guanine" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Séquence :" #~ msgid "the number of base pairs per helix turn" #~ msgstr "nombre de paires de base par tour d'hélice" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Autre" #~ msgid "Bases Per Turn:" #~ msgstr "Bases par tour :" #~ msgid "Strands:" #~ msgstr "Brins :" #~ msgid "Insert" #~ msgstr "Insérer" #~ msgid "Insert Fragment..." #~ msgstr "Insérer un fragment..." #~ msgid "Filter:" #~ msgstr "Filtre :" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "" #~ "Saisir un nom ou une partie d'un nom pour n'afficher que les fichiers " #~ "correspondant." #~ msgid "Peptide Builder" #~ msgstr "Générateur de peptide" #~ msgid "Alanine" #~ msgstr "Alanine" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginine" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagine" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Acide aspartique" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cystéine" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Acide glutamique" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamine" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glycine" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Hisidine" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucine" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valine" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tyrosine" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Tryptophane" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Thréonine" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Sérine" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Proline" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Phénylalanine" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Méthionine" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lysine" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucine" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Acides aminés :" #~ msgid "Sequence (N to C):" #~ msgstr "Séquence (N à C) :" #~ msgid "Stereochemistry:" #~ msgstr "Stéréochimie :" #~ msgid "L" #~ msgstr "G" #~ msgid "D" #~ msgstr "B" #~ msgid "N Terminus:" #~ msgstr "Terminaison N :" #~ msgid "C Terminus:" #~ msgstr "Terminaisons C :" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Structure:" #~ msgstr "Structure :" #~ msgid "Straight Chain" #~ msgstr "Chaîne linéaire" #~ msgid "Alpha Helix" #~ msgstr "Hélice alpha" #~ msgid "Beta Sheet" #~ msgstr "Feuillet bêta" #~ msgid "3-10 Helix" #~ msgstr "Hélice 3-10" #~ msgid "Pi Helix" #~ msgstr "Hélice pi" #~ msgid "Phi:" #~ msgstr "Phi :" #~ msgid "Psi:" #~ msgstr "Psi :" #~ msgid "Chain Number:" #~ msgstr "Chaîne numéro :" #~ msgid "The chain number for the new peptide" #~ msgstr "Le numéro de chaîne du nouveau peptide" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Propriétés de la molécule" #~ msgid "Number of Residues:" #~ msgstr "Nombre de résidus :" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energie (kJ/mol) :" #~ msgid "Dipole Moment (D):" #~ msgstr "Moment dipolaire (D) :" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Nom IUPAC de la molécule :" #~ msgid "Frames" #~ msgstr "Images" #~ msgid "Plot Spectra" #~ msgstr "Tracer le spectre" #~ msgid "Fragments" #~ msgstr "Fragments" #~ msgid "select Fragment" #~ msgstr "Sélectionner un fragment" #~ msgid "Basic" #~ msgstr "Élémentaire" #~ msgid "Comment" #~ msgstr "Commentaire" #~ msgid "Frequency" #~ msgstr "Fréquence" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Basis set" #~ msgstr "Base" #~ msgid "Format" #~ msgstr "Format" #~ msgid "z-Matrix" #~ msgstr "Matrice Z" #~ msgid "z-Matrix compact" #~ msgstr "Matrice Z compacte" #~ msgid "Advanced" #~ msgstr "Avancé" #~ msgid "Basis Set" #~ msgstr "Base" #~ msgid "Control" #~ msgstr "Contrôle" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "RijCosX" #~ msgstr "Copy text \t RijCosX" #~ msgid "Data" #~ msgstr "Données" #~ msgid "ECP" #~ msgstr "ECP" #~ msgid "Aux. Basis Set" #~ msgstr "Base auxiliaire" #~ msgid "Aux. ECP" #~ msgstr "ECP auxiliaire" #~ msgid "Relativistic" #~ msgstr "Relativiste" #~ msgid "ZORA" #~ msgstr "ZORA" #~ msgid "IORA" #~ msgstr "IORA" #~ msgid "DKH" #~ msgstr "DKH" #~ msgid "Order" #~ msgstr "Ordre" #~ msgid "Corr. Aux. Basis Set" #~ msgstr "Base auxilliaire de corrélation" #~ msgid "Corr. ECP" #~ msgstr "Corrélation ECP" #~ msgid "Run type" #~ msgstr "Type d'exécution" #~ msgid "Add. Print Options" #~ msgstr "Options d'impression supplémentaire" #~ msgid "MOs" #~ msgstr "OM's" #~ msgid "Basis Sets" #~ msgstr "Bases" #~ msgid "Printlevel" #~ msgstr "Niveau d'impression" #~ msgid "Nothing" #~ msgstr "Vide" #~ msgid "Mini" #~ msgstr "Mini" #~ msgid "Small" #~ msgstr "Petit" #~ msgid "Large" #~ msgstr "Détaillé" #~ msgid "Damping" #~ msgstr "Amortissement" #~ msgid "Factor" #~ msgstr "Facteur" #~ msgid "" #~ "

select only if no defaults are wanted

" #~ msgstr "" #~ "

sélectionner seulement si aucune valeur par défaut n'est souhaitée

" #~ msgid "Accuracy" #~ msgstr "Précision" #~ msgid "Tight SCF" #~ msgstr "Tight SCF" #~ msgid "Very Tight SCF" #~ msgstr "Very Tight SCF" #~ msgid "Extreme SCF" #~ msgstr "Extreme SCF" #~ msgid "Convergers" #~ msgstr "Convergers" #~ msgid "DIIS" #~ msgstr "DIIS" #~ msgid "KDIIS" #~ msgstr "KDIIS" #~ msgid "Levelshift " #~ msgstr "Convergers " #~ msgid "Levelshift" #~ msgstr "Levelshift" #~ msgid "2nd Order" #~ msgstr "Deuxième ordre" #~ msgid "SOSCF" #~ msgstr "SOSCF" #~ msgid "NRSCF" #~ msgstr "NRSCF" #~ msgid "AHSCF" #~ msgstr "AHSCF" #~ msgid "max. SCF iterations" #~ msgstr "Itérations SCF max." #~ msgid "SCF Type" #~ msgstr "Type de SCF" #~ msgid "restricted" #~ msgstr "restreint" #~ msgid "unrestricted" #~ msgstr "non restreint" #~ msgid "restricted open-shell" #~ msgstr "couche ouverte restreinte" #~ msgid "SFitting" #~ msgstr "SFitting" #~ msgid "GridX" #~ msgstr "Grille X" #~ msgid "FinalGridX" #~ msgstr "Grille X finale" #~ msgid "DFT Functional" #~ msgstr "Fonctionnelle" #~ msgid "Grid" #~ msgstr "Grille" #~ msgid "FinalGrid" #~ msgstr "Grille finale" #~ msgid "POV-Ray Export" #~ msgstr "Exporter POV-Ray" #~ msgid "Select..." #~ msgstr "Sélectionner..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Utiliser le lissage complet de la scène" #~ msgid "Antialias" #~ msgstr "Lissage" #~ msgid "Set the background color to be transparent" #~ msgstr "Rendre la couleur du fond transparente" #~ msgid "Alpha transparency" #~ msgstr "Transparence Alpha" #~ msgid "Command:" #~ msgstr "Commande :" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Rendu direct de la molécule avec la ligne de commande de POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Conserver le fichier source de POV-Ray après complétion du rendu" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Conserver le fichier source de POV-Ray à la fin du rendu" #~ msgid "Path:" #~ msgstr "Chemin :" #~ msgid "Abinit Input" #~ msgstr "Entrée Abinit" #~ msgid "k-points:" #~ msgstr "k-points :" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Cartésiennes (Angstrom)" #~ msgid "Reduced" #~ msgstr "Réduites" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "Limite des ondes planes (Ha) :" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Tolérance sur les forces (Ha/bohr) :" #~ msgid "Max lattice expansion:" #~ msgstr "Expansion max de la maille :" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "décalage k-point :" #~ msgid "0.0" #~ msgstr "0,0" #~ msgid "Number of bands:" #~ msgstr "Nombre de bandes :" #~ msgid "# k-point shifts:" #~ msgstr "# décalage k-point :" #~ msgid "Double grid PW cutoff (Ha):" #~ msgstr "Limite grille double PW (Ha) :" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Type d'occupation :" #~ msgid "SCF tolerance type:" #~ msgstr "Type de tolérance SCF :" #~ msgid "Total Energy" #~ msgstr "Énergie totale" #~ msgid "Wave Function norm" #~ msgstr "Norme de la fonction d'onde" #~ msgid "Total Potential" #~ msgstr "Potentiel total" #~ msgid "Maximum Force" #~ msgstr "Force maximum" #~ msgid "Relative Force" #~ msgstr "Force relative" #~ msgid "1 - semiconducting" #~ msgstr "1 - semicondutrice" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi Dirac" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 - Étalement froid (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 - Étalement gaussien" #~ msgid "Smearing width (Ha):" #~ msgstr "Largeur d'étalement (Ha) :" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Optimisation de la géométrie :" #~ msgid "0 - no moving ions " #~ msgstr "0 - pas d'ions mobiles " #~ msgid "1 - viscous damping" #~ msgstr "1 - amortissement visqueux" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS avec énergie" #~ msgid "# Geometrical time steps:" #~ msgstr "# Intervalles de temps géométriques :" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Lissage de l'énergie cinétique (Ha) :" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Utiliser le formulaire" #~ msgid "Compute..." #~ msgstr "Calculer..." #~ msgid "Dalton Input" #~ msgstr "Entrée Dalton" #~ msgid "Basics" #~ msgstr "Informations de base" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Ajoute ce que vous saisissez dnas la ligne de titre du fichier d'entrée " #~ "pour\n" #~ "votre information personnelle." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Base :" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Style Pople" #~ msgid "Jensen's polarization consistent" #~ msgstr "Polarisations consistantes de Jensen" #~ msgid "Dunning's correlation consistent" #~ msgstr "Corrélations consistantes de Dunning" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ \tDeveloper note:" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Fonctions de corrélation de cœur" #~ msgid "Diffuse functions" #~ msgstr "Fonctions diffuses" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Fonctions de polarisation" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Directe" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Exécuter en parallèle si possible. Ce n'est possible que pour les\n" #~ "fonctions d'onde SCF et les calculs DFT. Dalton ne prend en charge que " #~ "MPI\n" #~ "dans la version actuelle et doit être compilé et installé correctement.\n" #~ "Le nombre de nœuds est défini par l'option « -N # » lors de l'exécution " #~ "du script « dalton »." #~ msgid "Parallel" #~ msgstr "Parallèle" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Fonctionelle :" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Densité :" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Intégration de la charge :" #~ msgid "Grid Specification" #~ msgstr "Pas de la grille :" #~ msgid "Partitioning Scheme:" #~ msgstr "Méthode de paritionnement :" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (original)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Finesse de la grille :" #~ msgid "coarse" #~ msgstr "grossière" #~ msgid "normal" #~ msgstr "normale" #~ msgid "fine" #~ msgstr "fine" #~ msgid "ultrafine" #~ msgstr "très fine" #~ msgid "Radial Scheme:" #~ msgstr "Méthode radiale :" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Afficher toutes les fonctionnelles" #~ msgid "Property:" #~ msgstr "Propriété :" #~ msgid "Polarizability" #~ msgstr "Polarisabilité" #~ msgid "Excitation Energy" #~ msgstr "Énergie d'excitation" #~ msgid "Frequency Dependent" #~ msgstr "Dépendant de la fréquence" #~ msgid "No. excitations:" #~ msgstr "Nbre d'états excités :" #~ msgid "EFP Matches" #~ msgstr "Résultats PFE" #~ msgid "Group Label:" #~ msgstr "Étiquette du groupe :" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Configuration &avancée" #~ msgid "Hessian" #~ msgstr "Hessienne" #~ msgid "Stat Point" #~ msgstr "Point Stat" #~ msgid "System" #~ msgstr "Système" #~ msgid "MO Guess" #~ msgstr "Estimation MO" #~ msgid "Misc" #~ msgstr "Divers" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Fonctions de polarisation des atomes lourds :" #~ msgid "Read" #~ msgstr "Lire" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Couche S diffuse sur les atomes lourds" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Couche L diffuse sur les atomes lourds" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Valence zeta double" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Valence zeta triple" #~ msgid "SBKJA Valence" #~ msgstr "Valence SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "Valence Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Type ECP :" #~ msgid "Default" #~ msgstr "Par défaut" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Fonctions de polarisation des atomes lourds :" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#fonctions de polarisation des atomes légers :" #~ msgid "Polar:" #~ msgstr "Polaire :" #~ msgid "Max SCF Iterations:" #~ msgstr "Itérations SCF maximum :" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "Optimisation" #~ msgid "Trudge" #~ msgstr "Marche" #~ msgid "Saddle Point" #~ msgstr "Point selle" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Gradient extrémal" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Surface d'énergie" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Moment de transition radiative" #~ msgid "Spin Orbit" #~ msgstr "Spin-orbite" #~ msgid "Finite Electric Field" #~ msgstr "Champ électrique fini" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Optimisation globale" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Optimisation FMO" #~ msgid "Raman Intensities" #~ msgstr "Intensités Raman" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Générer PFE" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Aucun (Cl)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Type de SCF :" #~ msgid "Localization Method:" #~ msgstr "Méthode localisée :" #~ msgid "Exec Type:" #~ msgstr "Type d'exécution :" #~ msgid "CI:" #~ msgstr "CI :" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Déterminant Ames Lab" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Contrainte d'occupation dans un espace actif multiple" #~ msgid "CI Singles" #~ msgstr "Singletons CI" #~ msgid "Full Second Order CI" #~ msgstr "CI complet au second ordre" #~ msgid "General CI" #~ msgstr "CI général" #~ msgid "CC:" #~ msgstr "CC :" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD : CC linéarisé" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD : CC avec paires" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD : CC avec singletons et paires" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Exécution normale" #~ msgid "Check" #~ msgstr "Vérification" #~ msgid "Debug" #~ msgstr "Débogage" #~ msgid "Molecule Charge:" #~ msgstr "Charge de la molécule :" #~ msgid "Run Type:" #~ msgstr "Type d'exécution :" #~ msgid "Use MP2" #~ msgstr "Utiliser MP2" #~ msgid "Use DFT" #~ msgstr "Utiliser DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "Nombre de variables de matrice Z" #~ msgid "Ǻngstrom" #~ msgstr "Ångstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Ordre de l'axe principal :" #~ msgid "Coordinate Type:" #~ msgstr "Type de coordonnées :" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Coordonnées cartésiennes uniques" #~ msgid "Hilderbrant internals" #~ msgstr "Internes de Hilderbrant" #~ msgid "MOPAC Z-Matrix" #~ msgstr "Matrice Z MOPAC" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Utiliser la symétrie durant le calcul" #~ msgid "Units:" #~ msgstr "Unités :" #~ msgid "Point Group:" #~ msgstr "Groupe ponctuel :" #~ msgid "Minutes" #~ msgstr "Minutes" #~ msgid "Hours" #~ msgstr "Heures" #~ msgid "Days" #~ msgstr "Jours" #~ msgid "Weeks" #~ msgstr "Semaines" #~ msgid "Years" #~ msgstr "Années" #~ msgid "Millenia" #~ msgstr "Millénaires" #~ msgid "MegaWords" #~ msgstr "Mégamots" #~ msgid "MegaBytes" #~ msgstr "Mégaoctets" #~ msgid "GigaWords" #~ msgstr "Gigamots" #~ msgid "GigaBytes" #~ msgstr "Gigabits" #~ msgid "Force Parallel Methods" #~ msgstr "Forcer l'usage de méthodes parallèles" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Produire un fichier « core » lors d'un plantage" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI :" #~ msgid "Memory:" #~ msgstr "Mémoire :" #~ msgid "Diagonalization Method:" #~ msgstr "Méthode de diagonalisation :" #~ msgid "Parallel Load Balance Type" #~ msgstr "Type de répartition de charge en parallèle" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Boucle" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Valeur suivante" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Utilisation la représentation externe des données dans les messages" #~ msgid "Initial Guess:" #~ msgstr "Estimation initiale :" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "Lecture MO ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO enregistré (DICTNRY)" #~ msgid "Skip" #~ msgstr "Ignorer" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Rotation des orbitales alpha et beta" #~ msgid "Print the Initial Guess" #~ msgstr "Afficher l'estimation initiale" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Interface GAMESS pour autres codes" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Forcer une vérification de type" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (Version UK)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussien 9x" #~ msgid "Solvate with Water" #~ msgstr "Dissoudre dans l'eau" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Générer orbitales naturelles UHF" #~ msgid "Direct SCF" #~ msgstr "SCF direct" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Calculer seulement ce qui a changé dans la matrice de Fock" #~ msgid "Slater exchange" #~ msgstr "Échange de Slater" #~ msgid "Becke 1988 exchange" #~ msgstr "Échange Becke 1988" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN : corrélation Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP : corrélation Lee-Yang-Parr" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN : Echange Slater + corrélation VWN" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN : échange BECKE + corrélation VWN5" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP : échange BECKE + corrélation LYP" #~ msgid "Gill 1996 exchange" #~ msgstr "Échange Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Échange Perdew-Burke-Ernzerhof (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP : corrélation progressive à 1 paramètre" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP : SLATER + corrélation Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP : SLATER + corrélation OP" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP : échange BECKE + corrélation OP" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN : échange GILL+ corrélation VWN5" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP : échange GILL + corrélation LYP" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN : échange PBE + corrélation VWN6" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP : échange PBE + corrélation LYP" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP : échange PBE + corrélation OP" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP : échange HF et BECKE + corrélation LYP" #~ msgid "Grid-Free" #~ msgstr "Sans grille" #~ msgid "DFT Functional:" #~ msgstr "Fonctionnelle DFT :" #~ msgid "Method:" #~ msgstr "Méthode :" #~ msgid "AO Integral Storage" #~ msgstr "Stockage des intégrales OA" #~ msgid "Duplicated on Each Node" #~ msgstr "Dupliqué sur chaque nœud" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distribution sur tous les nœuds" #~ msgid "words" #~ msgstr "mots" #~ msgid "Compute MP2 Properties" #~ msgstr "Calculer les propriétés MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Limite de prise en compte des orbitales" #~ msgid "Use Localized Orbitals" #~ msgstr "Utiliser orbitales localisées" #~ msgid "# of Core Electrons:" #~ msgstr "Nombre d'électrons de cœur :" #~ msgid "Transformation Method" #~ msgstr "Méthode de transformation" #~ msgid "Two Phase Bin Sort" #~ msgstr "Tri « bin sort » à deux phases" #~ msgid "Segmented Transformation" #~ msgstr "Transformation segmentée" #~ msgid "Analytic" #~ msgstr "Analytique" #~ msgid "Numeric" #~ msgstr "Numérique" #~ msgid "Double Differenced Hessian" #~ msgstr "Matrice hessienne" #~ msgid "Print Internal Force Constants" #~ msgstr "Afficher constantes de force internes" #~ msgid "Displacement Size:" #~ msgstr "Taille du déplacement :" #~ msgid "Purify Hessian" #~ msgstr "Purifier hessienne" #~ msgid "Frequency Scale Factor:" #~ msgstr "Facteur d'échelle de fréquence :" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Hessienne initiale" #~ msgid "Guess (+ define)" #~ msgstr "Deviner (et définir)" #~ msgid "Read (from $HESS)" #~ msgstr "Lire (sur $HESS)" #~ msgid "Update Step Size" #~ msgstr "Actualiser la taille d'une étape" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Afficher orbitales à chaque itération" #~ msgid "Jump Size:" #~ msgstr "Taille de saut :" #~ msgid "Stationary Point" #~ msgstr "Point stationnaire" #~ msgid "Step Size" #~ msgstr "Taille d'une étape" #~ msgid "Maximum:" #~ msgstr "Maximum :" #~ msgid "Minimum:" #~ msgstr "Minimum :" #~ msgid "Initial:" #~ msgstr "Initial :" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Optimisation par fonction rationnelle" #~ msgid "Quadratic Approximation" #~ msgstr "Approximation quadratique" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Optimisation contrainte" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Recalculer Hessienne tous les :" #~ msgid "Follow Mode:" #~ msgstr "Mode de suivi :" #~ msgid "Maximum Steps:" #~ msgstr "Nombre maximum d'étapes :" #~ msgid "GAMESS-UK Input" #~ msgstr "Données GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Données GAMESS-UK générées par Avogadro" #~ msgid "Calculation:" #~ msgstr "Calcul :" #~ msgid "Transition State Search" #~ msgstr "Recherche d'état de transition" #~ msgid "Basis:" #~ msgstr "Base :" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Matrice Z" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "En mode direct, les intégrales ne sont pas enregistrées sur disque, mais " #~ "recalculées au besoin.\n" #~ "Sur des systèmes modernes avec des processeurs rapides et des disques " #~ "lents, ce mode\n" #~ "est souvent plus rapide." #~ msgid "Run in direct mode:" #~ msgstr "Exécuter en mode direct :" #~ msgid "Gaussian Input" #~ msgstr "Entrée Gaussian" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Fichier de sortie :" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Checkpoint :" #~ msgid "Z-matrix (compact)" #~ msgstr "Matrice Z compacte" #~ msgid "Select the unit style to be used during the simulation." #~ msgstr "Sélectionner le type d'unité à utiliser durant la simulation." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "réel" #~ msgid "metal" #~ msgstr "métal" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "électron" #~ msgid "Water Potential" #~ msgstr "Potentiel de l'eau" #~ msgid "NONE" #~ msgstr "AUCUN" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "Select atom_style used by the data file." #~ msgstr "Sélectionnez le style d'atome utilisé dans le fichier de données." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgid "Atom Style" #~ msgstr "Style d'atome" #~ msgid "angle" #~ msgstr "angle" #~ msgid "atomic" #~ msgstr "atomique" #~ msgid "bond" #~ msgstr "liaison" #~ msgid "charge" #~ msgstr "charge" #~ msgid "dipole" #~ msgstr "dipole" #~ msgid "ellipsoid" #~ msgstr "ellipsoïde" #~ msgid "full" #~ msgstr "totale" #~ msgid "line" #~ msgstr "ligne" #~ msgid "meso" #~ msgstr "méso" #~ msgid "molecular" #~ msgstr "moléculaire" #~ msgid "peri" #~ msgstr "péri" #~ msgid "sphere" #~ msgstr "sphère" #~ msgid "tri" #~ msgstr "tri" #~ msgid "wavepacket" #~ msgstr "paquet d'ondes" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "Spécifiez le nom à utiliser pour le fichier de coordonnées." #~ msgid "Coordinate Data File" #~ msgstr "Fichier de coordonnées" #~ msgid "Ensemble" #~ msgstr "Ensemble" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Température" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "Sélectionnez le nombre de chaines Nosé-Hoover dans l'ensemble NVT." #~ msgid "NH Chains" #~ msgstr "Chaines NH" #~ msgid "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgstr "Intervalle de temps pour la simulation selon le choix d'« Unités »." #~ msgid "Time Step" #~ msgstr "Intervalle de temps" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "Nom du fichier XYZ à écrire durant la simulation." #~ msgid "Dump XYZ" #~ msgstr "Copie des XYZ" #~ msgid "Number of dimensions in the system." #~ msgstr "Nombre de dimensions du système." #~ msgid "Dimensions" #~ msgstr "Dimensions" #~ msgid "Change Z boundary style." #~ msgstr "Modifier le style de la limite en Z." #~ msgid "p" #~ msgstr "p" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "Change Y boundary style." #~ msgstr "Modifier le style de la limite en Y." #~ msgid "Change X boundary style." #~ msgstr "Modifier le style de la limite en X." #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "Sélectionner les styles des limites en X, Y et Z." #~ msgid "Boundary" #~ msgstr "Limite" #~ msgid "Number of replicants in X, Y and Z directions." #~ msgstr "Nombre de répliquant en X, Y, Z." #~ msgid "Replicate" #~ msgstr "Reproduire" #~ msgid "Replicate the X direction." #~ msgstr "Reproduire en X." #~ msgid "Replicate the Y direction." #~ msgstr "Reproduire en Y." #~ msgid "Replicate the Z direction." #~ msgstr "Reproduire en Z." #~ msgid "Total number of timesteps to run the simulation." #~ msgstr "Nombre total d'intervalle de temps pour la simulation." #~ msgid "Total Steps" #~ msgstr "Pas total" #~ msgid "Dump Interval" #~ msgstr "Intervalle de copie" #~ msgid "Set the initial atom velocities for the simulation." #~ msgstr "Fixer les vélocités initiales des atomes pour la simulation." #~ msgid "Initial Velocities" #~ msgstr "Vitesses initiales" #~ msgid "Select the distribution of initial atom velocities." #~ msgstr "Choisir la distribution des vitesses initiales des atomes." #~ msgid "gaussian" #~ msgstr "gaussienne" #~ msgid "uniform" #~ msgstr "uniforme" #~ msgid "Set the initial atom velocities to match this temperature." #~ msgstr "" #~ "Choisir les vitesses initiales des atomes correspondant à cette " #~ "température." #~ msgid "Remove system linear momentum from initial velocities." #~ msgstr "" #~ "Retirer la quantité de mouvement linéaire du système des vélocités " #~ "initiales." #~ msgid "Zero Linear Momentum" #~ msgstr "Quantité de mouvement linéaire nulle" #~ msgid "Remove system angular momentum from initial velocities." #~ msgstr "" #~ "Retirer la quantité de mouvement angulaire du système des vélocités " #~ "initiales." #~ msgid "Zero Angular Momentum" #~ msgstr "Quantité de mouvement angulaire nulle" #~ msgid "Control the thermodynamic output during the simulation." #~ msgstr "" #~ "Vérifier le fichier de sortie de la thermodynamique pendant la simulation." #~ msgid "Output Interval" #~ msgstr "Intervalle de fichier de sortie" #~ msgid "2d" #~ msgstr "2d" #~ msgid "3d" #~ msgstr "3d" #~ msgid "Thermodynamic output style." #~ msgstr "Style de fichier de sortie de la thermodynamique." #~ msgid "One Line" #~ msgstr "Une ligne" #~ msgid "Multi Line" #~ msgstr "Ligne multiple" #~ msgid "" #~ "\n" #~ "\n" #~ "

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

" #~ msgid "MOLPRO Input" #~ msgstr "Données MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Version de Molpro :" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Données MOPAC" #~ msgid "Quartet" #~ msgstr "Quartet" #~ msgid "Quintet" #~ msgstr "Quintuplet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "PM1" #~ msgid "NWChem Input" #~ msgstr "Entrée NWChem" #~ msgid "Psi4 Input" #~ msgstr "Fichier de données Psi4" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Entrée Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "Données TeraChem" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Couche ouverte" #~ msgid "PBD" #~ msgstr "PDB" #~ msgid "no" #~ msgstr "non" #~ msgid "yes" #~ msgstr "oui" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Dispersion :" #~ msgid "Load Shaders" #~ msgstr "Charger les ombrages" #~ msgid "Shader Name:" #~ msgstr "Nom de l'ombrage :" #~ msgid "Vertex Shader:" #~ msgstr "Ombrage des sommets :" #~ msgid "Fragment Shader:" #~ msgstr "Ombrage de fragment :" #~ msgid "Assign Shader" #~ msgstr "Attribuer un ombrage" #~ msgid "Display Type:" #~ msgstr "Type d'affichage :" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Commandes :\n" #~ "Double clic gauche : restaure les limites des axes par défaut\n" #~ "Clic droit + drag : déplace le tracé\n" #~ "Clic central : agrandit la région\n" #~ "Molette : zoom curseur" #~ msgid "&Load data..." #~ msgstr "&Lire les données..." #~ msgid "&Close" #~ msgstr "&Fermer" #~ msgid "Calculated Spectra:" #~ msgstr "Spectres calculés :" #~ msgid "Set Color..." #~ msgstr "Définir la couleur..." #~ msgid "Imported Spectra:" #~ msgstr "Spectres importés :" #~ msgid "Font:" #~ msgstr "Police de caractères :" #~ msgid "Change Font..." #~ msgstr "Changer la police de caractères..." #~ msgid "Show" #~ msgstr "Afficher" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "Importe un tsv de spectres expérimentaux à superposer au tracé." #~ msgid "&Import..." #~ msgstr "&Importer..." #~ msgid "Background:" #~ msgstr "Arrière-plan :" #~ msgid "Foreground:" #~ msgstr "Avant-plan :" #~ msgid "New..." #~ msgstr "Nouveau..." #~ msgid "Rename..." #~ msgstr "Renommer..." #~ msgid "&Schemes:" #~ msgstr "&Projets :" #~ msgid "&Export..." #~ msgstr "&Exporter..." #~ msgid "&DPI:" #~ msgstr "&DPI :" #~ msgid "&Width:" #~ msgstr "&Largeur :" #~ msgid "&Height" #~ msgstr "&Hauteur" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Enregistrer l'image..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Utiliser une valeur optimisée de la taille de police au lieu de la valeur " #~ "spécifiée dans le projet (les tailles de point écran-image ne se mette " #~ "pas bien à l'échelle)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Auto-ajuster la taille de police" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "o" #~ msgid "Export Data" #~ msgstr "Exporter les données" #~ msgid "Spectra Tab" #~ msgstr "Tableau des spectres" #~ msgid "&Gaussian Width:" #~ msgstr "&Élargissement gaussien" #~ msgid "&Label peaks" #~ msgstr "&Étiquette des pics" #~ msgid "Rotatory Strength type:" #~ msgstr "Type de pouvoir rotatoire :" #~ msgid "Energy units:" #~ msgstr "Unités des énergies :" #~ msgid "Density units" #~ msgstr "Unités des densités" #~ msgid "Fermi Energy: " #~ msgstr "Énergie de Fermi : " #~ msgid "States / Cell" #~ msgstr "États/maille" #~ msgid "States / Atom" #~ msgstr "États/atome" #~ msgid "States / Valence electron" #~ msgstr "États/électron de valence" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Énergie de Fermi à zéro" #~ msgid "Scale integrated DOS" #~ msgstr "Mettre àl'échelle la DEE intégrée" #~ msgid "Show integrated DOS" #~ msgstr "Afficher la DEE intégrée" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "&Unités de l'axe des Y :" #~ msgid "Scaling Type:" #~ msgstr "Type de mise à l'échelle :" #~ msgid "Linear" #~ msgstr "Linéaire" #~ msgid "Relative" #~ msgstr "Relative" #~ msgid "Scale &Factor:" #~ msgstr "Échelle et facteur :" #~ msgid "Temperature:" #~ msgstr "Température :" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Nombre d'onde du laser :" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Seuil :" #~ msgid "tab_NMR" #~ msgstr "tab_RMN" #~ msgid "Nucleus:" #~ msgstr "Noyau :" #~ msgid "&Reference:" #~ msgstr "&Référence :" #~ msgid "Gaussian &Width:" #~ msgstr "Élargissement & gaussien :" #~ msgid "Reset &Plot Axes" #~ msgstr "Ré-initialiser &tracer les axes" #~ msgid "Label Peaks:" #~ msgstr "Étiqueter les pics :" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Fréquences" #~ msgid "Filter: " #~ msgstr "Filtre : " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Activité (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Afficher les spectres..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "" #~ "Les fréquences de vibration élevées auront des mouvement plus rapides." #~ msgid "Animation speed set by frequency" #~ msgstr "Vitesse d'animation fixée par la fréquence" #~ msgid "Display force &vectors" #~ msgstr "Affichage des forces et des vecteurs" #~ msgid "&Normalize displacements" #~ msgstr "Normaliser les déplacements" #~ msgid "Generate Cell" #~ msgstr "Générer la maille" #~ msgid "&Recalculate All" #~ msgstr "&Tout recalculer" #~ msgid "Default &Quality:" #~ msgstr "&Qualité par défaut :" #~ msgid "Show occupied orbitals first" #~ msgstr "Afficher les orbitales occupées en premier" #~ msgid "Limit orbital precalculations to " #~ msgstr "Limiter le pré-calcul d'orbitale aux " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "orbitales voisines des HO/BV" #~ msgid "Quality: " #~ msgstr "Qualité : " #~ msgid "Create Surfaces" #~ msgstr "Générer les surfaces" #~ msgid "Surface Type:" #~ msgstr "Type de surface :" #~ msgid "Color By:" #~ msgstr "Colorer selon :" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Basse" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Moyenne" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Élevée" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Très élevée" #~ msgid "Isosurface cutoff value" #~ msgstr "Limite de prise en compte de l'isosurface" #~ msgid "Iso Value:" #~ msgstr "Valeur iso :" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Dans l'affichage du type :" #~ msgid "New Display" #~ msgstr "Nouvel affichage" #~ msgid "Advanced..." #~ msgstr "Avancé..." #~ msgid "&n:" #~ msgstr "&n :" #~ msgid "&m:" #~ msgstr "&m :" #~ msgid "&Length:" #~ msgstr "&Longueur :" #~ msgid "Uni&t:" #~ msgstr "Uni&té :" #~ msgid "periodic units" #~ msgstr "unités périodiques" #~ msgid "angstrom" #~ msgstr "angström" #~ msgid "bohr radii" #~ msgstr "bohr" #~ msgid "nanometers" #~ msgstr "nanomètres" #~ msgid "picometers" #~ msgstr "picomètres" #~ msgid "&Cap with hydrogen" #~ msgstr "&Coiffé d'hydrogène" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "Ceci peut prendre un certain temps. Si on a seulement besoin des " #~ "coordonnées \n" #~ "atomiques (par exemple pour un calcul de mécanique quantique),\n" #~ "une représentation à liaison simple seulement peut suffire." #~ msgid "Find &double bonds" #~ msgstr "Localiser &les liaisons doubles" #~ msgid "Molecular Symmetry" #~ msgstr "Symétrie moléculaire" #~ msgid "VRML Export" #~ msgstr "Exportation VRML" #~ msgid "Scale (mm/Å):" #~ msgstr "Échelle (mm/Å) :" #~ msgid "Smallest sphere (mm): " #~ msgstr "La plus petite shère (mm) : " #~ msgid "VRML (color)" #~ msgstr "VRML (couleur)" #~ msgid "Thinnest cylinder (mm): " #~ msgstr "Cylindre le plus fin (mm) : " #~ msgid "Calculate Size..." #~ msgstr "Calculer la taille..." #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Translater de :" #~ msgid "X-axis" #~ msgstr "Axe des X" #~ msgid "Y-axis" #~ msgstr "Axe des Y" #~ msgid "Z-axis" #~ msgstr "Axe des Z" #~ msgid "Rotate around:" #~ msgstr "Tourner autour de :" #~ msgid "Origin" #~ msgstr "Origine" #~ msgid "Geometry" #~ msgstr "Géométrie" #~ msgid "Display visual cues" #~ msgstr "Afficher l'aide contextuelle" #~ msgid "Python Settings" #~ msgstr "Paramètres Python" #~ msgid "Z Matrix Editor" #~ msgstr "Éditeur de matrice Z" #~ msgid "Import Selected Atoms" #~ msgstr "Importer les atomes sélectionnés" avogadrolibs-1.93.0/i18n/gl.po000066400000000000000000006220051360735163600160200ustar00rootroot00000000000000# Translations for the Avogadro molecular library libavogadro. # Copyright (C) 2006-2010 The Avogadro Project # This file is distributed under the same license as the Avogadro package. # # Marce Villarino , 2010. msgid "" msgstr "" "Project-Id-Version: Avogadro 1.1.0\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:32+0000\n" "Last-Translator: Miguel Anxo Bouzada \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Xerador de entrada..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Xerador de entrada..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Continuar" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Pechar" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Descoñecido" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "Non foi posíbel iniciar Abinit." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Interromper o cálculo" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Aviso" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Aviso" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Escoller o solvente" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Saída:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Non é posíbel escribir no ficheiro." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Non se escribiu o ficheiro de vídeo." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Non se escribiu o ficheiro de vídeo." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Configurar" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Título" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nome do ficheiro:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Procesadores:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Cálculo:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teoría:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teoría:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Base" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Non se definiu ningunha molécula" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Deter a &animación" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Non hai ningún átomo escollido" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidróxeno" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helio" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litio" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berilio" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boro" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbono" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitróxeno" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxíxeno" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Flúor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodio" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesio" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminio" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicio" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fósforo" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Xofre" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Cloro" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potasio" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calcio" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Escandio" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanio" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadio" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Cromo" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganeso" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Ferro" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalto" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Níquel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Cobre" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Cinc" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Galio" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Xermanio" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsénico" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenio" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromo" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Cripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidio" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Estroncio" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Itrio" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Circonio" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobio" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdeno" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tecnecio" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenio" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodio" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Paladio" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Prata" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmio" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indio" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Estaño" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimonio" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telurio" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iodo" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cesio" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bario" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantano" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerio" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodimio" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodimio" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometio" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samario" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europio" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinio" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbio" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprosio" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmio" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbio" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tulio" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Iterbio" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutecio" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnio" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tántalo" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Volframio" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Renio" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmio" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridio" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platino" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Ouro" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercurio" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Talio" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Chumbo" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuto" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonio" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Ástato" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francio" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radio" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinio" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Torio" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinio" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranio" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunio" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonio" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americio" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curio" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berquelio" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californio" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinio" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermio" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevio" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelio" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Laurencio" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Ruterfordio" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnio" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgio" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrio" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassio" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerio" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtio" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenio" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicio" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Circonio" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Escoller..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Escoller o solvente" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Eliminar o escollido" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Todos os ficheiros" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "sen título" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Táboa periódica" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Non foi posíbel iniciar Abinit." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinit quebrou." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Erro de OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Descoñecido" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molécula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Engadir un átomo" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Eliminar o átomo" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Limpar todo" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Axustar os hidróxenos" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Trocar o elemento" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Trocar o elemento" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Carga formal" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Engadir un enlace" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Eliminar o átomo" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Borrar o enlace" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Orde do enlace" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Modificar a orde de enlace" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Axustar aos enlaces" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Borrar o enlace" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Engadir unha cela &unidade" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Retirar a cela &unidade" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Encher a cela unidade" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Envolver os átomos da cela" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Escalar o volume da cela unidade" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super cela" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Rotar á orientación estándar" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Reducir á cela primitiva" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Simetrizar cristal" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Encher a cela unidade" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Ficheiro" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exportar" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Límites:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Abrir un ficheiro WFN" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensións" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Erro" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Aconteceu un problema ao ler o ficheiro de traxectoria %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Erro de OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Aconteceu un problema ao ler o ficheiro de traxectoria %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Abrir un ficheiro WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Abrir un ficheiro WFN" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Erro" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Gardar o ficheiro de entrada" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Éxito" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "A imaxe escribiuse satisfactoriamente en %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Mostrar varios enlaces" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidróxenos" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Esferas e varelas" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Debuxa etiquetas nos átomos e enlaces" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulación centrada nos enlaces" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulación centrada nos enlaces" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Átomo final" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Eliminar hidróxenos" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Construír" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Enlace" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nome do ficheiro:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Editor de coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Editor de coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Anular as modificacións" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "O nome de ficheiro non é válido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nome do elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Símbolo do elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Símbolo do elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "O nome de ficheiro non é válido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Número atómico" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "O nome de ficheiro non é válido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Estabelecer as coordenadas cartesianas" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Personalizada" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Miguel Anxo Bouzada,Mvillarino, ,Launchpad " "Contributions:,Miguel Anxo Bouzada,Mvillarino, ,Launchpad Contributions:," "Miguel Anxo Bouzada,Mvillarino, ,Launchpad Contributions:,Miguel Anxo " "Bouzada,Mvillarino, ,Launchpad Contributions:,Miguel Anxo Bouzada,Mvillarino" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ con números" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Información EFP de GAMESS" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Información EFP de GAMESS" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Entrada do Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Copiar todo" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Personalizada" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Limpar todo" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Non foi posíbel determinar o formato: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Non foi posíbel determinar o formato: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "I&mportar cristal desde o portapapeis..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Encher a cela unidade" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Encher a cela unidade" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Envolver os átomos da cela" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Rotar á orientación estándar" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Escalar a cela ao &volume" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super cela" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Reducir a cela (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "&Cristalografía" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Retirar a cela &unidade" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Engadir unha cela &unidade" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Esta cela unidade xa foi reducida á súa representación canónica Niggli." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Pegar cristal" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Debuxa etiquetas nos átomos e enlaces" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Non é posíbel analizar o texto" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Eixos personalizados" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Debuxar" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Debuxar un átomo" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Modificar a orde de enlace" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Eliminar o átomo" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distancia" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distancia (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Outro..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Optimización automática" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Simple" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Duplo" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triplo" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Aconteceu un problema ao ler o ficheiro de traxectoria %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Xerador de entrada..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Entrada de GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Punto singular de enerxía" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Xeometría de equilibrio" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Estado de transición" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frecuencias" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Potencial nuclear" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Auga" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlete" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doblete" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplete" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dicatión" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Catión" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutro" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anión" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianión" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Ficheiro de entrada do GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Interromper o cálculo" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Axustar os hidróxenos" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Engadir hidróxenos" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Eliminar hidróxenos" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Eliminar hidróxenos" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidróxenos" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidróxenos" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importar" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Debuxa etiquetas nos átomos e enlaces" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Inserir" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Non hai descrición" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molécula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Xerar..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipular" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipular o átomo" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Medir" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Diedro:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Ángulo:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Ángulo:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Medir" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Debuxa mallas de isosuperficies moleculares" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Vista" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Propiedades da molécula" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navegar" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navegar" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nome químico" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "A estrutura química que se vai obter." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Fallou a obtención a través da rede" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Erro de esgotamento do tempo límite da rede ou de outro tipo." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Non foi posíbel achar a molécula especificada: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Fallou a obtención a través da rede" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimizar a xeometría" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Optimización da xeometría" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Percibe os enlaces?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Engadir hidróxenos" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Engadir hidróxenos para o pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Eliminar hidróxenos" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Fallou a lectura dunha molécula do ficheiro «%1»." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Aconteceu un erro mentres se escribía no ficheiro %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimizar a xeometría" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Xerar..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "O ficheiro de traxectoria %1 non se corresponde co número de átomos nesta " "molécula" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimizar a xeometría" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Engadir hidróxenos" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Engadir hidróxenos para o pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Eliminar hidróxenos" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Deter" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parámetros:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Enlaces dinámicos" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Eliminar..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Deter" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Exportar gráficos de vectores" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Non foi posíbel ler o ficheiro %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Erro" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Gardar o ficheiro de vídeo" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Debuxar empregando o POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Debuxa as primitivas empregando as propiedades QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensións" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Abrir un ficheiro WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Ficheiros WFN (*.wfn);;Todos os ficheiros (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Extensión do QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Crea ficheiros de entrada para paquetes de química cuántica" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calculando a densidade electrónica" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calculando a densidade electrónica" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calcula e visualiza orbitais moleculares" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "OM %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Reiniciar" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Xeradores de ficheiros de entrada" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Borrar todos" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selección" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Inverter a selección" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " electróns de valencia" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Escoller" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Escoller" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Selección" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selección" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Percepción do espazo de grupo" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Tipo de tolerancia SCF :" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Espazo de &grupo" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Produciuse un fallo na percepción do espazo de grupo.\n" "\n" "Gustaríalle tentalo de novo cunha tolerancia diferente?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Produciuse un fallo na percepción do espazo de grupo.\n" "\n" "Gustaríalle tentalo de novo cunha tolerancia diferente?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Produciuse un fallo na percepción do espazo de grupo.\n" "\n" "Gustaríalle tentalo de novo cunha tolerancia diferente?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Produciuse un fallo na percepción do espazo de grupo.\n" "\n" "Gustaríalle tentalo de novo cunha tolerancia diferente?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Estabelecer a tolerancia nas unidades cartesianas actuais:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Estabelecer o espazo de grupo" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Espazo de &grupo" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibracións" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Visualización dos espectros" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Mostrar as coordenadas &fraccionais" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tipo" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Elemento" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Simetria" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Escoller segundo o elemento..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Debuxa os momentos dipolares moleculares" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Debuxar" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Debuxar empregando o POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Modelo de aramios" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Debuxa as moléculas como varelas" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Diálogo" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Formulario" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Configuración da selección" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Interromper o cálculo" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Programa de sombreado:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Procesadores:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Trocar o elemento" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Ficheiro de entrada de Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Ficheiro de par:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Campo de forzas:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Ficheiro de par:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Ficheiro de entrada de Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Gardar o ficheiro de entrada" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Éxito" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Estrutura:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Cargar un ficheiro..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Configuración de medida" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "Nome do &ficheiro:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navegar" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navegar" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navegar" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nome do ficheiro:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "Aceptar" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Cancelar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Editor de coordenadas cartesianas" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Reiniciar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distancia" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formato:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Anular as modificacións" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Aplicar" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Importar cristal" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parámetros de super cela" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Opción de super cela" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Repetir A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Repetir B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Repetir C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Estabelecer a matriz da cela unidade" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Estabelecer a matriz da cela unidade" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Fraccional" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Transladar átomos" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Aplicar" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Escalar o volume da cela unidade" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Introducir un novo volume:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "&Factor de escala:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Etiqueta de texto" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Elemento:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Orde do enlace:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Entrada de GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "Configuración &básica" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "En:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicidade:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Con:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Título:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Carga:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calcular:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nome do ficheiro:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Restaurar todo" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Predeterminados" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Cargar un ficheiro..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nome" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formato:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Non hai descrición" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Masa molecular (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "POR FACER" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Fórmula química:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Número de átomos:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Número de enlaces:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Optimización da xeometría" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Método de optimización" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Campo de forzas:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Método de optimización" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Máximo gradiente" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Gradientes conxugados" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Rotación automática" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosuperficie = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potencial electrostático" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "pasos" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Criterio de converxencia do gradiente:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Converxencia" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Límite de tempo:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Unidades:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Número de enlaces:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Lonxitude de onda (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Eliminar o escollido" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Raio do punto crítico:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Raio da rota do enlace:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalente" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Tamaño constante" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacidade:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Superficies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Superficies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Media" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Moi baixa" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Baixa" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Alta" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Moi alta" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Valor da &isosuperficie:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolución:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Superficies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calcular" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibracións" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitude:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Iniciar a &animación" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Deter a &animación" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molécula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Simetria" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Opcións" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Simetria" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Espazo de &grupo" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Miguel Anxo Bouzada,Mvillarino, ,Launchpad " "Contributions:,Miguel Anxo Bouzada,Mvillarino, ,Launchpad Contributions:," "Miguel Anxo Bouzada,Mvillarino, ,Launchpad Contributions:,Miguel Anxo " "Bouzada,Mvillarino, ,Launchpad Contributions:,Miguel Anxo Bouzada,Mvillarino" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,mbouzada@gmail.com,,,,mbouzada@gmail.com,,,,mbouzada@gmail.com,,,," "mbouzada@gmail.com,,,,mbouzada@gmail.com," #~ msgid "Color by Index" #~ msgstr "Cor segundo o índice" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Cor segundo o índice (vermello, laranxa, marelo, verde, azul, violeta)." #~ msgid "Color by Partial Charge" #~ msgstr "Cor segundo a carga parcial" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Cor segundo a carga atómica parcial (azul = positivo, vermello = " #~ "negativo)." #~ msgid "Custom Color:" #~ msgstr "Cor personalizada:" #~ msgid "Custom Color" #~ msgstr "Cor personalizada" #~ msgid "Set custom colors for objects" #~ msgstr "Definir cores personalizadas para os obxectos" #~ msgid "Color by Distance" #~ msgstr "Cor segundo a distancia" #~ msgid "Color by distance from the first atom." #~ msgstr "A cor segundo a distancia á que se estea do primeiro átomo." #~ msgid "Color by Element" #~ msgstr "Cor segundo o elemento" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "A cor segundo o elemento (carbono = gris, oxixeno = vermello ...)." #~ msgid "Color by Residue" #~ msgstr "Cor segundo o residuo" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "A cor segundo o residuo (tipo de aminoácido, hidrofobia, ...)" #~ msgid "SMARTS Pattern:" #~ msgstr "Padrón de SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Cor de realce:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Cor segundo o padrón SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Realza características concretas cun padrón de SMARTS." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Motores" #~ msgid "Axes" #~ msgstr "Eixos" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Debuxa os eixos x, y e z na pola orixe" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Debuxa as primitivas mediante bólas (átomos) e paus (enlaces)" #~ msgid "Cartoon" #~ msgstr "Debuxos animados" #~ msgid "Renders protein secondary structure" #~ msgstr "Debuxa a estrutura secundaria das proteínas" #~ msgid "Dipole" #~ msgstr "Dipolo" #~ msgid "Force" #~ msgstr "Forza" #~ msgid "Renders force displacements on atoms" #~ msgstr "Debuxa os desprazamentos de forza nos átomos" #~ msgid "Hydrogen Bond" #~ msgstr "Enlaces de hidróxeno" #~ msgid "Renders hydrogen bonds" #~ msgstr "Debuxa os enlaces de hidróxeno" #~ msgid "Select Atom Labels Color" #~ msgstr "Escoller as cores das etiquetas dos átomos" #~ msgid "Select Bond Labels Color" #~ msgstr "Escoller as cores das etiquetas dos enlaces" #~ msgid "Select Atom Labels Font" #~ msgstr "Escoller o tipo de letra das etiquetas dos átomos" #~ msgid "Select Bond Labels Font" #~ msgstr "Escoller o tipo de letra das etiquetas dos enlaces" #~ msgid "Label" #~ msgstr "Etiqueta" #~ msgid "Polygon" #~ msgstr "Polígono" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Debuxa os átomos como tetraedros, octaedros ou outros polígonos" #~ msgid "Ribbon" #~ msgstr "Fita" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Debuxa os esqueletos das proteínas como fitas" #~ msgid "Ring" #~ msgstr "Anel" #~ msgid "Renders rings with colored planes" #~ msgstr "Debuxa os aneis con planos coloreados" #~ msgid "Simple Wireframe" #~ msgstr "Modelo de aramios simple" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "Debuxa os enlaces como aramios (liñas), o que é ideal para as moléculas " #~ "grandes" #~ msgid "Van der Waals Spheres" #~ msgstr "Esferas de Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Debuxa os átomos como esferas de Van der Waals" #~ msgid "Stick" #~ msgstr "Varela" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Densidade electrónica, isosuperficie = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosuperficie = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Debuxa os enlaces como aramios (liñas), o que é ideal para (bio)moléculas " #~ "moi grandes" #~ msgid "Trajectory files" #~ msgstr "Ficheiros de traxectoria" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Ficheiros HISTORY do DL-POLY" #~ msgid "Open Trajectory File" #~ msgstr "Abrir un ficheiro de traxectoria" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "ficheiros de vídeo (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Engadindo a extensión .avi" #~ msgid "Animation..." #~ msgstr "Animación..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Non foi posíbel ler o formato do ficheiro %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Fallou a lectura do ficheiro de traxectoria %1." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Debe indicar un nome de ficheiro .avi válido" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "Non se inicializou correctamente o widget GL para poder gardar vídeo" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Nome non válido de ficheiro de vídeo. Debe incluír toda a rota do cartafol" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Nome non válido de ficheiro de vídeo. Debe incluír a rota completa do " #~ "cartafol e o nome, rematado por .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "" #~ "Non foi posíbel determinar o formato a partir do nome do ficheiro: %1" #~ msgid "Animation" #~ msgstr "Animación" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Anima traxectorias, reaccións e vibracións." #~ msgid "Cartesian Editor" #~ msgstr "Editor cartesiano" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Non se definiu ningunha cela unidade para a molécula, polo que non se " #~ "poden empregar unidades fraccionarias." #~ msgid "Cartesian Editor..." #~ msgstr "Editor cartesiano..." #~ msgid "Cartesian editor" #~ msgstr "Editor cartesiano" #~ msgid "Number of atoms: %1" #~ msgstr "Número de átomos: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Número de enlaces rotábeis: %1" #~ msgid "Add constraint" #~ msgstr "Engadir unha restrición" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "A molécula debe conter polo menos un átomo para poder engadir unha " #~ "restrición" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "A molécula debe conter polo menos dous átomos para poder engadir unha " #~ "restrición ao enlace" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "A molécula debe conter polo menos tres átomos para poder engadir unha " #~ "restrición ao ángulo" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "A molécula debe conter polo menos catro átomos para poder engadir unha " #~ "restrición á torsión" #~ msgid "&Reduce" #~ msgstr "&Reducir" #~ msgid "&Settings" #~ msgstr "&Configuracións" #~ msgid "&Length Unit" #~ msgstr "Unidade de &lonxitude" #~ msgid "&Angle Unit" #~ msgstr "Unidade &angular" #~ msgid "Hide &Editors" #~ msgstr "Agochar os &editores" #~ msgid "Show &Editors" #~ msgstr "Mostrar os &editores" #~ msgid "Hide &Property Display" #~ msgstr "Agochar a pantalla de &propiedades" #~ msgid "Show &Property Display" #~ msgstr "Mostrar a pantalla de &propiedades" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Tipo do tecido: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Espazo de grupo: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Volume da cela unidade: %L1%2" #~ msgid "Undefined" #~ msgstr "Sen definir" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triclínico" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoclínico" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortorrómbico" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonal" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Romboédrico" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hexagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Cúbico" #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Non foi posíbel reducir a cela despois de 1000 iteracións do algoritmo de " #~ "redución. Detendo." #~ msgid "&Translate Atoms..." #~ msgstr "&Transladar átomos..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Rotar á &orientación estándar" #~ msgid "Perceive Space&group..." #~ msgstr "Percepción do espazo de &grupo" #~ msgid "Set &Spacegroup..." #~ msgstr "Estabelecer o e&spazo de grupo..." #~ msgid "&Fill Unit Cell" #~ msgstr "&Encher a cela unidade" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Encher a cela unidade co actual espazo de grupo." #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Si&metrizar cristal" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Reducir a cela (&Primitivo)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometro" #~ msgid "&Picometer" #~ msgstr "&Picometro" #~ msgid "&Degree" #~ msgstr "&Graos" #~ msgid "&Radian" #~ msgstr "&Radiáns" #~ msgid "Display &cartesian coordinates" #~ msgstr "Mostrar as coordenadas &cartesianas" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "" #~ "Conservar as coordenadas &cartesianas durante a modificación da cela" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "" #~ "Conservar as coordenadas &fraccionais durante a modificación da cela" #~ msgid "Display &cartesian matrix" #~ msgstr "Mostrar a matriz &cartesiana" #~ msgid "Display &fractional matrix" #~ msgstr "Mostrar a matriz &fraccional" #~ msgid "Display as &row vectors" #~ msgstr "Mostrar como &fila de vectores" #~ msgid "Display as &column vectors" #~ msgstr "Mostrar como &columna de vectores" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Non hai estabelecido un espazo de grupo para este documento.\n" #~ "\n" #~ "Desexa estabelecer agora un espazo de grupo?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Detectouse o espazo de grupo : non é posíbel sintetizar este espazo de " #~ "grupo.\n" #~ "\n" #~ "Gustaríalle tentalo de novo cunha tolerancia diferente?" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Envolver os átomos da cela" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Reducir á cela de Niggli" #~ msgid "Crystallography" #~ msgstr "Cristalografía" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Constrúa e analice estruturas periódicas." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "A entrada non está formatada cun dos\n" #~ "seguintes formatos admitidos:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Formato VASP\n" #~ msgid "Bad Compostion" #~ msgstr "Composición incorrecta" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "O campo de identidade debe conter o mesmo número de entradas de espazo " #~ "delimitado como a liña 6 do POSCAR." #~ msgid "Cartesian Coordinates" #~ msgstr "Coordenadas cartesianas" #~ msgid "Set Fractional Coordinates" #~ msgstr "Estabelecer as coordenadas fraccionais" #~ msgid "Set Unit Cell Params" #~ msgstr "Estabelecer os parámetros da cela unidade" #~ msgid "Please select one or more atoms." #~ msgstr "Seleccione un ou máis átomos." #~ msgid "Trajectory..." #~ msgstr "Traxectoria..." #~ msgid "Open chemical file format" #~ msgstr "Abrir un ficheiro do formato químico" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Ficheiros químicos (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Abrir un ficheiro de parámetros" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Ficheiros químicos (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importar unha traxectoria" #~ msgid "Import trajectory files" #~ msgstr "Importar ficheiros de traxectoria" #~ msgid "Setup Force Field..." #~ msgstr "Configurar o campo de forzas..." #~ msgid "Calculate Energy" #~ msgstr "Calcular a enerxía" #~ msgid "Conformer Search..." #~ msgstr "Busca de confórmeros..." #~ msgid "Constraints..." #~ msgstr "Restricións..." #~ msgid "Ignore Selection" #~ msgstr "Ignorar a selección" #~ msgid "Fix Selected Atoms" #~ msgstr "Fixar os átomos escollidos" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mecánica molecular" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Non se pode definir para esta molécula os campo de forzas escollido. " #~ "Múdase para UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Enerxía = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Optimización da xeometría" #~ msgid "Forcefield Optimization" #~ msgstr "Optimización do campo de forzas" #~ msgid "Systematic Rotor Search" #~ msgstr "Busca sistemática de rotores" #~ msgid "Random Rotor Search" #~ msgstr "Busca aleatoria de rotores" #~ msgid "Weighted Rotor Search" #~ msgstr "Busca ponderada de rotores" #~ msgid "ForceField" #~ msgstr "Campo de forzas" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimiza moléculas e xera confórmeros empregando campos de forzas de " #~ "mecánica molecular" #~ msgid "&Vector Graphics..." #~ msgstr "&Gráficos vectoriais..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Formatos de imaxe vectorial habituais" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Exportar gráficos de vectores" #~ msgid "Change H to Methyl" #~ msgstr "Substituír un H por un metilo" #~ msgid "H to Methyl" #~ msgstr "H para metilo" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transforma hidróxenos en grupos metilo" #~ msgid "Add or remove hydrogens" #~ msgstr "Engade ou elimina hidróxenos" #~ msgid "Fragment..." #~ msgstr "Fragmento..." #~ msgid "Insert SMILES" #~ msgstr "Inserir SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Inserir un fragmento SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Inserir un fragmento" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Insire fragmentos de moléculas para construír outras máis grandes" #~ msgid "Peptide..." #~ msgstr "Péptido..." #~ msgid "Insert Peptide" #~ msgstr "Inserir in péptido" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Inserir secuencias de oligopéptidos" #~ msgid "Invert Chirality" #~ msgstr "Inverter a quiralidade" #~ msgid "InvertChiral" #~ msgstr "InvertChiral" #~ msgid "Invert chiral centers" #~ msgstr "Inverte os centros de quiralidade" #~ msgid "Molecule Properties..." #~ msgstr "Propiedades da molécula..." #~ msgid "&Properties" #~ msgstr "&Propiedades" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "descoñecido" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Momento dipolar estimado (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(pendente)" #~ msgid "Display standard molecular properties." #~ msgstr "Mostra as propiedades moleculares estándar." #~ msgid "Fetch from PDB..." #~ msgstr "Obter do PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Obter segundo o nome químico..." #~ msgid "Fetch from URL..." #~ msgstr "Obter dun URL..." #~ msgid "PDB Entry" #~ msgstr "Entrada PDB" #~ msgid "PDB entry to download." #~ msgstr "A entrada PDB que se vai obter." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "O URL da molécula que se vai obter." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Non foi posíbel cargar a molécula especificada: %1" #~ msgid "Network Fetch" #~ msgstr "Obtención a través da rede" #~ msgid "Fetch molecule files over the network." #~ msgstr "Obtén ficheiros de molécula a través da rede." #~ msgid "All Files" #~ msgstr "Todos os ficheiros" #~ msgid "Show Preview" #~ msgstr "Mostrar a vista previa" #~ msgid "Hide Preview" #~ msgstr "Acochar a vista previa" #~ msgid "Intensities" #~ msgstr "Intensidades" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Gardar a imaxe debuxada por POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Ficheiros de imaxe (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Non se indicou ningún nome de ficheiro." #~ msgid "No valid filename was supplied." #~ msgstr "Non se indicou ningún nome válido de ficheiro." #~ msgid "Does not compute." #~ msgstr "Non se computa." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Pediu que non se debuxase directamente empregando POV-Ray e que non se " #~ "conserve o ficheiro de POV-Ray, polo que a imaxe resultante non se ha " #~ "gardar. Desexa realmente isto?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Non é posíbel escribir no ficheiro %1. Ten permisos para escribir nese " #~ "lugar?" #~ msgid "POV-Ray failed to start." #~ msgstr "Fallou a carga de POV-Ray." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "Fallou a carga de POV-Ray. Talvez non se indicase correctamente a rota ao " #~ "executábel." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Crea ficheiros de POV-Ray e debúxaos empregando o programa da liña de " #~ "ordes POV-Ray." #~ msgid "Atom Properties..." #~ msgstr "Propiedades do átomo..." #~ msgid "Bond Properties..." #~ msgstr "Propiedades do enlace..." #~ msgid "Angle Properties..." #~ msgstr "Propiedades do ángulo..." #~ msgid "Torsion Properties..." #~ msgstr "Propiedades da torsión..." #~ msgid "Conformer Properties..." #~ msgstr "Propiedades do confórmero..." #~ msgid "Atom Properties" #~ msgstr "Propiedades do átomo" #~ msgid "Bond Properties" #~ msgstr "Propiedades do enlace" #~ msgid "Angle Properties" #~ msgstr "Propiedades do ángulo" #~ msgid "Torsion Properties" #~ msgstr "Propiedades da torsión" #~ msgid "Conformer Properties" #~ msgstr "Propiedades do confórmero" #~ msgid "Properties" #~ msgstr "Propiedades" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Xanelas para mostrar as propiedades do átomo, do enlace, do ángulo e da " #~ "torsión. Tamén inclúe un editor de coordenadas cartesianas." #~ msgid "Valence" #~ msgstr "Valencia" #~ msgid "Partial Charge" #~ msgstr "Carga parcial" #~ msgid "Atom" #~ msgstr "Átomo" #~ msgid "Start Atom" #~ msgstr "Átomo inicial" #~ msgid "Rotatable" #~ msgstr "Rotábel" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Confórmero %1\n" #~ "Lonxitude %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Lonxitude %1" #~ msgid "Vertex" #~ msgstr "Vértice" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Confórmero %1\n" #~ "Ángulo %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Ángulo %1" #~ msgid "Angle" #~ msgstr "Ángulo" #~ msgid "Atom %1" #~ msgstr "Átomo %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Confórmerr %1\n" #~ "Torsión %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsión %1" #~ msgid "Torsion" #~ msgstr "Torsión" #~ msgid "Conformer" #~ msgstr "Confórmero" #~ msgid "Yes" #~ msgstr "Si" #~ msgid "No" #~ msgstr "Non" #~ msgid "Python Terminal" #~ msgstr "Terminal de Python" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Terminal interactiva de scripting con Python" #~ msgid "Abinit Running." #~ msgstr "Abinit está a executarse." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit non está instalado." #~ msgid "The abinit executable cannot be found." #~ msgstr "Non é posíbel atopar o executábel de Abinit." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit non pode ser iniciado. É probábel que non estea instalado " #~ "correctamente." #~ msgid "Running Abinit calculation..." #~ msgstr "Cálculo de Abinit en proceso..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit non está a executarse correctamente. É probábel que a instalación " #~ "non sexa correcta." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Aviso do xerador de ficheiros de entrada de Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Desexa actualizar o texto de previsualización, perdendo todas as " #~ "modificacións feitas no panel de vista previa do ficheiro de entrada de " #~ "Dalton?" #~ msgid "QM Matches" #~ msgstr "Acertos da QM" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Selección de EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Escolla para QM..." #~ msgid "Delete" #~ msgstr "Borrar" #~ msgid "You must make a selection!" #~ msgstr "Debe facer unha selección." #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Non está dispoñíbel a conversión de SMILES" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "A conversión do formato SMILES non está dispoñíbel!" #~ msgid "Group Name" #~ msgstr "Nome do grupo" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "" #~ "Crear ficheiros de entrada para o paquete de química cuántica GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Modificouse a configuración avanzada" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Modificouse a configuración avanzada.\n" #~ "Desexa descartala?" #~ msgid "Advanced Settings Reset" #~ msgstr "Restaurar a configuración avanzada" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Desexa realmente restaurar a configuración avanzada?\n" #~ "Perderanse todas as modificacións." #~ msgid "Basic Settings Reset" #~ msgstr "Restaurar a configuración básica" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Desexa realmente restaurar a configuración básica?\n" #~ "Perderanse todas as modificacións." #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Aviso do xerador de ficheiros de lotes de entrada do GAMESS" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Desexa actualizar o texto de previsualización, perdendo todas as " #~ "modificacións que fixese no panel de vista previa do ficheiro de entrada " #~ "do GAMESS-UK?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Ficheiro de entrada do GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Aviso do xerador de ficheiros de lotes de entrada do Gaussian" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Desexa actualizar o texto de previsualización, perdendo todas as " #~ "modificacións que fixese no panel de vista previa do ficheiro de entrada " #~ "do Gaussian?" #~ msgid "Gaussian Input Deck" #~ msgstr "Ficheiro de entradas do Gaussian" #~ msgid "Gaussian Running." #~ msgstr "O Gaussian está a executarse." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "O Gaussian xa se está a executar. Agarde até que remate o anterior " #~ "cálculo." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian non está instalado." #~ msgid "The G03 executable, cannot be found." #~ msgstr "Non foi posíbel atopar o executábel do G03." #~ msgid "G03 failed to start." #~ msgstr "Fallou o inicio de G03." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 non se iniciou, talvez non estea correctamente instalado." #~ msgid "Running Gaussian calculation..." #~ msgstr "A executar un cálculo co Gaussian..." #~ msgid "G03 Crashed." #~ msgstr "G03 pechouse inesperadamente." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian non se executou correctamente, talvez non estea correctamente " #~ "instalado." #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Aviso do xerador de ficheiros de entrada do Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Desexa actualizar o texto de previsualización, perdendo todas as " #~ "modificacións que fixese no panel de vista previa do ficheiro de entrada " #~ "do Molpro?" #~ msgid "Molpro Input Deck" #~ msgstr "Ficheiro de entradas do Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Aviso de entrada do MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Desexa actualizar o texto de previsualización, perdendo todas as " #~ "modificacións que fixese no panel de vista previa do ficheiro de entrada " #~ "do MOPAC?" #~ msgid "MOPAC Input Deck" #~ msgstr "Ficheiro de entradas do MOPAC" #~ msgid "MOPAC Running." #~ msgstr "MOPAC está a executarse." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "O MOPAC xa se está a executar. Agarde até que remate o anterior cálculo." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC non está instalado." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Non foi posíbel atopar o executábel do MOPAC." #~ msgid "MOPAC failed to start." #~ msgstr "Fallou o inicio de MOPAC." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC non se iniciou, talvez non estea correctamente instalado." #~ msgid "Running MOPAC calculation..." #~ msgstr "A executar un cálculo co MOPAC..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC pechouse inesperadamente." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC non se executou correctamente, talvez non estea correctamente " #~ "instalado." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Aviso do xerador de ficheiros de entrada do NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Desexa actualizar o texto de previsualización, perdendo todas as " #~ "modificacións que fixese no panel de vista previa do ficheiro de entrada " #~ "do NWChem?" #~ msgid "NWChem Input Deck" #~ msgstr "Ficheiro de entradas do NWChem" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Aviso do xerador de ficheiros de entrada do Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Desexa actualizar o texto de previsualización, perdendo todas as " #~ "modificacións que fixese no panel de vista previa do ficheiro de entrada " #~ "do Q-Chem?" #~ msgid "QChem Input Deck" #~ msgstr "Ficheiro de entradas do QChem" #~ msgid "Select SMARTS..." #~ msgstr "Escoller o SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Escoller segundo o residuo..." #~ msgid "Add Named Selection..." #~ msgstr "Engadir unha escolla con nome..." #~ msgid "SMARTS Selection" #~ msgstr "Selección de SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Padrón do SMARTS a escoller" #~ msgid "Select by residue" #~ msgstr "Escoller segundo o residuo" #~ msgid "Residue name" #~ msgstr "Nome do residuo" #~ msgid "There is no current selection." #~ msgstr "Non hai nada escollido." #~ msgid "Add Named Selection" #~ msgstr "Engadir unha escolla con nome" #~ msgid "Name cannot be empty." #~ msgstr "O nome non pode estar en branco." #~ msgid "There is already a selection with this name." #~ msgstr "Xa hai unha escolla con ese nome." #~ msgid "Selections" #~ msgstr "Escollas" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Escoller átomos, enlaces, residuos..." #~ msgid "GLSL Shaders..." #~ msgstr "Sombreadores GLSL..." #~ msgid "Open a vertex shader source file" #~ msgstr "Abre un ficheiro de código fonte de sombreador de vértices" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Ficheiros de sombreador de vértices (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Abre un ficheiro de código fonte de sombreador de fragmentos" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Ficheiros de sombreador de fragmentos (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Abrir un ficheiro de parámetros do sombreador" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Ficheiros de parámetros do sombreador (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "Sombreadores GLSL" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Carga e emprega sombreadores GLSL de OpenGL 2.0" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensidade (uds. arbitrarias)" #~ msgid "Energy (eV)" #~ msgstr "Enerxía (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Densidade de estados (estados/cela)" #~ msgid "Density of States (states/atom)" #~ msgstr "Densidade de estados (estados/átomo)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Densidade de estados (estados/valencia electrónica)" #~ msgid "Transmittance (%)" #~ msgstr "Transmitancia (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbancia (%)" #~ msgid "No intensities" #~ msgstr "Non hai intensidades" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Os datos de vibración da molécula que cargou non posúen ningún dato de " #~ "intensidade. Definíronse valores de intensidade arbitrarios para permitir " #~ "a visualización." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Número de onda (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Desprazamento (ppm)" #~ msgid "Activity" #~ msgstr "Actividade" #~ msgid "Intensity" #~ msgstr "Intensidade" #~ msgid "X Axis" #~ msgstr "Eixo X" #~ msgid "Y Axis" #~ msgstr "Eixo Y" #~ msgid "&Appearance" #~ msgstr "&Aparencia" #~ msgid "E&xport Image" #~ msgstr "Exportar a imaxe" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infravermellos" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Configuración do espectro de &infravermellos" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "RMN" #~ msgid "&NMR Spectra Settings" #~ msgstr "Configuración do espectro de &RMN" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DDE" #~ msgid "&Density Of States Settings" #~ msgstr "Configuración da &densidade de estados" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "Configuración do &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "Configuración do &CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "Configuración de &Raman" #~ msgid "No data" #~ msgstr "Non hai datos" #~ msgid "Dark" #~ msgstr "Escuro" #~ msgid "Light" #~ msgstr "Claro" #~ msgid "Publication" #~ msgstr "Publicación" #~ msgid "Handdrawn" #~ msgstr "Debuxado á mao" #~ msgid "New Scheme" #~ msgstr "Esquema novo" #~ msgid "Confirm Scheme Removal" #~ msgstr "Confirme a eliminación do esquema" #~ msgid "Really remove current scheme?" #~ msgstr "Desexa realmente eliminar este esquema?" #~ msgid "Change Scheme Name" #~ msgstr "Mudar o nome do esquema" #~ msgid "Enter new name for current scheme:" #~ msgstr "Introduza o nome novo do esquema actual:" #~ msgid "Select Background Color" #~ msgstr "Escoller a cor de fondo" #~ msgid "Select Foreground Color" #~ msgstr "Escoller a cor do primeiro plano" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Escoller a cor do espectro calculado" #~ msgid "Select Imported Spectra Color" #~ msgstr "Escoller a cor do espectro importado" #~ msgid "Export Calculated Spectrum" #~ msgstr "Exportar o espectro calculado" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Valores separados por tabuladores (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Valores separados por tabuladores" #~ msgid "Comma Separated Values" #~ msgstr "Valores separados por vírgulas" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importar un espectro" #~ msgid "Spectra Import" #~ msgstr "Importación de espectro" #~ msgid "Unknown extension: %1" #~ msgstr "Extensión descoñecida: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "Datos IR do PWscf (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Datos IR do Turbomole (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Datos UV do Turbomole (espectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Datos CD do Turbomole (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Formato dos datos" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Formato:" #~ msgid "Load Spectral Data" #~ msgstr "Cargar datos espectrais" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "O ficheiro CD do Turbomole está formatado incorrectamente: %1" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Formato TIFF" # skip-rule: PT-2010-window #~ msgid "Windows Bitmap" #~ msgstr "Bitmap de Windows" #~ msgid "Portable Pixmap" #~ msgstr "Mapa de Píxeis Portábel" #~ msgid "X11 Bitmap" #~ msgstr "Mapa de bits de X11" #~ msgid "X11 Pixmap" #~ msgstr "Mapa de píxeles de X11" #~ msgid "Save Spectra Image" #~ msgstr "Gardar a imaxe espectral" #~ msgid "&Advanced <<" #~ msgstr "&Avanzado <<" #~ msgid "&Advanced >>" #~ msgstr "&Avanzado >>" #~ msgid "&Spectra..." #~ msgstr "&Espectros..." #~ msgid "Spectra" #~ msgstr "Espectros" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualiza datos espectrais obtidos de cálculos químicos cuánticos" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Análise vibracional" #~ msgid "No vibrational displacements exist." #~ msgstr "Non existe ningún desprazamento por vibración." #~ msgid "Vibration" #~ msgstr "Vibración" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "" #~ "Visualiza os modos de vibración obtidos de cálculos químicos cuánticos" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Ordenando %1 vibracións segundo a frecuencia..." #~ msgid "Pause" #~ msgstr "Pausar" #~ msgid "Super Cell Builder..." #~ msgstr "Construtor de super celas..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Este documento actualmente é unha molécula isolada, debe crear unha cela " #~ "unidade." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Constrúe e mostra super celas cristalográficas" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbitais moleculares..." #~ msgid "Orbitals" #~ msgstr "Orbitais" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Orbital" #~ msgid "Status" #~ msgstr "Estado" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Nada" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potencial electrostático" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Densidade electrónica" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbital molecular" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Erro: tipo indefinido" #~ msgid "Create Surfaces..." #~ msgstr "Crear superficies..." #~ msgid "Calculating VdW Cube" #~ msgstr "Calculando o cubo de VdW" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calculando o OM %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Densidade electrónica" #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Calcula orbitais moleculares e outras superficies" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "Non se inicializou correctamente o widget GL para poder gravar un vídeo" #~ msgid "GL widget has no molecule" #~ msgstr "O widget Gl non ten ningunha molécula" #~ msgid "Building video " #~ msgstr "A construír o vídeo " #~ msgid "Could not run povray." #~ msgstr "Non foi posíbel executar o povray." #~ msgid "Could not run mencoder." #~ msgstr "Non foi posíbel executar o mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Definir as proporcións" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "A escena actual do Avogadro ten %1x%2 píxeles polo que ten unhas " #~ "proporcións de %3.\n" #~ "Pode manter este valor, por exemplo para empregar o POV-Ray para xerar " #~ "unha imaxe de %4x1000 píxeles, ou pode introducir calquera outro valor " #~ "positivo,\n" #~ "por exemplo 1 se vai empregar o POV-Ray para xerar unha imaxe cadrada, " #~ "como de 1000x1000 píxeles." #~ msgid "Connect" #~ msgstr "Conectar" #~ msgid "Disconnect" #~ msgstr "Desconectar" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Seguimento coa Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Segue o movemento empregando mandos sen fíos da Wii" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "O contexto de OpenGL non é válido.\n" #~ "Ou hai algo completamente errado da configuración de OpenGL (pode " #~ "executar algún programa OpenGL?) ou atopou un erro." #~ msgid "Debug Information" #~ msgstr "Información de depuración" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Tamaño da vista: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Átomos: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Enlaces: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: o índice %1 está fóra do alcance." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Non se permite ler de ficheiros do tipo «%1»." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Non se permite ler os ficheiros do tipo do «%1»." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Fallou a lectura da molécula co índice %1 do ficheiro «%2»." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: o índice %1 está fóra do alcance." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Non se permite escribir de ficheiros do tipo «%1»." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Non se permite escribir de ficheiros do tipo do «%1»." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Non foi posíbel abrir o ficheiro «%1» para escribir." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Non foi posíbel abrir o ficheiro «%1» para lectura" #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Fallou a substitución da molécula co índice %1 no ficheiro «%2»." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Non foi posíbel abrir o ficheiro %1 para lectura." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Non foi posíbel abrir o ficheiro «%1» para escribir nel." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Fallou a garda do ficheiro de molécula: non foi posíbel cambiar o nome do " #~ "ficheiro orixinal." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Fallou a garda do ficheiro de molécula: non foi posíbel cambiar o nome do " #~ "novo ficheiro." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Fallou a garda do ficheiro de molécula: non foi posíbel borrar o ficheiro " #~ "vello." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Fallou a escrita dunha molécula no ficheiro «%1». Fallou a función do " #~ "OpenBabel." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Non foi posíbel abrir o ficheiro «%1» para escribir nel." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Fallou a escrita dos confórmeros no ficheiro «%1»." #~ msgid "Molecule %1" #~ msgstr "Molécula %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Motor de Python descoñecido" #~ msgid "N/A" #~ msgstr "N/D" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: comprobando " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " , o script non ten definida a clase «Engine»" #~ msgid " - no module" #~ msgstr " , non hai módulo" #~ msgid "Unknown Python Extension" #~ msgstr "Extensión descoñecida de Python" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: comprobando " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " , o script non ten definida a clase «Extension»" #~ msgid "Unknown Python Tool" #~ msgstr "Utilidade descoñecida de Python" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: comprobando " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " , o script non ten definida a clase «Tool»" #~ msgid "Conformer %1" #~ msgstr "Confórmero %1" #~ msgid "Tools" #~ msgstr "Utilidades" #~ msgid "Axis:" #~ msgstr "Eixe:" #~ msgid "Align:" #~ msgstr "Aliñar:" #~ msgid "Everything" #~ msgstr "Todo" #~ msgid "Align" #~ msgstr "Aliñar" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Aliña moléculas sobre un eixo cartesiano" #~ msgid "Align Settings" #~ msgstr "Configuración do aliñamento" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Non foi posíbel configurar o campo de forzas..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Núm. de restricións: %1" #~ msgid "Steps per Update:" #~ msgstr "Pasos por actualización:" #~ msgid "Algorithm:" #~ msgstr "Algoritmo:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dinámica molecular (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinámica molecular (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinámica molecular (900K)" #~ msgid "Start" #~ msgstr "Comezar" #~ msgid "Fixed atoms are movable" #~ msgstr "Os átomos fixos poden moverse" #~ msgid "Ignored atoms are movable" #~ msgstr "Os átomos ignorados poden moverse" #~ msgid "AutoOpt Molecule" #~ msgstr "Optimizar automaticamente a molécula" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Optimización automática da xeometría molecular" #~ msgid "AutoOptimization Settings" #~ msgstr "Configuración da optimización" #~ msgid "Auto Rotation Tool" #~ msgstr "Utilidade de rotación automática" #~ msgid "x rotation:" #~ msgstr "Rotación en X:" #~ msgid "x rotation" #~ msgstr "rotación en X" #~ msgid "y rotation:" #~ msgstr "Rotación en Y:" #~ msgid "y rotation" #~ msgstr "rotación en y" #~ msgid "z rotation:" #~ msgstr "Rotación en Z:" #~ msgid "z rotation" #~ msgstr "rotación en Z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Rotación automática das moléculas" #~ msgid "AutoRotate Settings" #~ msgstr "Configuración da rotación automática" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Lonxitude do enlace: %L1" #~ msgid " Show Angles" #~ msgstr " Mostrar os ángulos" #~ msgid "Snap-to Threshold: " #~ msgstr "Axustar ao límite: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Manipular o enlace central" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulación de lonxitudes, ángulos e torsións de enlace" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Configuración da manipulación de enlaces" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distancia (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Ángulo: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distancia (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Ángulo diedro: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distancia(s):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Mide as lonxitudes, ángulos e diedros dos enlaces" #~ msgid "Delete Atom" #~ msgstr "Borrar o átomo" #~ msgid "Draw Bond" #~ msgstr "Debuxar un enlace" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Debuxar e editar átomos e enlaces" #~ msgid "Draw Settings" #~ msgstr "Configuración do debuxo" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Traslade, rote e axuste os átomos e fragmentos" #~ msgid "Manipulate Settings" #~ msgstr "Configuración da manipulación" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Traslade, rote e amplíe a vista actual" #~ msgid "Navigate Settings" #~ msgstr "Configuración da navegación" #~ msgid "Selection Mode:" #~ msgstr "Modo de selección:" #~ msgid "Atom/Bond" #~ msgstr "Átomo/Enlace" #~ msgid "Residue" #~ msgstr "Residuo" #~ msgid "Change color of the atom" #~ msgstr "Cambiar a cor do átomo" #~ msgid "Change label of the atom" #~ msgstr "Cambiar a etiquetas do átomo" #~ msgid "New Label:" #~ msgstr "Nova etiqueta:" #~ msgid "Change label of the bond" #~ msgstr "Cambiar a etiquetas do enlace" #~ msgid "Change radius of the atom" #~ msgstr "Cambiar o raio do átomo" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Novo raio, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Escolle átomos, residuos e moléculas" #~ msgid "Symbol" #~ msgstr "Símbolo" #~ msgid "Bond Length" #~ msgstr "Lonxitude do enlace" #~ msgid "Bond Angle" #~ msgstr "Ángulo do enlace" #~ msgid "Dihedral Angle" #~ msgstr "Ángulo diedro" #~ msgid "Z Matrix Editor..." #~ msgstr "Editor da matriz Z..." #~ msgid "Z-Matrix" #~ msgstr "Matriz Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Crear/Editar unha matriz Z" #~ msgid "Z-Matrix Settings" #~ msgstr "Configuración da matriz Z" #~ msgid "Residue Color Settings" #~ msgstr "Configuración da cor do residuo" #~ msgid "Color residues by:" #~ msgstr "Cor dos residuos segundo:" #~ msgid "Amino Colors" #~ msgstr "Cores amino" #~ msgid "Shapely Colors" #~ msgstr "Cores de formas" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobicidade" #~ msgid "Axes:" #~ msgstr "Eixos:" #~ msgid "Cartesian Axes" #~ msgstr "Eixos cartesianos" #~ msgid "Orthogonal Axes" #~ msgstr "Eixos ortogonais" #~ msgid "Axis 1:" #~ msgstr "Eixo 1:" #~ msgid "Axis 2:" #~ msgstr "Eixo 2:" #~ msgid "Axis 3:" #~ msgstr "Eixe %1" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Orixe:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norma" #~ msgid "Preserve vector norms" #~ msgstr "Preservar as normas dos vectores" #~ msgid "Atom Radius:" #~ msgstr "Raio atómico:" #~ msgid "Bond Radius:" #~ msgstr "Raio do enlace:" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Helix" #~ msgstr "Hélice" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Folla" #~ msgid "Loop" #~ msgstr "Bucle" #~ msgid "Colors" #~ msgstr "Cores" #~ msgid "Dipole:" #~ msgstr "Dipolo:" #~ msgid "Dipole Moment" #~ msgstr "Momento dipolar" #~ msgid "Custom Vector" #~ msgstr "Vector personalizado" #~ msgid "Custom:" #~ msgstr "Personalizado:" #~ msgid "Width:" #~ msgstr "Largura:" #~ msgid "Cut-off radius:" #~ msgstr "Raio de corte:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Ángulo de corte:" #~ msgid "Rendering Engine:" #~ msgstr "Motor de renderización:" #~ msgid "TextRenderer" #~ msgstr "TextRenderer" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Etiquetas dos átomos" #~ msgid "Text:" #~ msgstr "Texto:" #~ msgid "Color:" #~ msgstr "Cor:" #~ msgid "None" #~ msgstr "Ningún" #~ msgid "Symbol & Number in Group" #~ msgstr "Símbolo e número nun grupo" #~ msgid "Symbol & Atom number" #~ msgstr "Símbolo e número atómico" #~ msgid "Formal charge" #~ msgstr "Carga formal" #~ msgid "Partial charge" #~ msgstr "Carga parcial" #~ msgid "Residue number" #~ msgstr "Número do residuo" #~ msgid "Unique ID" #~ msgstr "ID único" #~ msgid "Custom data" #~ msgstr "Datos personalizados" #~ msgid "Change Font" #~ msgstr "Cambiar o tipo de letra" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Cambio de etiqueta:" #~ msgid "Bond Labels" #~ msgstr "Etiquetas do enlace" #~ msgid "Bond length" #~ msgstr "Lonxitude do enlace" #~ msgid "Bond number" #~ msgstr "Número do enlace" #~ msgid "Bond order" #~ msgstr "Orde do enlace" #~ msgid "Rendering:" #~ msgstr "Debuxo:" #~ msgid "Backbone" #~ msgstr "Esqueleto" #~ msgid "Lines" #~ msgstr "Liñas" #~ msgid "Radius:" #~ msgstr "Raio:" #~ msgid "Include Nitrogens" #~ msgstr "Incluír os nitróxenos" #~ msgid "VdW Opacity:" #~ msgstr "Opacidade de VdW:" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Debuxar:" #~ msgid "Fill" #~ msgstr "Encher" #~ msgid "Points" #~ msgstr "Puntos" #~ msgid "Draw Box:" #~ msgstr "Caixa de debuxo:" #~ msgid "Style:" #~ msgstr "Estilo:" #~ msgid "Selected Colors" #~ msgstr "Cores escollidas" #~ msgid "Mapped Colors" #~ msgstr "Cores mapeadas" #~ msgid "Colors:" #~ msgstr "Cores:" #~ msgid "Positive" #~ msgstr "Positivo" #~ msgid "Negative" #~ msgstr "Negativo" #~ msgid "Show Atoms" #~ msgstr "Mostrar os átomos" #~ msgid "Animate Trajectory" #~ msgstr "Animas a traxectoria" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Bucle" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Gardar como .avi..." #~ msgid "Angstroms" #~ msgstr "Angstroms" #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYX, só as coordenadas" #~ msgid "GAMESS Input #2" #~ msgstr "Entrada de GAMESS núm. 2" #~ msgid "Priroda Input" #~ msgstr "Entrada de Priroda" #~ msgid "Apply Changes" #~ msgstr "Aplicar as modificacións" #~ msgid "Cut All" #~ msgstr "Cortar todo" #~ msgid "Paste to the End" #~ msgstr "Pegar até o final" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Pegue ou edite aquí as " #~ "coordenadas atómicas. Pode pegar case que calquera fragmento de texto que " #~ "conteña coordenadas

" #~ msgid "(None)" #~ msgstr "(Ningunha)" #~ msgid "Sort by " #~ msgstr "Ordenar segundo " #~ msgid "Conformer Search" #~ msgstr "Busca de confórmeros" #~ msgid "Method" #~ msgstr "Método" #~ msgid "Number of atoms:" #~ msgstr "Número de átomos:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Número de enlaces rotacionais:" #~ msgid "Number of conformers" #~ msgstr "Número de confórmeros" #~ msgid "Systematic rotor search" #~ msgstr "Busca sistemática de rotores" #~ msgid "Random rotor search" #~ msgstr "Busca aleatoria de rotores" #~ msgid "Weighted rotor search" #~ msgstr "Busca ponderada de rotores" #~ msgid "Energy" #~ msgstr "Enerxía" #~ msgid "Constraints" #~ msgstr "Restricións" #~ msgid "Add Constraints" #~ msgstr "Engadir restricións" #~ msgid "Ignore Atom" #~ msgstr "Ignorar o átomo" #~ msgid "Fix Atom" #~ msgstr "Fixar o átomo" #~ msgid "Fix Atom X" #~ msgstr "Fixar o átomo X" #~ msgid "Fix Atom Y" #~ msgstr "Fixar o átomo Y" #~ msgid "Fix Atom Z" #~ msgstr "Fixar o átomo Z" #~ msgid "Torsion angle" #~ msgstr "Ángulo de torsión" #~ msgid "Constraint Value" #~ msgstr "Valor da restrición" #~ msgid "Atom Indices" #~ msgstr "Índices atómicos" #~ msgid "Add" #~ msgstr "Engadir" #~ msgid "Save" #~ msgstr "Gardar" #~ msgid "Load" #~ msgstr "Cargar" #~ msgid "Atomic &identites:" #~ msgstr "&Identidades atómicas" #~ msgid "&Reset" #~ msgstr "&Restaurar" #~ msgid " °" #~ msgstr " °" #~ msgid "&Translate " #~ msgstr "&Transladar " #~ msgid "by arbitrary vector" #~ msgstr "segundo un vector arbitrario" #~ msgid "selected atom to origin" #~ msgstr "do atomo seleccionado na orixe" #~ msgid "Translation vector:" #~ msgstr "Vector de translación :" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "&Unidades do vector :" #~ msgid "Cartesian" #~ msgstr "Cartesiano" #~ msgid "&Translate" #~ msgstr "&Transladar" #~ msgid "All" #~ msgstr "Todos" #~ msgid "File Import..." #~ msgstr "Importar un ficheiro..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Tenta ver os enlaces?" #~ msgid "Setup Force Field" #~ msgstr "Configurar o campo de forzas" #~ msgid "Force Field" #~ msgstr "Campo de forzas" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Cantidade de pasos:" #~ msgid "Algorithm" #~ msgstr "Algoritmo" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Outro" #~ msgid "Insert Fragment..." #~ msgstr "Inserir un fragmento..." #~ msgid "Peptide Builder" #~ msgstr "Construtor de péptidos" #~ msgid "Alanine" #~ msgstr "Alanina" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arxinina" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparaxina" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Ácido aspártico" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cisteína" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Ácido glutámico" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamina" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glicina" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidina" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucina" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valina" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirosina" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Triptofano" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treonina" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serina" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolina" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanina" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionina" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lisina" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucina" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminoácidos:" #~ msgid "Sequence (N to C):" #~ msgstr "Secuencia (de N até C):" #~ msgid "Stereochemistry:" #~ msgstr "Estereoquímica:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N terminal:" #~ msgid "C Terminus:" #~ msgstr "C terminal:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Cadea recta" #~ msgid "Alpha Helix" #~ msgstr "Hélice alfa" #~ msgid "Beta Sheet" #~ msgstr "Folla beta" #~ msgid "3-10 Helix" #~ msgstr "Hélice 3-10" #~ msgid "Pi Helix" #~ msgstr "Hélice Pi" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Número da cadea:" #~ msgid "The chain number for the new peptide" #~ msgstr "O número da cadea do novo péptido" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Propiedades da molécula" #~ msgid "Number of Residues:" #~ msgstr "Número de residuos:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Enerxía (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Momento dipolar (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Nome IUPAC da molécula:" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Avanzado" #~ msgid "Control" #~ msgstr "Control" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Datos" #~ msgid "Nothing" #~ msgstr "Nada" #~ msgid "Grid" #~ msgstr "Grella" #~ msgid "POV-Ray Export" #~ msgstr "Exportar a POV-Ray" #~ msgid "Select..." #~ msgstr "Escoller..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "qwe,+ r¡v153" #~ msgid "Antialias" #~ msgstr "Antialias" #~ msgid "Set the background color to be transparent" #~ msgstr "Define a cor de fondo como transparente" #~ msgid "Alpha transparency" #~ msgstr "Transparencia alfa" #~ msgid "Command:" #~ msgstr "Orde:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "" #~ "Debuxa a molécula directamente empregando a liña de ordes do POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Mantén a fonte do POV-Ray tras completar o debuxo" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Manter a fonte do POV-Ray tras debuxar" #~ msgid "Path:" #~ msgstr "Ruta:" #~ msgid "Abinit Input" #~ msgstr "Entrada de Abinit" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Cartesiano (Angstrom)" #~ msgid "Reduced" #~ msgstr "Reducido" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Tolerancia nas forzas (Ha/bohr) :" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Número de bandas:" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Total Energy" #~ msgstr "Enerxía total" #~ msgid "Wave Function norm" #~ msgstr "Norma da función de onda" #~ msgid "Total Potential" #~ msgstr "Potencial total" #~ msgid "Maximum Force" #~ msgstr "Forza máxima" #~ msgid "Relative Force" #~ msgstr "Forza relativa" #~ msgid "1 - semiconducting" #~ msgstr "1 - semiconductor" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi Dirac" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Optimización da xeometría:" #~ msgid "0 - no moving ions " #~ msgstr "0 - ningún ión móbil " #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS con enerxía" #~ msgid "# Geometrical time steps:" #~ msgstr "# Intervalos de tempo xeométricos:" #~ msgid "Use Form" #~ msgstr "Usar a forma" #~ msgid "Compute..." #~ msgstr "Calcular..." #~ msgid "Dalton Input" #~ msgstr "Entrada de Dalton" #~ msgid "Basics" #~ msgstr "Fundamentos" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Engade á liña de título do ficheiro de entrada o que escriba, para " #~ "servirlle\n" #~ "de información." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Funcións de base:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Estilo Pople" #~ msgid "Jensen's polarization consistent" #~ msgstr "Consistente coa polarización de Jensen" #~ msgid "Dunning's correlation consistent" #~ msgstr "Consistente coa correlación de Dunning" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Funcións de correlación do core" #~ msgid "Diffuse functions" #~ msgstr "Funcións difusas" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Funcións de polarización" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Directo" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Executa en paralelo cando se poida, pero só se pode para cálculos de " #~ "funcións\n" #~ "de onda SCF e DFT. A versión actual de Dalton só soporta MPI e debe\n" #~ "estar compilado e instalado correctamente. O número de nodos defínese " #~ "empregando\n" #~ "a opción «-N #» cando se executa o script «dalton»." #~ msgid "Parallel" #~ msgstr "Paralelo" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Funcional:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Densidade:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Integración da carga:" #~ msgid "Grid Specification" #~ msgstr "Especificación da grella" #~ msgid "Partitioning Scheme:" #~ msgstr "Esquema de particionamento:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (orixinal)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Calidade da grella:" #~ msgid "coarse" #~ msgstr "groseira" #~ msgid "normal" #~ msgstr "normal" #~ msgid "fine" #~ msgstr "fino" #~ msgid "ultrafine" #~ msgstr "ultrafino" #~ msgid "Radial Scheme:" #~ msgstr "Esquema radial:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Mostrar todas as funcionais" #~ msgid "Property:" #~ msgstr "Propiedade:" #~ msgid "Polarizability" #~ msgstr "Polarizabilidade" #~ msgid "Excitation Energy" #~ msgstr "Enerxía de excitación" #~ msgid "Frequency Dependent" #~ msgstr "Dependente da frecuencia" #~ msgid "No. excitations:" #~ msgstr "Núm. excitacións:" #~ msgid "EFP Matches" #~ msgstr "Coincidencias EFP" #~ msgid "Group Label:" #~ msgstr "Etiqueta do grupo:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Configuración &avanzada" #~ msgid "Hessian" #~ msgstr "Hessiano" #~ msgid "Stat Point" #~ msgstr "Punto de estado" #~ msgid "System" #~ msgstr "Sistema" #~ msgid "MO Guess" #~ msgstr "Estimación do OM" #~ msgid "Misc" #~ msgstr "Diversos" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Funcións de polarización de átomos pesados:" #~ msgid "Read" #~ msgstr "Ler" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Orbital S difuso nos átomos pesados" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Orbital L difuso nos átomos pesados" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Valencia dupla zeta" #~ msgid "Dunning/Hay DZ" #~ msgstr "DZ de Dunning/Hay" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Valencia tripla zeta" #~ msgid "SBKJA Valence" #~ msgstr "Valencia SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "Valencia de Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Tipo de ECP:" #~ msgid "Default" #~ msgstr "Predeterminado" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Funcións de polarización de átomos pesados:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#Funcións de polarización dos átomos lixeiros:" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "Número máximo de iteracións SCF:" #~ msgid "Gradient" #~ msgstr "Gradiente" #~ msgid "Optimization" #~ msgstr "Optimización" #~ msgid "Trudge" #~ msgstr "Marcha" #~ msgid "Saddle Point" #~ msgstr "Punto de cadeira" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Gradiente extremo" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Superficie de enerxía" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Momento de transición radiativa" #~ msgid "Spin Orbit" #~ msgstr "Orbita de spin" #~ msgid "Finite Electric Field" #~ msgstr "Campo eléctrico finito" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Optimización global" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Optimización FMO" #~ msgid "Raman Intensities" #~ msgstr "Intensidades de Raman" #~ msgid "NMR" #~ msgstr "RMN" #~ msgid "Make EFP" #~ msgstr "Facer EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Ningún (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Tipo de SCF:" #~ msgid "Localization Method:" #~ msgstr "Método de localización:" #~ msgid "Exec Type:" #~ msgstr "Tipo de execución:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Determinante do Lab. de Ames" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Espazo activo múltiplo restrinxido pola ocupación" #~ msgid "CI Singles" #~ msgstr "CI individuais" #~ msgid "Full Second Order CI" #~ msgstr "CI completo de segunda orde" #~ msgid "General CI" #~ msgstr "CI xeral" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: CC linearizada" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC con pares" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC con individuais e pares" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Execución normal" #~ msgid "Check" #~ msgstr "Verificar" #~ msgid "Debug" #~ msgstr "Depurar" #~ msgid "Molecule Charge:" #~ msgstr "Carga da molécula:" #~ msgid "Run Type:" #~ msgstr "Tipo de execución:" #~ msgid "Use MP2" #~ msgstr "Empregar MP2" #~ msgid "Use DFT" #~ msgstr "Empregar DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "Número de variábeis da matriz Z" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Ordo do eixo principal:" #~ msgid "Coordinate Type:" #~ msgstr "Tipo de coordenadas:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Coordenadas cartesiana únicas" #~ msgid "Hilderbrant internals" #~ msgstr "Internas de Hilderbrant" #~ msgid "MOPAC Z-Matrix" #~ msgstr "Matriz Z do MOPAC" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Empregar simetría durante o cálculo" #~ msgid "Point Group:" #~ msgstr "Grupo puntual:" #~ msgid "Minutes" #~ msgstr "Minutos" #~ msgid "Hours" #~ msgstr "Horas" #~ msgid "Days" #~ msgstr "Días" #~ msgid "Weeks" #~ msgstr "Semanas" #~ msgid "Years" #~ msgstr "Anos" #~ msgid "Millenia" #~ msgstr "Milenios" #~ msgid "MegaWords" #~ msgstr "Megapalabras" #~ msgid "MegaBytes" #~ msgstr "Megabytes" #~ msgid "GigaWords" #~ msgstr "Gigapalabras" #~ msgid "GigaBytes" #~ msgstr "Gigabytes" #~ msgid "Force Parallel Methods" #~ msgstr "Forzar o uso de métodos paralelos" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Producir ficheiros «core» ao interromper" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memoria:" #~ msgid "Diagonalization Method:" #~ msgstr "Método de diagonalización:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Tipo de repartición da carga en paralelo" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Bucle" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Seguinte valor" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Usar a representación externa dos datos nas mensaxes" #~ msgid "Initial Guess:" #~ msgstr "Estimación inicial:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "OM lido ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "OM gardado (DICTNRY)" #~ msgid "Skip" #~ msgstr "Omitir" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Rotar os orbitais alfa e beta" #~ msgid "Print the Initial Guess" #~ msgstr "Mostrar a estimación inicial" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Interface de GAMESS para outros códigos" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Forzar unha verificación do tipo de execución" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (Versión do UK)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvatar con auga" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Xerar orbitais UHF naturais" #~ msgid "Direct SCF" #~ msgstr "SCF directo" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Calcular só o modificado na matriz de Fock" #~ msgid "Slater exchange" #~ msgstr "Intercambio de Slater" #~ msgid "Becke 1988 exchange" #~ msgstr "Intercambio de Becke 1988" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Correlación de Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Correlación de Lee-Yang-Parr" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Intercambio de Slater + correlación de VWN" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: Intercambio de BECKE + correlación de VWN5" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: Intercambio de BECKE + correlación de LYP" #~ msgid "Gill 1996 exchange" #~ msgstr "Intercambio de Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Intercambio de Perdew-Burke-Ernzerhof (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: Correlación progresiva de un parámetro" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + correlación de Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + correlación de OP" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: intercambio de BECKE + correlación de OP" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: intercambio de GILL + correlación de VWN5" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: intercambio de GILL + correlación de LYP" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: intercambio de PBE + correlación de VWN6" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: intercambio de PBE + correlación de LYP" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: intercambio de PBE + correlación de OP" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: Intercambio de HF e BECKE + correlación de LYP" #~ msgid "Grid-Free" #~ msgstr "Sen grella" #~ msgid "DFT Functional:" #~ msgstr "DFT funcional:" #~ msgid "Method:" #~ msgstr "Método:" #~ msgid "AO Integral Storage" #~ msgstr "Almacén integral AO" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplicado en cada nodo" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distribuído por todos os nodos" #~ msgid "words" #~ msgstr "palabras" #~ msgid "Compute MP2 Properties" #~ msgstr "Calcular as propriedades MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Límite de retención integral:" #~ msgid "Use Localized Orbitals" #~ msgstr "Usar orbitais localizados" #~ msgid "# of Core Electrons:" #~ msgstr "Número de electróns do núcleo:" #~ msgid "Transformation Method" #~ msgstr "Método de transformación" #~ msgid "Two Phase Bin Sort" #~ msgstr "Ordenación binaria en dúas fases" #~ msgid "Segmented Transformation" #~ msgstr "Transformación segmentada" #~ msgid "Analytic" #~ msgstr "Analítico" #~ msgid "Numeric" #~ msgstr "Numérico" #~ msgid "Double Differenced Hessian" #~ msgstr "Hessiana dupla diferenciada" #~ msgid "Print Internal Force Constants" #~ msgstr "Mostrar as constantes de forma interna" #~ msgid "Displacement Size:" #~ msgstr "Tamaño do desprazamento:" #~ msgid "Purify Hessian" #~ msgstr "Purificar a hessiana" #~ msgid "Frequency Scale Factor:" #~ msgstr "Factor de escala da frecuencia:" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Hessiana inicial" #~ msgid "Guess (+ define)" #~ msgstr "Estimar (+ definir)" #~ msgid "Read (from $HESS)" #~ msgstr "Ler (de $HESS)" #~ msgid "Update Step Size" #~ msgstr "Actualizar o tamaño do paso" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Mostrar os orbitais en cada iteración" #~ msgid "Jump Size:" #~ msgstr "Tamaño do salto:" #~ msgid "Stationary Point" #~ msgstr "Punto estacionario" #~ msgid "Step Size" #~ msgstr "Tamaño do paso" #~ msgid "Maximum:" #~ msgstr "Máximo:" #~ msgid "Minimum:" #~ msgstr "Mínimo:" #~ msgid "Initial:" #~ msgstr "Inicial:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Optimización da función racional" #~ msgid "Quadratic Approximation" #~ msgstr "Aproximación cadrática" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Optimización restrinxida" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Recalcular a hessiana a cada:" #~ msgid "Follow Mode:" #~ msgstr "Modo de seguimento:" #~ msgid "Maximum Steps:" #~ msgstr "Número máximo de pasos:" #~ msgid "GAMESS-UK Input" #~ msgstr "Entrada do GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Entrada do GAMESS-UK xerada por Avogadro" #~ msgid "Transition State Search" #~ msgstr "Busca do estado de transición" #~ msgid "Basis:" #~ msgstr "Base:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Matriz Z" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "No modo directo as integrais non se gardan no disco senón que se " #~ "recalculan segundo fagan falla.\n" #~ "Nos ordenadores modernos, con procesadores rápidos e discos lentos, o " #~ "directorio xeralmente é máis rápido." #~ msgid "Run in direct mode:" #~ msgstr "Executar no modo directo:" #~ msgid "Gaussian Input" #~ msgstr "Entrada do Gaussian" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Estándar" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Punto de control:" #~ msgid "Z-matrix (compact)" #~ msgstr "Matriz Z (compacta)" #~ msgid "MOLPRO Input" #~ msgstr "Entrada do MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Versión do Molpro:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Entrada do MOPAC" #~ msgid "Quartet" #~ msgstr "Cuarteto" #~ msgid "Quintet" #~ msgstr "Quinteto" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Entrada de NWChem" #~ msgid "Q-Chem Input" #~ msgstr "Entrada do Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "Cargar sombreadores" #~ msgid "Shader Name:" #~ msgstr "Nome da sombra:" #~ msgid "Vertex Shader:" #~ msgstr "Sombra de vértices:" #~ msgid "Fragment Shader:" #~ msgstr "Sombra por anacos:" #~ msgid "Assign Shader" #~ msgstr "Asignar un sombreador" #~ msgid "Display Type:" #~ msgstr "Tipo de visualización:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Controles:\n" #~ "Duplo clic esquerdo: Restaurar os límites predeterminados dos eixos\n" #~ "Clic dereito + arrastrar: Mover o debuxo\n" #~ "Clic central + arrastrar: Ampliar á rexión\n" #~ "Rota do rato: Ampliar ao cursor" #~ msgid "&Load data..." #~ msgstr "&Cargar datos..." #~ msgid "&Close" #~ msgstr "&Pechar" #~ msgid "Calculated Spectra:" #~ msgstr "Espectros calculados:" #~ msgid "Set Color..." #~ msgstr "Estabelecer a cor..." #~ msgid "Imported Spectra:" #~ msgstr "Espectros importados:" #~ msgid "Font:" #~ msgstr "Tipo de letra:" #~ msgid "Change Font..." #~ msgstr "Cambiar o tipo de letra..." #~ msgid "Show" #~ msgstr "Mostrar" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "" #~ "Importa un tsc de espectros experimentais para sobrepolos no debuxo." #~ msgid "&Import..." #~ msgstr "&Importar..." #~ msgid "Background:" #~ msgstr "Fondo:" #~ msgid "Foreground:" #~ msgstr "Primeiro plano:" #~ msgid "New..." #~ msgstr "Novo..." #~ msgid "Rename..." #~ msgstr "Renomear..." #~ msgid "&Schemes:" #~ msgstr "E&squemas:" #~ msgid "&Export..." #~ msgstr "&Exportar..." #~ msgid "&DPI:" #~ msgstr "&PPP:" #~ msgid "&Width:" #~ msgstr "&Largura:" #~ msgid "&Height" #~ msgstr "&Altura" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "polg" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Gardar a imaxe..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Usa un valor optimizado para o tamaño da letra no canto do indicado polo " #~ "esquema (os tamaños da pantalla non se traducen ben a puntos da imaxe!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "&Axustar automaticamente o tamaño da letra" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Exportar os datos" #~ msgid "Spectra Tab" #~ msgstr "Lapela de espectros" #~ msgid "&Gaussian Width:" #~ msgstr "Largura do &Gaussian:" #~ msgid "&Label peaks" #~ msgstr "&Etiquetar os picos" #~ msgid "Rotatory Strength type:" #~ msgstr "Tipo de forza rotatoria:" #~ msgid "Energy units:" #~ msgstr "Unidades de enerxía:" #~ msgid "Density units" #~ msgstr "Unidades de densidade" #~ msgid "Fermi Energy: " #~ msgstr "Enerxía de Fermi: " #~ msgid "States / Cell" #~ msgstr "Estados / Cela" #~ msgid "States / Atom" #~ msgstr "Estados / Átomo" #~ msgid "States / Valence electron" #~ msgstr "Estados / Electrón de valencia" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Enerxía de Fermi no cero" #~ msgid "Scale integrated DOS" #~ msgstr "Escalar o DOS integrado" #~ msgid "Show integrated DOS" #~ msgstr "Mostrar o DOS integrado" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "Unidades do eixo &Y:" #~ msgid "Scaling Type:" #~ msgstr "Tipo de escalado:" #~ msgid "Linear" #~ msgstr "Linear" #~ msgid "Relative" #~ msgstr "Relativo" #~ msgid "Temperature:" #~ msgstr "Temperatura:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Número de onda do láser:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Límite:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Núcleo" #~ msgid "&Reference:" #~ msgstr "&Referencia:" #~ msgid "Gaussian &Width:" #~ msgstr "Largura do &Gaussian:" #~ msgid "Reset &Plot Axes" #~ msgstr "Restaurar os &eixos do debuxo" #~ msgid "Label Peaks:" #~ msgstr "Etiquetar os picos:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Vibracións moleculares" #~ msgid "Filter: " #~ msgstr "Filtro: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Actividade (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Mostrar os espectros..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "as vibracións de maior frecuencia exhibirán movementos máis rápidos" #~ msgid "Animation speed set by frequency" #~ msgstr "Velocidade da animación definida pola frecuencia" #~ msgid "Display force &vectors" #~ msgstr "Mostrar os &vectores de forza" #~ msgid "&Normalize displacements" #~ msgstr "&Normalizar os desprazamentos" #~ msgid "Generate Cell" #~ msgstr "Xerar a cela" #~ msgid "&Recalculate All" #~ msgstr "&Recalcular todo" #~ msgid "Default &Quality:" #~ msgstr "&Calidade predeterminada:" #~ msgid "Show occupied orbitals first" #~ msgstr "Mostrar os orbitais ocupados primeiro" #~ msgid "Quality: " #~ msgstr "Calidade: " #~ msgid "Create Surfaces" #~ msgstr "Crear as superficies" #~ msgid "Surface Type:" #~ msgstr "Tipo de superficie:" #~ msgid "Color By:" #~ msgstr "Cor segundo:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Baixa" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Media" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Alta" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Moi alta" #~ msgid "Isosurface cutoff value" #~ msgstr "Valor límite da isosuperficie" #~ msgid "Iso Value:" #~ msgstr "Valor iso:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Na visualización do tipo:" #~ msgid "New Display" #~ msgstr "Nova visualización" #~ msgid "Advanced..." #~ msgstr "Avanzado..." #~ msgid "Display visual cues" #~ msgstr "Mostrar as axudas visuais" #~ msgid "Python Settings" #~ msgstr "Configuración de Python" #~ msgid "Z Matrix Editor" #~ msgstr "Editor da matriz Z" #~ msgid "Import Selected Atoms" #~ msgstr "Importar os átomos escollidos" avogadrolibs-1.93.0/i18n/he.po000066400000000000000000003223071360735163600160140ustar00rootroot00000000000000# Hebrew translation for avogadro # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:32+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Hebrew \n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "בלתי ידוע" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, qt-format msgid "Submit %1 Calculation" msgstr "" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 msgid "Hide &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:390 msgid "Show &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "לא מזהה את מבנה הקובץ %1." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 msgid "Calculation Type" msgstr "" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 msgid "No program selected." msgstr "" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "מימן" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "הליום" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "ליתיום" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "בריליום" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "בור" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "פחמן" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "חנקן" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "חמצן" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "פלואור" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "נאון" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "נתרן" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "מגנזיום" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "אלומיניום" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "צורן" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "זרחן" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "גופרית" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "כלור" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "ארגון" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "אשלגן" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "סידן" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "סקנדיום" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "טיטניום" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "ונדיום" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "כרום" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "מנגן" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "ברזל" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "קובלט" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "ניקל" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "נחושת" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "אבץ" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "גליום" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "גרמניום" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "ארסן" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "סלניום" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "ברום" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "קריפטון" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "רובידיום" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "סטרונציום" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "איטריום" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "זירקוניום" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "ניאוביום" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "מוליבדן" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "טכנציום" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "רותניום" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "רודיום" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "פלדיום" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "כסף" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "קדמיום" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "אינדיום" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "בדיל" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "אנטימון" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "טלור" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "יוד" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "קסנון" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "צסיום" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "באריום" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "לנתן" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "צריום" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "פרסאודימיום" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "נאודימיום" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "פרומטיום" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "סמריום" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "אירופיום" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "גדוליניום" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "טרביום" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "דיספרוסיום" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "הולמיום" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "ארביום" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "תליום" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "איטרביום" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "לוטציום" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "הפניום" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "טנטלום" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "טונגסטן" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "רניום" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "אוסמיום" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "אירידיום" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "פלטינה" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "זהב" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "כספית" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "תליום" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "עופרת" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "ביסמות" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "פולוניום" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "אסטטין" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "ראדון" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "פרנציום" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "רדיום" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "אקטיניום" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "תוריום" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "פרוטקטיניום" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "אורניום" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "נפטוניום" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "פלוטוניום" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "אמריציום" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "קוריום" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "ברקליום" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "קליפורניום" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "איינשטייניום" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "פרמיום" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "מנדלביום" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "נובליום" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "לורנציום" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "רתרפורדיום" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "דובניום" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "סיבורגיום" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "בוהריום" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "האסיום" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "מייטנריום" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "דרמשטטיום" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "רנטנגניום" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "קופרניקיום" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "זירקוניום" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 msgid "Select file:" msgstr "" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 msgid "All files (*);;" msgstr "" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 msgid "Untitled" msgstr "" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "בלתי ידוע" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 msgid "Clear Atoms" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 msgid "Change Elements" msgstr "" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 msgid "Removed Bond" msgstr "" #: qtgui/rwmolecule.cpp:758 msgid "Clear Bonds" msgstr "" #: qtgui/rwmolecule.cpp:793 msgid "Set Bond Orders" msgstr "" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 msgid "Update Bond" msgstr "" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 msgid "&Export" msgstr "" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "הרחבות" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 msgid "IO Error" msgstr "" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 msgid "Success" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "מימן" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "כדור-מקל" #: qtplugins/ballandstick/ballandstick.h:47 msgid "Render atoms as spheres and bonds as cylinders." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 msgid "Bond Atoms" msgstr "" #: qtplugins/bonding/bonding.cpp:43 msgid "Remove Bonds" msgstr "" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 msgid "Filename" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 msgid "Invalid element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 msgid "Element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 msgid "Invalid element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 msgid "Element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 msgid "Invalid atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 msgid "Invalid coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,ofir, ,Launchpad Contributions:,dlonie,ofir, ," "Launchpad Contributions:,Avogadro Team,dlonie,ofir, ,Launchpad " "Contributions:,Avogadro Team,dlonie,ofir, ,Launchpad Contributions:,Avogadro " "Team,dlonie,ofir, ,Launchpad Contributions:,Avogadro Team,Moshe Jonathan " "Gordon Radian,dlonie,ofir, ,Launchpad Contributions:,Avogadro Team,Moshe " "Jonathan Gordon Radian,dlonie,ofir, ,Launchpad Contributions:,Avogadro Team," "Moshe Jonathan Gordon Radian,david volokita,dlonie,ofir, ,Launchpad " "Contributions:,Avogadro Team,Moshe Jonathan Gordon Radian,david volokita," "dlonie,ofir, ,Launchpad Contributions:,Avogadro Team,Moshe Jonathan Gordon " "Radian,david volokita,dlonie,ofir" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "צבע על פי יסוד" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 msgid "Remove Bond" msgstr "" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "צבע על פי מרחק" #: qtplugins/editor/editor.cpp:235 #, qt-format msgid "Distance: %L1 Å" msgstr "" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 msgid "GAMESS input" msgstr "" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 msgid "Single Point" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 msgid "Submit GAMESS Calculation" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "מימן" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 msgid "Remove E&xtra Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:46 msgid "&Remove All Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "מימן" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 msgid "&Import" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 msgid "Render atoms as licorice." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 msgid "Angles:" msgstr "" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "מימן" #: qtplugins/openbabel/openbabel.cpp:77 msgid "Add hydrogens for pH..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:83 msgid "Remove hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 msgid "Adding Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "Add hydrogens for pH" msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "pH:" msgstr "" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "נחושת" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "אבוגדרו" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "לא מזהה את מבנה הקובץ %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 msgid "Error: " msgstr "" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 msgid "POV-Ray Render" msgstr "" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "שמור קובץ וידאו" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 msgid "Calculating electron density" msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 msgid "Select All" msgstr "" #: qtplugins/select/select.cpp:39 msgid "Select None" msgstr "" #: qtplugins/select/select.cpp:48 msgid "Invert Selection" msgstr "" #: qtplugins/select/select.cpp:59 msgid "Change selections" msgstr "" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 msgid "Select" msgstr "" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 msgid "Selection tool" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "אבוגדרו" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "צבע על פי יסוד" #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "ספרות ואן דר ואלס" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "קווי מיתאר" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) msgid "Calculation Settings" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) msgid "Submit Calculation..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) msgid "Rename Elements" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) msgid "Ctrl+C" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) msgid "Ctrl+E" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "שמור קובץ וידאו" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "File name:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Distance Unit:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "שמור קובץ וידאו" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Formula:" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Molecular Mass (g/mol):" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Number of points:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download Selected" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "משטחים" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "משטחים" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "משטחים" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "הנפשה..." #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "הנפשה..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) msgid "Operations" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,ofir, ,Launchpad Contributions:,dlonie,ofir, ," "Launchpad Contributions:,Avogadro Team,dlonie,ofir, ,Launchpad " "Contributions:,Avogadro Team,dlonie,ofir, ,Launchpad Contributions:,Avogadro " "Team,dlonie,ofir, ,Launchpad Contributions:,Avogadro Team,Moshe Jonathan " "Gordon Radian,dlonie,ofir, ,Launchpad Contributions:,Avogadro Team,Moshe " "Jonathan Gordon Radian,dlonie,ofir, ,Launchpad Contributions:,Avogadro Team," "Moshe Jonathan Gordon Radian,david volokita,dlonie,ofir, ,Launchpad " "Contributions:,Avogadro Team,Moshe Jonathan Gordon Radian,david volokita," "dlonie,ofir, ,Launchpad Contributions:,Avogadro Team,Moshe Jonathan Gordon " "Radian,david volokita,dlonie,ofir" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,loniedavid@gmail.com,,,,avogadro-devel@lists.sourceforge.net," "loniedavid@gmail.com,,,,avogadro-devel@lists.sourceforge.net," "loniedavid@gmail.com,,,,avogadro-devel@lists.sourceforge.net," "loniedavid@gmail.com,,,,avogadro-devel@lists.sourceforge.net,," "loniedavid@gmail.com,,,,avogadro-devel@lists.sourceforge.net,," "loniedavid@gmail.com,,,,avogadro-devel@lists.sourceforge.net,," "dvolokita@gmail.com,loniedavid@gmail.com,,,,avogadro-devel@lists.sourceforge." "net,,dvolokita@gmail.com,loniedavid@gmail.com,,,,avogadro-devel@lists." "sourceforge.net,,dvolokita@gmail.com,loniedavid@gmail.com," #~ msgid "Color by Index" #~ msgstr "צבע על פי אינדקס" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "צבע על פי אינדקס (אדום, כתום, צהוב, ירוק, כחול, סגול)." #~ msgid "Color by Partial Charge" #~ msgstr "צבע על פי מטען חלקי" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "צבע על פי מטען חלקי אטומי (כחול = חיובי, אדום = שלילי)." #~ msgid "Custom Color:" #~ msgstr "צבע מותאם אישית:" #~ msgid "Custom Color" #~ msgstr "צבע מותאם אישית" #~ msgid "Set custom colors for objects" #~ msgstr "הגדר צבעים מותאמים אישית לפריטים" #~ msgid "Color by distance from the first atom." #~ msgstr "צבע על פי מרחק מהאטום הראשון." #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "צבע על פי יסוד (פחמן = אפור, חמצן = אדום, ...)." #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "צבע על פי משקע (סוג חומצת אמינו, הידרופוביות, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "דפוס SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "צבע הדגשה:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "צבע על פי דפוס SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "הדגש מאפיינים ספציפיים התואמים דפוס SMARTS." #~ msgid "Ununtrium" #~ msgstr "אונונטריום" #~ msgid "Ununpentium" #~ msgstr "אונונפנטיום" #~ msgid "Ununseptium" #~ msgstr "אונונספטיום" #~ msgid "Ununoctium" #~ msgstr "אונונאוקטיום" #~ msgid "Engines" #~ msgstr "מנועים" #~ msgid "Axes" #~ msgstr "צירים" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "מרנדר את צירי x,y,z במקור" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "מרנדר פרימיטיבים בעזרת כדורים (אטומים) ומקלות (קשרים)" #~ msgid "Cartoon" #~ msgstr "סרט" #~ msgid "Renders protein secondary structure" #~ msgstr "מרנדר מבנה שניוני של חלבון" #~ msgid "Dipole" #~ msgstr "דיפול" #~ msgid "Force" #~ msgstr "כוח" #~ msgid "Hydrogen Bond" #~ msgstr "קשר מימן" #~ msgid "Select Atom Labels Color" #~ msgstr "בחר צבע לתוויות אטומים" #~ msgid "Select Bond Labels Color" #~ msgstr "בחר צבע תוויות קשרים" #~ msgid "Select Atom Labels Font" #~ msgstr "בחר צבע תוויות אטומים" #~ msgid "Select Bond Labels Font" #~ msgstr "בחר גופן תוויות קשרים" #~ msgid "Label" #~ msgstr "תווית" #~ msgid "Polygon" #~ msgstr "פוליגון" #~ msgid "Ribbon" #~ msgstr "סרט" #~ msgid "Ring" #~ msgstr "טבעת" #~ msgid "Simple Wireframe" #~ msgstr "מיתאר פשוט" #~ msgid "Stick" #~ msgstr "מקל" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "קבצי וידאו (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "הוספת סיומת .avi" #~ msgid "Must specify a valid .avi file name" #~ msgstr "יש לציין שם קוץ .avi תקין" #~ msgid "Could not determine format from filename: %1" #~ msgstr "לא ניתן לזהות את מבנה הקובץ: %1" avogadrolibs-1.93.0/i18n/hi.po000066400000000000000000003214621360735163600160210ustar00rootroot00000000000000# Hindi translation for avogadro # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:33+0000\n" "Last-Translator: Rahul Krishna \n" "Language-Team: Hindi \n" "Language: hi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, qt-format msgid "Submit %1 Calculation" msgstr "" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 msgid "Hide &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:390 msgid "Show &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, qt-format msgid "Failed to write to file %1." msgstr "" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 msgid "Calculation Type" msgstr "" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 msgid "No program selected." msgstr "" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "हाइड्रोजन" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "हीलियम" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "लीथियम" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "बेरीलियम" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "बोरॉन" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "कार्बन" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "नाइट्रोजन" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "आक्सीजन" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "फ्लोरीन" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "नियॉन" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "सोडियम" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "मैग्नीशियम" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "एल्यूमिनियम" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "सिलिकॉन" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "फॉस्फोरस" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "सल्फर" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "क्लोरीन" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "ऑर्गन" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "पोटेशियम" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "केल्शियम" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "स्कैन्डियम" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "टाइटेनियम" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "वनेडियम" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "क्रोमियम" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "मैंगनीज़" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "लोहा" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "कोबॉल्ट" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "निकल" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "तांबा" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "ज़िंक" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "गैलियम" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "जर्मेनियम" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "ऑर्सेनिक" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "सेलेनियम" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "ब्रोमीन" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "क्रिप्टॉन" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "रूबीडियम" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "स्ट्रांशियम" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "विट्रियम" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "ज़िरकोनियम" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "नियोबियम" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "मॉलीब्डेनम" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "टेक्नेशियम" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "रुदेनियम" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "रोडियम" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "पलेडियम" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "चाँदी" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "केडमियम" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "इंडियम" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "टिन" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "एंटिमनी" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "टेलूरियम" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "आयोडीन" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "ज़ेनॉन" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "बेरियम" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "लैंथेनम" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "सीरियम" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "प्रसोडमियम" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "नियोडमियम" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "प्रोमेथियम" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "समरियम" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "यूरोपियम" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "गैडोलिनियम" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "टर्बियम" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "डायस्प्रोसियम" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "होलमियम" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "एरबियम" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "थूलियम" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "येटरबियम" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "ल्यूटेशियम" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "हाफनियम" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "टैंटेलम" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "टंग्सटन" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "रेनियम" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "ऑस्मियम" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "इरिडियम" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "प्लेटिनम" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "सोना" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "मर्क्यूरी" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "थालियम" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "सीसा लीड 3 - कैलिओप" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "बिस्मथ" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "पोलोनियम" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "अस्टाटाइन" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "राडोन" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "फ्रांसियम" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "रेडियम" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "एक्टीनियम" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "थोरियम" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "प्रोटेक्टीनियम" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "यूरेनियम" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "नेप्च्यूनियम" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "प्लूटोनियम" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "अमेरिसियम" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "क्यूरियम" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "बर्केलियम" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "केलिफोर्नियम" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "आइंस्टीनियम" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "फर्मियम" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "मेंडेलेवियम" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "नोबेलियम" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "लारेंसियम" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "रदरफोर्डियम" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "डब्नियम" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "सीबोर्जियम" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "बोरियम" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "हासियम" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "मेटनेरियम" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "डार्मस्टेडियम" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "रोंटजेनियम" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "ज़िरकोनियम" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 msgid "Select file:" msgstr "" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 msgid "All files (*);;" msgstr "" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 msgid "Untitled" msgstr "" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 msgid "Unknown error." msgstr "" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 msgid "Clear Atoms" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 msgid "Change Elements" msgstr "" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 msgid "Removed Bond" msgstr "" #: qtgui/rwmolecule.cpp:758 msgid "Clear Bonds" msgstr "" #: qtgui/rwmolecule.cpp:793 msgid "Set Bond Orders" msgstr "" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 msgid "Update Bond" msgstr "" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 msgid "&Export" msgstr "" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "&Extensions" msgstr "" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 msgid "IO Error" msgstr "" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 msgid "Success" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "हाइड्रोजन" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "" #: qtplugins/ballandstick/ballandstick.h:47 msgid "Render atoms as spheres and bonds as cylinders." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 msgid "Bond Atoms" msgstr "" #: qtplugins/bonding/bonding.cpp:43 msgid "Remove Bonds" msgstr "" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 msgid "Filename" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 msgid "Invalid element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 msgid "Element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 msgid "Invalid element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 msgid "Element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 msgid "Invalid atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 msgid "Invalid coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Geoff Hutchison, ,Launchpad Contributions:,Geoff " "Hutchison,dlonie, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison," "dlonie, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,dlonie, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,Rahul Krishna,dlonie, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Rahul Krishna," "dlonie, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Rahul " "Krishna,dlonie" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "तत्व द्वारा रंग" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 msgid "Remove Bond" msgstr "" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "दूरी के अनुसार रंग" #: qtplugins/editor/editor.cpp:235 #, qt-format msgid "Distance: %L1 Å" msgstr "" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 msgid "GAMESS input" msgstr "" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 msgid "Single Point" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 msgid "Submit GAMESS Calculation" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "हाइड्रोजन" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 msgid "Remove E&xtra Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:46 msgid "&Remove All Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "हाइड्रोजन" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 msgid "&Import" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 msgid "Render atoms as licorice." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 msgid "Angles:" msgstr "" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "हाइड्रोजन" #: qtplugins/openbabel/openbabel.cpp:77 msgid "Add hydrogens for pH..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:83 msgid "Remove hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 msgid "Adding Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "Add hydrogens for pH" msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "pH:" msgstr "" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "तांबा" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "" #: qtplugins/playertool/playertool.cpp:234 #, qt-format msgid "Cannot save file %1." msgstr "" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 msgid "Error: " msgstr "" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 msgid "POV-Ray Render" msgstr "" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 msgid "Save File" msgstr "" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 msgid "Calculating electron density" msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 msgid "Select All" msgstr "" #: qtplugins/select/select.cpp:39 msgid "Select None" msgstr "" #: qtplugins/select/select.cpp:48 msgid "Invert Selection" msgstr "" #: qtplugins/select/select.cpp:59 msgid "Change selections" msgstr "" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 msgid "Select" msgstr "" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 msgid "Selection tool" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 msgid "Avogadro2" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "तत्व द्वारा रंग" #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 msgid "Van der Waals (AO)" msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "पाइथन सेटिंग्स" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) msgid "Submit Calculation..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) msgid "Rename Elements" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) msgid "Ctrl+C" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) msgid "Ctrl+E" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) msgid "Save Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "File name:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Distance Unit:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Save File..." msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Formula:" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Molecular Mass (g/mol):" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Number of points:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download Selected" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) msgid "Surface Dialog" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Surface:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) msgid "Start Animation" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) msgid "Stop Animation" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) msgid "Operations" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Geoff Hutchison, ,Launchpad Contributions:,Geoff " "Hutchison,dlonie, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison," "dlonie, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,dlonie, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,Rahul Krishna,dlonie, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Rahul Krishna," "dlonie, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Rahul " "Krishna,dlonie" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,,loniedavid@gmail.com,,,avogadro-devel@lists.sourceforge.net,," "loniedavid@gmail.com,,,avogadro-devel@lists.sourceforge.net,," "loniedavid@gmail.com,,,avogadro-devel@lists.sourceforge.net,," "loniedavid@gmail.com,,,avogadro-devel@lists.sourceforge.net,," "loniedavid@gmail.com,,,avogadro-devel@lists.sourceforge.net,," "loniedavid@gmail.com,,,avogadro-devel@lists.sourceforge.net,,rahul." "krishna11@gmail.com,loniedavid@gmail.com,,,avogadro-devel@lists.sourceforge." "net,,rahul.krishna11@gmail.com,loniedavid@gmail.com,,,avogadro-devel@lists." "sourceforge.net,,rahul.krishna11@gmail.com,loniedavid@gmail.com" #~ msgid "Color by Index" #~ msgstr "सूचकांक से रंग" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "सूचकांक से रंग (लाल, नारंगी, पीला, हरा, नीला, बैंगनी)" #~ msgid "Color by Partial Charge" #~ msgstr "आंशिक चार्ज द्वारा रंग" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "परमाणु आंशिक चार्ज द्वारा रंग (नीला = सकारात्मक लाल= नकारात्मक)" #~ msgid "Custom Color:" #~ msgstr "मनपसंद रंग:" #~ msgid "Custom Color" #~ msgstr "मनपसंद रंग" #~ msgid "Set custom colors for objects" #~ msgstr "वस्तुओं के लिए मनपसंद रंग निर्धारित करें" #~ msgid "Color by distance from the first atom." #~ msgstr "पहली परमाणु से दूरी के अनुसार रंग." #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "तत्व द्वारा रंग (कार्बन = भूरे रंग के, ऑक्सीजन = लाल, ...)." #~ msgid "Color by Residue" #~ msgstr "अवशेष द्वारा रंग" #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS प्रतिमान" #~ msgid "Highlight Color:" #~ msgstr "उभारने का रंग:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "SMARTS पैटर्न द्वारा रंग" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "उभारें विशेष सुविधाओं को, जो किसी स्मर्ट्स पत्तेर्ण की तरह के हों" #~ msgid "Ununtrium" #~ msgstr "उनुन्ट्रियम" #~ msgid "Ununpentium" #~ msgstr "उनुनपेंटियम" #~ msgid "Display visual cues" #~ msgstr "दृश्य cues प्रदर्शित करें" #~ msgid "Z Matrix Editor" #~ msgstr "जेड मैट्रिक्स संपादक" avogadrolibs-1.93.0/i18n/hu.po000066400000000000000000005063301360735163600160340ustar00rootroot00000000000000# Hungarian translation for avogadro # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:35+0000\n" "Last-Translator: Geoff Hutchison \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Bemenet-generátor..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Bemenet-generátor..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Bezárás" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Ismeretlen" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Számítás megszakítása" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Figyelmeztetés" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Figyelmeztetés" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Oldószer választás" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Kimenet:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Nem tud írni fájlba." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Videofájlt nem sikerült menteni." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Videofájlt nem sikerült menteni." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Cím" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Fájl neve:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processzorok:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Számítás:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Elmélet:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Elmélet:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Bázis" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Nincs megadva molekula" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "&Animáció leállítása" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Nincs kiválaszva atom" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrogén" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Hélium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lítium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berillium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bór" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Szén" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogén" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxigén" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Nátrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnézium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alumínium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Szilícium" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Foszfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Kén" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Klór" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kálium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kalcium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Szkandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titán" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanádium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Króm" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangán" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Vas" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikkel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Réz" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Cink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germánium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arzén" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Szelén" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bróm" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Kripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubídium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Stroncium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Ittrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Cirkónium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Nióbium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdén" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technécium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruténium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Ródium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palládium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Ezüst" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Ón" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimón" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellúr" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jód" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cézium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bárium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantán" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cérium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Prazeodímium" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodímium" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promécium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Szamárium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Európium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolínium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Diszprózium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Túlium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Itterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutécium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantál" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Volfrám" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rénium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Ozmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Irídium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Arany" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Higany" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Ólom" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bizmut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polónium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Asztácium" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Rádium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktínium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Tórium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktínium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Urán" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptúnium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutónium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Amerícium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Kűrium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkélium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kalifornium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelévium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobélium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Laurencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Borium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hasszium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Röntgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Cirkónium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Böngészés..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Oldószer választás" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Kijelöltek törlése" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Minden fájl" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "névtelen" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periódusos rendszer" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03 elindítása sikertelen." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Szkriptek" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL hiba" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Ismeretlen" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Atom hozzáadása" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Atom eltávolítása" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Első atom" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Hidrogénatomok beállítása" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Elem cseréje" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Elem cseréje" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formális töltés" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Kötés hozzáadása" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Atom eltávolítása" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Kötés törlése" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Kötésrend" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Kötésrend megváltoztatása" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr "Kötés törlése" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Kötés törlése" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Egységcella kitöltése" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Egységcella kitöltése" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Egységcella kitöltése" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Szupercella" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Szupercella" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Egységcella kitöltése" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Fájl" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exportálás" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Paraméter fájl megnyitása" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Kiterjesztések" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Hiba" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Probléma a traj fájl olvasás közben: %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL hiba" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Probléma a traj fájl olvasás közben: %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Hiba" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Sikerült!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Képet sikerült elmenteni %1 néven." #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Többszörös kötések megjelenítése" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrogénatomok" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Golyók és pálcikák" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Atom és kötés nevek rajzolása" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Utolsó atom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Hidrogének eltávolítása" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Felépítés" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Kötés" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Fájl neve:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Koordinátatípus:" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Érvénytelen fájlnév" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Elem neve" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Elem szimbóluma" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Elem szimbóluma" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Érvénytelen fájlnév" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atom száma" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Érvénytelen fájlnév" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Descartes-koordináták" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Descartes-koordináták" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Descartes-koordináták" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Descartes-koordináták" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Descartes-koordináták" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Descartes-koordináták" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Balázs Attila,Csörföly Dániel,Krasznecz Zoltán, ," "Launchpad Contributions:,Avogadro Team,Balázs Attila,Csörföly Dániel," "Krasznecz Zoltán, ,Launchpad Contributions:,Avogadro Team,Balázs Attila," "Csörföly Dániel,Krasznecz Zoltán, ,Launchpad Contributions:,Avogadro Team," "Balázs Attila,Csörföly Dániel,Krasznecz Zoltán, ,Launchpad Contributions:," "Avogadro Team,Balázs Attila,Csörföly Dániel,Krasznecz Zoltán, ,Launchpad " "Contributions:,Avogadro Team,Balázs Attila,Csörföly Dániel,Krasznecz " "Zoltán, ,Launchpad Contributions:,Avogadro Team,Balázs Attila,Csörföly " "Dániel,Krasznecz Zoltán, ,Launchpad Contributions:,Avogadro Team,Balázs " "Attila,Csörföly Dániel,Zoltán Krasznecz, ,Launchpad Contributions:,Avogadro " "Team,Balázs Attila,Csörföly Dániel,Geoff Hutchison,Zoltán Krasznecz, ," "Launchpad Contributions:,Avogadro Team,Balázs Attila,Csörföly Dániel,Geoff " "Hutchison,Zoltán Krasznecz" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Descartes-koordináták" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Descartes-koordináták" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP információ" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP információ" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Egyéni" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Egységcella kitöltése" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Egységcella kitöltése" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Szupercella" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Atom és kötés nevek rajzolása" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Szín elemek szerint" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Rajzolás" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Atom rajzolása" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Kötésrend megváltoztatása" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Atom eltávolítása" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Távolság" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Távolság (3->4): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Egyéb..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOptimalizálás" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Egyszeres" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Kettős" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Hármas" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Szkriptek" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Probléma a traj fájl olvasás közben: %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Bemenet-generátor..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS bevitel" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Egyetlen pont energiája" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Egyensúlyi geometria" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Átmeneti állapot" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frekvenciák" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Mag potenciál" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gáz" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Víz" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Szinglett" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Dublett" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplett" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dikation" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Kation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Semleges" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS bevitel" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Számítás megszakítása" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Hidrogénatomok beállítása" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Hidrogének hozzáadása" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Hidrogének eltávolítása" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Hidrogének eltávolítása" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrogénatomok" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidrogénatomok" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importálás" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Atom és kötés nevek rajzolása" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Beszúrás" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Nincs leírás" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Létrehoz..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Mérés" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Diéderes:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Szög:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Szög:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Mérés" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Molekuláris izofelület-vázak megjelenítése" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "Né&zet" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Molekula tulajdonságai" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigálás beállításai" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Kémiai név" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Letöltendő kémiai szerkezet." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Hálózati letöltés megszakadt." #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Hálózati időtúllépés vagy más probléma." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "A megadott molekulát nem találtam: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Hálózati letöltés megszakadt." #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&geometria optimalizáció" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometria optimalizálása" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Kötések érzékelése?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Hidrogének hozzáadása" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Hidrogének hozzáadása pH szerint..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Hidrogének eltávolítása" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Molekula beolvasása '%1' fájlból sikertelen." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Probléma merült fel %1 írása közben." #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&geometria optimalizáció" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Létrehoz..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Trajektória fájlban %1 nem egyezik az atomok száma a jelenlegi molekuláéval." #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&geometria optimalizáció" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Hidrogének hozzáadása" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Hidrogének hozzáadása pH szerint" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Hidrogének eltávolítása" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Leállítás" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Paraméterek:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Dinamikus kötések" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Eltávolítás..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Leállítás" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Nem olvasható a fájl: %1" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Hiba" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Video fájl mentése" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Megjelenítés POV-Ray használatával" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "K&iterjesztések" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Beviteli fájlok létrehozása kvantumkémiai csomagok számára" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Elektronsűrűség számítása" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Elektronsűrűség számítása" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Moleklulapályák és más felszínek számítása" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Visszaállítás" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Kimeneti fájl generátor" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Minden törlése" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Kijelölés" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Kijelölés megfordítása" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Kijelölések" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Kijelölés" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Kijelölés" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Kijelölés" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Kijelölés" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Rezgési analízis" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Spektrum vizualizáció" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Típus" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Elem" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Kijelölés elem szerent..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Molekula dipólusmomentumainak megjelenítése." #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Megjelenítés" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Megjelenítés POV-Ray használatával" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Drótváz" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Molekulák és pálcák rajzolása" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Kijelölés beállításai" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Számítás megszakítása" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Árnyékoló program:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processzorok:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Elem cseréje" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Szerkezet:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Par fájl:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Erőtér:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Par fájl:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Video fájl mentése" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Sikerült!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Szerkezet:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Fájl betöltése..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Mérési beállítások" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Fájlnév:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigálás beállításai" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigálás beállításai" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Fájl neve:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Mégsem" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Koordinátatípus:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Visszaállítás" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Távolság" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Ǻngstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formátum:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Alkalmaz" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Szupercella paraméterei" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Szupercella beállításai" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A ismétlése:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B ismétlése:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C ismétlése:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Egységcella kitöltése" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "MOPAC Z-mátrix" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Elem" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Kötésrend:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS bevitel" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Alap beállítások" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Ebben:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicitás:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Ezzel:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Cím:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Töltés:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Fájl neve:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Mindent visszaállít" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Alapértelmezések" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Fájl betöltése..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "név" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formátum:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Nincs leírás" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molekulasúly (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "Tennivalók" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Kémiai képlet:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Atomok száma:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Kötések száma:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometria optimalizálása" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimalizálási módszer" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Erőtér:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimalizálási módszer" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Legmeredekebb ereszkedés" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Konjugált grádiensek" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutoForgatás" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "van der Waals, izofelület = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Elektrosztatikus potenciál" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "lépések" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Konvergencia" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Konvergencia" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Időkorlát:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Mértékegységek:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Kötések száma:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Kijelöltek törlése" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Átlátszóság" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Felületek" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Felületek" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Izofelület levágási érték" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Felbontás:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Felületek" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Számítás" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Rezgési analízis" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "&Animáció indítása" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "&Animáció leállítása" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Beállítások" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Balázs Attila,Csörföly Dániel,Krasznecz Zoltán, ," "Launchpad Contributions:,Avogadro Team,Balázs Attila,Csörföly Dániel," "Krasznecz Zoltán, ,Launchpad Contributions:,Avogadro Team,Balázs Attila," "Csörföly Dániel,Krasznecz Zoltán, ,Launchpad Contributions:,Avogadro Team," "Balázs Attila,Csörföly Dániel,Krasznecz Zoltán, ,Launchpad Contributions:," "Avogadro Team,Balázs Attila,Csörföly Dániel,Krasznecz Zoltán, ,Launchpad " "Contributions:,Avogadro Team,Balázs Attila,Csörföly Dániel,Krasznecz " "Zoltán, ,Launchpad Contributions:,Avogadro Team,Balázs Attila,Csörföly " "Dániel,Krasznecz Zoltán, ,Launchpad Contributions:,Avogadro Team,Balázs " "Attila,Csörföly Dániel,Zoltán Krasznecz, ,Launchpad Contributions:,Avogadro " "Team,Balázs Attila,Csörföly Dániel,Geoff Hutchison,Zoltán Krasznecz, ," "Launchpad Contributions:,Avogadro Team,Balázs Attila,Csörföly Dániel,Geoff " "Hutchison,Zoltán Krasznecz" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,battila9@freemail.hu,csorfolydaniel@gmail.com,krasznecz.zoltan@gmail.com,,," "avogadro-devel@lists.sourceforge.net,battila9@freemail.hu," "csorfolydaniel@gmail.com,zoltan.krasznecz@gmail.com,,,avogadro-devel@lists." "sourceforge.net,battila9@freemail.hu,szelmalomharc@gmail.com,zoltan." "krasznecz@gmail.com,,,avogadro-devel@lists.sourceforge.net,battila9@freemail." "hu,szelmalomharc@gmail.com,zoltan.krasznecz@gmail.com,,,avogadro-devel@lists." "sourceforge.net,battila9@freemail.hu,szelmalomharc@gmail.com,zoltan." "krasznecz@gmail.com,,,avogadro-devel@lists.sourceforge.net,battila9@freemail." "hu,szelmalomharc@gmail.com,zoltan.krasznecz@gmail.com,,,avogadro-devel@lists." "sourceforge.net,battila9@freemail.hu,szelmalomharc@gmail.com,zoltan." "krasznecz@gmail.com,,,avogadro-devel@lists.sourceforge.net,,,zoltan." "krasznecz@gmail.com,,,avogadro-devel@lists.sourceforge.net,,,,zoltan." "krasznecz@gmail.com,,,avogadro-devel@lists.sourceforge.net,,,,zoltan." "krasznecz@gmail.com" #~ msgid "Color by Index" #~ msgstr "Szín index szerint" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Szín index szerint (piros, narancssárga, citromsárga, zöld, kék, lila)" #~ msgid "Color by Partial Charge" #~ msgstr "Szín parciális töltés szerint" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Szín atomi paricális töltés szerint (kék = pozitív, piros = negatív)" #~ msgid "Custom Color:" #~ msgstr "Egyedi szín:" #~ msgid "Custom Color" #~ msgstr "Egyedi szín" #~ msgid "Set custom colors for objects" #~ msgstr "Saját színek beállítása objektumokra" #~ msgid "Color by Distance" #~ msgstr "Szín távolság szerint" #~ msgid "Color by distance from the first atom." #~ msgstr "Szín távolság szerint az első atomtól" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Színek elemek szerint (szén = zöld, oxigén = piros, ...)." #~ msgid "Color by Residue" #~ msgstr "Szín molekularész szerint" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Szín molekularész szerint (aminosav-típus, hidrofobicitás, ..." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Név" #~ msgid "Axes" #~ msgstr "Tengelyek" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "x,y, és z tengelyek renderelése a kiinduláshoz" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Primitívek renderelése gömböt (atom) és pálcát (kötés) használva" #~ msgid "Cartoon" #~ msgstr "Rajzfilm" #~ msgid "Renders protein secondary structure" #~ msgstr "Protein másodlagos struktúra renderelés" #~ msgid "Dipole" #~ msgstr "Dipól" #~ msgid "Force" #~ msgstr "Erő" #~ msgid "Renders force displacements on atoms" #~ msgstr "Megjeleníti az erőeltolódásokat az atomokon." #~ msgid "Hydrogen Bond" #~ msgstr "Hidrogén kötés" #~ msgid "Renders hydrogen bonds" #~ msgstr "Hidrogén kötések rajzolása" #~ msgid "Label" #~ msgstr "Felirat" #~ msgid "Polygon" #~ msgstr "Sokszög" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Atom tetrahedron, oktahedron és más poligonok rajzolása" #~ msgid "Ribbon" #~ msgstr "Szalag" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "A fehérjevázat szalagként jelenítse meg." #~ msgid "Ring" #~ msgstr "Gyűrű" #~ msgid "Renders rings with colored planes" #~ msgstr "A gyűrűket színes síkoknak mutatja" #~ msgid "Simple Wireframe" #~ msgstr "Egyszerű drótváz" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "a kötéseket drótként (vonalként) mutatja, ideális nagy molekulák esetén" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waals szférák" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Atomok Van der Waals szférájának rajzolása" #~ msgid "Stick" #~ msgstr "Pálca" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Elektron sűrűség, isosurface=%L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosurface = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "A kötéseket pálcikáknak mutatja, ez ideális nagyon nagy (bio)molekulák " #~ "esetén" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "video fájlok (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr ".avi fájl kiterjesztés hozzáadása" #~ msgid "Animation..." #~ msgstr "Animáció" #~ msgid "Cannot read file format of file %1." #~ msgstr "Nem olvasható a fájlformátum a %1 fájlban" #~ msgid "Read trajectory file %1 failed." #~ msgstr "%1 trajektória fájl beolvasása nem sikerült" #~ msgid "Must specify a valid .avi file name" #~ msgstr "Határozza meg az .avi fájl pontos nevét" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "GL widget nincs megfelelően inicializálva ezért a video mentése nem " #~ "lehetséges." #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Érvénytelen video fájl név. Tartalmaznia kell az teljes elérési utat." #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Érvénytelen video fájl név. Tartalmaznia kell az teljes elérési utat, " #~ "valamint a fájlnévnek .avi-ra kell végződnie." #~ msgid "Animation" #~ msgstr "Animáció" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animált trajektóriák, reakciók és vibrációk." #~ msgid "Cartesian Editor..." #~ msgstr "Descartes-i szerkesztő" #~ msgid "Number of atoms: %1" #~ msgstr "Atomok száma: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Az elforduló kötések száma: %1" #~ msgid "Add constraint" #~ msgstr "Megszorítások hozzáadása" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "A molekulának muszáj tartalmaznia legalább egy atomot hogy " #~ "megszorításokat hozzá lehessen adni." #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "A molekulának muszáj tartalmaznia legalább két hogy kötés megszorításokat " #~ "hozzá lehessen adni." #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "A molekulának muszáj tartalmaznia legalább három atomot hogy szög " #~ "megszorításokat hozzá lehessen adni." #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "A molekulának legalább négy atomot kell tartalmaznia hogy térszög " #~ "megszorítást lehessen hozzáadni." #~ msgid "Trajectory..." #~ msgstr "Trajektória..." #~ msgid "Open chemical file format" #~ msgstr "Kémiai fájl formátum megnyitása" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Kémiai fájlok (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Kémiai fájlok (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Trajektória importálása" #~ msgid "Import trajectory files" #~ msgstr "Trajektória fájl importálása" #~ msgid "Setup Force Field..." #~ msgstr "Erőtér beállítása..." #~ msgid "Calculate Energy" #~ msgstr "Energia kalkuláció" #~ msgid "Conformer Search..." #~ msgstr "Konformerek keresése..." #~ msgid "Constraints..." #~ msgstr "Megszorítások..." #~ msgid "Ignore Selection" #~ msgstr "Kijelölés megszűntetése" #~ msgid "Fix Selected Atoms" #~ msgstr "Fix kiválasztott atomok" #~ msgid "&Molecular Mechanics" #~ msgstr "&molekula mechanika" #~ msgid "Energy = %L1 %2" #~ msgstr "Energia = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Geometria Optimalizálás" #~ msgid "Forcefield Optimization" #~ msgstr "Erőtér optimalizálás" #~ msgid "Systematic Rotor Search" #~ msgstr "Szisztematikus forgópont-keresés" #~ msgid "Random Rotor Search" #~ msgstr "Véletlenszerű forgópont-keresés" #~ msgid "Weighted Rotor Search" #~ msgstr "Súlyozott forgópont-keresés" #~ msgid "ForceField" #~ msgstr "erőtér" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Molekulageometria optimalizálása és konformerek létrehozása a molekuláris " #~ "mechanikai erőterek használatával." #~ msgid "Change H to Methyl" #~ msgstr "H cseréje Metil csoportra" #~ msgid "H to Methyl" #~ msgstr "H metilcsoportra" #~ msgid "H2Methyl" #~ msgstr "H2Metil" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Hidrogéneket metil csoportokra transzformál" #~ msgid "Add or remove hydrogens" #~ msgstr "Hidrogének hozzáadása vagy eltávolítása" #~ msgid "Fragment..." #~ msgstr "Töredék..." #~ msgid "Insert SMILES" #~ msgstr "SMILES beillesztése" #~ msgid "Insert SMILES fragment:" #~ msgstr "SMILES-töredék beillesztése" #~ msgid "Insert Fragment" #~ msgstr "Molekulatöredék beillesztése" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Molekulatöredék beillesztése nagyobb molekulák létrehozásához." #~ msgid "Peptide..." #~ msgstr "Peptid..." #~ msgid "Insert Peptide" #~ msgstr "Peptid beillesztése" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Oligopeptid-szekvencia beillesztése" #~ msgid "Molecule Properties..." #~ msgstr "Molekula tulajdonságai..." #~ msgid "&Properties" #~ msgstr "&Tulajdonságok" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Becsült dipólusmomentum (D):" #~ msgid "Display standard molecular properties." #~ msgstr "Standard molekulatulajdonságok megjelenítése" #~ msgid "Fetch from PDB..." #~ msgstr "Betöltés PDB-ből..." #~ msgid "Fetch from URL..." #~ msgstr "Betöltés URL-ről..." #~ msgid "PDB Entry" #~ msgstr "PDB bejegyzés" #~ msgid "PDB entry to download." #~ msgstr "Letöltendő PDB bejegyzés" #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "Letöltendő molekula URL-je." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "A megadott molekulát nem lehet betölteni: %1" #~ msgid "Network Fetch" #~ msgstr "Hálózati letöltés" #~ msgid "Fetch molecule files over the network." #~ msgstr "Molekulafájlok letöltése a hálózatról." #~ msgid "Show Preview" #~ msgstr "Előnézet megjelenítése" #~ msgid "Hide Preview" #~ msgstr "A gyorsnézet elrejtése" #~ msgid "Save POV-Ray rendered image" #~ msgstr "POV-Ray által létrehozott kép tárolása" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Képfájlok (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Nincs megadva fájlnév." #~ msgid "No valid filename was supplied." #~ msgstr "Nincs megadva érvényes fájlnév." #~ msgid "Does not compute." #~ msgstr "Számítás nem fut." #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "Nem tud írni %1 fájlba. Van írási engedélyed erre a helyre?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray nem indult el." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "A POV-Ray nem indult el. Lehetséges hogy nem lett megfelelően megadva az " #~ "útvonal a futtatható fájlhoz." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "POV-Ray fájlok létrehozása és megjelenítése a parancssori POV-Ray " #~ "programmal" #~ msgid "Atom Properties..." #~ msgstr "Atom tulajdonságai..." #~ msgid "Bond Properties..." #~ msgstr "Kötés tulajdonságai..." #~ msgid "Angle Properties..." #~ msgstr "Szög tulajdonságai..." #~ msgid "Torsion Properties..." #~ msgstr "Torzió tulajdonságai..." #~ msgid "Conformer Properties..." #~ msgstr "Konformer tulajdonságai..." #~ msgid "Atom Properties" #~ msgstr "Atom tulajdonságai" #~ msgid "Bond Properties" #~ msgstr "Kötés tulajdonságai" #~ msgid "Angle Properties" #~ msgstr "Szög tulajdonságai" #~ msgid "Torsion Properties" #~ msgstr "Torzió tulajdonságai" #~ msgid "Conformer Properties" #~ msgstr "Konformer tulajdonságai" #~ msgid "Properties" #~ msgstr "Tulajdonságok" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Atom, kötés, szög és torziós tulajdonságokat mutató ablak. Tartalmaz " #~ "Descartes-i koorinátaszerkesztőt is." #~ msgid "Valence" #~ msgstr "Vegyérték" #~ msgid "Partial Charge" #~ msgstr "Részleges töltés" #~ msgid "Atom" #~ msgstr "Atom" #~ msgid "Rotatable" #~ msgstr "Forgatható" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Hossz %1" #~ msgid "Vertex" #~ msgstr "Csúcs" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Szög %1" #~ msgid "Angle" #~ msgstr "Szög" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torzió %1" #~ msgid "Conformer" #~ msgstr "Konformer" #~ msgid "Yes" #~ msgstr "Igen" #~ msgid "No" #~ msgstr "Nem" #~ msgid "Python Terminal" #~ msgstr "Python terminál" #~ msgid "pythonTerminalDock" #~ msgstr "Python terminál ablak" #~ msgid "Interactive python scripting terminal" #~ msgstr "Interaktív Python parancsnyelvi terminál" #~ msgid "QM Matches" #~ msgstr "QM-egyezések" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP kiválasztás..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM választás..." #~ msgid "Delete" #~ msgstr "Törlés" #~ msgid "You must make a selection!" #~ msgstr "Csinálnod kell egy kiválasztást!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES konverzió nem elérhető" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES formátum konverzió nem választható!" #~ msgid "Group Name" #~ msgstr "Csoport név" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Kimeneti fájl generálása GAMESS kvantum kémiai csomaghoz" #~ msgid "Advanced Settings Changed" #~ msgstr "A speciális beállítások megváltoztak" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "A speciális beállítások megváltoztak.\n" #~ "Biztos ne mentsük?" #~ msgid "Advanced Settings Reset" #~ msgstr "Speciális beállítások visszaállítása" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Biztos, hogy visszaállítod a speciális beállításokat?\n" #~ "Minden változtatás el fog veszni!" #~ msgid "Basic Settings Reset" #~ msgstr "Alapbeállítások visszaállítása az eredeti értékre." #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Biztos vagy benne hogy visszaállítod az alapértelmezett beállításokra az " #~ "alapbeállításokat?\n" #~ "Minden beállításod elveszik." #~ msgid "Gaussian Running." #~ msgstr "Gaussian fut." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "Gaussian fut. Várjon amíg az előző kalkuláció befejeződik." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian nincs installálva." #~ msgid "The G03 executable, cannot be found." #~ msgstr "A G03 futtatható nem található." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 nem indult el, talán nincs installálva megfelelően." #~ msgid "Running Gaussian calculation..." #~ msgstr "Gaussian kalkuláci fut." #~ msgid "G03 Crashed." #~ msgstr "A G03 összeomlott." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Gaussian nem fut megfelelően, talán nincs installálva megfelelően." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian" #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "&MOPAC..." #~ msgid "&NWChem..." #~ msgstr "Copy text \t &NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC-bevitel figyelmeztetés" #~ msgid "MOPAC Running." #~ msgstr "A MOPAC fut" #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "A MOPAC már fut. Várd meg amíg az előző számítás befejeződik." #~ msgid "MOPAC Not Installed." #~ msgstr "A MOPAC nincs telepítve." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "A MOPAC futtatható fájlt nem találom." #~ msgid "MOPAC failed to start." #~ msgstr "A MOPAC indítása nem sikerült." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "A MOPAC nem indult el. Lehet hogy nincs megfelelően telepítve." #~ msgid "Running MOPAC calculation..." #~ msgstr "MOPAC-számítás indítása..." #~ msgid "MOPAC Crashed." #~ msgstr "A MOPAC összeomlott." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "A MOPAC nem fut megfelelő módon. Lehet hogy nincs jól telepítve." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "NWChem beviteli panel generátor figyelmeztetés" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem beviteli panel generátor figyelmeztetés" #~ msgid "Select SMARTS..." #~ msgstr "SMARTS kijelölés..." #~ msgid "Select by Residue..." #~ msgstr "Kijelölés molekularész szerint..." #~ msgid "Add Named Selection..." #~ msgstr "Megnevezett kijelölés hozzáadása..." #~ msgid "SMARTS Selection" #~ msgstr "SMARTS kijelölés" #~ msgid "SMARTS pattern to select" #~ msgstr "Kijelölendő SMARTS-minta" #~ msgid "Select by residue" #~ msgstr "Kijelölés molekularész szerint" #~ msgid "Residue name" #~ msgstr "Molekularész neve" #~ msgid "There is no current selection." #~ msgstr "Jelenleg nincs kijelölés." #~ msgid "Add Named Selection" #~ msgstr "Megnevezett kijelölés hozzáadása" #~ msgid "Name cannot be empty." #~ msgstr "A név nem lehet üres." #~ msgid "There is already a selection with this name." #~ msgstr "Van már kijelölés ezzel a névvel." #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Atomok, kötések, molekularészek kijelölése..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL árnyékolók..." #~ msgid "Open a vertex shader source file" #~ msgstr "Csúcs árnyékoló forrásfájl megnyitása" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Csúcs árnyékoló fájlok (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Molekularész árnyékoló forrásfájl megnyitása" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Molekularész árnyékoló fájlok (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Árnyékoló paraméterfájl megnyitása" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Árnyékoló paraméterfájlok (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL árnyékolók" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "OpenGL 2.0 GLSL árnyékolók betöltése és használata" #~ msgid "Transmittance (%)" #~ msgstr "Transzmittancia (%)" #~ msgid "Absorbance (%)" #~ msgstr "Abszorbancia (%)" #~ msgid "No intensities" #~ msgstr "Nincs intenzitás" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "A feltöltött molekula rezgési adatai nem tartalmaznak intenzitás " #~ "értékeket. Az intenzitásokat tetszőleges értékekre állítottam a " #~ "vizualizáció miatt." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Hullámszám (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Eltolódás (ppm)" #~ msgid "X Axis" #~ msgstr "X tengely" #~ msgid "Y Axis" #~ msgstr "Y tengely" #~ msgid "&Appearance" #~ msgstr "Meg&jelenés" #~ msgid "E&xport Image" #~ msgstr "Kép e&xportálása" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infravörös" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&Infravörös spektumok beállítása" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "&NMR spektumok beállítása" #~ msgid "No data" #~ msgstr "Nincs adat" #~ msgid "Dark" #~ msgstr "Sötét" #~ msgid "Light" #~ msgstr "Világos" #~ msgid "Publication" #~ msgstr "Publikálás" #~ msgid "Handdrawn" #~ msgstr "Kézzel rajzolt" #~ msgid "New Scheme" #~ msgstr "Új séma" #~ msgid "Confirm Scheme Removal" #~ msgstr "Séma eltávolításának megerősítése" #~ msgid "Really remove current scheme?" #~ msgstr "Tényleg eltávolítod a jelenlegi sémát?" #~ msgid "Change Scheme Name" #~ msgstr "Séma nevének megváltoztatása" #~ msgid "Enter new name for current scheme:" #~ msgstr "Adj meg egy új nevet a jelenlegi sémának." #~ msgid "Export Calculated Spectrum" #~ msgstr "Számított spektrum exportálása" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Tabulátorral elválasztott értékek (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Tabulátorral elválasztott értékek" #~ msgid "Comma Separated Values" #~ msgstr "Vesszővel elválasztott értékek (CSV)" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Spektrum importálása" #~ msgid "Spectra Import" #~ msgstr "Spektrum importálása" #~ msgid "Unknown extension: %1" #~ msgstr "Ismeretlen kiterjesztés: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR adatok (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole IR adatok (control)" #~ msgid "Data Format" #~ msgstr "Adatformátum" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Formátum:" #~ msgid "Load Spectral Data" #~ msgstr "Spektrumadatok betöltése" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics (PNG)" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "TIFF (Tagged Image File Format)" #~ msgid "Windows Bitmap" #~ msgstr "Windows bittérkép" #~ msgid "Portable Pixmap" #~ msgstr "hordozható pixeltérkép" #~ msgid "X11 Bitmap" #~ msgstr "X11 bittérkép" #~ msgid "X11 Pixmap" #~ msgstr "X11 pixeltérkép" #~ msgid "Save Spectra Image" #~ msgstr "Spektrumkép mentése" #~ msgid "&Advanced <<" #~ msgstr "&Haladó <<" #~ msgid "&Spectra..." #~ msgstr "&Spektrumok..." #~ msgid "Spectra" #~ msgstr "Spektrumok" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Kvantumkémiai számításokból származó spektrumadatok megjelenítése" #~ msgid "No vibrational displacements exist." #~ msgstr "Nincs vibrációs eltolódás" #~ msgid "Vibration" #~ msgstr "Vibráció" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Vibrációs módok vizualizációja kvantumkémiai számításokból" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "%1 rezgések rendezése frekvencia szerint..." #~ msgid "Super Cell Builder..." #~ msgstr "Szupercella építő..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "A dokumentum jelenleg egy izolált molekulát tartalmaz. Létre kell hozni " #~ "egy egységcellát." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Krisztallográfiai szupercella építése és megjelenítése" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Semmi" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Elektrosztatikus potenciál" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Elektronsűrűség" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Molekulapálya" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Hiba - nem definiált típus" #~ msgid "Create Surfaces..." #~ msgstr "Felszín létrehozása..." #~ msgid "Calculating VdW Cube" #~ msgstr "VdW kocka számítása folyamatban" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "MO %L1 számítása folyamatban" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Elektronsűrűség" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "A GL widget nem megfelelően indult a video készítéséhez" #~ msgid "GL widget has no molecule" #~ msgstr "A GL widgetben nincs molekula" #~ msgid "Building video " #~ msgstr "Video létrehozása " #~ msgid "Could not run povray." #~ msgstr "Nem sikerült futtatni a povray-t." #~ msgid "Could not run mencoder." #~ msgstr "Nem sikerült futtatni a mencoder-t." #~ msgid "Set Aspect Ratio" #~ msgstr "Oldalarányok beállítása" #~ msgid "Debug Information" #~ msgstr "Hibakeresési információk" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Méret megjelenítése: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Atomok: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Kötések: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: %1 index nem elérhető." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "'%1' fájltípus olvasása nem támogatott." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "'%1' fájltípus olvasása nem támogatott." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "%1 indexű molekula beolvasása '%2' fájlból nem sikerült." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "Molekula csere: %1 index nem elérhető" #~ msgid "File type '%1' is not supported for writing." #~ msgstr "'%1' fájltípus írása nem támogatott." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "'%1' fájl típusának írása nem támogatott." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Nem sikerült megnyitni '%1' fájlt íráshoz." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Nem sikerült megnyitni '%1' fájlt olvasáshoz." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "%1 indexű molekula cseréje '%2' fájlban nem sikerült." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "%1 fájlt nem sikerült olvasásra megnyitni" #~ msgid "File %1 can not be opened for writing." #~ msgstr "Nem lehet megnyitni %1 fájlt íráshoz." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Molekulafájl mentése sikertelen - nem lehet átnevezni az eredeti fájlt." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "Molekulafájl mentése sikertelen - nem lehet átnevezni az új fájlt." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Molekulafájl mentése sikertelen - nem lehet törölni az eredeti fájlt." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Molekula írása '%1' fájlba nem sikerült. OpenBabel függvény nem működik" #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Nem sikerült megnyitni %1 fájlt olvasáshoz." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Nem sikerült a konformereket '%1' fájlba menteni." #~ msgid "Molecule %1" #~ msgstr "Molekula %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Ismeretlen Python motor" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "Python motor: ellenőrzés " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - parancsfájlban nincs meghatásűrozva 'Engine' osztály" #~ msgid " - no module" #~ msgstr " - nincs modul" #~ msgid "Unknown Python Extension" #~ msgstr "Ismeretlen Python bővítmény" #~ msgid "PythonExtension: checking " #~ msgstr "Python bővítmény ellenőrzése " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - parancsfájlban nincs definiálva 'bővítmény' osztály" #~ msgid "Unknown Python Tool" #~ msgstr "Ismeretlne Python eszköz" #~ msgid "PythonTool: checking " #~ msgstr "Python eszköz: ellenőrzés " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - parancsfájlban nincs definiálva 'eszköz' osztály" #~ msgid "Conformer %1" #~ msgstr "Konformer %1" #~ msgid "Tools" #~ msgstr "Eszközök" #~ msgid "Axis:" #~ msgstr "Tengely:" #~ msgid "Align:" #~ msgstr "Igazítás:" #~ msgid "Everything" #~ msgstr "Minden" #~ msgid "Align" #~ msgstr "Rendezés" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Molekulák rendezése Descates-tengelyre" #~ msgid "Align Settings" #~ msgstr "Rendezés beállításai" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Nem sikerült beállítani erőteret..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Steps per Update:" #~ msgstr "Frissítésenkénti lépések:" #~ msgid "Algorithm:" #~ msgstr "Algoritmus:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Mulekuladinamika (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Mulekuladinamika (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Mulekuladinamika (900K)" #~ msgid "Start" #~ msgstr "Indítás" #~ msgid "Fixed atoms are movable" #~ msgstr "Fix atomok mozgathatók" #~ msgid "Ignored atoms are movable" #~ msgstr "Kihagyott atomok mozgathatók" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOpt molekula" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Molekulageometria Automatikus optimalizálása" #~ msgid "AutoOptimization Settings" #~ msgstr "AutoOptimalizálás beállításai" #~ msgid "Auto Rotation Tool" #~ msgstr "Automatikus forgatás eszköz" #~ msgid "x rotation:" #~ msgstr "x forgatás:" #~ msgid "x rotation" #~ msgstr "x forgatás" #~ msgid "y rotation:" #~ msgstr "y forgatás:" #~ msgid "y rotation" #~ msgstr "y forgatás" #~ msgid "z rotation:" #~ msgstr "z forgatás:" #~ msgid "z rotation" #~ msgstr "z forgatás" #~ msgid "Automatic rotation of molecules" #~ msgstr "Molekulák automatikus forgatása" #~ msgid "AutoRotate Settings" #~ msgstr "AutoForgatás beállításai" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Kötéshossz: %L1" #~ msgid " Show Angles" #~ msgstr " Szögek megjelenítése" #~ msgid "Angle: %L1 °" #~ msgstr "Szög: %L1 °" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Diéderes szög: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Távolság:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Kötéshosszak, szögek, és diéderek mérése" #~ msgid "Delete Atom" #~ msgstr "Atom törlése" #~ msgid "Draw Bond" #~ msgstr "Kötés rajzolása" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Atomok és kötések rajzolása és szerkesztése" #~ msgid "Draw Settings" #~ msgstr "Rajzolás beállításai" #~ msgid "Selection Mode:" #~ msgstr "Kijelölés módja" #~ msgid "Atom/Bond" #~ msgstr "Atom/Kötés" #~ msgid "Residue" #~ msgstr "Molekularész" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Atomol, molekularészek és molekulák kijelölése" #~ msgid "Symbol" #~ msgstr "Szimbólum" #~ msgid "Bond Length" #~ msgstr "Kötéshossz" #~ msgid "Bond Angle" #~ msgstr "Kötési szög" #~ msgid "Dihedral Angle" #~ msgstr "Diéderes szög" #~ msgid "Z Matrix Editor..." #~ msgstr "Z-mátrix szerkesztő..." #~ msgid "Z-Matrix" #~ msgstr "Z-mátrix" #~ msgid "Create/edit a z-matrix" #~ msgstr "Z-mátrix létrehozása/szerkesztése" #~ msgid "Z-Matrix Settings" #~ msgstr "Z-mátrix beállításai" #~ msgid "Residue Color Settings" #~ msgstr "Molekularész színbeállításai" #~ msgid "Color residues by:" #~ msgstr "Molekularészek színezése:" #~ msgid "Amino Colors" #~ msgstr "Amino színek" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobicitás" #~ msgid "Atom Radius:" #~ msgstr "Atomsugár:" #~ msgid "Bond Radius:" #~ msgstr "Kötés sugara:" #~ msgid "Shape" #~ msgstr "Alak" #~ msgid "Helix" #~ msgstr "Hélix" #~ msgid "a" #~ msgstr "a" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Redő" #~ msgid "Loop" #~ msgstr "Hurok" #~ msgid "Colors" #~ msgstr "Színek" #~ msgid "Dipole:" #~ msgstr "Dipólus" #~ msgid "Dipole Moment" #~ msgstr "Dipólusmomentum" #~ msgid "Width:" #~ msgstr "Szélesség" #~ msgid "Cut-off radius:" #~ msgstr "Levágási sugár" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Levágási szög:" #~ msgid "None" #~ msgstr "Nincs" #~ msgid "Symbol & Atom number" #~ msgstr "Szimbólum és atomszám" #~ msgid "Formal charge" #~ msgstr "Formális töltés" #~ msgid "Partial charge" #~ msgstr "Parciális töltés" #~ msgid "Residue number" #~ msgstr "Molekularész szám" #~ msgid "Unique ID" #~ msgstr "Egyedi azonosító" #~ msgid "Custom data" #~ msgstr "Egyéni adatok" #~ msgid "Bond length" #~ msgstr "Kötéshossz" #~ msgid "Bond number" #~ msgstr "Kötésszám" #~ msgid "Bond order" #~ msgstr "Kötésrend:" #~ msgid "Rendering:" #~ msgstr "Megjelenítés:" #~ msgid "Backbone" #~ msgstr "Szerkezeti váz" #~ msgid "Lines" #~ msgstr "Vonalak" #~ msgid "Radius:" #~ msgstr "Sugár:" #~ msgid "Include Nitrogens" #~ msgstr "Nitrogének használata" #~ msgid "VdW Opacity:" #~ msgstr "VdW opacitás:" #~ msgid "Orbital:" #~ msgstr "Pálya:" #~ msgid "Render:" #~ msgstr "Képalkotás:" #~ msgid "Fill" #~ msgstr "Kitöltés" #~ msgid "Points" #~ msgstr "Pontok" #~ msgid "Draw Box:" #~ msgstr "Rajzoló doboz" #~ msgid "Style:" #~ msgstr "Stílus:" #~ msgid "Selected Colors" #~ msgstr "Kiválasztott színek" #~ msgid "Mapped Colors" #~ msgstr "Térképezett színek" #~ msgid "Colors:" #~ msgstr "Színek" #~ msgid "Positive" #~ msgstr "Pozitív" #~ msgid "Negative" #~ msgstr "Negatív" #~ msgid "Show Atoms" #~ msgstr "Atomok megjelenítése" #~ msgid "Animate Trajectory" #~ msgstr "Röppálya animálása" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Ciklus" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Mentési formátum: .avi..." #~ msgid "Paste to the End" #~ msgstr "Beillesztés a végére" #~ msgid "Conformer Search" #~ msgstr "Konformer keresés" #~ msgid "Method" #~ msgstr "Módszer" #~ msgid "Number of atoms:" #~ msgstr "Atomok száma:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Forgó kötések száma" #~ msgid "Number of conformers" #~ msgstr "Konformerek száma" #~ msgid "Systematic rotor search" #~ msgstr "Rendszeres rotor keresés" #~ msgid "Random rotor search" #~ msgstr "Véletlen rotor keresés" #~ msgid "Weighted rotor search" #~ msgstr "Súlyozott rotor keresés" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Constraints" #~ msgstr "Megszorítások" #~ msgid "Add Constraints" #~ msgstr "Megszorítások hozzáadása" #~ msgid "Ignore Atom" #~ msgstr "Atom elrejtése" #~ msgid "Fix Atom" #~ msgstr "Fix Atom" #~ msgid "Fix Atom X" #~ msgstr "Fix Atom X" #~ msgid "Fix Atom Y" #~ msgstr "Fix Atom Y" #~ msgid "Fix Atom Z" #~ msgstr "Fix Atom Z" #~ msgid "Torsion angle" #~ msgstr "Torziós szög" #~ msgid "Constraint Value" #~ msgstr "Megszorítási érték" #~ msgid "Atom Indices" #~ msgstr "Atom indexek" #~ msgid "Add" #~ msgstr "Hozzáadás" #~ msgid "Save" #~ msgstr "Mentés" #~ msgid "Load" #~ msgstr "Betöltés" #~ msgid "Cartesian" #~ msgstr "Descartes-féle" #~ msgid "All" #~ msgstr "Mind" #~ msgid "File Import..." #~ msgstr "Fájl importálása..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Próbáljak kötést érzékelni?" #~ msgid "Setup Force Field" #~ msgstr "Erőtér beállítása" #~ msgid "Force Field" #~ msgstr "Erőtér" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Lépések száma" #~ msgid "Algorithm" #~ msgstr "Algoritmus" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Egyéb" #~ msgid "Peptide Builder" #~ msgstr "Peptid építő" #~ msgid "Alanine" #~ msgstr "Alanin" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginin" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Aszparagin" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Aszparaginsav" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cisztein" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Glutaminsav" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamin" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glicin" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Hisztidin" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Izoleucin" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valin" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirozin" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Triptofán" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treonin" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Szerin" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolin" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanin" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionin" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lizin" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucin" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminosavak:" #~ msgid "Stereochemistry:" #~ msgstr "Sztereokémia:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Egyenes lánc" #~ msgid "Alpha Helix" #~ msgstr "Alfa hélix" #~ msgid "Beta Sheet" #~ msgstr "Béta redő" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Láncszám:" #~ msgid "The chain number for the new peptide" #~ msgstr "Az új peptid lánc-száma" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Molekula tulajdonságai" #~ msgid "Number of Residues:" #~ msgstr "Molekularészek száma:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energia (kJ/mol)" #~ msgid "Dipole Moment (D):" #~ msgstr "Dipólusmomentum (D):" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Haladó" #~ msgid "Control" #~ msgstr "Kontroll" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Adatok" #~ msgid "Nothing" #~ msgstr "Semmi" #~ msgid "Grid" #~ msgstr "Rács" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray Exportálás" #~ msgid "Select..." #~ msgstr "Kijelölés…" #~ msgid "povray" #~ msgstr "povray" #~ msgid "Antialias" #~ msgstr "Antialias" #~ msgid "Set the background color to be transparent" #~ msgstr "Háttérszín áttetszőre állítása" #~ msgid "Alpha transparency" #~ msgstr "Alpha-áttetszőség" #~ msgid "Command:" #~ msgstr "Parancs:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "" #~ "Molekula megjelenítése közvetlenül a parancssori POV-Ray használatával" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "POV-Ray forrás megtartása megjelenítés befejezése után" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "POV-Ray forrás megtartása megjelenítés után" #~ msgid "Path:" #~ msgstr "Útvonal:" #~ msgid "Compute..." #~ msgstr "Számítás..." #~ msgid "HF" #~ msgstr "HF" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EFP Matches" #~ msgstr "EFP egyezések" #~ msgid "Group Label:" #~ msgstr "Csoport cimkéje" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Haladó beállítások" #~ msgid "Hessian" #~ msgstr "Hess-i" #~ msgid "Stat Point" #~ msgstr "Stat pont" #~ msgid "System" #~ msgstr "Rendszer" #~ msgid "MO Guess" #~ msgstr "MO becslés" #~ msgid "Misc" #~ msgstr "Egyéb" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D nehézatom polarizációs függvény:" #~ msgid "Read" #~ msgstr "Olvasás" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Dupla zéta vegyérték" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Tripla zéta vegyérték" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA vegyérték" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt vegyérték" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP típus:" #~ msgid "Default" #~ msgstr "Alapbeállítás" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F nehézatom polarizációs függvény" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#könnyű atom polarizációs függvény" #~ msgid "Polar:" #~ msgstr "Poláris:" #~ msgid "Max SCF Iterations:" #~ msgstr "maximális SCF iterációk:" #~ msgid "Gradient" #~ msgstr "Grádiens" #~ msgid "Optimization" #~ msgstr "Optimalizálás" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "Nyeregpont" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energiafelület" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Spin Orbit" #~ msgstr "Spin orbitál" #~ msgid "Finite Electric Field" #~ msgstr "Véges elektromos mező" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Globális optimalizálás" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO optimalizálás" #~ msgid "Raman Intensities" #~ msgstr "Raman intenzitás" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "EFP készítés" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Nincs (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF típus:" #~ msgid "Localization Method:" #~ msgstr "Lokalizációs módszer" #~ msgid "Exec Type:" #~ msgstr "Exec típus:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. determináns" #~ msgid "CI Singles" #~ msgstr "CI egyszeres" #~ msgid "Full Second Order CI" #~ msgstr "Teljes másodrendű CI" #~ msgid "General CI" #~ msgstr "Általános CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearizált CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC duplákkal" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC szimplákkal és duplákkal" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Normális futtatás" #~ msgid "Check" #~ msgstr "Ellenőrzés" #~ msgid "Debug" #~ msgstr "Hibakeresés" #~ msgid "Molecule Charge:" #~ msgstr "Molekulatöltés:" #~ msgid "Run Type:" #~ msgstr "Futtatás típusa" #~ msgid "Use MP2" #~ msgstr "MP2 használata" #~ msgid "Use DFT" #~ msgstr "DFT használata" #~ msgid "# of Z-Matrix Variables" #~ msgstr "Z-Matrix változók száma" #~ msgid "Order of Principal Axis:" #~ msgstr "Főtengely rendje" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Egyedi Descartes-koordináták" #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrant internálok" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Szimmetria használata számítás során" #~ msgid "Point Group:" #~ msgstr "Pont csoport" #~ msgid "Minutes" #~ msgstr "Perc" #~ msgid "Hours" #~ msgstr "Óra" #~ msgid "Days" #~ msgstr "Nap" #~ msgid "Weeks" #~ msgstr "Hét" #~ msgid "Years" #~ msgstr "Év" #~ msgid "Millenia" #~ msgstr "Évezred" #~ msgid "MegaWords" #~ msgstr "MegaWord" #~ msgid "MegaBytes" #~ msgstr "MegaBájt" #~ msgid "GigaWords" #~ msgstr "GigaWord" #~ msgid "GigaBytes" #~ msgstr "GigaBájt" #~ msgid "Force Parallel Methods" #~ msgstr "Párhuzamos módszerek használata" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "\"core\" fájl létrehozása megszakításkor" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memória:" #~ msgid "Diagonalization Method:" #~ msgstr "Hibakereső módszer" #~ msgid "Parallel Load Balance Type" #~ msgstr "Párhuzamos töltési egyensúly típus" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Ciklus" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Következő érték" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Külső adatmegjelenítés használata üzenetekhez" #~ msgid "Initial Guess:" #~ msgstr "Kezdeti becslés:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO beolvasva ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO elmentve (DICTNRY)" #~ msgid "Skip" #~ msgstr "Kihagyás" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Alfa és béta pályák forgatása" #~ msgid "Print the Initial Guess" #~ msgstr "Kezdeti becslés kiírása" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK verzió)" #~ msgid "Gaussian 9x" #~ msgstr "Gauss-i 9x" #~ msgid "Direct SCF" #~ msgstr "Direkt SCF" #~ msgid "Slater exchange" #~ msgstr "Slater csere" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 csere" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) korreláció" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr korreláció" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater csere + VWN korreláció" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE csere + VWN5 korreláció" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE csere + LYP korreláció" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 csere" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) csere" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: egy-paraméteres progresszív korreláció" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) korreláció" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP korreláció" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE csere + OP korreláció" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL csere + VWN5 korreláció" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL csere + LYP korreláció" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE csere + VWN6 korreláció" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE csere +LYP korreláció" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE csere + OP korreláció" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF és BECKE csere + LYP korreláció" #~ msgid "Method:" #~ msgstr "Módszer:" #~ msgid "words" #~ msgstr "szavak" #~ msgid "Compute MP2 Properties" #~ msgstr "MP2 tulajdonságok számítása" #~ msgid "Use Localized Orbitals" #~ msgstr "lokalizált orbitálok használata" #~ msgid "# of Core Electrons:" #~ msgstr "magelektronok száma" #~ msgid "Segmented Transformation" #~ msgstr "szegmentált átalakítás" #~ msgid "Analytic" #~ msgstr "Analitikus" #~ msgid "Numeric" #~ msgstr "Numerikus" #~ msgid "Print Internal Force Constants" #~ msgstr "Belső erőkonstansok megjelenítése" #~ msgid "Displacement Size:" #~ msgstr "Eltolódás mérete" #~ msgid "Read (from $HESS)" #~ msgstr "Olvas ($HESS - ből)" #~ msgid "Update Step Size" #~ msgstr "Lépésméret frissítése" #~ msgid "Jump Size:" #~ msgstr "Ugrás nagysága" #~ msgid "Stationary Point" #~ msgstr "Álló pont" #~ msgid "Step Size" #~ msgstr "Lépés mérete" #~ msgid "Maximum:" #~ msgstr "Maximum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Initial:" #~ msgstr "Kezdeti:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Racionális függvény optimalizálás" #~ msgid "Quadratic Approximation" #~ msgstr "Kvadratikus megközelítés" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (kvázi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Szűkített optimalizálás" #~ msgid "Follow Mode:" #~ msgstr "Követési mód:" #~ msgid "Maximum Steps:" #~ msgstr "Maximális lépés:" #~ msgid "Basis:" #~ msgstr "Bázis:" #~ msgid "Z-matrix" #~ msgstr "Z-mátrix" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Szabványos" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Ellenőrzőpont:" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO bevitel" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "MOPAC Input" #~ msgstr "MOPAC bevitel" #~ msgid "Quartet" #~ msgstr "Kvartett" #~ msgid "Quintet" #~ msgstr "Kvintett" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem bevitel" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem bevitel" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "Árnyékolók betöltése" #~ msgid "Shader Name:" #~ msgstr "Árnyékoló neve:" #~ msgid "Vertex Shader:" #~ msgstr "Csúcs árnyékoló:" #~ msgid "Display Type:" #~ msgstr "Meglenítés típusa:" #~ msgid "&Load data..." #~ msgstr "&Adatok betöltése..." #~ msgid "&Close" #~ msgstr "&Bezárás" #~ msgid "Calculated Spectra:" #~ msgstr "Számított spektrum:" #~ msgid "Set Color..." #~ msgstr "Színbeállítás..." #~ msgid "Imported Spectra:" #~ msgstr "Importált spektrum:" #~ msgid "Font:" #~ msgstr "Betűtípus:" #~ msgid "Change Font..." #~ msgstr "A betűtípus megváltoztatása..." #~ msgid "Show" #~ msgstr "Megjelenítés" #~ msgid "&Import..." #~ msgstr "&Importálás..." #~ msgid "Background:" #~ msgstr "Háttér:" #~ msgid "Foreground:" #~ msgstr "Előtér:" #~ msgid "New..." #~ msgstr "Új..." #~ msgid "Rename..." #~ msgstr "Átnevezés..." #~ msgid "&Schemes:" #~ msgstr "&Sémák:" #~ msgid "&Export..." #~ msgstr "&Exportálás…" #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Szélesség:" #~ msgid "&Height" #~ msgstr "&Magasság" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "Kép &mentése..." #~ msgid "Auto-adjust F&ont Size" #~ msgstr "&Betűméret automatikus beállítása" #~ msgid "&Gaussian Width:" #~ msgstr "Gauss-&szélesség:" #~ msgid "&Label peaks" #~ msgstr "&Csúcsok cimkézése" #~ msgid "&Y Axis Units:" #~ msgstr "&Y tengely egysége:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Mag:" #~ msgid "&Reference:" #~ msgstr "&Referencia:" #~ msgid "Gaussian &Width:" #~ msgstr "Gauss-&szélesség:" #~ msgid "Label Peaks:" #~ msgstr "Csúcsok cimkézése:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Molekularezgés:" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "magasabb frekvenciájó rezgések esetéb gyorsabb mozgást mutat" #~ msgid "Animation speed set by frequency" #~ msgstr "Animáció sebességét a frekvencia állítja be" #~ msgid "Display force &vectors" #~ msgstr "Erő és vektorok megjelenítése" #~ msgid "Generate Cell" #~ msgstr "Cella létrehozása" #~ msgid "Create Surfaces" #~ msgstr "Felszínek létrehozása" #~ msgid "Surface Type:" #~ msgstr "Felszín típusa:" #~ msgid "Color By:" #~ msgstr "Eszerint színez:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Alacsony" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Közepes" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Magas" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Nagyon magas" #~ msgid "Iso Value:" #~ msgstr "Iso érték:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Ebben a megjelenítés típusban:" #~ msgid "New Display" #~ msgstr "Új megjelenítés" #~ msgid "Advanced..." #~ msgstr "Haladó..." #~ msgid "Python Settings" #~ msgstr "Python beállítások" #~ msgid "Z Matrix Editor" #~ msgstr "Z mátrix szerkesztő" #~ msgid "Import Selected Atoms" #~ msgstr "Kijelölt atomok importálása" avogadrolibs-1.93.0/i18n/id.po000066400000000000000000006206471360735163600160240ustar00rootroot00000000000000# Indonesian translation for avogadro # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2009. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 07:08+0000\n" "Last-Translator: Samsul Ma'arif \n" "Language-Team: Indonesian \n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Masukan Pembuat..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Masukan Pembuat..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Lanjutkan" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Tutup" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Tidak dikenal" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "abinit gagal dijalankan." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Membatalkan perhitungan" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Peringatan" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Peringatan" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Pilih Pelarut" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Keluaran:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Tidak Bisa Menulis ke Berkas" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Berkas filem tidak direkam" #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Berkas filem tidak direkam" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Konfigurasi" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Judul" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nama berkas:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Prosesor:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Perhitungan:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teori:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teori:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Basis" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Tidak ada atur molekul" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Menghentikan &Animasi" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Tidak ada Atom yang dipilih" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrogen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berilium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boron" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Karbon" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogen" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oksigen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Natrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alumunium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silikon" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Belerang" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Klor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kalium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kalsium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanium" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Krom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Besi" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Tembaga" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Seng" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Galium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsen" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenium" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Kripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Stronsium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Itrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdenum" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Teknesium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Paladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Perak" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Timah" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telurium" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Yodium" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Sesium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantanum" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Serium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodimium" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodimium" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Iterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantalum" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Wolfram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Renium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Emas" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Raksa" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Talium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Timbal" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astatin" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Fransium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Torium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranium" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Amerisium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Kurium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kalifornium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrensium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Kopernisium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovium" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorium" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Cari..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Pilih Pelarut" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Hapus Pilihan" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Semua berkas" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "tanpa judul" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Tabel Periodik" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "abinit gagal dijalankan." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinit gagal." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Kesalahan OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Tidak dikenal" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekul" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Tambah Atom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Hapus Atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Hapus Semua" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Atur Hidrogen" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Merubah Unsur" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Merubah Unsur" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Muatan Formal" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Tambah Ikatan" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Hapus Atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Hapus Ikatan" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Orde Ikatan" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Merubah Orde Ikatan" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Kancingkan ke Ikatan" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Hapus Ikatan" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Tambahkan &Unit Sel" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Hapus &Unit Sel" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Isi Unit Sel" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "Lipat atom-atom kedalam Sel" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Satuan Skala Volume Sel" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super Sel" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Putar Orientasi Standar" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Sederhanakan ke Sel Primitif" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Kristal Simetri" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Isi Unit Sel" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Kurangi Ukuran Asimetrik" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Berkas" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Ekspor" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Batas" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Buka berkas WFN" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Ekstensi" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Kesalahan" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Ada masalah ketika membaca berkas trayektori %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Kesalahan OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Ada masalah ketika membaca berkas trayektori %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Buka berkas WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Buka berkas WFN" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Kesalahan" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Simpan Berkas Masukan" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Sukses!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Gambar berhasil disimpan ke %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Tampilkan Ikatan Berganda" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrogen" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Bola dan Batang" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Menggambarkan atom dan label ikatan" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulasi Ikatan Sentrik" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulasi Ikatan Sentrik" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Akhir Atom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Hapus Hidrogen" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "Mem&bangun" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Ikatan" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Toleransi untuk operasi simetrik..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nama berkas:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Penyunting Koordinat Cartesian" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Penyunting Koordinat Cartesian" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Kembalikan Perubahan" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nama berkas tidak sahih" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nama Unsur" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Simbol unsur" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Simbol unsur" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nama berkas tidak sahih" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Nomor atom" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nama berkas tidak sahih" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Koordinat Cartesian" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Koordinat Cartesian" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Koordinat Cartesian" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Koordinat Cartesian" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Koordinat Cartesian" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Koordinat Cartesian" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Atur Koordinat Kartesian" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Suaian" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Waluyo Adi Siswanto, ,Launchpad Contributions:," "Geoff Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Muhammad Radifar,Waluyo Adi Siswanto, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison,Muhammad Radifar,Samsul Ma'arif,Waluyo Adi " "Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Muhammad " "Radifar,Samsul Ma'arif,Waluyo Adi Siswanto" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ dengan nomor" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Koordinat Cartesian" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Koordinat Cartesian" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Informasi GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Informasi GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Masukan Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Salin Semua" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Suaian" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Hapus Semua" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Tidak bisa menentukan format: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Tidak bisa menentukan format: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "Impor Kristal dari Clipboard..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Isi Unit Sel" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Isi Unit Sel" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "Lipat atom-atom kedalam Sel" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Putar Orientasi Standar" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Skalakan Sel ke Volume..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super Sel" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Sederhanakan Sel (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Kristal" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Hapus &Unit Sel" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Tambahkan &Unit Sel" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "Unit sel telah direduksi ke representasi standar Niggli" #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Kristal" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Menggambarkan atom dan label ikatan" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Tidak Bisa Mengurai Teks" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Sumbu Aturan Sendiri" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Menggambar" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Menggambar Atom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Merubah Orde Ikatan" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Hapus Atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Jarak" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Jarak (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Lainnya..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "OptimisasiOtomatis" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Tunggal" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dua" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Tiga Kali" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Skrip" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Ada masalah ketika membaca berkas trayektori %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Masukan Pembuat..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Masukan GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Energi Satu Titik" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Kesetimbangan Geometri" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Keadaan Transisi" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frekuensi" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Inti Potensial" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Air" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Kembar" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Kembar tiga" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dication" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Cation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Netral" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Berkas Masukan GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Membatalkan perhitungan" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Atur Hidrogen" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Tambah Hidrogen" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Hapus Hidrogen" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Hapus Hidrogen" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrogen" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidrogen" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Impor" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Menggambarkan atom dan label ikatan" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "S&isipan" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Tidak ada penjelasan" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekul" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Membuat..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipulasi" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipulasi Atom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Pengukuran" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Dihedral:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Sudut:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Sudut:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Pengukuran" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Menggambar jaring permukaan molekuler" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "Tam&pilan" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Properti Molekul" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigasi" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigasi" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nama Kimia" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Muat turun struktur kimia" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Muaturun Jaringan Gagal" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Bataswaktu jaringan atau kesalahan lain." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Molekul yang dikehendaki tidak ditemukan: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Muaturun Jaringan Gagal" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimisasi Geometri" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Optimisasi Geometri" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Melihat ikatan?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Tambah Hidrogen" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Tambah Hidrogen untuk pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Hapus Hidrogen" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Gagal membaca molekul pada berkas '%1'." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Ada masalah ketika menulis berkas %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimisasi Geometri" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Membuat..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Berkas trayektori %1 mempunyai jumlah atom yang tidak sesuai dengan molekul " "yang ada" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimisasi Geometri" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Tambah Hidrogen" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Tambah Hidrogen untuk pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Hapus Hidrogen" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Berhenti" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parameter:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Ikatan Dinamik" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Hapus..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Berhenti" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Ekspor Vector Graphics" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Tidak bisa membaca berkas %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Saya adalah pesan kesalahan!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Kesalahan" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Simpan berkas video" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Menggambar dengan POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Citrakan bentuk primitif menggunakan properti QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&kstensi" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Buka berkas WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Berkas WFN (*.wfn);;Semua berkas (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Ekstensi QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Membuat berkas masukan untuk program kimia kuantum" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Menghitung Kepadatan Elektron" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Menghitung Kepadatan Elektron" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Hitung dan visualisasikan orbit molekuler" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Tata Ulang" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Pembuat Berkas Masukan" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Hapus Semua" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Pemilihan" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Membalikan Pilihan" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " elektron valensi" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Pilihan" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Pilihan" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Pemilihan" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Pemilihan" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Mengambil grup ruang..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Kurangi Ukuran Asimetrik" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Toleransi SCF:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Grup ruang" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Pengambilan grup ruang gagal.\n" "\n" "Apakah anda akan mencoba lagi dengan toleransi berbeda?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Pengambilan grup ruang gagal.\n" "\n" "Apakah anda akan mencoba lagi dengan toleransi berbeda?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Pengambilan grup ruang gagal.\n" "\n" "Apakah anda akan mencoba lagi dengan toleransi berbeda?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Pengambilan grup ruang gagal.\n" "\n" "Apakah anda akan mencoba lagi dengan toleransi berbeda?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Toleransi SCF:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Internasional" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Hall" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Maugin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Pilih ruangkelompok" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Grup ruang" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Getaran" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Visualisasi Spektra" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Tampilkan koordinat fraksional" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tipe" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Unsur" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Simetri" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Pilih berdasarkan Unsur..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Menggambarkan momen dipol molekul" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Menggambar" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Menggambar dengan POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Wireframe" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Menggambar molekul dengan batang" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Dialog" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Bentuk" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Pengaturan Pilihan" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Membatalkan perhitungan" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Program Shader:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Prosesor:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Merubah Unsur" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Berkas Masukan Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Berkas Par:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Bidang Gaya:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Berkas Par:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Berkas Masukan Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Simpan Berkas Masukan" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Sukses!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Struktur:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Memuat Berkas..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Pengaturan Pengukuran" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "Nama Berkas:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigasi" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigasi" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigasi" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nama berkas:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "Oke" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Batalkan" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Format Koordinat:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Tata Ulang" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Jarak" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Format:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Kembalikan Perubahan" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Terapkan" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Impor Kristal" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parameter Super Sel" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Pilihan Super Sel" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Ulang A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Ulang B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Ulang C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Atur Warna Unit Cell" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matriks Sel" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Matriks Sel Fraksional (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Geser Atom-atom" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "Terapkan" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Satuan Skala Volume Sel" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Enter volume baru:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Skala &Faktor:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "LabelTeks" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Unsur:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Orde Ikatan:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Masukan GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "Pengaturan Dasar" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Dalam:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Pengalian:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Dengan:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Judul:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Muatan:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Hitung:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nama berkas:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Tata Ulang Semua" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Bawaan" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Memuat Berkas..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nama" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Tidak ada penjelasan" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Berat Molekul (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "Perlu Dikerjakan" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Rumus Kimia:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Nomor dari Atom:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Nomor dari Ikatan:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Optimisasi Geometri" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Metoda Optimisasi:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Bidang Gaya:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Metoda Optimisasi:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Cara Steepest Descent" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Cara Conjugate Gradients" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "RotasiOtomatis" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosurface = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potensial Elektrostatik" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "step" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Kriteria Konvergensi Gradient:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Konvergensi" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Batas Waktu:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Satuan:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Nomor dari Ikatan:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Panjang gelombang (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Hapus Pilihan" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Jejari Titik Kritis:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Jejari Jejak Ikatan:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Kovalen" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Ukuran Konstan" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opasitas:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Bidang Permukaan" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Bidang Permukaan" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Sedang" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Sangat Rendah" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Rendah" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Tinggi" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Sangat Tinggi" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Harga PermukaanISO:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolusi:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Bidang Permukaan" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Menghitung" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Getaran" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitudo:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Memulai &Animasi" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Menghentikan &Animasi" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekul" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Simetri" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Pilihan" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Simetri" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Grup ruang" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Waluyo Adi Siswanto, ,Launchpad Contributions:," "Geoff Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Waluyo Adi Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Muhammad Radifar,Waluyo Adi Siswanto, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison,Muhammad Radifar,Samsul Ma'arif,Waluyo Adi " "Siswanto, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Muhammad " "Radifar,Samsul Ma'arif,Waluyo Adi Siswanto" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,,,,,,,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-devel@lists." "sourceforge.net,,,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-" "devel@lists.sourceforge.net,,,,,avogadro-devel@lists.sourceforge.net,,,,," "avogadro-devel@lists.sourceforge.net,,,,,avogadro-devel@lists.sourceforge." "net,,,,,,avogadro-devel@lists.sourceforge.net,,,mail@samsul.web.id,,,," "avogadro-devel@lists.sourceforge.net,,,hay@samsul.web.id," #~ msgid "Color by Index" #~ msgstr "Warna berdasarkan Indeks" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Warna berdasarkan Indeks (merah, oranye, kuning, hijau, biru, ungu)." #~ msgid "Color by Partial Charge" #~ msgstr "Warna berdasarkan Muatan Parsial" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Warna berdasarkan muatan parsial (biru = positif, merah = negatif)" #~ msgid "Custom Color:" #~ msgstr "Warna Atur Sendiri:" #~ msgid "Custom Color" #~ msgstr "Warna Atur Sendiri" #~ msgid "Set custom colors for objects" #~ msgstr "Atur warna untuk obyek" #~ msgid "Color by Distance" #~ msgstr "Warna berdasarkan jarak" #~ msgid "Color by distance from the first atom." #~ msgstr "Warna berdasarkan jarak dari atom pertama" #~ msgid "Color by Element" #~ msgstr "Warna berdasarkan Unsur" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Warna berdasarkan Unsur (karbon = kelabu, oksigen = merah, ...)." #~ msgid "Color by Residue" #~ msgstr "Warna berdasarkan Residu" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Warna berdasarkan Residu (tipe asam amino, hidrofobisitas, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "Pola SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Warna Sorot:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Warna Berdasarkan Pola SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Sorot fitur tertentu yang sesuai dengan pola SMARTS" #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoktium" #~ msgid "Engines" #~ msgstr "Mesin" #~ msgid "Axes" #~ msgstr "Sumbu" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Menggambarkan sumbu x, y, dan z di titik pusat" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "" #~ "Menggambarkan bentuk dasar menggunakan Bola (atom) dan Batang (ikatan)" #~ msgid "Cartoon" #~ msgstr "Kartun" #~ msgid "Renders protein secondary structure" #~ msgstr "Menggambar protein sebagai struktur sekunder" #~ msgid "Dipole" #~ msgstr "Dipol" #~ msgid "Force" #~ msgstr "Gaya" #~ msgid "Renders force displacements on atoms" #~ msgstr "Menggambarkan gaya pemindahan pada atom" #~ msgid "Hydrogen Bond" #~ msgstr "Ikatan Hidrogen" #~ msgid "Renders hydrogen bonds" #~ msgstr "Menggambarkan ikatan hidrogen" #~ msgid "Select Atom Labels Color" #~ msgstr "Pilih Warna Label Atom" #~ msgid "Select Bond Labels Color" #~ msgstr "Pilih Warna Label Ikatan" #~ msgid "Select Atom Labels Font" #~ msgstr "Pilih Warna Huruf Label Atom" #~ msgid "Select Bond Labels Font" #~ msgstr "Pilih Warna Label Ikatan" #~ msgid "Label" #~ msgstr "Label" #~ msgid "Polygon" #~ msgstr "Poligon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "" #~ "Menggambarkan atom sebagai bentuk tetrahedral, oktahedral, dan bentuk " #~ "poligon" #~ msgid "Ribbon" #~ msgstr "Pita" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Menggambar struktur utama protein dengan pita" #~ msgid "Ring" #~ msgstr "Cincin" #~ msgid "Renders rings with colored planes" #~ msgstr "Menggambar cincin dengan bidang berwarna" #~ msgid "Simple Wireframe" #~ msgstr "Wireframe sederhana" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Menggambar ikatan dengan jaring (garis), sesuai untuk melekul besar" #~ msgid "Van der Waals Spheres" #~ msgstr "Bola Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Menggambar atom sebagai bola Van der Waals" #~ msgid "Stick" #~ msgstr "Batang" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Kepadatan elektron, isosurface = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, PermukaanIso = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Membuat gambar ikatan dengan jaringan (garis), sesuai untuk (bio)molekul " #~ "yang sangat besar" #~ msgid "Trajectory files" #~ msgstr "Berkas trayektori" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Berkas DL-POLY HISTORY" #~ msgid "Open Trajectory File" #~ msgstr "Berkas Trayektori Terbuka" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "berkas video (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Menambah ekstensi .avi" #~ msgid "Animation..." #~ msgstr "Animasi..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Tidak bisa membaca format dari berkas %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Gagal membaca berkas trayektori %1." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Perlu menyatakan nama berkas .avi yang sahih." #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "Alat GL tidak di inisiasi dengan benar untuk menyimpan video" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Nama berkas video tidak sahih. Perlu menyertakan direktori berkas secara " #~ "lengkap" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Nama berkas video tidak sahih. Perlu menyertakan direktori berkas secara " #~ "lengkap, diakhiri dengan .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Tidak bisa mengenali format dari berkas: %1" #~ msgid "Animation" #~ msgstr "Animasi" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animasi trayektori, reaksi dan getaran." #~ msgid "Cartesian Editor" #~ msgstr "Penyunting Cartesian" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Unit sel belum didefinisakan untuk molekul -- tidak bisa menggunakan " #~ "koordinat molekul." #~ msgid "Cartesian Editor..." #~ msgstr "Pneyunting Kartesian..." #~ msgid "Cartesian editor" #~ msgstr "Penyunting Cartesian" #~ msgid "Number of atoms: %1" #~ msgstr "Jumlah atom: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Jumlah ikatan yang bisa diputar: %1" #~ msgid "Add constraint" #~ msgstr "Tambahkan kendala" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Untuk menambah kendala, molekul anda harus terdiri dari paling tidak satu " #~ "atom" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Untuk menambah satu kendala ikatan, molekul anda harus mempunyai paling " #~ "sedikit dua atom" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Untuk menambah satu kendala sudut, molekul anda harus mempunyai paling " #~ "sedikit tiga atom" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Untuk menambah satu kendala torsi, molekul anda harus mempunyai paling " #~ "sedikit empat atom" #~ msgid "&Crystallography" #~ msgstr "Kristalografi" #~ msgid "&Reduce" #~ msgstr "Sederhanakan" #~ msgid "&Settings" #~ msgstr "Pengaturan" #~ msgid "&Length Unit" #~ msgstr "Satuan Panjang" #~ msgid "&Angle Unit" #~ msgstr "Satuan Sudut" #~ msgid "&Coordinate Display" #~ msgstr "Tampilan Koordinat" #~ msgid "Coordinate &Preservation" #~ msgstr "Pilihan koordinat" #~ msgid "&Matrix Display" #~ msgstr "Tampilan Matriks" #~ msgid "Hide &Editors" #~ msgstr "Sembunyikan &Editors" #~ msgid "Show &Editors" #~ msgstr "Perlihatkan &Editors" #~ msgid "Hide &Property Display" #~ msgstr "Sembunyikan Tampilan &Property" #~ msgid "Show &Property Display" #~ msgstr "Perlihatkan Tampilan &Property" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Tipe Kisi: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Kelompokruang: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Volume sel unit: %L1%2" #~ msgid "Undefined" #~ msgstr "Tak-terdefinisi" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triklin" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoklin" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortorombik" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonal" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Rhombohedral" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Heksagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Kubik" #~ msgid "Paste Crystal" #~ msgstr "Tempelkan Kristal" #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Gagal mereduksi jumlah sel setelah 1000 kali pengulangan algoritma " #~ "reduksi. Proses diberhentikan." #~ msgid "&Translate Atoms..." #~ msgstr "Geser Atom-atom" #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Putar ke Orientasi Standar" #~ msgid "&Slab..." #~ msgstr "$Slab...." #~ msgid "Set &Spacegroup..." #~ msgstr "Atur Grup ruang" #~ msgid "&Fill Unit Cell" #~ msgstr "isi satuan sel" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Isi satuan sel dengan grup ruang yang sekarang" #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Kurangi ke ukuran &Asimetrik" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "" #~ "Pindahkan atom dalam posisi yang sama (berlawanan dengan Fill Unit Cell)" #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Kristal Simetri" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Sederhanakan Sel (&Primitif)" #~ msgid "&Bohr" #~ msgstr "Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometer" #~ msgid "&Picometer" #~ msgstr "&Pikometer" #~ msgid "&Degree" #~ msgstr "&Derajat" #~ msgid "&Radian" #~ msgstr "&Radian" #~ msgid "Display &cartesian coordinates" #~ msgstr "Tampilkan koordinat kartesian" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Tetap Menggunakan Koordinat Kartesian Ketika Modifikasi Sel" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Tetap Menggunakan Koordinat Fraksional Ketika Modifikasi Sel" #~ msgid "Display &cartesian matrix" #~ msgstr "Menampilkan matriks kartesian" #~ msgid "Display &fractional matrix" #~ msgstr "Menampilkan matriks fraksional" #~ msgid "Display as &row vectors" #~ msgstr "Menampilkan baris vektor" #~ msgid "Display as &column vectors" #~ msgstr "Menampilkan kolom vektor" #~ msgid "&Crystal View Options..." #~ msgstr "Pilihan melihat &Kristal..." #~ msgid "Set Spacegroup" #~ msgstr "Atur grup ruang" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Tidak ada ruangkelompok yang diatur untuk dokumen ini.\n" #~ "\n" #~ "Apakah Anda ingin mengatur sebuah ruang kelompok sekarang?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Ruang kelompok P1 terdeteksi -- tidak dapat mensimetriskan ke ruang " #~ "kelompok ini.\n" #~ "\n" #~ "Apakah Anda ingin mencoba lagi dengan toleransi berbeda?" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Masukkan Atom-atom Kedalam Sel" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Sederhanakan ke Sel Niggli" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "Pilih toleransi di satuan kartesian yang dipakai:" #~ msgid "Crystallography" #~ msgstr "Kristalografi" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Menyusun and menganalisis struktur periodik." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "Masukan tidak mengikuti salah satu dari\n" #~ "format yang didukung berikut:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Format VASP\n" #~ msgid "Bad Compostion" #~ msgstr "Komposisi Salah" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "Field teridentifikasi harus berisi nomor yang sama dari pemisah ruang " #~ "entri seperti baris 6 dari POSCAR." #~ msgid "Cartesian Coordinates" #~ msgstr "Koordinat Kartesian" #~ msgid "Fractional Coordinates" #~ msgstr "Koordinat Fraksional" #~ msgid "Set Fractional Coordinates" #~ msgstr "Atur Koordinat Fraksional" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Matriks Sel (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Atur Matriks Satuan Sel" #~ msgid "Set Unit Cell Params" #~ msgstr "Atur Param Satuan Sel" #~ msgid "Working..." #~ msgstr "Bekerja..." #~ msgid "Build" #~ msgstr "Bangun" #~ msgid "Cut Slab From Crystal" #~ msgstr "Potong Slab dari Kristal" #~ msgid "No GLWidget?" #~ msgstr "Tanpa GLWidget?" #~ msgid "Please select one or more atoms." #~ msgstr "Silahkan pilih satu atau beberapa atom." #~ msgid "Trajectory..." #~ msgstr "Trajektori..." #~ msgid "Open chemical file format" #~ msgstr "Buka format berkas kimia" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Berkas kimia (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Buka berkas parameter" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Berkas kimia (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Impor Trayektori" #~ msgid "Import trajectory files" #~ msgstr "Impor berkas trayektori" #~ msgid "Setup Force Field..." #~ msgstr "Pengaturan Bidang Gaya..." #~ msgid "Calculate Energy" #~ msgstr "Menghitung Energi" #~ msgid "Conformer Search..." #~ msgstr "Pencarian Conformer..." #~ msgid "Constraints..." #~ msgstr "Kendala..." #~ msgid "Ignore Selection" #~ msgstr "Lupakan Pilihan" #~ msgid "Fix Selected Atoms" #~ msgstr "Menetapkan Pilihan Atom" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mekanika Molekuler" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Tidak bisa menetapkan gaya bidang yang sekarang untuk molekul ini. " #~ "Dipindahkan ke UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Energi = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Optimisasi Geometrik" #~ msgid "Forcefield Optimization" #~ msgstr "Optimisasi Bidang Gaya" #~ msgid "Systematic Rotor Search" #~ msgstr "Pencarian Rotor Sistimatik" #~ msgid "Random Rotor Search" #~ msgstr "Pnecarian Rotor Acak" #~ msgid "Weighted Rotor Search" #~ msgstr "Pencarian Rotor Terbeban" #~ msgid "Genetic Algorithm Search" #~ msgstr "Algoritma Pencarian Generik" #~ msgid "ForceField" #~ msgstr "BidangGaya" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimalkan molekul dan membentuk conformer menggunakan mekanika molekular " #~ "bidang gaya" #~ msgid "&Vector Graphics..." #~ msgstr "&Vektor Grafik ..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Format gambar vektor yang umum" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Ekspor Vector Graphics" #~ msgid "Change H to Methyl" #~ msgstr "Meruba H ke Metil" #~ msgid "H to Methyl" #~ msgstr "H ke Metil" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transformasi hidrogen ke grup metil" #~ msgid "Add or remove hydrogens" #~ msgstr "Tambah atau hapus hidrogen" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA" #~ msgid "Insert DNA" #~ msgstr "Masukkan DNA" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Uracil" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Thymine" #~ msgid "Insert DNA/RNA" #~ msgstr "Masukkan DNA/RNA" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Masukkan rantai DNA/RNA" #~ msgid "Cannot read molecular file %1." #~ msgstr "Tidak dapat membaca berkas molekul %1" #~ msgid "Fragment..." #~ msgstr "Fragmen..." #~ msgid "Insert SMILES" #~ msgstr "Sisipkan SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Sisipkan SMILES fragmen:" #~ msgid "Insert Fragment" #~ msgstr "Sisipkan Fragmen" #~ msgid "Insert Crystal" #~ msgstr "Masukkan Kristal" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Sisipkan fragmen molekul untuk membuat molekul yang lebih besar" #~ msgid "Peptide..." #~ msgstr "Peptide..." #~ msgid "Insert Peptide" #~ msgstr "Sisipkan Peptide" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Sisipkan urutan oligopeptide" #~ msgid "Invert Chirality" #~ msgstr "Inverskan Chirality" #~ msgid "InvertChiral" #~ msgstr "InvertChiral" #~ msgid "Invert chiral centers" #~ msgstr "Balik sumbu chiral" #~ msgid "Molecule Properties..." #~ msgstr "Properti Molekul..." #~ msgid "&Properties" #~ msgstr "&Properti" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "tak dikenal" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Perkiraan Momen Dipol (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(ditunda)" #~ msgid "Display standard molecular properties." #~ msgstr "Tampilkan properti molekul standar" #~ msgid "Fetch from PDB..." #~ msgstr "Mengambil dari PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Ambil menurut nama kimia......" #~ msgid "Fetch from URL..." #~ msgstr "Mengambil dari URL..." #~ msgid "PDB Entry" #~ msgstr "Entri PDB" #~ msgid "PDB entry to download." #~ msgstr "Entri PDB untuk muaturun." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL molekul untuk muaturun." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Molekul yang dikehendaki tidak bisa dimuat: %1" #~ msgid "Network Fetch" #~ msgstr "Pengambilan dari Jaringan" #~ msgid "Fetch molecule files over the network." #~ msgstr "Mengambil berkas molekul dari jaringan." #~ msgid "All Files" #~ msgstr "Semua Berkas" #~ msgid "Show Preview" #~ msgstr "Mengeluarkan Pratampilan" #~ msgid "Hide Preview" #~ msgstr "Menyembunyikan Pratampilan" #~ msgid "Intensities" #~ msgstr "Intensitas" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Menyimpan gambar hasil POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Berkas gambar (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Nama berkas belum diberikan." #~ msgid "No valid filename was supplied." #~ msgstr "Nama berkas yang diberikan tidak sahih." #~ msgid "Does not compute." #~ msgstr "Tidak melakukan perhitungan" #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Anda meminta tidak menggambar langsung menggunakan POV-Ray dan tidak " #~ "menyimpan berkas POV-Ray. Keluaran yang dihasilkan tidak akan disimpan. " #~ "Apakah ini anda inginkan?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Tidak bisa menulis ke berkas %1. Apakah anda mempunyai hak menulis ke " #~ "lokasi tersebut?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray gagal dijalankan." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray gagal dijalankan. Kemungkinan karena lokasi berkas yang " #~ "dijalankan tidak tepat." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Membuat berkas POV-Ray dan memunculkan gambar hasil menggunakan perintah " #~ "baris program POV-Ray." #~ msgid "Atom Properties..." #~ msgstr "Properti Atom..." #~ msgid "Bond Properties..." #~ msgstr "Properti Ikatan..." #~ msgid "Angle Properties..." #~ msgstr "Properti Sudut..." #~ msgid "Torsion Properties..." #~ msgstr "Properti Torsi..." #~ msgid "Conformer Properties..." #~ msgstr "Properti Conformer..." #~ msgid "Atom Properties" #~ msgstr "Properti Atom" #~ msgid "Bond Properties" #~ msgstr "Properti Ikatan" #~ msgid "Angle Properties" #~ msgstr "Properti Sudut" #~ msgid "Torsion Properties" #~ msgstr "Properti Torsi" #~ msgid "Conformer Properties" #~ msgstr "Properti Conformer" #~ msgid "Properties" #~ msgstr "Berbagai Properti" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Jendela untuk menampilkan properti atom, ikatan, angle dan torsi. " #~ "Termasuk penyunting koordinat cartesian." #~ msgid "Valence" #~ msgstr "Valensi" #~ msgid "Partial Charge" #~ msgstr "Muatan Parsial" #~ msgid "Atom" #~ msgstr "Atom" #~ msgid "Start Atom" #~ msgstr "Awal Atom" #~ msgid "Rotatable" #~ msgstr "Dapat diputar" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Panjang %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Panjang %1" #~ msgid "Vertex" #~ msgstr "Verteks" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Sudut %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Sudut %1" #~ msgid "Angle" #~ msgstr "Sudut" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Torsi %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsi %1" #~ msgid "Torsion" #~ msgstr "Torsi" #~ msgid "Conformer" #~ msgstr "Conformer" #~ msgid "Yes" #~ msgstr "Ya" #~ msgid "No" #~ msgstr "Tidak" #~ msgid "Python Terminal" #~ msgstr "Terminal Python" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Terminal interaktif untuk skrip python" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Peringatan Pembuat Dek Masukan Abinit" #~ msgid "Abinit_Input_Deck" #~ msgstr "Dek_Masukan_Abinit" #~ msgid "Abinit Running." #~ msgstr "Menjalankan Abinit." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Abinit sedang berjalan. Mohon ditunggu sampai perhitungan sebelumnya " #~ "selesai." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit Belum Terpasang." #~ msgid "The abinit executable cannot be found." #~ msgstr "Berkas menjalankan Abinit tidak ditemukan." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "abinit tidak bisa dijalankan. Mungkin tidak dipasang dengan benar." #~ msgid "Running Abinit calculation..." #~ msgstr "Perhitungan Abinit sedang berjalan..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit tidak berjalan dengan benar. Mungkin tidak dipasang dengan benar." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Peringatan Pembuat Berkas Masukan Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Apakah anda ingin memperbarui pratampilan teks, dan menghilangkan semua " #~ "perubahan pada pratampilan berkas masukan Dalton" #~ msgid "QM Matches" #~ msgstr "QM Sesuai" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Pemilihan EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Pemilihan QM..." #~ msgid "Delete" #~ msgstr "Hapus" #~ msgid "You must make a selection!" #~ msgstr "Anda harus memilih salah satu!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Konversi SMILES tidak tersedia" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Konversi Format SMILES Tidak Tersedia!" #~ msgid "Group Name" #~ msgstr "Nama Grup" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Membuat berkas masukan untuk program kimia kuantum GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Pengaturan Lanjut Berubah" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Pengaturan lanjut sudah dipilih.\n" #~ "Dibatalkan?" #~ msgid "Advanced Settings Reset" #~ msgstr "Tata Ulang Pengaturan Lanjut" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Anda yakin ingin menata ulang pengaturan lanjut?\n" #~ "Semua perubahan akan terhapus!" #~ msgid "Basic Settings Reset" #~ msgstr "Tata Ulang Pengaturan Dasar" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Anda yakin ingin menata ulang pengaturan dasar?\n" #~ "Semua perubahan akan terhapus!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Peringatan pembuat berkas masukan GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Apakah akan memperbarui teks pratampilan, dengan konsekuensi perubahan di " #~ "jendela pratampilan berkas masukan GAMESS-UK akan hilang?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Berkas masukan GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Pembuat Peringatan Masukan Program Gaussian" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Apakah anda akan memperbarui teks pratampilan, semua perubahan pada " #~ "masukan progam Gaussian di jendela pratampilan akan terhapus?" #~ msgid "Gaussian Input Deck" #~ msgstr "Masukan Program Gaussian" #~ msgid "Gaussian Running." #~ msgstr "Gaussian Sedang Berjalan." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian sedang berjalan. Tunggu sampai perhitungan sebelumnya selesai." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian Tidak Di Instal." #~ msgid "The G03 executable, cannot be found." #~ msgstr "G03 yang bisa dijalankan, tidak ditemukan." #~ msgid "G03 failed to start." #~ msgstr "Gagal menjalankan G03." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "G03 tidak bisa dijalankan. Mungkin tidak bisa di instal dengan benar." #~ msgid "Running Gaussian calculation..." #~ msgstr "Menjalankan perhitungan Gaussian..." #~ msgid "G03 Crashed." #~ msgstr "G03 Gagal." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian tidak bisa dijalankan dengan semestinya. Mungkin tidak di instal " #~ "dengan benar." #~ msgid "&Abinit..." #~ msgstr "Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Peringatan Pembuat Berkas Masukan Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Apakah anda akan memperbarui tampilan teks, semua perubahan yang ada " #~ "dalam berkas masukan Molpro pada jendela pratampilan akan hilang?" #~ msgid "Molpro Input Deck" #~ msgstr "Berkas Masukan Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Peringatan Masukan MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Apakah anda akan memperbarui teks pratampilan, semua perubahan pada " #~ "masukan progam MOPAC di jendela pratampilan akan terhapus?" #~ msgid "MOPAC Input Deck" #~ msgstr "Berkas Masukan MOPAC" #~ msgid "MOPAC Running." #~ msgstr "MOPAC sedang berjalan." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "MOPAC sedang berjalan. Tunggu sampai perhitungan sebelumnya selesai." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC Belum di instal." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Berkas program MOPAC yang bisa dijalankan tidak ditemukan." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC gagal dijalankan." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC tidak bisa dijalankan. Kemungkinan tidak di instal dengan benar." #~ msgid "Running MOPAC calculation..." #~ msgstr "Perhitungan MOPAC sedang berlangsung..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC Bertabrakan." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC tidak berjalan dengan benar. Kemungkingan tidak di instal dengan " #~ "benar." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Pembuat Peringatan Masukan Program NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Apakah anda akan memperbarui teks pratampilan, semua perubahan pada " #~ "masukan progam NWChem di jendela pratampilan akan terhapus?" #~ msgid "NWChem Input Deck" #~ msgstr "Berkas Masukan NWChem" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Pembuat Peringatan Masukan Program Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Apakah anda akan memperbarui teks pratampilan, semua perubahan pada " #~ "masukan progam Q-Chem di jendela pratampilan akan terhapus?" #~ msgid "QChem Input Deck" #~ msgstr "Berkas Masukan QChem" #~ msgid "Select SMARTS..." #~ msgstr "Pemilihan SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Pilih berdasarkan Residu..." #~ msgid "Add Named Selection..." #~ msgstr "Tambah Pilihan Yang Dinamai..." #~ msgid "SMARTS Selection" #~ msgstr "Pilihan SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Memilih pola SMARTS" #~ msgid "Select by residue" #~ msgstr "Pilih berdasarkan residu" #~ msgid "Residue name" #~ msgstr "Nama residu" #~ msgid "There is no current selection." #~ msgstr "Sekarang belum ada pilihan" #~ msgid "Add Named Selection" #~ msgstr "Tambah Pilihan Yang Dinamai" #~ msgid "Name cannot be empty." #~ msgstr "Nama tidak boleh kosong." #~ msgid "There is already a selection with this name." #~ msgstr "Sudah ada pilihan dengan nama ini" #~ msgid "Selections" #~ msgstr "Pilihan" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Pilih atom, ikatan, residu..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Shader..." #~ msgid "Open a vertex shader source file" #~ msgstr "Buka berkas sumber vertex shader" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Berkas vertex shader (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Buka berkas sumber fragmen shader" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Berkas fragmen shader (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Buka berkas parameter shader" #~ msgid "Shader parameters files (*.params)" #~ msgstr "berkas parameter shader (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL Shader" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Memuat dan menggunakan OpenGL 2.0 GLSL shader" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensitas (arb. units)" #~ msgid "Energy (eV)" #~ msgstr "Energi (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Kemampatan States (states/cell)" #~ msgid "Density of States (states/atom)" #~ msgstr "Kemampatan States (states/atom)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Kemampatan States (states/valence electron)" #~ msgid "Transmittance (%)" #~ msgstr "Transmitansi (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbansi (%)" #~ msgid "No intensities" #~ msgstr "Tanpa intensitas" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Data getaran di molekul yang anda tambahkan tidak mempunyai data " #~ "intensitas. Sembarang angka diberikan sebagai intensitas untuk tujuan " #~ "penggambaran." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Nomor gelombang (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Shift (ppm)" #~ msgid "Activity" #~ msgstr "Aktivitas" #~ msgid "Intensity" #~ msgstr "Intensitas" #~ msgid "X Axis" #~ msgstr "Sumbu X" #~ msgid "Y Axis" #~ msgstr "Sumbu Y" #~ msgid "&Appearance" #~ msgstr "Pen&ilan" #~ msgid "E&xport Image" #~ msgstr "Ek&spor Gambar" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "InfraMerah" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Pengaturak Spektra &Inframerah" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "Pengaturan Spektra &NMR" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "Pengaturan Ke&mampatan States" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "Pengaturan &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "Pengaturan &CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "Pengaturran &Raman" #~ msgid "No data" #~ msgstr "Tidak ada data" #~ msgid "Dark" #~ msgstr "Gelap" #~ msgid "Light" #~ msgstr "Terang" #~ msgid "Publication" #~ msgstr "Publikasi" #~ msgid "Handdrawn" #~ msgstr "Gambaran tangan" #~ msgid "New Scheme" #~ msgstr "Skema Baru" #~ msgid "Confirm Scheme Removal" #~ msgstr "Konfirmasi Menghapus Skema" #~ msgid "Really remove current scheme?" #~ msgstr "Apakah akam menghapus skema yang ada?" #~ msgid "Change Scheme Name" #~ msgstr "Merubah Nama Skema" #~ msgid "Enter new name for current scheme:" #~ msgstr "Tuliskan nama baru untuk sekema yang sekarang" #~ msgid "Select Background Color" #~ msgstr "Pilih Warna Latar" #~ msgid "Select Foreground Color" #~ msgstr "Pilih Warna Depan" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Pilih Warna Spektrum Hitungan" #~ msgid "Select Imported Spectra Color" #~ msgstr "Pilih Warna Spektrum Impor" #~ msgid "Export Calculated Spectrum" #~ msgstr "Ekspor Spektrum Hasil Perhitungan" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Angka Dipisahkan Tab (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Angka Dipisahkan Tab" #~ msgid "Comma Separated Values" #~ msgstr "Angka Dispisahkan Koma" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Impor Spektra" #~ msgid "Spectra Import" #~ msgstr "Impor Spektra" #~ msgid "Unknown extension: %1" #~ msgstr "Ekstensi tidak dikenal: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR data (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Data Turbomole IR (kontrol)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Data Turbomole UV (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Data Turbomole CD (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Format Data" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format:" #~ msgid "Load Spectral Data" #~ msgstr "Memuat Data Spektral" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Berkas Turbomole CD tidak diformat dengan benar : %1" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Simpan Gambar Spektral" #~ msgid "&Advanced <<" #~ msgstr "&Lanjut <<" #~ msgid "&Advanced >>" #~ msgstr "&Lanjut >>" #~ msgid "&Spectra..." #~ msgstr "&Spektra..." #~ msgid "Spectra" #~ msgstr "Spektra" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Memvisualisasikan data spektral dari perhitungan kimia kuantum" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Analisis Getaran" #~ msgid "No vibrational displacements exist." #~ msgstr "Tidak ada simpangan getaran" #~ msgid "Vibration" #~ msgstr "Getaran" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Menggambarkan pola getaran dari perhitungan kimia kuantum" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Mengurutkan getaran %1 berdasarkan frekuensi..." #~ msgid "Pause" #~ msgstr "Jeda" #~ msgid "Super Cell Builder..." #~ msgstr "Pembangun Super Sel..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Dokumen ini merupakan molekul yang di isolasi saat ini. Anda perlu " #~ "membuat satu sel." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Membangun dan menampilkan kristalografi super sel" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbit molekuler..." #~ msgid "Orbitals" #~ msgstr "Orbit" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Orbit" #~ msgid "Status" #~ msgstr "Status" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Kosong" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potensial Elektrostatik" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Kepadatan Elektron" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbit Molekuler" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Salah - tipe tidak terdefinisi" #~ msgid "Create Surfaces..." #~ msgstr "Membuat Permukaan..." #~ msgid "Calculating VdW Cube" #~ msgstr "Menghitung kubus VdW" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Menghitung MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Kepadatan Elektron" #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Menghitung orbit melekul dan bidang lainnya" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "Alat GL tidak di inisiasi dengan benar untuk membuat filem" #~ msgid "GL widget has no molecule" #~ msgstr "Alat GL tidak memiliki molekul" #~ msgid "Building video " #~ msgstr "Membuat gambar filem " #~ msgid "Could not run povray." #~ msgstr "Tidak dapat menjalankan povray" #~ msgid "Could not run mencoder." #~ msgstr "Tidak dapat menjalankan mencoder" #~ msgid "Set Aspect Ratio" #~ msgstr "Atur Aspek Rasio" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Pengaturan sekarang untuk layar adalah %1x%2 piksel, dan mempunyai aspek " #~ "rasio %3.\n" #~ "Anda dapat memakai ukuran ini, apabila anda ingin menggunakan misalnya " #~ "POV-Ray\n" #~ "untuk mendapatkan gambar of %4x1000 piksel, atau anda bisa mengganti " #~ "dengan ukuran lain,\n" #~ "apabila anda ingin menggunakan POV-Ray untuk membuat gambar, seperti " #~ "ukuran 1000x1000 piksel." #~ msgid "Connect" #~ msgstr "Sambung" #~ msgid "Disconnect" #~ msgstr "Putus Sambungan" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Wii Tracking" #~ msgid "Track motion using Wii remotes" #~ msgstr "Track motion menggunakan Wii remote" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Konteks OpenGL ada kesalahan.\n" #~ "Kemungkingan ada kesalahan dalam pengaturan OpenGL (apakah anda bisa " #~ "menjalankan aplikasi OpenGL lainnya?), atau mungkin anda menemukan kutu." #~ msgid "Debug Information" #~ msgstr "Informasi Awakutu" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Ukuran Tampilan: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Atom: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Ikatan: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: indeks %1 diluar jangkauan." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Tipe berkas '%1' tidak mempunyai dukungan untuk dibaca." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "" #~ "Tipe berkas pada berkas '%1' tidak mempunyai dukungan untuk dibaca." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Gagal membaca molekul dengan indeks %1 dari berkas '%2'." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "mengganti Molekul: indeks %1 diluar jangkauan." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Tipe berkas '%1' tidak mempunyai dukungan untuk ditulis." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "" #~ "Tipe berkas pada berkas '%1' tidak mempunyai dukungan untuk ditulis." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Tidak bisa membuka berkas '%1' untuk ditulis." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Tidak bisa membuka berkas '%1' untuk dibaca." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Gagal mengganti molekul dengan indeks %1 pada berkas '%2'" #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Berkas %1 tidak bisa dibuka untuk dibaca." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Berkas %1 tidak bisa dibuka untuk ditulis." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "Gagal menyimpan berkas molekul - tidak bisa menamai ulang." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "Gagal menyimpan berkas molekul - tidak bisa memberikan nama baru." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Gagal menyimpan berkas molekul - tidak bisa menghapus nama berkas lama." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "Gagal menulis molekul ke berkas'%1'. Fungsi OpenBabel gagal." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Berkas %1 tidak bisa dibuka untuk ditulis." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Gagal menulis conformer ke berkas '%1'." #~ msgid "Molecule %1" #~ msgstr "Molekul %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Enjin Python Tidak Dikenal" #~ msgid "N/A" #~ msgstr "TidakAda" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: memeriksa " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - skrip belum mendefinisikan 'Enjin' class" #~ msgid " - no module" #~ msgstr " - tidak ada modul" #~ msgid "Unknown Python Extension" #~ msgstr "Ekstensi Python Tidak Dikenal" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: pengecekan " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - skrip belum mendefiniskan 'Ekstensi' class" #~ msgid "Unknown Python Tool" #~ msgstr "Alat Python Tidak Dikenal" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: pengecekan " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - skrip tidak mempunyai definisi 'Tool' class" #~ msgid "Conformer %1" #~ msgstr "Conformer %1" #~ msgid "Tools" #~ msgstr "Alat-alat" #~ msgid "Axis:" #~ msgstr "Sumbu:" #~ msgid "Align:" #~ msgstr "Pelurusan:" #~ msgid "Everything" #~ msgstr "Semuanya" #~ msgid "Align" #~ msgstr "Pelurusan" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Pelurusan molekul menurut sumbu Kartesian" #~ msgid "Align Settings" #~ msgstr "Pengaturan pelurusan" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Tidak bisa mengatur bidang gaya...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Jumlah Constraints: %1" #~ msgid "Steps per Update:" #~ msgstr "Jumlah Langkah setiap Pembaruan:" #~ msgid "Algorithm:" #~ msgstr "Algoritma:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dinamika Molekuler (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinamika Molekuler (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinamika Molekuler (900K)" #~ msgid "Start" #~ msgstr "Mulai" #~ msgid "Fixed atoms are movable" #~ msgstr "Atom-atom tetap dapat dipindahkan" #~ msgid "Ignored atoms are movable" #~ msgstr "Atom-atom yang lain dapat dipindahkan" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOpt Molekul" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Optimisasi otomatis untuk geometri molekul" #~ msgid "AutoOptimization Settings" #~ msgstr "Pengaturan OptimisasiOtomatis" #~ msgid "Auto Rotation Tool" #~ msgstr "Bantuan Putaran Otomatis" #~ msgid "x rotation:" #~ msgstr "rotasi x:" #~ msgid "x rotation" #~ msgstr "rotasi x" #~ msgid "y rotation:" #~ msgstr "rotasi y:" #~ msgid "y rotation" #~ msgstr "rotasi y" #~ msgid "z rotation:" #~ msgstr "rotasi z:" #~ msgid "z rotation" #~ msgstr "rotasi z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Putaran otomatis molekul" #~ msgid "AutoRotate Settings" #~ msgstr "Pengaturan PutaranOtomatis" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Panjang Ikatan: %L1" #~ msgid " Show Angles" #~ msgstr " Tampilkan Sudut" #~ msgid "Snap-to Threshold: " #~ msgstr "Kancingkan ke Batas: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Memanipulasi Ikatan Sentrik" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulasi panjang ikatan, sudut dan torsi" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Pengaturan Manipulasi Ikatan Sentrik" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Jarak (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Sudut: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Jarak (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Sudut Dihedral: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Jarak:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Pengukuran panajng ikatan, sudut, dan dihedral" #~ msgid "Delete Atom" #~ msgstr "Hapus Atom" #~ msgid "Draw Bond" #~ msgstr "Menggambar Ikatan" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Menggambar dan menyunting atom serta ikatan" #~ msgid "Draw Settings" #~ msgstr "Pengaturan Menggambar" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Menggeser, memutar dan mengatur atom serta fragmen" #~ msgid "Manipulate Settings" #~ msgstr "Pengaturan Manipulasi" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Menggeser, memutar dan mengatur besar kecil tampilan" #~ msgid "Navigate Settings" #~ msgstr "Pengaturan Navigasi" #~ msgid "Selection Mode:" #~ msgstr "Mode Pemilihan:" #~ msgid "Atom/Bond" #~ msgstr "Atom/Ikatan" #~ msgid "Residue" #~ msgstr "Residu" #~ msgid "Add Center of Atoms" #~ msgstr "Tambahkan Pusat dari Atom-atom" #~ msgid "Add Center of Mass" #~ msgstr "Tambahkan Pusat Massa" #~ msgid "Change color of the atom" #~ msgstr "Ubah warna atom" #~ msgid "Change label of the atom" #~ msgstr "Ubah label atom" #~ msgid "New Label:" #~ msgstr "Label Baru:" #~ msgid "Change label of the bond" #~ msgstr "Ubah label ikatan" #~ msgid "Change radius of the atom" #~ msgstr "Ubah jejari atom" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Jejari Baru, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Pemilihan atom, residu dan molekul" #~ msgid "Symbol" #~ msgstr "Simbol" #~ msgid "Bond Length" #~ msgstr "Panjang Ikatan" #~ msgid "Bond Angle" #~ msgstr "Sudut Ikatan" #~ msgid "Dihedral Angle" #~ msgstr "Sudut Dihedral" #~ msgid "Z Matrix Editor..." #~ msgstr "Penyunting Matriks Z" #~ msgid "Z-Matrix" #~ msgstr "Matriks-Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Membuat/menyunting matriks-z" #~ msgid "Z-Matrix Settings" #~ msgstr "Pengaturan Matriks-Z" #~ msgid "Residue Color Settings" #~ msgstr "Pengaturan Warna Residu" #~ msgid "Color residues by:" #~ msgstr "Warna Residu berdasarkan:" #~ msgid "Amino Colors" #~ msgstr "Warna Amino" #~ msgid "Shapely Colors" #~ msgstr "Warna pilihan" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobisitas" #~ msgid "Axes:" #~ msgstr "Poros:" #~ msgid "Cartesian Axes" #~ msgstr "Sumbu Cartesian" #~ msgid "Orthogonal Axes" #~ msgstr "Sumbu orthogonal" #~ msgid "Axis 1:" #~ msgstr "Sumbu 1:" #~ msgid "Axis 2:" #~ msgstr "Sumbu 2:" #~ msgid "Axis 3:" #~ msgstr "Sumbu 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Titik Asal:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norm" #~ msgid "Preserve vector norms" #~ msgstr "Tetap mempertahankan vektor normal" #~ msgid "Atom Radius:" #~ msgstr "Jejari Atom:" #~ msgid "Bond Radius:" #~ msgstr "Jejari Ikatan:" #~ msgid "Shape" #~ msgstr "Bentuk" #~ msgid "Helix" #~ msgstr "Heliks" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Lembar" #~ msgid "Loop" #~ msgstr "Loop" #~ msgid "Colors" #~ msgstr "Warna" #~ msgid "Dipole:" #~ msgstr "Duakutub:" #~ msgid "Dipole Moment" #~ msgstr "Momen Duakutub:" #~ msgid "Custom Vector" #~ msgstr "Vektor Aturan Sendiri" #~ msgid "Custom:" #~ msgstr "Penyesuaian:" #~ msgid "Width:" #~ msgstr "Lebar:" #~ msgid "Cut-off radius:" #~ msgstr "Jejari potong:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Sudut potong:" #~ msgid "Rendering Engine:" #~ msgstr "Mesin Pewarnaan:" #~ msgid "TextRenderer" #~ msgstr "PengaturanWarnaTeks" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Label Atom" #~ msgid "Text:" #~ msgstr "Teks:" #~ msgid "Color:" #~ msgstr "Warna:" #~ msgid "None" #~ msgstr "Kosong" #~ msgid "Symbol & Number in Group" #~ msgstr "Simbol & Nomor dalam Grup" #~ msgid "Symbol & Atom number" #~ msgstr "Simbol & nomor Atom" #~ msgid "Formal charge" #~ msgstr "Muatan formal" #~ msgid "Partial charge" #~ msgstr "Muatan parsial" #~ msgid "Residue number" #~ msgstr "Nomor residu" #~ msgid "Unique ID" #~ msgstr "ID khusus" #~ msgid "Custom data" #~ msgstr "Data sendiri" #~ msgid "Change Font" #~ msgstr "Ganti Huruf" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Label Shift:" #~ msgid "Bond Labels" #~ msgstr "Label Ikatan" #~ msgid "Bond length" #~ msgstr "Panjang Ikatan" #~ msgid "Bond number" #~ msgstr "Nomor Ikatan" #~ msgid "Bond order" #~ msgstr "Orde Ikatan" #~ msgid "Rendering:" #~ msgstr "Penggambaran:" #~ msgid "Backbone" #~ msgstr "Tulangpunggung" #~ msgid "Lines" #~ msgstr "Garis-garis" #~ msgid "Radius:" #~ msgstr "Jejari:" #~ msgid "Include Nitrogens" #~ msgstr "Termasuk Nitrogen" #~ msgid "VdW Opacity:" #~ msgstr "Opasitas VdW:" #~ msgid "Orbital:" #~ msgstr "Orbit:" #~ msgid "Render:" #~ msgstr "Menggambar:" #~ msgid "Fill" #~ msgstr "Berisi" #~ msgid "Points" #~ msgstr "Titik-titik" #~ msgid "Draw Box:" #~ msgstr "Menggambar Kotak:" #~ msgid "Style:" #~ msgstr "Corak Gaya:" #~ msgid "Selected Colors" #~ msgstr "Warna Pilihan" #~ msgid "Mapped Colors" #~ msgstr "Peta Warna" #~ msgid "Colors:" #~ msgstr "Warna-warna:" #~ msgid "Positive" #~ msgstr "Positif" #~ msgid "Negative" #~ msgstr "Negatif" #~ msgid "Show Atoms" #~ msgstr "Perlihatkan Atom" #~ msgid "Animate Trajectory" #~ msgstr "Animasi Trayektori" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Perulangan" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Simpan sebagai .avi..." #~ msgid "Angstroms" #~ msgstr "Angstroms" #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "Fractional" #~ msgstr "Pecahan" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "Hanya koord XYZ" #~ msgid "GAMESS Input #2" #~ msgstr "GAMESS Masukan #2" #~ msgid "Priroda Input" #~ msgstr "Masukan Priroda" #~ msgid "Apply Changes" #~ msgstr "Terapkan Perubahan" #~ msgid "Cut All" #~ msgstr "Potong Semuanya" #~ msgid "Paste to the End" #~ msgstr "Tempelkan ke Akhir" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Tempel atau sunting " #~ "koordinat atom disini. Anda boleh menempelkan sembarang bagian teks yang " #~ "mengandung informasi koordinat

" #~ msgid "(None)" #~ msgstr "(Tiada)" #~ msgid "Sort by " #~ msgstr "Urutkan menurut " #~ msgid "Conformer Search" #~ msgstr "Pencarian Conformer" #~ msgid "Method" #~ msgstr "Metoda" #~ msgid "Number of atoms:" #~ msgstr "Jumlah atom:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Jumlah ikatan yang bisa diputar:" #~ msgid "Number of conformers" #~ msgstr "Jumlah dari conformer" #~ msgid "Systematic rotor search" #~ msgstr "Pencarian rotor sistematik" #~ msgid "Random rotor search" #~ msgstr "Pencarian rotor acak" #~ msgid "Weighted rotor search" #~ msgstr "Pencarian rotor terbeban" #~ msgid "Energy" #~ msgstr "Energi" #~ msgid "Constraints" #~ msgstr "Kendala" #~ msgid "Add Constraints" #~ msgstr "Tambah kendala" #~ msgid "Ignore Atom" #~ msgstr "Tidak Hiraukan Atom" #~ msgid "Fix Atom" #~ msgstr "Atom tetap" #~ msgid "Fix Atom X" #~ msgstr "Atom Tetap X" #~ msgid "Fix Atom Y" #~ msgstr "Atom Tetap Y" #~ msgid "Fix Atom Z" #~ msgstr "Atom Tetap Z" #~ msgid "Torsion angle" #~ msgstr "Sudut Torsi" #~ msgid "Constraint Value" #~ msgstr "Angka Kendala" #~ msgid "Atom Indices" #~ msgstr "Indeks Atom" #~ msgid "Add" #~ msgstr "Tambah" #~ msgid "Save" #~ msgstr "Simpan" #~ msgid "Load" #~ msgstr "Muat" #~ msgid "Atomic &identites:" #~ msgstr "Identitas atom:" #~ msgid "&Reset" #~ msgstr "Atur Ulang" #~ msgid "Cell Parameters" #~ msgstr "Parameter Sel" #~ msgid " °" #~ msgstr " °" #~ msgid "&Translate " #~ msgstr "Geser " #~ msgid "by arbitrary vector" #~ msgstr "mengikuti vektor bebas" #~ msgid "selected atom to origin" #~ msgstr "atom pilihan ke pusat" #~ msgid "Translation vector:" #~ msgstr "Vektor translasi:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "Satuan vektor:" #~ msgid "Cartesian" #~ msgstr "Cartesian" #~ msgid "&Translate" #~ msgstr "Geser" #~ msgid "&Keep atoms in unit cell" #~ msgstr "Pertahankan atom-atom dalam satuan sel" #~ msgid "All" #~ msgstr "Semua" #~ msgid "File Import..." #~ msgstr "Impor Berkas..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Berusaha melihat ikatan?" #~ msgid "Setup Force Field" #~ msgstr "Pengaturan Bidang Gaya" #~ msgid "Force Field" #~ msgstr "Bidang Gaya" #~ msgid "Ghemical" #~ msgstr "Kimia" #~ msgid "Number of steps" #~ msgstr "Jumlah Langkah" #~ msgid "Algorithm" #~ msgstr "Algoritma" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Urutan:" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Lainnya" #~ msgid "Insert Fragment..." #~ msgstr "Sisipkan Fragmen..." #~ msgid "Peptide Builder" #~ msgstr "Pembuat Peptide" #~ msgid "Alanine" #~ msgstr "Alanin" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginin" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagin" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Asam Aspartik" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Sistein" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Asam Glutamik" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamin" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glisin" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidin" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleusin" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valin" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirosin" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Triptopan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treonin" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serin" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolin" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Phenilalanin" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionin" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lisin" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leusin" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Asam Amino:" #~ msgid "Sequence (N to C):" #~ msgstr "Urutan (N ke C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereokimia:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N Terminus:" #~ msgid "C Terminus:" #~ msgstr "C Terminus:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Rantai Lurus" #~ msgid "Alpha Helix" #~ msgstr "Alpha Helix" #~ msgid "Beta Sheet" #~ msgstr "Lembar Beta" #~ msgid "3-10 Helix" #~ msgstr "3-10 Helix" #~ msgid "Pi Helix" #~ msgstr "Pi Helix" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Nomor Rantai:" #~ msgid "The chain number for the new peptide" #~ msgstr "Nomor rantai untuk peptide baru" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Properti Molekul" #~ msgid "Number of Residues:" #~ msgstr "Nomor dari Residu:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energi (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Momen Dipol (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Nama Molekul IUPAC:" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Lanjut" #~ msgid "Control" #~ msgstr "Kontrol" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Data" #~ msgid "Nothing" #~ msgstr "Kosong" #~ msgid "Grid" #~ msgstr "Grid" #~ msgid "POV-Ray Export" #~ msgstr "Ekspor POV-Ray" #~ msgid "Select..." #~ msgstr "Pilih..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Menggunakan antialiasing penuh" #~ msgid "Antialias" #~ msgstr "Antialias" #~ msgid "Set the background color to be transparent" #~ msgstr "Ubah warna latar dengan transparan" #~ msgid "Alpha transparency" #~ msgstr "Transparansi Alfa" #~ msgid "Command:" #~ msgstr "Perintah:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "" #~ "Menggambar molekul secara langsung menggunakan perintah baris POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Simpan perintah POV-Ray setelah penggambaran selesai" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Simpan perintah POV-Ray setelah penggambaran" #~ msgid "Path:" #~ msgstr "Path:" #~ msgid "Abinit Input" #~ msgstr "Masukan Abinit" #~ msgid "k-points:" #~ msgstr "titik-k:" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Kartesian (Angstrom)" #~ msgid "Reduced" #~ msgstr "Disederhanakan" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Toleransi untuk gaya(Ha/bohr):" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Jumlah pita:" #~ msgid "# k-point shifts:" #~ msgstr "# geseran titik-k:" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Total Energy" #~ msgstr "Energi Total" #~ msgid "Total Potential" #~ msgstr "Total Potensial" #~ msgid "Maximum Force" #~ msgstr "Gaya Maksimum" #~ msgid "Relative Force" #~ msgstr "Gaya Relatif" #~ msgid "1 - semiconducting" #~ msgstr "1 - semiconducting" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi Dirac" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 - Cold Smearing (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 - Gaussian smearing" #~ msgid "Smearing width (Ha):" #~ msgstr "Lebar Smearing (Ha):" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Optimisasi Geometri:" #~ msgid "0 - no moving ions " #~ msgstr "0 - ion tidak bergerak " #~ msgid "1 - viscous damping" #~ msgstr "1 - redaman viscous" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS dengan energi" #~ msgid "# Geometrical time steps:" #~ msgstr "# Jangkah waktu Geometri:" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Gunakan Bentuk" #~ msgid "Compute..." #~ msgstr "Menghitung..." #~ msgid "Dalton Input" #~ msgstr "Masukan Dalton" #~ msgid "Basics" #~ msgstr "Dasar" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Memambahkan apa yang anda tulis pada baris judul di berkas masukan untuk " #~ "tujuan\n" #~ "memberikan informasi tambahan." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Aturan Dasar:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Pople-style" #~ msgid "Jensen's polarization consistent" #~ msgstr "Polarisasi Jensen konsisten" #~ msgid "Dunning's correlation consistent" #~ msgstr "Korelasi Dunning konsisten" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Fungsi korelasi utama" #~ msgid "Diffuse functions" #~ msgstr "Fungsi difusi" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Fungsi polarisasi" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Langsung" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Jalankan secara paralel jika memungkinkan. Hanya mungkin untuk SCF\n" #~ "fungsi gelombang dan perhitungan DFT. Dalton hanya mendukung MPI\n" #~ "untuk rilis yang sekarang dan perlu di kompail dan di instal\n" #~ "dengan benar. Jumlah nodal diatur dengan pilihan \"-N #\" ketika " #~ "menjalankan skrip \"dalton\"." #~ msgid "Parallel" #~ msgstr "Paralel" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Fungsional:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Kerapatan:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Integrasi muatan:" #~ msgid "Grid Specification" #~ msgstr "Spesifikasi Grid" #~ msgid "Partitioning Scheme:" #~ msgstr "Skema Partisi:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (asli)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Kualitas Grid:" #~ msgid "coarse" #~ msgstr "kasar" #~ msgid "normal" #~ msgstr "normal" #~ msgid "fine" #~ msgstr "halus" #~ msgid "ultrafine" #~ msgstr "sangat halus" #~ msgid "Radial Scheme:" #~ msgstr "Skema Radial:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Tampilkan semua fungsional" #~ msgid "Property:" #~ msgstr "Properti:" #~ msgid "Polarizability" #~ msgstr "Kemampuan polarisasi" #~ msgid "Excitation Energy" #~ msgstr "Eksitasi Energi" #~ msgid "Frequency Dependent" #~ msgstr "Frekuensi ikutan" #~ msgid "No. excitations:" #~ msgstr "No. eksitasi:" #~ msgid "EFP Matches" #~ msgstr "EFP Matches" #~ msgid "Group Label:" #~ msgstr "Label Grup:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Pengaturan Lanjut" #~ msgid "Hessian" #~ msgstr "Hessian" #~ msgid "Stat Point" #~ msgstr "Poin Stat" #~ msgid "System" #~ msgstr "Sistem" #~ msgid "MO Guess" #~ msgstr "Kiraan MO" #~ msgid "Misc" #~ msgstr "Lain-lain" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Fungsi Polarisasi Atom Berat:" #~ msgid "Read" #~ msgstr "Baca" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Menghamburkan S-Shell pada Atom" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Hamburkan L-Shell pada Atom Berat" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Valensi Dua Zeta" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Valensi Tiga Zeta" #~ msgid "SBKJA Valence" #~ msgstr "Valensi SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "Valensi Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Tipe ECP:" #~ msgid "Default" #~ msgstr "Bawaan" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Fungsi Polarisasi Atom Berat:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#light Fungsi Polarisasi Atom:" #~ msgid "Polar:" #~ msgstr "Kutub:" #~ msgid "Max SCF Iterations:" #~ msgstr "Iterasi SCF Max:" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "Optimisasi" #~ msgid "Trudge" #~ msgstr "Tertatih" #~ msgid "Saddle Point" #~ msgstr "Titik Duduk" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Gradient Extremal" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Permukaan Energi" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Radiasi Transisi mom." #~ msgid "Spin Orbit" #~ msgstr "Orbit Putaran" #~ msgid "Finite Electric Field" #~ msgstr "Bidang Elektrik Terhingga" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Optimisasi global" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Optimisasi FMO" #~ msgid "Raman Intensities" #~ msgstr "Intensitas Raman" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Membuat EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Kosong (Cl)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Tipe SCF:" #~ msgid "Localization Method:" #~ msgstr "Metoda Localisasi:" #~ msgid "Exec Type:" #~ msgstr "Tipe Exec:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Determinan Ames Lab." #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Penempatan Terbatas Ruang Aktif Berganda" #~ msgid "CI Singles" #~ msgstr "CI Tunggal" #~ msgid "Full Second Order CI" #~ msgstr "Orde Dua Cl Penuh" #~ msgid "General CI" #~ msgstr "CI Umum" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: CC Linier" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC dengan Berganda" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC dengan Tunggal dan Berganda" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Dijalankan Normal" #~ msgid "Check" #~ msgstr "Periksa" #~ msgid "Debug" #~ msgstr "Awakutu" #~ msgid "Molecule Charge:" #~ msgstr "Muatan Molekul:" #~ msgid "Run Type:" #~ msgstr "Tipe Run:" #~ msgid "Use MP2" #~ msgstr "Gunakan MP2" #~ msgid "Use DFT" #~ msgstr "Gunakan DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# dari Variabel Matriks-Z" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Orde Sumbu Utama:" #~ msgid "Coordinate Type:" #~ msgstr "Tipe Koordinat:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Koordinat Cartesian." #~ msgid "Hilderbrant internals" #~ msgstr "Internal Hilderbrant" #~ msgid "MOPAC Z-Matrix" #~ msgstr "MOPAC Matriks-Z" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Gunakan Simetri Ketika Menghitung" #~ msgid "Point Group:" #~ msgstr "Grup Poin:" #~ msgid "Minutes" #~ msgstr "Menit" #~ msgid "Hours" #~ msgstr "Jam" #~ msgid "Days" #~ msgstr "Hari" #~ msgid "Weeks" #~ msgstr "Minggu" #~ msgid "Years" #~ msgstr "Tahun" #~ msgid "Millenia" #~ msgstr "Millenia" #~ msgid "MegaWords" #~ msgstr "MegaWords" #~ msgid "MegaBytes" #~ msgstr "MegaBytes" #~ msgid "GigaWords" #~ msgstr "GigaWords" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Metoda Gaya Paralel" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Mnghasilkan berkas \"core\" saat membatalkan" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memori:" #~ msgid "Diagonalization Method:" #~ msgstr "Metoda Diagonalisasi" #~ msgid "Parallel Load Balance Type" #~ msgstr "Tipe Keseimbangan Beban Paralel" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Perulangan" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Angka Selanjutnya" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Gunakan Representasi Data Eksternal untuk Pesan Catatan" #~ msgid "Initial Guess:" #~ msgstr "Terkaan Awal:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO Dibaca ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO Disimpan (DICTNRY)" #~ msgid "Skip" #~ msgstr "Lewati" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Putar Orbit Alfa dan Beta" #~ msgid "Print the Initial Guess" #~ msgstr "Cetak Terkaan Awal" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Antarmuka GAMESS dengan Program Lain" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Paksa pada Tipe Check Run" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK Version)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvate dengan Air" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Membuat Orbit UHF Alami" #~ msgid "Direct SCF" #~ msgstr "SCF Langsung" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Menghitung Hanya Perubahan di Matriks Fock" #~ msgid "Slater exchange" #~ msgstr "Pergantian Slater" #~ msgid "Becke 1988 exchange" #~ msgstr "Pertukaran Becke 1988" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Korelasi Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Korelasi Lee-Yang-Parr" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: pertukaran Slater + korelasi VWN" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: Pertukaran BECKE + korelasi VWN5" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: pertukaran BECKE + korelasi LYP" #~ msgid "Gill 1996 exchange" #~ msgstr "Pertukaran Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Pertukaran Perdew-Burke-Ernzerhof (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: Korelasi progresif satu-parameter" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: Korelasi SLATER + Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: Korelasi SLATER + OP" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: Pertukaran BECKE + korelasi OP" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: pertukaran GILL + korelasi VWN5" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: pertukaran GILL + korelasi LYP" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: pertukaran PBE + korelasi VWN6" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: pertukaran PBE + korelasi LYP" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: pertukaran PBE + korelasi OP" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: pertukaran HF dan BECKE + korelasi LYP" #~ msgid "Grid-Free" #~ msgstr "Tanpa-Grid" #~ msgid "DFT Functional:" #~ msgstr "DFT Fungsional:" #~ msgid "Method:" #~ msgstr "Metoda:" #~ msgid "AO Integral Storage" #~ msgstr "Penyimpanan AO Integral" #~ msgid "Duplicated on Each Node" #~ msgstr "Ditiru pada Setiap Nodal" #~ msgid "Distributed Across All Nodes" #~ msgstr "Terdistribusi Pada Semua Nodal" #~ msgid "words" #~ msgstr "kata" #~ msgid "Compute MP2 Properties" #~ msgstr "Menghitung Properti MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Pemotongan Integral Retensi:" #~ msgid "Use Localized Orbitals" #~ msgstr "Gunakan Orbit Lokal" #~ msgid "# of Core Electrons:" #~ msgstr "# dari Elektron Inti:" #~ msgid "Transformation Method" #~ msgstr "Metoda Transformasi" #~ msgid "Two Phase Bin Sort" #~ msgstr "Two Phase Bin Sort" #~ msgid "Segmented Transformation" #~ msgstr "Transformasi Tersegmentasi" #~ msgid "Analytic" #~ msgstr "Analitik" #~ msgid "Numeric" #~ msgstr "Numerik" #~ msgid "Double Differenced Hessian" #~ msgstr "Double Differenced Hessian" #~ msgid "Print Internal Force Constants" #~ msgstr "Cetak Konstanta Gaya Internal" #~ msgid "Displacement Size:" #~ msgstr "Ukuran Simpangan:" #~ msgid "Purify Hessian" #~ msgstr "Bersihkan Hessian" #~ msgid "Frequency Scale Factor:" #~ msgstr "Faktor Skala Frekuensi:" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Hessian Awal" #~ msgid "Guess (+ define)" #~ msgstr "Kiraan (+ definisi)" #~ msgid "Read (from $HESS)" #~ msgstr "Baca (dari $HESS)" #~ msgid "Update Step Size" #~ msgstr "Perbarui Ukuran Langkah" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Cetak Orbit pada setiap iterasi" #~ msgid "Jump Size:" #~ msgstr "Ukuran Lompatan:" #~ msgid "Stationary Point" #~ msgstr "Titik Stasioner" #~ msgid "Step Size" #~ msgstr "Ukuran Step" #~ msgid "Maximum:" #~ msgstr "Maksimum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Initial:" #~ msgstr "Awal:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Fungsi Rasional Optimisasi" #~ msgid "Quadratic Approximation" #~ msgstr "Pendekatan Kuadrat" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Optimisasi dengan Kendala" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Menghitung Ulang Setiap Hessian:" #~ msgid "Follow Mode:" #~ msgstr "Follow Mode:" #~ msgid "Maximum Steps:" #~ msgstr "Maksimum Step:" #~ msgid "GAMESS-UK Input" #~ msgstr "Masukan GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Masukan GAMESS-UK yang dihasilkan Avogadro" #~ msgid "Transition State Search" #~ msgstr "Pencarian Transition State" #~ msgid "Basis:" #~ msgstr "Basis:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Matriks-Z" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "Pada mode langsung, integral tidak akan disimpan, tetapi dihitung bila " #~ "diperlukan.\n" #~ "Di beberapa sistem dengan prosesor unggul, mode ini akan lebih cepat." #~ msgid "Run in direct mode:" #~ msgstr "Jalankan pada mode langsung:" #~ msgid "Gaussian Input" #~ msgstr "Masukan Gaussian" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Standar" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Checkpoint:" #~ msgid "Z-matrix (compact)" #~ msgstr "Matrix-Z (ringkas)" #~ msgid "MOLPRO Input" #~ msgstr "Masukan MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Versi Molpro:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Masukan MOPAC" #~ msgid "Quartet" #~ msgstr "Quartet" #~ msgid "Quintet" #~ msgstr "Quintet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Masukan NWChem" #~ msgid "Q-Chem Input" #~ msgstr "Masukan Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "Memuat Shader" #~ msgid "Shader Name:" #~ msgstr "Nama Shader:" #~ msgid "Vertex Shader:" #~ msgstr "Vertex Shader:" #~ msgid "Fragment Shader:" #~ msgstr "Fragmen Shader:" #~ msgid "Assign Shader" #~ msgstr "Terapkan Shader" #~ msgid "Display Type:" #~ msgstr "Tipe Monitor:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Kontrol:\n" #~ "Klik kiri dua kali: Mengembalikan batas sumbu bawaan\n" #~ "Klik kanan + seret: Menggeser Plot\n" #~ "Klik tengah + seret: Perbesar atau perkecil daerah\n" #~ "Putar roda tetikus: Perbesar atau perkecil menurut kursor" #~ msgid "&Load data..." #~ msgstr "&Muat data..." #~ msgid "&Close" #~ msgstr "T&utup" #~ msgid "Calculated Spectra:" #~ msgstr "Spektra Perhitungan:" #~ msgid "Set Color..." #~ msgstr "Atur Warna..." #~ msgid "Imported Spectra:" #~ msgstr "Spektra yang diimpor:" #~ msgid "Font:" #~ msgstr "Huruf:" #~ msgid "Change Font..." #~ msgstr "Merubah Huruf..." #~ msgid "Show" #~ msgstr "Tampilkan" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "Impor spektra hasil eksperimen sebagai tambahan dalam plot" #~ msgid "&Import..." #~ msgstr "&Impor..." #~ msgid "Background:" #~ msgstr "Latar Belakang:" #~ msgid "Foreground:" #~ msgstr "Latar Depan:" #~ msgid "New..." #~ msgstr "Baru..." #~ msgid "Rename..." #~ msgstr "Namai ulang..." #~ msgid "&Schemes:" #~ msgstr "&Skema:" #~ msgid "&Export..." #~ msgstr "&Ekspor..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "Lebar:" #~ msgid "&Height" #~ msgstr "Tinggi" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Simpan gambar..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Gunakan ukuran huruf yang optimal sebagai ganti dari angka dinyatakan " #~ "melalui skema" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Pengaturan Otomatis Ukuran Huru&f" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Ekspor Data" #~ msgid "Spectra Tab" #~ msgstr "Tab Spektra" #~ msgid "&Gaussian Width:" #~ msgstr "Lebar &Gaussian:" #~ msgid "&Label peaks" #~ msgstr "&Label peaks" #~ msgid "Rotatory Strength type:" #~ msgstr "Tipe Rotatory Strength:" #~ msgid "Energy units:" #~ msgstr "Satuan Energi:" #~ msgid "Density units" #~ msgstr "Satuan Densitas" #~ msgid "Fermi Energy: " #~ msgstr "Fermi Energi: " #~ msgid "States / Cell" #~ msgstr "States / Sel" #~ msgid "States / Atom" #~ msgstr "States / Atom" #~ msgid "States / Valence electron" #~ msgstr "States / Elektron valensi" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Fermi energi saat nol" #~ msgid "Scale integrated DOS" #~ msgstr "Skala terintegrasi DOS" #~ msgid "Show integrated DOS" #~ msgstr "Tampilan terintegrasi DOS" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "Satuan Sumbu &Y:" #~ msgid "Scaling Type:" #~ msgstr "Tipe Skala:" #~ msgid "Linear" #~ msgstr "Linier" #~ msgid "Relative" #~ msgstr "Relatif" #~ msgid "Temperature:" #~ msgstr "Suhu:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Laser Wavenumber:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Batasan:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Nukleus:" #~ msgid "&Reference:" #~ msgstr "&Referensi:" #~ msgid "Gaussian &Width:" #~ msgstr "Le&bar Gaussian:" #~ msgid "Reset &Plot Axes" #~ msgstr "Tata Ulan Sumbu &Plot" #~ msgid "Label Peaks:" #~ msgstr "Label Peaks:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Getaran molekuler" #~ msgid "Filter: " #~ msgstr "Filter: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Aktivitas (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "Tampilkan &Spektra..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "" #~ "getaran dengan frekuensi lebih tinggi akan memperlihatkan pergerakan " #~ "lebih cepat" #~ msgid "Animation speed set by frequency" #~ msgstr "Kecepatan animasi diatur dengan frekuensi" #~ msgid "Display force &vectors" #~ msgstr "Menampilkan &vektor gaya" #~ msgid "&Normalize displacements" #~ msgstr "Simpangan dengan &normalisasi" #~ msgid "Generate Cell" #~ msgstr "Menghasilkan Sel" #~ msgid "&Recalculate All" #~ msgstr "Hitung ulang semuanya" #~ msgid "Default &Quality:" #~ msgstr "Kualitas Bawaan" #~ msgid "Show occupied orbitals first" #~ msgstr "Pertama tampilkan orbit yang ditempati" #~ msgid "Quality: " #~ msgstr "Kualitas: " #~ msgid "Create Surfaces" #~ msgstr "Membuat Permukaan" #~ msgid "Surface Type:" #~ msgstr "Tipe Permukaan:" #~ msgid "Color By:" #~ msgstr "Warna Berdasarkan:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Rendah" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Sedang" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Tinggi" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Sangat Tinggi" #~ msgid "Isosurface cutoff value" #~ msgstr "Angka potong Permukaan Iso" #~ msgid "Iso Value:" #~ msgstr "Angka Iso:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Tipe Ditampilkan:" #~ msgid "New Display" #~ msgstr "Tampilan Baru" #~ msgid "Advanced..." #~ msgstr "Pengaturan Lanjut..." #~ msgid "Display visual cues" #~ msgstr "Tampilkan visual cues" #~ msgid "Python Settings" #~ msgstr "Setelan Python" #~ msgid "Z Matrix Editor" #~ msgstr "Penyunting Z Matrix" #~ msgid "Import Selected Atoms" #~ msgstr "Impor Atom Terpilih" avogadrolibs-1.93.0/i18n/it.po000066400000000000000000006266721360735163600160500ustar00rootroot00000000000000# Italian translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 07:06+0000\n" "Last-Translator: Geoff Hutchison \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Generatore di input" #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Generatore di input" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Continua" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Chiudi" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Sconosciuto" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "abinit ha fallito l'avvio." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Annula il Calcolo" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Attenzione" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Attenzione" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Seleziona solvente" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Risultato:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Impossibile scrivere sul file." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "File video non scritto" #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "File video non scritto" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Configura" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Titolo" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nome del file:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processori:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Calcolo:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Base" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Nessuna molecola impostata" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Ferma &Animazione" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Nessun atomo selezionato" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Idrogeno" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Elio" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litio" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berillio" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boro" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbonio" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Azoto" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Ossigeno" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluoro" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodio" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesio" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alluminio" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicio" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosforo" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Zolfo" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Cloro" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potassio" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calcio" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scandio" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanio" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadio" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Cromo" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganese" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Ferro" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalto" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nichel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Rame" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinco" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallio" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanio" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenico" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenio" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromo" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Cripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidio" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Stronzio" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Ittrio" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconio" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobio" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdeno" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tecnezio" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenio" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodio" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladio" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Argento" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmio" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indio" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Stagno" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimonio" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellurio" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iodio" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cesio" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bario" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantanio" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerio" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodimio" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodimio" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promezio" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samario" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europio" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinio" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbio" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprosio" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Olmio" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbio" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tulio" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Itterbio" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutezio" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Afnio" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantalio" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungsteno" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Renio" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmio" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridio" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platino" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Oro" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercurio" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tallio" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Piombo" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuto" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonio" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astato" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francio" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radio" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Attinio" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Torio" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protoattinio" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranio" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Nettunio" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonio" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americio" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curio" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berchelio" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californio" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einstenio" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermio" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevio" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelio" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Laurenzio" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordio" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnio" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgio" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Borio" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassio" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerio" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtio" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenio" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicio" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconio" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovio" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorio" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Esplora..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Seleziona solvente" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Elimina i selezionati" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Tutti i file" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "senza titolo" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Tavola periodica" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "abinit ha fallito l'avvio." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinit ha crashato." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Errore OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Sconosciuto" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molecola" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Aggiungi Atomo" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Rimuovi atomo" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Pulisci tutto" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Regola gli idrogeni" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Cambia Elemento" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Cambia Elemento" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Carica Formale" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Aggiungi legame" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Rimuovi atomo" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Elimina legame" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Ordine di legame" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Cambia l'ordine dei legami" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Aggancia i legami" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Elimina legame" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Aggiungi cellula dell'&unità" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Rimuovi cellula dell'&unità" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Riempi la Cella Unitaria" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Lega gli atomi alla cellula" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Scala il volume della cellula di unità" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super Cella" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Ruota nell'orientamento standard" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Riduci a Cella Primitiva" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Simmetrizza il cristallo" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Riempi la Cella Unitaria" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&File" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Esporta" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Limiti" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Apri file WFN" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Estensioni" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Errore" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problemi a leggere il file traiettoria %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Errore OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problemi a leggere il file traiettoria %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Apri file WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Apri file WFN" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Errore" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Salva mazzo di input" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "Input LAMMPS" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Riuscito!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Immagine scritta con successo in %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Mostra i legami multipli" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Idrogeni" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Sfera e bastoncino" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Visualizza atomi e etichette dei legami" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipolazione basata sui legami" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipolazione basata sui legami" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Atomo terminale" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Rimuovi idrogeni" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Compila" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Legame" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nome del file:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Cambia le coordinate cartesiane" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Cambia le coordinate cartesiane" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Annulla i cambiamenti" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nome del file non valido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nome elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Simbolo dell'elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Simbolo dell'elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nome del file non valido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atomo numero" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nome del file non valido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Coordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Coordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Coordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Coordinate Cartesiane" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Coordinate Cartesiane" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Coordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Imposta le coordinate cartesiane" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Personalizzato" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,94thomas,Daniele Baitieri,Guybrush88,Luca Brivio," "Matteo Ferrabone,MeltingShell,Michele Gatti,Nikopol,Paolo Naldini,Paolo " "Signifredi,Sergio Zanchetta,Simone Oberti,mackos,nicola de mitri, ,Launchpad " "Contributions:,94thomas,Daniele Baitieri,Guybrush88,Luca Brivio,Matteo " "Ferrabone,MeltingShell,Michele Gatti,Nikopol,Paolo Naldini,Paolo Signifredi," "Sergio Zanchetta,Simone Oberti,mackos,nicola de mitri, ,Launchpad " "Contributions:,94thomas, ,Launchpad Contributions:,94thomas,Michele Gatti," "dicairo, ,Launchpad Contributions:,94thomas,Geoff Hutchison,Matteo Ferrabone," "Michele Gatti,Vincenzo vikkio88 Ciaccio,dicairo, ,Launchpad " "Contributions:,94thomas,Geoff Hutchison,Matteo Ferrabone,Michele Gatti," "Vincenzo vikkio88 Ciaccio,dicairo,gabriele.lanaro, ,Launchpad " "Contributions:,94thomas,Geoff Hutchison,Matteo Ferrabone,Michele Gatti," "Vincenzo vikkio88 Ciaccio,dicairo,gabriele.lanaro, ,Launchpad " "Contributions:,94thomas,Geoff Hutchison,Matteo Ferrabone,Michele Gatti," "Vincenzo vikkio88 Ciaccio,dicairo,gabriele.lanaro,marco lucato,yurop, ," "Launchpad Contributions:,94thomas,Avogadro Team,Geoff Hutchison,Matteo " "Ferrabone,Michele Gatti,Raffaele Mancuso,Vincenzo vikkio88 Ciaccio,dicairo," "gabriele.lanaro,marco lucato,simone.sandri,yurop, ,Launchpad " "Contributions:,94thomas,Avogadro Team,Geoff Hutchison,Matteo Ferrabone," "Michele Gatti,Raffaele Mancuso,Vincenzo vikkio88 Ciaccio,dicairo,gabriele." "lanaro,marco lucato,simone.sandri,yurop, ,Launchpad Contributions:,94thomas," "Avogadro Team,Geoff Hutchison,Guybrush88,Matteo Ferrabone,Michele Gatti," "Raffaele Mancuso,Vincenzo vikkio88 Ciaccio,dicairo,fasix,gabriele.lanaro," "marco lucato,simone.sandri,yurop, ,Launchpad Contributions:,94thomas," "Avogadro Team,Daniele,Enrico \"eNry\" Carafa,Geoff Hutchison,Guybrush88," "Matteo \"Bianco\",Matteo Ferrabone,Michele Gatti,Raffaele Mancuso,Vincenzo " "vikkio88 Ciaccio,Wonderfulheart,carlo micheli,dicairo,fasix,gabriele.lanaro," "marco lucato,simone.sandri,yurop, ,Launchpad Contributions:,94thomas," "Avogadro Team,Daniele,Enrico \"eNry\" Carafa,Geoff Hutchison,Guybrush88," "Matteo \"Bianco\",Matteo Ferrabone,Michele Gatti,Raffaele Mancuso,Vincenzo " "vikkio88 Ciaccio,Vito Fasano,Wonderfulheart,carlo micheli,dicairo,gabriele." "lanaro,marco lucato,simone.sandri,yurop, ,Launchpad Contributions:,94thomas," "Avogadro Team,Daniele,Enrico \"eNry\" Carafa,Geoff Hutchison,Guybrush88," "Matteo \"Bianco\",Matteo Ferrabone,Michele Gatti,Ra,Vincenzo vikkio88 " "Ciaccio,Vito Fasano,Wonderfulheart,carlo micheli,dicairo,gabriele.lanaro," "marco lucato,simone.sandri,yurop" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ con numeri" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Coordinate Cartesiane" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Coordinate Cartesiane" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Informazioni GAMES EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Informazioni GAMES EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Input Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Copia tutto" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Personalizzato" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Pulisci tutto" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Non è stato possibile impostare il formato: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Non è stato possibile impostare il formato: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "I&mporta il cristallo dagli appunti..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Riempi la Cella Unitaria" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Riempi la Cella Unitaria" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Lega gli atomi alla cellula" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Ruota nell'orientamento standard" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Scala Cella Al &Volume..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super Cella" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Riduci la cellula (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Cristallo..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Rimuovi cellula dell'&unità" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Aggiungi cellula dell'&unità" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Questa cellula di unità è già riprodotta alla sua rappresentazione canonica " "Niggli." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Cristallo..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Visualizza atomi e etichette dei legami" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Non è possibile analizzare il testo" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Assi personalizzati" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Disegna" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Disegna Atomo" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Cambia l'ordine dei legami" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Rimuovi atomo" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distanza" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distanza (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Altro..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Ottimizzazione automatica" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Singolo" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Doppio" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triplo" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problemi a leggere il file traiettoria %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Generatore di input" #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Input GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Energia del punto singolo" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Geometria di Equilibrio" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Stato di Transizione" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frequenze" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Core Potential" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Acqua" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singoletto" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doppietto" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Tripletto" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dicatione" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Catione" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutro" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anione" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianione" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Mazzo di input GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Annula il Calcolo" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Regola gli idrogeni" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Aggiungi idrogeni" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Rimuovi idrogeni" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Rimuovi idrogeni" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Idrogeni" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Idrogeni" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importa" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Visualizza atomi e etichette dei legami" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Inserisci" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Nessuna descrizione" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molecola" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Genera..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipola" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipola Atomo" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Misura" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Diedrico:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Angolo:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Angolo:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Misura" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Disegna la griglia dell'isosuperficie molecolare" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Visualizza" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Proprietà Molecolari" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Naviga" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Naviga" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nome chimico" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Struttura chimica da scaricare." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Download dalla rete fallito" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Timeout della rete o altro errore." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "La molecola specificata non è stata trovata: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Download dalla rete fallito" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Ottimizza la geometria" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Ottimizzazione geometrica" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Intuire i legami?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Aggiungi idrogeni" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Aggiungi idrogeni per il pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Rimuovi idrogeni" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Lettura di una molecola dal file '%1' fallita." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Un problema è occorso durante la scrittura del file %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Ottimizza la geometria" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Genera..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Il file traiettoria %1 è in disaccordo con il numero di atomi nella molecola " "attuale" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Ottimizza la geometria" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Aggiungi idrogeni" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Aggiungi idrogeni per il pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Rimuovi idrogeni" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Ferma" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parametri:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Legami dinamici" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Rimuovi..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Ferma" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Esporta la grafica vettoriale" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Impossibile leggere il file %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Sono un messaggio di errore!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Errore" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Salva File Video" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Mostra usando POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Carica Atomica..." #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&stensioni" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Apri file WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "File WFN (*.wfn);;Tutti i file (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Estensione QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Crea file di input per pacchetti di chimica quantistica." #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Sto calcolando la densità elettronica" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Sto calcolando la densità elettronica" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calcola e visualizza gli orbitali molecolari" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Ripristina" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Generatori di file input" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Cancella Tutto" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selezione" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Inverti la selezione" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " elettroni di valenza" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Seleziona" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Seleziona" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Selezione" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selezione" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Percepisci il gruppo di spazio" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Tolleranza SCF:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "&Gruppo di spazio" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Tolleranza SCF:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Internazionale" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Imposta il gruppo di spazio" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "&Gruppo di spazio" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrazioni" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Visualizzazione degli spettri" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Mostra le coordinate &frazionali" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tipo" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Elemento" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Simmetria" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Seleziona per elemento" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Visualizza momenti molecolari dipolari" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Renderizza" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Mostra usando POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Wireframe" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Renderizza molecole come asticelle" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Dialogo" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Modulo" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Impostazioni di selezione" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Annula il Calcolo" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Programma shader:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processori:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "Nascondi quando terminato (&H)" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "Nascondi quando terminato (&H)" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Cambia Elemento" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "File di input Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "File parametri:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Campo di forza:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "File parametri:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "File di input Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Salva mazzo di input" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Riuscito!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Struttura:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Carica file..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Impostazioni di misura" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "Nome &file:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Naviga" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Naviga" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Naviga" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nome del file:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Annulla" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Formato delle coordinate:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Ripristina" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distanza" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formato:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Annulla i cambiamenti" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Applica" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Importa cristallo" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parametri della supercellula" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Opzioni della supercellula" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Ripeti A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Ripeti B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Ripeti C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Imposta il colore della Cella Unitaria" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matrice della cellula" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Matrice frazionale della cellula (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Trasforma gli atomi" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Applica" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Scala il volume della cellula di unità" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Inserisci un nuovo volume:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "&Fattore di scala" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "EtichettaDiTesto" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Elemento:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Ordine dei legami:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Input GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "Impostazioni &base" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "In:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Molteplicità:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Con:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Titolo" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Carica:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calcola:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nome del file:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Ripristina tutto" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Valori predefiniti" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Carica file..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nome" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formato:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Nessuna descrizione" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Peso molecolare (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "DA FARE" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Formula chimica:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Numero di atomi:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Numero di legami:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Ottimizzazione geometrica" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Metodo di ottimizzazione:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Campo di forza:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Metodo di ottimizzazione:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Massima pendenza" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Gradienti coniugati" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Auto Rotazione" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosuperficie = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potenziale elettrostatico" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "passi" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Criterio di Convergenza sui Gradienti:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergenza" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Limite di Tempo" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Unità" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Numero di legami:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Lunghezza d'onda (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Elimina i selezionati" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Raggio del punto critico:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Raggio del percorso del legame:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalente" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Dimensione costante" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacità:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Superfici" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Superfici" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Medio" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Molto basso" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Basso" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Alto" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Molto alto" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Valore dell'&isosuperficie:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Risoluzione:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Superfici" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calcola" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrazioni" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Ampiezza:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Avvia &Animazione" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Ferma &Animazione" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molecola" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Simmetria" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Opzioni" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Simmetria" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "&Gruppo di spazio" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,94thomas,Daniele Baitieri,Guybrush88,Luca Brivio," "Matteo Ferrabone,MeltingShell,Michele Gatti,Nikopol,Paolo Naldini,Paolo " "Signifredi,Sergio Zanchetta,Simone Oberti,mackos,nicola de mitri, ,Launchpad " "Contributions:,94thomas,Daniele Baitieri,Guybrush88,Luca Brivio,Matteo " "Ferrabone,MeltingShell,Michele Gatti,Nikopol,Paolo Naldini,Paolo Signifredi," "Sergio Zanchetta,Simone Oberti,mackos,nicola de mitri, ,Launchpad " "Contributions:,94thomas, ,Launchpad Contributions:,94thomas,Michele Gatti," "dicairo, ,Launchpad Contributions:,94thomas,Geoff Hutchison,Matteo Ferrabone," "Michele Gatti,Vincenzo vikkio88 Ciaccio,dicairo, ,Launchpad " "Contributions:,94thomas,Geoff Hutchison,Matteo Ferrabone,Michele Gatti," "Vincenzo vikkio88 Ciaccio,dicairo,gabriele.lanaro, ,Launchpad " "Contributions:,94thomas,Geoff Hutchison,Matteo Ferrabone,Michele Gatti," "Vincenzo vikkio88 Ciaccio,dicairo,gabriele.lanaro, ,Launchpad " "Contributions:,94thomas,Geoff Hutchison,Matteo Ferrabone,Michele Gatti," "Vincenzo vikkio88 Ciaccio,dicairo,gabriele.lanaro,marco lucato,yurop, ," "Launchpad Contributions:,94thomas,Avogadro Team,Geoff Hutchison,Matteo " "Ferrabone,Michele Gatti,Raffaele Mancuso,Vincenzo vikkio88 Ciaccio,dicairo," "gabriele.lanaro,marco lucato,simone.sandri,yurop, ,Launchpad " "Contributions:,94thomas,Avogadro Team,Geoff Hutchison,Matteo Ferrabone," "Michele Gatti,Raffaele Mancuso,Vincenzo vikkio88 Ciaccio,dicairo,gabriele." "lanaro,marco lucato,simone.sandri,yurop, ,Launchpad Contributions:,94thomas," "Avogadro Team,Geoff Hutchison,Guybrush88,Matteo Ferrabone,Michele Gatti," "Raffaele Mancuso,Vincenzo vikkio88 Ciaccio,dicairo,fasix,gabriele.lanaro," "marco lucato,simone.sandri,yurop, ,Launchpad Contributions:,94thomas," "Avogadro Team,Daniele,Enrico \"eNry\" Carafa,Geoff Hutchison,Guybrush88," "Matteo \"Bianco\",Matteo Ferrabone,Michele Gatti,Raffaele Mancuso,Vincenzo " "vikkio88 Ciaccio,Wonderfulheart,carlo micheli,dicairo,fasix,gabriele.lanaro," "marco lucato,simone.sandri,yurop, ,Launchpad Contributions:,94thomas," "Avogadro Team,Daniele,Enrico \"eNry\" Carafa,Geoff Hutchison,Guybrush88," "Matteo \"Bianco\",Matteo Ferrabone,Michele Gatti,Raffaele Mancuso,Vincenzo " "vikkio88 Ciaccio,Vito Fasano,Wonderfulheart,carlo micheli,dicairo,gabriele." "lanaro,marco lucato,simone.sandri,yurop, ,Launchpad Contributions:,94thomas," "Avogadro Team,Daniele,Enrico \"eNry\" Carafa,Geoff Hutchison,Guybrush88," "Matteo \"Bianco\",Matteo Ferrabone,Michele Gatti,Ra,Vincenzo vikkio88 " "Ciaccio,Vito Fasano,Wonderfulheart,carlo micheli,dicairo,gabriele.lanaro," "marco lucato,simone.sandri,yurop" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,Thomas.Bellotti@liceotosi.org,,,lucab83@infinito.it,,,michel_gatti@yahoo." "it,aegnor_isilra@hotmail.com,hattory@ubuntu.com,,primes2h@gmail.com,,,,,," "Thomas.Bellotti@liceotosi.org,,,lucab83@infinito.it,,,michel_gatti@yahoo.it," "aegnor_isilra@hotmail.com,hattory@ubuntu.com,,primes2h@gmail.com,,,,,,Thomas." "Bellotti@liceotosi.org,,,Thomas.Bellotti@liceotosi.org,michel_gatti@yahoo." "it,,,,Thomas.Bellotti@liceotosi.org,,,michel_gatti@yahoo.it,vikkio88@yahoo." "it,,,,Thomas.Bellotti@liceotosi.org,,,michel_gatti@yahoo.it,vikkio88@yahoo." "it,,gabriele.lanaro@gmail.com,,,Thomas.Bellotti@liceotosi.org,,," "michel_gatti@yahoo.it,vikkio88@yahoo.it,,gabriele.lanaro@gmail.com,,,Thomas." "Bellotti@liceotosi.org,,,michel_gatti@yahoo.it,vikkio88@yahoo.it,,gabriele." "lanaro@gmail.com,,,,,Thomas.Bellotti@liceotosi.org,avogadro-devel@lists." "sourceforge.net,,,michel_gatti@yahoo.it,,vikkio88@yahoo.it,,gabriele." "lanaro@gmail.com,,,,,,Thomas.Bellotti@liceotosi.org,avogadro-devel@lists." "sourceforge.net,,,michel_gatti@yahoo.it,,vikkio88@yahoo.it,,gabriele." "lanaro@gmail.com,,,,,,Thomas.Bellotti@liceotosi.org,avogadro-devel@lists." "sourceforge.net,,,,michel_gatti@yahoo.it,,vikkio88@yahoo.it,,vito." "fasano@gmail.com,gabriele.lanaro@gmail.com,,,,,,Thomas.Bellotti@liceotosi." "org,avogadro-devel@lists.sourceforge.net,daniele.benedetto88@gmail.com," "ironenry@gmail.com,,,boettam@gmail.com,,michel_gatti@yahoo.it,," "vikkio88@yahoo.it,,mcarlo.95@gmail.com,,vito.fasano@gmail.com,gabriele." "lanaro@gmail.com,,lexluxsox@hotmail.it,,,,Thomas.Bellotti@liceotosi.org," "avogadro-devel@lists.sourceforge.net,daniele.benedetto88@gmail.com," "ironenry@gmail.com,,,boettam@gmail.com,,michel_gatti@yahoo.it,," "vikkio88@yahoo.it,vito.fasano@gmail.com,,mcarlo.95@gmail.com,,gabriele." "lanaro@gmail.com,,lexluxsox@hotmail.it,,,,Thomas.Bellotti@liceotosi.org," "avogadro-devel@lists.sourceforge.net,daniele.benedetto88@gmail.com," "ironenry@gmail.com,,,boettam@gmail.com,,michel_gatti@yahoo.it,," "vikkio88@yahoo.it,vito.fasano@gmail.com,,mcarlo.95@gmail.com,,gabriele." "lanaro@gmail.com,,lexluxsox@hotmail.it," #~ msgid "Color by Index" #~ msgstr "Colore per Indice" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Colore per Indice (rossi, arancione, giallo, verde, blu, viola)" #~ msgid "Color by Partial Charge" #~ msgstr "Colore per Carica parziale" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Colora per carica atomica parziale (blu = positivo, rosso = negativo)." #~ msgid "Custom Color:" #~ msgstr "Colore personalizzato:" #~ msgid "Custom Color" #~ msgstr "Colore personalizzato" #~ msgid "Set custom colors for objects" #~ msgstr "Imposta colori personalizzati per gli oggetti" #~ msgid "Color by Distance" #~ msgstr "Colore per Distanza" #~ msgid "Color by distance from the first atom." #~ msgstr "Colore per Distanza dal primo atomo" #~ msgid "Color by Element" #~ msgstr "Colore per Elemento" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Colore per Elemento (carbonio=grigio, ossigeno=rosso, ...)" #~ msgid "Color by Residue" #~ msgstr "Colore per Residuo" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Colore per Residuo (tipo amminoacido, idrofobicità,..)" #~ msgid "SMARTS Pattern:" #~ msgstr "Schema SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Colore di evidenziazione:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Colore per Schema SMART" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "" #~ "Evidenzia caratteristiche particolari che corrispondono a uno schema " #~ "SMARTS" #~ msgid "Ununtrium" #~ msgstr "Ununtrio" #~ msgid "Ununpentium" #~ msgstr "Ununpentio" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Motori" #~ msgid "Axes" #~ msgstr "Assi" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Visualizza gli assi x, y, e z dall'origine" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Visualizza primitivi con sfere (atomi) e righe (legami)" #~ msgid "Cartoon" #~ msgstr "Fumetto" #~ msgid "Renders protein secondary structure" #~ msgstr "Disegna la struttura secondaria della proteina" #~ msgid "Dipole" #~ msgstr "Dipolo" #~ msgid "Force" #~ msgstr "Forza" #~ msgid "Renders force displacements on atoms" #~ msgstr "Visualizza la forza di spostamento atomico" #~ msgid "Hydrogen Bond" #~ msgstr "Legame idrogeno" #~ msgid "Renders hydrogen bonds" #~ msgstr "Mostra legami idrogeno" #~ msgid "Select Atom Labels Color" #~ msgstr "Seleziona il colore per le etichette degli atomi" #~ msgid "Select Bond Labels Color" #~ msgstr "Seleziona il colore per le etichette dei legami" #~ msgid "Select Atom Labels Font" #~ msgstr "Seleziona il carattere per le etichette degli atomi" #~ msgid "Select Bond Labels Font" #~ msgstr "Seleziona il carattere per i legami" #~ msgid "Label" #~ msgstr "Etichetta" #~ msgid "Polygon" #~ msgstr "Poligono" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Visualizza gli atomi come tetraedri, ottaedri, e altri poligoni" #~ msgid "Ribbon" #~ msgstr "Nastro" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Renderizza le catene di proteine come fiocchi" #~ msgid "Ring" #~ msgstr "Anello" #~ msgid "Renders rings with colored planes" #~ msgstr "Renderizza anelli con aereoplani colorati" #~ msgid "Simple Wireframe" #~ msgstr "Wireframe semplice" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "Disegna i legami come cavi (linee), ideale per molecole di grandi " #~ "dimensioni" #~ msgid "Van der Waals Spheres" #~ msgstr "Sfere di Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Disegna gli atomi come sfere di Van der Waals" #~ msgid "Stick" #~ msgstr "Bastoni" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Densità elettronica, isosuperficie = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosuperficie = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Disegna i legami come cavi (linee), ideale per (bio)molecole di grandi " #~ "dimensioni" #~ msgid "Trajectory files" #~ msgstr "File traiettoria" #~ msgid "DL-POLY HISTORY files" #~ msgstr "File DL-POLY HISTORY" #~ msgid "Open Trajectory File" #~ msgstr "Apri file traiettoria" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "File video (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Aggiunta dell'estensione .avi" #~ msgid "Animation..." #~ msgstr "Animazione..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Impossibile leggere il formato del file %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Lettura della traiettoria del file %1 fallita." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Deve essere specificato un file con estensione .avi valido" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "Il widget GL non è stato correttamente inizializzato per permettere il " #~ "salvataggio del video" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Nome del file video non valido. Necessario includere il percorso intero" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Nome del file video non valido. Necessario includere il percorso intero " #~ "ed il nome, con estensione .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Non è stato possibile determinare il formato dal nome del file: %1" #~ msgid "Animation" #~ msgstr "Animazione" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Anima traiettorie, reazioni e vibrazioni" #~ msgid "Cartesian Editor" #~ msgstr "Editor cartesiano" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Nessuna cellula definita per la molecola -- non è possibile utilizzare le " #~ "coordinate frazionali." #~ msgid "Cartesian Editor..." #~ msgstr "Editor cartesiano..." #~ msgid "Cartesian editor" #~ msgstr "Editor cartesiano" #~ msgid "Number of atoms: %1" #~ msgstr "Numeri di atomi: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Numero di legami ruotabili: %1" #~ msgid "Add constraint" #~ msgstr "Aggiungi vincolo" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "La molecola deve contenere almeno un atomo per poter aggiungere un vincolo" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "La molecola deve contenere almeno due atomi per poter aggiungere un " #~ "vincolo di legame" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "La molecola deve contenere almeno tre atomi per poter aggiungere un " #~ "vincolo angolare" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "La molecola deve contenere almeno quattro atomi per poter aggiungere un " #~ "vincolo torsionale" #~ msgid "&Crystallography" #~ msgstr "&Cristallografia" #~ msgid "&Reduce" #~ msgstr "&Riduci" #~ msgid "&Settings" #~ msgstr "&Impostazioni" #~ msgid "&Length Unit" #~ msgstr "Unità di &lunghezza" #~ msgid "&Angle Unit" #~ msgstr "Unità di &angolo" #~ msgid "&Coordinate Display" #~ msgstr "Visualizzazione delle &Coordinate" #~ msgid "Coordinate &Preservation" #~ msgstr "&Preservazione delle coordinate" #~ msgid "&Matrix Display" #~ msgstr "Visualizzazione della &Matrice" #~ msgid "Hide &Editors" #~ msgstr "Nascondi &redattori" #~ msgid "Show &Editors" #~ msgstr "Mostra &redattori" #~ msgid "Hide &Property Display" #~ msgstr "Nascondi la visualizzazione delle &proprietà" #~ msgid "Show &Property Display" #~ msgstr "Mostra la visualizzazione delle &proprietà" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Tipo di reticolo: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Gruppo di spazio: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Volume della cellula dell'unità: %L1%2" #~ msgid "Undefined" #~ msgstr "Non definito" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triclino" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoclinico" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortorombico" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonale" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Romboidale" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Esagonale" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Cubico" #~ msgid "Paste Crystal" #~ msgstr "Incolla Cristallo" #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Stop.Riduzione della cella fallita dopo 1000 iterazioni dell'algoritmo di " #~ "riduzione." #~ msgid "&Translate Atoms..." #~ msgstr "&Trasforma gli atomi..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Ruota nell'&orientamento standard" #~ msgid "Perceive Space&group..." #~ msgstr "Percepisci &gruppo di spazio..." #~ msgid "Set &Spacegroup..." #~ msgstr "Imposta gruppo di %spazio..." #~ msgid "&Fill Unit Cell" #~ msgstr "&Riempi la cellula dell'unità" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Riempire l' unità di cella usando lo spcegroup corrente" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "" #~ "Rimuovi gli atomi nelle posizioni equivalenti (inverso di \"Riempi la " #~ "Cella Unitaria\")" #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Si&mmetrizza cristallo" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Riduci cellula (&primitiva)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometero" #~ msgid "&Picometer" #~ msgstr "&Picometero" #~ msgid "&Degree" #~ msgstr "&Grado" #~ msgid "&Radian" #~ msgstr "&Radiante" #~ msgid "Display &cartesian coordinates" #~ msgstr "Mostra coordinate &cartesiane" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Mantieni le coordinate cartesiane durante le modifiche alla cella" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Mantieni le coordinate frazionali durante le modifiche alla cella" #~ msgid "Display &cartesian matrix" #~ msgstr "Mostra la matrice &cartesiana" #~ msgid "Display &fractional matrix" #~ msgstr "Mostra la matrice &frazionale" #~ msgid "Display as &row vectors" #~ msgstr "Mostra come vettori &riga" #~ msgid "Display as &column vectors" #~ msgstr "Mostra come vettori &colonna" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Non c'è un gruppo di spazio impostato per questo documento.\n" #~ "\n" #~ "Vuoi impostare un gruppo di spazio ora?" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Avvolgi gli atomi alla cellula" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Riduci alla cellula di Niggli" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "Seleziona la tolleranza nelle unità cartesiane correnti:" #~ msgid "Crystallography" #~ msgstr "Cristallografia" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Costruisci e analizza le strutture periodiche." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "L'input non è formattato come uno dei\n" #~ "seguenti formati supportati:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Formato VASP\n" #~ msgid "Bad Compostion" #~ msgstr "Composizione Sbagliata" #~ msgid "Cartesian Coordinates" #~ msgstr "Coordinate cartesiane" #~ msgid "Fractional Coordinates" #~ msgstr "Coordinate frazionali" #~ msgid "Set Fractional Coordinates" #~ msgstr "Imposta le coordinate frazionali" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Matrice della cellula (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Imposta la matrice della cellula di unità" #~ msgid "Set Unit Cell Params" #~ msgstr "Imposta i parametri della cellula di unità" #~ msgid "Working..." #~ msgstr "In esecuzione..." #~ msgid "Build" #~ msgstr "Genera" #~ msgid "No GLWidget?" #~ msgstr "Nessun GLWidget?" #~ msgid "Please select one or more atoms." #~ msgstr "Per piacere seleziona uno o più atomi." #~ msgid "Trajectory..." #~ msgstr "Traiettoria..." #~ msgid "Open chemical file format" #~ msgstr "Apri il formato chimico dei file" #~ msgid "Chemical files (*.xyz)" #~ msgstr "File chimici (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Apri il file dei parametri" #~ msgid "Chemical files (*.parm7)" #~ msgstr "File chimici (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importa traiettoria" #~ msgid "Import trajectory files" #~ msgstr "Importa file traiettoria" #~ msgid "Setup Force Field..." #~ msgstr "Definisci il campo di forza..." #~ msgid "Calculate Energy" #~ msgstr "Calcola Energia" #~ msgid "Conformer Search..." #~ msgstr "Ricerca Conformeri..." #~ msgid "Constraints..." #~ msgstr "Vincoli..." #~ msgid "Ignore Selection" #~ msgstr "Ignora la selezione" #~ msgid "Fix Selected Atoms" #~ msgstr "Fissa gli atomi selezionati" #~ msgid "&Molecular Mechanics" #~ msgstr "&Meccanica molecolare" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Non è possibile impostare il \"Campo di Forza\" appena selezionato per " #~ "questa molecola. Passo ad UFF (Campo di Forza Unitario)" #~ msgid "Energy = %L1 %2" #~ msgstr "Energia = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Ottimizzazione geometrica" #~ msgid "Forcefield Optimization" #~ msgstr "Ottimizzazione del campo di forze" #~ msgid "Systematic Rotor Search" #~ msgstr "Ricerca sistematica dei rotori" #~ msgid "Random Rotor Search" #~ msgstr "Ricerca casuale dei rotori" #~ msgid "Weighted Rotor Search" #~ msgstr "Ricerca pesata dei rotori" #~ msgid "Genetic Algorithm Search" #~ msgstr "Ricerca dell'algoritmo genetico" #~ msgid "ForceField" #~ msgstr "Campo di forze" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Ottimizza le molecola e genera conformazioni utilizzando campi meccanici " #~ "di forza" #~ msgid "&Vector Graphics..." #~ msgstr "&Grafiche vettoriali" #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Formati comuni per immagini vettoriali" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Esportazione della grafica vettoriale" #~ msgid "Change H to Methyl" #~ msgstr "Cambia H in Metile" #~ msgid "H to Methyl" #~ msgstr "Sostituisci H con Metile" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Trasforma l'idrogeno in gruppi metile" #~ msgid "Add or remove hydrogens" #~ msgstr "Aggiungi o rimuovi idrogeno" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "Inserisci DNA" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Uracile" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Timina" #~ msgid "Insert DNA/RNA" #~ msgstr "Inserisci DNA/RNA" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Inserisci catene DNA/RNA" #~ msgid "Cannot read molecular file %1." #~ msgstr "Non è possibile leggere il file molecolare %1." #~ msgid "Fragment..." #~ msgstr "Frammento..." #~ msgid "Insert SMILES" #~ msgstr "Inserire SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Inserisci un frammento SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Inserisci Frammento" #~ msgid "Insert Crystal" #~ msgstr "Inserisci un cristallo" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Inserisci frammenti molecolari per costruire molecole più grandi" #~ msgid "Peptide..." #~ msgstr "Peptide..." #~ msgid "Insert Peptide" #~ msgstr "Inserisci un peptide" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Inserisci sequenze di oligopeptidi" #~ msgid "Invert Chirality" #~ msgstr "Inverti la chiralità" #~ msgid "InvertChiral" #~ msgstr "Inverti Chiralità" #~ msgid "Invert chiral centers" #~ msgstr "Inverti i centri chirali" #~ msgid "Molecule Properties..." #~ msgstr "Proprietà della molecola..." #~ msgid "&Properties" #~ msgstr "&Proprietà" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "sconosciuto" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Momento del Dipolo Stimato (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(in attesa)" #~ msgid "Display standard molecular properties." #~ msgstr "Visualizza le proprietà molecolari standard" #~ msgid "Fetch from PDB..." #~ msgstr "Preleva da PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Prendi per nome chimico" #~ msgid "Fetch from URL..." #~ msgstr "Preleva da un URL..." #~ msgid "PDB Entry" #~ msgstr "Voce PDB" #~ msgid "PDB entry to download." #~ msgstr "Voce PDB da scaricare." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL della molecola da scaricare." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "La molecola specificata non è stata caricata: %1" #~ msgid "Network Fetch" #~ msgstr "Prelievo dalla Rete" #~ msgid "Fetch molecule files over the network." #~ msgstr "Preleva i file della molecola dalla rete." #~ msgid "All Files" #~ msgstr "Tutti I FIle" #~ msgid "Show Preview" #~ msgstr "Mostra anteprima" #~ msgid "Hide Preview" #~ msgstr "Nascondi Anteprima" #~ msgid "Intensities" #~ msgstr "Intensità" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Salva l'immagine creata con il metodo POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "File immagine (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Nessun nome del file fornito." #~ msgid "No valid filename was supplied." #~ msgstr "Nessun nome valido del file è stato fornito." #~ msgid "Does not compute." #~ msgstr "Non calcola." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Hai richiesto di non usare una rappresentazione diretta con il metodo POV-" #~ "Ray e di non mantenere il file POV-Ray. Il risultato sarà che non sarà " #~ "salvato il lavoro. Sei sicuro che sia questo ciò che vuoi?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Impossibile scrivere sul file %1. Si possiedono le autorizzazioni per " #~ "scrivere in quella posizione?" #~ msgid "POV-Ray failed to start." #~ msgstr "L'inizializzazione di POV-Ray è fallita." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "L'inizializzazione di POV-Ray è fallita. Forse il percorso " #~ "all'esecutibile non è regolato correttamente." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Crea file POV-Ray ed effettua il rendering utilizzando la linea di " #~ "comando POV-Ray." #~ msgid "Atom Properties..." #~ msgstr "Proprietà Atomo..." #~ msgid "Bond Properties..." #~ msgstr "Proprietà del legame..." #~ msgid "Angle Properties..." #~ msgstr "Proprietà dell'Angolo..." #~ msgid "Torsion Properties..." #~ msgstr "Proprietà Torsioni..." #~ msgid "Conformer Properties..." #~ msgstr "Proprietà della Conformazione..." #~ msgid "Atom Properties" #~ msgstr "Proprietà dell'Atomo" #~ msgid "Bond Properties" #~ msgstr "Proprietà del legame" #~ msgid "Angle Properties" #~ msgstr "Proprietà dell'Angolo" #~ msgid "Torsion Properties" #~ msgstr "Proprietà di torsione" #~ msgid "Conformer Properties" #~ msgstr "Proprietà del conformero" #~ msgid "Properties" #~ msgstr "Proprietà" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Finestre per la visualizzazione dell'atomo, del legame, dell'angolo e " #~ "delle proprietà di torsione. Include anche un editor a coordinate " #~ "cartesiane." #~ msgid "Valence" #~ msgstr "Valence" #~ msgid "Partial Charge" #~ msgstr "Carica Parziale" #~ msgid "Atom" #~ msgstr "Atomo" #~ msgid "Start Atom" #~ msgstr "Atomo Iniziale" #~ msgid "Rotatable" #~ msgstr "Ruotabile" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Conformero %1\n" #~ "Lunghezza %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Lunghezza %1" #~ msgid "Vertex" #~ msgstr "Vertica" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Conformero %1\n" #~ "Angolo %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Angolo %1" #~ msgid "Angle" #~ msgstr "Angolo" #~ msgid "Atom %1" #~ msgstr "Atomo %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Conformero %1\n" #~ "Torsione %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsione %1" #~ msgid "Torsion" #~ msgstr "Torsione" #~ msgid "Energy (kJ/mol)" #~ msgstr "Energia (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Conformero" #~ msgid "Yes" #~ msgstr "Sì" #~ msgid "No" #~ msgstr "No" #~ msgid "Python Terminal" #~ msgstr "Terminale Python" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Terminale interattivo di scripting python" #~ msgid "Abinit Running." #~ msgstr "Abinit in esecuzione." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Abinit è già in uso. Per favore attendi il termine del calcolo precedente." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit non installato." #~ msgid "The abinit executable cannot be found." #~ msgstr "L'eseguibile di adibit non può essere trovato." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "Abinit non parte. Forse non è installato correttamente." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit non funziona nel modo corretto. Forse non è installato " #~ "correttamente." #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Desideri aggiornare il testo di anteprima, perdendo tutti i cambiamenti " #~ "fatti nel pannello del file di input Dalton?" #~ msgid "QM Matches" #~ msgstr "QM Matches" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Selezione EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Selezione QM..." #~ msgid "Delete" #~ msgstr "Elimina" #~ msgid "You must make a selection!" #~ msgstr "Devi effettuare una selezione!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Conversione SMILES non Disponibile" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Conversione Formato SMILES non Disponibile" #~ msgid "Group Name" #~ msgstr "Nome Gruppo" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Crea file di input per il pacchetto di chimica quantistica GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Impostazioni Avanzate Modificate" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Le impostazioni avanzate sono state modificate.\n" #~ "Annullare?" #~ msgid "Advanced Settings Reset" #~ msgstr "Reset Impostazioni Avanzate" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Sei sicuro di voler ripristinare le impostazioni avanzate?\n" #~ "Tutte le modifiche andranno perse!" #~ msgid "Basic Settings Reset" #~ msgstr "Reset Impostazioni di Base" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "Sei sicuro di voler ripristinare le impostazioni di base?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Mazzo di input GAMESS-UK" #~ msgid "Gaussian Input Deck" #~ msgstr "Ponte di immissione dati gaussiani" #~ msgid "Gaussian Running." #~ msgstr "Gaussian in esecuzione" #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian è già in esecuzione. Attendere la fine del calcolo precedente." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian non è installato." #~ msgid "The G03 executable, cannot be found." #~ msgstr "L'eseguibile G03 non è stato trovato." #~ msgid "G03 failed to start." #~ msgstr "L'esecuzione di G03 è fallita." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 non si è avviato. Forse non è stato installato correttamente." #~ msgid "Running Gaussian calculation..." #~ msgstr "Calcolo Gaussian in corso..." #~ msgid "G03 Crashed." #~ msgstr "G03 si è arrestato inaspettatamente." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian non è stato eseguito correttamente. Forse non è installato " #~ "correttamente." #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Lammps Input" #~ msgstr "Input Lammps" #~ msgid "Molpro Input Deck" #~ msgstr "Mazzo di input Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Avviso di input MOPAC" #~ msgid "MOPAC Input Deck" #~ msgstr "Mazzo di input MOPAC" #~ msgid "MOPAC Running." #~ msgstr "MOPAC in esecuzione." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC è già in esecuzione. Attendi la fine del calcolo in corso." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC non è installato." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Impossibile trovare l'eseguibile di MOPAC" #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC non è partito." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC non è partito. Potrebbe non essere installato correttamente." #~ msgid "Running MOPAC calculation..." #~ msgstr "Calcolo MOPAC in corso..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC è terminato inaspettatamente." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC non èstato eseguito correttamente.Potrebbe non essere installato " #~ "correttamente." #~ msgid "NWChem Input Deck" #~ msgstr "Mazzo di input NWChem" #~ msgid "Psi4 Input Deck" #~ msgstr "Mazzo input Psi4" #~ msgid "QChem Input Deck" #~ msgstr "Mazzo di input QChem" #~ msgid "Select SMARTS..." #~ msgstr "Seleziona SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Seleziona per residuo..." #~ msgid "Add Named Selection..." #~ msgstr "Aggiungi selezione con nome..." #~ msgid "SMARTS Selection" #~ msgstr "Selezione SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "S" #~ msgid "Select by residue" #~ msgstr "Seleziona per residuo" #~ msgid "Residue name" #~ msgstr "Nome residuo" #~ msgid "There is no current selection." #~ msgstr "Non c'è alcuna selezione corrente." #~ msgid "Add Named Selection" #~ msgstr "Aggiungi selezione con nome" #~ msgid "Name cannot be empty." #~ msgstr "Il nome non può essere vuoto" #~ msgid "There is already a selection with this name." #~ msgstr "Esiste già una selezione con questo nome." #~ msgid "Selections" #~ msgstr "Selezioni" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Seleziona atomi, legami, residui..." #~ msgid "GLSL Shaders..." #~ msgstr "Ombreggiatori GLSL" #~ msgid "Open a vertex shader source file" #~ msgstr "Apri un file sorgente di vertex shader" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "File vertex shader (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Apri un file sorgente fragment shader" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "File fragment shader (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Apri un file di parametri dell'ombreggiatore" #~ msgid "Shader parameters files (*.params)" #~ msgstr "File dei parametri dell'ombreggiatore (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "Ombreggiatori GLSL" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Carica e usa gli ombreggiatori OpenGL 2.0 GLSL" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensità (unità arabe)" #~ msgid "Energy (eV)" #~ msgstr "Energia (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Densità degli stati (stati/cellula)" #~ msgid "Density of States (states/atom)" #~ msgstr "Densità degli stati (stati/atomo)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Densità degli stati (stati/elettroni di valenza)" #~ msgid "Transmittance (%)" #~ msgstr "Trasmittanza (%)" #~ msgid "Absorbance (%)" #~ msgstr "Assorbanza (%)" #~ msgid "No intensities" #~ msgstr "Intensità assenti" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "I dati della vibrazione nella molecola che hai caricato non hanno dati di " #~ "intensità. Le intensità sono state impostate a un valore arbitrario per " #~ "la visualizzazione." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Numero d'onda (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Shift (ppm)" #~ msgid "Activity" #~ msgstr "Attività" #~ msgid "Intensity" #~ msgstr "Intensità" #~ msgid "X Axis" #~ msgstr "Asse X" #~ msgid "Y Axis" #~ msgstr "Asse Y" #~ msgid "&Appearance" #~ msgstr "&Aspetto" #~ msgid "E&xport Image" #~ msgstr "E&sporta Immagine" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrarosso" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Impostazioni spettri &infrarossi" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "Impostazioni spettri &NMR" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DDS" #~ msgid "&Density Of States Settings" #~ msgstr "Impostazioni della &densità degli stati" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "Impostazioni &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "Impostazioni &CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "Impostazioni &Raman" #~ msgid "No data" #~ msgstr "Nessun dato" #~ msgid "Dark" #~ msgstr "Scuro" #~ msgid "Light" #~ msgstr "Chiaro" #~ msgid "Publication" #~ msgstr "Pubblicazione" #~ msgid "Handdrawn" #~ msgstr "Disegnato a mano" #~ msgid "New Scheme" #~ msgstr "Nuovo schema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Conferma rimozione schema" #~ msgid "Really remove current scheme?" #~ msgstr "Sicuro di voler rimuovere lo schema corrente?" #~ msgid "Change Scheme Name" #~ msgstr "Cambia il nome dello schema" #~ msgid "Enter new name for current scheme:" #~ msgstr "Inserire un nome per lo schema corrente:" #~ msgid "Select Background Color" #~ msgstr "Seleziona il colore di sfondo" #~ msgid "Select Foreground Color" #~ msgstr "Seleziona il colore di primo piano" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Seleziona il colore degli spettri calcolati" #~ msgid "Select Imported Spectra Color" #~ msgstr "Seleziona il colore degli spettri importati" #~ msgid "Export Calculated Spectrum" #~ msgstr "Esporta lo spettro calcolato" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Tab Separated Values (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Tab Separated Values" #~ msgid "Comma Separated Values" #~ msgstr "Comma Separated Values" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importa Spettro" #~ msgid "Spectra Import" #~ msgstr "Importa Spettro" #~ msgid "Unknown extension: %1" #~ msgstr "Estensione sconosciuta: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "Dati IR PWscf (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Dati IR Turbomole (*.out)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Dato turbomole UV (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Dato turbolmole CD (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Formato dei Dati" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Formato:" #~ msgid "Load Spectral Data" #~ msgstr "Carica Dati Spettrali" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Il file CD Turbomole è formattato impropriamente: %1" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format (TIFF)" #~ msgid "Windows Bitmap" #~ msgstr "Bitmap di Windows" #~ msgid "Portable Pixmap" #~ msgstr "Pixmap Portabile" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Salva Immaggine di Spettro" #~ msgid "&Advanced <<" #~ msgstr "&Avanzate <<" #~ msgid "&Advanced >>" #~ msgstr "&Avanzate >>" #~ msgid "&Spectra..." #~ msgstr "&Spettri..." #~ msgid "Spectra" #~ msgstr "Spettri" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "" #~ "Visualizza dati di spettro ottenuti da calcoli di chimica quantistica." #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Analisi Vibrazionale" #~ msgid "No vibrational displacements exist." #~ msgstr "Non esistono spostamenti vibrazionali" #~ msgid "Vibration" #~ msgstr "Vibrazione" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Ordino %1 vibrazioni in ordine di frequenza..." #~ msgid "Pause" #~ msgstr "Metti in pausa" #~ msgid "Super Cell Builder..." #~ msgstr "Costruzione Super Cell..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Questo documento è attualmente una molecola isolata. Devi creare una " #~ "cella unitaria." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Costruisci e mostra super cellue cristallografiche" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbitali molecolari..." #~ msgid "Orbitals" #~ msgstr "Orbitali" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Orbitale" #~ msgid "Status" #~ msgstr "Stato" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Niente" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potenziale elettrostatico" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Densità elettronica" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbitale Molecolare" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Errore - undefined type" #~ msgid "Create Surfaces..." #~ msgstr "Crea superfici" #~ msgid "Calculating VdW Cube" #~ msgstr "Calcolando il cubo VdW" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calcolo in corso per MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Densità elettronica" #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Calcola gli orbitali molecolari e le altre superfici" #~ msgid "Insert Nanotube" #~ msgstr "Inserisci nanotubo" #~ msgid "Building..." #~ msgstr "In costruzione..." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "Il widget GL non è stato inizializzato correttamente per fare un video" #~ msgid "GL widget has no molecule" #~ msgstr "Il widget GL non ha molecole" #~ msgid "Building video " #~ msgstr "Sto costruendo il video " #~ msgid "Could not run povray." #~ msgstr "Impossibile eseguire povray" #~ msgid "Could not run mencoder." #~ msgstr "Non è stato possibile eseguire mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Imposta Rapporto Aspetto" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "La visuale corrente di Avogadro è larga %1x%2 pixels, e perciò ha un " #~ "rapporto di aspetto %3.\n" #~ "Puoi tenere questo rapporto se, ad esempio, vuoi usare POV-Ray per " #~ "produrre un'immagine di %4x1000 pixels, o puoi inserire un altro valore " #~ "positivo, ad esempio 1, se vuoi che POV-Ray produca un'immagine quadrata, " #~ "per esempio 1000x1000 pixels." #~ msgid "Connect" #~ msgstr "Collega" #~ msgid "Disconnect" #~ msgstr "Scollega" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Tracciamento Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Traccia il movimento utilizzando telecomandi Wii" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Contesto OpenGL non valido.\n" #~ "Può trattarsi di un errore nel setup di OpenGL (puoi eseguire " #~ "applicazioni OpenGL?), altrimenti hai trovato un bug." #~ msgid "Debug Information" #~ msgstr "Informazioni di debug" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Visualizza dimensione: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Atomi: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Limti: %L1" #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Il tipo di file '%1' non è supportato per la lettura." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Il tipo di file per il file '%1' non è supportato per la lettura." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Lettura della molecola con indice %1 dal file '%2' fallita." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Il tipo di file '%1' non è supportato per la scrittura." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Il tipo di file per il file '%1' non è supportato per la scrittura." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Non è stato possibile aprire il file '%1' in scrittura" #~ msgid "Could not open file '%1' for reading." #~ msgstr "Non è stato possibile aprire il file '%1' in lettura" #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Sostituzione della molecola con indice %1 nel file '%2' fallita." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Il file %1 non può essere aperto per la lettura." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Il file %1 non può essere aperto per la scrittura." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Salvataggio del file molecolare fallito - non è stato possibile " #~ "rinominare il file originale." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Salvataggio del file molecolare fallito - non è stato possibile " #~ "rinominare il nuovo file." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Salvataggio del file molecolare fallito - non è stato possibile rimuovere " #~ "il vecchio file." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Scrittura di una molecola nel file '%1' fallita. Funzione OpenBabel " #~ "fallita." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Il file %1 non può essere aperto per la scrittura." #~ msgid "Molecule %1" #~ msgstr "Molecola %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Motore Python sconosciuto" #~ msgid "N/A" #~ msgstr "N/D" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: controllo in corso " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - lo script non ha una classe «Engine» definita" #~ msgid " - no module" #~ msgstr " - nessun modulo" #~ msgid "Unknown Python Extension" #~ msgstr "Estensione Python sconosciuta" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: controllo in corso " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - lo script non ha una classe «Extension» definita" #~ msgid "Unknown Python Tool" #~ msgstr "Strumento Python sconosciuto" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: controllo in corso " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - lo script non ha una classe «Tool» definita" #~ msgid "Conformer %1" #~ msgstr "Conformero %1" #~ msgid "Tools" #~ msgstr "Strumenti" #~ msgid "Axis:" #~ msgstr "Asse:" #~ msgid "Align:" #~ msgstr "Allinea:" #~ msgid "Everything" #~ msgstr "Tutto" #~ msgid "Align" #~ msgstr "Allinea" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Allinea le molecole a un asse cartesiano" #~ msgid "Align Settings" #~ msgstr "Allinea le impostazioni" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Impossibile definire il campo di forza..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Numero di vincoli: %1" #~ msgid "Steps per Update:" #~ msgstr "Passaggi per l'aggiornamento:" #~ msgid "Algorithm:" #~ msgstr "Algoritmo:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dinamiche molecolari (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinamiche molecolari (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinamiche molecolari (900K)" #~ msgid "Start" #~ msgstr "Avvia" #~ msgid "Fixed atoms are movable" #~ msgstr "Gli atomi fissi si possono spostare" #~ msgid "Ignored atoms are movable" #~ msgstr "Gli atomi ignorati si possono spostare" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOpt Molecola" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Ottimizzazione automatica della geometria molecolare" #~ msgid "AutoOptimization Settings" #~ msgstr "Impostazioni di ottimizzazione automatica" #~ msgid "Auto Rotation Tool" #~ msgstr "Strumento di Auto Rotazione" #~ msgid "x rotation:" #~ msgstr "rotazione sull'asse x:" #~ msgid "x rotation" #~ msgstr "rotazione sull'asse x" #~ msgid "y rotation:" #~ msgstr "rotazione sull'asse y:" #~ msgid "y rotation" #~ msgstr "rotazione sull'asse y" #~ msgid "z rotation:" #~ msgstr "rotazione sull'asse z:" #~ msgid "z rotation" #~ msgstr "rotazione sull'asse z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Rotazione automatica delle molecole" #~ msgid "AutoRotate Settings" #~ msgstr "Impostazioni della rotazione automatica" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Lunghezza del legame :%L1" #~ msgid " Show Angles" #~ msgstr " Mostra gli angoli" #~ msgid "Snap-to Threshold: " #~ msgstr "Soglia Snap-to: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Manipola il legame centrico" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distanza (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Angolo: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distanza (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Angolo diedrico: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distanza(-e)" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Misura le lunghezze dei legami, degli angoli e dei diedri" #~ msgid "Delete Atom" #~ msgstr "Cancella Atomo" #~ msgid "Draw Bond" #~ msgstr "Disegna legame" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Disegna e modifica atomi e legami" #~ msgid "Draw Settings" #~ msgstr "Impostazioni di disegno" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Traslare, ruotare e regolare gli atomi e i frammenti" #~ msgid "Manipulate Settings" #~ msgstr "Impostazioni di manipolazione" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Trasla, ruota e zooma intorno alla vista corrente" #~ msgid "Navigate Settings" #~ msgstr "Naviga le impostazioni" #~ msgid "Selection Mode:" #~ msgstr "Modalità di selezione:" #~ msgid "Atom/Bond" #~ msgstr "Atomo/Legame" #~ msgid "Residue" #~ msgstr "Residuo" #~ msgid "Add Center of Atoms" #~ msgstr "Aggiungi il centro degli atomi" #~ msgid "Add Center of Mass" #~ msgstr "Aggiungi il Centro di Massa" #~ msgid "Change color of the atom" #~ msgstr "Cambia il colore dell'atomo" #~ msgid "Change label of the atom" #~ msgstr "Cambia l'etichetta dell'atomo" #~ msgid "New Label:" #~ msgstr "Nuova etichetta:" #~ msgid "Change label of the bond" #~ msgstr "Cambia l'etichetta del legame" #~ msgid "Change radius of the atom" #~ msgstr "Cambia il raggio dell'atomo" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Nuovo raggio, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Seleziona atomi, residui e molecole" #~ msgid "Symbol" #~ msgstr "Simbolo" #~ msgid "Bond Length" #~ msgstr "Lunghezza del legame" #~ msgid "Bond Angle" #~ msgstr "Angolo del legame" #~ msgid "Dihedral Angle" #~ msgstr "Angolo diedrico" #~ msgid "Z Matrix Editor..." #~ msgstr "Editor della matrice Z..." #~ msgid "Z-Matrix" #~ msgstr "Matrice Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Crea/modifica una matrice z" #~ msgid "Z-Matrix Settings" #~ msgstr "Impostazioni della matrice z" #~ msgid "Residue Color Settings" #~ msgstr "Impostazioni dei colori residuali" #~ msgid "Color residues by:" #~ msgstr "Colora i residui con:" #~ msgid "Amino Colors" #~ msgstr "Colori amminici" #~ msgid "Shapely Colors" #~ msgstr "Colori a forma" #~ msgid "Hydrophobicity" #~ msgstr "Idrofobicità" #~ msgid "Axes:" #~ msgstr "Assi:" #~ msgid "Cartesian Axes" #~ msgstr "Assi cartesiani" #~ msgid "Orthogonal Axes" #~ msgstr "Assi ortogonali" #~ msgid "Axis 1:" #~ msgstr "Asse 1:" #~ msgid "Axis 2:" #~ msgstr "Asse 2:" #~ msgid "Axis 3:" #~ msgstr "Asse 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origine:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norme" #~ msgid "Preserve vector norms" #~ msgstr "Preserva le norme vettoriali" #~ msgid "Atom Radius:" #~ msgstr "Raggio Atomico:" #~ msgid "Bond Radius:" #~ msgstr "Raggio del legame:" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Helix" #~ msgstr "Elica" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Foglio" #~ msgid "Loop" #~ msgstr "Ciclo" #~ msgid "Colors" #~ msgstr "Colori" #~ msgid "Dipole:" #~ msgstr "Dipolo:" #~ msgid "Dipole Moment" #~ msgstr "Momento di dipolo" #~ msgid "Custom Vector" #~ msgstr "Vettore personalizzato" #~ msgid "Custom:" #~ msgstr "Personalizzato:" #~ msgid "Width:" #~ msgstr "Larghezza:" #~ msgid "Cut-off radius:" #~ msgstr "Raggio di Cut-off:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Raggio di Cut-off" #~ msgid "Rendering Engine:" #~ msgstr "Motore di interpretazione:" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Etichette atomo" #~ msgid "Text:" #~ msgstr "Testo:" #~ msgid "Color:" #~ msgstr "Colore" #~ msgid "None" #~ msgstr "Nessuno" #~ msgid "Symbol & Number in Group" #~ msgstr "Simbolo & numero nel gruppo" #~ msgid "Symbol & Atom number" #~ msgstr "Simbolo & Numero atomico" #~ msgid "Formal charge" #~ msgstr "Carica formale" #~ msgid "Partial charge" #~ msgstr "Carica parziale" #~ msgid "Residue number" #~ msgstr "Residuo numero" #~ msgid "Unique ID" #~ msgstr "ID Univoco" #~ msgid "Custom data" #~ msgstr "Dati personalizzati" #~ msgid "Change Font" #~ msgstr "Cambia carattere" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Scorrimento dell'etichetta:" #~ msgid "Bond Labels" #~ msgstr "Etichette del legame" #~ msgid "Bond length" #~ msgstr "Lunghezza del legame" #~ msgid "Bond number" #~ msgstr "Numero del legame" #~ msgid "Bond order" #~ msgstr "Ordine del legame" #~ msgid "Rendering:" #~ msgstr "Rendering:" #~ msgid "Backbone" #~ msgstr "Backbone (Spina dorsale)" #~ msgid "Lines" #~ msgstr "Linee" #~ msgid "Radius:" #~ msgstr "Raggio:" #~ msgid "Include Nitrogens" #~ msgstr "Includi Azoto" #~ msgid "VdW Opacity:" #~ msgstr "Opacità VdW:" #~ msgid "Orbital:" #~ msgstr "Orbitale:" #~ msgid "Render:" #~ msgstr "Resa:" #~ msgid "Fill" #~ msgstr "Riempi" #~ msgid "Points" #~ msgstr "Punti" #~ msgid "Draw Box:" #~ msgstr "Disegna Scatola:" #~ msgid "Style:" #~ msgstr "Stile:" #~ msgid "Selected Colors" #~ msgstr "Colori selezionati" #~ msgid "Mapped Colors" #~ msgstr "Colori mappati" #~ msgid "Colors:" #~ msgstr "Colori:" #~ msgid "Positive" #~ msgstr "Positivo" #~ msgid "Negative" #~ msgstr "Negativo" #~ msgid "Show Atoms" #~ msgstr "Mostra gli atomi" #~ msgid "Animate Trajectory" #~ msgstr "Anima traiettoria" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Ciclo" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Salva come .avi..." #~ msgid "Angstroms" #~ msgstr "Angstrom" #~ msgid "Bohrs" #~ msgstr "Bohr" #~ msgid "Fractional" #~ msgstr "Frazionale" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, solo coordinate" #~ msgid "GAMESS Input #2" #~ msgstr "Input #2 GAMESS" #~ msgid "Priroda Input" #~ msgstr "Input Priroda" #~ msgid "Apply Changes" #~ msgstr "Applica i cambiamenti" #~ msgid "Cut All" #~ msgstr "Taglia tutto" #~ msgid "Paste to the End" #~ msgstr "Incolla alla fine" #~ msgid "(None)" #~ msgstr "(Niente)" #~ msgid "Sort by " #~ msgstr "Ordina per " #~ msgid "Conformer Search" #~ msgstr "Ricerca Conformeri" #~ msgid "Method" #~ msgstr "Metodo" #~ msgid "Number of atoms:" #~ msgstr "Numero di Atomi:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Numero di legami ruotabili:" #~ msgid "Number of conformers" #~ msgstr "Numero di conformeri:" #~ msgid "Systematic rotor search" #~ msgstr "Ricerca sistematica dei rotori" #~ msgid "Random rotor search" #~ msgstr "Ricerca casuale dei rotori" #~ msgid "Weighted rotor search" #~ msgstr "Ricerca pesata dei rotori" #~ msgid "Genetic Algorithm Options" #~ msgstr "Opzioni dell'algoritmo genetico" #~ msgid "Children" #~ msgstr "Bambini" #~ msgid "Mutability" #~ msgstr "Mutabilità" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Constraints" #~ msgstr "Vincoli" #~ msgid "Add Constraints" #~ msgstr "Aggiungi Vincoli" #~ msgid "Ignore Atom" #~ msgstr "Ignora Atomo" #~ msgid "Fix Atom" #~ msgstr "Fissa Atomo" #~ msgid "Fix Atom X" #~ msgstr "Fissa Atomo X" #~ msgid "Fix Atom Y" #~ msgstr "Fissa Atomo Y" #~ msgid "Fix Atom Z" #~ msgstr "Fissa Atomo Z" #~ msgid "Torsion angle" #~ msgstr "Angolo di Torsione" #~ msgid "Constraint Value" #~ msgstr "Valore Vincolo" #~ msgid "Atom Indices" #~ msgstr "Indici Atomici" #~ msgid "Add" #~ msgstr "Aggiungi" #~ msgid "Save" #~ msgstr "Salva" #~ msgid "Load" #~ msgstr "Carica" #~ msgid "Atomic &identites:" #~ msgstr "&Identità atomiche:" #~ msgid "&Reset" #~ msgstr "&Azzera" #~ msgid "Cell Parameters" #~ msgstr "Parametri della cellula" #~ msgid " °" #~ msgstr " °" #~ msgid "Plane:" #~ msgstr "Piano:" #~ msgid "&Miller Indices:" #~ msgstr "Indici &Miller:" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Attenzione: Usare Indici Miller diversi da zero" #~ msgid "Dimensions:" #~ msgstr "Dimensioni:" #~ msgid "Width (x)" #~ msgstr "Larghezza (x)" #~ msgid "Width (y)" #~ msgstr "Larghezza (y)" #~ msgid "Height (z)" #~ msgstr "Altezza (z)" #~ msgid "length" #~ msgstr "lunghezza" #~ msgid "&Translate " #~ msgstr "&Trasforma " #~ msgid "by arbitrary vector" #~ msgstr "da vettore arbitrario" #~ msgid "selected atom to origin" #~ msgstr "selezionato atomo all'origine" #~ msgid "Translation vector:" #~ msgstr "Vettore di trasformazione:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "Unità &vettoriali:" #~ msgid "Cartesian" #~ msgstr "Cartesiano" #~ msgid "&Translate" #~ msgstr "&Trasforma" #~ msgid "&Keep atoms in unit cell" #~ msgstr "&Mantieni gli atomi in una cellula unitaria" #~ msgid "Crystal View Options" #~ msgstr "Opzioni vista cristallo" #~ msgid "One" #~ msgstr "Uno" #~ msgid "All" #~ msgstr "Tutti" #~ msgid "Color..." #~ msgstr "Colore..." #~ msgid "View Along:" #~ msgstr "Vista avanti:" #~ msgid "Default View" #~ msgstr "Vista Predefinita" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "Indici di Miller" #~ msgid "File Import..." #~ msgstr "Importa file..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Provare a intuire i legami?" #~ msgid "Setup Force Field" #~ msgstr "Installa il campo di forza" #~ msgid "Force Field" #~ msgstr "Campo di forza" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Numero di passi" #~ msgid "Algorithm" #~ msgstr "Algoritmo" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Inserisci acidi nucleici" #~ msgid "DNA" #~ msgstr "DNA" #~ msgid "RNA" #~ msgstr "RNA" #~ msgid "Nucleic Acids:" #~ msgstr "Acidi nucleici:" #~ msgid "Adenine" #~ msgstr "Adenina" #~ msgid "Cytosine" #~ msgstr "Citosina" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Guanina" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Sequenza:" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Altre" #~ msgid "Insert" #~ msgstr "Inserisci" #~ msgid "Insert Fragment..." #~ msgstr "Inserisci Frammento..." #~ msgid "Filter:" #~ msgstr "Filtro:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "" #~ "Digitare un nome o una parte del nome per visualizzare solo i file " #~ "corrispondenti." #~ msgid "Peptide Builder" #~ msgstr "Costruttore di peptidi" #~ msgid "Alanine" #~ msgstr "Alanina" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginina" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagina" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Acido aspartico" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cisteina" #~ msgid "Cys" #~ msgstr "Cis" #~ msgid "Glutamic acid" #~ msgstr "Acido glutammico" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutammina" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glicina" #~ msgid "Gly" #~ msgstr "Gli" #~ msgid "Histidine" #~ msgstr "Istidina" #~ msgid "His" #~ msgstr "Is" #~ msgid "Isoleucine" #~ msgstr "Isoleucina" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valina" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirosina" #~ msgid "Tyr" #~ msgstr "Tir" #~ msgid "Tryptophan" #~ msgstr "Triptofano" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treonina" #~ msgid "Thr" #~ msgstr "Tr" #~ msgid "Serine" #~ msgstr "Serina" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolina" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanina" #~ msgid "Phe" #~ msgstr "Fe" #~ msgid "Methionine" #~ msgstr "Metionina" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lisina" #~ msgid "Lys" #~ msgstr "Lis" #~ msgid "Leucine" #~ msgstr "Leucina" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Amminoacidi:" #~ msgid "Sequence (N to C):" #~ msgstr "Sequenza (da N a C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereochimica:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "Capolinea N:" #~ msgid "C Terminus:" #~ msgstr "Capolinea C:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Catena dritta" #~ msgid "Alpha Helix" #~ msgstr "Elica alpha" #~ msgid "Beta Sheet" #~ msgstr "Foglio beta" #~ msgid "3-10 Helix" #~ msgstr "Elica 3-10" #~ msgid "Pi Helix" #~ msgstr "Elica Pi" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Numero della catena:" #~ msgid "The chain number for the new peptide" #~ msgstr "Il numero della catena per il nuovo peptide" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Proprietà della molecola" #~ msgid "Number of Residues:" #~ msgstr "Numero di residui:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energia (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Momento dipolare (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Nome della molecola IUPAC:" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Avanzate" #~ msgid "Control" #~ msgstr "Controllo" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Dati" #~ msgid "Nothing" #~ msgstr "Nullo" #~ msgid "Grid" #~ msgstr "Griglia" #~ msgid "POV-Ray Export" #~ msgstr "Esporta POV-Ray" #~ msgid "Select..." #~ msgstr "Seleziona..." #~ msgid "povray" #~ msgstr "POV-Ray" #~ msgid "Use full scene antialiasing" #~ msgstr "Usa un antialiasing su tutta il contesto" #~ msgid "Antialias" #~ msgstr "Anti-Aliasing" #~ msgid "Set the background color to be transparent" #~ msgstr "Modifica il colore dello sfondo su trasparente" #~ msgid "Alpha transparency" #~ msgstr "Trasparenza alfa" #~ msgid "Command:" #~ msgstr "Comando:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Mostra la molecola direttamente usando la linea di comando POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "" #~ "Mantieni la sorgente POV-Ray dopo che il rendering è stato completato" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Mantieni la sorgente POV-Ray dopo il rendering" #~ msgid "Path:" #~ msgstr "Percorso:" #~ msgid "Abinit Input" #~ msgstr "Input di Abinit" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Cartesiane (Angstrom)" #~ msgid "Reduced" #~ msgstr "Ridotte" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Tolleranza sulle forze(Ha/bohr):" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Numero di bande:" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Schema di occupazione:" #~ msgid "SCF tolerance type:" #~ msgstr "Tipo di tolleranza SCF:" #~ msgid "Total Energy" #~ msgstr "Energia totale" #~ msgid "Total Potential" #~ msgstr "Potenziale totale" #~ msgid "Maximum Force" #~ msgstr "Forza massima" #~ msgid "Relative Force" #~ msgstr "Forza relativa" #~ msgid "1 - semiconducting" #~ msgstr "1 - semiconduttori" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi Dirac" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 - Cold Smearing (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 - Gaussian smearing" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Ottimizzazione della geometria:" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Usa Form" #~ msgid "Compute..." #~ msgstr "Calcola..." #~ msgid "Dalton Input" #~ msgstr "Input Dalton" #~ msgid "Basics" #~ msgstr "Informazioni di base" #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Set Base:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Stile Pople" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Funzioni relative al nucleo" #~ msgid "Diffuse functions" #~ msgstr "Funzioni di diffusione" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Funzoni di polarizzazione" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Diretto" #~ msgid "Parallel" #~ msgstr "Parallelo" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Funzionale:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Densità:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Integrazione della carica:" #~ msgid "Grid Specification" #~ msgstr "Specificazione della griglia" #~ msgid "Partitioning Scheme:" #~ msgstr "Schema di suddivisione:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (originale)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Qualità della griglia:" #~ msgid "coarse" #~ msgstr "grezza" #~ msgid "normal" #~ msgstr "normale" #~ msgid "fine" #~ msgstr "buona" #~ msgid "ultrafine" #~ msgstr "ultrafine" #~ msgid "Radial Scheme:" #~ msgstr "Schema radiale:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Mostra tutti i funzionali" #~ msgid "Property:" #~ msgstr "Proprietà:" #~ msgid "Polarizability" #~ msgstr "Polarizzabilità" #~ msgid "Excitation Energy" #~ msgstr "Energia di eccitazione" #~ msgid "Frequency Dependent" #~ msgstr "Dipendente dalla frequenza" #~ msgid "No. excitations:" #~ msgstr "Numero di eccitazioni:" #~ msgid "EFP Matches" #~ msgstr "EFP Matches" #~ msgid "Group Label:" #~ msgstr "Etichetta di Gruppo:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Setup &Avanzato" #~ msgid "Hessian" #~ msgstr "Hessiano" #~ msgid "Stat Point" #~ msgstr "Punto Stazionario" #~ msgid "System" #~ msgstr "Sistema" #~ msgid "MO Guess" #~ msgstr "Guess MO" #~ msgid "Misc" #~ msgstr "Varie" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Funzioni di Polarizzazione Atomi Pesanti:" #~ msgid "Read" #~ msgstr "Leggi" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Shell s diffuse su Atomi Pesanti" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Shell l diffuse su Atomi Pesanti" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Double Zeta Valence" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "DZ Binning/Curtis" #~ msgid "Triple Zeta Valence" #~ msgstr "Triple Zeta Valence" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA Valence" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt Valence" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Tipo ECP:" #~ msgid "Default" #~ msgstr "Predefinito" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Funzioni di Polarizzazione su Atomi Pesanti:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#Funzioni di Polarizzazione per atomi Leggeri:" #~ msgid "Polar:" #~ msgstr "Polare:" #~ msgid "Max SCF Iterations:" #~ msgstr "Numero massimo si cicli SCF:" #~ msgid "Gradient" #~ msgstr "Gradiente" #~ msgid "Optimization" #~ msgstr "Ottimizzazione" #~ msgid "Trudge" #~ msgstr "Escursione" #~ msgid "Saddle Point" #~ msgstr "Punto di Sella" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Estremo Gradiente" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Superficie di Energia" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Transizione del momento radiante." #~ msgid "Spin Orbit" #~ msgstr "Spin Orbitale" #~ msgid "Finite Electric Field" #~ msgstr "Campo Finito" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Ottimizzazione globale" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Ottimizzazione FMO" #~ msgid "Raman Intensities" #~ msgstr "Intensità Raman" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Costruisci EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "None (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Tipo di SCF:" #~ msgid "Localization Method:" #~ msgstr "Metodo di Localizzazione:" #~ msgid "Exec Type:" #~ msgstr "Tipo Di Eseguibile:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinant" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Occupation Restricted Multiple Active Space" #~ msgid "CI Singles" #~ msgstr "CI Singles" #~ msgid "Full Second Order CI" #~ msgstr "Full Second Order CI" #~ msgid "General CI" #~ msgstr "General CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearized CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC with Doubles" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC with Singles and Doubles" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Esecuzione Normale" #~ msgid "Check" #~ msgstr "Verifica" #~ msgid "Debug" #~ msgstr "Debug" #~ msgid "Molecule Charge:" #~ msgstr "Carica della Molecola:" #~ msgid "Run Type:" #~ msgstr "Tipo di calcolo:" #~ msgid "Use MP2" #~ msgstr "Usa MP2" #~ msgid "Use DFT" #~ msgstr "Usa DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# di variabili Z-Matrix" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Ordine degli assi principali:" #~ msgid "Coordinate Type:" #~ msgstr "Tipo di Coordinate" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Coordinate Cartesiane uniche." #~ msgid "Hilderbrant internals" #~ msgstr "Interne di Hilderbrant" #~ msgid "MOPAC Z-Matrix" #~ msgstr "matrice-Z MOPAC" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Sfrutta la simmetria durante il Calcolo" #~ msgid "Units:" #~ msgstr "Unità:" #~ msgid "Point Group:" #~ msgstr "Gruppo Punto:" #~ msgid "Minutes" #~ msgstr "Minuti" #~ msgid "Hours" #~ msgstr "Ore" #~ msgid "Days" #~ msgstr "Giorni" #~ msgid "Weeks" #~ msgstr "Settimane" #~ msgid "Years" #~ msgstr "Anni" #~ msgid "Millenia" #~ msgstr "Millenni" #~ msgid "MegaWords" #~ msgstr "MegaWords" #~ msgid "MegaBytes" #~ msgstr "MegaBytes" #~ msgid "GigaWords" #~ msgstr "GigaWords" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Forza Metodi Paralleli" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Produci il file \"core\" in caso di abort" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Memoria:" #~ msgid "Diagonalization Method:" #~ msgstr "Metodo do Diagonalizzazione" #~ msgid "Parallel Load Balance Type" #~ msgstr "Tipo di bilanciamento a carica parallela" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Ciclo" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Valore successivo" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Usa la rappresentazione di dati esterni per i messaggi" #~ msgid "Initial Guess:" #~ msgstr "Guess Iniziale:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO Letti ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO Salvati (DICTNRY)" #~ msgid "Skip" #~ msgstr "Salta" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Ruota gli Orbitali Alfa e Beta" #~ msgid "Print the Initial Guess" #~ msgstr "Stampa il Guess Iniziale" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Interfaccia di GAMESS con Altri Codici" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Forza un Controlla Tipo Di Avvio" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK Version)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvata con Acqua" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Genera gli orbitali naturali UHF" #~ msgid "Direct SCF" #~ msgstr "SCF Diretto" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Calcola solo i cambiamenti nella Fock Matrix" #~ msgid "Slater exchange" #~ msgstr "Scambio di Slater" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 exchange" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: corrrelazione Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: correlazione di Lee-Yang-Parr" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: scambio di Slater + correlazione VWN" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: scambio di BECKE + correlazione VWN5" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: scambio di BECKE + correlazione LYP" #~ msgid "Gill 1996 exchange" #~ msgstr "scambio Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "scambio Perdew-Burke-Ernzerhof (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: correlazione One-parameter Progressive" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: scambio SLATER + correlazione Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: scambio di SLATER + correlazione OP" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: scambio di BECKE + correlazione OP" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: scambio di GILL + correlazione VWN5" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: scambio di GILL +correlazione LYP" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: scambio PBE exchange + correlazione VWN6" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: scambio PBE + correlazione LYP" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: scambio PBE + correlazione OP" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: scambio HF e BECKE + correlazione LYP" #~ msgid "Grid-Free" #~ msgstr "Libero-Da-Griglie" #~ msgid "DFT Functional:" #~ msgstr "Funzionale DFT:" #~ msgid "Method:" #~ msgstr "Metodo:" #~ msgid "AO Integral Storage" #~ msgstr "Salvataggio degli Integrali" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplica su tutti i Nodi" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distribuisci su tutti i Nodi" #~ msgid "words" #~ msgstr "parole" #~ msgid "Compute MP2 Properties" #~ msgstr "Calcola le proprietà MP2" #~ msgid "Use Localized Orbitals" #~ msgstr "Usa Orbitali localizzati" #~ msgid "# of Core Electrons:" #~ msgstr "# di Elettroni di Core:" #~ msgid "Transformation Method" #~ msgstr "Metodo di Trasformazione" #~ msgid "Segmented Transformation" #~ msgstr "Trasformazione Segmentata" #~ msgid "Analytic" #~ msgstr "Analitico" #~ msgid "Numeric" #~ msgstr "Numerico" #~ msgid "Double Differenced Hessian" #~ msgstr "Hessiano da Differenze Doppie" #~ msgid "Print Internal Force Constants" #~ msgstr "Stampa le Costanti di Forza Interne" #~ msgid "Displacement Size:" #~ msgstr "Dimensione dello Spostamento" #~ msgid "Purify Hessian" #~ msgstr "Purifica l'Hessiano" #~ msgid "Frequency Scale Factor:" #~ msgstr "Fattore di Scala delle Frequenze:" #~ msgid "bohrs" #~ msgstr "bohr" #~ msgid "Initial Hessian" #~ msgstr "Hessiano Iniziale" #~ msgid "Guess (+ define)" #~ msgstr "Supposizione (+ definizione)" #~ msgid "Read (from $HESS)" #~ msgstr "Leggi (da $HESS)" #~ msgid "Update Step Size" #~ msgstr "Aggiorna il Passo" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Stampa gli Orbitali ad ogni Ciclo" #~ msgid "Jump Size:" #~ msgstr "Dimensione Salto:" #~ msgid "Stationary Point" #~ msgstr "Punto Stazionario" #~ msgid "Step Size" #~ msgstr "Dimensione passo" #~ msgid "Maximum:" #~ msgstr "Massimo:" #~ msgid "Minimum:" #~ msgstr "Minimo:" #~ msgid "Initial:" #~ msgstr "Iniziale:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Ottimizzazione della funzione razionale" #~ msgid "Quadratic Approximation" #~ msgstr "Approssimazione Quadratica" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Ottimizzazione con vincoli" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Ricalcola Hessiano Ogni:" #~ msgid "Follow Mode:" #~ msgstr "Modalità Seguire:" #~ msgid "Maximum Steps:" #~ msgstr "Massimo numero di passi:" #~ msgid "GAMESS-UK Input" #~ msgstr "Input GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Input GAMESS-UK generato da Avogadro" #~ msgid "Transition State Search" #~ msgstr "Ricerca dello stato di transizione" #~ msgid "Basis:" #~ msgstr "Set Base:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Matrice-Z" #~ msgid "Run in direct mode:" #~ msgstr "Esegui in modalità diretta:" #~ msgid "Gaussian Input" #~ msgstr "Input Gaussian" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Standard" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Checkpoint:" #~ msgid "Z-matrix (compact)" #~ msgstr "Matrice-Z (compatto)" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "reale" #~ msgid "metal" #~ msgstr "metallo" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "elettrone" #~ msgid "NONE" #~ msgstr "NESSUNO" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "angle" #~ msgstr "angolo" #~ msgid "atomic" #~ msgstr "atomico" #~ msgid "bond" #~ msgstr "legame" #~ msgid "charge" #~ msgstr "carica" #~ msgid "full" #~ msgstr "intero" #~ msgid "line" #~ msgstr "linea" #~ msgid "molecular" #~ msgstr "molecolare" #~ msgid "sphere" #~ msgstr "sfera" #~ msgid "tri" #~ msgstr "tri" #~ msgid "Ensemble" #~ msgstr "Insieme" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Temperatura" #~ msgid "Dimensions" #~ msgstr "Dimensioni" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "MOLPRO Input" #~ msgstr "Input MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Versione di Molpro:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Input MOPAC" #~ msgid "Quartet" #~ msgstr "Quartetto" #~ msgid "Quintet" #~ msgstr "Quintetto" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Input NWChem" #~ msgid "Q-Chem Input" #~ msgstr "Input Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "no" #~ msgid "yes" #~ msgstr "sì" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Dispersione:" #~ msgid "Load Shaders" #~ msgstr "Carica ombreggiatori" #~ msgid "Shader Name:" #~ msgstr "Nome dell'ombreggiatore" #~ msgid "Vertex Shader:" #~ msgstr "Ombreggiatore Vertex" #~ msgid "Fragment Shader:" #~ msgstr "Ombreggiatore dei frammenti" #~ msgid "Assign Shader" #~ msgstr "Assegna shader" #~ msgid "Display Type:" #~ msgstr "Tipo di visualizzazione:" #~ msgid "&Load data..." #~ msgstr "&Carica dati..." #~ msgid "&Close" #~ msgstr "&Chiudi" #~ msgid "Calculated Spectra:" #~ msgstr "Spettri calcolati:" #~ msgid "Set Color..." #~ msgstr "Imposta il colore..." #~ msgid "Imported Spectra:" #~ msgstr "Spettri importati:" #~ msgid "Font:" #~ msgstr "Carattere:" #~ msgid "Change Font..." #~ msgstr "Cambia carattere..." #~ msgid "Show" #~ msgstr "Mostra" #~ msgid "&Import..." #~ msgstr "&Importa..." #~ msgid "Background:" #~ msgstr "Sfondo:" #~ msgid "Foreground:" #~ msgstr "Primo piano:" #~ msgid "New..." #~ msgstr "Nuovo..." #~ msgid "Rename..." #~ msgstr "Rinomina..." #~ msgid "&Schemes:" #~ msgstr "&Schemi:" #~ msgid "&Export..." #~ msgstr "&Esporta..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Larghezza:" #~ msgid "&Height" #~ msgstr "&Altezza" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Salva immagine..." #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Regola automaticamente la dimensione del c&arattere" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Esporta i dati" #~ msgid "Spectra Tab" #~ msgstr "Scheda degli spettri" #~ msgid "&Gaussian Width:" #~ msgstr "Larghezza &Gaussian:" #~ msgid "&Label peaks" #~ msgstr "Cime dell'&etichetta" #~ msgid "Rotatory Strength type:" #~ msgstr "Tipo di forza rotatoria:" #~ msgid "Energy units:" #~ msgstr "Unità di energia:" #~ msgid "Density units" #~ msgstr "Unità di densità" #~ msgid "Fermi Energy: " #~ msgstr "Energia di Fermi: " #~ msgid "States / Cell" #~ msgstr "Stati / Cellule" #~ msgid "States / Atom" #~ msgstr "Stati / Atomi" #~ msgid "States / Valence electron" #~ msgstr "Stati / Elettroni di valenza" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Energia di Fermi a zero" #~ msgid "Scale integrated DOS" #~ msgstr "Scala il DOS integrato" #~ msgid "Show integrated DOS" #~ msgstr "Mostra il DOS integrato" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "Unità di asse &Y:" #~ msgid "Linear" #~ msgstr "Lineare" #~ msgid "Relative" #~ msgstr "Relativo" #~ msgid "Temperature:" #~ msgstr "Temperatura:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Numero di onde laser:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Soglia:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Nucleo:" #~ msgid "&Reference:" #~ msgstr "&Riferimento:" #~ msgid "Gaussian &Width:" #~ msgstr "&Larghezza Gaussian:" #~ msgid "Label Peaks:" #~ msgstr "Cime dell'etichetta:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Vibrazioni molecolari" #~ msgid "Filter: " #~ msgstr "Filtro: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Activity (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Mostra spettri..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "" #~ "più le frequenze di vibrazione sono alte più veloci sono gli spostamenti" #~ msgid "Animation speed set by frequency" #~ msgstr "Velocità dell'animazione determinata dalla frequenza" #~ msgid "Display force &vectors" #~ msgstr "Visualizza i &vettori di forza" #~ msgid "&Normalize displacements" #~ msgstr "&Normalizza sostituzioni" #~ msgid "Generate Cell" #~ msgstr "Genera cellula" #~ msgid "&Recalculate All" #~ msgstr "&Ricalcola tutto" #~ msgid "Default &Quality:" #~ msgstr "&Qualità predefinita" #~ msgid "Show occupied orbitals first" #~ msgstr "Mostra prima gli orbitali occupati" #~ msgid "Quality: " #~ msgstr "Qualità: " #~ msgid "Create Surfaces" #~ msgstr "Crea superfici" #~ msgid "Surface Type:" #~ msgstr "Tipo di superficie:" #~ msgid "Color By:" #~ msgstr "Colori per:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Bassa" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Media" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Alta" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Molto alta" #~ msgid "Iso Value:" #~ msgstr "Valore iso:" #~ msgid "New Display" #~ msgstr "Nuova visualizzazione" #~ msgid "Advanced..." #~ msgstr "Avanzato..." #~ msgid "&Length:" #~ msgstr "&Lunghezza:" #~ msgid "Uni&t:" #~ msgstr "Uni&tà:" #~ msgid "periodic units" #~ msgstr "unità periodiche" #~ msgid "angstrom" #~ msgstr "angstrom" #~ msgid "nanometers" #~ msgstr "nanometri" #~ msgid "picometers" #~ msgstr "picometri" #~ msgid "&Cap with hydrogen" #~ msgstr "&Cap con idrogeno" #~ msgid "Find &double bonds" #~ msgstr "Trova i &doppi legami" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Display visual cues" #~ msgstr "Visualizza i segnali visivi" #~ msgid "Python Settings" #~ msgstr "Impostazioni di Python" #~ msgid "Z Matrix Editor" #~ msgstr "Editor di matrici Z" #~ msgid "Import Selected Atoms" #~ msgstr "Importa gli atomi selezionati" avogadrolibs-1.93.0/i18n/ja.po000066400000000000000000007472771360735163600160330ustar00rootroot00000000000000# Japanese translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 07:06+0000\n" "Last-Translator: aoyama iwao \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:02+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "インプットファイルを作る..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "インプットファイルを作る..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "続ける" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "閉じる" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "不明" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "Abinitの実行を開始できませんでした" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "計算を中止" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "警告" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "警告" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "溶媒による選択" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "アウトプット" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "ファイルに書き込めません。" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "動画ファイルは書き込まれませんでした" #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "動画ファイルは書き込まれませんでした" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "設定" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "タイトル" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "ファイル名:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "プロセッサ数:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "計算" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "理論" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "理論" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "基底" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "電荷" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "多重度" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "分子がセットされていません" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "アニメーションを停止(&A)" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "原子が選択されていません" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "水素 (Hydrogen)" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "ヘリウム (Helium)" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "リチウム(Lithium)" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "ベリリウム (Beryllium)" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "ホウ素 (Boron)" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "炭素 (Carbon)" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "窒素 (Nitrogen)" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "酸素 (Oxygen)" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "フッ素 (Fluorine)" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "ネオン (Neon)" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "ナトリウム (Sodium)" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "マグネシウム (Magnesium)" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "アルミニウム (Aluminum)" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "ケイ素 (Silicon)" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "リン (Phosphorus)" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "硫黄 (Sulfur)" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "塩素 (Chlorine)" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "アルゴン (Argon)" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "カリウム (Potassium)" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "カルシウム (Calcium)" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "スカンジウム (Scandium)" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "チタン (Titanium)" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "バナジウム (Vanadium)" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "クロム (Chromium)" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "マンガン (Manganese)" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "鉄 (Iron)" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "コバルト (Cobalt)" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "ニッケル (Nickel)" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "銅 (Copper)" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "亜鉛 (Zinc)" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "ガリウム (Gallium)" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "ゲルマニウム (Germanium)" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "ヒ素 (Arsenic)" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "セレン (Selenium)" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "臭素 (Bromine)" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "クリプトン (Krypton)" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "ルビジウム (Rubidium)" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "ストロンチウム (Strontium)" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "イットリウム (Yttrium)" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "ジルコニウム (Zirconium)" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "ニオブ (Niobium)" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "モリブデン (Molybdenum)" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "テクネチウム (Technetium)" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "ルテニウム (Ruthenium)" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "ロジウム (Rhodium)" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "パラジウム (Palladium)" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "銀 (Silver)" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "カドミウム (Cadmium)" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "インジウム (Indium)" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "スズ (Tin)" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "アンチモン (Antimony)" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "テルル (Tellurium)" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "ヨウ素 (Iodine)" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "キセノン (Xenon)" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "セシウム (Cesium)" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "バリウム (Barium)" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "ランタン (Lanthanum)" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "セリウム (Cerium)" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "プラセオジム (Praseodymium)" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "ネオジム (Neodymium)" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "プロメチウム (Promethium)" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "サマリウム (Samarium)" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "ユウロピウム (Europium)" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "ガドリニウム (Gadolinium)" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "テルビウム (Terbium)" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "ジスプロシウム (Dysprosium)" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "ホルミウム (Holmium)" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "エルビウム (Erbium)" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "ツリウム (Thulium)" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "イッテルビウム (Ytterbium)" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "ルテチウム (Lutetium)" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "ハフニウム (Hafnium)" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "タンタル (Tantalum)" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "タングステン (Tungsten)" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "レニウム (Rhenium)" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "オスミウム (Osmium)" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "イリジウム (Iridium)" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "白金 (Platinum)" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "金 (Gold)" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "水銀 (Mercury)" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "タリウム (Thallium)" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "鉛 (Lead)" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "ビスマス (Bismuth)" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "ポロニウム (Polonium)" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "アスタチン (Astatine)" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "ラドン (Radon)" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "フランシウム (Francium)" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "ラジウム (Radium)" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "アクチニウム (Actinium)" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "トリウム (Thorium)" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "プロトアクチニウム (Protactinium)" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "ウラン (Uranium)" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "ネプツニウム (Neptunium)" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "プルトニウム (Plutonium)" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "アメリシウム (Americium)" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "キュリウム (Curium)" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "バークリウム (Berkelium)" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "カルホルニウム (Californium)" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "アインスタイニウム (Einsteinium)" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "フェルミウム (Fermium)" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "メンデレビウム (Mendelevium)" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "ノーベリウム (Nobelium)" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "ローレンシウム (Lawrencium)" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "ラザホージウム (Rutherfordium)" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "ドブニウム (Dubnium)" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "シーボーギウム (Seaborgium)" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "ボーリウム (Bohrium)" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "ハッシウム (Hassium)" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "マイトネリウム (Meitnerium)" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "ダルムスタチウム (Darmstadtium)" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "レントゲニウム (Roentgenium)" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "コペルニシウム(Copernicium)" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "ジルコニウム (Zirconium)" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "フレロビウム (Flerovium)" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "リバモリウム (Livermorium)" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "参照..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "溶媒による選択" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "選択を削除" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "すべてのファイル" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "無題" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "周期表" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Abinitの実行を開始できませんでした" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinitがクラッシュしました。" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL エラー" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "不明" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "分子" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "原子を追加" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "原子を削除" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "すべてをクリア" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "自動的に水素を付加" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "元素を変更" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "元素を変更" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "形式電荷" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "結合を追加" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "原子を削除" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "結合を削除" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "結合次数" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "結合次数を変更" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " 結合に吸着させる" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "結合を削除" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "ユニットセルを追加(&U)" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "ユニットセルを削除(&U)" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "ユニットセルを構成" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "原子をセルに移動(&W)" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "体積を指定してユニットセルを拡大縮小" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "スーパーセル" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "標準配向に回転" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "セルをPrimitive既約化" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "対称化" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "ユニットセルを構成" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "非対称要素に縮約" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "ファイル(&F)" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "エクスポート" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "閾値" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Orca アウトプットファイル" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "エクステンション" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr " 誤差 " #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "トラジェクトリファイル %1 の読み込みに問題があります" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL エラー" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "トラジェクトリファイル %1 の読み込みに問題があります" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "WFNファイルを開く" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "WFNファイルを開く" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "エラー" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "入力を保存" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "LAMMPS インプット" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "成功しました!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "インプットファイルのコメント" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "多重結合を表示" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "水素" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "ボールとスティック" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "原子と結合のラベルを表示" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "結合中心操作" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "結合中心操作" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "終わりの原子" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "水素を取り除く" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "ビルド(&B)" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "結合" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "対称操作の許容誤差(&T)..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "ファイル名:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "カルテシアン座標エディタ" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "カルテシアン座標エディタ" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "変更を戻す" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "不正なファイル名" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "元素名" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "元素記号" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "元素記号" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "不正なファイル名" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "原子の通し番号" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "不正なファイル名" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "カルテシアン座標エディタ" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "カルテシアン座標エディタ" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "カルテシアン座標エディタ" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "デカルト座標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "デカルト座標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "カルテシアン座標エディタ" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "デカルト座標をセット" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "カスタム" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Andrzej MoST (Marcin Ostajewski),Geoff Hutchison, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,tomo, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison,tomo, ,Launchpad Contributions:,Avogadro Team," "Geoff Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Katsuhiko Nishimra,Kenichi Ito,Rubia,aoyama iwao,hide D,tomo, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Katsuhiko Nishimra," "Kenichi Ito,Rubia,aoyama iwao,hide D,tomo, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison,Katsuhiko Nishimra,Kenichi Ito,Rubia,aoyama " "iwao,hide D,tomo" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ (番号付)" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "デカルト座標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "デカルト座標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP 情報" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP 情報" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Turbomole インプット" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "すべてをコピー" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "カスタム" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "すべてをクリア" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "フォーマットを設定できません: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "フォーマットを設定できません: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "クリップボードから結晶構造を読み込む(&I)" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "ユニットセルを構成" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "ユニットセルを構成" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "原子をセルに移動(&W)" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "標準配向に回転" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "体積を指定してセルを拡大縮小(&V)..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "スーパーセル" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "セルを既約化(&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "結晶..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "ユニットセルを削除(&U)" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "ユニットセルを追加(&U)" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "このユニットセルは、既にNiggli既約表現されています。" #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "結晶..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "原子と結合のラベルを表示" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "テキストを解析できません" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "カスタム座標軸" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "作成" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "原子を作成" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "結合次数を変更" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "原子を削除" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "距離" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "距離(1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "その他..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "自動最適化" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "単結合" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "二重結合" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "三重結合" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "スクリプト(&S)" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "トラジェクトリファイル %1 の読み込みに問題があります" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "GAMESS(&G)" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "インプットファイルを作る..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS インプット" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "1点エネルギー" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "平衡構造" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "遷移状態" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "振動解析" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "内殻ポテンシャル" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "気相" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "水溶液" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "一重項" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "二重項" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "三重項" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "ジカチオン" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "カチオン" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "中性" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "アニオン" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "ジアニオン" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESSインプット" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "計算を中止" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "自動的に水素を付加" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "水素を追加" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "水素を取り除く" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "水素を取り除く" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "水素" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "水素" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "インポート" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "原子と結合のラベルを表示" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "挿入(&I)" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "説明なし" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "分子" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "生成..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "操作" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "原子を操作" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "測定" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "二面角:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "角度:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "角度:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "測定" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "アイソサーフェスメッシュで分子をレンダリング" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "表示(&V)" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "分子の性質" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "ナビゲーション" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "ナビゲーション" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "化学名" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "化学構造のダウンロード" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "ネットワークダウンロードに失敗しました" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "ネットワーク・タイムアウトまたはその他のエラー" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "指定された分子が見つかりませんでした: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "ネットワークダウンロードに失敗しました" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&ジオメトリ最適化" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "構造最適化" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "結合情報を読み込む" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "水素を追加" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "pHを指定して水素を付加..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "水素を取り除く" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "ファイル'%1'からの分子の読み込みに失敗しました。" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "ファイル %1 への書き込み時に問題が発生しました" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&ジオメトリ最適化" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "生成..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "トラジェクトリファイル %1 の原子数が、現在の分子のものと一致しません" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&ジオメトリ最適化" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "水素を追加" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "Orcaインプットを生成..." #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "pHを指定して水素を付加" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "水素を取り除く" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "ストップ" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "パラメータ:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "動的結合" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "削除..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "ストップ" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "ベクタ画像をエクスポート" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "ファイル ‘%1’ を読めません。" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "エラー !" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr " 誤差 " #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "動画ファイルを保存" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "POV-Rayを用いて表示" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "QTAIMプロパティを使用してプリミティブを表示" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "分子の性質..." #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "孤立対付きの分子グラフ..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "形式電荷" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "エクステンション(&x)" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "WFNファイルを開く" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "WFNファイル(*.wfn);;全てのファイル(*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "QTAIMエクステンション" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "量子化学計算パッケージへの入力ファイルを作成" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "電子密度を計算中" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "電子密度を計算中" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "分子軌道の計算・表示" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "第%L1分子軌道" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "リセット" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "入力ファイルジェネレータ" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "すべて削除" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "選択" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "選択を反転(&I)" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " 価電子" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "選択(&S)" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "選択(&S)" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "選択" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "選択" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "空間群を検出" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "対称化" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "非対称要素に縮約" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "許容値:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "空間群(&G)" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "空間群の検出に失敗しました。\n" "\n" "許容値を変更して再試行しますか?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "空間群の検出に失敗しました。\n" "\n" "許容値を変更して再試行しますか?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "空間群の検出に失敗しました。\n" "\n" "許容値を変更して再試行しますか?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "空間群の検出に失敗しました。\n" "\n" "許容値を変更して再試行しますか?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "SCFの収束基準値" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "国際記号" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Hall記号" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "ヘルマン・モーガン記号" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "空間群の選択" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "空間群(&G)" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "振動" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "スペクトルの表示" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "フラクショナル座標を表示(&F)" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "タイプ" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "元素" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "対称性の性質..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "対称性" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "対称性の性質" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "分子の双極子モーメントを表示" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "∞" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "ファンデルワールス" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "ファンデルワールス" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "表示" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "POV-Rayを用いて表示" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "ワイヤーフレーム" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "分子をスティックで表示" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "ダイアログ" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "フォーム" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "選択設定" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "計算を中止" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "シェーダ・プログラム:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "プロセッサ数:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "終了したら隠す(&H)" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "終了したら隠す(&H)" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "元素を変更" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Dalton入力ファイル" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "Orcaインプットを生成..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Par ファイル:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "力場:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Par ファイル:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Dalton入力ファイル" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "入力を保存" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "成功しました!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "ファイルをロード" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "ファイルをロード" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "測定の設定" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "ファイル名(&F):" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "ナビゲーション" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "ナビゲーション" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "ナビゲーション" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "ファイル名:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "キャンセル" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "座標系のフォーマット" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "リセット" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "距離" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "オングストローム(&A)" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "書式:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "変更を戻す" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "適用" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "結晶をインポート" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "スーパーセル・パラメータ" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "スーパーセル・オプション" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A 繰り返し:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B 繰り返し:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C 繰り返し:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "ユニットセルの色をセット" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "セルマトリックス" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "フラクショナル座標表示のセル行列(%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "原子を並行移動" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "適用 (&A)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "隠す(&H)" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "体積を指定してユニットセルを拡大縮小" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "新しい体積を入力:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "変位の大きさ" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "テキストラベル" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "元素:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "結合次数:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS インプット" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "基本セットアップ (&B)" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "状態:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "多重度:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "モデル:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "タイトル:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "電荷:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "計算:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "ファイル名:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "すべてリセット" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "デフォルト" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "ファイルをロード..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "名前" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "書式:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "説明なし" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "分子量 (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "化学式:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "原子数:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "結合数:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "構造最適化" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "構造最適化の方法:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "力場:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "構造最適化の方法:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "最急降下法" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "共役勾配法" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "自動回転" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "ファンデルワールス, 等値面 = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "静電ポテンシャル" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "ステップ" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "勾配の収束基準:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "収束" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "時間制限:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "単位" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "結合数:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "波長 (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "選択を削除" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "臨界点半径" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "結合パス半径" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "共有結合" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "一定サイズ" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "不透明度:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "サーフェス" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "サーフェス" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "中" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "最低" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "低" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "高" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "最高" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "等値面の値 (&I):" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "解像度:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "サーフェス" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "計算" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "振動" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "振幅:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "アニメーションを開始(&A)" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "アニメーションを停止(&A)" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "分子" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "対称性" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "オプション" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "対称性の性質" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "空間群(&G)" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "許容値:" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "中" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "対称性を検出" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Andrzej MoST (Marcin Ostajewski),Geoff Hutchison, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,tomo, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison,tomo, ,Launchpad Contributions:,Avogadro Team," "Geoff Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,hide D,tomo, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Katsuhiko Nishimra,Kenichi Ito,Rubia,aoyama iwao,hide D,tomo, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Katsuhiko Nishimra," "Kenichi Ito,Rubia,aoyama iwao,hide D,tomo, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison,Katsuhiko Nishimra,Kenichi Ito,Rubia,aoyama " "iwao,hide D,tomo" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,,avogadro-devel@lists.sourceforge.net,,,,avogadro-devel@lists." "sourceforge.net,,,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-" "devel@lists.sourceforge.net,,,,,,avogadro-devel@lists.sourceforge.net,,,,,," "avogadro-devel@lists.sourceforge.net,,,,,,avogadro-devel@lists.sourceforge." "net,,,,,,avogadro-devel@lists.sourceforge.net,,,,,,avogadro-devel@lists." "sourceforge.net,,,,,,avogadro-devel@lists.sourceforge.net,,ktns.87@gmail.com," "ken.i54k@gmail.com,,iwao.aoyama@gmail.com,,,,,avogadro-devel@lists." "sourceforge.net,,ktns.87@gmail.com,ken.i54k@gmail.com,,iwao.aoyama@gmail." "com,,,,,avogadro-devel@lists.sourceforge.net,,ktns.87@gmail.com,ken." "i54k@gmail.com,,iwao.aoyama@gmail.com,," #~ msgid "Color by Index" #~ msgstr "インデックスによるカラー" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "インデックスによるカラー ( 赤, 橙, 黄, 緑, 青, 紫 )" #~ msgid "Color by Partial Charge" #~ msgstr "部分電荷によるカラー" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "原子部分電荷に基づく彩色(青:正電荷、赤:負電荷)" #~ msgid "Custom Color:" #~ msgstr "カスタムカラー:" #~ msgid "Custom Color" #~ msgstr "カスタムカラー" #~ msgid "Set custom colors for objects" #~ msgstr "オブジェクトのカスタムカラーを設定" #~ msgid "Color by Distance" #~ msgstr "距離による色付け" #~ msgid "Color by distance from the first atom." #~ msgstr "第一原子からの距離による色付け" #~ msgid "Color by Element" #~ msgstr "元素による色付け" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "元素による色付け ( 炭素 = グレー, 酸素 = 赤, ... )" #~ msgid "Color by Residue" #~ msgstr "残基による色付け" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "残基による色付け ( アミノ酸タイプ, 疎水性, ... )" #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTSパターン:" #~ msgid "Highlight Color:" #~ msgstr "強調表示色:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "SMARTSパターンによる色付け" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "SMARTSパターンに一致するものをハイライト" #~ msgid "Ununtrium" #~ msgstr "ウンウントリウム (Ununtrium)" #~ msgid "Ununpentium" #~ msgstr "ウンウンペンチウム (Ununpentium)" #~ msgid "Ununseptium" #~ msgstr "ウンウンセプチウム (Ununseptium)" #~ msgid "Ununoctium" #~ msgstr "ウンウンオクチウム (Ununoctium)" #~ msgid "Engines" #~ msgstr "エンジン" #~ msgid "Axes" #~ msgstr "軸" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "原点に x, y, z 軸を表示" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "ボール ( 原子 ) とスティック ( 結合 ) で基本要素を表示" #~ msgid "Cartoon" #~ msgstr "カートゥーン" #~ msgid "Renders protein secondary structure" #~ msgstr "タンパク質二次構造を表示" #~ msgid "Dipole" #~ msgstr "双極子" #~ msgid "Force" #~ msgstr "力" #~ msgid "Renders force displacements on atoms" #~ msgstr "原子上に力の変位を表示" #~ msgid "Hydrogen Bond" #~ msgstr "水素結合" #~ msgid "Renders hydrogen bonds" #~ msgstr "水素結合を表示" #~ msgid "Select Atom Labels Color" #~ msgstr "原子ラベルの色を選択" #~ msgid "Select Bond Labels Color" #~ msgstr "結合ラベルの色を選択" #~ msgid "Select Atom Labels Font" #~ msgstr "原子ラベルのフォントを選択" #~ msgid "Select Bond Labels Font" #~ msgstr "結合ラベルのフォントを選択" #~ msgid "Label" #~ msgstr "ラベル" #~ msgid "Polygon" #~ msgstr "ポリゴン" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "原子を四面体, 八面体, その他ポリゴンで表示" #~ msgid "Ribbon" #~ msgstr "リボン" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "タンパク質バックボーンをリボン表示" #~ msgid "Ring" #~ msgstr "リング" #~ msgid "Renders rings with colored planes" #~ msgstr "色付平面と共にリングを表示" #~ msgid "Simple Wireframe" #~ msgstr "シンプル・ワイヤフレーム" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "結合をワイヤ ( 直線 ) で表示, 巨大分子に最適" #~ msgid "Van der Waals Spheres" #~ msgstr "ファンデルワールス球" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "原子をファン・デル・ワールス球として表示" #~ msgid "Stick" #~ msgstr "スティック" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "電子密度, 等値面 = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, 等値面 = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "結合をワイヤ ( 直線 ) で表示, 巨大 ( 生体 ) 分子に最適" #~ msgid "Trajectory files" #~ msgstr "トラジェクトリファイル" #~ msgid "DL-POLY HISTORY files" #~ msgstr "DL-POLY HISTORYファイル" #~ msgid "Open Trajectory File" #~ msgstr "トラジェクトリファイルを開く" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "動画ファイル (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "拡張子 .avi を追加" #~ msgid "Animation..." #~ msgstr "アニメーション ...." #~ msgid "Cannot read file format of file %1." #~ msgstr "ファイル %1 のファイル形式を読めません" #~ msgid "Read trajectory file %1 failed." #~ msgstr "トラジェクトリファイル %1 の読み込みに失敗しました" #~ msgid "Must specify a valid .avi file name" #~ msgstr "有効な .avi ファイル名を指定してください" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "動画を保存するための、GLウィジェットが正しく初期化されませんでした" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "無効な動画ファイル名. ディレクトリの完全パスを含める必要があります" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "無効な動画ファイル名. .avi で終了するディレクトリの完全パスを含める必要が" #~ "あります" #~ msgid "Could not determine format from filename: %1" #~ msgstr "ファイル名からフォーマットを特定できません : %1" #~ msgid "Animation" #~ msgstr "アニメーション" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "トラジェクトリ, 反応, 振動をアニメーションで表示" #~ msgid "Cartesian Editor" #~ msgstr "カルテシアン座標エディタ" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "分子のユニットセルが定義されていません。 -- フラクショナル座標を使用できま" #~ "せん。" #~ msgid "Cartesian Editor..." #~ msgstr "カルテシアンエディタ..." #~ msgid "Cartesian editor" #~ msgstr "カルテシアンエディタ" #~ msgid "Number of atoms: %1" #~ msgstr "原子数 : %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "回転可能な結合数 : %1" #~ msgid "Add constraint" #~ msgstr "拘束条件を追加" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "対象とする分子の少なくとも1つの原子に1つの拘束条件を追加する必要があります" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "対象とする分子の少なくとも2つの原子に1つの結合拘束条件を追加する必要があり" #~ "ます" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "対象とする分子の少なくとも3つの原子に1つの角度拘束条件を追加する必要があり" #~ "ます" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "対象とする分子の少なくとも4つの原子に1つのねじれ角拘束条件を追加する必要が" #~ "あります" #~ msgid "&Crystallography" #~ msgstr "結晶(&C)" #~ msgid "&Reduce" #~ msgstr "リデュース(&R)" #~ msgid "&Settings" #~ msgstr "設定(&S)" #~ msgid "&Length Unit" #~ msgstr "長さの単位(&L)" #~ msgid "&Angle Unit" #~ msgstr "角度の単位(&A)" #~ msgid "&Coordinate Display" #~ msgstr "座標の表示方法(&C)" #~ msgid "Coordinate &Preservation" #~ msgstr "座標の保存方法(&P)" #~ msgid "&Matrix Display" #~ msgstr "行列の表示方法(&M)" #~ msgid "Hide &Editors" #~ msgstr "エディタを隠す(&E)" #~ msgid "Show &Editors" #~ msgstr "エディタを表示(&E)" #~ msgid "Hide &Property Display" #~ msgstr "プロパティディスプレイを隠す(&P)" #~ msgid "Show &Property Display" #~ msgstr "プロパティディスプレイを表示(&P)" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "格子タイプ: %1" #~ msgid "Spacegroup: %1" #~ msgstr "空間群: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "ユニットセル体積: %L1%2" #~ msgid "Undefined" #~ msgstr "未定義" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "三斜晶" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "単斜晶" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "斜方晶" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "正方晶" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "菱面体晶" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "六方晶" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "立方晶" #~ msgid "Paste Crystal" #~ msgstr "結晶を貼り付け" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Niggli既約化に失敗しました。入力された格子構造はNiggli既約化アルゴリズムに" #~ "適しません。少し(許容値の二つ下のオーダー程度)構造を乱して再度試してみてく" #~ "ださい。" #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "1000回計算しましたが、セルの既約化に失敗しました。停止します。" #~ msgid "&Translate Atoms..." #~ msgstr "原子を平行移動(&T)..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "標準配向へ回転(&O)" #~ msgid "&Slab..." #~ msgstr "スラブ(&S)" #~ msgid "Perceive Space&group..." #~ msgstr "空間群を検出(&G)..." #~ msgid "Set &Spacegroup..." #~ msgstr "空間群を設定(&S)" #~ msgid "&Fill Unit Cell" #~ msgstr "単位胞を構成(&F)" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "現在の空間群を元に単位胞を構成" #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "非対称要素に縮約(&A)" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "同等の位置にある原子を削除します(単位胞を構成と逆の操作)。" #~ msgid "Sy&mmetrize Crystal" #~ msgstr "結晶を対称化(&M)" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "セルを既約化(&Primitive)" #~ msgid "&Bohr" #~ msgstr "ボーア(&B)" #~ msgid "&Nanometer" #~ msgstr "ナノメートル(&N)" #~ msgid "&Picometer" #~ msgstr "ピコメートル(&P)" #~ msgid "&Degree" #~ msgstr "度(&D)" #~ msgid "&Radian" #~ msgstr "ラジアン(&R)" #~ msgid "Display &cartesian coordinates" #~ msgstr "デカルト座標を表示(&C)" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "セルの変更時にデカルト座標を保存(&C)" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "セルの変更時にフラクショナル座標を保存(&F)" #~ msgid "Display &cartesian matrix" #~ msgstr "行列をデカルト座標表示(&C)" #~ msgid "Display &fractional matrix" #~ msgstr "行列をフラクショナル座標表示(&C)" #~ msgid "Display as &row vectors" #~ msgstr "行ベクトル表示(&R)" #~ msgid "Display as &column vectors" #~ msgstr "列ベクトル表示(&C)" #~ msgid "&Crystal View Options..." #~ msgstr "結晶表示オプション(&C)..." #~ msgid "" #~ "

Perceived spacegroup %1, Hall symbol %2, Hermann-Mauguin symbol %3." #~ "

Cell can be symmetrized into a conventional setting, do you wish to " #~ "do so? Actions that make use of symmetry (e.g. supercell builder) require " #~ "this.

" #~ msgstr "" #~ "

検出された空間群 %1, Hall記法 %2, ヘルマン・モーガン記号 %3

セルは" #~ "標準的な構造に対称化できます。実行しますか?対称性を利用する操作 (例:スー" #~ "パーセルビルダ) のために必要です。

" #~ msgid "Set Spacegroup" #~ msgstr "空間群をセット" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "このドキュメントに空間群は指定されていません。\n" #~ "\n" #~ "空間群をセットしますか?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "P1空間群を検出しました。この空間群に対称化することはできません。\n" #~ "\n" #~ "許容値を変更して再試行しますか?" #~ msgid "Symmetrize Crystal" #~ msgstr "結晶を対称化" #~ msgid "Wrap Atoms To Cell" #~ msgstr "セル内に原子を折り返す" #~ msgid "Reduce to Niggli Cell" #~ msgstr "セルをNiggli既約化" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "現在のデカルト座標系単位で許容値を選択:" #~ msgid "Crystallography" #~ msgstr "結晶" #~ msgid "Construct and analyze periodic structures." #~ msgstr "周期構造を構成・解析" #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "このインプットは以下に示すサポートされている\n" #~ "フォーマットのどれにも合致しません。\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "VASPフォーマット\n" #~ msgid "Bad Compostion" #~ msgstr "不正な組成式" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "IdentityフィールドはPOSCARの6行目と同じ数だけのエントリをスペース区切りで" #~ "含まなければなりません。" #~ msgid "Cartesian Coordinates" #~ msgstr "デカルト座標" #~ msgid "Fractional Coordinates" #~ msgstr "フラクショナル座標" #~ msgid "Set Fractional Coordinates" #~ msgstr "フラクショナル座標をセット" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "セル行列(%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "ユニットセル行列をセット" #~ msgid "Set Unit Cell Params" #~ msgstr "ユニットセルのパラメータをセット" #~ msgid "Working..." #~ msgstr "処理中..." #~ msgid "Build" #~ msgstr "ビルド(&B)" #~ msgid "Cut Slab From Crystal" #~ msgstr "結晶からスラブを作成" #~ msgid "No GLWidget?" #~ msgstr "GLWidgetが見つからないようです。" #~ msgid "Please select one or more atoms." #~ msgstr "一つ以上の原子を選択してください。" #~ msgid "Trajectory..." #~ msgstr "トラジェクトリ ..." #~ msgid "Open chemical file format" #~ msgstr "化学ファイル形式を開く" #~ msgid "Chemical files (*.xyz)" #~ msgstr "化学ファイル (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "パラメータファイルを開く" #~ msgid "Chemical files (*.parm7)" #~ msgstr "化学ファイル (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "トラジェクトリのインポート" #~ msgid "Import trajectory files" #~ msgstr "トラジェクトリファイルのインポート" #~ msgid "Setup Force Field..." #~ msgstr "力場のセットアップ" #~ msgid "Calculate Energy" #~ msgstr "エネルギー計算" #~ msgid "Conformer Search..." #~ msgstr "配座探索 ..." #~ msgid "Constraints..." #~ msgstr "束縛 ..." #~ msgid "Ignore Selection" #~ msgstr "選択を無視する" #~ msgid "Fix Selected Atoms" #~ msgstr "選択した原子を固定" #~ msgid "&Molecular Mechanics" #~ msgstr "&分子力学" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "現在指定されている力場をこの分子には適用できません。UFF力場に変更します。" #~ msgid "Energy = %L1 %2" #~ msgstr "エネルギー= %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "構造最適化" #~ msgid "Forcefield Optimization" #~ msgstr "力場最適化" #~ msgid "Systematic Rotor Search" #~ msgstr "システマティック・ローター検索" #~ msgid "Random Rotor Search" #~ msgstr "ランダム・ローター検索" #~ msgid "Weighted Rotor Search" #~ msgstr "重みづけローター検索" #~ msgid "Genetic Algorithm Search" #~ msgstr "遺伝アルゴリズム探索" #~ msgid "ForceField" #~ msgstr "力場" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "分子力学の力場を用いた分子の最適化と配座発生" #~ msgid "&Vector Graphics..." #~ msgstr "ベクター画像(&V) ..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "一般的なベクタ画像フォーマット" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "ベクタ画像のエクスポート" #~ msgid "Change H to Methyl" #~ msgstr "水素原子をメチル基に変更" #~ msgid "H to Methyl" #~ msgstr "水素をメチル基に" #~ msgid "H2Methyl" #~ msgstr "水素メチル化" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "水素原子をメチル基に変える" #~ msgid "Add or remove hydrogens" #~ msgstr "水素を付加する、または取り去る" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "DNAを挿入" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "ウラシル" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "チミン" #~ msgid "Insert DNA/RNA" #~ msgstr "DNA/RNAを挿入" #~ msgid "Insert DNA/RNA chains" #~ msgstr "DNA/RNA鎖を挿入" #~ msgid "Cannot read molecular file %1." #~ msgstr "ファイル ‘%1’ を読めません。" #~ msgid "Fragment..." #~ msgstr "フラグメント..." #~ msgid "Insert SMILES" #~ msgstr "SMILESを挿入" #~ msgid "Insert SMILES fragment:" #~ msgstr "SMILIESフラグメントを挿入" #~ msgid "Insert Fragment" #~ msgstr "フラグメントを挿入" #~ msgid "Insert Crystal" #~ msgstr "結晶を挿入" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "分子のフラグメントを挿入してより大きな分子を構築" #~ msgid "Peptide..." #~ msgstr "ペプチド" #~ msgid "Insert Peptide" #~ msgstr "ペプチドを挿入する" #~ msgid "Insert oligopeptide sequences" #~ msgstr "オリゴペプチド配列を挿入する" #~ msgid "Invert Chirality" #~ msgstr "キラリティを反転" #~ msgid "InvertChiral" #~ msgstr "キラリティ反転" #~ msgid "Invert chiral centers" #~ msgstr "キラル中心を反転" #~ msgid "Molecule Properties..." #~ msgstr "分子の性質..." #~ msgid "&Properties" #~ msgstr "プロパティ(&P)" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "不明" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "双極子モーメントを推定する(D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(問い合せ中)" #~ msgid "Display standard molecular properties." #~ msgstr "一般的な分子の性質を見る" #~ msgid "Fetch from PDB..." #~ msgstr "PDBから構造を取得..." #~ msgid "Fetch by chemical name..." #~ msgstr "化学名を指定して構造を取得..." #~ msgid "Fetch from URL..." #~ msgstr "URLを指定して構造を取得..." #~ msgid "PDB Entry" #~ msgstr "PDBエントリ" #~ msgid "PDB entry to download." #~ msgstr "ダウンロードするPDBエントリ" #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "ダウンロードする分子のURL" #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "指定された分子をロードできませんでした: %1" #~ msgid "Network Fetch" #~ msgstr "ネットワークから取得" #~ msgid "Fetch molecule files over the network." #~ msgstr "ネットワークから分子ファイルを取得" #~ msgid "OrcaExtension Warning" #~ msgstr "Orca エクステンション 警告" #~ msgid "OrcaExtension" #~ msgstr "Orca エクステンション" #~ msgid " No vibration data found!" #~ msgstr " 振動解析データがありません!" #~ msgid " No vibration data found or molecule changed outside Orca Plugin!" #~ msgstr "" #~ " 振動解析データがないか、またはデータがOrca プラグイン以外で変更されまし" #~ "た!" #~ msgid "Selected displacement data don't fit to the actual molecule!" #~ msgstr "選択された変位データは分子に適合しません!" #~ msgid "extended Geometry File" #~ msgstr "拡張ジオメトリファイル" #~ msgid "All Files" #~ msgstr "全てのファイル" #~ msgid "Read Orca Outputfile" #~ msgstr "Orca アウトプットファイルを読み込む" #~ msgid "no file found" #~ msgstr "ファイルが見つかりません" #~ msgid "Somethings wrong in the file structure" #~ msgstr "ファイル構造が不正です" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "ユニットセルでファイル構造が不正です" #~ msgid "Something is wrong in the IR output! " #~ msgstr "IRアウトプットが不正です " #~ msgid "Something is wrong in the raman output! " #~ msgstr "ラマンアウトプットが不正です " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "オービタルエネルギーアウトプットが不正です " #~ msgid "No geometry found in file!" #~ msgstr "ファイルにジオメトリがありません!" #~ msgid "" #~ "Molecule of the file does not fit the actual molecule structure! \n" #~ " Would you like to override the actual molecule?" #~ msgstr "" #~ "ファイルの分子は現在の分子に適合しません!\n" #~ " 続行しますか?" #~ msgid "Could not read file!" #~ msgstr "ファイルを読み込めません!" #~ msgid "Analyse Orca Output..." #~ msgstr "Orcaアウトプットを解析..." #~ msgid "&Orca" #~ msgstr "&Orca" #~ msgid "ORCA Input Deck" #~ msgstr "ORCAインプット" #~ msgid "Show Preview" #~ msgstr "プレビューを表示" #~ msgid "Hide Preview" #~ msgstr "プレビューを隠す" #~ msgid "RijCosX option not available for the selected DFT functional!" #~ msgstr "選択されたDFT汎関数でRijCosXオプションは利用できません!" #~ msgid "" #~ "RijCosX not available for the selected DFT functional! \n" #~ "RijCosX option reset!" #~ msgstr "" #~ "択されたDFT汎関数でRijCosXオプションは利用できません!\n" #~ "RijCosXオプションをリセットします!" #~ msgid "" #~ "Unsaved changes are made in the actual preview text! \n" #~ " Generating a new preview will lose all changes! \n" #~ " Would you like to override them anyway?" #~ msgstr "" #~ "プレビューでの変更は保存されていません!\n" #~ " 新しいプレビューでは変更は失われます!\n" #~ " 続行しますか?" #~ msgid "Intensities" #~ msgstr "強度" #~ msgid " OrcaSpectra::No vibration data found!" #~ msgstr " OrcaSpectra::振動データがありません!" #~ msgid "Save POV-Ray rendered image" #~ msgstr "POV-Rayイメージを保存する" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "イメージファイル (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "ファイル名が入力されていません" #~ msgid "No valid filename was supplied." #~ msgstr "有効なファイル名が入力されていません" #~ msgid "Does not compute." #~ msgstr "計算しない" #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "POV-Ray画像を直接レンダリング・POV-Rayファイルを保存のうちどちらのオプショ" #~ "ンも選択されていません。これでは出力が保存されませんが、よろしいですか?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "ファイル %1 に書き込めません。 その場所に書き込む権限を持っていますか?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Rayのスタートに失敗しました" #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Rayのスタートに失敗しました。おそらく実行ファイルのパスが正しく設定さ" #~ "れていません。" #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "POV-Rayファイルを作り、POV-Rayコマンドラインプログラムを使ってレンダリング" #~ "します。" #~ msgid "Atom Properties..." #~ msgstr "原子のプロパティ..." #~ msgid "Bond Properties..." #~ msgstr "結合のプロパティ..." #~ msgid "Angle Properties..." #~ msgstr "角度のプロパティ..." #~ msgid "Torsion Properties..." #~ msgstr "二面角のプロパティ..." #~ msgid "Conformer Properties..." #~ msgstr "配座異性体のプロパティ..." #~ msgid "Atom Properties" #~ msgstr "原子のプロパティ" #~ msgid "Bond Properties" #~ msgstr "結合のプロパティ" #~ msgid "Angle Properties" #~ msgstr "角度のプロパティ" #~ msgid "Torsion Properties" #~ msgstr "二面角のプロパティ" #~ msgid "Conformer Properties" #~ msgstr "配座異性体のプロパティ" #~ msgid "Properties" #~ msgstr "プロパティ" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "カルテシアン座標エディタを含む、原子、結合、角度、二面角のためのウィンドウ" #~ msgid "Valence" #~ msgstr "原子価" #~ msgid "Partial Charge" #~ msgstr "部分電荷" #~ msgid "Atom" #~ msgstr "原子" #~ msgid "Start Atom" #~ msgstr "始めの原子" #~ msgid "Rotatable" #~ msgstr "回転可能" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "配座 %1\n" #~ "長さ %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "長さ %1" #~ msgid "Vertex" #~ msgstr "頂点" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "配座 %1\n" #~ "角度 %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "角度 %1" #~ msgid "Angle" #~ msgstr "角度" #~ msgid "Atom %1" #~ msgstr "原子 %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "配座 %1\n" #~ "二面角 %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "二面角 %1" #~ msgid "Torsion" #~ msgstr "二面角" #~ msgid "Energy (kJ/mol)" #~ msgstr "エネルギー (kJ/mol)" #~ msgid "Conformer" #~ msgstr "配座異性体" #~ msgid "Yes" #~ msgstr "はい" #~ msgid "No" #~ msgstr "いいえ" #~ msgid "Python Terminal" #~ msgstr "Pythonターミナル" #~ msgid "pythonTerminalDock" #~ msgstr "Pythonターミナルドック" #~ msgid "Interactive python scripting terminal" #~ msgstr "インタラクティブPythonスクリプト端末" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Abinit入力ジェネレータからの警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Abinit入力プレビューペインへの全ての変更を破棄してプレビューテキストを更新" #~ "しますか?" #~ msgid "Abinit_Input_Deck" #~ msgstr "Abinit インプット" #~ msgid "Abinit Running." #~ msgstr "Abinit実行中" #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "Abinitは既に実行中です。計算終了までお待ちください。" #~ msgid "Abinit Not Installed." #~ msgstr "Abinitがインストールされていません" #~ msgid "The abinit executable cannot be found." #~ msgstr "Abinitの実行可能ファイルが見つかりません" #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "擬ポテンシャル (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf " #~ "*.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "abinitを開始できません。正しくインストールされていますか?" #~ msgid "Running Abinit calculation..." #~ msgstr "AbInitを実行中..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "abinitを開始できませんでした。正しくインストールされていますか?" #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Dalton入力ファイルジェネレータからの警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Dalton入力ファイルプレビューペインへの変更を全て破棄してプレビューテキスト" #~ "を更新しますか?" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFPファイルを選ぶ..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QMファイルを選ぶ..." #~ msgid "Delete" #~ msgstr "削除" #~ msgid "You must make a selection!" #~ msgstr "選択してください!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES記法変換は利用できません" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES記法変換は利用できません" #~ msgid "Group Name" #~ msgstr "官能基の名前" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "GAMESSのインプットファイルを作る" #~ msgid "Advanced Settings Changed" #~ msgstr "詳細な設定が変化しています。" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "詳細な設定が変化しています。\n" #~ "破棄しますか?" #~ msgid "Advanced Settings Reset" #~ msgstr "詳細な設定をリセットする。" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "詳細な設定をリセットしますか?\n" #~ "設定内容は失われます!" #~ msgid "Basic Settings Reset" #~ msgstr "基本的な設定をリセットする。" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "基本的な設定をリセットしますか?\n" #~ "設定内容は失われます!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "GAMESS-UKインプットジェネレータからの警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "GAMESS-UKインプットプレビューペインへの変更を全て破棄してプレビューテキス" #~ "トを更新しますか?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "GAMESS-UKインプット" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussianインプットジェネレータからの警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Gaussianインプットプレビューペインへの変更を全て破棄してプレビューテキスト" #~ "を更新しますか?" #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussianインプット" #~ msgid "Gaussian Running." #~ msgstr "Gaussianが実行中です" #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "Gaussianは既に実行中です。計算が終わるまで待ってください。" #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussianがインストールされていません" #~ msgid "The G03 executable, cannot be found." #~ msgstr "G03の実行ファイルを見つけられません" #~ msgid "G03 failed to start." #~ msgstr "G03のスタートに失敗しました" #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03は実行しません。おそらく、正しくインストールされていません。" #~ msgid "Running Gaussian calculation..." #~ msgstr "Gaussian計算が実行中..." #~ msgid "G03 Crashed." #~ msgstr "G03はクラッシュしました" #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussianは適切に実行しませんでした。おそらく、適切にインストールされていま" #~ "せん。" #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "Dalton(&D)..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "Gaussian(&G)..." #~ msgid "&MOLPRO..." #~ msgstr "MOLPRO(&M)..." #~ msgid "M&OPAC..." #~ msgstr "MOPAC(&O)..." #~ msgid "&NWChem..." #~ msgstr "NSChem(&N)..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "Q-Chem*&Q)..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Lammps Input Deck Generator Warning" #~ msgstr "LAMMPSインプットジェネレータからの警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "プレビューテキストを更新しますか? Lammpsインプットプレビュー画面での変更" #~ "は失われます。" #~ msgid "Lammps Input" #~ msgstr "LAMMPS インプット" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Molproインプットジェネレータ警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "プレビューテキストを更新しますか? Molproインプットプレビュー画面での変更" #~ "は失われます。" #~ msgid "Molpro Input Deck" #~ msgstr "Molproインプット" #~ msgid "MOPAC Input Warning" #~ msgstr "MOPACインプット警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "プレビューテキストを更新しますか? MOPACインプットプレビュー画面での変更は" #~ "失われます。" #~ msgid "MOPAC Input Deck" #~ msgstr "MOPACインプット" #~ msgid "MOPAC Running." #~ msgstr "MOPAC実行中" #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPACは既に実行中です。計算が終わるまで待ってください" #~ msgid "MOPAC Not Installed." #~ msgstr "MOPACがインストールされていません" #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "MOPACの実行ファイルが見つかりませんでした" #~ msgid "MOPAC failed to start." #~ msgstr "MOPACのスタートに失敗しました" #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPACが起動しませんでした。おそらく適切にインストールされていません。" #~ msgid "Running MOPAC calculation..." #~ msgstr "MOPAC実行中" #~ msgid "MOPAC Crashed." #~ msgstr "MOPACがクラッシュしました" #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPACが適切に起動しませんでした。おそらく、適切にインストールされていませ" #~ "ん。" #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "NewChem インプットジェネレーター警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "プレビューテキストを更新しますか? NWChemインプットプレビュー画面での変更は" #~ "失われます。" #~ msgid "NWChem Input Deck" #~ msgstr "NWChem インプット" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Psi4 インプットジェネレーター警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "プレビューテキストを更新しますか? Psi4 インプットプレビュー画面での変更は" #~ "失われます。" #~ msgid "Psi4 Input Deck" #~ msgstr "Psi4 インプット" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem インプットジェネレーター警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "プレビューテキストを更新しますか? Q-Chem インプットプレビュー画面での変更" #~ "は失われます。" #~ msgid "QChem Input Deck" #~ msgstr "QChem インプット" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "TeraChem インプットジェネレーター警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "プレビューテキストを更新しますか? TeraChem インプットプレビュー画面での変" #~ "更は失われます。" #~ msgid "TeraChem Input Deck" #~ msgstr "TeraChem インプット" #~ msgid "Select SMARTS..." #~ msgstr "SMARTSによる選択..." #~ msgid "Select by Element..." #~ msgstr "元素による選択..." #~ msgid "Select by Residue..." #~ msgstr "残基による選択..." #~ msgid "Add Named Selection..." #~ msgstr "名前付き選択の追加..." #~ msgid "SMARTS Selection" #~ msgstr "SMARTSで選択" #~ msgid "SMARTS pattern to select" #~ msgstr "選択するSMARTSパターン" #~ msgid "Select by residue" #~ msgstr "残基による選択" #~ msgid "Residue name" #~ msgstr "残基名" #~ msgid "There is no current selection." #~ msgstr "何も選択されていません。" #~ msgid "Add Named Selection" #~ msgstr "名前付き選択を追加" #~ msgid "Name cannot be empty." #~ msgstr "名前は空にできません。" #~ msgid "There is already a selection with this name." #~ msgstr "すでにこの名前は使われています" #~ msgid "Selections" #~ msgstr "選択" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "原子・結合・残基を選択..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL シェーダー..." #~ msgid "Open a vertex shader source file" #~ msgstr "頂点シェーダーソースファイルを開く" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "頂点シェーダーファイル (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "フラグメントシェーダーソースファイルを開く" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "フラグメントシェーダーファイル (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "シェーダーパラメーターファイルを開く" #~ msgid "Shader parameters files (*.params)" #~ msgstr "シェーダーパラメーターファイル (*.param)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL シェーダー" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "OpenGL 2.0 GLSL シェーダーをロードして使用する" #~ msgid "Intensity (arb. units)" #~ msgstr "インテンシティー (arb. units)" #~ msgid "Energy (eV)" #~ msgstr "エネルギー (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "状態密度 (states/cell)" #~ msgid "Density of States (states/atom)" #~ msgstr "状態密度 (states/atom)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "状態密度 (states/valence electron)" #~ msgid "Transmittance (%)" #~ msgstr "トランスミッタンス (%)" #~ msgid "Absorbance (%)" #~ msgstr "アブソーバンス (%)" #~ msgid "No intensities" #~ msgstr "データがありません" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "ロードされている分子の振動データには強度データがありません。視覚化のために" #~ "は任意の値を強度データとして入力してください。" #~ msgid "Wavenumber (cm-1)" #~ msgstr "波数 (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "シフト (ppm)" #~ msgid "Activity" #~ msgstr "アクティビティ" #~ msgid "Intensity" #~ msgstr "強度" #~ msgid "X Axis" #~ msgstr "X 軸" #~ msgid "Y Axis" #~ msgstr "Y 軸" #~ msgid "&Appearance" #~ msgstr "外観(&A)" #~ msgid "E&xport Image" #~ msgstr "画像のエクスポート(&E)" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "赤外線" #~ msgid "&Infrared Spectra Settings" #~ msgstr "赤外線スペクトルの設定(&I)" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "NMRスペクトルの設定(&N)" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "状態密度の設定(&D)" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "紫外線" #~ msgid "&UV Settings" #~ msgstr "紫外線スペクトルの設定(&U)" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CDスペクトル" #~ msgid "&CD Settings" #~ msgstr "CDスペクトルの設定(&C)" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "ラマンスペクトル" #~ msgid "&Raman Settings" #~ msgstr "ラマンスペクトルの設定(&R)" #~ msgid "No data" #~ msgstr "データなし" #~ msgid "Dark" #~ msgstr "暗く" #~ msgid "Light" #~ msgstr "明るく" #~ msgid "Publication" #~ msgstr "出版用" #~ msgid "Handdrawn" #~ msgstr "手書き" #~ msgid "New Scheme" #~ msgstr "新しいスキーム" #~ msgid "Confirm Scheme Removal" #~ msgstr "確認: スキームの削除" #~ msgid "Really remove current scheme?" #~ msgstr "本当にこのスキームを削除しますか?" #~ msgid "Change Scheme Name" #~ msgstr "スキーム名を変更" #~ msgid "Enter new name for current scheme:" #~ msgstr "このスキームの新しい名前を入力:" #~ msgid "Select Background Color" #~ msgstr "背景色の選択" #~ msgid "Select Foreground Color" #~ msgstr "表示色の選択" #~ msgid "Select Calculated Spectra Color" #~ msgstr "計算したスペクトルの色を選択" #~ msgid "Select Imported Spectra Color" #~ msgstr "インポートされたスペクトルの色を選択" #~ msgid "Export Calculated Spectrum" #~ msgstr "計算したスペクトルをエクスポート" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "タブ区切りフォーマット (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "タブ区切りフォーマット" #~ msgid "Comma Separated Values" #~ msgstr "カンマ区切りフォーマット (CSV)" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "スペクトルをインポート" #~ msgid "Spectra Import" #~ msgstr "スペクトルのインポート" #~ msgid "Unknown extension: %1" #~ msgstr "不明な拡張子: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IRデータ (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole IRデータ (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Turbomole UVデータ (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Turbomole CD データ (cdspectrum)" #~ msgid "Data Format" #~ msgstr "データ形式" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "ファイル形式:" #~ msgid "Load Spectral Data" #~ msgstr "スペクトルデータを読み込み" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Turbomole CDファイルのフォーマットが不正です: %1" #~ msgid "Portable Network Graphics" #~ msgstr "PNG 画像:" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format(TIFF)" #~ msgid "Windows Bitmap" #~ msgstr "ウィンドウズビットマップ" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap (PPM)" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap (XBM)" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap (XPM)" #~ msgid "Save Spectra Image" #~ msgstr "スペクトル画像を保存" #~ msgid "Image successfully written to %1" #~ msgstr "画像を %1 に保存しました" #~ msgid "&Advanced <<" #~ msgstr "詳細設定(&A) <<" #~ msgid "&Advanced >>" #~ msgstr "詳細設定(&A) >>" #~ msgid "&Spectra..." #~ msgstr "スペクトル(&S)" #~ msgid "Spectra" #~ msgstr "スペクトル" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "量子化学計算によるスペクトルデータを可視化" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "振動解析" #~ msgid "No vibrational displacements exist." #~ msgstr "振動方向データがありません" #~ msgid "Vibration" #~ msgstr "振動" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "量子化学計算による振動モードを可視化" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "%1振動を周波数で並び換え" #~ msgid "Pause" #~ msgstr "一時停止" #~ msgid "Super Cell Builder..." #~ msgstr "スーパーセルビルダ" #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "このドキュメントは孤立系を含んでいます。ユニットセルを作成してください。" #~ msgid "Build and display crystallographic super cells" #~ msgstr "結晶のスーパーセルを作成" #~ msgid "Molecular Orbitals..." #~ msgstr "分子軌道..." #~ msgid "Orbitals" #~ msgstr "軌道" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "軌道" #~ msgid "Status" #~ msgstr "状態" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "なし" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "ファンデルワールス" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "静電ポテンシャル" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "電子密度" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "分子軌道" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "エラー - 不明な種類" #~ msgid "Create Surfaces..." #~ msgstr "サーフェスを作成..." #~ msgid "Calculating VdW Cube" #~ msgstr "ファンデアワールスCubeを計算中" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "第%L1分子軌道を計算中" #~ msgid "VdW" #~ msgstr "vdW" #~ msgid "Electron Density" #~ msgstr "電子密度" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "静電ポテンシャルサーフェスはサポートされていません。" #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "分子軌道やその他のサーフェスを計算" #~ msgid "&Nanotube Builder..." #~ msgstr "ナノチューブビルダ(&N)" #~ msgid "Nanotube Builder" #~ msgstr "ナノチューブビルダ" #~ msgid "Invalid Nanotube Specification" #~ msgstr "不正なナノチューブ構造" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "入力されたナノチューブは次の理由により作成できません。\n" #~ "\n" #~ "mまたはnのどちらかは1より大きい必要があります。" #~ msgid "Insert Nanotube" #~ msgstr "ナノチューブを挿入" #~ msgid "SWCNT Builder" #~ msgstr "SWCNTビルダ" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "単層カーボンナノチューブを構築します。" #~ msgid "Building..." #~ msgstr "構築中..." #~ msgid "Display point group symmetry." #~ msgstr "点群の対称性を表示" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "動画作成のためにGLウィジェットを初期化できませんでした" #~ msgid "GL widget has no molecule" #~ msgstr "GLウィジェットに分子がありません" #~ msgid "Building video " #~ msgstr "動画を作成中 " #~ msgid "Could not run povray." #~ msgstr "povrayを実行できませんでした" #~ msgid "Could not run mencoder." #~ msgstr "mencoderを実行できませんでした" #~ msgid "Set Aspect Ratio" #~ msgstr "アスペクト比をセット" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "現在のAvogadroの表示は%1x%2ピクセルなのでアスペクト比は%3です。\n" #~ "POV-Rayで%4x1000の画像を作成するためにはこの値を保持してください。\n" #~ "例えば1000x1000の正方形の画像を作成するためには1を入力するなど、\n" #~ "別の正の値を入力することもできます。" #~ msgid "Connect" #~ msgstr "接続" #~ msgid "Disconnect" #~ msgstr "切断" #~ msgid "&WiiTrack" #~ msgstr "&Wiiコントローラトラッキング" #~ msgid "Wii Tracking" #~ msgstr "Wiiコントローラトラッキング" #~ msgid "Track motion using Wii remotes" #~ msgstr "Wiiコントローラの動きをトラッキング" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "OpenGLコンテキストが不正です。\n" #~ "OpenGLのインストールに失敗しているか、またはOpenGLのバグです。" #~ msgid "Debug Information" #~ msgstr "デバッグ情報" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "表示サイズ: %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "モデルビュー 行1: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "モデルビュー 行2: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "モデルビュー 行3: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "モデルビュー 行4: %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "原子: %L1" #~ msgid "Bonds: %L1" #~ msgstr "結合: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: インデックス%1は範囲外です。" #~ msgid "File type '%1' is not supported for reading." #~ msgstr "'%1'形式のファイルの読み込みはサポートされていません。" #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "ファイル '%1' のファイル形式の読み込みはサポートされていません。" #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "ファイル'%2'からの分子%1の読み込みに失敗しました。" #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: インデックス%1は範囲外です。" #~ msgid "File type '%1' is not supported for writing." #~ msgstr "'%1'形式のファイルへの書き込みはサポートされていません。" #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "ファイル'%1'のファイル形式での書き込みはサポートされていません。" #~ msgid "Could not open file '%1' for writing." #~ msgstr "ファイル'%1'を書き込みモードで開けません。" #~ msgid "Could not open file '%1' for reading." #~ msgstr "ファイル'%1'を読み込みモードで開けません。" #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "ファイル'%2'中の分子%1の置き換えに失敗しました。" #~ msgid "File %1 cannot be opened for reading." #~ msgstr "ファイル %1 を読み込みモードで開けません。" #~ msgid "File %1 can not be opened for writing." #~ msgstr "ファイル %1 を書き込みモードで開けません。" #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "分子ファイルの保存に失敗しました - オリジナルファイルをリネームできませ" #~ "ん。" #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "分子ファイルの保存に失敗しました - 新しいファイルをリネームできません。" #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "分子ファイルの保存に失敗しました - 古いファイルをリネームできません。" #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "ファイル'%1'への分子の書き込みに失敗しました。OpenBabelライブラリのエラー" #~ "です。" #~ msgid "File %1 cannot be opened for writing." #~ msgstr "ファイル %1 を書き込みモードで開けません。" #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "ファイル'%1'への配座の書き込みに失敗しました。" #~ msgid "Molecule %1" #~ msgstr "分子%1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "未知の Python Engine" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: チェック中 " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - スクリプトには Engine クラスが定義されていません" #~ msgid " - no module" #~ msgstr " - モジュールなし" #~ msgid "Unknown Python Extension" #~ msgstr "未知の Python Extension" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: チェック中 " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - スクリプトには Extension クラスが定義されていません" #~ msgid "Unknown Python Tool" #~ msgstr "未知の Python Tool" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: チェック中 " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - スクリプトには Tool クラスが定義されていません" #~ msgid "Conformer %1" #~ msgstr "配座%1" #~ msgid "Tools" #~ msgstr "ツール" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "分子のアラインメント\n" #~ "\n" #~ "左クリック: \t二つまでの分子を選んでください。\n" #~ "\t最初の原子が座標の原点になります。\n" #~ "\t次の原子が選択した座標軸上にアラインメントされます。\n" #~ "右クリック: \tアラインメントをリセットします。\n" #~ "ダブルクリック: \t原子を原点に設定します。" #~ msgid "Axis:" #~ msgstr "座標軸:" #~ msgid "Align:" #~ msgstr "アラインメントの対象:" #~ msgid "Everything" #~ msgstr "全て" #~ msgid "Align" #~ msgstr "アラインメント" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "分子を座標軸に沿ってアラインメント" #~ msgid "Align Settings" #~ msgstr "アラインメントの設定" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "自動最適化ツール\n" #~ "\n" #~ "分子のない場所をクリックするとナビゲーションします。\n" #~ "左クリック: \t回転\n" #~ "中クリック: ズーム\n" #~ "右クリック: \t移動\n" #~ "ダブルクリック: \t表示をリセット\n" #~ "\n" #~ "最適化中:\n" #~ "左クリック: \t原子をドラッグして動かすことができます。" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "自動最適化: 力場を設定できませんでした..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "自動最適化: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "拘束条件の数: %1" #~ msgid "Steps per Update:" #~ msgstr "更新ごとのステップ数:" #~ msgid "Algorithm:" #~ msgstr "アルゴリズム:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "分子動力学法 (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "分子動力学法 (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "分子動力学法 (900K)" #~ msgid "Start" #~ msgstr "スタート" #~ msgid "Fixed atoms are movable" #~ msgstr "固定された原子を移動可能にする" #~ msgid "Ignored atoms are movable" #~ msgstr "無視された原子を移動可能にする" #~ msgid "AutoOpt Molecule" #~ msgstr "分子を自動最適化" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "分子構造を自動的に最適化" #~ msgid "AutoOptimization Settings" #~ msgstr "自動最適化の設定" #~ msgid "Auto Rotation Tool" #~ msgstr "自動回転ツール" #~ msgid "x rotation:" #~ msgstr "x 回転:" #~ msgid "x rotation" #~ msgstr "x 回転" #~ msgid "y rotation:" #~ msgstr "y 回転:" #~ msgid "y rotation" #~ msgstr "y 回転" #~ msgid "z rotation:" #~ msgstr "z 回転:" #~ msgid "z rotation" #~ msgstr "z 回転" #~ msgid "Automatic rotation of molecules" #~ msgstr "分子を自動で回転" #~ msgid "AutoRotate Settings" #~ msgstr "自動回転の設定" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "結合中心操作ツール\n" #~ "\n" #~ "左クリック: \tドラッグして表示領域を移動\n" #~ "中クリック: ドラッグしてズームイン・ズームアウト\n" #~ "右クリック: \t表示をリセット\n" #~ "\n" #~ "結合を左クリック&ドラッグで操作平面を選択:\n" #~ "原子を左クリック&ドラッグで結合角を変更\n" #~ "原子を右クリック&ドラッグで結合長を変更" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "結合長: %L1" #~ msgid " Show Angles" #~ msgstr " 結合角を表示する" #~ msgid "Snap-to Threshold: " #~ msgstr "吸着のしきい値: " #~ msgid "Bond Centric Manipulate" #~ msgstr "結合中心操作" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "結合長・結合角・二面角を操作" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "結合中心操作の設定" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "クリックして測定(F12)\n" #~ "\n" #~ "左クリック: \t三つまでの原子を選択できます。\n" #~ "\t1-2および2-3の距離を測定します。\n" #~ "\t2から見た1と3の間の角度を測定します。\n" #~ "右クリック: \t測定をリセットします。ダブルクリック: \t表示をリセットしま" #~ "す。" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "距離(2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "角度: %L1" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "距離(3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "二面角: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "距離" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "結合長・結合角・二面角の測定" #~ msgid "Delete Atom" #~ msgstr "原子を削除" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "作成ツール(F8)\n" #~ "\n" #~ "左クリック: \tクリック&ドラッグで原子・結合を作成\n" #~ "右クリック: \t原子を削除" #~ msgid "Draw Bond" #~ msgstr "結合を作成" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "原子・結合を作成・変更" #~ msgid "Draw Settings" #~ msgstr "作成の設定" #~ msgid "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "操作ツール(F10)\n" #~ "\n" #~ "左クリック: \tクリック&ドラッグで原子を移動\n" #~ "中クリック: クリック&ドラッグで原子を視線方向に移動\n" #~ "右クリック: \tクリック&ドラッグで原子を回転\n" #~ "ダブルクリック: \t表示をリセット" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "原子及びフラグメントの移動・回転・調整" #~ msgid "Manipulate Settings" #~ msgstr "操作の設定" #~ msgid "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "ナビゲーションツール(F9)\n" #~ "\n" #~ "左クリック: \tクリック&ドラッグで表示領域を回転\n" #~ "中クリック: クリック&ドラッグでズームイン・ズームアウト\n" #~ "右クリック: \tクリック&ドラッグで表示領域を移動\n" #~ "ダブルクリック: \t表示をリセット" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "表示領域を移動・回転・拡大縮小" #~ msgid "Navigate Settings" #~ msgstr "ナビゲーションの設定" #~ msgid "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgstr "" #~ "設定ツール(F11)\n" #~ "\n" #~ "左クリック: \tクリックして原子・残基・フラグメントを選択\n" #~ "\tドラッグして領域を指定して原子を選択\n" #~ "右クリック: \t分子のない場所をクリックして選択をリセット\n" #~ "Ctrlキー・Shiftキーで原子を追加選択\n" #~ "ダブルクリック: \tフラグメント全体を選択" #~ msgid "Selection Mode:" #~ msgstr "選択モード:" #~ msgid "Atom/Bond" #~ msgstr "原子/結合" #~ msgid "Residue" #~ msgstr "残基" #~ msgid "Add Center of Atoms" #~ msgstr "原子の中心を追加" #~ msgid "Add Center of Mass" #~ msgstr "重心を追加" #~ msgid "Change color of the atom" #~ msgstr "原子のカラーを変更" #~ msgid "Change label of the atom" #~ msgstr "原子のラベルを変更" #~ msgid "New Label:" #~ msgstr "新しいラベル:" #~ msgid "Change label of the bond" #~ msgstr "結合のラベルを変更" #~ msgid "Change radius of the atom" #~ msgstr "原子半径を変更" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "新しい半径 %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "原子・残基・分子を選択" #~ msgid "Symbol" #~ msgstr "元素記号" #~ msgid "Bond Length" #~ msgstr "結合長" #~ msgid "Bond Angle" #~ msgstr "結合角" #~ msgid "Dihedral Angle" #~ msgstr "二面角" #~ msgid "Z Matrix Editor..." #~ msgstr "Z マトリックスエディター..." #~ msgid "Z-Matrix" #~ msgstr "Z マトリックス" #~ msgid "Create/edit a z-matrix" #~ msgstr "Z マトリックスを作成/編集" #~ msgid "Z-Matrix Settings" #~ msgstr "Z マトリックス設定" #~ msgid "Residue Color Settings" #~ msgstr "残基色の設定" #~ msgid "Color residues by:" #~ msgstr "残基の色:" #~ msgid "Amino Colors" #~ msgstr "アミノカラー" #~ msgid "Shapely Colors" #~ msgstr "シェープリーカラー" #~ msgid "Hydrophobicity" #~ msgstr "疎水度" #~ msgid "Axes:" #~ msgstr "座標軸" #~ msgid "Cartesian Axes" #~ msgstr "デカルト座標軸" #~ msgid "Orthogonal Axes" #~ msgstr "直交座標軸" #~ msgid "Axis 1:" #~ msgstr "軸 1:" #~ msgid "Axis 2:" #~ msgstr "軸 2:" #~ msgid "Axis 3:" #~ msgstr "軸 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "原点:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "ノルム" #~ msgid "Preserve vector norms" #~ msgstr "ベクトルのノルムを保存" #~ msgid "Atom Radius:" #~ msgstr "原子半径:" #~ msgid "Bond Radius:" #~ msgstr "結合半径:" #~ msgid "Shape" #~ msgstr "形状" #~ msgid "Helix" #~ msgstr "ヘリックス" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "シート" #~ msgid "Loop" #~ msgstr "ループ" #~ msgid "Colors" #~ msgstr "カラー" #~ msgid "Dipole:" #~ msgstr "双極子" #~ msgid "Dipole Moment" #~ msgstr "双極子モーメント" #~ msgid "Custom Vector" #~ msgstr "カスタムベクトル" #~ msgid "Custom:" #~ msgstr "カスタム" #~ msgid "Width:" #~ msgstr "幅" #~ msgid "Cut-off radius:" #~ msgstr "カットオフ半径:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "カットオフ角度:" #~ msgid "Rendering Engine:" #~ msgstr "レンダリングエンジン:" #~ msgid "TextRenderer" #~ msgstr "テキストレンダラ" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "原子のラベル" #~ msgid "Text:" #~ msgstr "テキスト:" #~ msgid "Color:" #~ msgstr "色:" #~ msgid "None" #~ msgstr "なし" #~ msgid "Symbol & Number in Group" #~ msgstr "元素記号及び同じ元素の中での通し番号" #~ msgid "Symbol & Atom number" #~ msgstr "元素記号及び原子の通し番号" #~ msgid "Formal charge" #~ msgstr "形式電荷" #~ msgid "Partial charge" #~ msgstr "部分電荷" #~ msgid "Residue number" #~ msgstr "残基番号" #~ msgid "Unique ID" #~ msgstr "ユニークID" #~ msgid "Custom data" #~ msgstr "カスタムデータ" #~ msgid "Change Font" #~ msgstr "フォントを変更" #~ msgid "x : " #~ msgstr "x " #~ msgid "y : " #~ msgstr "y " #~ msgid "z : " #~ msgstr "z " #~ msgid "Label Shift:" #~ msgstr "ラベルのオフセット:" #~ msgid "Bond Labels" #~ msgstr "結合のラベル" #~ msgid "Bond length" #~ msgstr "結合距離" #~ msgid "Bond number" #~ msgstr "結合の通し番号" #~ msgid "Bond order" #~ msgstr "結合次数" #~ msgid "Rendering:" #~ msgstr "表示" #~ msgid "Backbone" #~ msgstr "バックボーン" #~ msgid "Lines" #~ msgstr "ライン" #~ msgid "Radius:" #~ msgstr "半径:" #~ msgid "Include Nitrogens" #~ msgstr "窒素を含める" #~ msgid "VdW Opacity:" #~ msgstr "VdW 不透明度:" #~ msgid "Orbital:" #~ msgstr "オービタル" #~ msgid "Render:" #~ msgstr "表示" #~ msgid "Fill" #~ msgstr "塗りつぶし" #~ msgid "Points" #~ msgstr "点" #~ msgid "Draw Box:" #~ msgstr "ボックスを描画:" #~ msgid "Style:" #~ msgstr "スタイル:" #~ msgid "Selected Colors" #~ msgstr "選択されたカラー" #~ msgid "Mapped Colors" #~ msgstr "マップされたカラー" #~ msgid "Colors:" #~ msgstr "カラー" #~ msgid "Positive" #~ msgstr "正" #~ msgid "Negative" #~ msgstr "負" #~ msgid "Show Atoms" #~ msgstr "原子を表示" #~ msgid "Animate Trajectory" #~ msgstr "トラジェクトリをアニメーションで表示" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "ループ" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr ".avi で保存..." #~ msgid "Angstroms" #~ msgstr "オングストローム" #~ msgid "Bohrs" #~ msgstr "ボーア" #~ msgid "Fractional" #~ msgstr "フラクショナル" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ (座標のみ)" #~ msgid "GAMESS Input #2" #~ msgstr "GAMESS インプット #2" #~ msgid "Priroda Input" #~ msgstr "Priroda インプット" #~ msgid "Apply Changes" #~ msgstr "変更を適用" #~ msgid "Cut All" #~ msgstr "すべてをカット" #~ msgid "Paste to the End" #~ msgstr "行末へペースト" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ " \n" #~ "

原子座標をここにペースト" #~ "するkここで編集してください。座標を含むほぼどんなテキストもペーストできま" #~ "す。

" #~ msgid "(None)" #~ msgstr "(なし)" #~ msgid "Sort by " #~ msgstr "ソート " #~ msgid "Conformer Search" #~ msgstr "配座異性体検索" #~ msgid "Method" #~ msgstr "方法" #~ msgid "Number of atoms:" #~ msgstr "原子数:" #~ msgid "Number of rotatable bonds:" #~ msgstr "回転できる結合数:" #~ msgid "Number of conformers" #~ msgstr "配座数" #~ msgid "Systematic rotor search" #~ msgstr "体系的回転異性体検索" #~ msgid "Random rotor search" #~ msgstr "乱数的回転異性体検索" #~ msgid "Weighted rotor search" #~ msgstr "重みづけ回転異性体検索" #~ msgid "Genetic algorithm search" #~ msgstr "遺伝的回転異性体検索" #~ msgid "Genetic Algorithm Options" #~ msgstr "遺伝的アルゴリズムオプション" #~ msgid "Children" #~ msgstr "子供" #~ msgid "Mutability" #~ msgstr "突然変異性" #~ msgid "Scoring method" #~ msgstr "スコアリング法" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "エネルギー" #~ msgid "Constraints" #~ msgstr "拘束" #~ msgid "Add Constraints" #~ msgstr "拘束を追加" #~ msgid "Ignore Atom" #~ msgstr "原子を無視" #~ msgid "Fix Atom" #~ msgstr "原子を固定" #~ msgid "Fix Atom X" #~ msgstr "原子のX座標を固定" #~ msgid "Fix Atom Y" #~ msgstr "原子のY座標を固定" #~ msgid "Fix Atom Z" #~ msgstr "原子のZ座標を固定" #~ msgid "Torsion angle" #~ msgstr "ねじれ角" #~ msgid "Constraint Value" #~ msgstr "拘束値" #~ msgid "Atom Indices" #~ msgstr "原子のインデックス" #~ msgid "Add" #~ msgstr "追加" #~ msgid "Save" #~ msgstr "保存" #~ msgid "Load" #~ msgstr "ロード" #~ msgid "Atomic &identites:" #~ msgstr "原子識別子(&i):" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ " \n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgid "&Reset" #~ msgstr "リセット (&R)" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ " \n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgid "Cell Parameters" #~ msgstr "セルパラメーター" #~ msgid " °" #~ msgstr " °" #~ msgid "Surface Slab Builder" #~ msgstr "表面スラブビルダー" #~ msgid "Plane:" #~ msgstr "格子面:" #~ msgid "&Miller Indices:" #~ msgstr "ミラー指数 (&M):" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "警告: 0以外のミラー指数をお使いください。" #~ msgid "Dimensions:" #~ msgstr "エクステンション" #~ msgid "Width (x)" #~ msgstr "幅(&W):" #~ msgid "Width (y)" #~ msgstr "幅(&W):" #~ msgid "Height (z)" #~ msgstr "高さ(&H)" #~ msgid "length" #~ msgstr "長さ %1" #~ msgid "cell repeats" #~ msgstr "セル繰り返し" #~ msgid "&Translate " #~ msgstr "平行移動 (&T) " #~ msgid "by arbitrary vector" #~ msgstr "任意のベクトルで" #~ msgid "selected atom to origin" #~ msgstr "選択原子を原点に" #~ msgid "selected atom to unit cell center" #~ msgstr "選択原子をユニットセルの原点に" #~ msgid "Translation vector:" #~ msgstr "平行移動ベクトル" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "エネルギー単位:" #~ msgid "Cartesian" #~ msgstr "デカルト座標" #~ msgid "&Translate" #~ msgstr "平行移動 (&T)" #~ msgid "&Keep atoms in unit cell" #~ msgstr "ユニットセル内の原子を保持 (&K)" #~ msgid "Crystal View Options" #~ msgstr "結晶ビューオプション" #~ msgid "Unit Cell Repeats:" #~ msgstr "ユニットセル繰り返し" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "ユニットセルを表示" #~ msgid "One" #~ msgstr "1つ" #~ msgid "All" #~ msgstr "すべて" #~ msgid "Color..." #~ msgstr "色を設定..." #~ msgid "View Along:" #~ msgstr "表示" #~ msgid "Default View" #~ msgstr "デフォルトの表示" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "ミラー指数" #~ msgid "File Import..." #~ msgstr "ファイルをインポート..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "結合の検出を試みる" #~ msgid "Setup Force Field" #~ msgstr "力場をセットアップ" #~ msgid "Force Field" #~ msgstr "力場" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "ステップ数" #~ msgid "Algorithm" #~ msgstr "アルゴリズム" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "核酸を挿入" #~ msgid "DNA/RNA Builder" #~ msgstr "DNA/RNA ビルダー" #~ msgid "DNA" #~ msgstr "DNA" #~ msgid "RNA" #~ msgstr "RNA" #~ msgid "Nucleic Acids:" #~ msgstr "核酸:" #~ msgid "Adenine" #~ msgstr "アデニン" #~ msgid "Cytosine" #~ msgstr "シトシン" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "グアニン" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "配列" #~ msgid "the number of base pairs per helix turn" #~ msgstr "1ヘリックスターンの塩基ペア数" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "その他" #~ msgid "Bases Per Turn:" #~ msgstr "1ターンの塩基数" #~ msgid "Strands:" #~ msgstr "ストランド:" #~ msgid "Insert" #~ msgstr "挿入(&I)" #~ msgid "Insert Fragment..." #~ msgstr "フラグメントを挿入..." #~ msgid "Filter:" #~ msgstr "フィルター:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "ファイル名 (またはその一部) を入力 (マッチするファイルのみ表示)" #~ msgid "Peptide Builder" #~ msgstr "ペプチドビルダー" #~ msgid "Alanine" #~ msgstr "アラニン" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "アルギニン" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "アスパラギン" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "アスパラギン酸" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "システイン" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "グルタミン酸" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "グルタミン" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "グリシン" #~ msgid "Gly" #~ msgstr "Gky" #~ msgid "Histidine" #~ msgstr "ヒスチジン" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "イソロイシン" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "バリン" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "チロシン" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "トリプトファン" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "トレオニン" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "セリン" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "プロリン" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "フェニルアラニン" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "メチオニン" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "リシン" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "ロイシン" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "アミノ酸" #~ msgid "Sequence (N to C):" #~ msgstr "配列 (N→C)" #~ msgid "Stereochemistry:" #~ msgstr "立体化学" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N 末端:" #~ msgid "C Terminus:" #~ msgstr "C 末端:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Structure:" #~ msgstr "構造:" #~ msgid "Straight Chain" #~ msgstr "直鎖" #~ msgid "Alpha Helix" #~ msgstr "αヘリックス" #~ msgid "Beta Sheet" #~ msgstr "βシート" #~ msgid "3-10 Helix" #~ msgstr "3_10 ヘリックス" #~ msgid "Pi Helix" #~ msgstr "π ヘリックス" #~ msgid "Phi:" #~ msgstr "φ:" #~ msgid "Psi:" #~ msgstr "ψ:" #~ msgid "Chain Number:" #~ msgstr "鎖数:" #~ msgid "The chain number for the new peptide" #~ msgstr "新規のペプチドの鎖数" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "分子の性質" #~ msgid "Number of Residues:" #~ msgstr "残基の数:" #~ msgid "Energy (kJ/mol):" #~ msgstr "エネルギー (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "双極子モーメント (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "IUPAC 分子名:" #~ msgid "Frames" #~ msgstr "コマ数" #~ msgid "Plot Spectra" #~ msgstr "スペクトルをプロット" #~ msgid "Fragments" #~ msgstr "フラグメント" #~ msgid "select Fragment" #~ msgstr "フラグメントを選択" #~ msgid "Basic" #~ msgstr "基本設定" #~ msgid "Comment" #~ msgstr "コメント" #~ msgid "Frequency" #~ msgstr "振動解析" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Basis set" #~ msgstr "基底" #~ msgid "Format" #~ msgstr "フォーマット" #~ msgid "z-Matrix" #~ msgstr "zマトリックス" #~ msgid "z-Matrix compact" #~ msgstr "zマトリックス(コンパクト)" #~ msgid "Advanced" #~ msgstr "詳細" #~ msgid "Basis Set" #~ msgstr "基底" #~ msgid "Control" #~ msgstr "コントロール" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "RijCosX" #~ msgstr "RijCosX" #~ msgid "Data" #~ msgstr "データ" #~ msgid "ECP" #~ msgstr "ECP" #~ msgid "Aux. Basis Set" #~ msgstr "補助基底" #~ msgid "Aux. ECP" #~ msgstr "補助ECP" #~ msgid "Relativistic" #~ msgstr "相対論的" #~ msgid "ZORA" #~ msgstr "ZORA" #~ msgid "IORA" #~ msgstr "IORA" #~ msgid "DKH" #~ msgstr "DKH" #~ msgid "Order" #~ msgstr "オーダー" #~ msgid "Corr. Aux. Basis Set" #~ msgstr "相関補正基底" #~ msgid "Corr. ECP" #~ msgstr "相関ECP" #~ msgid "Run type" #~ msgstr "計算" #~ msgid "Add. Print Options" #~ msgstr "追加のプリントオプション" #~ msgid "MOs" #~ msgstr "MO" #~ msgid "Basis Sets" #~ msgstr "基底" #~ msgid "Printlevel" #~ msgstr "プリントレベル" #~ msgid "Nothing" #~ msgstr "なし" #~ msgid "Mini" #~ msgstr "小" #~ msgid "Small" #~ msgstr "やや小" #~ msgid "Large" #~ msgstr "大" #~ msgid "Damping" #~ msgstr "ダンプ" #~ msgid "Factor" #~ msgstr "ファクター" #~ msgid "" #~ "

select only if no defaults are wanted

" #~ msgstr "" #~ "

" #~ "デフォルト値を使用しない場合選択してください

" #~ msgid "Accuracy" #~ msgstr "精度" #~ msgid "Tight SCF" #~ msgstr "高精度なSCF" #~ msgid "Very Tight SCF" #~ msgstr "非常に高精度なSCF" #~ msgid "Extreme SCF" #~ msgstr "最高精度SCF" #~ msgid "Convergers" #~ msgstr "最適化法" #~ msgid "DIIS" #~ msgstr "DIIS" #~ msgid "KDIIS" #~ msgstr "KDIIS" #~ msgid "Levelshift " #~ msgstr "レベルシフト " #~ msgid "Levelshift" #~ msgstr "レベルシフト" #~ msgid "2nd Order" #~ msgstr "2次計算" #~ msgid "SOSCF" #~ msgstr "SOSCF" #~ msgid "NRSCF" #~ msgstr "NRSCF" #~ msgid "AHSCF" #~ msgstr "AHSCF" #~ msgid "max. SCF iterations" #~ msgstr "SCF最大反復" #~ msgid "SCF Type" #~ msgstr "SCFタイプ" #~ msgid "restricted" #~ msgstr "制限" #~ msgid "unrestricted" #~ msgstr "非制限" #~ msgid "restricted open-shell" #~ msgstr "制限開殻" #~ msgid "DFT Functional" #~ msgstr "DFT汎関数" #~ msgid "Grid" #~ msgstr "グリッド" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray エクスポート" #~ msgid "Select..." #~ msgstr "選択..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "全シーンにアンチエイリアス" #~ msgid "Antialias" #~ msgstr "アンチエイリアス" #~ msgid "Set the background color to be transparent" #~ msgstr "背景色を透明にセット" #~ msgid "Alpha transparency" #~ msgstr "アルファ透明度" #~ msgid "Command:" #~ msgstr "コマンド:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "POV-Rayのコマンドラインを直接用いて分子を表示" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "表示完了後にPOV-Rayソースを保持" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "表示後にPOV-Rayソースを保持" #~ msgid "Path:" #~ msgstr "パス:" #~ msgid "Abinit Input" #~ msgstr "Abinit インプット" #~ msgid "k-points:" #~ msgstr "k-点:" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "デカルト座標(オングストローム)" #~ msgid "Reduced" #~ msgstr "既約座標" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "平面波基底のカットオフ(Ha)" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "力の許容値(Ha/bohr)" #~ msgid "Max lattice expansion:" #~ msgstr "最大格子展開:" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "k点シフト" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "バンド数" #~ msgid "# k-point shifts:" #~ msgstr "k点シフト数:" #~ msgid "Double grid PW cutoff (Ha):" #~ msgstr "ダブルグリッド PW カットオフ (Ha):" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "占有方法:" #~ msgid "SCF tolerance type:" #~ msgstr "SCFの収束判定法" #~ msgid "Total Energy" #~ msgstr "全エネルギー" #~ msgid "Wave Function norm" #~ msgstr "波動関数のノルム" #~ msgid "Total Potential" #~ msgstr "全ポテンシャル" #~ msgid "Maximum Force" #~ msgstr "力の最大値" #~ msgid "Relative Force" #~ msgstr "力の変化率" #~ msgid "1 - semiconducting" #~ msgstr "1 - 半導体" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - フェルミ・ディラック分布" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 - Cold Smearing (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "Gaussianが実行中です" #~ msgid "Smearing width (Ha):" #~ msgstr "Smearing幅(Ha)" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "構造最適化" #~ msgid "0 - no moving ions " #~ msgstr "0 - イオンを動かさない " #~ msgid "1 - viscous damping" #~ msgstr "1 - 粘性減衰" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS法 " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS法(エネルギー使用)" #~ msgid "# Geometrical time steps:" #~ msgstr "構造最適化のステップ数:" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "運動エネルギースムージング (Ha):" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "フォームを使用" #~ msgid "Compute..." #~ msgstr "計算..." #~ msgid "Dalton Input" #~ msgstr "Dalton インプット" #~ msgid "Basics" #~ msgstr "基本" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "入力ファイルのタイトル行に入力した文を注釈のために追加" #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "基底:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Pople 方式" #~ msgid "Jensen's polarization consistent" #~ msgstr "Jensen の polarization consistent" #~ msgid "Dunning's correlation consistent" #~ msgstr "Dunning の correlation consistent" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "内殻相関関数" #~ msgid "Diffuse functions" #~ msgstr "Diffuse 関数" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "分極関数" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G*" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "直接計算" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "可能であれば並列計算で実行(SCF波動関数計算・DFT計算でのみ有効)\n" #~ "Daltonは現在のリリースではMPIのみサポートしています\n" #~ "(正しいコンパイルとインストールが必要です)\n" #~ "ノード数はdaltonスクリプト実行中に\"-N #\"オプションで指定します。" #~ msgid "Parallel" #~ msgstr "並列計算" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "汎関数:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "電子密度:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "電荷の積算:" #~ msgid "Grid Specification" #~ msgstr "グリッドの指定" #~ msgid "Partitioning Scheme:" #~ msgstr "分配スキーム" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (オリジナル)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "グリッドの品質:" #~ msgid "coarse" #~ msgstr "粗く" #~ msgid "normal" #~ msgstr "標準" #~ msgid "fine" #~ msgstr "細かく" #~ msgid "ultrafine" #~ msgstr "非常に細かく" #~ msgid "Radial Scheme:" #~ msgstr "動径スキーム" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "すべての汎関数を表示" #~ msgid "Property:" #~ msgstr "プロパティ:" #~ msgid "Polarizability" #~ msgstr "分極率" #~ msgid "Excitation Energy" #~ msgstr "励起エネルギー" #~ msgid "Frequency Dependent" #~ msgstr "振動数に依存" #~ msgid "No. excitations:" #~ msgstr "励起なし:" #~ msgid "Group Label:" #~ msgstr "グループラベル:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "詳細セットアップ (&A)" #~ msgid "Hessian" #~ msgstr "ヘシアン" #~ msgid "Stat Point" #~ msgstr "停留点" #~ msgid "System" #~ msgstr "システム" #~ msgid "MO Guess" #~ msgstr "MO 推測" #~ msgid "Misc" #~ msgstr "その他" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "重原子Dタイプ分極関数の数:" #~ msgid "Read" #~ msgstr "読み込み" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "重原子のS殻を diffuse" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "重原子のL殻を diffuse" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Double Zeta Valence" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Triple Zeta Valence" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA Valence" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt Valence" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP タイプ" #~ msgid "Default" #~ msgstr "デフォルト" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "重原子Fタイプ分極関数の数:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "軽原子分極関数の数:" #~ msgid "Polar:" #~ msgstr "極性:" #~ msgid "Max SCF Iterations:" #~ msgstr "SCF 最大反復数:" #~ msgid "Gradient" #~ msgstr "勾配" #~ msgid "Optimization" #~ msgstr "構造最適化" #~ msgid "Trudge" #~ msgstr "非勾配最適化 (Trunge)" #~ msgid "Saddle Point" #~ msgstr "鞍点" #~ msgid "IRC" #~ msgstr "固有反応座標 (IRC)" #~ msgid "Gradient Extremal" #~ msgstr "グラジエントエクストレマルパス" #~ msgid "DRC" #~ msgstr "動的反応座標 (DRC)" #~ msgid "Energy Surface" #~ msgstr "エネルギー面" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "光遷移モーメント" #~ msgid "Spin Orbit" #~ msgstr "スピン軌道結合" #~ msgid "Finite Electric Field" #~ msgstr "有限電場" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "グローバル最適化" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO 最適化" #~ msgid "Raman Intensities" #~ msgstr "ラマン強度" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "EFPを作成" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "なし (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF タイプ:" #~ msgid "Localization Method:" #~ msgstr "局在化法:" #~ msgid "Exec Type:" #~ msgstr "実行タイプ:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinant" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Occupation Restricted Multiple Active Space" #~ msgid "CI Singles" #~ msgstr "CI Singles" #~ msgid "Full Second Order CI" #~ msgstr "完全二次CI" #~ msgid "General CI" #~ msgstr "一般的 CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearized CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC with Doubles" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC with Singles and Doubles" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "通常の計算" #~ msgid "Check" #~ msgstr "チェック" #~ msgid "Debug" #~ msgstr "デバッグ" #~ msgid "Molecule Charge:" #~ msgstr "分子の電荷:" #~ msgid "Run Type:" #~ msgstr "計算タイプ:" #~ msgid "Use MP2" #~ msgstr "MP2を使用" #~ msgid "Use DFT" #~ msgstr "DFTを使用" #~ msgid "# of Z-Matrix Variables" #~ msgstr "Z-マトリックス変数の数" #~ msgid "Ǻngstrom" #~ msgstr "オングストローム" #~ msgid "Order of Principal Axis:" #~ msgstr "主軸の位数:" #~ msgid "Coordinate Type:" #~ msgstr "座標タイプ:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "一意なデカルト座標" #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrant internals" #~ msgid "MOPAC Z-Matrix" #~ msgstr "MOPACのZ-マトリックス" #~ msgid "Use Symmetry During Calculation" #~ msgstr "計算を行う際に対称性を利用する" #~ msgid "Units:" #~ msgstr "単位:" #~ msgid "Point Group:" #~ msgstr "点群:" #~ msgid "Minutes" #~ msgstr "分" #~ msgid "Hours" #~ msgstr "時間" #~ msgid "Days" #~ msgstr "日" #~ msgid "Weeks" #~ msgstr "週" #~ msgid "Years" #~ msgstr "年" #~ msgid "Millenia" #~ msgstr "千年" #~ msgid "MegaWords" #~ msgstr "メガワード" #~ msgid "MegaBytes" #~ msgstr "メガバイト" #~ msgid "GigaWords" #~ msgstr "ギガワード" #~ msgid "GigaBytes" #~ msgstr "ギガバイト" #~ msgid "Force Parallel Methods" #~ msgstr "必ず並列法を実施" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "中止時にコアファイルを生成" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "ヤコビ" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "メモリ:" #~ msgid "Diagonalization Method:" #~ msgstr "対角化の手法:" #~ msgid "Parallel Load Balance Type" #~ msgstr "並列負荷分散タイプ" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "ループ" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "次回の値" #~ msgid "Use External Data Representation for Messages" #~ msgstr "メッセージに外部データ表現を使用" #~ msgid "Initial Guess:" #~ msgstr "初期推定:" #~ msgid "Hückel" #~ msgstr "ヒュッケル" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO Read ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO Saved (DICTNRY)" #~ msgid "Skip" #~ msgstr "スキップ" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "αおよびβ軌道を回転させる" #~ msgid "Print the Initial Guess" #~ msgstr "初期推定を印刷する" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "他のコードとの GAMESS インターフェース" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "必ず CHECK ランを実行" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK 版)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "水で溶媒和する" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "UHF自然軌道を生成する" #~ msgid "Direct SCF" #~ msgstr "ダイレクトSCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Fock 行列の変更のみを計算" #~ msgid "Slater exchange" #~ msgstr "Slater交換汎関数" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 交換汎関数" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) 相関汎関数" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr 相関汎関数" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater exchange + VWN 相関汎関数" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE exchange + VWN5 相関汎関数" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE exchange + LYP相関汎関数" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 交換汎関数" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) 交換汎関数" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: 1パラメータプログレッシブ相関" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) 相関汎関数" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP 相関汎関数" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE exchange + OP 相関汎関数" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL exchange + VWN5 相関汎関数" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL exchange + LYP 相関汎関数" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE 交換 + VWN6 相関汎関数" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE 交換 +LYP 相関汎関数" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE 交換 + OP 相関汎関数" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF and BECKE 交換 + LYP 相関汎関数" #~ msgid "Grid-Free" #~ msgstr "Grid-Free" #~ msgid "DFT Functional:" #~ msgstr "DFT 汎関数" #~ msgid "Method:" #~ msgstr "方法:" #~ msgid "AO Integral Storage" #~ msgstr "AO積分の保管場所" #~ msgid "Duplicated on Each Node" #~ msgstr "各ノードで複製" #~ msgid "Distributed Across All Nodes" #~ msgstr "すべてのノードに分散させる" #~ msgid "words" #~ msgstr "words" #~ msgid "Compute MP2 Properties" #~ msgstr "MP2特性を計算する" #~ msgid "Integral Retention Cutoff:" #~ msgstr "積分保持カットオフ値:" #~ msgid "Use Localized Orbitals" #~ msgstr "局在化軌道を使用する" #~ msgid "# of Core Electrons:" #~ msgstr "コア電子の数" #~ msgid "Transformation Method" #~ msgstr "変換法" #~ msgid "Two Phase Bin Sort" #~ msgstr "2相2分木ソート" #~ msgid "Segmented Transformation" #~ msgstr "分割変換" #~ msgid "Analytic" #~ msgstr "解析的" #~ msgid "Numeric" #~ msgstr "数値" #~ msgid "Double Differenced Hessian" #~ msgstr "二次微分ヘシアン行列" #~ msgid "Print Internal Force Constants" #~ msgstr "内部座標による力の定数を印刷する" #~ msgid "Displacement Size:" #~ msgstr "変位の大きさ:" #~ msgid "Purify Hessian" #~ msgstr "ヘシアンをクリーンアップ" #~ msgid "Frequency Scale Factor:" #~ msgstr "振動数のスケーリング因子:" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "初期ヘシアン行列" #~ msgid "Guess (+ define)" #~ msgstr "Guess (+ define)" #~ msgid "Read (from $HESS)" #~ msgstr "$HESSから読み込む" #~ msgid "Update Step Size" #~ msgstr "ステップ幅を更新する" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "繰り返しごとに軌道を印刷する" #~ msgid "Jump Size:" #~ msgstr "Jump Size:" #~ msgid "Stationary Point" #~ msgstr "定留点" #~ msgid "Step Size" #~ msgstr "ステップ幅" #~ msgid "Maximum:" #~ msgstr "最大:" #~ msgid "Minimum:" #~ msgstr "最小:" #~ msgid "Initial:" #~ msgstr "初期値:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Newton-Raphson" #~ msgid "Quadratic Approximation" #~ msgstr "二次近似" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (準i-NR)" #~ msgid "Constrained Optimization" #~ msgstr "制約付き最適化" #~ msgid "Recalculate Hessian Every:" #~ msgstr "毎回ヘシアン行列を再計算する" #~ msgid "Follow Mode:" #~ msgstr "次のモードにしたがう:" #~ msgid "Maximum Steps:" #~ msgstr "最大ステップ数:" #~ msgid "GAMESS-UK Input" #~ msgstr "GAMESS-UK インプット" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Avogadro による GAMESS-UK インプット" #~ msgid "Calculation:" #~ msgstr "計算:" #~ msgid "Transition State Search" #~ msgstr "遷移状態検索" #~ msgid "Basis:" #~ msgstr "基底関数:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Z-マトリックス" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "ダイレクトモードでは積分値はディスクに保存されませんが、必要に応じて再計算" #~ "されます。\n" #~ "高速なプロセッサとアクセスの遅いディスクを持つ現代的なシステムでは\n" #~ "ダイレクトモードの方がおおむね高速です。" #~ msgid "Run in direct mode:" #~ msgstr "ダイレクトモードで実行:" #~ msgid "Gaussian Input" #~ msgstr "Gaussianの入力" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "出力:" #~ msgid "Standard" #~ msgstr "標準" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "チェックポイント:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-マトリックス(コンパクト)" #~ msgid "Select the unit style to be used during the simulation." #~ msgstr "シミュレーションで用いる単位形式を選択" #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgstr "" #~ "\n" #~ " \n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgid "lj" #~ msgstr "lj(無次元)" #~ msgid "real" #~ msgstr "real" #~ msgid "metal" #~ msgstr "metal" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "選択" #~ msgid "Water Potential" #~ msgstr "水ポテンシャル" #~ msgid "NONE" #~ msgstr "なし" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "Select atom_style used by the data file." #~ msgstr "データファイルで使用する原子形式 (atom_style) を選択" #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgstr "" #~ "\n" #~ " \n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgid "Atom Style" #~ msgstr "原子形式" #~ msgid "angle" #~ msgstr "角度" #~ msgid "atomic" #~ msgstr "atomic" #~ msgid "bond" #~ msgstr "bond" #~ msgid "charge" #~ msgstr "charge" #~ msgid "dipole" #~ msgstr "双極子" #~ msgid "ellipsoid" #~ msgstr "ellipsoid" #~ msgid "full" #~ msgstr "full" #~ msgid "line" #~ msgstr "line" #~ msgid "meso" #~ msgstr "meso" #~ msgid "molecular" #~ msgstr "molecular" #~ msgid "peri" #~ msgstr "peri" #~ msgid "sphere" #~ msgstr "sphere" #~ msgid "tri" #~ msgstr "イットリウム (Yttrium)" #~ msgid "wavepacket" #~ msgstr "wavepacket" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "座標ファイル名を指定" #~ msgid "Coordinate Data File" #~ msgstr "データ形式" #~ msgid "Ensemble" #~ msgstr "アンサンブル" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "テンプレート" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "NVTアンサンブルで能勢-フーバーチェインの数を選択" #~ msgid "NH Chains" #~ msgstr "NH チェーン" #~ msgid "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgstr "シミュレーションの 1ステップ時間 (「単位」で指定した単位)" #~ msgid "Time Step" #~ msgstr "タイムステップ" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "シミュレーション中の書き込みに使用する XYZ ファイル名" #~ msgid "Dump XYZ" #~ msgstr "ダンプ XYZ" #~ msgid "Number of dimensions in the system." #~ msgstr "系の次元数" #~ msgid "Dimensions" #~ msgstr "エクステンション" #~ msgid "Change Z boundary style." #~ msgstr "Z 境界スタイルを変更" #~ msgid "p" #~ msgstr "pH" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "qm" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "Change Y boundary style." #~ msgstr "Y 境界スタイルを変更" #~ msgid "Change X boundary style." #~ msgstr "Z 境界スタイルを変更" #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "X, Y, Z 方向の境界スタイルを選択" #~ msgid "Boundary" #~ msgstr "境界" #~ msgid "Number of replicants in X, Y and Z directions." #~ msgstr "X, Y, Z 方向の複製数" #~ msgid "Replicate" #~ msgstr "複製" #~ msgid "Replicate the X direction." #~ msgstr "X 方向の複製数" #~ msgid "Replicate the Y direction." #~ msgstr "Y 方向の複製数" #~ msgid "Replicate the Z direction." #~ msgstr "Z 方向の複製数" #~ msgid "Total number of timesteps to run the simulation." #~ msgstr "シミュレーションの全ステップ数" #~ msgid "Total Steps" #~ msgstr "エネルギー" #~ msgid "Dump Interval" #~ msgstr "ダンプ間隔" #~ msgid "Set the initial atom velocities for the simulation." #~ msgstr "シミュレーションする原子の初期速度をセット" #~ msgid "Initial Velocities" #~ msgstr "初期速度" #~ msgid "Select the distribution of initial atom velocities." #~ msgstr "初期原子速度の分布を選択" #~ msgid "gaussian" #~ msgstr "Gaussian(&G)..." #~ msgid "uniform" #~ msgstr "配座異性体" #~ msgid "Set the initial atom velocities to match this temperature." #~ msgstr "この温度に適合するように原子の初期速度をセット" #~ msgid "Remove system linear momentum from initial velocities." #~ msgstr "系の並進運動量を除去するように初期速度をセット" #~ msgid "Zero Linear Momentum" #~ msgstr "並進運動量をゼロにする" #~ msgid "Remove system angular momentum from initial velocities." #~ msgstr "系の角運動量を除去するように初期速度をセット" #~ msgid "Zero Angular Momentum" #~ msgstr "角運動量をゼロにする" #~ msgid "Control the thermodynamic output during the simulation." #~ msgstr "シミュレーション中の熱力学量の出力を制御" #~ msgid "Output Interval" #~ msgstr "アウトプット間隔" #~ msgid "2d" #~ msgstr "2d" #~ msgid "3d" #~ msgstr "3d" #~ msgid "Thermodynamic output style." #~ msgstr "熱力学量のアウトプットスタイル" #~ msgid "One Line" #~ msgstr "単一行 (要約)" #~ msgid "Multi Line" #~ msgstr "複数行" #~ msgid "" #~ "\n" #~ "\n" #~ "

" #~ msgstr "" #~ "\n" #~ " \n" #~ "

" #~ msgid "MOLPRO Input" #~ msgstr "MOLPROの入力" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Molpro バージョン:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "MOPAC インプット" #~ msgid "Quartet" #~ msgstr "カルテット" #~ msgid "Quintet" #~ msgstr "クインテット" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem インプット" #~ msgid "Psi4 Input" #~ msgstr "Psi4 インプット" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP5" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem インプット" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "TeraChem インプット" #~ msgid "B3LYP1" #~ msgstr "B3LYP5" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "非制限" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "なし" #~ msgid "yes" #~ msgstr "あり" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "分散:" #~ msgid "Load Shaders" #~ msgstr "シェーダをロードする" #~ msgid "Shader Name:" #~ msgstr "シェーダ名:" #~ msgid "Vertex Shader:" #~ msgstr "頂点シェーダ:" #~ msgid "Fragment Shader:" #~ msgstr "フラグメントシェーダ:" #~ msgid "Assign Shader" #~ msgstr "シェーダを指定する" #~ msgid "Display Type:" #~ msgstr "表示タイプ:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "コントロール:\n" #~ "左ダブルクリック: デフォルトの軸端点を保持\n" #~ "右クリック + ドラッグ: プロットを移動\n" #~ "中央クリック + ドラッグ: ズーム\n" #~ "ホイールをスクロール: カーソルへズーム" #~ msgid "&Load data..." #~ msgstr "データのロード(&L)" #~ msgid "&Close" #~ msgstr "閉じる(&C)" #~ msgid "Calculated Spectra:" #~ msgstr "計算されたスペクトル" #~ msgid "Set Color..." #~ msgstr "色を設定..." #~ msgid "Imported Spectra:" #~ msgstr "スペクトルのインポート" #~ msgid "Font:" #~ msgstr "フォント :" #~ msgid "Change Font..." #~ msgstr "フォントを変更..." #~ msgid "Show" #~ msgstr "表示" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "実験スペクトルの tsv ファイルをインポートしプロットに重ね描き" #~ msgid "&Import..." #~ msgstr "インポート(&I)…" #~ msgid "Background:" #~ msgstr "背景:" #~ msgid "Foreground:" #~ msgstr "前景色:" #~ msgid "New..." #~ msgstr "新規..." #~ msgid "Rename..." #~ msgstr "名称変更..." #~ msgid "&Schemes:" #~ msgstr "スキーム(&S)" #~ msgid "&Export..." #~ msgstr "エクスポート(&E)..." #~ msgid "&DPI:" #~ msgstr "DPI(&D)" #~ msgid "&Width:" #~ msgstr "幅(&W):" #~ msgid "&Height" #~ msgstr "高さ(&H)" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "画像を保存(&S)..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "スキームが指定したフォントサイズの代わりに最適化された値を使用しまする(画" #~ "面から画像へのポイントサイズの変換はうまくいかない!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "フォントサイズの自動調整 (&o)" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "データをエクスポート" #~ msgid "Spectra Tab" #~ msgstr "スペクトルタブ" #~ msgid "&Gaussian Width:" #~ msgstr "ガウス関数の幅 (&G) :" #~ msgid "&Label peaks" #~ msgstr "ピークをラベル (&L)" #~ msgid "Rotatory Strength type:" #~ msgstr "回転の強さのタイプ:" #~ msgid "Energy units:" #~ msgstr "エネルギー単位:" #~ msgid "Density units" #~ msgstr "密度単位" #~ msgid "Fermi Energy: " #~ msgstr "フェルミエネルギー: " #~ msgid "States / Cell" #~ msgstr "1セルあたり状態数" #~ msgid "States / Atom" #~ msgstr "1原子あたり状態数" #~ msgid "States / Valence electron" #~ msgstr "1価電子あたり状態数" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "ゼロ点フェルミエネルギー" #~ msgid "Scale integrated DOS" #~ msgstr "積算状態密度でスケール" #~ msgid "Show integrated DOS" #~ msgstr "積算状態密度を表示" #~ msgid "tab_IR_Raman" #~ msgstr "IR ラマンラブ" #~ msgid "&Y Axis Units:" #~ msgstr "Y軸の単位(&Y)" #~ msgid "Scaling Type:" #~ msgstr "スケーリングタイプ:" #~ msgid "Linear" #~ msgstr "線形" #~ msgid "Relative" #~ msgstr "相対値" #~ msgid "Scale &Factor:" #~ msgstr "スケール因子 (&F):" #~ msgid "Temperature:" #~ msgstr "温度:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "レーザー波数:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "閾値:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "核:" #~ msgid "&Reference:" #~ msgstr "参照(&R):" #~ msgid "Gaussian &Width:" #~ msgstr "ガウス関数の幅(&W):" #~ msgid "Reset &Plot Axes" #~ msgstr "軸をリセットしてプロットする" #~ msgid "Label Peaks:" #~ msgstr "ピークをラベル:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "分子振動" #~ msgid "Filter: " #~ msgstr "フィルタ: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "アクティビティ (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "スペクトルを表示 (&S)..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "高振動数の振動を速い運動で表示" #~ msgid "Animation speed set by frequency" #~ msgstr "振動数に応じたアニメーション速度" #~ msgid "Display force &vectors" #~ msgstr "力のベクトルを表示 (&v)" #~ msgid "&Normalize displacements" #~ msgstr "変位を正規化 (&N):" #~ msgid "Generate Cell" #~ msgstr "セルを生成する" #~ msgid "&Recalculate All" #~ msgstr "すべて再計算 (&R)" #~ msgid "Default &Quality:" #~ msgstr "デフォルトの画質 (&Q):" #~ msgid "Show occupied orbitals first" #~ msgstr "最初に占有軌道を表示" #~ msgid "Limit orbital precalculations to " #~ msgstr "軌道の前計算を " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "個の HOMO/LUMO 周辺軌道に限定" #~ msgid "Quality: " #~ msgstr "画質: " #~ msgid "Create Surfaces" #~ msgstr "表面を作成する" #~ msgid "Surface Type:" #~ msgstr "表面のタイプ:" #~ msgid "Color By:" #~ msgstr "カラー:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "低" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "中" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "高" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "最高" #~ msgid "Isosurface cutoff value" #~ msgstr "等値面のカットオフ値" #~ msgid "Iso Value:" #~ msgstr "等値面の値" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "表示タイプ:" #~ msgid "New Display" #~ msgstr "新規表示" #~ msgid "Advanced..." #~ msgstr "詳細..." #~ msgid "&n:" #~ msgstr "&n:" #~ msgid "&m:" #~ msgstr "&m:" #~ msgid "&Length:" #~ msgstr "長さ(&L):" #~ msgid "Uni&t:" #~ msgstr "単位(&T)" #~ msgid "periodic units" #~ msgstr "周期単位" #~ msgid "angstrom" #~ msgstr "オングストローム" #~ msgid "bohr radii" #~ msgstr "ボーア半径" #~ msgid "nanometers" #~ msgstr "ナノメートル" #~ msgid "picometers" #~ msgstr "ピコメートル" #~ msgid "&Cap with hydrogen" #~ msgstr "水素終端(&C)" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "これには時間がかかるおそれがあります。\n" #~ "原子座標のみが必要の場合(量子力学計算に必要な場合など)、\n" #~ "単結合のみによる表示で十分でしょう。" #~ msgid "Find &double bonds" #~ msgstr "二重結合を検出(&D)" #~ msgid "Molecular Symmetry" #~ msgstr "分子の対称性" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "並進操作の距離:" #~ msgid "X-axis" #~ msgstr "X軸" #~ msgid "Y-axis" #~ msgstr "Y軸" #~ msgid "Z-axis" #~ msgstr "Z軸" #~ msgid "Rotate around:" #~ msgstr "回転軸:" #~ msgid "Origin" #~ msgstr "原点" #~ msgid "Geometry" #~ msgstr "ジオメトリ" #~ msgid "Display visual cues" #~ msgstr "3D 矢印を表示" #~ msgid "Python Settings" #~ msgstr "Python 設定" #~ msgid "Z Matrix Editor" #~ msgstr "Z-マトリックスエディタ" #~ msgid "Import Selected Atoms" #~ msgstr "選択した原子をインポート" avogadrolibs-1.93.0/i18n/kn.po000066400000000000000000003172751360735163600160400ustar00rootroot00000000000000# Kannada translation for avogadro # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 07:04+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Kannada \n" "Language: kn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:02+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "ತಿಳಿಯದ" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, qt-format msgid "Submit %1 Calculation" msgstr "" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 msgid "Hide &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:390 msgid "Show &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, qt-format msgid "Failed to write to file %1." msgstr "" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "ಶೀರ್ಷಿಕೆ" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 msgid "Calculation Type" msgstr "" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 msgid "No program selected." msgstr "" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "ಹೈಡ್ರೋಜನ್" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "ಹಿಲೀಯಂ" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "ಲಿಥೀಯಮ್" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "ಬೆರಿಲಿಯಂ" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "ಬೋರಾನ್" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "ಇಂಗಾಲ" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "ಸಾರಜನಕ" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "ಆಮ್ಲಜನಕ" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "ಫ್ಲೂರಿನ್" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "ನಿಯಾನ್" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "ಸೋಡಿಯಂ" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "ಮೆಗ್ನಿಷಿಯಮ್" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "ಅಲ್ಯುಮಿನಿಯಂ" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "ಸಿಲಿಕಾನ್" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "ರಂಜಕ" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "ಗಂಧಕ" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "ಕ್ಲೋರಿನ್" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "ಆರ್ಗನ್" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "ಪೊಟ್ಯಷಿಯಮ್" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "ಕ್ಯಾಲ್ಸಿಯಮ್" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "ಸ್ಕ್ಯಾಂಡಿಯಮ್" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "ಟೈಟಾನಿಯಂ" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "ವೆನಡಿಯಂ" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "ಕ್ರೊಮಿಯಂ" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "ಮ್ಯಾಂಗನೀಸ್" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "ಕಬ್ಬಿಣ" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "ಕೋಬಾಲ್ಟ್‌" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "ನಿಕ್ಕೆಲ್" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "ತಾಮ್ರ" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "ಸತು" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "ಗೇಲಿಯಮ್" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "ಜೆರ್ಮೇನಿಯಮ್" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "ಆರ್ಸೆನಿಕ್" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "ಸೆಲೆನಿಯಮ್" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "ಬ್ರೋಮಿನ್" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "ಕ್ರಿಪ್ಟಾನ್" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "ರುಬಿಡಿಯಮ್" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "ಜರ್ಕೋನಿಯಮ್" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "ಮಾಲಿಬ್ಡಿನಮ್" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "ರೋಡಿಯಮ್" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "ಬೆಳ್ಳಿ" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "ಕ್ಯಾಡ್ಮಿಯಮ್" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "ಇಂಡಿಯಮ್" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "ತವರ" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "ಆಂಟಿಮನಿ" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "ಅಯೋಡಿನ್" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "ಝೆನಾನ್" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "ಸೀಸಿಯಮ್" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "ಬೇರಿಯಮ್" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "ಇರಿಡಿಯಮ್" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "ಪ್ಲಾಟಿನಮ್" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "ಬಂಗಾರ" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "ಪಾದರಸ" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "ಸೀಸಾ" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "ಬಿಸ್ಮತ್" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "ಪೊಲೋನಿಯಂ" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "ರೆಡಾನ್" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "ರೇಡಿಯಮ್" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "ಥೋರಿಯಮ್" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "ಯುರೇನಿಯಮ್" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "ನೆಪ್ಚೂನಿಯಮ್" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "ಪ್ಲುಟೋನಿಯಮ್" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "ಕ್ಯುರಿಯಂ" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "ಜರ್ಕೋನಿಯಮ್" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 msgid "Select file:" msgstr "" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 msgid "All files (*);;" msgstr "" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "ಶೀರ್ಷಿಕೆ" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "ತಿಳಿಯದ" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 msgid "Clear Atoms" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 msgid "Change Elements" msgstr "" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 msgid "Removed Bond" msgstr "" #: qtgui/rwmolecule.cpp:758 msgid "Clear Bonds" msgstr "" #: qtgui/rwmolecule.cpp:793 msgid "Set Bond Orders" msgstr "" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 msgid "Update Bond" msgstr "" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "ಕಡತ(&F)" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "ಆಮದು" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "ವಿಸ್ತರಣೆಗಳು" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 msgid "IO Error" msgstr "" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 msgid "Success" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "ಹೈಡ್ರೋಜನ್" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "" #: qtplugins/ballandstick/ballandstick.h:47 msgid "Render atoms as spheres and bonds as cylinders." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 msgid "Bond Atoms" msgstr "" #: qtplugins/bonding/bonding.cpp:43 msgid "Remove Bonds" msgstr "" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "ಕಡತ(&F)" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 msgid "Invalid element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 msgid "Element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 msgid "Invalid element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 msgid "Element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 msgid "Invalid atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 msgid "Invalid coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat)" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 msgid "Custom Elements" msgstr "" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 msgid "Remove Bond" msgstr "" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 msgid "Distance:" msgstr "" #: qtplugins/editor/editor.cpp:235 #, qt-format msgid "Distance: %L1 Å" msgstr "" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 msgid "GAMESS input" msgstr "" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 msgid "Single Point" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 msgid "Submit GAMESS Calculation" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "ಹೈಡ್ರೋಜನ್" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 msgid "Remove E&xtra Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:46 msgid "&Remove All Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "ಹೈಡ್ರೋಜನ್" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "ಆಮದು" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 msgid "Render atoms as licorice." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 msgid "Angles:" msgstr "" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "ಹೈಡ್ರೋಜನ್" #: qtplugins/openbabel/openbabel.cpp:77 msgid "Add hydrogens for pH..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:83 msgid "Remove hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 msgid "Adding Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "Add hydrogens for pH" msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "pH:" msgstr "" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "ತಾಮ್ರ" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "ಅವೊಗಡ್ರೊ" #: qtplugins/playertool/playertool.cpp:234 #, qt-format msgid "Cannot save file %1." msgstr "" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 msgid "Error: " msgstr "" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 msgid "POV-Ray Render" msgstr "" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 msgid "Save File" msgstr "" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 msgid "Calculating electron density" msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 msgid "Select All" msgstr "" #: qtplugins/select/select.cpp:39 msgid "Select None" msgstr "" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "ಆಯ್ಕೆಯನ್ನು ನಿರ್ಲಕ್ಷಿಸು" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "ಆಯ್ಕೆಯನ್ನು ನಿರ್ಲಕ್ಷಿಸು" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 msgid "Select" msgstr "" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "ಆಯ್ಕೆಯನ್ನು ನಿರ್ಲಕ್ಷಿಸು" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "ಅವೊಗಡ್ರೊ" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 msgid "Symmetry Elements" msgstr "" #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 msgid "Van der Waals (AO)" msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "ಫಾರ್ಮ್" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) msgid "Calculation Settings" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) msgid "Submit Calculation..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) msgid "Rename Elements" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) msgid "Ctrl+C" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) msgid "Ctrl+E" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) msgid "Save Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "File name:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "ರದ್ದುಮಾಡು" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Distance Unit:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Save File..." msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "ಫಾರ್ಮ್" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Molecular Mass (g/mol):" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Number of points:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download Selected" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) msgid "Surface Dialog" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Surface:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "ಅನಿಮೇಶನ್" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "ಅನಿಮೇಶನ್" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) msgid "Operations" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat), ,Launchpad " "Contributions:,Avogadro Team,ಸುಧೀಂದ್ರ,ಸುಭಾಸ್ ಭಟ್(Subhas Bhat)" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-devel@lists." "sourceforge.net,,,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-" "devel@lists.sourceforge.net,,,,,avogadro-devel@lists.sourceforge.net,,,,," "avogadro-devel@lists.sourceforge.net,,,,,avogadro-devel@lists.sourceforge." "net,,,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-devel@lists." "sourceforge.net,," #~ msgid "Custom Color:" #~ msgstr "ನನ್ನಿಚ್ಛೆಯ ಬಣ್ಣ:" #~ msgid "Custom Color" #~ msgstr "ನನ್ನಿಚ್ಛೆಯ ಬಣ್ಣ" #~ msgid "Axes" #~ msgstr "ಅಕ್ಷರೇಖೆಗಳು" #~ msgid "Cartoon" #~ msgstr "ಕಾರ್ಟೂನ್" #~ msgid "Dipole" #~ msgstr "ದ್ವಿಧ್ರುವ" #~ msgid "Force" #~ msgstr "ಒತ್ತಾಯಪೂರ್ವಕ" #~ msgid "Label" #~ msgstr "ಗುರುತುಪಟ್ಟಿ" #~ msgid "Polygon" #~ msgstr "ಬಹುಭುಜಾಕೃತಿ" #~ msgid "Ribbon" #~ msgstr "ರಿಬ್ಬನ್" #~ msgid "Ring" #~ msgstr "ರಿಂಗ್" #~ msgid "Delete" #~ msgstr "ಅಳಿಸು" #~ msgid "Group Name" #~ msgstr "ಗುಂಪಿನ ಹೆಸರು" #~ msgid " (" #~ msgstr " (" #~ msgid ")" #~ msgstr ")" #~ msgid "Nothing" #~ msgstr "ಏನೂ ಇಲ್ಲ" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "ಕಡಿಮೆ" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "ಮಧ್ಯಮ" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "ಹೆಚ್ಚು" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "ಇನ್ನೂ ಹೆಚ್ಚಿನ" avogadrolibs-1.93.0/i18n/ko.po000066400000000000000000004506341360735163600160360ustar00rootroot00000000000000# Korean translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 07:03+0000\n" "Last-Translator: Kim Hanjo \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:02+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "생성기 입력..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "생성기 입력..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "닫기" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "알려지지 않음" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "계산 중단" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "경고" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "경고" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "용매 선택" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "출력:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "파일에 기록할 수 없습니다." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "비디오 파일이 작성되지 않았습니다." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "비디오 파일이 작성되지 않았습니다." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "제목" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "파일 이름:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "계산:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "이론:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "이론:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "설정된 분자 없음" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "애니메이션 중지(&A)" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "선택된 원자가 없음" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "수소" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "헬륨" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "리튬" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "베릴륨" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "붕소" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "탄소" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "질소" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "산소" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "불소(플루오르)" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "네온" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "나트륨" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "마그네슘" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "알루미늄" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "규소" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "인" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "황" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "염소" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "아르곤" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "칼륨" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "칼슘" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "스칸듐" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "티타늄" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "바나듐" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "크롬" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "망간" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "철" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "코발트" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "니켈" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "구리" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "아연" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "갈륨" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "게르마늄" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "비소" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "셀레늄" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "브롬" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "크립톤" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "루비듐" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "스트론튬" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "이트륨" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "지르코늄" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "니오브" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "몰리브덴" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "테크네튬" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "루테늄" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "로듐" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "팔라듐" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "은" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "카드뮴" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "인듐" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "주석" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "안티몬" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "텔루르" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "요오드" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "크세논" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "세슘" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "바륨" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "란탄" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "세륨" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "프라세오디뮴" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "네오디뮴" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "프로메튬" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "사마륨" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "유로퓸" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "가돌리늄" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "테르븀" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "디스프로슘" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "홀뮴" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "에르븀" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "툴륨" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "이테르븀" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "루테튬" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "하프늄" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "탄탈" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "텅스텐" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "레늄" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "오스뮴" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "이리듐" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "백금" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "금" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "수은" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "탈륨" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "납" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "비스무트" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "폴로늄" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "아스타틴" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "라돈" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "프란슘" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "라듐" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "악티늄" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "토륨" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "프로탁티늄" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "우라늄" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "넵투늄" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "플루토늄" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "아메리슘" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "퀴륨" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "버클륨" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "칼리포르늄" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "아인슈타이늄" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "페르뮴" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "멘델레예븀" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "노벨륨" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "로렌슘" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "러더퍼듐" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "더브늄" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "시보귬" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "보륨" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "하슘" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "마이트너륨" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "다름슈타튬" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "뢴트게늄" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "코페르니슘" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "지르코늄" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "탐색..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "용매 선택" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "선택 항목 삭제" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "모든 파일" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "제목없음" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "주기율표" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03을 시작하는데 실패했습니다" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "스크립트(&S)" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL 오류" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "알려지지 않음" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "분자" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "원자 추가" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "원자 제거하기" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "원자 시작" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "수소 추가" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "원소 바꾸기" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "원소 바꾸기" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "형식전하" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "결합 추가" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "원자 제거하기" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "결합 제거" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "결합 차수" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "결합 차수 변경" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr "결합 제거" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "결합 제거" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "단위 세포 채우기" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "단위 세포 채우기" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "단위 세포 채우기" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "단위 세포 채우기" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&파일" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "내보내기" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "WFN 파일 열기" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "확장 기능" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "오류" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "궤도 파일 %1을 읽는데 문제가 있습니다" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL 오류" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "궤도 파일 %1을 읽는데 문제가 있습니다" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "WFN 파일 열기" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "WFN 파일 열기" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "오류" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "성공!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "%1 로 이미지가 성공적으로 쓰여졌습니다" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "수소" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "공과 막대 모형" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "원자 및 결합 이름 표시" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "원자 끝내기" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "수소 제거" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "빌드(&B)" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "결합" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "파일 이름:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "잘못된 파일명" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "원소 이름" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "원소 기호" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "원소 기호" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "잘못된 파일명" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "원자 번호" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "잘못된 파일명" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Geoff Hutchison, ,Launchpad Contributions:," "Avogadro Team, ,Launchpad Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon " "Lee, ,Launchpad Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee, ," "Launchpad Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP 정보" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP 정보" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "사용자 정의:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "단위 세포 채우기" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "단위 세포 채우기" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "원자 및 결합 이름 표시" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "색상요소를 기반으로 채색" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "그리기" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "원자 그리기" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "결합 차수 변경" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "원자 제거하기" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "거리" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "거리 (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "기타..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "자동최적화" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "단일" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "이중" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "삼중" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "스크립트(&S)" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "궤도 파일 %1을 읽는데 문제가 있습니다" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "생성기 입력..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS 입력" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "단일체" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "진동수" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "기체" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "물" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "단일체" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "이중체" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "삼중체" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "양이온" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "중성" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "음이온" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS 입력" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "계산 중단" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "수소 추가" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "수소 추가" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "수소 제거" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "수소 제거" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "수소" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "수소" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "불러오기" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "원자 및 결합 이름 표시" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "삽입(&I)" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "설명 없음" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "분자" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "산출..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "조작" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "조작" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "측정" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "이면각:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "각:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "각:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "측정" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "등곡선 망상 분자 표시" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "보기(&V)" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "분자 속성" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "탐색" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "탐색" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "화학명" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "다운로드 할 화학구조" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "네트워크 다운로드에 실패함" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "네트워크 시간초과 또는 다른 오류발생." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "지정된 분자를 찾을 수 없습니다: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "네트워크 다운로드에 실패함" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&구조 최적화" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "구조 최적화" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "수소 추가" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "pH를 위해 수소 추가..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "수소 제거" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "파일 '%1'으로 부터 분자를 읽는 중 실패하였습니다." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "%1 파일을 기록하는 도중에 문제가 발생했습니다" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&구조 최적화" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "산출..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "궤도 파일 %1의 원자 수가 현재의 분자 수와 일치하지 않습니다." #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&구조 최적화" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "수소 추가" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "pH를 위해 수소 추가" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "수소 제거" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "중지" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "매개 변수:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "동역학 결합" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "제거..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "중지" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "%1 파일을 읽을 수 없습니다." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "오류" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "비디오 파일로 저장하기" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "POV-Ray를 사용하여 표현" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "확장기능" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "WFN 파일 열기" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "양자 화학 패키지를 위해 입력 파일을 생성" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "전자 밀도 계산하기" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "전자 밀도 계산하기" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "분자 오비탈과 다른 표면 계산" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "초기화" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "입력 파일 생성기" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "모두 지우기" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "선택" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "거꾸로 선택(&I)" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "선택" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "선택(&S)" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "선택(&S)" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "선택" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "선택" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "진동" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "스펙트럼 시각화" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "형식" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "원소" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "원소에 의한 선택..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "쌍극자 모멘트 분자 표시" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "반 데르 발스" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "반 데르 발스" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "렌더링" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "POV-Ray를 사용하여 표현" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "와이어프레임" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "막대 모형으로 분자를 표시하기" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "형식" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "선택 설정" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "계산 중단" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "셰이더 프로그램:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "원소 바꾸기" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "구조:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "역장:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "비디오 파일로 저장하기" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "성공!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "구조:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "파일 불러오기..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "측정 설정" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "파일명(&F):" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "탐색" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "탐색" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "탐색" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "파일 이름:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "취소" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Cartesian 편집기..." #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "초기화" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "거리" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "형식:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "적용" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "매개 변수:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A 반복:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B 반복:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C 반복:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "단위 세포 채우기" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "원소:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "결합 차수:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS 입력" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "기본 설정(&B)" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "제목:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "파일 이름:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "모두 초기화" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "기본값" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "파일 불러오기..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "이름" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "형식:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "설명 없음" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "분자량 (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "화학 공식:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "원자의 수:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "결합의 수:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "구조 최적화" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "최적화" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "역장:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "최적화" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "자동 회전" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "반 데르 발스, 등곡면 = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "정전기 전위" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "융합" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "융합" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "단위:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "결합의 수:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "파장 (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "선택 항목 삭제" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "투명도:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "표면" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "표면" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "등곡면 절단 값" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "해상도:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "표면" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "계산" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "진동" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "애니메이션 시작(&A)" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "애니메이션 중지(&A)" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "분자" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "설정" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Geoff Hutchison, ,Launchpad Contributions:," "Avogadro Team, ,Launchpad Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon " "Lee, ,Launchpad Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee, ," "Launchpad Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie, ,Launchpad " "Contributions:,Avogadro Team,Kim Hanjo,Sang-hyeon Lee,dlonie" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,avogadro-devel@lists.sourceforge.net,,,avogadro-devel@lists.sourceforge." "net,lordmiss@lordmiss.com,,,,avogadro-devel@lists.sourceforge.net," "lordmiss@lordmiss.com,,,,avogadro-devel@lists.sourceforge.net," "lordmiss@lordmiss.com,,,,avogadro-devel@lists.sourceforge.net," "lordmiss@lordmiss.com,,loniedavid@gmail.com,,,avogadro-devel@lists." "sourceforge.net,lordmiss@lordmiss.com,,loniedavid@gmail.com,,,avogadro-" "devel@lists.sourceforge.net,lordmiss@lordmiss.com,,loniedavid@gmail.com,,," "avogadro-devel@lists.sourceforge.net,lordmiss@lordmiss.com,,loniedavid@gmail." "com,,,avogadro-devel@lists.sourceforge.net,lordmiss@lordmiss.com,," "loniedavid@gmail.com,,,avogadro-devel@lists.sourceforge.net," "lordmiss@lordmiss.com,,loniedavid@gmail.com,,,avogadro-devel@lists." "sourceforge.net,lordmiss@lordmiss.com,,loniedavid@gmail.com,,,avogadro-" "devel@lists.sourceforge.net,lordmiss@lordmiss.com,,loniedavid@gmail.com,,," "avogadro-devel@lists.sourceforge.net,lordmiss@lordmiss.com,,loniedavid@gmail." "com" #~ msgid "Color by Index" #~ msgstr "색인에 따라 채색" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "색인에 따라 채색 (빨강, 오렌지색, 노랑, 녹색, 파랑, 보라색)" #~ msgid "Color by Partial Charge" #~ msgstr "부분 전하를 기반으로 채색" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "부분 전하를 기반으로 채색 (파랑 = 양수, 빨강 = 음수)" #~ msgid "Custom Color:" #~ msgstr "사용자 지정 색:" #~ msgid "Custom Color" #~ msgstr "사용자 정의 색상" #~ msgid "Set custom colors for objects" #~ msgstr "개체에 대한 사용자 색상 정의" #~ msgid "Color by Distance" #~ msgstr "거리에 따라 채색" #~ msgid "Color by distance from the first atom." #~ msgstr "첫번째 원자에서부터 거리로 채색" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "색상요소를 기반으로 채색 (탄소 = 회색, 산소 = 빨강, ...)." #~ msgid "Color by Residue" #~ msgstr "잔여부분 채색" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "잔여부분 채색 (아미노산 타입, 광견병, ..." #~ msgid "Ununtrium" #~ msgstr "운운트리움" #~ msgid "Ununpentium" #~ msgstr "운운펜튬" #~ msgid "Ununseptium" #~ msgstr "운운셉튬" #~ msgid "Ununoctium" #~ msgstr "운운옥튬" #~ msgid "Engines" #~ msgstr "엔진" #~ msgid "Axes" #~ msgstr "축" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "x, y, z축을 기원으로 표현" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "공 (원자)과 막대 (결합)을 기본 요소로 표시" #~ msgid "Cartoon" #~ msgstr "밑그림" #~ msgid "Renders protein secondary structure" #~ msgstr "단백질 이차 구조 표현" #~ msgid "Dipole" #~ msgstr "쌍극자" #~ msgid "Force" #~ msgstr "힘" #~ msgid "Renders force displacements on atoms" #~ msgstr "원자의 힘 변위 표시" #~ msgid "Hydrogen Bond" #~ msgstr "수소결합" #~ msgid "Renders hydrogen bonds" #~ msgstr "수소결합 표시" #~ msgid "Select Atom Labels Color" #~ msgstr "원자 레이블 색상 선택" #~ msgid "Select Bond Labels Color" #~ msgstr "결합 레이블 색상 선택" #~ msgid "Select Atom Labels Font" #~ msgstr "원자 레이블 글꼴 선택" #~ msgid "Select Bond Labels Font" #~ msgstr "결합 레이블 글꼴 선택" #~ msgid "Label" #~ msgstr "라벨" #~ msgid "Polygon" #~ msgstr "다각형" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "원자를 정사면체, 정팔면체, 기타 다각형으로 표시" #~ msgid "Ribbon" #~ msgstr "리본형" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "단백질 골격을 리본형으로 표시" #~ msgid "Ring" #~ msgstr "고리형" #~ msgid "Renders rings with colored planes" #~ msgstr "채색된 평면과 함께 고리형으로 표시" #~ msgid "Simple Wireframe" #~ msgstr "단순한 와이어 프레임" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "거대분자에 최적화된 선으로 결합 나타내기" #~ msgid "Van der Waals Spheres" #~ msgstr "반 데르 발스 구형" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "원자를 발 데르 발스 구형으로 표시하기" #~ msgid "Stick" #~ msgstr "막대기" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "전자 밀도, 등곡면 = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, 등곡면 = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "초거대분자에 최적화된 선형으로 결합 나타내기" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "비디오 파일 (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr ".avi 확장기능 추가" #~ msgid "Animation..." #~ msgstr "애니메이션..." #~ msgid "Cannot read file format of file %1." #~ msgstr "%1 파일 포맷을 읽을 수 없습니다." #~ msgid "Read trajectory file %1 failed." #~ msgstr "%1 궤도 파일을 읽는 데에 실패했습니다." #~ msgid "Must specify a valid .avi file name" #~ msgstr "유효한 .avi 파일 이름을 지정해야 합니다" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "GL 위젯이 비디오를 저장하기 위해 올바르게 초기화되지 않았습니다" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "잘못된 비디오 파일이름. 전체 디렉토리 경로를 포함해야 합니다" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "잘못된 비디오 파일이름. 전체 디렉토리 경로와 파일이름을 포함하고, avi 확장" #~ "자로 끝나야 합니다." #~ msgid "Animation" #~ msgstr "애니메이션" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "궤도, 반응, 진동 애니메이션으로 표시" #~ msgid "Number of atoms: %1" #~ msgstr "원자의 수 : %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "회전할 수 있는 결합의 수: %1" #~ msgid "Add constraint" #~ msgstr "구속을 추가" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "분자에 구속을 추가하기 위해서는 최소한 하나의 원자를 포함하고 있어야 합니" #~ "다" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "분자에 결합 구속을 추가하기 위해서는 최소한 두 개의 원자를 포함하고 있어" #~ "야 합니다" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "분자에 각 구속을 추가하기 위해서는 최소한 세 개의 원자를 포함하고 있어야 " #~ "합니다" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "분자에 비틀림 구속를 추가하기 위해서는 최소한 네 개의 원자를 포함하고 있어" #~ "야 합니다" #~ msgid "&Settings" #~ msgstr "설정(&S)" #~ msgid "&Length Unit" #~ msgstr "길이 단위(&L)" #~ msgid "&Angle Unit" #~ msgstr "각도 단위(&A)" #~ msgid "Hide &Property Display" #~ msgstr "속성 창 숨기기(&P)" #~ msgid "Show &Property Display" #~ msgstr "속성 창 보이기(&P)" #~ msgid "&Radian" #~ msgstr "라디안(&R)" #~ msgid "Trajectory..." #~ msgstr "궤도..." #~ msgid "Open chemical file format" #~ msgstr "화학 파일 포맷 열기" #~ msgid "Chemical files (*.xyz)" #~ msgstr "화학 파일 (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "매개 변수 파일 열기" #~ msgid "Chemical files (*.parm7)" #~ msgstr "화학 파일 (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "궤도 가져오기" #~ msgid "Import trajectory files" #~ msgstr "궤도 파일 불러오기" #~ msgid "Setup Force Field..." #~ msgstr "힘 영역 설정하기" #~ msgid "Calculate Energy" #~ msgstr "에너지 계산" #~ msgid "Conformer Search..." #~ msgstr "이형태체 검색..." #~ msgid "Constraints..." #~ msgstr "구속..." #~ msgid "Ignore Selection" #~ msgstr "선택 무시" #~ msgid "Fix Selected Atoms" #~ msgstr "선택한 원자를 고정" #~ msgid "&Molecular Mechanics" #~ msgstr "&분자 역학" #~ msgid "Energy = %L1 %2" #~ msgstr "에너지 = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "구조 최적화" #~ msgid "Forcefield Optimization" #~ msgstr "힘 영역 최적화" #~ msgid "ForceField" #~ msgstr "힘 영역" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "분자역학 힘 영역을 이용하여 분자를 최적화하고 이형태체를 형성" #~ msgid "&Vector Graphics..." #~ msgstr "벡터 그래픽(&V)" #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "일반적인 벡터 이미지 포맷" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "벡터 그래픽 내보내기" #~ msgid "Change H to Methyl" #~ msgstr "수소를 메틸로 변경하기" #~ msgid "H to Methyl" #~ msgstr "수소를 메틸로" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "수소를 메틸기로 변경하기" #~ msgid "Add or remove hydrogens" #~ msgstr "수소를 추가하거나 제거" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "DNA 삽입" #~ msgid "Uracil" #~ msgstr "우라실" #~ msgid "Thymine" #~ msgstr "티민" #~ msgid "Insert DNA/RNA" #~ msgstr "DNA/RNA 입력" #~ msgid "Cannot read molecular file %1." #~ msgstr "분자 파일 %1을 읽을 수 없습니다." #~ msgid "Fragment..." #~ msgstr "조각..." #~ msgid "Insert SMILES" #~ msgstr "SMILES 삽입" #~ msgid "Insert SMILES fragment:" #~ msgstr "SMILES 조각 삽입:" #~ msgid "Insert Fragment" #~ msgstr "조각 삽입" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "더 큰 분자를 만들기 위해 분자 조각 삽입" #~ msgid "Peptide..." #~ msgstr "펩티드..." #~ msgid "Insert Peptide" #~ msgstr "펩티드 삽입" #~ msgid "Insert oligopeptide sequences" #~ msgstr "올리고펩티트 배열 삽입" #~ msgid "Molecule Properties..." #~ msgstr "분자 속성..." #~ msgid "&Properties" #~ msgstr "속성(&P)" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "쌍극자 모멘트 추정 (D):" #~ msgid "Display standard molecular properties." #~ msgstr "일반적인 분자 속성을 보여주기" #~ msgid "Fetch from PDB..." #~ msgstr "PDB로 부터 가져오기..." #~ msgid "Fetch from URL..." #~ msgstr "URL로 부터 가져오기..." #~ msgid "PDB Entry" #~ msgstr "PDB 입력" #~ msgid "PDB entry to download." #~ msgstr "다운로드 할 PDB 항목" #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "다운로드할 분자 URL" #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "지정된 분자를 불러올 수 없습니다: %1" #~ msgid "Network Fetch" #~ msgstr "네트워크에서 가져오기" #~ msgid "Fetch molecule files over the network." #~ msgstr "분자 파일을 네트워크로 가져옴" #~ msgid "All Files" #~ msgstr "모든 파일" #~ msgid "Show Preview" #~ msgstr "미리보기" #~ msgid "Hide Preview" #~ msgstr "미리보기 숨기기" #~ msgid "Save POV-Ray rendered image" #~ msgstr "렌더링된 POV-Ray 이미지 저장" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "이미지 파일 (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "파일 이름 없음" #~ msgid "No valid filename was supplied." #~ msgstr "유효한 파일 이름을 입력하지 않았습니다." #~ msgid "Does not compute." #~ msgstr "계산할 수 없습니다." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "POV-Ray를 사용해서 렌더링하지 않고, POV-Ray 파일을 저장하지도 않도록 요청" #~ "했습니다. 이렇게 하면 아무 결과도 저장되지 않습니다. 정말로 이렇게 할까요?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "파일 %1에 기록할 수 없습니다. 그 장소에 기록할 수 있는 승인을 가지고 있습" #~ "니까?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray를 시작하는데 실패했습니다." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray를 시작하지 못했습니다. 아마도 실행 파일 위치가 잘못 설정되어 있을 " #~ "것입니다." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "POV-Ray 파일을 만들고 POV-Ray 명령행 프로그램을 사용하여 렌더링함" #~ msgid "Atom Properties..." #~ msgstr "원자 정보..." #~ msgid "Bond Properties..." #~ msgstr "결합 정보..." #~ msgid "Angle Properties..." #~ msgstr "결합각 정보..." #~ msgid "Torsion Properties..." #~ msgstr "비틀림 정보..." #~ msgid "Conformer Properties..." #~ msgstr "이형태체 정보..." #~ msgid "Atom Properties" #~ msgstr "원자 정보" #~ msgid "Bond Properties" #~ msgstr "결합 정보" #~ msgid "Angle Properties" #~ msgstr "결합각 정보" #~ msgid "Torsion Properties" #~ msgstr "비틀림 정보" #~ msgid "Conformer Properties" #~ msgstr "이형태체 정보" #~ msgid "Properties" #~ msgstr "속성" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "원자, 결합, 각도, 비틀림 속성을 보여주는 창. Cartesian coordinate 편집기" #~ "도 포함하고 있음." #~ msgid "Valence" #~ msgstr "원자가" #~ msgid "Partial Charge" #~ msgstr "부분 전하" #~ msgid "Rotatable" #~ msgstr "회전가능한" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "%1 길이" #~ msgid "Vertex" #~ msgstr "꼭지점" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "각 %1" #~ msgid "Angle" #~ msgstr "각도" #~ msgid "Atom %1" #~ msgstr "원자 %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "비틀림 %1" #~ msgid "Python Terminal" #~ msgstr "파이썬 터미널" #~ msgid "pythonTerminalDock" #~ msgstr "파이썬 터미널 도크" #~ msgid "Interactive python scripting terminal" #~ msgstr "쌍방향 파이썬 스크립트 터미널" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP 선택..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM 선택..." #~ msgid "Delete" #~ msgstr "지우기" #~ msgid "You must make a selection!" #~ msgstr "선택을 하여야 합니다" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES 변환이 불가능함" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES 포맷 변환이 불가능합니다!" #~ msgid "Group Name" #~ msgstr "그룹 이름" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "GAMESS 양자 화학 패키지를 위해 입력 파일을 형성" #~ msgid "Advanced Settings Changed" #~ msgstr "고급 설정이 변경됨" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "고급 설정이 변경되었습니다.\n" #~ "저장하지 않으시겠습니까?" #~ msgid "Advanced Settings Reset" #~ msgstr "고급 설정이 초기화됨" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "고급 설정을 초기화 하시겠습니까?\n" #~ "모든 변경사항을 잃게됩니다!" #~ msgid "Basic Settings Reset" #~ msgstr "기본 설정 초기화" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "기본 설정 내용을 초기화 하시겠습니까?\n" #~ "모든 변경사항을 잃게됩니다!" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "가우스 입력 데크 생성기 경고" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "가우스 입력 데크 미리보기 창에서 만들어진 모든 변경사항을 잃고, 이전의 텍" #~ "스트를 업데이트 하시겠습니까?" #~ msgid "Gaussian Running." #~ msgstr "가우스 실행중" #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "가우스가 이미 실행중입니다. 이전의 계산이 끝날 때까지 기다려 주십시오" #~ msgid "Gaussian Not Installed." #~ msgstr "가우스가 설치되지 않았습니다." #~ msgid "The G03 executable, cannot be found." #~ msgstr "실행가능한 G03이 발견되지 않았습니다" #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03이 시작하지 않았습니다. 아마도 완전히 설치되지 않은 것 같습니다." #~ msgid "Running Gaussian calculation..." #~ msgstr "가우스 계산 실행중..." #~ msgid "G03 Crashed." #~ msgstr "G03 충돌" #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "가우스가 정확하게 동작하지 않습니다. 아마도 완전히 설치되지 않은 것으로 보" #~ "입니다." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC 입력 경고" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "MOPAC 입력 데크 미리보기에서 만들어진 모든 변경사항을 잃고, 이전의 텍스트" #~ "를 업데이트 하시겠습니까?" #~ msgid "MOPAC Running." #~ msgstr "MOPAC 실행중." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "MOPAC이 이미 실행중입니다. 이전의 계산이 끝날 때까지 기다려주십시오." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC이 설치되지 않았습니다." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "실행할 수 있는 MOPAC을 찾지 못했습니다" #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC을 시작하는데 실패했습니다" #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC이 시작되지 않았습니다. 아마도 올바르게 설치되지 않은 것 같습니다." #~ msgid "Running MOPAC calculation..." #~ msgstr "MOPAC 계산 실행중..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC 충돌" #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC이 올바르게 실행되지 않았습니다. 아마도 올바르게 설치되지 않은 것 같" #~ "습니다." #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem 입력 데크 생성기 경고" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Q-Chem 입력 데크 미리보기에서 만들어진 모든 변경사항을 잃고, 이전의 텍스트" #~ "를 업데이트 하시겠습니까?" #~ msgid "Select SMARTS..." #~ msgstr "SMARTS 선택..." #~ msgid "Select by Residue..." #~ msgstr "잔류물에 의한 선택..." #~ msgid "SMARTS Selection" #~ msgstr "SMARTS 선택" #~ msgid "SMARTS pattern to select" #~ msgstr "선택할 SMARTS 패턴" #~ msgid "Select by residue" #~ msgstr "잔류물에 의한 선택" #~ msgid "Residue name" #~ msgstr "잔류물 이름" #~ msgid "There is no current selection." #~ msgstr "최근에 선택한 것이 없습니다." #~ msgid "Name cannot be empty." #~ msgstr "이름이 비워져서는 안됩니다." #~ msgid "There is already a selection with this name." #~ msgstr "이미 이 이름을 선택한 경우가 있습니다." #~ msgid "Select atoms, bonds, residues..." #~ msgstr "원자, 결합, 잔류물 선택" #~ msgid "Open a vertex shader source file" #~ msgstr "vertex shader 소스 파일 열기" #~ msgid "Open a fragment shader source file" #~ msgstr "fragment shader 소스 파일 열기" #~ msgid "Open a shader parameters file" #~ msgstr "shader 파라미터 파일 열기" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "OpenGL 2.0 GLSL shader를 열고 사용하기" #~ msgid "Energy (eV)" #~ msgstr "에너지 (eV)" #~ msgid "Transmittance (%)" #~ msgstr "투과율 (%)" #~ msgid "Absorbance (%)" #~ msgstr "흡광도 (%)" #~ msgid "No intensities" #~ msgstr "Intensity 값 없음" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "지금 연 분자의 vibration 데이터에는 intensity 값이 없습니다. Intensity는 " #~ "시각화를 위해 임의의 값이 주어집니다." #~ msgid "Intensity" #~ msgstr "강도" #~ msgid "X Axis" #~ msgstr "X 축" #~ msgid "Y Axis" #~ msgstr "Y 축" #~ msgid "&Appearance" #~ msgstr "모양(&A)" #~ msgid "E&xport Image" #~ msgstr "이미지 내보내기(&E)" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "적외선" #~ msgid "&Infrared Spectra Settings" #~ msgstr "적외선 스펙트럼 설정" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "NMR 스펙트럼 설정" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "자외선" #~ msgid "&UV Settings" #~ msgstr "자외선 설정(&U)" #~ msgid "No data" #~ msgstr "데이터 없음" #~ msgid "Dark" #~ msgstr "어둡게" #~ msgid "Light" #~ msgstr "밝게" #~ msgid "Publication" #~ msgstr "출판" #~ msgid "New Scheme" #~ msgstr "새 도표" #~ msgid "Confirm Scheme Removal" #~ msgstr "도표 제거 확인" #~ msgid "Really remove current scheme?" #~ msgstr "최근의 도표를 제거하시겠습니까?" #~ msgid "Change Scheme Name" #~ msgstr "도표 이름 변경" #~ msgid "Enter new name for current scheme:" #~ msgstr "최근의 도표에 대한 새로운 이름 입력:" #~ msgid "Select Background Color" #~ msgstr "배경색상 선택" #~ msgid "Export Calculated Spectrum" #~ msgstr "계산된 스펙트럼 내보내기" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "탭으로 분리된 값 (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "탭으로 분리된 값" #~ msgid "Comma Separated Values" #~ msgstr "쉼표로 분리된 값" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "스펙트럼 가져오기" #~ msgid "Spectra Import" #~ msgstr "스펙트럼 가져오기" #~ msgid "Unknown extension: %1" #~ msgstr "알려지지 않은 확장자: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR 데이터 (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole IR 데이터 (control)" #~ msgid "Data Format" #~ msgstr "데이터 형식" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "형식:" #~ msgid "Load Spectral Data" #~ msgstr "스펙트럼 데이터 불러오기" #~ msgid "Portable Network Graphics" #~ msgstr "PNG" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "선택된 이미지 파일 형식" #~ msgid "Windows Bitmap" #~ msgstr "Windows 비트맵" #~ msgid "Portable Pixmap" #~ msgstr "휴대용 픽스맵(PPM)" #~ msgid "X11 Bitmap" #~ msgstr "X11 비트맵" #~ msgid "X11 Pixmap" #~ msgstr "X11 픽스맵" #~ msgid "Save Spectra Image" #~ msgstr "스펙트럼 이미지 저장" #~ msgid "Spectra" #~ msgstr "스펙트럼" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "양자화학 계산 결과로부터 스펙트럼을 보여줌" #~ msgid "Vibrational Analysis" #~ msgstr "진동 계산" #~ msgid "Vibration" #~ msgstr "진동" #~ msgid "Pause" #~ msgstr "일시정지" #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "이 문서는 현재 분리된 분자입니다. 유닛 셀을 만들어야 합니다." #~ msgid "Orbitals" #~ msgstr "오비탈" #~ msgid "Orbital" #~ msgstr "오비탈" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "없음" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "반 데르 발스" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "전자 밀도" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "분자 오비탈" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "오류 - 정의되지 않은 타입" #~ msgid "Create Surfaces..." #~ msgstr "표면 형성..." #~ msgid "Electron Density" #~ msgstr "전자 밀도" #~ msgid "Insert Nanotube" #~ msgstr "나노튜브 삽입" #~ msgid "GL widget has no molecule" #~ msgstr "GL 위젯은 분자를 가지고 있지 않음" #~ msgid "Building video " #~ msgstr "비디오 만들기 " #~ msgid "Could not run mencoder." #~ msgstr "멘코더를 실행할 수 없음" #~ msgid "Connect" #~ msgstr "연결" #~ msgid "Disconnect" #~ msgstr "연결 해제" #~ msgid "Debug Information" #~ msgstr "디버그 정보" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "보기 크기: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "원자: %L1" #~ msgid "Bonds: %L1" #~ msgstr "결합: %L1" #~ msgid "Could not open file '%1' for writing." #~ msgstr "쓰기 위한 '%1' 파일을 불러올 수 없습니다." #~ msgid "Could not open file '%1' for reading." #~ msgstr "읽기 위한 파일 '%1'을 열 수 없습니다" #~ msgid "File %1 cannot be opened for reading." #~ msgstr "읽기 위한 %1 파일을 열 수 없습니다." #~ msgid "File %1 can not be opened for writing." #~ msgstr "파일 %1을 쓰기 위해 열 수 없습니다" #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "분자 파일 저장 실패 - 새 파일의 이름을 변경할 수 없음" #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "분자 파일 저장 실패 - 이전 파일을 지울 수 없음" #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "파일 '%1'에 분자 기록 실패. OpenBabel 기능 실패." #~ msgid "Molecule %1" #~ msgstr "분자 %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "알수없는 Python 엔진" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "Python엔진: 확인중 " #~ msgid " - no module" #~ msgstr " - 모듈이 없음" #~ msgid "Unknown Python Extension" #~ msgstr "알수없는 Python 확장기능" #~ msgid "PythonExtension: checking " #~ msgstr "Python확장기능: 확인중 " #~ msgid "Unknown Python Tool" #~ msgstr "알수없는 Python 도구" #~ msgid "PythonTool: checking " #~ msgstr "Python도구: 확인중 " #~ msgid "Conformer %1" #~ msgstr "이형태체 %1" #~ msgid "Tools" #~ msgstr "도구" #~ msgid "Axis:" #~ msgstr "축:" #~ msgid "Align:" #~ msgstr "정렬:" #~ msgid "Everything" #~ msgstr "전체" #~ msgid "Align" #~ msgstr "정렬" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Cartesian 축에 맞추어 분자 정렬" #~ msgid "Align Settings" #~ msgstr "정렬 설정" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "자동설정: 힘영역을 설정할 수 없습니다...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "자동설정: E = %1 %2 (dE = %3)" #~ msgid "Algorithm:" #~ msgstr "알고리즘:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "분자동역학 (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "분자동역학 (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "분자동역학 (900K)" #~ msgid "Start" #~ msgstr "시작" #~ msgid "Fixed atoms are movable" #~ msgstr "고정된 원자를 움직일 수 있습니다" #~ msgid "Ignored atoms are movable" #~ msgstr "무시된 원자를 움직일 수 있습니다" #~ msgid "AutoOpt Molecule" #~ msgstr "분자 자동설정" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "분자구조 자동최적화" #~ msgid "AutoOptimization Settings" #~ msgstr "자동최적화 설정" #~ msgid "Auto Rotation Tool" #~ msgstr "자동 회전 도구" #~ msgid "x rotation:" #~ msgstr "x 회전:" #~ msgid "x rotation" #~ msgstr "x 회전" #~ msgid "y rotation:" #~ msgstr "y 회전:" #~ msgid "y rotation" #~ msgstr "y 회전" #~ msgid "z rotation:" #~ msgstr "z 회전:" #~ msgid "z rotation" #~ msgstr "z 회전" #~ msgid "Automatic rotation of molecules" #~ msgstr "분자 자동 회전" #~ msgid "AutoRotate Settings" #~ msgstr "자동 회전 설정" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "결합 길이: %L1" #~ msgid " Show Angles" #~ msgstr " 각 보여주기" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "거리 (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "각: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "거리 (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "이면각: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "거리:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "결합 길이, 각, 이면각 측정" #~ msgid "Delete Atom" #~ msgstr "원자 삭제" #~ msgid "Draw Bond" #~ msgstr "결합 그리기" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "원자와 결합 그리기 및 편집" #~ msgid "Draw Settings" #~ msgstr "그리기 설정" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "원자와 조각을 해석, 회전 및 조작" #~ msgid "Manipulate Settings" #~ msgstr "조작 설정" #~ msgid "Navigate Settings" #~ msgstr "내비게이션 설정" #~ msgid "Selection Mode:" #~ msgstr "선택 모드:" #~ msgid "Atom/Bond" #~ msgstr "원자/결합" #~ msgid "Residue" #~ msgstr "잔류물" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "원자, 잔류물, 분자 선택" #~ msgid "Symbol" #~ msgstr "기호" #~ msgid "Bond Length" #~ msgstr "결합 길이" #~ msgid "Bond Angle" #~ msgstr "결합각" #~ msgid "Dihedral Angle" #~ msgstr "이면각" #~ msgid "Create/edit a z-matrix" #~ msgstr "z-matrix 만들기/편집" #~ msgid "Z-Matrix Settings" #~ msgstr "Z-Matrix 설정" #~ msgid "Residue Color Settings" #~ msgstr "잔류물 색상 설정" #~ msgid "Color residues by:" #~ msgstr "잔류물 채색:" #~ msgid "Amino Colors" #~ msgstr "아미노 색상" #~ msgid "Hydrophobicity" #~ msgstr "소수성" #~ msgid "Atom Radius:" #~ msgstr "원자 반지름:" #~ msgid "Bond Radius:" #~ msgstr "결합 반지름:" #~ msgid "Shape" #~ msgstr "모양" #~ msgid "Helix" #~ msgstr "나선" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "시트" #~ msgid "Loop" #~ msgstr "반복" #~ msgid "Colors" #~ msgstr "색상" #~ msgid "Dipole:" #~ msgstr "쌍극자:" #~ msgid "Dipole Moment" #~ msgstr "쌍극자 모멘트" #~ msgid "Width:" #~ msgstr "폭:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "각 잘라내기:" #~ msgid "None" #~ msgstr "없음" #~ msgid "Symbol & Atom number" #~ msgstr "기호 & 원자 번호" #~ msgid "Unique ID" #~ msgstr "고유 ID" #~ msgid "Custom data" #~ msgstr "사용자 설정 값" #~ msgid "Bond length" #~ msgstr "결합 길이" #~ msgid "Bond number" #~ msgstr "결합 번호" #~ msgid "Bond order" #~ msgstr "결합 차수" #~ msgid "Rendering:" #~ msgstr "렌더링:" #~ msgid "Radius:" #~ msgstr "반지름:" #~ msgid "Include Nitrogens" #~ msgstr "질소 포함" #~ msgid "Orbital:" #~ msgstr "오비탈:" #~ msgid "Render:" #~ msgstr "표현:" #~ msgid "Fill" #~ msgstr "채우기" #~ msgid "Points" #~ msgstr "점" #~ msgid "Draw Box:" #~ msgstr "그리기 상자:" #~ msgid "Style:" #~ msgstr "모양:" #~ msgid "Selected Colors" #~ msgstr "선택된 색상" #~ msgid "Mapped Colors" #~ msgstr "매핑된 색상" #~ msgid "Colors:" #~ msgstr "색상:" #~ msgid "Positive" #~ msgstr "양수" #~ msgid "Negative" #~ msgstr "음수" #~ msgid "Show Atoms" #~ msgstr "원자 보여주기" #~ msgid "Animate Trajectory" #~ msgstr "궤도 애니메이션 시작" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "반복" #~ msgid "fps" #~ msgstr "초당 프레임 수" #~ msgid "Save as .avi..." #~ msgstr "avi 형식으로 저장하기" #~ msgid "Number of atoms:" #~ msgstr "원자의 수:" #~ msgid "Number of rotatable bonds:" #~ msgstr "회전가능한 결합의 수:" #~ msgid "Energy" #~ msgstr "에너지" #~ msgid "Constraints" #~ msgstr "제약조건" #~ msgid "Add Constraints" #~ msgstr "제약조건 추가" #~ msgid "Ignore Atom" #~ msgstr "무시된 원자" #~ msgid "Fix Atom" #~ msgstr "원자 고정" #~ msgid "Fix Atom X" #~ msgstr "원자 X 고정" #~ msgid "Fix Atom Y" #~ msgstr "원자 Y 고정" #~ msgid "Fix Atom Z" #~ msgstr "원자 Z 고정" #~ msgid "Torsion angle" #~ msgstr "비틀림 각도" #~ msgid "Add" #~ msgstr "추가" #~ msgid "Save" #~ msgstr "저장" #~ msgid "Load" #~ msgstr "불러오기" #~ msgid "File Import..." #~ msgstr "파일 불어오기..." #~ msgid "Setup Force Field" #~ msgstr "힘 영역 설정" #~ msgid "Force Field" #~ msgstr "힘 영역" #~ msgid "Algorithm" #~ msgstr "알고리즘" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "기타" #~ msgid "Insert Fragment..." #~ msgstr "파편 삽입..." #~ msgid "Peptide Builder" #~ msgstr "펩티드 빌더" #~ msgid "Alanine" #~ msgstr "알라닌" #~ msgid "Ala" #~ msgstr "알라닌(Ala)" #~ msgid "Arginine" #~ msgstr "아르기닌" #~ msgid "Arg" #~ msgstr "아르기닌(Arg)" #~ msgid "Asparagine" #~ msgstr "아스파라긴" #~ msgid "Asn" #~ msgstr "아스파라긴(Asn)" #~ msgid "Aspartic acid" #~ msgstr "아스파르트 산" #~ msgid "Asp" #~ msgstr "아스파르트 산(Asp)" #~ msgid "Cysteine" #~ msgstr "시스테인" #~ msgid "Cys" #~ msgstr "시스테인(Cys)" #~ msgid "Glutamic acid" #~ msgstr "글루탐산" #~ msgid "Glu" #~ msgstr "글루탐산(Glu)" #~ msgid "Glutamine" #~ msgstr "글루타민" #~ msgid "Gln" #~ msgstr "글루타민(Gln)" #~ msgid "Glycine" #~ msgstr "글리신" #~ msgid "Gly" #~ msgstr "글리신(Gly)" #~ msgid "Histidine" #~ msgstr "히스티딘" #~ msgid "His" #~ msgstr "히스티딘(His)" #~ msgid "Isoleucine" #~ msgstr "이소류신" #~ msgid "Ile" #~ msgstr "이소류신(Ile)" #~ msgid "Valine" #~ msgstr "발린" #~ msgid "Val" #~ msgstr "발린(Val)" #~ msgid "Tyrosine" #~ msgstr "티로신" #~ msgid "Tyr" #~ msgstr "티로신(Tyr)" #~ msgid "Tryptophan" #~ msgstr "트립토판" #~ msgid "Trp" #~ msgstr "트립토판(Trp)" #~ msgid "Threonine" #~ msgstr "트레오닌" #~ msgid "Thr" #~ msgstr "트레오닌(Thr)" #~ msgid "Serine" #~ msgstr "세린" #~ msgid "Ser" #~ msgstr "세린(Ser)" #~ msgid "Proline" #~ msgstr "프롤린" #~ msgid "Pro" #~ msgstr "프롤린(Pro)" #~ msgid "Phenylalanine" #~ msgstr "페닐알라닌" #~ msgid "Phe" #~ msgstr "페닐알라닌(Phe)" #~ msgid "Methionine" #~ msgstr "메티오닌" #~ msgid "Met" #~ msgstr "메티오닌(Met)" #~ msgid "Lysine" #~ msgstr "리신" #~ msgid "Lys" #~ msgstr "리신(Lys)" #~ msgid "Leucine" #~ msgstr "류신" #~ msgid "Leu" #~ msgstr "류신(Leu)" #~ msgid "Amino Acids:" #~ msgstr "아미노산:" #~ msgid "Stereochemistry:" #~ msgstr "입체화학:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Chain Number:" #~ msgstr "연쇄 번호:" #~ msgid "The chain number for the new peptide" #~ msgstr "새 펩티드에 대한 연쇄번호" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "분자 정보" #~ msgid "Number of Residues:" #~ msgstr "잔류물의 수:" #~ msgid "Energy (kJ/mol):" #~ msgstr "에너지 (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "쌍극자 모멘트 (D):" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "Advanced" #~ msgstr "고급" #~ msgid "Data" #~ msgstr "자료" #~ msgid "Nothing" #~ msgstr "없음" #~ msgid "Grid" #~ msgstr "격자" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray 내보내기" #~ msgid "Select..." #~ msgstr "선택..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "전체 화면 안티앨리어싱 사용" #~ msgid "Antialias" #~ msgstr "안티앨리어싱" #~ msgid "Set the background color to be transparent" #~ msgstr "배경화면 색상 투명하게 설정하기" #~ msgid "Alpha transparency" #~ msgstr "알파 투명" #~ msgid "Command:" #~ msgstr "명령:" #~ msgid "Compute..." #~ msgstr "계산..." #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "&Advanced Setup" #~ msgstr "고급 설정(&A)" #~ msgid "System" #~ msgstr "시스템" #~ msgid "Read" #~ msgstr "읽기" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "Default" #~ msgstr "기본값" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Debug" #~ msgstr "디버그" #~ msgid "CI" #~ msgstr "CI" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "Minutes" #~ msgstr "분" #~ msgid "Hours" #~ msgstr "시간" #~ msgid "Days" #~ msgstr "일" #~ msgid "Weeks" #~ msgstr "주" #~ msgid "Years" #~ msgstr "년" #~ msgid "MegaBytes" #~ msgstr "메가바이트" #~ msgid "GigaBytes" #~ msgstr "기가바이트" #~ msgid "Memory:" #~ msgstr "메모리:" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "반복" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "다음 값" #~ msgid "Skip" #~ msgstr "건너뛰기" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "알파와 베타 오비탈 회전" #~ msgid "Grid-Free" #~ msgstr "격자 없애기" #~ msgid "Maximum:" #~ msgstr "최대:" #~ msgid "Minimum:" #~ msgstr "최소:" #~ msgid "Quadratic Approximation" #~ msgstr "2차 근사치" #~ msgid "Standard" #~ msgstr "표준" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO 입력" #~ msgid "NWChem Input" #~ msgstr "NWChem 입력" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem 입력" #~ msgid "Display Type:" #~ msgstr "표시 형식:" #~ msgid "&Load data..." #~ msgstr "데이터 읽기(&L)..." #~ msgid "&Close" #~ msgstr "닫기(&C)" #~ msgid "Calculated Spectra:" #~ msgstr "계산된 스펙트럼:" #~ msgid "Imported Spectra:" #~ msgstr "가져온 스펙트럼:" #~ msgid "Font:" #~ msgstr "글꼴:" #~ msgid "Change Font..." #~ msgstr "글꼴 변경..." #~ msgid "Show" #~ msgstr "보기" #~ msgid "&Import..." #~ msgstr "가져오기(&I)..." #~ msgid "Background:" #~ msgstr "배경:" #~ msgid "Foreground:" #~ msgstr "배경색:" #~ msgid "New..." #~ msgstr "새로 만들기..." #~ msgid "Rename..." #~ msgstr "이름 바꾸기..." #~ msgid "&Schemes:" #~ msgstr "도표(&S):" #~ msgid "&Export..." #~ msgstr "내보내기(&E)..." #~ msgid "&DPI:" #~ msgstr "DPI(&D):" #~ msgid "&Width:" #~ msgstr "너비(&W):" #~ msgid "&Height" #~ msgstr "높이(&H)" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "픽셀" #~ msgid "&Save Image..." #~ msgstr "이미지 저장(&S)..." #~ msgid "&Y Axis Units:" #~ msgstr "Y 축 단위:" #~ msgid "Nucleus:" #~ msgstr "원자핵:" #~ msgid "&Reference:" #~ msgstr "참조(&R):" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "분자 진동" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "고주파 진동은 빠른 운동을 보여줄 것입니다" #~ msgid "Animation speed set by frequency" #~ msgstr "진동수에 의한 애니메이션 속도 설정" #~ msgid "Display force &vectors" #~ msgstr "힘, 벡터 표시" #~ msgid "Generate Cell" #~ msgstr "세포 생성" #~ msgid "Create Surfaces" #~ msgstr "표면 생성" #~ msgid "Surface Type:" #~ msgstr "표면 형식:" #~ msgid "Color By:" #~ msgstr "채색:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "낮음" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "중간" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "높음" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "매우 높음" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "표시 형식:" #~ msgid "New Display" #~ msgstr "새로운 창" #~ msgid "Advanced..." #~ msgstr "고급..." #~ msgid "Python Settings" #~ msgstr "파이썬 설정" #~ msgid "Z Matrix Editor" #~ msgstr "Z 행렬 편집기" #~ msgid "Import Selected Atoms" #~ msgstr "선택된 원자 내보내기" avogadrolibs-1.93.0/i18n/ms.po000066400000000000000000006773461360735163600160570ustar00rootroot00000000000000# Malay translation for avogadro # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2012. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 07:01+0000\n" "Last-Translator: Geoff Hutchison \n" "Language-Team: Malay \n" "Language: ms\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Penjana Input..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Penjana Input..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Teruskan" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Tutup" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Tidak Diketahui" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "abinit gagal dimulakan." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Henti Paksa Pengiraan" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Amaran" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Amaran" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Pilih Pelarut" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Output" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Tidsak Dapat Tulis ke Fail." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Fail video tidak ditulis." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Fail video tidak ditulis." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Konfigur" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Tajuk" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nama Fail:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Pemproses:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Pengiraan:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teori:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teori:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Asas" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Tiada molekul ditetapkan" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Henti &Animasi" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Tiada Atom Dipilih" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrogen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berilium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boron" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Karbon" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogen" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oksigen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Florin" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Natrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminum" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silikon" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosforus" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Sulfur" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Klorin" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kalium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kalsium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanium" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Kromium" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Ferum" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Kuprum" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Galium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenik" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenium" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromin" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Kripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yitrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdenum" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tektenium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Paladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Argentum" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Stanum" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimoni" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telurium" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iodin" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Sesium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantanum" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Serium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodimium" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodimium" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantalum" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungsten" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhenium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platinum" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Emas" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Raksa" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Talium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Plumbum" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astatin" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Fransium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Torium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranium" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptinium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Amerisium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Kurium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kalifornium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrensium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovium" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorium" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Layar..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Pilih Pelarut" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Padam Dipilih" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Semua fail" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "tiada tajuk" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Jadual Berkala" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "abinit gagal dimulakan." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinit Mengalami Kerosakan." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Ralat OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Tidak Diketahui" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekul" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Tambah Atom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Buang Atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Kosongkan Semua" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Laras Hidrogen" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Ubah Unsur" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Ubah Unsur" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Cas Formal" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Tambah Ikatan" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Buang Atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Padam Ikatan" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Tertib Ikatan" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Ubah Tertib Ikatan" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Lekat-ke Ikatan" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Padam Ikatan" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Tambah Sel &Unit" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Buang Sel &Unit" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Isi Sel Unit" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Lilit Atom ke Sel" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Skalakan Volum Sel Unit" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Sel Super" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Putar ke Orientasi Piawai" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Kurangkan ke Sel Primitif" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Simetrikan Hablur" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Isi Sel Unit" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Kurangkan ke Unit Asimetrik" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Fail" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Eksport" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Ambang:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Fail Output Orca" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Sambungan" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Ralat" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Masalah membaca fail traj %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Ralat OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Masalah membaca fail traj %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Buka Fail WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Buka Fail WFN" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Ralat" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Simpan Dek Input" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "Input LAMMPS" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Berjaya!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Ulasan fail Input" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Papar Ikatan Berbilang" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrogen" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Bebola dan Batang" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Terap label atom dan ikatan" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulasi Di Pusat Ikatan" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulasi Di Pusat Ikatan" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Atom Hujung" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Buang Hidrogen" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Bina" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Ikatan" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nama Fail:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Penyunting koordinat Cartes" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Penyunting koordinat Cartes" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Kembalikan Perubahan" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nama Fail Tidak Sah" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nama unsur" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Simbol Unsur" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Simbol Unsur" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nama Fail Tidak Sah" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Nombor Atom" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nama Fail Tidak Sah" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Koordinat" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Koordinat" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Koordinat" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Koordinat Cartes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Koordinat Cartes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Koordinat" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Tetapkan Koordinat Cartes" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Suai" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,abuyop, ,Launchpad Contributions:,Avogadro Team," "abuyop, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,abuyop, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,abuyop" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ dengan nombor" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Koordinat Cartes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Koordinat Cartes" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Maklumat EPP GAMESS" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Maklumat EPP GAMESS" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Input Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Salin Semua" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Suai" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Kosongkan Semua" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Tidak dapat tetapkan format: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Tidak dapat tetapkan format: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "I&mport Hablur dari Papan Keratan..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Isi Sel Unit" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Isi Sel Unit" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Lilit Atom ke Sel" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Putar ke Orientasi Piawai" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Skalakan Sel Ke &Volum..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Sel Super" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Kurangkan Sel (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Hablur" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Buang Sel &Unit" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Tambah Sel &Unit" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "Unit sel ini sudah dikurangkan kepada perwakilan Niggli berkanun." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Hablur" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Terap label atom dan ikatan" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Tidak Dapat Hurai Teks" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Paksi Suai" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Lukis" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Lukis Atom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Ubah Tertib Ikatan" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Buang Atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Jarak" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Jarak (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Lain-lain..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Pengoptimuman Automatik" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Tunggal" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dubel" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Tripel" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Skrip" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Masalah membaca fail traj %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Penjana Input..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Input GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Tenaga Titik Tunggal" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Geometri Keseimbangan" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Keadaan Peralihan" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frekuensi" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Keupayaan Teras" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Air" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Dublet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "DIkation" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Kation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutral" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Dek Input GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Henti Paksa Pengiraan" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Laras Hidrogen" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Tambah Hidrogen" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Buang Hidrogen" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Buang Hidrogen" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrogen" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidrogen" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Import" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Terap label atom dan ikatan" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "Sis&ip" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Tiada Keterangan" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekul" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Jana..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipulasi" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipulasi Atom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Ukur" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Dwihedron:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Sudut:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Sudut:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Ukur" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Terap jaringan permukaan-iso molekul" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Lihat" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Sifat Molekul" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigasi" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigasi" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nama Kimia" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Struktur kimia untuk dimuat turun." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Muat Turun Rangkaian Gagal" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Had masa tamat rangkaian atau ralat lain." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Molekul yang dinyatakan tidak ditemui: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Muat Turun Rangkaian Gagal" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimumkan Geometri" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Pengoptimuman Geometri" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Amati ikatan?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Tambah Hidrogen" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Tambah Hidrogen untuk pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Buang Hidrogen" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Membaca molekul dari fail '%1' mengalami kegagalan." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Masalah berlaku semasa menulis fail %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimumkan Geometri" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Jana..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Fail trajektori %1 tidak serasi dengan bilangan atom yang ada dalam molekul" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimumkan Geometri" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Tambah Hidrogen" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "Jana Input Orca..." #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Tambah Hidrogen untuk pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Buang Hidrogen" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Henti" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parameter:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Ikatan Dinamik" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Buang..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Henti" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Eksport Grafik Vektor" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Tidak dapat baca fail %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Saya adalah mesej ralat!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Ralat" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "Sinar-POV" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Simpan Fail Video" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Terap menggunakan POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Terap primitif menggunakan sifat QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Graf Molekul..." #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Graf Molekul dengan Pasangan Tersendiri..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Cas Atom..." #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "Sa&mbungan" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Buka Fail WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Fail WFN (*.wfn);;Semua fail (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Sambungan QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Cipta fail input untuk pakej kimia kuantum" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Mengira Ketumpatan Elektron" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Mengira Ketumpatan Elektron" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Kira dan visualkan petala molekul" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Tetap Semula" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Penjana Fail Input" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Padam Semua" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Pemilihan" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Songsangkan Pemilihan" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " elektrin valens" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Pilih" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Pilih" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Pemilihan" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Pemilihan" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Cerap Kumpulan Ruang" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Kurangkan ke Unit Asimetrik" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Toleransi SCF:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Kumpulan &Ruang" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Cerapan kumpulan ruang gagal.\n" "\n" "Anda hendak cuba lagi dengan toleransi yang berbeza?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Cerapan kumpulan ruang gagal.\n" "\n" "Anda hendak cuba lagi dengan toleransi yang berbeza?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Cerapan kumpulan ruang gagal.\n" "\n" "Anda hendak cuba lagi dengan toleransi yang berbeza?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Cerapan kumpulan ruang gagal.\n" "\n" "Anda hendak cuba lagi dengan toleransi yang berbeza?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Toleransi SCF:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Antarabangsa" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Tetap Kumpulan Ruang" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Kumpulan &Ruang" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Getaran" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Pengvisualan Spektrum" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Papar koordinat peca&han" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Jenis" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Unsur" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Simetri" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Pilih mengikut Unsur..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Terap momen diwkutup molekul" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Terap" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Terap menggunakan POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Bingkai Wayar" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Terap molekul sebagai batang" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Dialog" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Bentuk" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Tetapan Pemilihan" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Henti Paksa Pengiraan" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Program Pelorek:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Pemproses:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Sembunyi bila selesai" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Sembunyi bila selesai" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Ubah Unsur" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Fail Input Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "Jana Input Orca..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Par Fail:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Medan Daya:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Par Fail:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Fail Input Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Simpan Dek Input" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Berjaya!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Struktur:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Muat Fail..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Tetapan Ukur" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Nama Fail:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigasi" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigasi" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigasi" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nama Fail:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Batal" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Format Koordinat:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Tetap Semula" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Jarak" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Format:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Kembalikan Perubahan" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Laksana" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Import Hablur" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parameter Sel Super" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Pilihan Sel Super" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Ulang A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Ulang B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Ulang C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Tetapkan Warna Sel Unit" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matriks Sel" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Matriks Sel Pecahan (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Terjemah Atom" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Laksana" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Sembunyi" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Skalakan Volum Sel Unit" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Masukkan volum baru:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "&Faktor Skala:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Label Teks" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Unsur:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Tertib Ikatan:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Input GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "Persediaan &Asas" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Dalam:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Gandaan:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Dengan:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Tajuk:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Cas:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Kira:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nama Fail:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Tetap Semula Semua" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Lalai" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Muat Fail..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nama" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Tiada Keterangan" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Berat Molekul (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Formula Kimia:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Bilangan Atom:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Bilangan Ikatan:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Pengoptimuman Geometri" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Kaedah Pengoptimuman" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Medan Daya:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Kaedah Pengoptimuman" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Penurunan Tercuram" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Gradien Konjugat" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Putar Sendiri" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, permukaan-iso = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Keupayaan Elektrostatik" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "langkah" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Kriteria Keamatan Gradien:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Penumpuan" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Had Masa:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Unit" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Bilangan Ikatan:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Panjang Gelombang (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Padam Dipilih" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Jejari Takat Kritikal:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Jejari Laluan Ikatan:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Kovalen" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Saiz Malar" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Kelegapan:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Permukaan" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Permukaan" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Sederhana" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Sangat Rendah" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Rendah" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Tinggi" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Sangat Tinggi" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Nilai permukaan-&Iso:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolusi:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Permukaan" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Kira" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Getaran" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitud:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Mulakan &Animasi" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Henti &Animasi" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekul" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Simetri" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Pilihan" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Simetri" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Kumpulan &Ruang" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,abuyop, ,Launchpad Contributions:,Avogadro Team," "abuyop, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,abuyop, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,abuyop" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,avogadro-devel@lists.sourceforge.net,,,,avogadro-devel@lists." "sourceforge.net,,,,,avogadro-devel@lists.sourceforge.net,," #~ msgid "Color by Index" #~ msgstr "Warna mengikut Indeks" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Warna mengikut Indeks (merah, jingga, kuning, hijau, biru, ungu)." #~ msgid "Color by Partial Charge" #~ msgstr "Warna mengikut Cas Separa" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Warna mengikut cas separa atom (biru = positif, merah = negatif)." #~ msgid "Custom Color:" #~ msgstr "Warna Suai:" #~ msgid "Custom Color" #~ msgstr "Warna Suai" #~ msgid "Set custom colors for objects" #~ msgstr "Tetapkan warna suai untuk objek" #~ msgid "Color by Distance" #~ msgstr "Warna mengikut Jarak" #~ msgid "Color by distance from the first atom." #~ msgstr "Warna mengikut jarak dari atom pertama." #~ msgid "Color by Element" #~ msgstr "Warna mengikut Unsur" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Warna mengikut Unsur (karbon = kelabu, oksigen = merah, ...)." #~ msgid "Color by Residue" #~ msgstr "Warna mengikut Baki" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Warna mengikut sisa (jenis asid amino, kebolehtelapanair, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "Corak SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Warna Sorot:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Warna mengikut Corak SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Sorot fitur tertentu yang sepadan dengan corak SMARTS." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoktium" #~ msgid "Engines" #~ msgstr "Enjin" #~ msgid "Axes" #~ msgstr "Paksi" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Terap paksi x, y, dan z pada asalan" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Terap primitif menggunakan Bola (atom) dan batang (ikatan)" #~ msgid "Cartoon" #~ msgstr "Kartun" #~ msgid "Renders protein secondary structure" #~ msgstr "Terap struktur sekunder protein" #~ msgid "Dipole" #~ msgstr "Dwikutub" #~ msgid "Force" #~ msgstr "Daya" #~ msgid "Renders force displacements on atoms" #~ msgstr "Terap sesaran daya atom" #~ msgid "Hydrogen Bond" #~ msgstr "Ikatan Hidrogen" #~ msgid "Renders hydrogen bonds" #~ msgstr "Terap ikatan hidrogen" #~ msgid "Select Atom Labels Color" #~ msgstr "Pilih Warna Label Atom" #~ msgid "Select Bond Labels Color" #~ msgstr "Pilih Warna Label Ikatan" #~ msgid "Select Atom Labels Font" #~ msgstr "Pilih Fon Label Atom" #~ msgid "Select Bond Labels Font" #~ msgstr "Pilih Fon Label Ikatan" #~ msgid "Label" #~ msgstr "Label" #~ msgid "Polygon" #~ msgstr "Poligon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Teram atom sebagai tetrahedra, octahedra, dan lain-lain poligon" #~ msgid "Ribbon" #~ msgstr "Riben" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Terap tulang belakang protien sebagai reben" #~ msgid "Ring" #~ msgstr "Gelang" #~ msgid "Renders rings with colored planes" #~ msgstr "Terap gelang dengan satah berwarna" #~ msgid "Simple Wireframe" #~ msgstr "Kerangka Wayar Ringkas" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "Terap ikatan sebagai wayar (garis), sesuai untuk molekul bersaiz besar" #~ msgid "Van der Waals Spheres" #~ msgstr "Sfera Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Terap atom sebagai sfera Van der Waals" #~ msgid "Stick" #~ msgstr "Batang" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Ketumpatan elektron, permukaan-iso = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, permukaan-iso = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Terap ikatan sebagai wayar (garis), sesuai untuk bio-molekul bersaiz " #~ "sangat besar" #~ msgid "Trajectory files" #~ msgstr "Fail trajektori" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Fail SEJARAH DL-POLY" #~ msgid "Open Trajectory File" #~ msgstr "Buka Fail Trajektori" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "fail video (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Menambah sambungan .avi" #~ msgid "Animation..." #~ msgstr "Animasi..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Gagal membaca format fail dari fail %1" #~ msgid "Read trajectory file %1 failed." #~ msgstr "Baca fail trajektori %1 gagal." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Mesti nyatakan nama fail .avi yang sah" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "Widget GL tidak diawalkan dengan betul semasa menyimpan video" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Nama fail video tidak sah. Mesti sertakan laluan direktori penuh" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Nama fail video tidak sah. Mesti sertakan nama dan laluan direktori " #~ "penuh, berakhir dengan .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Tidak dapat tentukan format dari nama fail: %1" #~ msgid "Animation" #~ msgstr "Animasi" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animasikan trajektori, tindakbalas, dan getaran." #~ msgid "Cartesian Editor" #~ msgstr "Penyunting Cartes" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Tiada sel unit ditakrif untuk molekul -- tidak dapat guna koordinat " #~ "pecahan." #~ msgid "Cartesian Editor..." #~ msgstr "Penyunting Cartes..." #~ msgid "Cartesian editor" #~ msgstr "Penyunting Cartes" #~ msgid "Number of atoms: %1" #~ msgstr "Bilangan atom: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Bilangan ikatan boleh putar: %1" #~ msgid "Add constraint" #~ msgstr "Tambah kekangan" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Molekul anda mesti mengandungi sekurang-kurangnya satu atom untuk " #~ "menambah kekangan ikatan" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Molekul anda mesti mengandungi sekurang-kurangnya dua atom untuk menambah " #~ "kekangan ikatan" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Molekul anda mesti mengandungi sekurang-kurangnya tiga atom untuk " #~ "menambah kekangan sudut" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Molekul anda mesti mengandungi sekurang-kurangnya empat atom untuk " #~ "menambah kekangan kilas" #~ msgid "&Crystallography" #~ msgstr "&Kristalografi" #~ msgid "&Reduce" #~ msgstr "&Kurangkan" #~ msgid "&Settings" #~ msgstr "&Tetapan" #~ msgid "&Length Unit" #~ msgstr "Unit &Panjang" #~ msgid "&Angle Unit" #~ msgstr "Unit &Sudut" #~ msgid "&Coordinate Display" #~ msgstr "Paparan K&oordinat" #~ msgid "Coordinate &Preservation" #~ msgstr "Pengekalan Koor&dinat" #~ msgid "&Matrix Display" #~ msgstr "Paparan &Matriks" #~ msgid "Hide &Editors" #~ msgstr "Sembunyi P&enyunting" #~ msgid "Show &Editors" #~ msgstr "Papar P&enyunting" #~ msgid "Hide &Property Display" #~ msgstr "Sembunyi Paparan S&ifat" #~ msgid "Show &Property Display" #~ msgstr "Papar Paparan S&ifat" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Jenis Kekisi: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Kumpulan Ruang: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Volum sel unit: %L1%2" #~ msgid "Undefined" #~ msgstr "Tidak Ditakrif" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triklinik" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoklinik" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortorombus" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragon" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Rombohedron" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Heksagon" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Kiub" #~ msgid "Paste Crystal" #~ msgstr "Hablur Tampal" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "pengurangan-Niggli gagal. Kekisi struktur input yang mengelirukan " #~ "algoritma pengurang-Niggli. Cuba hasilkan usikan kecil (anggaran 2 tetib " #~ "leboh kecil magnitud berbanding toleransi kepada kekisi input dan cuba " #~ "lagi." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Gagal kurangkan sel selepasa 1000 iterasi algortima pengurangan. " #~ "Dihentikan." #~ msgid "&Translate Atoms..." #~ msgstr "&Terjemah Atom..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Putar Ke &Orientasi Piawai" #~ msgid "&Slab..." #~ msgstr "&Papak..." #~ msgid "Perceive Space&group..." #~ msgstr "Rasai Kumpulan &Ruang..." #~ msgid "Set &Spacegroup..." #~ msgstr "Tetapkan K&umpulan Ruang..." #~ msgid "&Fill Unit Cell" #~ msgstr "&Isi Sel Unit" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Isi sel unit menggunakan kumpulan ruang semasa." #~ msgid "Sy&mmetrize Crystal" #~ msgstr "S&imetrikan Hablur" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Kurangkan Sel (&Primitif)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometer" #~ msgid "&Picometer" #~ msgstr "&Pikometer" #~ msgid "&Degree" #~ msgstr "&Darjah" #~ msgid "&Radian" #~ msgstr "&Radian" #~ msgid "Display &cartesian coordinates" #~ msgstr "Papar koordinat &cartes" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Kekalkan" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Kekalkan Koordinat &Pecahan Semasa Pengubahsuaian Sel" #~ msgid "Display &cartesian matrix" #~ msgstr "Papar matriks &cartes" #~ msgid "Display &fractional matrix" #~ msgstr "Papar matrik pe&cahan" #~ msgid "Display as &row vectors" #~ msgstr "Papar vektor &baris" #~ msgid "Display as &column vectors" #~ msgstr "Papar vektor &lajur" #~ msgid "&Crystal View Options..." #~ msgstr "Pilihan Paparan &Hablur..." #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Tiada kumpulan ruang yang ditetapkan untuk dokumen ini.\n" #~ "\n" #~ "Anda hendak tetapkan kumpulan ruang sekarang?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Kumpulan ruang P1 dikesan -- tidak dapat simetrikan ke kumpulan ruang " #~ "ini.\n" #~ "\n" #~ "Anda hendak cuba lagi dengan toleransi yang berbeza?" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Lilit Atom Ke Sel" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Kurangkan ke Sel Niggli" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "Pilih toleransi dalam unit cartes semasa:" #~ msgid "Crystallography" #~ msgstr "Kristalografi" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Bina dan analisis struktur berkala." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "Input tidak diformat sebagai salah\n" #~ "satu daripada formata tersokong berikut:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Format VASP\n" #~ msgid "Bad Compostion" #~ msgstr "Komposisi Teruk" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "Medan identiti mesti mengandungi jumlah ruang masukan bebas had yang sama " #~ "sebagai baris 6 POSCAR." #~ msgid "Cartesian Coordinates" #~ msgstr "Koordinat Cartes" #~ msgid "Fractional Coordinates" #~ msgstr "Koordinat Pecahan" #~ msgid "Set Fractional Coordinates" #~ msgstr "Tetapkan Koordinat Pecahan" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Matrik Sel (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Tetapkan Matriks Sel Unit" #~ msgid "Set Unit Cell Params" #~ msgstr "Tetapkan Param Sel Unit" #~ msgid "Working..." #~ msgstr "Bekerja..." #~ msgid "Build" #~ msgstr "Binaan" #~ msgid "Cut Slab From Crystal" #~ msgstr "Potong Papak Dari Hablur" #~ msgid "No GLWidget?" #~ msgstr "Tiada GLWidget?" #~ msgid "Please select one or more atoms." #~ msgstr "Sila pilih satu atau lebih atom." #~ msgid "Trajectory..." #~ msgstr "Trajektori..." #~ msgid "Open chemical file format" #~ msgstr "Buka format fail kimia" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Fail kimia (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Buka fail parameter" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Fail kimia (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Import Trajektori" #~ msgid "Import trajectory files" #~ msgstr "Import fail trejektori" #~ msgid "Setup Force Field..." #~ msgstr "Sediakan Medan Daya..." #~ msgid "Calculate Energy" #~ msgstr "Kira Tenaga" #~ msgid "Conformer Search..." #~ msgstr "Gelintar Konformer..." #~ msgid "Constraints..." #~ msgstr "Kekangan..." #~ msgid "Ignore Selection" #~ msgstr "Abaikan Pemilihan" #~ msgid "Fix Selected Atoms" #~ msgstr "Baiki Atom Terpilih" #~ msgid "&Molecular Mechanics" #~ msgstr "Mekanik &Molekul" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Tidak dapat tetapkan medan daya terpilih semasa untuk molekul ini. " #~ "Menukar ke UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Tenaga = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Pengoptimuman Geometri" #~ msgid "Forcefield Optimization" #~ msgstr "Pengoptimuman Medan Daya" #~ msgid "Systematic Rotor Search" #~ msgstr "Gelintar Rotor Sistematik" #~ msgid "Random Rotor Search" #~ msgstr "Gelintar Rotor Rawak" #~ msgid "Weighted Rotor Search" #~ msgstr "Gelintar Rotor Berpemberat" #~ msgid "Genetic Algorithm Search" #~ msgstr "Gelintar Algoritma Genetik" #~ msgid "ForceField" #~ msgstr "Medan Daya" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimumkan molekul dan jana konformer menggunakan medan daya mekanik " #~ "molekul" #~ msgid "&Vector Graphics..." #~ msgstr "Grafik &Vektor..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Format imej vektor umum" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Grafik Vektor dieksport" #~ msgid "Change H to Methyl" #~ msgstr "Ubah H kepada Metil" #~ msgid "H to Methyl" #~ msgstr "H kepada Metil" #~ msgid "H2Methyl" #~ msgstr "HKeMetil" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Ubah hidrogen kepada kumpulan metil" #~ msgid "Add or remove hydrogens" #~ msgstr "Tambah atau buang hidrogen" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "Sisip DNA" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Urasil" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Tiamina" #~ msgid "Insert DNA/RNA" #~ msgstr "Sisip DNA/RNA" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Sisip rantaian DNA/RNA" #~ msgid "Cannot read molecular file %1." #~ msgstr "Tidak dapat baca fail molekular %1." #~ msgid "Fragment..." #~ msgstr "Cebisan..." #~ msgid "Insert SMILES" #~ msgstr "Sisip SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Sisip cebisan SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Sisip Cebisan" #~ msgid "Insert Crystal" #~ msgstr "Sisip Hablur" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Sisip cebisan molekul untuk membina molekul yang lebih besar" #~ msgid "Peptide..." #~ msgstr "Peptid..." #~ msgid "Insert Peptide" #~ msgstr "Sisip Peptid" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Sisip jujukan oligopeptid" #~ msgid "Invert Chirality" #~ msgstr "Kekiralan Sonsang" #~ msgid "InvertChiral" #~ msgstr "Kekiralan Songsang" #~ msgid "Invert chiral centers" #~ msgstr "Pusat kekiralan songsang" #~ msgid "Molecule Properties..." #~ msgstr "Sifat Molekul..." #~ msgid "&Properties" #~ msgstr "Si&fat" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "tidak diketahui" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Momen Dwipolar Anggaran (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(tertangguh)" #~ msgid "Display standard molecular properties." #~ msgstr "Papar sifat molekul piawai" #~ msgid "Fetch from PDB..." #~ msgstr "Diperoleh dari PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Dapatkan mengikut nama kimia..." #~ msgid "Fetch from URL..." #~ msgstr "Peroleh dari URL..." #~ msgid "PDB Entry" #~ msgstr "Masukan PDB" #~ msgid "PDB entry to download." #~ msgstr "Masukan PDB untuk dimuat turun." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL molekul untuk dimuat turun." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Molekul yang dinyatakan tidak dimuatkan: %1" #~ msgid "Network Fetch" #~ msgstr "Rangkaian Diperoleh" #~ msgid "Fetch molecule files over the network." #~ msgstr "Peroleh fail molekul melalui rangkaian." #~ msgid "OrcaExtension Warning" #~ msgstr "Amaran Sambungan Orca" #~ msgid "OrcaExtension" #~ msgstr "Sambungan Orca" #~ msgid " No vibration data found!" #~ msgstr " Tiada data getaran ditemui!" #~ msgid " No vibration data found or molecule changed outside Orca Plugin!" #~ msgstr "" #~ " Tiada data getaran ditemui atau molekul berubah diluar Pemalam Orca!" #~ msgid "Selected displacement data don't fit to the actual molecule!" #~ msgstr "Data sesaran terpilih tidak muat pada molekul yang sebenar!" #~ msgid "extended Geometry File" #~ msgstr "Fail Geometri lanjutan" #~ msgid "All Files" #~ msgstr "Semua Fail" #~ msgid "Read Orca Outputfile" #~ msgstr "Baca Fail Output Orca" #~ msgid "no file found" #~ msgstr "tiada fail ditemui" #~ msgid "Somethings wrong in the file structure" #~ msgstr "Ada masalah berlaku dalam struktur fail" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "Ada masalah berlaku dalam struktur fail - sel unit" #~ msgid "Something is wrong in the IR output! " #~ msgstr "Ada masalah berlaku dalam output IR! " #~ msgid "Something is wrong in the raman output! " #~ msgstr "Ada masalah berlaku dalam output raman! " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "Ada masalah berlaku dalam output tenaga orbital! " #~ msgid "No geometry found in file!" #~ msgstr "Tiada geometri ditemui dalam fail!" #~ msgid "Could not read file!" #~ msgstr "Tidak dapat baca fail!" #~ msgid "Analyse Orca Output..." #~ msgstr "Analisis Output Orca..." #~ msgid "&Orca" #~ msgstr "&Orca" #~ msgid "Orca Test Example" #~ msgstr "Contoh Ujian Orca" #~ msgid "Show Preview" #~ msgstr "Papar Pratonton" #~ msgid "Hide Preview" #~ msgstr "Sembunyi Pratonton" #~ msgid "Intensities" #~ msgstr "Keamatan" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Simpan imej terterap Sinar-POV" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Fail imej (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "Sinar-POV..." #~ msgid "No filename supplied." #~ msgstr "Tiada nama fail dibekal." #~ msgid "No valid filename was supplied." #~ msgstr "Tiada nama fail dibekal." #~ msgid "Does not compute." #~ msgstr "Tidak dikira." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Anda dipinta untuk penerapan langsung menggunakan Sinar-POV dan jangan " #~ "kekalkan fail Sinar-POV. Ia akan menyebabkan tiada output disimpan. Anda " #~ "pasti hendakkannya?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Tidak dapat tulis ke fail %1. Anda mempunyai keizinan untuk tulis ke " #~ "lokasi tersebut?" #~ msgid "POV-Ray failed to start." #~ msgstr "Sinar-POV gagal dimulakan." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "Sinar-POV gagal dimulakan. Mungkin laluan ke boleh laku tidak ditetapkan " #~ "dengan baik." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Cipta fail Sinar-POV dan terap ia menggunakan progra Sinar-POV berbaris " #~ "perintah." #~ msgid "Atom Properties..." #~ msgstr "Sifat Atom..." #~ msgid "Bond Properties..." #~ msgstr "Sifat Ikatan..." #~ msgid "Angle Properties..." #~ msgstr "Sifat Sudut..." #~ msgid "Torsion Properties..." #~ msgstr "Sifat Kilasan..." #~ msgid "Conformer Properties..." #~ msgstr "Sifat Konformer..." #~ msgid "Atom Properties" #~ msgstr "Sifat Atom" #~ msgid "Bond Properties" #~ msgstr "Sifat Ikatan" #~ msgid "Angle Properties" #~ msgstr "Sifat Sudut" #~ msgid "Torsion Properties" #~ msgstr "Sifat Kilasan" #~ msgid "Conformer Properties" #~ msgstr "Sifat Konformer" #~ msgid "Properties" #~ msgstr "Sifat" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Tetingkap untuk memaparkan sifat atom, ikatan, sudut dan kilasan. Ia juga " #~ "sertakan penyunting koordinat cartes." #~ msgid "Valence" #~ msgstr "Valens" #~ msgid "Partial Charge" #~ msgstr "Cas Separa" #~ msgid "Atom" #~ msgstr "Atom" #~ msgid "Start Atom" #~ msgstr "Atom Mula" #~ msgid "Rotatable" #~ msgstr "Boleh Diputar" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Panjang %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Panjang %1" #~ msgid "Vertex" #~ msgstr "Puncak" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Sudut %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Sudut %1" #~ msgid "Angle" #~ msgstr "Sudut" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Konformer %1\n" #~ "Kilasan %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Kilasan %1" #~ msgid "Torsion" #~ msgstr "Kilasan" #~ msgid "Energy (kJ/mol)" #~ msgstr "Tenaga (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Konformer" #~ msgid "Yes" #~ msgstr "Ya" #~ msgid "No" #~ msgstr "Tidak" #~ msgid "Python Terminal" #~ msgstr "Terminal Python" #~ msgid "pythonTerminalDock" #~ msgstr "Dok Terminal python" #~ msgid "Interactive python scripting terminal" #~ msgstr "Terminal penskripan python interaktif" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Amaran Penjana Dek Input Abinit" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Anda hendak kemaskini teks pratonotn, tetapi hilang semua perubahan yang " #~ "dibuat dalam anak tetingkap pratonton dek input Abinit?" #~ msgid "Abinit_Input_Deck" #~ msgstr "Dek_Input_Abinit" #~ msgid "Abinit Running." #~ msgstr "Abinit Berjalan." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Abinit sudah berjalan. Sila tunggu sehingga pengiraan terdahulu selesai." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit Tidak Dipasang." #~ msgid "The abinit executable cannot be found." #~ msgstr "Boleh laku abinit tidak ditemui." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudo (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "abinit tidak dimulakan. Mungkin ia tidak dipasang dengan baik." #~ msgid "Running Abinit calculation..." #~ msgstr "Menjala kan pengiraan Abinit..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit tidak dijalankan dengab baik. Mungkin ia tidak dipasang dengan " #~ "baik." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Amaran Penjana Fail Input Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Anda hendak kemaskini teks pratonton, tetapi hilang semua perubahan yang " #~ "dibuat dalam anak tetingkap pratonton fail input Dalton?" #~ msgid "QM Matches" #~ msgstr "Padanan QM" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Pemilihan EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Pemilihan QM..." #~ msgid "Delete" #~ msgstr "Padam" #~ msgid "You must make a selection!" #~ msgstr "Anda mesti buat pemilihan!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Penukaran SMILES Tidak Tersedia" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Penukaran Format SMILES Tidak Tersedia!" #~ msgid "Group Name" #~ msgstr "Nama Kumpulan" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Cipta fail input untuk pakej kimia kuantum GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Tetapan Lanjutan Berubah" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Tetapan lanjutan telah berubah.\n" #~ "Singkirkan?" #~ msgid "Advanced Settings Reset" #~ msgstr "Tetap Semula Tetapan Lanjutan" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Anda pasti hendak menetap semula tetapan lanjutan?\n" #~ "Semua perubahan akan hilang!" #~ msgid "Basic Settings Reset" #~ msgstr "Tetap Semula Tetapan Asas" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Anda pasti hendak menetap semula tetapan asas?\n" #~ "Semua perubahan akan hilang!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Amaran Penjana Dek Input GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Anda hendak kemaskini teks pratonton, tetapi hilang semua perubahan yang " #~ "dibuat dalam anak tetingkap pratonton fail input GAMESS-UK?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Dek Input GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Amaran Penjana Dek Input Gaussian" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Anda hendak kemaskinikan teks pratonton, akan hilang semua perubahan yang " #~ "dibuat dalam anak tetingkap pratonton dek input Gaussian?" #~ msgid "Gaussian Input Deck" #~ msgstr "Dek Input Gaussian" #~ msgid "Gaussian Running." #~ msgstr "Gaussian Berjalan." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian sudah dijalankan. Tunggu sehingga pengiraan terdahulu selesai." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian Tidak Dipasang." #~ msgid "The G03 executable, cannot be found." #~ msgstr "Boleh laku G03 tidak ditemui." #~ msgid "G03 failed to start." #~ msgstr "G03 gagal dimulakan." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 tidak dimulakan. Mungkin ia tidak dipasang dengan betul." #~ msgid "Running Gaussian calculation..." #~ msgstr "Menjalankan pengiraan Gaussian..." #~ msgid "G03 Crashed." #~ msgstr "G03 Mengalami Kerosakan." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian tidak dijalankan dengan betul. Mungkin ia tidak dipasang dengan " #~ "betul." #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Lammps Input Deck Generator Warning" #~ msgstr "Amaran Penjana Dek Input Lammps" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Anda hendak kemaskini teks pratonton, akan hilang semua perubahan dibuat " #~ "dalam anak tetingkap pratonton dek input Lammps?" #~ msgid "Lammps Input" #~ msgstr "Input Lammps" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Amaran Penjana Dek Input Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Anda hendak kemaskini teks pratonton, tetapi hilang semua perubahan yang " #~ "dibuat dalam anak tetingkap pratonton fail input Molpro?" #~ msgid "Molpro Input Deck" #~ msgstr "Dek Input Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Amaran Input MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Anda hendak kemaskini teks pratonton, tetapi hilang semua perubahan " #~ "dibuat dalam anak tetingkap pratonton dek input MOPAC?" #~ msgid "MOPAC Input Deck" #~ msgstr "Dek Input MOPAC" #~ msgid "MOPAC Running." #~ msgstr "MOPAC Dijalankan." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC sudah berjalan. Tunggu sehingga pengiraan terdahulu selesai." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC Tidak Dipasang." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Boleh laku MOPAC tidak ditemui." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC gagal dimulakan." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC tidak bermula. Mungkin ia tidak dipasang dengan baik." #~ msgid "Running MOPAC calculation..." #~ msgstr "Menjalankan pengiraan MOPAC..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC Mengalami Kerosakan." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC tidak berjalan dengan baik. Mungkin ia tidak dipasang dengan baik." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Amaran Penjana Dek Input NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Anda hendak kemaskini teks pratonton, tetapi hilang semua perubahan " #~ "dibuat dalam anak tetingkap pratonton dek input NWChem?" #~ msgid "NWChem Input Deck" #~ msgstr "Dek Input NWChem" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Amaran Penjana Dek Input Psi4" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "Anda hendak kemaskini teks pratonton, akan hilang semua perubahan dibuat " #~ "dalam anak tetingkap pratonton dek input Psi4?" #~ msgid "Psi4 Input Deck" #~ msgstr "Dek Input Psi4" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Amaran Penjana Dek Input Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Anda hendak kemaskini teks pratonton, tetapi hilang semua perubahan " #~ "dibuat dalam anak tetingkap pratonton dek input Q-Chem?" #~ msgid "QChem Input Deck" #~ msgstr "Dek Input QChem" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "Amaran Penjana Dek Input TeraChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Anda hendak kemaskini teks pratonton, tetapi hilang semua perubahan yang " #~ "dibuat dalam anak tetingkap pratonton fail input TeraChem?" #~ msgid "TeraChem Input Deck" #~ msgstr "Dek Input TeraChem" #~ msgid "Select SMARTS..." #~ msgstr "Pilih SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Pilih mengikut Baki..." #~ msgid "Add Named Selection..." #~ msgstr "Tambah Pemilihan Bernama..." #~ msgid "SMARTS Selection" #~ msgstr "Pemilihan SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Corak SMARTS untuk dipilih" #~ msgid "Select by residue" #~ msgstr "Pilih mengikut baki" #~ msgid "Residue name" #~ msgstr "Nama baki" #~ msgid "There is no current selection." #~ msgstr "Tiada pemilihan semasa" #~ msgid "Add Named Selection" #~ msgstr "Tambah Pemilihan Bernama" #~ msgid "Name cannot be empty." #~ msgstr "Nama tidak boleh kosong." #~ msgid "There is already a selection with this name." #~ msgstr "Sudah ada pemilihan dengan nama ini." #~ msgid "Selections" #~ msgstr "Pemilihan" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Pilih atom, ikatan, baki..." #~ msgid "GLSL Shaders..." #~ msgstr "Pelorek GLSL..." #~ msgid "Open a vertex shader source file" #~ msgstr "Buka fail sumber pelorek puncak" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Fail pelorek puncak (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Buka fail sumber pelorek cebisan" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fail pelorek cebisan (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Buka fail parameter pelorek" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Fail parameter pelorek (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "Pelorek GLSL" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Muat dan guna pelorek GLSL OpenGL 2.0" #~ msgid "Intensity (arb. units)" #~ msgstr "Keamatan (unit arb.)" #~ msgid "Energy (eV)" #~ msgstr "Tenaga (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Ketumpatan Keadaan (keadaan/sel)" #~ msgid "Density of States (states/atom)" #~ msgstr "Ketumpatan Keadaan (keadaan/atom)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Ketumpatan Keadaan (keadaan/elektron valens)" #~ msgid "Transmittance (%)" #~ msgstr "Kehantaran (%)" #~ msgid "Absorbance (%)" #~ msgstr "Keserapan (%)" #~ msgid "No intensities" #~ msgstr "Tiada keamatan" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Data getaran dalam molekul yang anda muatkan tidak mempunyai data " #~ "keamatan. Keamatan telah ditetapkan kepada nilai arbitari untuk " #~ "pengvisualan." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Bilangan gelombang (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Shift (ppm)" #~ msgid "Activity" #~ msgstr "Aktiviti" #~ msgid "Intensity" #~ msgstr "Keamatan" #~ msgid "X Axis" #~ msgstr "Paksi X" #~ msgid "Y Axis" #~ msgstr "Paksi Y" #~ msgid "&Appearance" #~ msgstr "Pen&ilan" #~ msgid "E&xport Image" #~ msgstr "Ek&sport Imej" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Terinfra Merah" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Tetapan Spektrum Ter&infra Merah" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "Tetapan Spektrum &NMR" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "&Ketumpatan Tetapan Keadaan" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "Tetapan &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "Tetapan &CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "Tetapan &Raman" #~ msgid "No data" #~ msgstr "Tiada data" #~ msgid "Dark" #~ msgstr "Gelap" #~ msgid "Light" #~ msgstr "Cerah" #~ msgid "Publication" #~ msgstr "Penerbitan" #~ msgid "Handdrawn" #~ msgstr "Lukis Tangan" #~ msgid "New Scheme" #~ msgstr "Skema Baru" #~ msgid "Confirm Scheme Removal" #~ msgstr "Sahkan Pembuangan Skema" #~ msgid "Really remove current scheme?" #~ msgstr "Pasti hendak buang skema semasa?" #~ msgid "Change Scheme Name" #~ msgstr "Ubah Nama Skema" #~ msgid "Enter new name for current scheme:" #~ msgstr "Masukkan nama baru bagi skema semasa:" #~ msgid "Select Background Color" #~ msgstr "Pilih Warna Latar Belakang" #~ msgid "Select Foreground Color" #~ msgstr "Pilih Warna Latar Hadapan" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Pilih Warna Spektrum Terkira" #~ msgid "Select Imported Spectra Color" #~ msgstr "Pilih Warna Spektrum Terimport" #~ msgid "Export Calculated Spectrum" #~ msgstr "Eksport Spektrum Terkira" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Nilai Dipisah Tab (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Nilai Dipisah Tab" #~ msgid "Comma Separated Values" #~ msgstr "Nilai Dipisah Koma" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Import Spektrum" #~ msgid "Spectra Import" #~ msgstr "Spektrum Diimport" #~ msgid "Unknown extension: %1" #~ msgstr "Sambungan tidak diketahui: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "Data IR PWscf (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Data IR Turbomole (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Data UV Turbomole (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Data CD Turbomole (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Format Data" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format:" #~ msgid "Load Spectral Data" #~ msgstr "Muat Data Spektrum" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "CD Turbomole tidak diformat dengan baik: %1" #~ msgid "Portable Network Graphics" #~ msgstr "Grafik Rangkaian Mudahalih" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Format Fail Imej Bertag" #~ msgid "Windows Bitmap" #~ msgstr "Peta Bit Wimdows" #~ msgid "Portable Pixmap" #~ msgstr "Peta Pix Mudahalih" #~ msgid "X11 Bitmap" #~ msgstr "Peta Bit X11" #~ msgid "X11 Pixmap" #~ msgstr "Peta Pix X11" #~ msgid "Save Spectra Image" #~ msgstr "Simpan Imej Spektrum" #~ msgid "Image successfully written to %1" #~ msgstr "Imej berjaya ditulis ke %1" #~ msgid "&Advanced <<" #~ msgstr "&Lanjut <<" #~ msgid "&Advanced >>" #~ msgstr "&Lanjut >>" #~ msgid "&Spectra..." #~ msgstr "&Spektrum..." #~ msgid "Spectra" #~ msgstr "Spektrum" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualkan data spektrum dari pengiraan kimia kuantum" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Analisis Getaran" #~ msgid "No vibrational displacements exist." #~ msgstr "Tiada sesaran getaran wujud." #~ msgid "Vibration" #~ msgstr "Getaran" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Visualkan mod getaran dari pengiraan kimia kuantum" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Mengisih %1 getaran melalui frekuensi..." #~ msgid "Pause" #~ msgstr "Jeda" #~ msgid "Super Cell Builder..." #~ msgstr "Pembina Sel Super..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Dokumen ini kini merupakan molekul terasing. Anda perlu cipta satu unit " #~ "sel." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Bina dan papar sel super kristalografi" #~ msgid "Molecular Orbitals..." #~ msgstr "Petala Molekul..." #~ msgid "Orbitals" #~ msgstr "Petala" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Petala" #~ msgid "Status" #~ msgstr "Status" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Tiada apa" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Keupayaan Elektrostatik" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Ketumpatan Elektron" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbital Molekul" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Ralat - jenis tidak ditakrif" #~ msgid "Create Surfaces..." #~ msgstr "Cipta Permukaan..." #~ msgid "Calculating VdW Cube" #~ msgstr "Mengira Kiub VdW" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Mengira MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Ketumpatan Elektron" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "Permukaan keupayaan elektrostatik belum lagi disokong." #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Kira orbital molekul dan lain-lain permukaan" #~ msgid "&Nanotube Builder..." #~ msgstr "Pembina Tiub &Nano..." #~ msgid "Nanotube Builder" #~ msgstr "Pembina Tiub Nano" #~ msgid "Invalid Nanotube Specification" #~ msgstr "Spesifikasi Tiub Nano Tidak Sah" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "Tiub nano yang dipinta tidak dapat dibina kerana sebab berikut:\n" #~ "\n" #~ "Sama ada n atau m mesti lebih besar daripada 1." #~ msgid "Insert Nanotube" #~ msgstr "Sisip Tiub Nano" #~ msgid "SWCNT Builder" #~ msgstr "Pembina SWCNT" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Bina tiub nano karbon dinding tunggal." #~ msgid "Building..." #~ msgstr "Membina..." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "Widget GL tidak diawalkan dengan baik untuk menghasilkan video" #~ msgid "GL widget has no molecule" #~ msgstr "Widget GL tidak mempunyai molekul" #~ msgid "Building video " #~ msgstr "Membina video " #~ msgid "Could not run povray." #~ msgstr "Tidak dapat jalankan povray." #~ msgid "Could not run mencoder." #~ msgstr "Tidak dapat jalankan mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Tetapkan Nisbah Bidang" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Adegan Avogadro semasa adalah sebesar %1x%2, maka ia mempunyai nisbah " #~ "bidang %3.\n" #~ "Anda boleh kekalkan nilai ini, contohnya jika anda berniat menggunakan " #~ "POV-Ray\n" #~ "untuk menghasilkan imej bersaiz %4x1000 piksel, atau anda boleh masukkan " #~ "nilai positif\n" #~ "yang lain, contohnya 2 jika anda berniat menggunakan POV-Ray untuk " #~ "hasilkan imej petak,\n" #~ "bersaiz 1000x1000 piksel." #~ msgid "Connect" #~ msgstr "Sambung" #~ msgid "Disconnect" #~ msgstr "Putuskan" #~ msgid "&WiiTrack" #~ msgstr "Jejak &Wii" #~ msgid "Wii Tracking" #~ msgstr "Penjejakan Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Jejak gerakan menggunakan Wii remote" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Konteks OpenGL tidak sah.\n" #~ "Samada ada sesuatu yang rosak semasa pemasangan OpenGL anda (bolehkah " #~ "anda menjalankan mana-mana aplikasi OpenGL?), atau anda temui pepijat." #~ msgid "Debug Information" #~ msgstr "Maklumat Nyah Pepijat" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Saiz Pandangan: %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "Baris Pandangan Model 1: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "Baris Pandangan Model 2: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "Baris Pandangan Model 3: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "Baris Pandangan Model 4: %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Atom: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Ikatan: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: indeks %1 diluar jangkauan." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Jenis fail '%1' tidak disokong untuk pembacaan." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Jenis fail bagi fail '%1' tidak disokong untuk pembacaan." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "" #~ "Membaca molekul dengan indeks %1 dari fail '%2' mengalami kegagalan." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "Ganti Molekul: indeks %1 diluar jangkauan." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Jenis fail '%1' tidak disokong untuk penulisan." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Jenis fail bagi fail '%1' tidak disokong untuk penulisan." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Tidak dapat buka fail '%1' untuk penulisan." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Tidak dapat buka fail '%1' untuk pembacaan." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "" #~ "Menggantikan molekul dengan indeks %1 dalam fail '%2' mengalami kegagalan." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Fail %1 tidak dapat dibuka untuk pembacaan." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Fail %1 tidak dapat dibuka untuk penulisan." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Menyimpan fail molekul mengalami kegagalan - tidak dapat namakan semula " #~ "fail asal." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Menyimpan fail molekul mengalami kegagalan - tidak dapat namakan semula " #~ "fail baru." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Menyimpan fail molekul mengalami kegagalan - tidak dapat namakan semula " #~ "fail lama." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Menulis molekul ke fail '%1' mengalami kegagalan. Fungsi OpenBabel gagal." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Fail %1 tidak dapat dibuka untuk penulisan." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Menulis konformer ke fail '%1' mengalami kegagalan." #~ msgid "Molecule %1" #~ msgstr "Molekul %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Enjin Python Tidak Diketahui" #~ msgid "N/A" #~ msgstr "T/A" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: memeriksa " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - skrip tiada kelas 'Engine' ditakrifkan" #~ msgid " - no module" #~ msgstr " - modul tiada" #~ msgid "Unknown Python Extension" #~ msgstr "Sambungan Python Tidak Diketahui" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: memeriksa " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - skrip tiada kelas 'Extension' ditakrifkan" #~ msgid "Unknown Python Tool" #~ msgstr "Alat Python Tidak Diketahui" #~ msgid "PythonTool: checking " #~ msgstr "Alat Pyhton: memeriksa " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - skrip tiada kelas 'Tool' ditakrifkan" #~ msgid "Conformer %1" #~ msgstr "Konformer %1" #~ msgid "Tools" #~ msgstr "Alatan" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "Jajar Molekul\n" #~ "\n" #~ "Butang Kiri Tetikus: \tPilih sehingga dua atom.\n" #~ "\tAtom pertama berada dipusat.\n" #~ "\tAtom kedua dijajar mengikut paksi yang dipilih.\n" #~ "Butang Kanan Tetikus: \tTetap semula jajaran.\n" #~ "Dwi-Klik: \tTengah atom dipusat." #~ msgid "Axis:" #~ msgstr "Paksi:" #~ msgid "Align:" #~ msgstr "Jajar:" #~ msgid "Everything" #~ msgstr "Kesemuanya" #~ msgid "Align" #~ msgstr "Jajar" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Jajar molekul ke paksi Cartes" #~ msgid "Align Settings" #~ msgstr "Tetapan Jajar" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "Alat Pengoptimuman Automatik\n" #~ "\n" #~ "Fungsi Navigasi bila mengklik dalam ruang kosong.\n" #~ "Butang Kiri Tetikus: \tPutar Ruang\n" #~ "Butang Tengah Tetikus: Zum Ruang\n" #~ "Butang Kanan Tetikus: \tGerak Ruang\n" #~ "Dwi-Klik: \t Tetap Semula Pandangan\n" #~ "\n" #~ "Bila berjalan:\n" #~ "Butang Kiri Tetikus: \tKlik dan seret atom untuk gerakkannya." #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Tidak dapat sediakan medan daya..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Bil Kekangan: %1" #~ msgid "Steps per Update:" #~ msgstr "Langah per Kemaskini:" #~ msgid "Algorithm:" #~ msgstr "Algoritma:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dinamik Molekul (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinamik Molekul (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinamik Molekul (900K)" #~ msgid "Start" #~ msgstr "Mula" #~ msgid "Fixed atoms are movable" #~ msgstr "Atom tetap boleh dialih" #~ msgid "Ignored atoms are movable" #~ msgstr "Atom diabaikan boleh dialih" #~ msgid "AutoOpt Molecule" #~ msgstr "Molekul autoOpt" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Pengoptimuman automatik bagi geometri molekul" #~ msgid "AutoOptimization Settings" #~ msgstr "Tetapan Pengoptimuman Automatik" #~ msgid "Auto Rotation Tool" #~ msgstr "Alat Putaran Automatik" #~ msgid "x rotation:" #~ msgstr "putaran x:" #~ msgid "x rotation" #~ msgstr "putaran x" #~ msgid "y rotation:" #~ msgstr "putaran y:" #~ msgid "y rotation" #~ msgstr "putaran y" #~ msgid "z rotation:" #~ msgstr "putaran z:" #~ msgid "z rotation" #~ msgstr "putaran z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Putaran automatik molekul" #~ msgid "AutoRotate Settings" #~ msgstr "Tetapan Putar Sendiri" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "Alat Manipulasi Pusat Ikatan\n" #~ "\n" #~ "Butang Kiri Tetikus: \tKlik dan seret untuk putar pandangan.\n" #~ "Butang Tengah Tetikus: Klik dan seret untuk zum masuk dan keluar.\n" #~ "Butang Kanan Tetikus: \tKlik dan seret untuk alih pandangan.\n" #~ "Dwi-Klik: \tTetap semula pandangan.\n" #~ "\n" #~ "Klik Kiri & Seret pada Ikatan untuk tetapkan Satah Manipulasi:\n" #~ "Klik Kiri & Seret pada salah satu Atom dalam Ikatan untuk mengubah sudut\n" #~ "Klik Kanan & Seret pada salah satu Atom dalam Ikatan untuk mengubah " #~ "panjang" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Panjang Ikatan: %L1" #~ msgid " Show Angles" #~ msgstr " Papar Sudut" #~ msgid "Snap-to Threshold: " #~ msgstr "Lekat-ke Ambang: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Manipulasi Di Pusat Ikatan" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulasi bagi panjang, sudut, dan kilasan" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Tetapan Manipulasi Di Pusat Ikatan" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Klik untuk Ukur (F12)\n" #~ "\n" #~ "Butang Kiri Tetikus: \tPilih sehingga tiga Atom.\n" #~ "\tJarak diukur diantara 1-2 dan 2-3\n" #~ "\tSudut diukur diantara 1-3 menggunakan 2 sebagai titik umum\n" #~ "Butang Kanan Tetikus: \tTetap semula pengukuran.Dwi-Klik: \tTetap semula " #~ "pandangan." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Jarak (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Sudut: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Jarak (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Sudut Dwihedron: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Jarak:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Ukur panjang, sudut, dan dwihedron ikatan" #~ msgid "Delete Atom" #~ msgstr "Padam Atom" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Alat Lukis (F8)\n" #~ "\n" #~ "Butang Kiri Tetikus: \tKlik dan Seret untuk cipta Atom dan Ikatan\n" #~ "Butang Kanan Tetikus: \tPadam Atom" #~ msgid "Draw Bond" #~ msgstr "Lukis Ikatan" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Lukis dan sunting atom dan ikatan" #~ msgid "Draw Settings" #~ msgstr "Tetapan Lukis" #~ msgid "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Alat Manipulasi (F10)\n" #~ "\n" #~ "Butang Kiri Tetikus \tKlik dan seret untuk alih atom\n" #~ "Butang Tengah Tetikus: Klik dan seret untuk alih atom lebih jauh atau " #~ "lebih dekat\n" #~ "Butang Kanan Tetikus: \tKlik dan seret untuk putar atom terpilih.\n" #~ "Dwi-Klik: \tTetap semula pandangan." #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Terjemah, putar, dan laras atom dan cebisan" #~ msgid "Manipulate Settings" #~ msgstr "Tetapan Manipulasi" #~ msgid "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Alat Navigasi (F9)\n" #~ "\n" #~ "Butang Kiri Tetikus: \tKlik dan seret untuk putar pandangan.\n" #~ "Butang Tengah Tetikus: Klik dan seret untuk zum masuk atau keluar.\n" #~ "Butang Kanan Tetikus: \tKlik dan seret untuk alih pandangan.\n" #~ "Dwi-Klik: \tTetap semula pandangan." #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Terjemah, putar, dan zum disekitar pandangan semasa" #~ msgid "Navigate Settings" #~ msgstr "Tetapan Navigasi" #~ msgid "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgstr "" #~ "Alat Pemilihan (F11)\n" #~ "\n" #~ "Butang Kiri Tetikus: \tKlik untuk ambil atom, baki, atau cebisan secara " #~ "individu\n" #~ "\tSeret untuk pilih julat atom\n" #~ "Butang Kanan Tetikus: \tKlik diluar molekul untuk batalkan pemilihan\n" #~ "Guna Ctrl untuk togol pemilihan dan shift untuk tambah pemilihan.\n" #~ "Dwi-Klik: \tPilih keseluruhan cebisan." #~ msgid "Selection Mode:" #~ msgstr "Mod Pemilihan:" #~ msgid "Atom/Bond" #~ msgstr "Atom/Ikatan" #~ msgid "Residue" #~ msgstr "Baki" #~ msgid "Add Center of Atoms" #~ msgstr "Tambah Pusat Atom" #~ msgid "Add Center of Mass" #~ msgstr "Tambah Pusat Jisim" #~ msgid "Change color of the atom" #~ msgstr "Ubah warna atom" #~ msgid "Change label of the atom" #~ msgstr "Ubah label atom" #~ msgid "New Label:" #~ msgstr "Label Baru:" #~ msgid "Change label of the bond" #~ msgstr "Ubah label ikatan" #~ msgid "Change radius of the atom" #~ msgstr "Ubah jejari atom" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Jejari Baru, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Pilih atom, baki, dan molekul" #~ msgid "Symbol" #~ msgstr "Simbol" #~ msgid "Bond Length" #~ msgstr "Panjang Ikatan" #~ msgid "Bond Angle" #~ msgstr "Sudut Ikatan" #~ msgid "Dihedral Angle" #~ msgstr "Sudut Dwihedron" #~ msgid "Z Matrix Editor..." #~ msgstr "Penyunting Matriks Z..." #~ msgid "Z-Matrix" #~ msgstr "Matriks-Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Cipta/sunting matriks-z" #~ msgid "Z-Matrix Settings" #~ msgstr "Tetapan Matriks-Z" #~ msgid "Residue Color Settings" #~ msgstr "Tetapan Warna Baki" #~ msgid "Color residues by:" #~ msgstr "Baki warna mengikut:" #~ msgid "Amino Colors" #~ msgstr "Warna Amino" #~ msgid "Shapely Colors" #~ msgstr "Warna Bentuk" #~ msgid "Hydrophobicity" #~ msgstr "Kehidrofobiaan" #~ msgid "Axes:" #~ msgstr "Paksi:" #~ msgid "Cartesian Axes" #~ msgstr "Paksi Cartes" #~ msgid "Orthogonal Axes" #~ msgstr "Paksi Ortogon" #~ msgid "Axis 1:" #~ msgstr "Paksi 1:" #~ msgid "Axis 2:" #~ msgstr "Paksi 2:" #~ msgid "Axis 3:" #~ msgstr "Paksi 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Asalan:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norma" #~ msgid "Preserve vector norms" #~ msgstr "Kekalkan norma vektor" #~ msgid "Atom Radius:" #~ msgstr "Jejari Atom:" #~ msgid "Bond Radius:" #~ msgstr "Jejari Ikatan:" #~ msgid "Shape" #~ msgstr "Bentuk" #~ msgid "Helix" #~ msgstr "Heliks" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Lembaran" #~ msgid "Loop" #~ msgstr "Gelung" #~ msgid "Colors" #~ msgstr "Warna" #~ msgid "Dipole:" #~ msgstr "Dwikutub:" #~ msgid "Dipole Moment" #~ msgstr "Momen Dwikutub" #~ msgid "Custom Vector" #~ msgstr "Vektor Suai" #~ msgid "Custom:" #~ msgstr "Suai:" #~ msgid "Width:" #~ msgstr "Lebar:" #~ msgid "Cut-off radius:" #~ msgstr "Jejari terpenggal:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Sudut terpenggal:" #~ msgid "Rendering Engine:" #~ msgstr "Enjin Penerapan:" #~ msgid "TextRenderer" #~ msgstr "Penerap Teks" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Label Atom" #~ msgid "Text:" #~ msgstr "Teks:" #~ msgid "Color:" #~ msgstr "Warna:" #~ msgid "None" #~ msgstr "Tiada" #~ msgid "Symbol & Number in Group" #~ msgstr "Simbol & Nombor dalam Kumpulan" #~ msgid "Symbol & Atom number" #~ msgstr "Simbol & Nombor Atom" #~ msgid "Formal charge" #~ msgstr "Cas formal" #~ msgid "Partial charge" #~ msgstr "Cas separa" #~ msgid "Residue number" #~ msgstr "Nombor baki" #~ msgid "Unique ID" #~ msgstr "ID unik" #~ msgid "Custom data" #~ msgstr "Data suai" #~ msgid "Change Font" #~ msgstr "Ubah Fon" #~ msgid "x : " #~ msgstr "x: " #~ msgid "y : " #~ msgstr "y: " #~ msgid "z : " #~ msgstr "z: " #~ msgid "Label Shift:" #~ msgstr "Shift Label:" #~ msgid "Bond Labels" #~ msgstr "Label Ikatan" #~ msgid "Bond length" #~ msgstr "Panjang ikatan" #~ msgid "Bond number" #~ msgstr "Nombor Ikatan" #~ msgid "Bond order" #~ msgstr "Tertib ikatan" #~ msgid "Rendering:" #~ msgstr "Penerapan:" #~ msgid "Backbone" #~ msgstr "Tulang Belakang" #~ msgid "Lines" #~ msgstr "Baris" #~ msgid "Radius:" #~ msgstr "Jejari:" #~ msgid "Include Nitrogens" #~ msgstr "Sertakan Nitrogen" #~ msgid "VdW Opacity:" #~ msgstr "Kelegapan VdW:" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Terap:" #~ msgid "Fill" #~ msgstr "Isian" #~ msgid "Points" #~ msgstr "Titik" #~ msgid "Draw Box:" #~ msgstr "Kotak Lukis:" #~ msgid "Style:" #~ msgstr "Gaya:" #~ msgid "Selected Colors" #~ msgstr "Warna Terpilih" #~ msgid "Mapped Colors" #~ msgstr "Warna Terpeta" #~ msgid "Colors:" #~ msgstr "Warna:" #~ msgid "Positive" #~ msgstr "Positif" #~ msgid "Negative" #~ msgstr "Negatif" #~ msgid "Show Atoms" #~ msgstr "Tunjukkan Atom" #~ msgid "Animate Trajectory" #~ msgstr "Animasikan Trajektori" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Gelung" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Simpan sebagai .avi..." #~ msgid "Angstroms" #~ msgstr "Angstrom" #~ msgid "Bohrs" #~ msgstr "Bohr" #~ msgid "Fractional" #~ msgstr "Pecahan" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, koordinat sahaja" #~ msgid "GAMESS Input #2" #~ msgstr "Input GAMESS #2" #~ msgid "Priroda Input" #~ msgstr "Input Priroda" #~ msgid "Apply Changes" #~ msgstr "Laksana Perubahan" #~ msgid "Cut All" #~ msgstr "Potong Semua" #~ msgid "Paste to the End" #~ msgstr "Tampal ke Penghujung" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Tampal atau sunting " #~ "koordinat atom disini. Anda boleh tampal hampir apa jua cebisan teks, " #~ "yang mengandungi koordinat

" #~ msgid "(None)" #~ msgstr "(Tiada)" #~ msgid "Sort by " #~ msgstr "Isi mengikut " #~ msgid "Conformer Search" #~ msgstr "Gelintar Konformer" #~ msgid "Method" #~ msgstr "Kaedah" #~ msgid "Number of atoms:" #~ msgstr "Bilangan atom:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Bilangan ikatan boleh putar:" #~ msgid "Number of conformers" #~ msgstr "Bilangan konformer" #~ msgid "Systematic rotor search" #~ msgstr "Gelintar rotor sistematik" #~ msgid "Random rotor search" #~ msgstr "Gelintar rotor rawak" #~ msgid "Weighted rotor search" #~ msgstr "Gelintar rotor berpemberat" #~ msgid "Genetic algorithm search" #~ msgstr "Gelintar algoritma genetik" #~ msgid "Genetic Algorithm Options" #~ msgstr "Pilihan Algortima Genetik" #~ msgid "Children" #~ msgstr "Anak" #~ msgid "Mutability" #~ msgstr "Ketermutasian" #~ msgid "Scoring method" #~ msgstr "Kaedah penskoran" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "Tenaga" #~ msgid "Constraints" #~ msgstr "Kekangan" #~ msgid "Add Constraints" #~ msgstr "Tambah Kekangan" #~ msgid "Ignore Atom" #~ msgstr "Abai Atom" #~ msgid "Fix Atom" #~ msgstr "Baiki Atom" #~ msgid "Fix Atom X" #~ msgstr "Baiki Atom X" #~ msgid "Fix Atom Y" #~ msgstr "Baiki Atom Y" #~ msgid "Fix Atom Z" #~ msgstr "Baiki Atom Z" #~ msgid "Torsion angle" #~ msgstr "Sudut kilasan" #~ msgid "Constraint Value" #~ msgstr "Nilai Kekangan" #~ msgid "Atom Indices" #~ msgstr "Indeks Atom" #~ msgid "Add" #~ msgstr "Tambah" #~ msgid "Save" #~ msgstr "Simpan" #~ msgid "Load" #~ msgstr "Muat" #~ msgid "Atomic &identites:" #~ msgstr "&Identiti Atom" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgid "&Reset" #~ msgstr "&Tetap semula" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgid "Cell Parameters" #~ msgstr "Parameter Sel" #~ msgid " °" #~ msgstr " °" #~ msgid "Surface Slab Builder" #~ msgstr "Pembina Papak Permukaan" #~ msgid "Plane:" #~ msgstr "Satah:" #~ msgid "&Miller Indices:" #~ msgstr "Indeks &Miller:" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Amaran: Guna Indeks Miller bukan-sifar" #~ msgid "Dimensions:" #~ msgstr "Dimensi:" #~ msgid "Width (x)" #~ msgstr "Lebar (x)" #~ msgid "Width (y)" #~ msgstr "Lebar (y)" #~ msgid "Height (z)" #~ msgstr "Tinggi (z)" #~ msgid "length" #~ msgstr "panjang" #~ msgid "cell repeats" #~ msgstr "ulang sel" #~ msgid "&Translate " #~ msgstr "&Terjemah " #~ msgid "by arbitrary vector" #~ msgstr "mengikut vektor arbitari" #~ msgid "selected atom to origin" #~ msgstr "atom terpilih ke asalan" #~ msgid "selected atom to unit cell center" #~ msgstr "atom terpilih ke pusat sel unit" #~ msgid "Translation vector:" #~ msgstr "Vektor terjemahan:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "Unit &vektor:" #~ msgid "Cartesian" #~ msgstr "Cartes" #~ msgid "&Translate" #~ msgstr "&Terjemah" #~ msgid "&Keep atoms in unit cell" #~ msgstr "&Kekalkan atom dalam sel unit" #~ msgid "Crystal View Options" #~ msgstr "Pilihan Pandangan Hablur" #~ msgid "Unit Cell Repeats:" #~ msgstr "Ulang Sel Unit:" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "Lukis Sel Unit?" #~ msgid "One" #~ msgstr "Satu" #~ msgid "All" #~ msgstr "Semua" #~ msgid "Color..." #~ msgstr "Warna..." #~ msgid "View Along:" #~ msgstr "Papar Mengikut:" #~ msgid "Default View" #~ msgstr "Paparan Lalai" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "Indeks Miller" #~ msgid "File Import..." #~ msgstr "Fail Import..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Cuba mengamati ikatan?" #~ msgid "Setup Force Field" #~ msgstr "Persediaan Medan Daya" #~ msgid "Force Field" #~ msgstr "Medan Daya" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Bilangan langkah" #~ msgid "Algorithm" #~ msgstr "Algoritma" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Sisip Asid Nukliek" #~ msgid "DNA/RNA Builder" #~ msgstr "Pembina DNA/RNA" #~ msgid "DNA" #~ msgstr "DNA" #~ msgid "RNA" #~ msgstr "RNA" #~ msgid "Nucleic Acids:" #~ msgstr "Aisid Nukliek:" #~ msgid "Adenine" #~ msgstr "Adenina" #~ msgid "Cytosine" #~ msgstr "Sitosina" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Guanina" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Jujukan:" #~ msgid "the number of base pairs per helix turn" #~ msgstr "bilangan pasangan asas per giliran heliks" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Lain-lain" #~ msgid "Bases Per Turn:" #~ msgstr "Asas Per Giliran:" #~ msgid "Strands:" #~ msgstr "Jaluran:" #~ msgid "Insert" #~ msgstr "Sisip" #~ msgid "Insert Fragment..." #~ msgstr "Sisip Cebisan..." #~ msgid "Filter:" #~ msgstr "Penapis:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "Taip nama atau bahagian nama yang hanya paparkan fail yang sepadan." #~ msgid "Peptide Builder" #~ msgstr "Pembina Peptid" #~ msgid "Alanine" #~ msgstr "Alanina" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginina" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagina" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Asid Aspartik" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Sisteina" #~ msgid "Cys" #~ msgstr "Sis" #~ msgid "Glutamic acid" #~ msgstr "Asid Glutamik" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamina" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glisina" #~ msgid "Gly" #~ msgstr "Gli" #~ msgid "Histidine" #~ msgstr "Histidina" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleusina" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valina" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirosina" #~ msgid "Tyr" #~ msgstr "Tir" #~ msgid "Tryptophan" #~ msgstr "Triptofan" #~ msgid "Trp" #~ msgstr "Trip" #~ msgid "Threonine" #~ msgstr "Treonina" #~ msgid "Thr" #~ msgstr "Treo" #~ msgid "Serine" #~ msgstr "Serina" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolina" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanina" #~ msgid "Phe" #~ msgstr "Fe" #~ msgid "Methionine" #~ msgstr "Metionina" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lisina" #~ msgid "Lys" #~ msgstr "Lis" #~ msgid "Leucine" #~ msgstr "Leusina" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Asid Amino:" #~ msgid "Sequence (N to C):" #~ msgstr "Jujukan (N ke C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereokimia:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "Hujung N:" #~ msgid "C Terminus:" #~ msgstr "Hujung C:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Rantai Lurus" #~ msgid "Alpha Helix" #~ msgstr "Heliks Alfa" #~ msgid "Beta Sheet" #~ msgstr "Lembaran Beta" #~ msgid "3-10 Helix" #~ msgstr "Heliks 3-10" #~ msgid "Pi Helix" #~ msgstr "Heliks Pi" #~ msgid "Phi:" #~ msgstr "Fi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Bilangan Rantai:" #~ msgid "The chain number for the new peptide" #~ msgstr "Bilangan rantai untuk peptid baru" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Sifat Molekul" #~ msgid "Number of Residues:" #~ msgstr "Bilangan Baki:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Tenaga (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Momen Dwikutub (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Nama Molekul IUPAC:" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Lanjutan" #~ msgid "Control" #~ msgstr "Kawalan" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Data" #~ msgid "Nothing" #~ msgstr "Tiada Apa" #~ msgid "Grid" #~ msgstr "Grid" #~ msgid "POV-Ray Export" #~ msgstr "Eksport POV-Ray" #~ msgid "Select..." #~ msgstr "Pilih..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Guna antialias adegan penuh" #~ msgid "Antialias" #~ msgstr "Antialias" #~ msgid "Set the background color to be transparent" #~ msgstr "Tetapkan warna latar belakang kepada lutsinar" #~ msgid "Alpha transparency" #~ msgstr "Kelutsinaran alfa" #~ msgid "Command:" #~ msgstr "Perintah:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Terap molekul secara langsung menggunakan POV-Ray baris perintah" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Kekalkan sumber POV-Ray selepas penerapan selesai" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Kekalkan sumber POV-Ray selepas penerapan" #~ msgid "Path:" #~ msgstr "Laluan:" #~ msgid "Abinit Input" #~ msgstr "Input Abinit" #~ msgid "k-points:" #~ msgstr "titik-k:" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Cartes (Angstrom)" #~ msgid "Reduced" #~ msgstr "Terkurang" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "Keratan Gelombang Satah (Ha):" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Toleransi terhadap daya(Ha/bohr):" #~ msgid "Max lattice expansion:" #~ msgstr "Pengembangan kekisi maksimum:" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "Anjak titik-k:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Bilangan jalur:" #~ msgid "# k-point shifts:" #~ msgstr "# anjak titik-k:" #~ msgid "Double grid PW cutoff (Ha):" #~ msgstr "Keratan PW grid dubel (Ha):" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Skema kerjaan:" #~ msgid "SCF tolerance type:" #~ msgstr "Jenis toleransi SCF:" #~ msgid "Total Energy" #~ msgstr "Jumlah Tenaga" #~ msgid "Wave Function norm" #~ msgstr "Norma Fungsi Gelombang" #~ msgid "Total Potential" #~ msgstr "Jumlah Keupayaan" #~ msgid "Maximum Force" #~ msgstr "Daya Maksimum" #~ msgid "Relative Force" #~ msgstr "Daya Relatif" #~ msgid "1 - semiconducting" #~ msgstr "1 - bersemikonduktor" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi Dirac" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 - Kabusisi Sejuk (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 - Kabusisi Gaussian" #~ msgid "Smearing width (Ha):" #~ msgstr "Lebar kabusisi (Ha):" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Pengoptimuman Geometri:" #~ msgid "0 - no moving ions " #~ msgstr "0 - tiada ion bergerak " #~ msgid "1 - viscous damping" #~ msgstr "1 - peredaman ganas" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS dengan tenaga" #~ msgid "# Geometrical time steps:" #~ msgstr "# Langkah masa geometri" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Pelicinan Tenaga Kinetik (Ha):" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Guna Bentuk" #~ msgid "Compute..." #~ msgstr "Kira..." #~ msgid "Dalton Input" #~ msgstr "Input Dalton" #~ msgid "Basics" #~ msgstr "Asas" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Tambah apa yang anda taip di dalam baris taju fail input untuk tujuan\n" #~ "maklumat anda sendiri." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Set Asas:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Gaya-Pople" #~ msgid "Jensen's polarization consistent" #~ msgstr "Konsisten pengutuban Jensen" #~ msgid "Dunning's correlation consistent" #~ msgstr "Konsisten kolerasi Dunning" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Fungsi kolerasi teras" #~ msgid "Diffuse functions" #~ msgstr "Fungsi pembauran" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Fungsi pengutuban" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Terus" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Jalan dalam mod selari jika boleh. Ia hanya mungkin untuk fungsi\n" #~ "gelombang SCF dan pengiraan DFT. Dalton hanya menyokong MPI\n" #~ "dalam keluaran semasa dan mesti dikompil dan dipasang dengan betul.\n" #~ "Sebilangan nod ditetapkan menggunakan pilihan \"-N #' bila melakukan " #~ "skrip \"dalton\"." #~ msgid "Parallel" #~ msgstr "Selari" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Kefungsian:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Ketumpatan:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Penyepaduan Cas:" #~ msgid "Grid Specification" #~ msgstr "Spesifikasi Grid" #~ msgid "Partitioning Scheme:" #~ msgstr "Skema Penyekatan:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (asal)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Kualiti Grid:" #~ msgid "coarse" #~ msgstr "kasar" #~ msgid "normal" #~ msgstr "biasa" #~ msgid "fine" #~ msgstr "halus" #~ msgid "ultrafine" #~ msgstr "sangat halus" #~ msgid "Radial Scheme:" #~ msgstr "Skemia Jejari:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Papar semua kefungsian" #~ msgid "Property:" #~ msgstr "Sifat:" #~ msgid "Polarizability" #~ msgstr "Kebolehkutuban" #~ msgid "Excitation Energy" #~ msgstr "Tenaga Pengujaan" #~ msgid "Frequency Dependent" #~ msgstr "Kebergantungan Frekuensi" #~ msgid "No. excitations:" #~ msgstr "Tiada pengujaan:" #~ msgid "EFP Matches" #~ msgstr "Padanan EFP" #~ msgid "Group Label:" #~ msgstr "Label Kumpulan:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Persediaan &Lanjutan" #~ msgid "Hessian" #~ msgstr "Hesian" #~ msgid "Stat Point" #~ msgstr "Titik Statistik" #~ msgid "System" #~ msgstr "Sistem" #~ msgid "MO Guess" #~ msgstr "Tekaan MO" #~ msgid "Misc" #~ msgstr "Pelbagai" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Fungsi Pengutuban Atom Berat:" #~ msgid "Read" #~ msgstr "Baca" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Baurkan Shell-S pada Atom Berat" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Baur Shell-L pada Atom Berat" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Valens Dwi Zeta" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Valens Tripel Zeta" #~ msgid "SBKJA Valence" #~ msgstr "Valens SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "Valens Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Jenis ECP:" #~ msgid "Default" #~ msgstr "Lalai" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Fungsi Pengutuban Atom Berat:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#light Fungsi Pengutuban Atom:" #~ msgid "Polar:" #~ msgstr "Kutub:" #~ msgid "Max SCF Iterations:" #~ msgstr "Iterasi SCF Maksimum:" #~ msgid "Gradient" #~ msgstr "Gradien" #~ msgid "Optimization" #~ msgstr "Pengoptimuman" #~ msgid "Trudge" #~ msgstr "Susah Payah" #~ msgid "Saddle Point" #~ msgstr "Titik Tunggang" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Ekstrumum Gradien" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Permukaan Tenaga" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "mom. Peralihan Radiasi" #~ msgid "Spin Orbit" #~ msgstr "Orbit Putar" #~ msgid "Finite Electric Field" #~ msgstr "Medan Elektrik Terhingga" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Pengoptimuman Sejagat" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Pengoptimuman FMO" #~ msgid "Raman Intensities" #~ msgstr "Keamatan Raman" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Buat EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Tiada (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Jenis SCF:" #~ msgid "Localization Method:" #~ msgstr "Kaedah Penyetempatan" #~ msgid "Exec Type:" #~ msgstr "Jenis Boleh Laku:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Penentu Mak. Ames" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Ruang Aktif Berbilang Penghunian Terhad" #~ msgid "CI Singles" #~ msgstr "Tunggal CI" #~ msgid "Full Second Order CI" #~ msgstr "CI Tertib Kedua Penuh" #~ msgid "General CI" #~ msgstr "CI Am" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: CC Terlinear" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC dengan Dubel" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC dengan Tunggal dan Dubel" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Jalan Biasa" #~ msgid "Check" #~ msgstr "Semak" #~ msgid "Debug" #~ msgstr "Nyahpepijat" #~ msgid "Molecule Charge:" #~ msgstr "Cas Molekul:" #~ msgid "Run Type:" #~ msgstr "Jenis Jalan:" #~ msgid "Use MP2" #~ msgstr "Guna MP2" #~ msgid "Use DFT" #~ msgstr "Guna DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# dari Pembolehubah Matriks-Z" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Tertib Paksi Prinsipal:" #~ msgid "Coordinate Type:" #~ msgstr "Jenis Koordinat:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Koord. cartes Unik" #~ msgid "Hilderbrant internals" #~ msgstr "Dalaman Hilderbrant" #~ msgid "MOPAC Z-Matrix" #~ msgstr "Matriks-Z MOPAC" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Guna Pengiraan Semasa Simetri" #~ msgid "Units:" #~ msgstr "Unit:" #~ msgid "Point Group:" #~ msgstr "Kumpulan Titik:" #~ msgid "Minutes" #~ msgstr "Minit" #~ msgid "Hours" #~ msgstr "Jam" #~ msgid "Days" #~ msgstr "Hari" #~ msgid "Weeks" #~ msgstr "Minggu" #~ msgid "Years" #~ msgstr "Tahun" #~ msgid "Millenia" #~ msgstr "Millenium" #~ msgid "MegaWords" #~ msgstr "MegaWords" #~ msgid "MegaBytes" #~ msgstr "MegaBait" #~ msgid "GigaWords" #~ msgstr "GigaWords" #~ msgid "GigaBytes" #~ msgstr "GigaBait" #~ msgid "Force Parallel Methods" #~ msgstr "Paksa Kaedah Selari" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Hasilkan fail \"Teras\" bila henti paksa" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Ingatan:" #~ msgid "Diagonalization Method:" #~ msgstr "Kaedah Pempepenjuruan:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Jenis Imbangan Muat Selari" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Gelung" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Nilai Berikutnya" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Guna Perwakilan Data Luaran untuk Mesej" #~ msgid "Initial Guess:" #~ msgstr "Tekaan Awal:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO Dibaca ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO Disimpan (DICTNRY)" #~ msgid "Skip" #~ msgstr "Langkau" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Putar Orbital Alfa dan Beta" #~ msgid "Print the Initial Guess" #~ msgstr "Cetak Tekaan Awalan" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Antarmuka GAMESS untuk Kod Lain" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Paksa Jenis Jalan Semakan" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (Versi UK)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Larutkan dengan Air" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Jana Orbital Tabii UHF" #~ msgid "Direct SCF" #~ msgstr "SCF Langsung" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Hanya Kira Perubahan dalam Matriks Fock" #~ msgid "Slater exchange" #~ msgstr "Pertukaran Slater" #~ msgid "Becke 1988 exchange" #~ msgstr "Pertukaran Becker 1988" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Kolerasi Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Kolerasi Lee-Yang-Parr" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Pertukaran Slater + Kolerasi VWN" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: Pertukaran BECKE + Kolerasi VWN5" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: Pertukaran BECKE + Kolerasi LYP" #~ msgid "Gill 1996 exchange" #~ msgstr "Pertukaran Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Pertukaran Perdew-Burke-Ernzerhof (PBE)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: Kolerasi Progresif Satu-parameter" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Kolerasi Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + Kolerasi OP" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: Pertukaran BECKE + Kolerasi OP" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: Pertukaran GILL + Kolerasi VWN5" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: Pertukaran GILL + Kolerasi LYP" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: Pertukaran PBE + Kolerasi VWN6" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: Pertukaran PBE + Kolerasi LYP" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: Pertukaran PBE + Kolerasi OP" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF dan Pertukaran BECKE + Kolerasi LYP" #~ msgid "Grid-Free" #~ msgstr "Bebas-Grid" #~ msgid "DFT Functional:" #~ msgstr "Kefungsian DFT:" #~ msgid "Method:" #~ msgstr "Kaedah:" #~ msgid "AO Integral Storage" #~ msgstr "Storan Kamiran AO" #~ msgid "Duplicated on Each Node" #~ msgstr "Gandaan pada Setiap Nod" #~ msgid "Distributed Across All Nodes" #~ msgstr "Teragih Meliputi Semua Nod" #~ msgid "words" #~ msgstr "perkataan" #~ msgid "Compute MP2 Properties" #~ msgstr "Kira Sifat MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Pangkasan Pengekalan Kamiran:" #~ msgid "Use Localized Orbitals" #~ msgstr "Guna Orbital Setempat" #~ msgid "# of Core Electrons:" #~ msgstr "# dari Elektron Teras:" #~ msgid "Transformation Method" #~ msgstr "Kaedah Transformasi" #~ msgid "Two Phase Bin Sort" #~ msgstr "Isih Dua Fasa Bin" #~ msgid "Segmented Transformation" #~ msgstr "Trasnformasi Tersegmen" #~ msgid "Analytic" #~ msgstr "Analitik" #~ msgid "Numeric" #~ msgstr "Numerik" #~ msgid "Double Differenced Hessian" #~ msgstr "Hesian Terbeza Dubel" #~ msgid "Print Internal Force Constants" #~ msgstr "Cetak Pemalar Daya Dalaman" #~ msgid "Displacement Size:" #~ msgstr "Saiz Sesaran:" #~ msgid "Purify Hessian" #~ msgstr "Hesian Tulen" #~ msgid "Frequency Scale Factor:" #~ msgstr "Faktor Skala Frekuensi:" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Hesian Awalan" #~ msgid "Guess (+ define)" #~ msgstr "Tekaan (+ takrif)" #~ msgid "Read (from $HESS)" #~ msgstr "baca (dari $HESS)" #~ msgid "Update Step Size" #~ msgstr "Kemaskini Saiz Langkah" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Cetak Orb pada Setiap Iterasi" #~ msgid "Jump Size:" #~ msgstr "Saiz Lompat:" #~ msgid "Stationary Point" #~ msgstr "Titik Kekal" #~ msgid "Step Size" #~ msgstr "Saiz Langkah" #~ msgid "Maximum:" #~ msgstr "Maksimum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Initial:" #~ msgstr "Awalan:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Pengotimuman Fungsi Rasional" #~ msgid "Quadratic Approximation" #~ msgstr "Penghampiran Kuadratik" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Pengoptimuman Kekangan" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Kira Semula Hesian Setiap:" #~ msgid "Follow Mode:" #~ msgstr "Mod Ikut:" #~ msgid "Maximum Steps:" #~ msgstr "Langkah Maksimum:" #~ msgid "GAMESS-UK Input" #~ msgstr "Input GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Input GAMESS-UK dijana oleh Avogadro" #~ msgid "Transition State Search" #~ msgstr "Gelintar Keadaan Peralihan" #~ msgid "Basis:" #~ msgstr "Asas:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Matriks-Z" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "Dalam mod terus, integral tidak disimpan dalam cakera, tetapi dikira " #~ "semula.\n" #~ "bila diperlukan. Dalam sistem modern dengan pemprosesan pantas dan " #~ "cakera\n" #~ "perlahan, terus adalah lebih pantas." #~ msgid "Run in direct mode:" #~ msgstr "Jalan dalam mod terus:" #~ msgid "Gaussian Input" #~ msgstr "Input Gaussian" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Output:" #~ msgid "Standard" #~ msgstr "Piawai" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Titik Semak:" #~ msgid "Z-matrix (compact)" #~ msgstr "Matriks-Z (padat)" #~ msgid "Select the unit style to be used during the simulation." #~ msgstr "Pilih gaya unit yang digunakan semasa simulasi." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "sebenar" #~ msgid "metal" #~ msgstr "logam" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "elektron" #~ msgid "Water Potential" #~ msgstr "Keupayaan Air" #~ msgid "NONE" #~ msgstr "TIADA" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "Select atom_style used by the data file." #~ msgstr "Pilih gaya_atom yang digunakan oleh fail data." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgid "Atom Style" #~ msgstr "Gaya Atom" #~ msgid "angle" #~ msgstr "sudut" #~ msgid "atomic" #~ msgstr "atomik" #~ msgid "bond" #~ msgstr "ikatan" #~ msgid "charge" #~ msgstr "cas" #~ msgid "dipole" #~ msgstr "dwikutub" #~ msgid "ellipsoid" #~ msgstr "elipsoid" #~ msgid "full" #~ msgstr "penuh" #~ msgid "line" #~ msgstr "garis" #~ msgid "meso" #~ msgstr "meso" #~ msgid "molecular" #~ msgstr "molekul" #~ msgid "peri" #~ msgstr "pero" #~ msgid "sphere" #~ msgstr "sfera" #~ msgid "tri" #~ msgstr "tri" #~ msgid "wavepacket" #~ msgstr "paket gelombang" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "Nyatakan nama yang digunakan untuk fail koordinat." #~ msgid "Coordinate Data File" #~ msgstr "Fail Data Koordinat" #~ msgid "Ensemble" #~ msgstr "Ensembel" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Suhu" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "Pilih bilangan rantaian Nosé-Hoover dalam ensembel NVT." #~ msgid "NH Chains" #~ msgstr "Rantaian NH" #~ msgid "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgstr "" #~ "Langkah masa untuk simulasi dalam unit berdasarkan pada spesifikasi \"Unit" #~ "\"" #~ msgid "Time Step" #~ msgstr "Langkah Masa" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "Nama fail bagi fail XYZ untuk ditulis semasa simulasi." #~ msgid "Dump XYZ" #~ msgstr "Longgok XYZ" #~ msgid "Number of dimensions in the system." #~ msgstr "Bilangan dimensi dalam sistem." #~ msgid "Dimensions" #~ msgstr "Dimensi" #~ msgid "Change Z boundary style." #~ msgstr "Ubah gaya sempadan Z." #~ msgid "p" #~ msgstr "p" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "Change Y boundary style." #~ msgstr "Ubah gaya sempadan Y." #~ msgid "Change X boundary style." #~ msgstr "Ubah gaya sempadan X." #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "Pilih Gaya sempadan dalam arah X, Y dan Z." #~ msgid "Boundary" #~ msgstr "Sempadan" #~ msgid "Number of replicants in X, Y and Z directions." #~ msgstr "Bilangan replika dalam arah X, Y dan Z." #~ msgid "Replicate" #~ msgstr "Replika" #~ msgid "Replicate the X direction." #~ msgstr "Replikakan arah X." #~ msgid "Replicate the Y direction." #~ msgstr "Replikakan arah Y." #~ msgid "Replicate the Z direction." #~ msgstr "Replikakan arah Z." #~ msgid "Total number of timesteps to run the simulation." #~ msgstr "Jumlah langkah masa untuk jalani simulasi." #~ msgid "Total Steps" #~ msgstr "Jumlah Langkah" #~ msgid "Dump Interval" #~ msgstr "Sela Longgok" #~ msgid "Set the initial atom velocities for the simulation." #~ msgstr "Tetapkan halaju atom awalan untuk simulasi." #~ msgid "Initial Velocities" #~ msgstr "Halaju Awalan" #~ msgid "Select the distribution of initial atom velocities." #~ msgstr "Pilih agihan bagi halaju atom awalan." #~ msgid "gaussian" #~ msgstr "gaussian" #~ msgid "uniform" #~ msgstr "sekata" #~ msgid "Set the initial atom velocities to match this temperature." #~ msgstr "Tetapkan halaju atom awalan unti disepadankan dengan suhu ini." #~ msgid "Remove system linear momentum from initial velocities." #~ msgstr "Buang momentum linear sistem daripada halaju awalan." #~ msgid "Zero Linear Momentum" #~ msgstr "Momentum Linear Sifar" #~ msgid "Remove system angular momentum from initial velocities." #~ msgstr "Buang momentum sudut sistem daripada halaju awalan." #~ msgid "Zero Angular Momentum" #~ msgstr "Momentum Sudut Sifar" #~ msgid "Control the thermodynamic output during the simulation." #~ msgstr "Kawal output termodinamik semasa simulasi." #~ msgid "Output Interval" #~ msgstr "Sela Output" #~ msgid "2d" #~ msgstr "2d" #~ msgid "3d" #~ msgstr "3d" #~ msgid "Thermodynamic output style." #~ msgstr "Gaya output termodinamik." #~ msgid "One Line" #~ msgstr "Satu garis" #~ msgid "Multi Line" #~ msgstr "Berbilang garis" #~ msgid "" #~ "\n" #~ "\n" #~ "

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

" #~ msgid "MOLPRO Input" #~ msgstr "Input MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Versi Molpro:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Input MOPAC" #~ msgid "Quartet" #~ msgstr "Kuartet" #~ msgid "Quintet" #~ msgstr "Kuintet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Input NWChem" #~ msgid "Psi4 Input" #~ msgstr "Input Psi4" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Input Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "Input TeraChem" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Tidak disekat" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "tidak" #~ msgid "yes" #~ msgstr "ya" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Serakan:" #~ msgid "Load Shaders" #~ msgstr "Muat Pelorek" #~ msgid "Shader Name:" #~ msgstr "Nama Pelorek:" #~ msgid "Vertex Shader:" #~ msgstr "Pelorek Puncak:" #~ msgid "Fragment Shader:" #~ msgstr "Pelorek Cebisan:" #~ msgid "Assign Shader" #~ msgstr "Umpuk Pelorek" #~ msgid "Display Type:" #~ msgstr "Jenis Paparan:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Kawalan:\n" #~ "Klik kiri dua kali: Pulih had paksi lalai\n" #~ "Klik kanan + seret: Alih plot\n" #~ "Klik tengah + seret: Zum ke kawasan\n" #~ "Roda tatal: Zum ke kursor" #~ msgid "&Load data..." #~ msgstr "&Muat data..." #~ msgid "&Close" #~ msgstr "T&utup" #~ msgid "Calculated Spectra:" #~ msgstr "Spektrum Terkira:" #~ msgid "Set Color..." #~ msgstr "Tetapkan Warna..." #~ msgid "Imported Spectra:" #~ msgstr "Spektrum Terimport:" #~ msgid "Font:" #~ msgstr "Fon:" #~ msgid "Change Font..." #~ msgstr "Ubah Fon..." #~ msgid "Show" #~ msgstr "Papar" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "Import tsv bagi spektrum eksperimen untuk tindihan pada plot." #~ msgid "&Import..." #~ msgstr "&Import..." #~ msgid "Background:" #~ msgstr "Latar Belakang:" #~ msgid "Foreground:" #~ msgstr "Latar Hadapan:" #~ msgid "New..." #~ msgstr "Baru..." #~ msgid "Rename..." #~ msgstr "Namakan Semula..." #~ msgid "&Schemes:" #~ msgstr "&Skema:" #~ msgid "&Export..." #~ msgstr "&Eksport..." #~ msgid "&DPI:" #~ msgstr "&DPI..." #~ msgid "&Width:" #~ msgstr "&Lebar:" #~ msgid "&Height" #~ msgstr "&Tinggi" #~ msgid "cm" #~ msgstr "sm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Simpan Imej..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Guna nilai teroptimum bagi saiz fon selain dari nilai dinyatakan-skema " #~ "(skrin pada saiz titik imej tidak diterjemah dengan baik!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Saiz F&on Laras-sendiri" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Eksport Data" #~ msgid "Spectra Tab" #~ msgstr "Tab Spekr=trum" #~ msgid "&Gaussian Width:" #~ msgstr "Lebar &Gaussian:" #~ msgid "&Label peaks" #~ msgstr "Puncak &label" #~ msgid "Rotatory Strength type:" #~ msgstr "Jenis Kekuatan Putaran:" #~ msgid "Energy units:" #~ msgstr "Unit tenaga:" #~ msgid "Density units" #~ msgstr "Unit ketumpatan" #~ msgid "Fermi Energy: " #~ msgstr "Tenaga Fermi: " #~ msgid "States / Cell" #~ msgstr "Keadaan / Sel" #~ msgid "States / Atom" #~ msgstr "Keadaan / Atom" #~ msgid "States / Valence electron" #~ msgstr "Keadaan / Elektron Valens" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Tenaga Fermi pada sifar" #~ msgid "Scale integrated DOS" #~ msgstr "Skala tersepadu DOS" #~ msgid "Show integrated DOS" #~ msgstr "Papar DOS tersepadu" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "Unit Paksi &Y:" #~ msgid "Scaling Type:" #~ msgstr "Jenis Penskalaan:" #~ msgid "Linear" #~ msgstr "Linear" #~ msgid "Relative" #~ msgstr "Relatif" #~ msgid "Temperature:" #~ msgstr "Suhu:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Bilangan Gelombang Laser:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Ambang:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Nukleus:" #~ msgid "&Reference:" #~ msgstr "&Rujukan:" #~ msgid "Gaussian &Width:" #~ msgstr "&Lebar Gaussian:" #~ msgid "Reset &Plot Axes" #~ msgstr "Tetap Semula Paksi &Plot" #~ msgid "Label Peaks:" #~ msgstr "Puncak Label:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Getaran Molekul" #~ msgid "Filter: " #~ msgstr "Penapis: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "AKtivitI (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Papar Spektrum..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "" #~ "getaran frekuensi lebih tinggi akan paparkan pergerakan lebih pantas" #~ msgid "Animation speed set by frequency" #~ msgstr "Kelajuan animasi ditetapkan mengikut frekuensi" #~ msgid "Display force &vectors" #~ msgstr "Papar &vektor paksa" #~ msgid "&Normalize displacements" #~ msgstr "Penyesaran &normal" #~ msgid "Generate Cell" #~ msgstr "Jana Sel" #~ msgid "&Recalculate All" #~ msgstr "&Kira Semula Semua" #~ msgid "Default &Quality:" #~ msgstr "K&ualiti Lalai:" #~ msgid "Show occupied orbitals first" #~ msgstr "Papar petala pertama diduduki" #~ msgid "Limit orbital precalculations to " #~ msgstr "Hadkan prapengiraan petala kepada " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "petala disekitar HOME/LUMO" #~ msgid "Quality: " #~ msgstr "Kualiti: " #~ msgid "Create Surfaces" #~ msgstr "Cipta Permukaan" #~ msgid "Surface Type:" #~ msgstr "Jenis Permukaan:" #~ msgid "Color By:" #~ msgstr "Warna Mengikut:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Rendah" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Sederhana" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Tinggi" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Sangat Tinggi" #~ msgid "Isosurface cutoff value" #~ msgstr "Nilai pangkasan permukaan-iso" #~ msgid "Iso Value:" #~ msgstr "Nilai Iso:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Jenis Paparan In:" #~ msgid "New Display" #~ msgstr "Paparan Baru" #~ msgid "Advanced..." #~ msgstr "Lanjutan..." #~ msgid "&n:" #~ msgstr "&n:" #~ msgid "&m:" #~ msgstr "&m:" #~ msgid "&Length:" #~ msgstr "&Panjang:" #~ msgid "Uni&t:" #~ msgstr "Uni&t" #~ msgid "periodic units" #~ msgstr "unit berkala" #~ msgid "angstrom" #~ msgstr "angstrom" #~ msgid "bohr radii" #~ msgstr "jejari bohr" #~ msgid "nanometers" #~ msgstr "nanometer" #~ msgid "picometers" #~ msgstr "pikometer" #~ msgid "&Cap with hydrogen" #~ msgstr "&Tutup dengan hidrogen" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "Ia mungkin mengambil masa. Jika hanya koordinat\n" #~ "atom diperlukan (katakanm untuk pengiraan mekanikal\n" #~ "kuantum), perwakilan hanya satu ikatan tunggal adalah\n" #~ "memadai." #~ msgid "Find &double bonds" #~ msgstr "Cari ikatan &dubel" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Diterjemah oleh:" #~ msgid "X-axis" #~ msgstr "Paksi-X" #~ msgid "Y-axis" #~ msgstr "Paksi-Y" #~ msgid "Z-axis" #~ msgstr "Paksi-Z" #~ msgid "Rotate around:" #~ msgstr "Putar:" #~ msgid "Origin" #~ msgstr "Asalan" #~ msgid "Geometry" #~ msgstr "Geometri" #~ msgid "Display visual cues" #~ msgstr "Papar cue visual" #~ msgid "Python Settings" #~ msgstr "Tetapan Python" #~ msgid "Z Matrix Editor" #~ msgstr "Penyunting Matriks Z" #~ msgid "Import Selected Atoms" #~ msgstr "Import Atom Terpilih" avogadrolibs-1.93.0/i18n/nb.po000066400000000000000000003635571360735163600160330ustar00rootroot00000000000000# Norwegian Bokmal translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 07:01+0000\n" "Last-Translator: Simen Heggestøyl \n" "Language-Team: Norwegian Bokmal \n" "Language: nb\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:02+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Fortsett" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Ukjent" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Avbryt beregning" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Advarsel" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Advarsel" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Kan ikke skrive til fil." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Filnavn:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Prosessorer:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Avbryt beregning" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Molekyl" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Stopp &animasjon" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 msgid "No program selected." msgstr "" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hydrogen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Karbon" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogen" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oksygen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Natrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silisium" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Svovel" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Klor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kalium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kalsium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titan" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Krom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Jern" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobolt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikkel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Kobber" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Sink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsen" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selen" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niob" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybden" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technetium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruthenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Sølv" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Tinn" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellur" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jod" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cesium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodym" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodym" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promethium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Wolfram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhenium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Gull" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Kvikksølv" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Thallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Bly" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Vismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Thorium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uran" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Røntgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Bla gjennom …" #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Utvalgsmodus:" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Tous les fichiers" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 msgid "Untitled" msgstr "" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodetabell" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "MOPAC mislyktes i å starte." #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL-feil" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Ukjent" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekyl" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Legg til atom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Fjern Atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Startatom" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Juster hydrogener" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Endre grunnstoff" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Endre grunnstoff" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Legg til binding" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Fjern Atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Slett binding" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Bindingsegenskaper" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr "Slett binding" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Slett binding" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Fil" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Eksporter" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Åpne parameterfil" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "&Extensions" msgstr "" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Feil" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL-feil" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Feil" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Suksess!" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Vis multiple bindinger" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hydrogener" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Kuler og pinner" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Tegner atomer som van der Waals-kuler" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Sluttatom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Fjern Atom" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Liaison" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Filnavn:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Ugyldig filnavn" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Grunnstoff" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Ugyldig filnavn" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Grunnstoff" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Ugyldig filnavn" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atomnummer" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Ugyldig filnavn" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Kartesiske koordinater" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Kartesiske koordinater" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Kartesiske koordinater" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Kartesiske koordinater" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Kartesiske koordinater" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Kartesiske koordinater" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Geoff Hutchison,Laurent Peuch,Louis Ricard,Maijin," "Nizar Kerkeni, ,Launchpad Contributions:,Benoit Jacob,Geoff Hutchison," "Laurent Peuch,Louis Ricard,Maijin,Mathieu Pasquet,Nizar Kerkeni, ,Launchpad " "Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison, ,Launchpad " "Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen Heggestøyl, ," "Launchpad Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen " "Heggestøyl,pererik87, ,Launchpad Contributions:,Avogadro Team,Benoit Jacob," "Geoff Hutchison,Simen Heggestøyl,pererik87, ,Launchpad Contributions:," "Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen Heggestøyl,pererik87, ," "Launchpad Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen " "Heggestøyl,pererik87, ,Launchpad Contributions:,Avogadro Team,Benoit Jacob," "Geoff Hutchison,Simen Heggestøyl,pererik87, ,Launchpad Contributions:," "Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen Heggestøyl,pererik87, ," "Launchpad Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen " "Heggestøyl,pererik87, ,Launchpad Contributions:,Avogadro Team,Benoit Jacob," "Geoff Hutchison,Simen Heggestøyl,kingu,pererik87,Åka Sikrom, ,Launchpad " "Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen Heggestøyl," "kingu,pererik87,Åka Sikrom, ,Launchpad Contributions:,Allan Nordhøy,Avogadro " "Team,Benoit Jacob,Geoff Hutchison,Simen Heggestøyl,pererik87,Åka Sikrom" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Kartesiske koordinater" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Kartesiske koordinater" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Kunne ikke velge formatet: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Kunne ikke velge formatet: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "&Krystallografi" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "&Krystallografi" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Farge etter grunnstoff" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Tegn" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Tegn atom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Endre skrift …" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Fjern Atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Avstand(er):" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Avstand(er):" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Automatisk optimalisering" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Enkel" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dobbel" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Trippel" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Sadelpunkt" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frekvenser" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gass" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Vann" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Kation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Nøytral" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Avbryt beregning" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Juster hydrogener" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Legg til eller fjern hydrogener" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Legg til eller fjern hydrogener" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hydrogener" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hydrogener" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importer" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Tegner atomer som van der Waals-kuler" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Ingen beskrivelse" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekyl" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Generer …" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipuler" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipuler atom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Vinkel:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Vinkel:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Vis" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Naviger" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Naviger" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Kjemisk navn" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Juster hydrogener" #: qtplugins/openbabel/openbabel.cpp:77 msgid "Add hydrogens for pH..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Legg til eller fjern hydrogener" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Det oppstod et problem ved skriving til fila %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Generer …" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 msgid "Adding Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Juster hydrogener" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Stopp" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parametre:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Fjern …" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Stopp" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Kan ikke lese fila %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Feil" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 msgid "POV-Ray Render" msgstr "" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Lagre videofil" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 msgid "Calculating electron density" msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Nullstill" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "&Velg" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Utvalg" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "Ignorer utvalg" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Utvalg" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Velg" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Velg" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Utvalg" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Utvalg" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrasjoner" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Vibrasjoner" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Grunnstoff" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Farge etter grunnstoff" #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Tegner molekyler som pinner" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Dialogvindu" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Utvalgsinnstillinger" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Avbryt beregning" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Prosessorer:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Endre grunnstoff" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Lagre videofil" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Suksess!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Utvalgsinnstillinger" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Naviger" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Naviger" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Naviger" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Filnavn:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Avbryt" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Nullstill" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Avstand(er):" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Ångstrøm" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Format:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Bruk" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parametre:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Z-matrise" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Grunnstoff:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Inn:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplisitet:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Med:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Tittel:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Ladning:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Filnavn:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Standardverdier" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Lagre videofil" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "navn" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Ingen beskrivelse" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Molecular Mass (g/mol):" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Antall atomer:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Antall bindinger:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimaliseringsmetode:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimaliseringsmetode:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Gradient" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Autorotering" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Konvergens" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Konvergens" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Antall bindinger:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Bølgelengde (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download Selected" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Kovalent" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Ugjennomsiktighet:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Flater" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Flater" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Moyen" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Faible" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Élevée" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Oppløsning:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Flater" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrasjoner" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Start &animasjon" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Stopp &animasjon" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekyl" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Vibrasjoner" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Geoff Hutchison,Laurent Peuch,Louis Ricard,Maijin," "Nizar Kerkeni, ,Launchpad Contributions:,Benoit Jacob,Geoff Hutchison," "Laurent Peuch,Louis Ricard,Maijin,Mathieu Pasquet,Nizar Kerkeni, ,Launchpad " "Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison, ,Launchpad " "Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen Heggestøyl, ," "Launchpad Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen " "Heggestøyl,pererik87, ,Launchpad Contributions:,Avogadro Team,Benoit Jacob," "Geoff Hutchison,Simen Heggestøyl,pererik87, ,Launchpad Contributions:," "Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen Heggestøyl,pererik87, ," "Launchpad Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen " "Heggestøyl,pererik87, ,Launchpad Contributions:,Avogadro Team,Benoit Jacob," "Geoff Hutchison,Simen Heggestøyl,pererik87, ,Launchpad Contributions:," "Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen Heggestøyl,pererik87, ," "Launchpad Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen " "Heggestøyl,pererik87, ,Launchpad Contributions:,Avogadro Team,Benoit Jacob," "Geoff Hutchison,Simen Heggestøyl,kingu,pererik87,Åka Sikrom, ,Launchpad " "Contributions:,Avogadro Team,Benoit Jacob,Geoff Hutchison,Simen Heggestøyl," "kingu,pererik87,Åka Sikrom, ,Launchpad Contributions:,Allan Nordhøy,Avogadro " "Team,Benoit Jacob,Geoff Hutchison,Simen Heggestøyl,pererik87,Åka Sikrom" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" "benoitjacob@users.sourceforge.net,louis.ricard@polytechnique.fr,,,," "psycojoker@gmail.com,louis.ricard@polytechnique.edu,,nizar.kerkeni@gmail." "com,,,jacob.benoit.1@gmail.com,,psycojoker@gmail.com,louis." "ricard@polytechnique.edu,,,nizar.kerkeni@gmail.com,,,avogadro-devel@lists." "sourceforge.net,jacob.benoit.1@gmail.com,,,,avogadro-devel@lists.sourceforge." "net,jacob.benoit.1@gmail.com,,simen@simenh.com,,,avogadro-devel@lists." "sourceforge.net,jacob.benoit.1@gmail.com,,simen@simenh.com,,,,avogadro-" "devel@lists.sourceforge.net,jacob.benoit.1@gmail.com,,simen@simenh.com,,,," "avogadro-devel@lists.sourceforge.net,jacob.benoit.1@gmail.com,,simen@simenh." "com,,,,avogadro-devel@lists.sourceforge.net,jacob.benoit.1@gmail.com,," "simenheg@gmail.com,,,,avogadro-devel@lists.sourceforge.net,jacob." "benoit.1@gmail.com,,simenheg@gmail.com,,,,avogadro-devel@lists.sourceforge." "net,jacob.benoit.1@gmail.com,,simenheg@gmail.com,,,,avogadro-devel@lists." "sourceforge.net,jacob.benoit.1@gmail.com,,simenheg@gmail.com,,,,avogadro-" "devel@lists.sourceforge.net,jacob.benoit.1@gmail.com,,simenheg@gmail.com," "comradekingu@gmail.com,,,,,avogadro-devel@lists.sourceforge.net,jacob." "benoit.1@gmail.com,,simenheg@gmail.com,comradekingu@gmail.com,,,,," "comradekingu@gmail.com,avogadro-devel@lists.sourceforge.net,jacob." "benoit.1@gmail.com,,simenheg@gmail.com,," #~ msgid "Color by Index" #~ msgstr "Fargelegg etter indeksering" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Fargelegg etter indeksering (rød, oransje, gul, blå, fiolett)." #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Farge etter partiell ladning (blå = positiv, rød = negativ)." #~ msgid "Custom Color:" #~ msgstr "Selvvalgt farge:" #~ msgid "Custom Color" #~ msgstr "Selvvalgt farge" #~ msgid "Color by Distance" #~ msgstr "Farge etter avstand" #~ msgid "Color by distance from the first atom." #~ msgstr "Farge etter avstand fra det første atomet." #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Farge etter grunnstoff (karbon = grå, oksygen = rød, …)." #~ msgid "Color by Residue" #~ msgstr "Farger av Residue" #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS-mønster:" #~ msgid "Highlight Color:" #~ msgstr "Farge for framheving:" #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Axes" #~ msgstr "Akser" #~ msgid "Dipole" #~ msgstr "Dipol" #~ msgid "Force" #~ msgstr "Kraft" #~ msgid "Hydrogen Bond" #~ msgstr "Hydrogenbinding" #~ msgid "Renders hydrogen bonds" #~ msgstr "Tegner hydrogenbindinger" #~ msgid "Polygon" #~ msgstr "Mangekant" #~ msgid "Ring" #~ msgstr "Ring" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waals-kuler" #~ msgid "%1/%2" #~ msgstr "%1%2" #~ msgid "video files (*.avi)" #~ msgstr "videofiler (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Legger til .avi-utvidelse" #~ msgid "Animation..." #~ msgstr "Animasjon..." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Må spesifisere et gyldig .avi-filnavn" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Kunne ikke fastslå formatet utfra filnavnet: %1" #~ msgid "Animation" #~ msgstr "Animasjon" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animer baner, reaksjoner og vibrasjoner." #~ msgid "Number of atoms: %1" #~ msgstr "Antall atomer: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Antall roterbare bindinger: %1" #~ msgid "Add constraint" #~ msgstr "Legg til skranke" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Molekylet ditt må inneholde minst ett atom for å legge til en skranke" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Molekylet ditt må inneholde minst to atomer for å legge til en " #~ "bindingsskranke" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Molekylet ditt må inneholde minst tre atomer for å kunne legge til en " #~ "vinkelbegrensning" #~ msgid "&Reduce" #~ msgstr "&Reduser" #~ msgid "Undefined" #~ msgstr "Indéfini" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Sekskantet" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Kubisk" #~ msgid "Trajectory..." #~ msgstr "Bane …" #~ msgid "Import Trajectory" #~ msgstr "Importer bane" #~ msgid "Import trajectory files" #~ msgstr "Importer banefiler" #~ msgid "Calculate Energy" #~ msgstr "Beregn energi" #~ msgid "Constraints..." #~ msgstr "Skranker..." #~ msgid "Fix Selected Atoms" #~ msgstr "Bind valgte atomer" #~ msgid "Energy = %L1 %2" #~ msgstr "Energi = %L1 %2" #~ msgid "&Vector Graphics..." #~ msgstr "&Graphiques vectoriels..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Format d'image vectorielle usuel" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Fragment..." #~ msgstr "Fragment …" #~ msgid "Insert Fragment" #~ msgstr "Sett inn fragment" #~ msgid "Peptide..." #~ msgstr "Peptid …" #~ msgid "Insert Peptide" #~ msgstr "Sett inn peptid" #~ msgid "Molecule Properties..." #~ msgstr "Molekylegenskaper..." #~ msgid "&Properties" #~ msgstr "&Egenskaper" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "ukjent" #~ msgid "All Files" #~ msgstr "Alle filer" #~ msgid "Show Preview" #~ msgstr "Forhåndsvisning" #~ msgid "Hide Preview" #~ msgstr "Skjul forhåndsvisning" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Bildefiler (*.png *.pbm)" #~ msgid "Does not compute." #~ msgstr "Lar seg ikke beregne." #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Kan ikke skrive til fila %1. Har du skriverettigheter i dette området?" #~ msgid "Atom Properties..." #~ msgstr "Atomegenskaper..." #~ msgid "Bond Properties..." #~ msgstr "Bindingsegenskaper..." #~ msgid "Angle Properties..." #~ msgstr "Vinkelegenskaper …" #~ msgid "Atom Properties" #~ msgstr "Atomegenskaper" #~ msgid "Angle Properties" #~ msgstr "Vinkelegenskaper" #~ msgid "Properties" #~ msgstr "Egenskaper" #~ msgid "Valence" #~ msgstr "Valens" #~ msgid "Partial Charge" #~ msgstr "Partiell ladning" #~ msgid "Atom" #~ msgstr "Atome" #~ msgid "Rotatable" #~ msgstr "Roterbar" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Lengde %1" #~ msgid "Vertex" #~ msgstr "Hjørne" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Vinkel %1" #~ msgid "Angle" #~ msgstr "Vinkel" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgid "Torsion" #~ msgstr "Torsion" #~ msgid "Conformer" #~ msgstr "Conformère" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nei" #~ msgid "Python Terminal" #~ msgstr "Python-terminal" #~ msgid "Delete" #~ msgstr "Slett" #~ msgid "Group Name" #~ msgstr "Gruppenavn" #~ msgid " (" #~ msgstr " (" #~ msgid ")" #~ msgstr ")" #~ msgid "Gaussian Running." #~ msgstr "Gaussian kjører." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian kjører allerede. Vent til den forrige utregningen er ferdig." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian er ikke installert." #~ msgid "&Dalton..." #~ msgstr "&Dalton …" #~ msgid "&Gaussian..." #~ msgstr "&Gaussian …" #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "MOPAC Running." #~ msgstr "MOPAC kjører." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC kjører allerede. Vent til den forrige utregningen er ferdig." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC er ikke installert." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC startet ikke. Kanskje det er installert feil." #~ msgid "Running MOPAC calculation..." #~ msgstr "Kjører MOPAC-utregning …" #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC krasjet." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "MOPAC kjørte ikke som det skal. Kanskje det er installert feil." #~ msgid "Energy (eV)" #~ msgstr "Energi (eV)" #~ msgid "No intensities" #~ msgstr "Ingen intensiteter" #~ msgid "X Axis" #~ msgstr "X-akse" #~ msgid "Y Axis" #~ msgstr "Y-akse" #~ msgid "&Appearance" #~ msgstr "&Utseende" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrarødt" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "&UV-innstillinger" #~ msgid "No data" #~ msgstr "Ingen data" #~ msgid "Light" #~ msgstr "Lys" #~ msgid "Publication" #~ msgstr "Publikasjon" #~ msgid "Handdrawn" #~ msgstr "Håndtegnet" #~ msgid "Select Background Color" #~ msgstr "Velg bakgrunnsfarge" #~ msgid "Select Foreground Color" #~ msgstr "Velg forgrunnsfarge" #~ msgid "Comma Separated Values" #~ msgstr "Kommaseparerte verdier" #~ msgid "Data Format" #~ msgstr "Dataformat" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format:" #~ msgid "Load Spectral Data" #~ msgstr "Last inn spektraldata" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Save Spectra Image" #~ msgstr "Lagre spektralbilde" #~ msgid "Spectra" #~ msgstr "Spektra" #~ msgid "Vibration" #~ msgstr "Vibrasjon" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Sorterer %1 vibrasjoner etter frekvens …" #~ msgid "Pause" #~ msgstr "Pause" #~ msgid "Status" #~ msgstr "Status" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Ingenting" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Molekylærorbital" #~ msgid "Connect" #~ msgstr "Koble til" #~ msgid "Disconnect" #~ msgstr "Koble fra" #~ msgid "Debug Information" #~ msgstr "Feilsøkingsinformasjon" #~ msgid "Atoms: %L1" #~ msgstr "Atomer: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Bindinger: %L1" #~ msgid "Molecule %1" #~ msgstr "Molekyl %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Ukjent Python-motor" #~ msgid "N/A" #~ msgstr "–" #~ msgid " - no module" #~ msgstr " - ingen modul" #~ msgid "Unknown Python Extension" #~ msgstr "Ukjent Python-utvidelse" #~ msgid "Tools" #~ msgstr "Verktøy" #~ msgid "Axis:" #~ msgstr "Akse:" #~ msgid "Everything" #~ msgstr "Alt" #~ msgid "Algorithm:" #~ msgstr "Algoritme:" #~ msgid "Fixed atoms are movable" #~ msgstr "Faste atomer kan flyttes" #~ msgid "Auto Rotation Tool" #~ msgstr "Automatisk roterings verktøy" #~ msgid "x rotation:" #~ msgstr "x rotasjon:" #~ msgid "x rotation" #~ msgstr "x rotasjon" #~ msgid "y rotation:" #~ msgstr "y rotasjon:" #~ msgid "y rotation" #~ msgstr "y rotasjon" #~ msgid "z rotation:" #~ msgstr "z rotasjon:" #~ msgid "z rotation" #~ msgstr "z rotasjon" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Delete Atom" #~ msgstr "Slett atom" #~ msgid "Draw Bond" #~ msgstr "Tegn binding" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Tegn og rediger atomer og bindinger" #~ msgid "Atom/Bond" #~ msgstr "Atom/Binding" #~ msgid "Change color of the atom" #~ msgstr "Endre farge på atomet" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Ny radius, %1:" #~ msgid "Symbol" #~ msgstr "Symbol" #~ msgid "Bond Length" #~ msgstr "Bindingslengde" #~ msgid "Bond Angle" #~ msgstr "Bindingsvinkel" #~ msgid "Create/edit a z-matrix" #~ msgstr "Lag/rediger en z-matrise" #~ msgid "Axes:" #~ msgstr "Akser:" #~ msgid "Cartesian Axes" #~ msgstr "Kartesiske akser" #~ msgid "Orthogonal Axes" #~ msgstr "Ortogonale akser" #~ msgid "Axis 1:" #~ msgstr "Akse 1:" #~ msgid "Axis 2:" #~ msgstr "Akse 2:" #~ msgid "Axis 3:" #~ msgstr "Akse 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origo:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norm" #~ msgid "Atom Radius:" #~ msgstr "Atomradius:" #~ msgid "Bond Radius:" #~ msgstr "Bindingsradius:" #~ msgid "Helix" #~ msgstr "Heliks" #~ msgid "Colors" #~ msgstr "Couleurs" #~ msgid "Text:" #~ msgstr "Tekst:" #~ msgid "Color:" #~ msgstr "Farge:" #~ msgid "Partial charge" #~ msgstr "Partiell ladning" #~ msgid "Bond length" #~ msgstr "Bindingslengde" #~ msgid "Bond number" #~ msgstr "Bindingsnummer" #~ msgid "Radius:" #~ msgstr "Radius:" #~ msgid "Selected Colors" #~ msgstr "Valgte farger" #~ msgid "Colors:" #~ msgstr "Farger:" #~ msgid "Positive" #~ msgstr "Positiv" #~ msgid "Negative" #~ msgstr "Negativ" #~ msgid "Show Atoms" #~ msgstr "Vis atomer" #~ msgid "0/0" #~ msgstr "0/0" #~ msgid "fps" #~ msgstr "fps" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "Number of atoms:" #~ msgstr "Antall atomer:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Antall roterbare bindinger:" #~ msgid "Energy" #~ msgstr "Energi" #~ msgid "Constraints" #~ msgstr "Skranker" #~ msgid "Add Constraints" #~ msgstr "Legg til skranker" #~ msgid "Ignore Atom" #~ msgstr "Ignorer atom" #~ msgid "Fix Atom" #~ msgstr "Bind atom" #~ msgid "Fix Atom X" #~ msgstr "Bind atom X" #~ msgid "Fix Atom Y" #~ msgstr "Bind atom Y" #~ msgid "Fix Atom Z" #~ msgstr "Bind atom Z" #~ msgid "Add" #~ msgstr "Legg til" #~ msgid "Save" #~ msgstr "Lagre" #~ msgid "Cartesian" #~ msgstr "Kartesisk" #~ msgid "Number of steps" #~ msgstr "Antall steg" #~ msgid "Algorithm" #~ msgstr "Algoritme" #~ msgid "Alanine" #~ msgstr "Alanin" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginin" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Cysteine" #~ msgstr "Cystein" #~ msgid "Glutamine" #~ msgstr "Glutamin" #~ msgid "Glycine" #~ msgstr "Glycin" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidin" #~ msgid "His" #~ msgstr "His" #~ msgid "Tryptophan" #~ msgstr "Tryptofan" #~ msgid "Serine" #~ msgstr "Serin" #~ msgid "Proline" #~ msgstr "Prolin" #~ msgid "Phenylalanine" #~ msgstr "Fenylalanin" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionin" #~ msgid "Lysine" #~ msgstr "Lysin" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucin" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminosyrer:" #~ msgid "Data" #~ msgstr "Data" #~ msgid "Nothing" #~ msgstr "Ingenting" #~ msgid "Command:" #~ msgstr "Kommando:" #~ msgid "Path:" #~ msgstr "Sti:" #~ msgid "Polarization functions" #~ msgstr "Polariseringsfunksjoner" #~ msgid "Parallel" #~ msgstr "Parallell" #~ msgid "Property:" #~ msgstr "Egenskap:" #~ msgid "System" #~ msgstr "System" #~ msgid "Misc" #~ msgstr "Diverse" #~ msgid "Default" #~ msgstr "Standard" #~ msgid "Optimization" #~ msgstr "Optimalisering" #~ msgid "Global Optimization" #~ msgstr "Global optimalisering" #~ msgid "Minutes" #~ msgstr "Minutter" #~ msgid "Hours" #~ msgstr "Timer" #~ msgid "Days" #~ msgstr "Dager" #~ msgid "Weeks" #~ msgstr "Uker" #~ msgid "Years" #~ msgstr "År" #~ msgid "Memory:" #~ msgstr "Minne:" #~ msgid "Skip" #~ msgstr "Hopp over" #~ msgid "Analytic" #~ msgstr "Analytisk" #~ msgid "Numeric" #~ msgstr "Numerisk" #~ msgid "Stationary Point" #~ msgstr "Stasjonært punkt" #~ msgid "Maximum:" #~ msgstr "Maksimum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Z-matrix" #~ msgstr "Z-matrise" #~ msgid "Font:" #~ msgstr "Skrift:" #~ msgid "Show" #~ msgstr "Vis" #~ msgid "Background:" #~ msgstr "Bakgrunn:" #~ msgid "Foreground:" #~ msgstr "Forgrunn:" #~ msgid "New..." #~ msgstr "Ny …" #~ msgid "Rename..." #~ msgstr "Endre navn …" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Eksporter data" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Linear" #~ msgstr "Lineær" #~ msgid "Relative" #~ msgstr "Relativ" #~ msgid "Temperature:" #~ msgstr "Temperatur:" #~ msgid " K" #~ msgstr " K" #~ msgid "Quality: " #~ msgstr "Kvalitet: " #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Lav" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Høy" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Veldig høy" #~ msgid "Advanced..." #~ msgstr "Avansert …" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Python Settings" #~ msgstr "Python-innstillinger" #~ msgid "Import Selected Atoms" #~ msgstr "Importer valgte atomer" avogadrolibs-1.93.0/i18n/nl.po000066400000000000000000005271031360735163600160320ustar00rootroot00000000000000# Dutch translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-28 12:51+0000\n" "Last-Translator: Maarten van Druten \n" "Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:02+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Input Generator..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Input Generator..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "SluitenG" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Onbekend" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Stop Berekeningen" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Waarschuwing" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Waarschuwing" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Selecteer Solvent" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Output:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Kan bestand niet beschrijven." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Video bestand is niet geschreven" #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Video bestand is niet geschreven" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Titel" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Bestandsnaam:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processoren:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Berekening:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Theorie:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Theorie:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Basis" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Geen molecule geset" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Stop &Animatie" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Geen Atomen Geselecteerd" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Waterstof" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lithium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Koolstof" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Stikstof" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Zuurstof" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Natrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicium" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Zwavel" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Chloor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kalium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calcium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanium" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Chroom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangaan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Ijzer" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikkel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Koper" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arseen" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenium" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Broom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybdeen" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technetium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruthenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Zilver" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Tin" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimoon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telluur" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jood" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cesium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lanthaan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodymium" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodymium" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promethium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantaal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Wolfraam" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Renium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Goud" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Kwik" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Thallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Lood" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astaat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Thorium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uraan" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovium" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorium" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Bladeren..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Selecteer Solvent" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Delete geselecteerde" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Alle bestanden" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "untitled" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodiek systeem" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03 start mislukt." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Scripts" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL error" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Onbekend" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molecule" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Voeg Atoom Toe" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "verwijder atoom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Start Atoom" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Pas Waterstoffen aan" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Wijzig Element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Wijzig Element" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formele lading" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Voeg Binding Toe" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "verwijder atoom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Verwijder Binding" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Bindings Orde" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Wijzig bindings Orde" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Aanhaakbindingen" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Verwijder Binding" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Voeg toe &Unit Cell" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Verwijder &Unit Cell" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Vul Celeenheid" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "Wikkel Atomen om Cel" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Schaal Celeenheidsvolume" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super Cel" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Draai naar Standaardweergave" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Verklein naar Primitieve Cel" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Kristal Symmetrisch maken" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Vul Celeenheid" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Verkleinen naar Asymmetrische Eenheid" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Bestand" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exporteren" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Open parameter bestand" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensies" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "FOUT" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Probleem tijdens het lezen van het traj bestand %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL error" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Probleem tijdens het lezen van het traj bestand %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Open Traject bestand" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Open Traject bestand" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "FOUT" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Succes!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Beeld Succesvol geschreven naar %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Toon Meervoudige Bindingen" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Waterstoffen" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Bal en staaf" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Geef atoom en binding labels weer." #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Binding-centrisch manipulatiehulpmiddel" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Binding-centrisch manipulatiehulpmiddel" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Beëindig Atoom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Verwijder Waterstof" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Bouw" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Binding" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Bestandsnaam:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Cartesiaanse coördinaten editor" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Cartesiaanse coördinaten editor" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Ongeldige Bestandsnaam" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Element naam" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Element symbool" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Element symbool" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Ongeldige Bestandsnaam" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atoom nummer" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Ongeldige Bestandsnaam" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Cartesische Coördinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Cartesische Coördinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Cartesische Coördinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Cartesische Coördinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Cartesische Coördinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Cartesische Coördinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Kristof Bal,Sander Deryckere,Vincent Tijms,ubby, ," "Launchpad Contributions:,Sander Deryckere, ,Launchpad Contributions:,Sander " "Deryckere,Water,cumulus007, ,Launchpad Contributions:,Geoff Hutchison,Sander " "Deryckere,Water,Willem1,Yentl,cumulus007,goto, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison,Joostkam,Sander Deryckere,Water,Willem1,Yentl," "cumulus007,goto, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison," "Joostkam,Sander Deryckere,Water,Willem1,Yentl,cumulus007,goto, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,Joostkam,Sander Deryckere,Water," "Willem1,Yentl,cumulus007,goto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Joostkam,Sander Deryckere,Water,Willem1,Yentl,cumulus007,goto, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Joostkam,Sander " "Deryckere,Water,Willem1,Yentl,cumulus007,goto, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison,Joostkam,Sander Deryckere,Water,Willem1,Yentl," "cumulus007,goto, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison," "Joostkam,Sander Deryckere,Water,Willem Sonke,Yentl,cumulus007,goto, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Joostkam,Sander " "Deryckere,Water,Willem Sonke,Yentl,cumulus007,goto, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,Joostkam,Maarten van Druten," "Sander Deryckere,Timo Herngreen,Water,Willem Sonke,Yentl,cumulus007,goto" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Cartesische Coördinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Cartesische Coördinaten" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP Informatie" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP Informatie" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Vrij:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Vul Celeenheid" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Vul Celeenheid" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "Wikkel Atomen om Cel" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Draai naar Standaardweergave" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Schaal Celeenheidsvolume" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super Cel" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "&Crystallography" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Verwijder &Unit Cell" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Voeg toe &Unit Cell" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "&Crystallography" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Geef atoom en binding labels weer." #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Kleur door element" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Teken" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Teken Atoom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Wijzig bindings Orde" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "verwijder atoom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Afstand" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Afstand (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Ande..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOptimalisatie" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Enkel" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dubbel" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Drievoudig" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Probleem tijdens het lezen van het traj bestand %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Input Generator..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS Input" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Enkel Punt Energie" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Evenwichts Geometrie" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frequenties" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Kern Potentiaal" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Water" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doublet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dication" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Cation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutraal" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS Input" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Stop Berekeningen" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Pas Waterstoffen aan" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Voeg Waterstoffen" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Verwijder Waterstof" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Verwijder Waterstof" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Waterstoffen" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Waterstoffen" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importeren" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Geef atoom en binding labels weer." #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "Voeg &In" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Geen Beschrijving" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molecule" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Genereer..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Aanpassen" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipuleer Atoom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Meet" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Dihedrale hoek:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Hoek:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Hoek:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Meet" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Rendert moleculaire isosurface meshes" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Beeld" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Moleculaire Eigenschappen" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigeren" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigeren" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Chemische naam" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Chemische structuur om te downloaden." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Netwerk Download Gefaald" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Netwerk timeout of andere error :-(" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Gespecifieerde molecule is niet gevonden: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Netwerk Download Gefaald" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimaliseer geometrie" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometrie Optimalisation" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Ruimtegroep Waarnemen" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Voeg Waterstoffen" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Voeg Waterstof toe voor pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Verwijder Waterstof" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Het lezen van een molecule van '%1' gefaald." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Er is een probleem gebeurt tijdens het schrijven naar bestand %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimaliseer geometrie" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Genereer..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Traject bestand %1 gaat niet akkoord met het aantal atomen in de huidige " "molecule" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimaliseer geometrie" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Voeg Waterstoffen" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Voeg Waterstof toe voor pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Verwijder Waterstof" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parameters:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Dynamische Bindingen" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Verwijder..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Kan het bestand %1 niet lezen." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "FOUT" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Sla Video Bestand op" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "(QTAIM) Quantumtheorie van atomen in moleculen" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Renderd primitieven door gebruik te maken van QTAIM eigenschappen" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensies" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Creeer invoer bestanden voor quantum chemie pakketten" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Berekenen van Elektronen Dichtheid" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Berekenen van Elektronen Dichtheid" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Berekenen van moleculaire orbitalen en andere oppervlaktes" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Reset" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Invoer Bestanden Generatoren" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Delete alles" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selectie" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Keer Selectie om" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "selecties" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Selecteer" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Selecteer" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Selectie" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selectie" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Ruimtegroep Waarnemen" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Verkleinen naar Asymmetrische Eenheid" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Ruimte&group" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Selecteer tolerantie in huidige cartesiaanse eenheden:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Internationaal" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Hal" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Selecteer ruimtegroep" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Ruimte&group" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibratie Analyse" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Spectra Visualizatie" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Type" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Selecteer per Element" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Geef dipoolmomenten weer" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Dradenframe" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Geef moleculen weer als stokjes" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Vorm" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Selectie instellingen" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Stop Berekeningen" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Shader Programma:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processoren:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Wijzig Element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Structuur:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Par Bestand:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Krachtveld" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Par Bestand:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Sla Video Bestand op" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Succes!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Structuur:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Bestand laden..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Meet instellingen" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Bestandsnaam:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigeren" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigeren" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigeren" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Bestandsnaam:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Annuleren" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Cartesiaanse coördinaten editor" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Reset" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Afstand" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Ǻngstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formaat:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Toepassen" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Super Cel Parameters" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Super Cel Opties" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A herhaal:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B herhaal:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C herhaal:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Verberg &Editors" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "MOPAC Z-Matrix" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Transformatie Methode" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Schaal Celeenheidsvolume" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Voer nieuw volume in:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Bindings Orde:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS Input" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Basis Setup" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "In:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multipliciteit:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Breedte" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Titel" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Lading:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Bestandsnaam:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Reset Alles" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Standaarden" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Bestand laden..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "naam" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formaat:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Geen Beschrijving" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molecule Gewicht (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Chemische Formule:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Aantal Atomen:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Aantal Bindingen" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometrie Optimalisation" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimalisatie Methode:St" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Krachtveld" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimalisatie Methode:St" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Stijlste Afdaling" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Vervoeg Gradienten" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutoRotatie" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosurface = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Elektrostatisch Potentiaal" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "stappen" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Convergentie" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergentie" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Tijds Limiet:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Eenheden:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Aantal Bindingen" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Golflengte (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Delete geselecteerde" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Ondoorzichtigheid:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Oppervlaktes" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Oppervlaktes" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Medium" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Laag" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Hoog" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Isooppervlakte cutoff waarde" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolutie:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Oppervlaktes" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Bereken" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibratie Analyse" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Start &Animatie" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Stop &Animatie" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molecule" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Opties" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Ruimte&group" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Kristof Bal,Sander Deryckere,Vincent Tijms,ubby, ," "Launchpad Contributions:,Sander Deryckere, ,Launchpad Contributions:,Sander " "Deryckere,Water,cumulus007, ,Launchpad Contributions:,Geoff Hutchison,Sander " "Deryckere,Water,Willem1,Yentl,cumulus007,goto, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison,Joostkam,Sander Deryckere,Water,Willem1,Yentl," "cumulus007,goto, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison," "Joostkam,Sander Deryckere,Water,Willem1,Yentl,cumulus007,goto, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,Joostkam,Sander Deryckere,Water," "Willem1,Yentl,cumulus007,goto, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Joostkam,Sander Deryckere,Water,Willem1,Yentl,cumulus007,goto, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Joostkam,Sander " "Deryckere,Water,Willem1,Yentl,cumulus007,goto, ,Launchpad Contributions:," "Avogadro Team,Geoff Hutchison,Joostkam,Sander Deryckere,Water,Willem1,Yentl," "cumulus007,goto, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison," "Joostkam,Sander Deryckere,Water,Willem Sonke,Yentl,cumulus007,goto, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Joostkam,Sander " "Deryckere,Water,Willem Sonke,Yentl,cumulus007,goto, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison,Joostkam,Maarten van Druten," "Sander Deryckere,Timo Herngreen,Water,Willem Sonke,Yentl,cumulus007,goto" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,kristof.bal@gmail.com,sanderd17@gmail.com,vincent_tijms@zonnet.nl,,,," "sanderd17@gmail.com,,,sanderd17@gmail.com,,cumulus0007@gmail.com,,,," "sanderd17@gmail.com,,willem.sonke@planet.nl,y.v.t@scarlet.be," "cumulus0007@gmail.com,,,,avogadro-devel@lists.sourceforge.net,,," "sanderd17@gmail.com,,willem.sonke@planet.nl,y.v.t@scarlet.be," "cumulus0007@gmail.com,,,,avogadro-devel@lists.sourceforge.net,,," "sanderd17@gmail.com,,willem.sonke@planet.nl,y.v.t@scarlet.be," "cumulus0007@gmail.com,,,,avogadro-devel@lists.sourceforge.net,,," "sanderd17@gmail.com,,willem.sonke@planet.nl,y.v.t@scarlet.be," "cumulus0007@gmail.com,,,,avogadro-devel@lists.sourceforge.net,,," "sanderd17@gmail.com,,willem.sonke@planet.nl,y.v.t@scarlet.be," "cumulus0007@gmail.com,,,,avogadro-devel@lists.sourceforge.net,,," "sanderd17@gmail.com,,willem.sonke@planet.nl,y.v.t@scarlet.be," "cumulus0007@gmail.com,,,,avogadro-devel@lists.sourceforge.net,,," "sanderd17@gmail.com,,willem.sonke@planet.nl,y.v.t@scarlet.be," "cumulus0007@gmail.com,,,,avogadro-devel@lists.sourceforge.net,,," "sanderd17@gmail.com,,,y.v.t@scarlet.be,,,,,avogadro-devel@lists.sourceforge." "net,,,sanderd17@gmail.com,,,y.v.t@scarlet.be,,,,,avogadro-devel@lists." "sourceforge.net,,,m.vandruten@smoose.nl,sanderd17@gmail.com,,,,y.v.t@scarlet." "be,," #~ msgid "Color by Index" #~ msgstr "Kleur per index" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Kleur per index (rood, oranje, geel, groen, blauw, violet)." #~ msgid "Color by Partial Charge" #~ msgstr "Kleur per Gedeeltelijke Lading" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Kleur door atomische gedeeltelijke lading (blauw = positief, rood = " #~ "nagatief)." #~ msgid "Custom Color:" #~ msgstr "Aangepaste Kleur:" #~ msgid "Custom Color" #~ msgstr "Willekeurig Kleur" #~ msgid "Set custom colors for objects" #~ msgstr "Stel aangepaste kleuren in voor objecten" #~ msgid "Color by Distance" #~ msgstr "Kleur door afstand" #~ msgid "Color by distance from the first atom." #~ msgstr "Kleur door afstand van het eerste atoom" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Kleur door element (Koolstof = grijs, zoorstof = rood, ...)." #~ msgid "Color by Residue" #~ msgstr "Kleur per Residu" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Kleur per Residu (aminozuur, hydrofobiteit, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS Patroon:" #~ msgid "Highlight Color:" #~ msgstr "Accentuatiekleur:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Kleur pet SMARTS Patroon" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Markeer particuliere functies die aan een SMARTS patroon voldoen." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "" #~ "Copy text \n" #~ " Ununoctium" #~ msgid "Engines" #~ msgstr "Engines" #~ msgid "Axes" #~ msgstr "Assen" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Geef de x, y en z assen weer op de oorsprong" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "" #~ "Geef primitieven weer door Bollen (atomen) en Stokjes (bindingen) te " #~ "gebruiken" #~ msgid "Cartoon" #~ msgstr "Cartoon" #~ msgid "Renders protein secondary structure" #~ msgstr "Geef de secondaire proteïne structuur weer." #~ msgid "Dipole" #~ msgstr "Dipolair" #~ msgid "Force" #~ msgstr "Kracht" #~ msgid "Renders force displacements on atoms" #~ msgstr "Geef kracht verplaatsingen weer op de atomen" #~ msgid "Hydrogen Bond" #~ msgstr "Waterstofbrug" #~ msgid "Renders hydrogen bonds" #~ msgstr "Maakt waterstofbruggen aan" #~ msgid "Select Atom Labels Color" #~ msgstr "Selecteer Atoom Labels Kleur" #~ msgid "Select Bond Labels Color" #~ msgstr "Selecteer Binding Labels Kleur" #~ msgid "Select Atom Labels Font" #~ msgstr "Selecteer Atoom Labels Lettertype" #~ msgid "Select Bond Labels Font" #~ msgstr "Selecteer Bindings Labels Lettertype" #~ msgid "Label" #~ msgstr "Label" #~ msgid "Polygon" #~ msgstr "Veelhoek" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Geef atomen als tetraeders, octaeders en andere veelhoeken weer" #~ msgid "Ribbon" #~ msgstr "Lint" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Geef proteïne hoofdketens als lintjes weer" #~ msgid "Ring" #~ msgstr "Ring" #~ msgid "Renders rings with colored planes" #~ msgstr "Geef ringen met gekleurde vlakken weer" #~ msgid "Simple Wireframe" #~ msgstr "Eenvoudig Wireframe" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "Geef bindingen als draden (lijnen) weer, ideaal voor grote moleculen" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waals Bollen" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Geef atomen weer als Van der Waals bollen" #~ msgid "Stick" #~ msgstr "Stok" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Elektrondichtheid, isosurface = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, iso-oppervlakte= %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Geef bindingen als draden (lijnen) weer, ideaal voor zeer grote " #~ "(bio)moleculen" #~ msgid "Trajectory files" #~ msgstr "Traject bestanden" #~ msgid "DL-POLY HISTORY files" #~ msgstr "DL-POLY HISTORY bestanden" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "video bestanden (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr ".avi extensie aan het toevoegen" #~ msgid "Animation..." #~ msgstr "Animatie..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Kan het bestandsformaat van het bestand %1 niet lezen." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Lezen baanbestand %1 mislukt." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Een geldige .avi bestandsnaam moet gespecifieerd worden" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "Het GL widget was niet correct geïnitialiseerd om video op te slaan" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Ongeldige vidoe bestandsnaam. Het volledige pad moet gegeven worden" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Ongeldige bestandsnaam. Het volledige pad moet gegeven worden, ook de .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Kon het format van het bestandsnaam niet bepalen: %1" #~ msgid "Animation" #~ msgstr "Animatie" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animeer tracecten, reacties en vibraties" #~ msgid "Cartesian Editor" #~ msgstr "Cartesiaanse Editor" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Geen eenheidscel gedefinieerd voor molecule - kan geen gebruik maken van " #~ "de fractionele coördinaten." #~ msgid "Cartesian Editor..." #~ msgstr "Cartesiaanse Bewerker..." #~ msgid "Cartesian editor" #~ msgstr "Cartesiaanse editor" #~ msgid "Number of atoms: %1" #~ msgstr "Aantal atomen: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Aantal roteerbare bindingen: %1" #~ msgid "Add constraint" #~ msgstr "Voeg beperking toe" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Je molecule moet minimum één atoom bevatten om een beperking te mogen " #~ "toevoegen" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Je molecule moet minimum twee atomen bevatten om een bindingsbeperking te " #~ "mogen toevoegen" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Je molecule moet minimum drie atomen bevatten om een hoek beperking te " #~ "mogen toevoegen" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Je molecule moet minimum vier atomen bevatten om een torsie beperking toe " #~ "te voegen" #~ msgid "&Reduce" #~ msgstr "&Reduce" #~ msgid "Show &Editors" #~ msgstr "Toon &Editors" #~ msgid "Hide &Property Display" #~ msgstr "Verberg &Eigenschappen Scherm" #~ msgid "Show &Property Display" #~ msgstr "Toon &Eigenschappen Scherm" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Lattice Type: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Ruimtegroep: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Unit cell volume: %L1%2" #~ msgid "Undefined" #~ msgstr "Ongedefinieerd" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Kristallografie" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Orthorhombische" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Vierhoekig" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Zeshoekig" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Kubiek" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Niggli reductie is mislukt. De ingang structuur van het framework brengt " #~ "het Niggli reductie algoritme in de war.\n" #~ "Probeer daarom een kleine storing aan de ingang van het framework te " #~ "creëren (ongeveer 2 ordes van grootte minder dan wat hij kan verdragen) " #~ "en probeer het opnieuw." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Gefaald om cel na 1000 pogingen van het verkleiningsalgoritme te " #~ "verkleinen. Taak afbreken." #~ msgid "&Slab..." #~ msgstr "&Slab..." #~ msgid "Set Spacegroup" #~ msgstr "Verander Ruimtegroep" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Voor dit document is geen ruimtegroep toegewezen.\n" #~ "\n" #~ "Wilt u nu een ruimtegroep toewijzen?" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Verklein naar Niggli Cell" #~ msgid "Trajectory..." #~ msgstr "Traject..." #~ msgid "Open chemical file format" #~ msgstr "Open chemisch bestandsformaat" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Chemische bestanden (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Chemische bestanden (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importeer Traject" #~ msgid "Import trajectory files" #~ msgstr "Importeer traject bestanden" #~ msgid "Setup Force Field..." #~ msgstr "Stel Krachtveld op" #~ msgid "Calculate Energy" #~ msgstr "Bereken Energie" #~ msgid "Constraints..." #~ msgstr "Constraints..." #~ msgid "Ignore Selection" #~ msgstr "Negeer selectie" #~ msgid "Fix Selected Atoms" #~ msgstr "Herstel geselecteerde atomen" #~ msgid "&Molecular Mechanics" #~ msgstr "&Moleculaire Mechanica" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Kan het huidig geselecteerde krachtveld voor deze molecule niet " #~ "instellen. UFF instellen als alternatief." #~ msgid "Energy = %L1 %2" #~ msgstr "Energie = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Geometrische Optimalisatie" #~ msgid "Forcefield Optimization" #~ msgstr "Krachtveld Optimalisatie" #~ msgid "Systematic Rotor Search" #~ msgstr "Systematisch Rotor Zoeken" #~ msgid "Random Rotor Search" #~ msgstr "Willekeurige Rotor Zoeken" #~ msgid "Weighted Rotor Search" #~ msgstr "Gewogen Rotor Zoeken" #~ msgid "ForceField" #~ msgstr "Krachtveld" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimaliseer molecules en genereer conformers die moleculaire " #~ "krachtvelden gebruiken" #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Change H to Methyl" #~ msgstr "Wijzig H naar Methyl" #~ msgid "H to Methyl" #~ msgstr "H naar Methyl" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transformeer waterstof naar methyl groepen" #~ msgid "Add or remove hydrogens" #~ msgstr "Voeg waterstoffen toe of verwijder ze" #~ msgid "Fragment..." #~ msgstr "Fragmenteer..." #~ msgid "Insert SMILES" #~ msgstr "voeg SMILES in" #~ msgid "Insert SMILES fragment:" #~ msgstr "voeg SMILES fragment in:" #~ msgid "Insert Fragment" #~ msgstr "voeg Fragment in" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "voeg moleculaire fragmenten in om grotere moleculen te bouwen" #~ msgid "Peptide..." #~ msgstr "Peptide..." #~ msgid "Insert Peptide" #~ msgstr "Voeg Peptide in" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Voeg oligopeptide sequenties in" #~ msgid "Molecule Properties..." #~ msgstr "Molecule Eigenschappen..." #~ msgid "&Properties" #~ msgstr "&Eigenschappen" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Geschatte Dipool Moment (D):" #~ msgid "Display standard molecular properties." #~ msgstr "Toon standaard moleculaire eigenschappen." #~ msgid "Fetch from PDB..." #~ msgstr "Haal van PDB..." #~ msgid "Fetch from URL..." #~ msgstr "Haal vanURL..." #~ msgid "PDB Entry" #~ msgstr "PDB Entry" #~ msgid "PDB entry to download." #~ msgstr "PDB entry om te downloaden." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL van de te downloaden molecule." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Gespecifieerde molecule kon niet geladen worden: %1" #~ msgid "Network Fetch" #~ msgstr "Netwerk Ophalen" #~ msgid "Fetch molecule files over the network." #~ msgstr "Haal molecules op over het netwerk" #~ msgid "All Files" #~ msgstr "Alle Bestanden" #~ msgid "Show Preview" #~ msgstr "Toon Voorbeeld" #~ msgid "Hide Preview" #~ msgstr "Verberg Voorbeeld" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Sla met POV-Ray gemaakt beeld op" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Beeld bestand (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Geen bestandsnaam voorzien." #~ msgid "No valid filename was supplied." #~ msgstr "Geen geldige bestandsnaam is voorzien." #~ msgid "Does not compute." #~ msgstr "Berekend niet." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Je hebt gevraagd om de resultaten van POV-Ray niet direct weer te geven " #~ "en om het POV-Ray bestand niet op te slaan. Dit zal resulteren in een " #~ "berekening waarbij er geen output opgeslaan wordt. Ben je zeker dat je " #~ "dit wilt?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "Kan bestand %1 niet beschrijven. Heb je toegang tot die locatie?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray start is gefaald." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray start is gefaald. Misschien is het pad naar het uitvoerbaar " #~ "bestand verkeer gezet." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Creëer POV-Ray bestanden en geef ze weer door het POV-Ray programma via " #~ "de command line te gebruiken." #~ msgid "Atom Properties..." #~ msgstr "Atoom Eigenschappen..." #~ msgid "Bond Properties..." #~ msgstr "Bindings Eigenschappen..." #~ msgid "Angle Properties..." #~ msgstr "Hoek Eigenschappen..." #~ msgid "Torsion Properties..." #~ msgstr "Torsie Eigenschappen..." #~ msgid "Conformer Properties..." #~ msgstr "conformer Eigenschappen..." #~ msgid "Atom Properties" #~ msgstr "Atoom Eigenschappen" #~ msgid "Bond Properties" #~ msgstr "Bindings Eigenschappen" #~ msgid "Angle Properties" #~ msgstr "Hoek Eigenschappen" #~ msgid "Torsion Properties" #~ msgstr "Torsie Eigenschappen" #~ msgid "Conformer Properties" #~ msgstr "Conformer Eigenschappen" #~ msgid "Properties" #~ msgstr "Eigenschappen" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Vensters om atoom, bindings, hoek en torsie eigenschappen te tonen. Er is " #~ "ook een cartesiaanse coördinaten bewerker." #~ msgid "Valence" #~ msgstr "Valentie" #~ msgid "Partial Charge" #~ msgstr "Gedeeltelijke Lading" #~ msgid "Atom" #~ msgstr "Atoom" #~ msgid "Rotatable" #~ msgstr "Roteerbaar" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Lengte %1" #~ msgid "Vertex" #~ msgstr "Vertex" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Hoek %1" #~ msgid "Angle" #~ msgstr "Hoek" #~ msgid "Atom %1" #~ msgstr "Atoom %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsie %1" #~ msgid "Torsion" #~ msgstr "Torsie" #~ msgid "Yes" #~ msgstr "Ja" #~ msgid "No" #~ msgstr "Nee" #~ msgid "Python Terminal" #~ msgstr "Python Terminal" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "interactieve python scripting terminal" #~ msgid "QM Matches" #~ msgstr "QM Overeenkomsten" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP Selectie..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM Selectie..." #~ msgid "Delete" #~ msgstr "Delete" #~ msgid "You must make a selection!" #~ msgstr "Maak eens een selectie, anders kan ik niet veel doen ;-)" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES Conversie Onbeschikbaar" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES Conversie Onbeschikbaar" #~ msgid "Group Name" #~ msgstr "Groep Naam" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Creëer input bestanden voor het GAMESS quantum chemistry pakket" #~ msgid "Advanced Settings Changed" #~ msgstr "Geavanceerde Instellingen Gewijzigd" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Geavanceerde instellingen zijn gewijzigd\n" #~ "Verwerpen?" #~ msgid "Advanced Settings Reset" #~ msgstr "Reset Geavanceerde Instellingen" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Ben je zeker dat je de geavanceerde instellingen wil resetten?\n" #~ "Alle wijzigingen zullen verloren gaan!" #~ msgid "Basic Settings Reset" #~ msgstr "Reset Basis Instellingen" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Ben je zeker dat je de basis instellingen wil resetten?\n" #~ "Alle wijzigingen zullen verloren gaan." #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussiaana Input Deck Generator Waarschuwing" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Wilt u de voorbeeld tekst updaten en alle wijzigingen verliezen die " #~ "gemaakt zijn in het Gaussiaans input deck voorbeeld venster?" #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussiaans Input Deck" #~ msgid "Gaussian Running." #~ msgstr "Gaussian Bezig." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian is al bezig. Dat arm beestje van een computer niet opjagen é." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian is niet Geïnstalleerd." #~ msgid "The G03 executable, cannot be found." #~ msgstr "Het uitvoerbaar G03 bestand, kan niet gevonden worden." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 is niet gestart. Misschien is het niet correct geïnstalleerd." #~ msgid "Running Gaussian calculation..." #~ msgstr "Bezig met Gaussiaanse berekening..." #~ msgid "G03 Crashed." #~ msgstr "G03 Crashed." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian is niet correct gestart. Misschien is het niet correct " #~ "geïnstalleerd." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC Input Waarschuwing" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Wilt u de voorbeeld tekst updaten en alle wijzigingen verliezen die " #~ "gemaakt zijn in het MOPAC input deck voorbeeld venster?" #~ msgid "MOPAC Running." #~ msgstr "MOPAC Bezig." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC is al bezig. Ge moet je computertje zo niet opjagen." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC is niet geïnstalleerd" #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Het uitvoerbaar MOPAC bestand is niet gevonden." #~ msgid "MOPAC failed to start." #~ msgstr "Kon MOPAC niet starten" #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC is niet gestart. Misschien is het niet correct geïnstalleerd." #~ msgid "Running MOPAC calculation..." #~ msgstr "Bezig met MOPAC berekening..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC is Gecrashed." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC liep niet zoals het moest. Misschien is het niet correct " #~ "geïnstalleerd." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "NWChem Input Deck Generator Waarschuwing" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Wilt u de voorbeeld tekst updaten en alle wijzigingen verliezen die " #~ "gemaakt zijn in het NWChem input deck voorbeeld venster?" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem Input Deck Generator Waarschuwing" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Wilt u de voorbeeld tekst updaten en alle wijzigingen verliezen die " #~ "gemaakt zijn in het Q-Chem input deck voorbeeld venster?" #~ msgid "Select SMARTS..." #~ msgstr "Selecteer SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Selecteer per Residu" #~ msgid "Add Named Selection..." #~ msgstr "Voeg Benoemde Selectie toe" #~ msgid "SMARTS Selection" #~ msgstr "SMARTS Selectie" #~ msgid "SMARTS pattern to select" #~ msgstr "SMARTS patroon om te selecteren" #~ msgid "Select by residue" #~ msgstr "Selecteer per residu" #~ msgid "Residue name" #~ msgstr "Residu naam" #~ msgid "There is no current selection." #~ msgstr "Er is geen huidige selectie" #~ msgid "Add Named Selection" #~ msgstr "Voeg benoemde selectie toe" #~ msgid "Name cannot be empty." #~ msgstr "Het naam vak mag niet leeg zijn." #~ msgid "There is already a selection with this name." #~ msgstr "Er is al een selectie met deze naam." #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Selecteer atomen, bindingen, residuen..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Shaders..." #~ msgid "Open a vertex shader source file" #~ msgstr "Open een vertex shader bronbestand" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Vertex shader bestanden (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Open een fragment shader bronbestand" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fragment shader bestanden (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Open een shader parameters bestand" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Shader parameters bestanden (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL Shaders" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Laad en gebruik OpenGL 2.0 GLSL shaders" #~ msgid "Intensity (arb. units)" #~ msgstr "intensiteit (arb. eenh.)" #~ msgid "Energy (eV)" #~ msgstr "Energie (eV)" #~ msgid "Transmittance (%)" #~ msgstr "Doorlaatbaarheid (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbatie (%)" #~ msgid "No intensities" #~ msgstr "Geen intenties" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "De Vibratie data in de molecule die je geladen hebt bevat geen " #~ "intensiteit data. De intensiteiten werden gezet naar een arbitraire " #~ "waarde voor visualisatie." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Golfnummer (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Shift (ppm)" #~ msgid "Activity" #~ msgstr "Activiteit" #~ msgid "Intensity" #~ msgstr "Intensiteit" #~ msgid "X Axis" #~ msgstr "X As" #~ msgid "Y Axis" #~ msgstr "Y As" #~ msgid "&Appearance" #~ msgstr "&Uitzicht" #~ msgid "E&xport Image" #~ msgstr "E&xporteer Beeld" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrarood" #~ msgid "&Infrared Spectra Settings" #~ msgstr "&Infrarood Spectra instellingen" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "&NMR Spectra instellingen" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "&CD Instellingen" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "&Raman Instellingen" #~ msgid "No data" #~ msgstr "Geen Data" #~ msgid "Dark" #~ msgstr "Donker" #~ msgid "Light" #~ msgstr "Licht" #~ msgid "Publication" #~ msgstr "Publicatie" #~ msgid "Handdrawn" #~ msgstr "Handgetekend" #~ msgid "New Scheme" #~ msgstr "Nieuw Schema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Bevestig Schema Verwijdering" #~ msgid "Really remove current scheme?" #~ msgstr "Wil je echt het huidige schema verwijderen?" #~ msgid "Change Scheme Name" #~ msgstr "Wijzig Schema Naam" #~ msgid "Enter new name for current scheme:" #~ msgstr "Voeg een nieuwe naam toe aan het huidige schema" #~ msgid "Select Background Color" #~ msgstr "Selecteer Achtergrond Kleur" #~ msgid "Export Calculated Spectrum" #~ msgstr "Exporteer Berekend Spectrum" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Tab Separated Values (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Tab gescheiden waarden" #~ msgid "Comma Separated Values" #~ msgstr "Comma Separated Values" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importeer Spectra" #~ msgid "Spectra Import" #~ msgstr "Spectra importering" #~ msgid "Unknown extension: %1" #~ msgstr "Onbekende extentie: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR data (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole IR data (control)" #~ msgid "Data Format" #~ msgstr "Data Formaat" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Formaat:" #~ msgid "Load Spectral Data" #~ msgstr "laad Spectraal Data" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Getagged beeld Bestandsformaat" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Sla Spectra Beeld op" #~ msgid "&Spectra..." #~ msgstr "&Spectra..." #~ msgid "Spectra" #~ msgstr "Spectra" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Visualiseer spectraal data van kwantum chemie berekeningen" #~ msgid "No vibrational displacements exist." #~ msgstr "Er bestaat geen vibrationele verplaatsing." #~ msgid "Vibration" #~ msgstr "Vibratie" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Visualiseer vibrationele modes van kwantum chemische berekeningen" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Sorteer %1 vibraties per frequentie..." #~ msgid "Super Cell Builder..." #~ msgstr "Super Cel Bouwer..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Dit document is momenteel een geïsoleerde molecule. Je moet een cel-" #~ "eenheid creëren." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Bouw en Toon krystallografische super cellen" #~ msgid "Orbitals" #~ msgstr "Orbitalen" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Niets" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Elektrostatisch Potentiaal" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Elektronen Dichtheid" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Moleculaire orbitaal" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Fout - ongedefinieerd type" #~ msgid "Create Surfaces..." #~ msgstr "Creëer Oppervlakten..." #~ msgid "Calculating VdW Cube" #~ msgstr "Berekenen van VdW Kubus" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "MO berekenen %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Elektronen Dichtheid" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL widget is niet correct geïnitialiseerd om een video te maken" #~ msgid "GL widget has no molecule" #~ msgstr "GL widget heeft geen molecule" #~ msgid "Building video " #~ msgstr "Video maken " #~ msgid "Could not run povray." #~ msgstr "Kon POV-Ray niet starten" #~ msgid "Could not run mencoder." #~ msgstr "Kon mencoder niet starten." #~ msgid "Set Aspect Ratio" #~ msgstr "Aspectverhouding instellen" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "De huidige Avogadro scene is %1x%2 pixels groot, En heeft dus een aspect " #~ "ratio %3.\n" #~ "Je mag deze waarde behouden, als u bijvoorbeeld POV-Ray wilt gebruiken\n" #~ "om een afbeelding van %4x1000 pixels te maken, of je mag een andere " #~ "positieve waarde ingeven,\n" #~ "bijvoorbeeld 1als je POV-Ray wilt gebruiken om een vierkante afbeelding " #~ "te produceren van bijvoorbeeld 1000x1000 pixels." #~ msgid "Connect" #~ msgstr "Verbinden" #~ msgid "Disconnect" #~ msgstr "Verbinding verbreken" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Wii Tracking" #~ msgid "Track motion using Wii remotes" #~ msgstr "Volg beweging door Wii remotes te gebruiken" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Ongeldige OpenGL context.\n" #~ "Ofwel is er iets totaal gebroken in je OpenGL setup (kan je een andere " #~ "OpenGL applicatie uitvoeren?), of je hebt een bug gevonden." #~ msgid "Debug Information" #~ msgstr "Debug informatie" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Beeld Grootte: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Atomen :%L1" #~ msgid "Bonds: %L1" #~ msgstr "Bindingen: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: index %1 te groot." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Het bestandstype '%1' is niet ondersteund." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Het bestandstype van bestand '%1' is niet ondersteund." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Het lezen van molecule met index %1 van bestand '%2' is mislukt." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: index %1 te groot." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Het bestandstype '%1' is niet ondersteund." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Het bestandstype van bestand '%1' is niet ondersteund." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Kan het bestand '%1' niet openen om te schrijven." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Kan het bestand '%1' niet openen om te lezen." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Vervangen van molecule met index %1 in het bestand '%2' is mislukt." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Bestand '%1' kan niet geopend worden om te lezen." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Bestand '%1' kan niet geopend worden om te schrijven." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Opslaan van het molecule bestand is gefaald - kon het oorspronkelijke " #~ "bestand niet hernoemen." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Opslaan van het moleculaire bestand gefaald - kon het nieuwe bestand niet " #~ "hernoemen." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Opslaan van het moleculaire bestand gefaald - kon het oude bestand niet " #~ "verwijderen." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "Molecule schrijven naar '%1' gefaald. OpenBabel functie gefaald." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Bestand %1 kon niet geopend worden om te schrijven." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Conformers schrijven naar bestand '%1' mislukt." #~ msgid "Molecule %1" #~ msgstr "Molecule %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Onbekende Python Engine" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: controleren " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - script heeft geen 'Engine' klasse gedefinieerd" #~ msgid " - no module" #~ msgstr " - geen module" #~ msgid "Unknown Python Extension" #~ msgstr "Onbekende Python Extensie" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: Controleren " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - script heeft geen 'Extension' klasse gedefinieerd" #~ msgid "Unknown Python Tool" #~ msgstr "Onbekende Python Tool" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: controleren " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - script heeft geen 'Tool' klasse gedefinieerd" #~ msgid "Conformer %1" #~ msgstr "Conformer %1" #~ msgid "Tools" #~ msgstr "Tools" #~ msgid "Axis:" #~ msgstr "As:" #~ msgid "Align:" #~ msgstr "Uitlijning:" #~ msgid "Everything" #~ msgstr "Alles" #~ msgid "Align" #~ msgstr "Uitlijnen" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Lijn molecules uit langs een Cartesische as." #~ msgid "Align Settings" #~ msgstr "Uitlijning instellingen" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Kon het krachtveld niet instellen...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Steps per Update:" #~ msgstr "Stappen per Update:" #~ msgid "Algorithm:" #~ msgstr "Algoritme" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Moleculaire Dynamica (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Moleculaire Dynamica (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Moleculaire Dynamica (900K)" #~ msgid "Start" #~ msgstr "Start" #~ msgid "Fixed atoms are movable" #~ msgstr "Gefixeerde atomen zjin beweegbaar" #~ msgid "Ignored atoms are movable" #~ msgstr "Genegeerde atomen zijn beweegbaar" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOpt Molecule" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Automatische optimalisatie van de moleculaire geometrie" #~ msgid "AutoOptimization Settings" #~ msgstr "AutoOptimalisatie Instellingen" #~ msgid "Auto Rotation Tool" #~ msgstr "Gereedschap voor Automatische Rotatie" #~ msgid "x rotation:" #~ msgstr "x-rotatie:" #~ msgid "x rotation" #~ msgstr "x-rotatie" #~ msgid "y rotation:" #~ msgstr "y-rotatie:" #~ msgid "y rotation" #~ msgstr "y-rotatie" #~ msgid "z rotation:" #~ msgstr "z-rotatie:" #~ msgid "z rotation" #~ msgstr "z-rotatie" #~ msgid "Automatic rotation of molecules" #~ msgstr "Automatische rotatie van de moleculen" #~ msgid "AutoRotate Settings" #~ msgstr "AutoRotatie Instellingen" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Bindings Lengte: %L1" #~ msgid " Show Angles" #~ msgstr " Toon hoeken" #~ msgid "Snap-to Threshold: " #~ msgstr "Aanhaakdrempel " #~ msgid "Bond Centric Manipulate" #~ msgstr "Binding-centrische manipulatie" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulatie van bindingslengte, hoek en torso" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Binding-centrische manipulatie Instellingen" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Afstand (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Hoek: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Afstand (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Dihedrale Hoek: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Afstand(en):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Meet bindingslengtes, hoeken en diheralen" #~ msgid "Delete Atom" #~ msgstr "Verwijder Atoom" #~ msgid "Draw Bond" #~ msgstr "Teken Binding" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Teken en bewerk atomen en bindingen" #~ msgid "Draw Settings" #~ msgstr "Teken Instellingen" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Verschuif, roteer en wijzig atomen en fragmenten" #~ msgid "Manipulate Settings" #~ msgstr "Manipuleer instellingen" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Verschuif, roteer en zoom rond het huidige zicht" #~ msgid "Navigate Settings" #~ msgstr "Navigeer Instellingen" #~ msgid "Selection Mode:" #~ msgstr "Selectie Mode:" #~ msgid "Atom/Bond" #~ msgstr "Atoom/Binding" #~ msgid "Residue" #~ msgstr "Residu" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Selecteer Atomen, residuen en moleculen" #~ msgid "Symbol" #~ msgstr "Symbool" #~ msgid "Bond Length" #~ msgstr "Bindingslengte" #~ msgid "Bond Angle" #~ msgstr "Bindingshoek" #~ msgid "Dihedral Angle" #~ msgstr "Dihedrale Hoek" #~ msgid "Z Matrix Editor..." #~ msgstr "Z Matrix Editor..." #~ msgid "Z-Matrix" #~ msgstr "Z-Matrix" #~ msgid "Create/edit a z-matrix" #~ msgstr "Creëer/bewerk een z-matrix" #~ msgid "Z-Matrix Settings" #~ msgstr "Z-Matrix Instellingen" #~ msgid "Residue Color Settings" #~ msgstr "Residue Kleur Instellingen" #~ msgid "Color residues by:" #~ msgstr "Kleur residuen per:" #~ msgid "Amino Colors" #~ msgstr "Amino Kleuren" #~ msgid "Shapely Colors" #~ msgstr "Vormkleuren" #~ msgid "Hydrophobicity" #~ msgstr "Hydrofobiteit" #~ msgid "Origin:" #~ msgstr "Oorsprong" #~ msgid "Atom Radius:" #~ msgstr "Atoom Straal:" #~ msgid "Bond Radius:" #~ msgstr "Bindingsstraal:" #~ msgid "Shape" #~ msgstr "Vorm" #~ msgid "Helix" #~ msgstr "Helix" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Blad" #~ msgid "Loop" #~ msgstr "Lus" #~ msgid "Colors" #~ msgstr "Kleuren" #~ msgid "Dipole:" #~ msgstr "Dipool" #~ msgid "Dipole Moment" #~ msgstr "Dipool Moment" #~ msgid "Width:" #~ msgstr "Breedte:" #~ msgid "Cut-off radius:" #~ msgstr "Afbreek-straal:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Afbreek-hoek:" #~ msgid "Color:" #~ msgstr "Kleur:" #~ msgid "None" #~ msgstr "Geen" #~ msgid "Symbol & Atom number" #~ msgstr "Symbool- en atoomnummer" #~ msgid "Formal charge" #~ msgstr "Formele lading" #~ msgid "Partial charge" #~ msgstr "gedeeltelijke verandering" #~ msgid "Residue number" #~ msgstr "Residu nummer" #~ msgid "Unique ID" #~ msgstr "Unieke ID" #~ msgid "Bond length" #~ msgstr "Bindings lengte" #~ msgid "Bond number" #~ msgstr "Bindings nummer" #~ msgid "Bond order" #~ msgstr "Bindingsorde" #~ msgid "Backbone" #~ msgstr "Hoofdketen" #~ msgid "Lines" #~ msgstr "Lijnen" #~ msgid "Radius:" #~ msgstr "Straal" #~ msgid "Include Nitrogens" #~ msgstr "Stikstof tonen" #~ msgid "VdW Opacity:" #~ msgstr "VdW-dekking:" #~ msgid "Orbital:" #~ msgstr "Orbitaal:" #~ msgid "Fill" #~ msgstr "Vul" #~ msgid "Points" #~ msgstr "Punten" #~ msgid "Draw Box:" #~ msgstr "Teken Box:" #~ msgid "Style:" #~ msgstr "Stijl" #~ msgid "Selected Colors" #~ msgstr "Geselecteerde Kleuren" #~ msgid "Colors:" #~ msgstr "Kleuren:" #~ msgid "Positive" #~ msgstr "Positief" #~ msgid "Negative" #~ msgstr "Negatief" #~ msgid "Show Atoms" #~ msgstr "Toon Atomen" #~ msgid "Animate Trajectory" #~ msgstr "Animeer Baan" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Herhaling" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Opslaan als .avi..." #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "Method" #~ msgstr "Methode" #~ msgid "Number of atoms:" #~ msgstr "Aantal atomen:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Aantal roteerbare bindingen:" #~ msgid "Number of conformers" #~ msgstr "Aantal conformers" #~ msgid "Energy" #~ msgstr "Energie" #~ msgid "Constraints" #~ msgstr "Beperkingen" #~ msgid "Add Constraints" #~ msgstr "Voeg beperkingen toe" #~ msgid "Ignore Atom" #~ msgstr "Negeer Atoom" #~ msgid "Fix Atom" #~ msgstr "Herstel Atoom" #~ msgid "Fix Atom X" #~ msgstr "Herstel Atoom X" #~ msgid "Fix Atom Y" #~ msgstr "Herstel Atoom Y" #~ msgid "Fix Atom Z" #~ msgstr "Herstel Atoom Z" #~ msgid "Torsion angle" #~ msgstr "Torsie hoek" #~ msgid "Atom Indices" #~ msgstr "Atoom Indices" #~ msgid "Add" #~ msgstr "Toevoegen" #~ msgid "Save" #~ msgstr "Opslaan" #~ msgid "Load" #~ msgstr "Laden" #~ msgid "Cartesian" #~ msgstr "Cartesiaans" #~ msgid "All" #~ msgstr "Alle" #~ msgid "File Import..." #~ msgstr "Importeer Bestand..." #~ msgid "Setup Force Field" #~ msgstr "Stel Krachtveld In" #~ msgid "Force Field" #~ msgstr "Krachtveld" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Aantal stappen" #~ msgid "Algorithm" #~ msgstr "Algorithme" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Ander" #~ msgid "Insert Fragment..." #~ msgstr "Voeg Fragment in..." #~ msgid "Peptide Builder" #~ msgstr "Peptide Bouwer" #~ msgid "Alanine" #~ msgstr "Alanine" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginine" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagine" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Aspartinezuur" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cysteine" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Glutaminezuur" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamine" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glycine" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidine" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucine" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valine" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tyrosine" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Tryptophan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Threonine" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serine" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Proline" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenylalanine" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Methionine" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lysine" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucine" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminozuren:" #~ msgid "Sequence (N to C):" #~ msgstr "Sequentie (N naar C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereochemie:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N Terminus:" #~ msgid "C Terminus:" #~ msgstr "C Terminus:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Rechte Keten" #~ msgid "Alpha Helix" #~ msgstr "Alfa Helix" #~ msgid "Beta Sheet" #~ msgstr "Beta Blad" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Ketting Nummer:" #~ msgid "The chain number for the new peptide" #~ msgstr "Het Kettingnummer voor de nieuwe peptide" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Molecule Eigenschappen" #~ msgid "Number of Residues:" #~ msgstr "Aantal Residuen" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energie (kJ/mol)" #~ msgid "Dipole Moment (D):" #~ msgstr "Dipool Moment (D):" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Geavanceerd" #~ msgid "Control" #~ msgstr "Control" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Data" #~ msgid "Grid" #~ msgstr "Rooster" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray Export" #~ msgid "Select..." #~ msgstr "Selecteer..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Set the background color to be transparent" #~ msgstr "Zet de achtergrondkleur transparant" #~ msgid "Alpha transparency" #~ msgstr "Alfa transpirantie" #~ msgid "Command:" #~ msgstr "Commando:" #~ msgid "Path:" #~ msgstr "Pad" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Use Form" #~ msgstr "Gebruiksvorm" #~ msgid "Compute..." #~ msgstr "Bereken..." #~ msgid "HF" #~ msgstr "HF" #~ msgid "Basis Set:" #~ msgstr "Basis Verzameling:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EFP Matches" #~ msgstr "EFP Overeenkomsten" #~ msgid "Group Label:" #~ msgstr "Groep Label:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Ge&avanceerde Setup" #~ msgid "Hessian" #~ msgstr "Hessiaan" #~ msgid "Stat Point" #~ msgstr "Stat Punt" #~ msgid "System" #~ msgstr "Systeem" #~ msgid "MO Guess" #~ msgstr "MO Gok" #~ msgid "Misc" #~ msgstr "Misc" #~ msgid "Read" #~ msgstr "Lees" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP Type:" #~ msgid "Default" #~ msgstr "Standaard" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Zware Atoom Polarisatie Functies:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#lichte Atoom Polarisatie Functies:" #~ msgid "Polar:" #~ msgstr "Polair:" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "Optimalisatie" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Gradient Extremum" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energie Oppervlakte" #~ msgid "Finite Electric Field" #~ msgstr "Eindig Elektrisch Veld" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Globale Optimalisatie" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO Optimalisatie" #~ msgid "Raman Intensities" #~ msgstr "Raman Intensiteit" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Maak EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Geen (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF Type:" #~ msgid "Localization Method:" #~ msgstr "Localisatie Methode:" #~ msgid "Exec Type:" #~ msgstr "Exec Type:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinant" #~ msgid "CI Singles" #~ msgstr "CI Singels" #~ msgid "Full Second Order CI" #~ msgstr "Volledige Tweede Orde CI" #~ msgid "General CI" #~ msgstr "Algemene CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Gelineariseerde CC" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Normale Uitvoering" #~ msgid "Check" #~ msgstr "Controle" #~ msgid "Debug" #~ msgstr "Debug" #~ msgid "Molecule Charge:" #~ msgstr "Molecule Lading:" #~ msgid "Run Type:" #~ msgstr "Run Type:" #~ msgid "Use MP2" #~ msgstr "Gebruik MP2" #~ msgid "Use DFT" #~ msgstr "Gebruik DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# Z-Matrix Variabelen" #~ msgid "Order of Principal Axis:" #~ msgstr "Orde van de Hoofdassen:" #~ msgid "Coordinate Type:" #~ msgstr "Coordinaat Type:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Unieke cartesische Coördinaten" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Gebruik Symmetrie tijdens Berekeningen" #~ msgid "Minutes" #~ msgstr "Miinuten" #~ msgid "Hours" #~ msgstr "Uren" #~ msgid "Days" #~ msgstr "Dagen" #~ msgid "Weeks" #~ msgstr "Weken" #~ msgid "Years" #~ msgstr "Jaren" #~ msgid "Millenia" #~ msgstr "Millenia" #~ msgid "MegaWords" #~ msgstr "MegaWoorden" #~ msgid "MegaBytes" #~ msgstr "MegaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Forceer Parallelle Methoden" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Geheugen:" #~ msgid "Diagonalization Method:" #~ msgstr "Diagonalisatie Methode:" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Gebruik Externe Data Representatie voor Berichten" #~ msgid "Initial Guess:" #~ msgstr "Begin Gok:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO Lees ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO Opgeslagen (DICTNRY)" #~ msgid "Skip" #~ msgstr "Overslaan" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Roteer Alfa en Beta Orbitalen" #~ msgid "Print the Initial Guess" #~ msgstr "Toon de Begin Gok" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "GAMESS Interface naar Andere Codes" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Forceer een Check Run Type" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK Version)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Solveer met water" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Genereer UHF Natuurlijke Orbitalen" #~ msgid "Direct SCF" #~ msgstr "Direct SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Bereken Enkel Gewijzigde in Fock Matrix" #~ msgid "Slater exchange" #~ msgstr "Slater exchange" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 exchange" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr correlatie" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater uitwisseling + VWN correlatie" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE uitwisseling + VWN5 correlatie" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE uitwisseling + LYP correlatie" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 uitwisseling" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) uitwisseling" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: Eén-parameter Progressieve correlatie" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) correlatie" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP correlatie" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE exchange + OP correlatie" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL exchange + VWN5 correlatie" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL exchange + LYP correlatie" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE exchange + VWN6 correlatie" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE exchange +LYP correlatie" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE exchange + OP correlatie" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF and BECKE exchange + LYP correlatie" #~ msgid "Grid-Free" #~ msgstr "Rooster-Vrij" #~ msgid "Method:" #~ msgstr "Methode:" #~ msgid "AO Integral Storage" #~ msgstr "AO Gehele Opslag" #~ msgid "Duplicated on Each Node" #~ msgstr "Gedupliceerd op Iedere Knoop" #~ msgid "Distributed Across All Nodes" #~ msgstr "Verdeeld over Alle Knopen" #~ msgid "words" #~ msgstr "Woorden" #~ msgid "Compute MP2 Properties" #~ msgstr "Bereken MP2 Eigenschappen" #~ msgid "Use Localized Orbitals" #~ msgstr "Gebruik Gelocaliseerde Orbitalen" #~ msgid "# of Core Electrons:" #~ msgstr "# Kern Elektronen:" #~ msgid "Two Phase Bin Sort" #~ msgstr "Twee Fase Bin Sortering" #~ msgid "Segmented Transformation" #~ msgstr "Segment Transformatie" #~ msgid "Analytic" #~ msgstr "Analytisch" #~ msgid "Numeric" #~ msgstr "Numeriek" #~ msgid "Displacement Size:" #~ msgstr "Verplaatsings Grootte:" #~ msgid "Purify Hessian" #~ msgstr "Verproper Hessiaan" #~ msgid "bohrs" #~ msgstr "bohr" #~ msgid "Initial Hessian" #~ msgstr "Initieele Hessiaan" #~ msgid "Guess (+ define)" #~ msgstr "Gok (+definieer)" #~ msgid "Read (from $HESS)" #~ msgstr "Lees (van $HESS)" #~ msgid "Update Step Size" #~ msgstr "Update Stap Grootte" #~ msgid "Jump Size:" #~ msgstr "Sprong grootte:" #~ msgid "Stationary Point" #~ msgstr "Stationair Punt" #~ msgid "Step Size" #~ msgstr "Stap Grootte:" #~ msgid "Maximum:" #~ msgstr "Maximum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Initial:" #~ msgstr "Initieel:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Rationale Functie Optimelisatie" #~ msgid "Quadratic Approximation" #~ msgstr "Quadratische Benadering" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Herbereken de Hessiaan Elke:" #~ msgid "Follow Mode:" #~ msgstr "Volg Mode" #~ msgid "Maximum Steps:" #~ msgstr "Maximum Stappen:" #~ msgid "Basis:" #~ msgstr "Basis:" #~ msgid "Z-matrix" #~ msgstr "Z-matrix" #~ msgid "Gaussian Input" #~ msgstr "Gaussiaanse Input" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Standaard" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Checkpoint:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-matrix (compact)" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO Input" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "MOPAC Input" #~ msgstr "MOPAC Input" #~ msgid "Quartet" #~ msgstr "kwartet" #~ msgid "Quintet" #~ msgstr "Quintet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem Input" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem Input" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "Laad Shaders" #~ msgid "Shader Name:" #~ msgstr "Shader Naam:" #~ msgid "Vertex Shader:" #~ msgstr "Vertex Shader:" #~ msgid "Fragment Shader:" #~ msgstr "Fragment Shader:" #~ msgid "Assign Shader" #~ msgstr "Wijs Shader toe" #~ msgid "Display Type:" #~ msgstr "Display Type:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Controls:\n" #~ "Dubbelklikken: Herstel standaard assen limieten\n" #~ "Rechts klikken + slepen: Verplaats Plot\n" #~ "Midden klikken + slepen: Zoom naar de regio\n" #~ "Scrollen : Zoom naar de cursor" #~ msgid "&Load data..." #~ msgstr "Laad data..." #~ msgid "&Close" #~ msgstr "Sluiten" #~ msgid "Calculated Spectra:" #~ msgstr "Berekende Spectra:" #~ msgid "Set Color..." #~ msgstr "Zet Kleur..." #~ msgid "Imported Spectra:" #~ msgstr "Geïmorteerde Spectra" #~ msgid "Font:" #~ msgstr "Font:" #~ msgid "Change Font..." #~ msgstr "Wijzig Font..." #~ msgid "Show" #~ msgstr "Toon" #~ msgid "&Import..." #~ msgstr "&Importeren" #~ msgid "Background:" #~ msgstr "Achtergrond:" #~ msgid "Foreground:" #~ msgstr "Voorgrond:" #~ msgid "New..." #~ msgstr "Nieuw" #~ msgid "Rename..." #~ msgstr "Hernoem..." #~ msgid "&Schemes:" #~ msgstr "&Schema's:" #~ msgid "&Export..." #~ msgstr "&Exporteren..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Breedte:" #~ msgid "&Height" #~ msgstr "&Hoogte:" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Sla afbeelding op..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Gebruike een geoptimaliseerde waarde voor de lettergrootte van de schema-" #~ "gespecificeerde waarde (scherm naar afbeelding punt groottes geven niet " #~ "goed weer)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Auto-aanpassen Lettergr&ootte" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "&Gaussian Width:" #~ msgstr "&Gaussiaanse breedte:" #~ msgid "&Label peaks" #~ msgstr "&Label toppen" #~ msgid "&Y Axis Units:" #~ msgstr "&Y As eenheden:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Kern:" #~ msgid "&Reference:" #~ msgstr "&Referentie:" #~ msgid "Gaussian &Width:" #~ msgstr "&Gaussiaanse breedte:" #~ msgid "Reset &Plot Axes" #~ msgstr "Reset &Plot Assen" #~ msgid "Label Peaks:" #~ msgstr "Label Toppen:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Moleculaire Vibraties" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "vibraties op hogere frequantie zullen een snellere beweging tonen" #~ msgid "Animation speed set by frequency" #~ msgstr "Animatie snelheid bepaald door frequentie" #~ msgid "Display force &vectors" #~ msgstr "Toon kracht &vectoren" #~ msgid "Generate Cell" #~ msgstr "Genereer Cel" #~ msgid "Create Surfaces" #~ msgstr "Creëer Oppervlaktes" #~ msgid "Surface Type:" #~ msgstr "Oppervlakte Type:" #~ msgid "Color By:" #~ msgstr "Kleur Per:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Laag" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Medium" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Hoog" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Zeer Hoog" #~ msgid "Iso Value:" #~ msgstr "Iso Waarde:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "In Display Type:" #~ msgid "New Display" #~ msgstr "Nieuwe Display" #~ msgid "Advanced..." #~ msgstr "Geavanceerd..." #~ msgid "Python Settings" #~ msgstr "Python instellingen" #~ msgid "Z Matrix Editor" #~ msgstr "Z Matrix Editor" #~ msgid "Import Selected Atoms" #~ msgstr "Importeer geseelecteerde atomen" avogadrolibs-1.93.0/i18n/oc.po000066400000000000000000004256641360735163600160330ustar00rootroot00000000000000# Occitan (post 1500) translation for avogadro # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:57+0000\n" "Last-Translator: Cédric VALMARY (Tot en òc) \n" "Language-Team: Occitan (post 1500) \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Editor de fichièr d'entrada..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Editor de fichièr d'entrada..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Contunhar" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Tampar" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Desconegut" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Interrompre lo calcul" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Avertiment" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Avertiment" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Sortida :" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Impossible d'enregistrar lo fichièr." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Configurar" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Títol" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nom de fichièr :" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processors :" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Calcul :" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teoria :" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teoria :" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Basa" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Molecula" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Arrestar &l'animacion" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Cap d'atòm pas seleccionat" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Idrogèn" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Èli" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Liti" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berilli" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boròni" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbòni" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogèn" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxigèn" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sòdi" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnèsi" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alumini" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicòn" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfòr" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Sofre" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Clòr" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potassi" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calci" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Escandi" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titani" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadi" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Cròme" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganès" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Fèrre" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Niquèl" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Coire" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinc" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Galli" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germani" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenic" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selèni" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bròme" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Cripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidi" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Estronci" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Itri" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zircòni" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niòbi" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdèn" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tecnèci" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutèni" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Ròdi" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladi" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Argent" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmi" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indi" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Estam" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimòni" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telluri" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iòde" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cèsi" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bari" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantani" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Ceri" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Òlmi" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Èrbi" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tuli" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Itèrbi" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutèci" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Afni" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungstèn" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rèni" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Òsmi" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridi" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platini" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Aur" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercuri" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Talli" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Plomb" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polòni" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Franci" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radi" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actini" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Tòri" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactini" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Urani" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptuni" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutoni" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Califòrni" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobèli" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubni" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zircòni" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Percórrer..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Mòde de seleccion :" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Escafar la seleccion" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Totes los fichièrs" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "sens títol" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Tablèu periodic" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "E&scripts" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Error OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Desconegut" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molecula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Apondre un atòm" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Escafar tot" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Cambiar un element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Cambiar un element" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Apondre una ligason" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Suprimir una ligason" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Suprimir una ligason" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Multiplicitat de la ligason" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Modificar l'òrdre de las ligasons" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr "Suprimir una ligason" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Suprimir una ligason" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Fichièr" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exportar" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Sulhets" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Fichièr de donadas Dalton" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensions" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Error" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Error OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Error" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Salvar lo fichièr de donadas" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Òsca !" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Idrogèn" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Bola e baston" #: qtplugins/ballandstick/ballandstick.h:47 msgid "Render atoms as spheres and bonds as cylinders." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulacion de las ligasons" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulacion de las ligasons" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Atòm d'arribada" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Suprimir una ligason" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Construire" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Ligason" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nom de fichièr :" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Editor cartesian" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nom del fichièr pas valable" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nom de l'element" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Nom del fichièr pas valable" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Nom de l'element" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nom del fichièr pas valable" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Numèro de l'atòm" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nom del fichièr pas valable" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Personalizar" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc)" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ amb nombres" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Informacion GAMESS PFE" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Informacion GAMESS PFE" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Entrada Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Copiar tot" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Personalizar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Escafar tot" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Axes personalizats" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Dessenhar" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Dessenhar un atòm" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Modificar l'òrdre de las ligasons" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Suprimir una ligason" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distància" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distància (1->2) : %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Autres..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Optimizacion automatica" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Simple" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Doble" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triple" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "E&scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Editor de fichièr d'entrada..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Entrada GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Singulet" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Estat de transicion" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frequéncias" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gas" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Aiga" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singulet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doblet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Mejan" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Fichièr de donadas GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Interrompre lo calcul" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Idrogèn" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 msgid "Remove E&xtra Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:46 msgid "&Remove All Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Idrogèn" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importar" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 msgid "Render atoms as licorice." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Inserir" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Pas cap de descripcion" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molecula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Generar..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipular" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipular un atòm" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Mesurar" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Dièdre :" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Angle :" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Angle :" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Mesurar" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Vista" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Proprietats de la molecula" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigar" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigar" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nom quimic" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Recèrca ret" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Idrogèn" #: qtplugins/openbabel/openbabel.cpp:77 msgid "Add hydrogens for pH..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:83 msgid "Remove hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Generar..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 msgid "Adding Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 msgid "Add hydrogens for pH" msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Arrèst" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Paramètres :" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Suprimir..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Arrèst" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Impossible d'enregistrar lo fichièr." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Error" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "Exportar POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Enregistrar lo fichièr vidèo" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Rendut amb POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensions" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calcul de la densitat electronica en cors" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calcul de la densitat electronica en cors" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calcul de l'OM %L1 en cors" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "OM %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "HOMO" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "LUMO" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Reïnicializar" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Suprimir tot" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Seleccion" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Inversar la seleccion" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " Electrons de valence" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Seleccionar" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Seleccionar" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Seleccion" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Seleccion" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibracions" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Frequéncias" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tipe" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Seleccionar per element..." #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Exportar en vidèo" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Rendut amb POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Fial de fèrre" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Bóstia de dialòg" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Formulari" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Paramètres de seleccion" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Interrompre lo calcul" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processors :" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Cambiar un element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Fichièr de donadas Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Camp de fòrça :" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Fichièr de donadas Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Salvar lo fichièr de donadas" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Òsca !" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Estructura :" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Cargar lo fichièr..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Paramètres de las mesuras" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "Nom de &fichièr :" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigar" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigar" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigar" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nom de fichièr :" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "D'acòrdi" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Anullar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Editor cartesian..." #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Reïnicializar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distància" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Angstroms" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Format :" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Aplicar" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Paramètres :" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A :" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B :" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C :" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matritz Z MOPAC" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Fraccionari" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Etiqueta" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element :" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Òrdre de ligason :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Entrada GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Dins :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicitat :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Amb :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Títol :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Carga :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calcular :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nom de fichièr :" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Valors per defaut" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Cargar lo fichièr..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nom" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Format :" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Pas cap de descripcion" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Dinamica moleculara (300K)" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "CAUSAS A FAR" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Formula quimica :" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Nombre d'atòms :" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Nombre de ligasons :" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimizacion" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Camp de fòrça :" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimizacion" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Gradients conjugats" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Autorotacion" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potencial electrostatic" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "etapas" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Convergéncia" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergéncia" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Limit de temps :" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Unitats :" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Nombre de ligasons :" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Escafar la seleccion" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalent" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacitat :" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Surfàcias" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Surfàcias" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Mejana" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Fòrça bassa" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Febla" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Elevada" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Fòrça elevada" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Valor iso :" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolucion :" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Surfàcias" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calcular" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibracions" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplitud :" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Començar &l'animacion" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Arrestar &l'animacion" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molecula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Reglatges" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc), ,Launchpad " "Contributions:,Avogadro Team,Cédric VALMARY (Tot en òc)" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,cvalmary@yahoo.fr,,,avogadro-devel@lists.sourceforge.net,cvalmary@yahoo." "fr,,,avogadro-devel@lists.sourceforge.net,cvalmary@yahoo.fr,,,avogadro-" "devel@lists.sourceforge.net,cvalmary@yahoo.fr,,,avogadro-devel@lists." "sourceforge.net,cvalmary@yahoo.fr,,,avogadro-devel@lists.sourceforge.net," "cvalmary@yahoo.fr,,,avogadro-devel@lists.sourceforge.net,cvalmary@yahoo.fr,,," "avogadro-devel@lists.sourceforge.net,cvalmary@yahoo.fr,,,avogadro-" "devel@lists.sourceforge.net,cvalmary@yahoo.fr" #~ msgid "Color by Index" #~ msgstr "Coloriar segon l'indici" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Coloriar segon l'indici (roge, irange, jaune, verd, blau, violet)." #~ msgid "Color by Partial Charge" #~ msgstr "Coloriar segon la carga parciala" #~ msgid "Custom Color:" #~ msgstr "Color personalizada :" #~ msgid "Custom Color" #~ msgstr "Color personalizada" #~ msgid "Color by Distance" #~ msgstr "Coloriar segon la distància" #~ msgid "Color by Element" #~ msgstr "Coloriar segon l'element" #~ msgid "SMARTS Pattern:" #~ msgstr "Estructura SMARTS :" #~ msgid "Engines" #~ msgstr "Motors de rendut" #~ msgid "Axes" #~ msgstr "Axes" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Afichar los axes x, y e z a l'origina" #~ msgid "Cartoon" #~ msgstr "Dessenh animat" #~ msgid "Dipole" #~ msgstr "Dipòl" #~ msgid "Force" #~ msgstr "Forçar" #~ msgid "Hydrogen Bond" #~ msgstr "Ligason Idrogèn" #~ msgid "Label" #~ msgstr "Etiqueta" #~ msgid "Polygon" #~ msgstr "Poligòn" #~ msgid "Ribbon" #~ msgstr "Cinta" #~ msgid "Ring" #~ msgstr "Sonariá" #~ msgid "Simple Wireframe" #~ msgstr "Fial de fèrre" #~ msgid "Stick" #~ msgstr "Bastons" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, surfàcia iso = %L2" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "fichièrs vidèo (*.avi)" #~ msgid "Animation..." #~ msgstr "Animacion..." #~ msgid "Animation" #~ msgstr "Animacion" #~ msgid "Number of atoms: %1" #~ msgstr "Nombre d'atòms : %1" #~ msgid "Trajectory..." #~ msgstr "Trajectòria..." #~ msgid "Chemical files (*.xyz)" #~ msgstr "Fichièrs de quimia (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Fichièrs de quimia (*.parm7)" #~ msgid "Setup Force Field..." #~ msgstr "Configurar lo camp de fòrça..." #~ msgid "Calculate Energy" #~ msgstr "Calcular l'energia" #~ msgid "Constraints..." #~ msgstr "Contrenchas..." #~ msgid "Ignore Selection" #~ msgstr "Ignorar la seleccion" #~ msgid "Energy = %L1 %2" #~ msgstr "Energia = %L1 %2" #~ msgid "ForceField" #~ msgstr "Camp de fòrça" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Fragment..." #~ msgstr "Fragment..." #~ msgid "Insert SMILES" #~ msgstr "Inserir un SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Inserir un fragment SMILES" #~ msgid "Insert Fragment" #~ msgstr "Inserir un fragment" #~ msgid "Molecule Properties..." #~ msgstr "Proprietats de la molecula..." #~ msgid "&Properties" #~ msgstr "&Proprietats" #~ msgid "Fetch from PDB..." #~ msgstr "Cercar dins la PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Telecargar per nom quimic..." #~ msgid "Fetch from URL..." #~ msgstr "Recuperacion dempuèi l'URL…" #~ msgid "PDB Entry" #~ msgstr "Entrada PDB" #~ msgid "PDB entry to download." #~ msgstr "Entrada PDB de telecargar" #~ msgid "URL" #~ msgstr "Adreça Internet" #~ msgid "Show Preview" #~ msgstr "Afichar l'apercebut" #~ msgid "Hide Preview" #~ msgstr "Amagar l'apercebut" #~ msgid "Intensities" #~ msgstr "Intensitats" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Enregistrar l'imatge POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Fichièr d'imatges (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "Does not compute." #~ msgstr "Error de calcul." #~ msgid "Angle Properties..." #~ msgstr "Proprietats dels angles..." #~ msgid "Torsion Properties..." #~ msgstr "Proprietats de torsion..." #~ msgid "Conformer Properties..." #~ msgstr "Proprietats dels conformèris..." #~ msgid "Atom Properties" #~ msgstr "Proprietats dels atòms" #~ msgid "Bond Properties" #~ msgstr "Proprietats de las ligasons" #~ msgid "Angle Properties" #~ msgstr "Proprietats dels angles" #~ msgid "Torsion Properties" #~ msgstr "Proprietats dels angles de torsion" #~ msgid "Properties" #~ msgstr "Proprietats" #~ msgid "Valence" #~ msgstr "Valença" #~ msgid "Atom" #~ msgstr "Atòm" #~ msgid "Start Atom" #~ msgstr "Atòm de despart" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "longor %1" #~ msgid "Vertex" #~ msgstr "Vertèx" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Angle %1" #~ msgid "Angle" #~ msgstr "Angle" #~ msgid "Atom %1" #~ msgstr "Atòm %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsion %1" #~ msgid "Torsion" #~ msgstr "Torsion" #~ msgid "Yes" #~ msgstr "Òc" #~ msgid "No" #~ msgstr "Non" #~ msgid "Python Terminal" #~ msgstr "Terminal Python" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "QM Matches" #~ msgstr "Resultats MQ" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Seleccion PEF..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Seleccion MQ..." #~ msgid "Delete" #~ msgstr "Suprimir" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Conversion SMILES pas disponibla" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Conversion de format SMILES pas disponibla !" #~ msgid "Group Name" #~ msgstr "Nom de grop" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Crear los fichièrs d'entrada per GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Paramètres avançats modificats" #~ msgid "Advanced Settings Reset" #~ msgstr "Reïnicializar los paramètes avançats" #~ msgid "Gaussian Input Deck" #~ msgstr "Taula d'entrada Gaussian" #~ msgid "Gaussian Running." #~ msgstr "Calcul Gaussian en cors." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian es pas installat." #~ msgid "Running Gaussian calculation..." #~ msgstr "Calcul Gaussian en cors..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWCHEM..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "Molpro Input Deck" #~ msgstr "Fichièr de donadas Molpro" #~ msgid "MOPAC Input Deck" #~ msgstr "Fichièr de donadas MOPAC" #~ msgid "MOPAC Running." #~ msgstr "Calcul MOPAC en cors." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC es pas installat." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Impossible de trobar l'executable de MOPAC." #~ msgid "Running MOPAC calculation..." #~ msgstr "Calcul MOPAC en cors..." #~ msgid "NWChem Input Deck" #~ msgstr "Fichièr de donadas NWChem" #~ msgid "QChem Input Deck" #~ msgstr "Fichièr de donadas Q-Chem" #~ msgid "Select SMARTS..." #~ msgstr "Seleccionar SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Seleccionar per residú..." #~ msgid "SMARTS Selection" #~ msgstr "Seleccion SMARTS" #~ msgid "Select by residue" #~ msgstr "Seleccionar per residú" #~ msgid "Residue name" #~ msgstr "Nom del residú" #~ msgid "Selections" #~ msgstr "Seleccions" #~ msgid "GLSL Shaders..." #~ msgstr "Texturas GLSL..." #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fichièrs d'ombratge de fragment (*.frag)" #~ msgid "GLSL Shaders" #~ msgstr "Ombratges GLSL" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensitat (unitats arb.)" #~ msgid "Energy (eV)" #~ msgstr "Energia (eV)" #~ msgid "Activity" #~ msgstr "Activitat" #~ msgid "Intensity" #~ msgstr "Fondut d'intensitat" #~ msgid "X Axis" #~ msgstr "Axe X" #~ msgid "Y Axis" #~ msgstr "Axe Y" #~ msgid "&Appearance" #~ msgstr "&Aparéncia" #~ msgid "E&xport Image" #~ msgstr "E&xportar l'imatge" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infraroge" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "&Paramètres UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "&Paramètres DC" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "&Paramètres Raman" #~ msgid "No data" #~ msgstr "Pas de donadas" #~ msgid "Dark" #~ msgstr "Escur" #~ msgid "Light" #~ msgstr "Clar" #~ msgid "Publication" #~ msgstr "Publicacion" #~ msgid "Select Background Color" #~ msgstr "Seleccionar una color de fons" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Unknown extension: %1" #~ msgstr "Extension desconeguda : %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "Donadas IR PWscf (*.out)" #~ msgid "Data Format" #~ msgstr "Format de las donadas" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Format :" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "tiff" #~ msgid "Windows Bitmap" #~ msgstr "bmp" #~ msgid "Portable Pixmap" #~ msgstr "ppm" #~ msgid "X11 Bitmap" #~ msgstr "xbm" #~ msgid "X11 Pixmap" #~ msgstr "xpm" #~ msgid "&Advanced <<" #~ msgstr "&Avançats >>" #~ msgid "&Advanced >>" #~ msgstr "&Avançat >>" #~ msgid "Vibration" #~ msgstr "Vibracion" #~ msgid "Pause" #~ msgstr "Metre en pausa" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbitalas molecularas..." #~ msgid "Orbitals" #~ msgstr "Orbitalas" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "BV" #~ msgid "Orbital" #~ msgstr "Orbitala" #~ msgid "Status" #~ msgstr "Estat" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Pas res" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potencial electrostatic" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Densitat electronica" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbitala moleculara" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Error - tipe pas definit" #~ msgid "Create Surfaces..." #~ msgstr "Generar las surfàcias..." #~ msgid "Calculating VdW Cube" #~ msgstr "Calcul d'un cub WdW en cors" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Densitat electronica" #~ msgid "Building video " #~ msgstr "Generacion de la vidèo " #~ msgid "Could not run povray." #~ msgstr "Impossible d'aviar povray" #~ msgid "Could not run mencoder." #~ msgstr "Impossible d'aviar memcoder" #~ msgid "Connect" #~ msgstr "Connectar" #~ msgid "Disconnect" #~ msgstr "Desconnectar" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Seguiment Wii" #~ msgid "Debug Information" #~ msgstr "Informacions de desbugatge" #~ msgid "FPS: %L1" #~ msgstr "FPS : %L1" #~ msgid "Atoms: %L1" #~ msgstr "Atòms : %L1" #~ msgid "Bonds: %L1" #~ msgstr "Ligasons : %L1" #~ msgid "Molecule %1" #~ msgstr "Molecula%1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "N/A" #~ msgstr "N/D" #~ msgid " - no module" #~ msgstr " - pas cap de modul" #~ msgid "Unknown Python Extension" #~ msgstr "Extension Python desconeguda" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension : verificacion " #~ msgid "Tools" #~ msgstr "Aisinas" #~ msgid "Axis:" #~ msgstr "Axes :" #~ msgid "Align:" #~ msgstr "Alinhar :" #~ msgid "Everything" #~ msgstr "Tot" #~ msgid "Align" #~ msgstr "Alinhament" #~ msgid "Align Settings" #~ msgstr "Paramètres d'alinhament" #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt : E = %1 %2 (dE = %3)" #~ msgid "Algorithm:" #~ msgstr "Algoritme :" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinamica moleculara (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinamica moleculara (900K)" #~ msgid "Start" #~ msgstr "Començament" #~ msgid "x rotation:" #~ msgstr "rotacion segon x :" #~ msgid "x rotation" #~ msgstr "rotacion segon x" #~ msgid "y rotation:" #~ msgstr "rotacion segon y :" #~ msgid "y rotation" #~ msgstr "rotacion segon y" #~ msgid "z rotation:" #~ msgstr "rotacion segon z :" #~ msgid "z rotation" #~ msgstr "rotacion segon z" #~ msgid "AutoRotate Settings" #~ msgstr "Paramètres de rotacion automatica" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Longor de ligason : %L1" #~ msgid " Show Angles" #~ msgstr " Afichar los angles" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distància (2->3) : %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Angle : %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distància (3->4) : %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Angle dièdre : %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distància(s) :" #~ msgid "Delete Atom" #~ msgstr "Suprimir un atòm" #~ msgid "Draw Bond" #~ msgstr "Dessenhar una ligason" #~ msgid "Draw Settings" #~ msgstr "Paramètres de dessenh" #~ msgid "Manipulate Settings" #~ msgstr "Paramètres de manipulacion" #~ msgid "Navigate Settings" #~ msgstr "Paramètres de navigacion" #~ msgid "Atom/Bond" #~ msgstr "Atòm/Ligason" #~ msgid "Residue" #~ msgstr "Residú" #~ msgid "Symbol" #~ msgstr "Simbòl" #~ msgid "Z-Matrix" #~ msgstr "Matritz Z" #~ msgid "Z-Matrix Settings" #~ msgstr "Paramètres de matritz Z" #~ msgid "Axes:" #~ msgstr "Axes :" #~ msgid "Cartesian Axes" #~ msgstr "Axes cartesians" #~ msgid "Orthogonal Axes" #~ msgstr "Axes ortogonals" #~ msgid "Axis 1:" #~ msgstr "Axe 1 :" #~ msgid "Axis 2:" #~ msgstr "Axe 2 :" #~ msgid "Axis 3:" #~ msgstr "Axe 3 :" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origina :" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Nòrma" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Helix" #~ msgstr "Eliça" #~ msgid "a" #~ msgstr "a" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Fuèlhs" #~ msgid "Loop" #~ msgstr "En bocla" #~ msgid "Colors" #~ msgstr "Colors" #~ msgid "Dipole:" #~ msgstr "Dipòl :" #~ msgid "Dipole Moment" #~ msgstr "Moment dipolar" #~ msgid "Custom Vector" #~ msgstr "Vector personalizat" #~ msgid "Custom:" #~ msgstr "Personalizada :" #~ msgid "Width:" #~ msgstr "Largor :" #~ msgid "A" #~ msgstr "A" #~ msgid "TextRenderer" #~ msgstr "Rendut textual" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Etiquetas dels atòms" #~ msgid "Text:" #~ msgstr "Tèxte :" #~ msgid "Color:" #~ msgstr "Color :" #~ msgid "None" #~ msgstr "Pas cap" #~ msgid "Residue number" #~ msgstr "Numèro del residú" #~ msgid "Unique ID" #~ msgstr "ID unica" #~ msgid "Change Font" #~ msgstr "Modificar la poliça" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Rendering:" #~ msgstr "Rendut :" #~ msgid "Backbone" #~ msgstr "Colomna vertebrala" #~ msgid "Lines" #~ msgstr "Linhas" #~ msgid "Radius:" #~ msgstr "Rai :" #~ msgid "VdW Opacity:" #~ msgstr "Opacitat VdW :" #~ msgid "Render:" #~ msgstr "Rendut :" #~ msgid "Points" #~ msgstr "Punts" #~ msgid "Draw Box:" #~ msgstr "Bóstia de dessenh :" #~ msgid "Style:" #~ msgstr "Modèl :" #~ msgid "Colors:" #~ msgstr "Colors :" #~ msgid "Positive" #~ msgstr "Positiva" #~ msgid "Negative" #~ msgstr "Negativa" #~ msgid "Show Atoms" #~ msgstr "Afichar los atòms" #~ msgid "Animate Trajectory" #~ msgstr "Trajectòria d'animacion" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "En bocla" #~ msgid "fps" #~ msgstr "imtg/seg" #~ msgid "Save as .avi..." #~ msgstr "Enregistrar en .avi..." #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "GAMESS Input #2" #~ msgstr "Entrada GAMESS #2" #~ msgid "Priroda Input" #~ msgstr "Entrada Priroda" #~ msgid "Apply Changes" #~ msgstr "Aplicar los cambiaments" #~ msgid "Cut All" #~ msgstr "Copar tot" #~ msgid "Paste to the End" #~ msgstr "Pegar a la fin" #~ msgid "(None)" #~ msgstr "(Pas cap)" #~ msgid "Method" #~ msgstr "Metòde" #~ msgid "Number of atoms:" #~ msgstr "Nombre d'atòms :" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Constraints" #~ msgstr "Contrenchas" #~ msgid "Ignore Atom" #~ msgstr "Ignorar atòm" #~ msgid "Fix Atom" #~ msgstr "Fixar atòm" #~ msgid "Fix Atom X" #~ msgstr "Fixar atòm X" #~ msgid "Fix Atom Y" #~ msgstr "Fixar atòm Y" #~ msgid "Fix Atom Z" #~ msgstr "Fixar atòm Z" #~ msgid "Torsion angle" #~ msgstr "Angle de torsion" #~ msgid "Constraint Value" #~ msgstr "Valor de la contrencha" #~ msgid "Add" #~ msgstr "Apondon" #~ msgid "Save" #~ msgstr "Salvar" #~ msgid "Load" #~ msgstr "Cargar" #~ msgid "Cartesian" #~ msgstr "Cartesian" #~ msgid "All" #~ msgstr "Totes / Totas" #~ msgid "File Import..." #~ msgstr "Importacion de fichièr..." #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Nombre de passes" #~ msgid "Algorithm" #~ msgstr "Algoritme" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Divèrs" #~ msgid "Insert Fragment..." #~ msgstr "Inserir un fragment..." #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Acid aspartic" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Acid glutamic" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamina" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "His" #~ msgstr "His" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valina" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Acids aminats :" #~ msgid "Sequence (N to C):" #~ msgstr "Sequéncia (N a C) :" #~ msgid "L" #~ msgstr "G" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "Terminasons N :" #~ msgid "C Terminus:" #~ msgstr "Terminasons C :" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Phi:" #~ msgstr "Fi :" #~ msgid "Psi:" #~ msgstr "Psi :" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Number of Residues:" #~ msgstr "Nombre de residús :" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energia (kJ/mol) :" #~ msgid "Dipole Moment (D):" #~ msgstr "Moment dipolar (D) :" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Avançat" #~ msgid "Control" #~ msgstr "Contraròtle" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Donadas" #~ msgid "Nothing" #~ msgstr "Pas res" #~ msgid "Grid" #~ msgstr "Grasilha" #~ msgid "Select..." #~ msgstr "Seleccionar..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Command:" #~ msgstr "Comanda :" #~ msgid "Path:" #~ msgstr "Camin :" #~ msgid "Compute..." #~ msgstr "Calcular..." #~ msgid "Dalton Input" #~ msgstr "Entrada Dalton" #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Estil Pople" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Dirècte" #~ msgid "Parallel" #~ msgstr "Parallèl" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Densitat :" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Becke (original)" #~ msgstr "Becke (original)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "normal" #~ msgstr "normala" #~ msgid "fine" #~ msgstr "fina" #~ msgid "ultrafine" #~ msgstr "fòrça fina" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Property:" #~ msgstr "Proprietat :" #~ msgid "Polarizability" #~ msgstr "Polarizabilitat" #~ msgid "EFP Matches" #~ msgstr "Resultats PEF" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Configuracion &avançada" #~ msgid "System" #~ msgstr "Sistèma" #~ msgid "MO Guess" #~ msgstr "Estimacion MO" #~ msgid "Misc" #~ msgstr "Divèrs" #~ msgid "Read" #~ msgstr "Lectura" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Tipe ECP :" #~ msgid "Default" #~ msgstr "Valor per defaut" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "Gradient" #~ msgstr "Degradat" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Optimizacion globala" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Optimizacion FMO" #~ msgid "Raman Intensities" #~ msgstr "Intensitats Raman" #~ msgid "NMR" #~ msgstr "RMN" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "CI:" #~ msgstr "CI :" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Determinant Ames Lab" #~ msgid "CI Singles" #~ msgstr "Singletons CI" #~ msgid "CC:" #~ msgstr "CC :" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Check" #~ msgstr "Verificacion" #~ msgid "Debug" #~ msgstr "Desbugatge" #~ msgid "Use MP2" #~ msgstr "Utilizar MP2" #~ msgid "Use DFT" #~ msgstr "Utilizar DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "Nombre de variablas de matritz Z" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Minutes" #~ msgstr "Minutas" #~ msgid "Hours" #~ msgstr "Oras" #~ msgid "Days" #~ msgstr "Jorns" #~ msgid "Weeks" #~ msgstr "Setmanas" #~ msgid "Years" #~ msgstr "Annadas" #~ msgid "Millenia" #~ msgstr "Millenis" #~ msgid "MegaWords" #~ msgstr "Megamots" #~ msgid "MegaBytes" #~ msgstr "Megaoctets" #~ msgid "GigaWords" #~ msgstr "Gigamots" #~ msgid "GigaBytes" #~ msgstr "Gigaoctets" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI :" #~ msgid "Memory:" #~ msgstr "Memòria :" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "En bocla" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "Lectura MO ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO enregistrat (DICTNRY)" #~ msgid "Skip" #~ msgstr "Passar al seguent" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK Version)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Direct SCF" #~ msgstr "SCF dirècte" #~ msgid "Method:" #~ msgstr "Metòde :" #~ msgid "words" #~ msgstr "mots" #~ msgid "Numeric" #~ msgstr "Numeric" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Maximum:" #~ msgstr "Maximum :" #~ msgid "Minimum:" #~ msgstr "Minimum :" #~ msgid "Initial:" #~ msgstr "Inicial :" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Basis:" #~ msgstr "Basa :" #~ msgid "Z-matrix" #~ msgstr "Matritz Z" #~ msgid "Gaussian Input" #~ msgstr "Entrada Gaussian" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Estandard" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Checkpoint :" #~ msgid "Z-matrix (compact)" #~ msgstr "Matritz Z compacta" #~ msgid "MOLPRO Input" #~ msgstr "Donadas MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Version de Molpro :" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Donadas MOPAC" #~ msgid "Quartet" #~ msgstr "Quartet" #~ msgid "Quintet" #~ msgstr "Quintuplet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Entrada NWChem" #~ msgid "Q-Chem Input" #~ msgstr "Entrada Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Shader Name:" #~ msgstr "Nom de l'ombratge :" #~ msgid "Fragment Shader:" #~ msgstr "Ombratge de fragment :" #~ msgid "Display Type:" #~ msgstr "Tipe d'afichatge :" #~ msgid "&Load data..." #~ msgstr "&Legir las donadas..." #~ msgid "&Close" #~ msgstr "&Tampar" #~ msgid "Set Color..." #~ msgstr "Causir la color..." #~ msgid "Font:" #~ msgstr "Poliça :" #~ msgid "Show" #~ msgstr "Afichar" #~ msgid "&Import..." #~ msgstr "&Importar..." #~ msgid "Background:" #~ msgstr "Rèire plan :" #~ msgid "Foreground:" #~ msgstr "Primièr plan :" #~ msgid "New..." #~ msgstr "Novèl..." #~ msgid "Rename..." #~ msgstr "Tornar nomenar..." #~ msgid "&Schemes:" #~ msgstr "&Projèctes :" #~ msgid "&Export..." #~ msgstr "&Exportar..." #~ msgid "&DPI:" #~ msgstr "&DPI :" #~ msgid "&Width:" #~ msgstr "&Largor :" #~ msgid "&Height" #~ msgstr "&Nautor" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "po" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Enregistrar l'imatge..." #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Exportar las donadas" #~ msgid "States / Atom" #~ msgstr "Estats/atòm" #~ msgid "eV" #~ msgstr "eV" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "Linear" #~ msgstr "Linear" #~ msgid "Relative" #~ msgstr "Relatiu" #~ msgid "Temperature:" #~ msgstr "Temperatura :" #~ msgid " K" #~ msgstr " K" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Sulhet :" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Nuclis :" #~ msgid "&Reference:" #~ msgstr "&Referéncia :" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Filter: " #~ msgstr "Filtre : " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Activitat (A^4/amu)" #~ msgid "&Recalculate All" #~ msgstr "Recalcular &tot" #~ msgid "Default &Quality:" #~ msgstr "&Qualitat per defaut :" #~ msgid "Quality: " #~ msgstr "Qualitat : " #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Bassa" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Mejana" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Elevada" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Fòrça elevada" #~ msgid "Advanced..." #~ msgstr "Avançat..." #~ msgid "Python Settings" #~ msgstr "Paramètres de python" avogadrolibs-1.93.0/i18n/pl.po000066400000000000000000003513171360735163600160360ustar00rootroot00000000000000# Polish translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:56+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:02+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Nieznany" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Przerwij obliczenia" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Ostrzeżenie" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Ostrzeżenie" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Nie można zapisać pliku." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nazwa pliku:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Oblicz" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Zatrzymaj &animację" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Nie zaznaczono atomów" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Wodór" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Hel" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lit" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryl" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Węgiel" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Azot" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Tlen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sód" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnez" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Glin" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Krzem" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Siarka" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Chlor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potas" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Wapń" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skand" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Tytan" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Wanad" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Chrom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Żelazo" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikiel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Miedź" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Cynk" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gal" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "German" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsen" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selen" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubid" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Stront" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Itr" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Cyrkon" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niob" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibden" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technet" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruten" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rod" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Pallad" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Srebro" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadm" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Ind" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Cyna" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antymon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellur" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jod" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ksenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cez" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bar" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cer" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Prazeodym" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodym" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promet" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samar" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europ" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolin" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terb" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysproz" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holm" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erb" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tul" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Iterb" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutet" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafn" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Wolfram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Ren" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osm" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iryd" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platinum" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Złoto" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Rtęć" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tal" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Ołów" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bizmut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polon" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Frans" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Rad" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktyn" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Tor" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktyn" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uran" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptun" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Pluton" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Ameryk" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Kiur" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkel" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kaliforn" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einstein" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Ferm" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelew" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobel" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lorens" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherford" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubn" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborg" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Borium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Has" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitner" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Samar" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgen" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Cyrkon" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Przeglądaj..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Zaznaczenia" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Usuń zaznaczone" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Wszystkie pliki" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "bez nazwy" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Układ okresowy" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Skrypty" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Błąd OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Nieznany" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekuła %1" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Usuń atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Atom początkowy" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Dopasuj wodory" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Zmień pierwiastek" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Zmień pierwiastek" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Ładunek" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Dodaj wiązanie" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Usuń atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Usuń wiązanie" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Kolejność wiązań" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Przyciągnięcie do wiązań" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Usuń wiązanie" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Plik" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Eksportuj" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Rozszerzenia" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Błąd" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problem z odczytem pliku trajektorii %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Błąd OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problem z odczytem pliku trajektorii %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Błąd" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Sukces!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Obraz został pomyślnie zapisany w %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Wodory" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Kule i pałeczki" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Wykonaj etykiety atomów i wiązań" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulacja przy wiązaniach" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulacja przy wiązaniach" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Atom końcowy" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Usuń wodory" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Buduj" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nazwa pliku:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nazwa pierwiastka" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nazwa pierwiastka" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Symbol pierwiastka" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Symbol pierwiastka" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 msgid "Invalid atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 msgid "Invalid coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Andrzej MoST (Marcin Ostajewski),Roman " "Skrzypiński, ,Launchpad Contributions:,Avogadro Team, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison, ,Launchpad Contributions:," "Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison,Krzysztof Wittek, ," "Launchpad Contributions:,Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison," "Krzysztof Wittek, ,Launchpad Contributions:,Avogadro Team,Bartosz " "Kaszubowski,Geoff Hutchison,Krzysztof Wittek, ,Launchpad Contributions:," "Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison,Krzysztof Wittek, ," "Launchpad Contributions:,Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison," "Krzysztof Wittek, ,Launchpad Contributions:,Avogadro Team,Bartosz " "Kaszubowski,Geoff Hutchison,Krzysztof Wittek, ,Launchpad Contributions:," "Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison,Krzysztof Wittek, ," "Launchpad Contributions:,Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison," "Krzysztof Wittek,Mateusz Pogorzelski,december0123, ,Launchpad Contributions:," "Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison,Krzysztof Wittek,Mateusz " "Pogorzelski,december0123, ,Launchpad Contributions:,Avogadro Team,Bartosz " "Kaszubowski,Geoff Hutchison,Krzysztof Wittek,Mateusz Pogorzelski,december0123" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Wykonaj etykiety atomów i wiązań" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Koloruj po pierwiastkach" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Rysowanie" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Rysuj atom" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Usuń atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Odległość" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Odległość" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOptymalizacja" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Pojedyncze" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Podwójne" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Potrójne" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Skrypty" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problem z odczytem pliku trajektorii %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Energia pojedynczego punktu" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Częstotliwości" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gaz" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Woda" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutralny" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Przerwij obliczenia" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Dopasuj wodory" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Dodaj wodory" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Usuń wodory" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Usuń wodory" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Wodory" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Wodory" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importuj" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Wykonaj etykiety atomów i wiązań" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Wstaw" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Brak opisu" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipulacja atomem" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Pomiary" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Kąt" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Pomiary" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Widok" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Właściwości molekularne" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Dodaj wodory" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Dodaj wodory, aby uzyskać podane pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Usuń wodory" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Wystapił błąd podczas zapisywania pliku %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Dodaj wodory" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Dodaj wodory, aby uzyskać podane pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Usuń wodory" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Dynamiczne wiązania" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Miedź" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Nie można odczytać pliku %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Błąd" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Zapisz plik wideo" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "&Rozszerzenia" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 msgid "Calculating electron density" msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Usuń wszystkie" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Zaznaczenia" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Odwróć zaznaczenie" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Zaznaczenia" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Zaznacz" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Zaznacz" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Zaznaczenia" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Analiza wibracyjna" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Pierwiastek" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Zaznacz po pierwiastku..." #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Renderuj:" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Renderuj molekuły jako pałeczki" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Ustawienia Pythona" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Przerwij obliczenia" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Zmień pierwiastek" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl + Alt + O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl + Alt + O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Pole sił:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Zapisz plik wideo" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Sukces!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Wczytaj plik..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nazwa pliku:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Anuluj" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Odległość" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Zastosuj" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Pierwiastek:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Kolejność wiązań:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Tytuł:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nazwa pliku:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Wczytaj plik..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nazwa" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Formula:" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Brak opisu" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Dynamika cząsteczek (300K)" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "AutoOptymalizacja" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Pole sił:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "AutoOptymalizacja" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutoObrót" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potencjał elektrostatyczny" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Jednostki:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Liczba atomów:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Usuń zaznaczone" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Powierzchnie" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Powierzchnie" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Średnia" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Powierzchnie" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Oblicz" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Analiza wibracyjna" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Rozpocznij &animację" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Zatrzymaj &animację" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Ustawienia" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Andrzej MoST (Marcin Ostajewski),Roman " "Skrzypiński, ,Launchpad Contributions:,Avogadro Team, ,Launchpad " "Contributions:,Avogadro Team,Geoff Hutchison, ,Launchpad Contributions:," "Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison,Krzysztof Wittek, ," "Launchpad Contributions:,Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison," "Krzysztof Wittek, ,Launchpad Contributions:,Avogadro Team,Bartosz " "Kaszubowski,Geoff Hutchison,Krzysztof Wittek, ,Launchpad Contributions:," "Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison,Krzysztof Wittek, ," "Launchpad Contributions:,Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison," "Krzysztof Wittek, ,Launchpad Contributions:,Avogadro Team,Bartosz " "Kaszubowski,Geoff Hutchison,Krzysztof Wittek, ,Launchpad Contributions:," "Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison,Krzysztof Wittek, ," "Launchpad Contributions:,Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison," "Krzysztof Wittek,Mateusz Pogorzelski,december0123, ,Launchpad Contributions:," "Avogadro Team,Bartosz Kaszubowski,Geoff Hutchison,Krzysztof Wittek,Mateusz " "Pogorzelski,december0123, ,Launchpad Contributions:,Avogadro Team,Bartosz " "Kaszubowski,Geoff Hutchison,Krzysztof Wittek,Mateusz Pogorzelski,december0123" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,romano473@gmail.com,,,avogadro-devel@lists.sourceforge.net,,,avogadro-" "devel@lists.sourceforge.net,,,,avogadro-devel@lists.sourceforge.net," "gosimek@gmail.com,,,,,avogadro-devel@lists.sourceforge.net,gosimek@gmail." "com,,,,,avogadro-devel@lists.sourceforge.net,gosimek@gmail.com,,,,,avogadro-" "devel@lists.sourceforge.net,gosimek@gmail.com,,,,,avogadro-devel@lists." "sourceforge.net,gosimek@gmail.com,,,,,avogadro-devel@lists.sourceforge.net," "gosimek@gmail.com,,,,,avogadro-devel@lists.sourceforge.net,gosimek@gmail." "com,,,,,avogadro-devel@lists.sourceforge.net,gosimek@gmail.com,,,pogoma@o2." "pl,,,,avogadro-devel@lists.sourceforge.net,gosimek@gmail.com,,,pogoma@o2." "pl,,,,avogadro-devel@lists.sourceforge.net,gosimek@gmail.com,,,pogoma@o2.pl," #~ msgid "Color by Index" #~ msgstr "Koloruj po indeksie" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Koloruj po indeksie (czerwony, pomarańczowy, żółty, zielony, niebieski, " #~ "fioletowy)." #~ msgid "Custom Color:" #~ msgstr "Kolor użytkownika:" #~ msgid "Custom Color" #~ msgstr "Kolor użytkownika" #~ msgid "Set custom colors for objects" #~ msgstr "Ustaw niestandardowe kolory dla obiektów" #~ msgid "Color by Distance" #~ msgstr "Koloruj po odległości" #~ msgid "Color by distance from the first atom." #~ msgstr "Koloruj po odległości od pierwszego atomu." #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Koloruj po pierwiastkach (węgiel = szary, tlen = czerwony, ...)." #~ msgid "Highlight Color:" #~ msgstr "Kolor podświetlenia:" #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Silniki" #~ msgid "Axes" #~ msgstr "Osie" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Ustaw osie x, y i z w pierwotnym położeniu" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Ułóż cząsteczki używając kuleczek (atomy) oraz pałeczek (wiązania)" #~ msgid "Dipole" #~ msgstr "Dipol" #~ msgid "Hydrogen Bond" #~ msgstr "Wiązanie wodorowe" #~ msgid "Label" #~ msgstr "Etykieta" #~ msgid "Polygon" #~ msgstr "Wielokąt" #~ msgid "Ribbon" #~ msgstr "Wstążka" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Renderuj szkielet proteiny jako wstążkę" #~ msgid "Van der Waals Spheres" #~ msgstr "Sfery Van der Waalsa" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Renderuje atomy jako sfery van der Waalsa" #~ msgid "Stick" #~ msgstr "Pałeczki" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "pliki wideo (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Dodawanie rozszerzenia .avi" #~ msgid "Animation..." #~ msgstr "Animacja..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Nie można odczytać formatu pliku %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Odczytanie pliku trajektorii %1 nie powiodło się." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Musisz podać poprawną nazwę pliku .avi" #~ msgid "Animation" #~ msgstr "Animacja" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animuj trajektorie, reakcje i wibracje." #~ msgid "Number of atoms: %1" #~ msgstr "Liczba atomów: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Liczba wiązań możliwych do rotacji: %1" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Twoja molekuła musi zawierać co najmniej dwa atomy, aby dodać " #~ "ograniczenie wiązania" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Twoja molekuła musi zawierać co najmniej trzy atomy, aby dodać " #~ "ograniczenie kąta" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Twoja molekuła musi zawierać co najmniej cztery atomy, aby dodać " #~ "ograniczenie skrętu" #~ msgid "Trajectory..." #~ msgstr "Trajektoria..." #~ msgid "Import Trajectory" #~ msgstr "Importuj trajektorię" #~ msgid "Import trajectory files" #~ msgstr "Importuj pliki trajektorii" #~ msgid "Calculate Energy" #~ msgstr "Oblicz energię" #~ msgid "Constraints..." #~ msgstr "Ograniczenia..." #~ msgid "Ignore Selection" #~ msgstr "Ignoruj zaznaczenie" #~ msgid "Fix Selected Atoms" #~ msgstr "Napraw zaznaczone atomy" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mechanika molekularna" #~ msgid "Change H to Methyl" #~ msgstr "Zmień wodór na grupę metylową" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Przekształć wodory na grupy metylowe" #~ msgid "Add or remove hydrogens" #~ msgstr "Dodaj lub usuń wodory" #~ msgid "Insert SMILES" #~ msgstr "Wstaw ze SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Wpisz fragment SMILES:" #~ msgid "Peptide..." #~ msgstr "Peptydy..." #~ msgid "Insert Peptide" #~ msgstr "Wstaw peptydy" #~ msgid "Molecule Properties..." #~ msgstr "Właściwości molekuły..." #~ msgid "&Properties" #~ msgstr "Właściwości" #~ msgid "Fetch from PDB..." #~ msgstr "Pobierz z PDB..." #~ msgid "Fetch from URL..." #~ msgstr "Pobierz z adresu URL..." #~ msgid "URL" #~ msgstr "Adres URL" #~ msgid "All Files" #~ msgstr "Wszystkie pliki" #~ msgid "Show Preview" #~ msgstr "Pokaż podgląd" #~ msgid "Hide Preview" #~ msgstr "Ukryj podgląd" #~ msgid "No filename supplied." #~ msgstr "Nie podano nazwy pliku." #~ msgid "No valid filename was supplied." #~ msgstr "Podano nie poprawną nazwę pliku." #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Nie można zapisać pliku %1. Jesteś pewny, że masz uprawnienia, aby " #~ "zapisywać pliki w tej lokalizacji?" #~ msgid "Atom Properties..." #~ msgstr "Włąściwości atomu..." #~ msgid "Bond Properties..." #~ msgstr "Właściwości wiązania..." #~ msgid "Angle Properties..." #~ msgstr "Właściwości kątów..." #~ msgid "Atom Properties" #~ msgstr "Właściwości atomu" #~ msgid "Bond Properties" #~ msgstr "Właściowści wiązań" #~ msgid "Angle Properties" #~ msgstr "Właściowści kątów" #~ msgid "Valence" #~ msgstr "Wartościowość" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Długość %1" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Kąt %1" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgid "Delete" #~ msgstr "Usuń" #~ msgid "You must make a selection!" #~ msgstr "Musisz coś zaznaczyć!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Konwersja do SMILES niedostępna" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Konwersja do formatu SMILES jest niedostępna!" #~ msgid "Group Name" #~ msgstr "Nazwa grupy" #~ msgid " (" #~ msgstr " (" #~ msgid ")" #~ msgstr ")" #~ msgid "Advanced Settings Changed" #~ msgstr "Zmieniono ustawienia zaawansowane" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Ustawienia zaawansowane uległy zmianie.\n" #~ "Odrzucić zmiany?" #~ msgid "Advanced Settings Reset" #~ msgstr "Przywrócenie ustawień zaawansowanych" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Czy na pewno chcesz przywrócić ustawienia zaawansowane?\n" #~ "Wszystkie zmiany zostaną utracone!" #~ msgid "Basic Settings Reset" #~ msgstr "Przywrócenie ustawień podstawowych" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Czy na pewno chcesz przywrócić ustawienia podstawowe?\n" #~ "Wszystkie zmiany zostaną utracone!" #~ msgid "There is no current selection." #~ msgstr "Aktualnie nic nie ejst zaznaczone." #~ msgid "Name cannot be empty." #~ msgstr "Nazwa nie może być pusta." #~ msgid "There is already a selection with this name." #~ msgstr "Istnieje już zaznaczenie o tej nazwie" #~ msgid "X Axis" #~ msgstr "Oś X" #~ msgid "Y Axis" #~ msgstr "Oś Y" #~ msgid "&Appearance" #~ msgstr "&Wygląd" #~ msgid "E&xport Image" #~ msgstr "E&ksportuj obraz" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Podczerwień" #~ msgid "Vibration" #~ msgstr "Wibracja" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Niczym" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Błąd - niezdefiniowany typ" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Błędny kontekst OpenGL.\n" #~ "Coś jest całkowicie zepsute w konfiguracji OpenGL na tym komputerze - czy " #~ "można uruchomić jakikolwiek program używający OpenGL?Jeśli tak, to " #~ "znalazłeś błąd." #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "Atoms: %L1" #~ msgstr "Atomy: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Wiązania: %L1" #~ msgid "Could not open file '%1' for writing." #~ msgstr "Nie można otworzyć pliku '%1' do zapisu." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Nie można otworzyć pliku '%1' do odczytu." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Plik %1 nie może być otwarty do odczytu." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Plik %1 nie może być otwarty do zapisu." #~ msgid "Unknown Python Tool" #~ msgstr "Nieznane narzędzie Pythona" #~ msgid "Tools" #~ msgstr "Narzędzia" #~ msgid "Axis:" #~ msgstr "Oś:" #~ msgid "Align:" #~ msgstr "Wyrównaj:" #~ msgid "Everything" #~ msgstr "Wszystko" #~ msgid "Align" #~ msgstr "Wyrównaj" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Nie można ustawić pola sił..." #~ msgid "Steps per Update:" #~ msgstr "Kroki na uaktualnienie:" #~ msgid "Algorithm:" #~ msgstr "Algorytm:" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dynamika cząsteczek (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dynamika cząsteczek (900K)" #~ msgid "Fixed atoms are movable" #~ msgstr "Można poruszać stałymi atomami" #~ msgid "Ignored atoms are movable" #~ msgstr "Można poruszać zignorowanymi atomami" #~ msgid "Auto Rotation Tool" #~ msgstr "Narzędzie automatycznego obrotu" #~ msgid "x rotation:" #~ msgstr "obrót względem osi x:" #~ msgid "x rotation" #~ msgstr "obrót względem osi x" #~ msgid "y rotation:" #~ msgstr "obrót względem osi Y" #~ msgid "y rotation" #~ msgstr "obrót względem osi Y" #~ msgid "z rotation:" #~ msgstr "obrót względem osi Z:" #~ msgid "z rotation" #~ msgstr "obrót względem osi Z" #~ msgid " Show Angles" #~ msgstr " Pokaż kąty" #~ msgid "Snap-to Threshold: " #~ msgstr "Przyciągnięcie do progu: " #~ msgid "Distance(s):" #~ msgstr "Odległość:" #~ msgid "Delete Atom" #~ msgstr "Usuń atom" #~ msgid "Draw Bond" #~ msgstr "Rysuj wiązanie" #~ msgid "Shape" #~ msgstr "Kształt" #~ msgid "Helix" #~ msgstr "Spirala" #~ msgid "Sheet" #~ msgstr "Arkusz" #~ msgid "Loop" #~ msgstr "Zapętlaj" #~ msgid "Dipole:" #~ msgstr "Dipol:" #~ msgid "Bond order" #~ msgstr "Kolejność wiązań" #~ msgid "Rendering:" #~ msgstr "Renderowanie:" #~ msgid "Radius:" #~ msgstr "Promień:" #~ msgid "Fill" #~ msgstr "Wypełnienie" #~ msgid "Points" #~ msgstr "Punkty" #~ msgid "Style:" #~ msgstr "Styl:" #~ msgid "Selected Colors" #~ msgstr "Wybrane kolory" #~ msgid "Colors:" #~ msgstr "Kolory:" #~ msgid "Positive" #~ msgstr "Pozytyw" #~ msgid "Negative" #~ msgstr "Negatyw" #~ msgid "Show Atoms" #~ msgstr "Pokaż atomy" #~ msgid "Animate Trajectory" #~ msgstr "Animuj trajektorię" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Zapętlaj" #~ msgid "fps" #~ msgstr "kl/s" #~ msgid "Save as .avi..." #~ msgstr "Zapisz jako .avi..." #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "Method" #~ msgstr "Metoda" #~ msgid "Number of rotatable bonds:" #~ msgstr "Liczba wiązań możliwych do rotacji:" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Ignore Atom" #~ msgstr "Ignoruj atom" #~ msgid "Add" #~ msgstr "Dodaj" #~ msgid "Save" #~ msgstr "Zapisz" #~ msgid "Load" #~ msgstr "Wczytaj" #~ msgid "File Import..." #~ msgstr "Import pliku..." #~ msgid "Number of steps" #~ msgstr "Liczba kroków" #~ msgid "Algorithm" #~ msgstr "Algorytm" #~ msgid "Advanced" #~ msgstr "Zaawansowane" #~ msgid "&Advanced Setup" #~ msgstr "&Zaawansowane ustawienia" #~ msgid "Minutes" #~ msgstr "Minuty" #~ msgid "Days" #~ msgstr "Days" #~ msgid "Z Matrix Editor" #~ msgstr "Edytor macierzy Z" #~ msgid "Import Selected Atoms" #~ msgstr "Importuj zaznaczone atomy" avogadrolibs-1.93.0/i18n/pt.po000066400000000000000000005303421360735163600160430ustar00rootroot00000000000000# Portuguese translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-07-16 07:25+0000\n" "Last-Translator: Tiago Santos \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Gerador de dados..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Gerador de dados..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Continuar" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Desconhecido(a)" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Abortar cálculo" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Aviso" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Aviso" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Seleccionar Solvente" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Não é possível guardar o ficheiro." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Ficheiro de vídeo não guardado." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Ficheiro de vídeo não guardado." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Título" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nome do ficheiro:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processadores:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Calcular" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Base" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Molécula" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Parar &Animação" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Nenhum átomo seleccionado" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrogénio" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Hélio" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lítio" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berílio" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boro" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbono" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Azoto" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxigénio" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Flúor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Néon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sódio" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnésio" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alumínio" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silício" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fósforo" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Enxofre" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Cloro" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Árgon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potássio" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Cálcio" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Escândio" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titânio" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanádio" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Crómio" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganésio" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Ferro" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalto" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Níquel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Cobre" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinco" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gálio" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germânio" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsénio" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selénio" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromo" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Crípton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubídio" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Estrôncio" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Ítrio" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zircónio" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Nióbio" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdénio" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tecnécio" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruténio" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Ródio" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Paládio" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Prata" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cádmio" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Índio" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Zinco" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimónio" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telúrio" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iodo" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xénon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Césio" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bário" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantânio" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cério" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodímio" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodímio" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promécio" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samário" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Európio" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolínio" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Térbio" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprósio" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Hólmio" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Érbio" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Túlio" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Itérbio" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutécio" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Háfnio" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tântalo" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungsténio" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rénio" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Ósmio" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Irídio" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Ouro" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercúrio" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tálio" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Chumbo" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuto" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polónio" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Ástato" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Rádon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Frâncio" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Rádio" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actínio" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Tório" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactínio" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Urânio" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptúnio" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutónio" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Amerício" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Cúrio" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berquélio" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Califórnio" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsténio" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Férmio" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelévio" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobélio" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Laurêncio" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfórdio" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dúbnio" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seabórgio" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bóhrio" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hássio" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnério" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstádio" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgénio" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernício" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zircónio" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Fleróvio" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermório" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Procurar..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr " Falha na seleção" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Remover itens seleccionados" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Todos os ficheiros" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "sem nome" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Tabela Periódica" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03 falhou ao iniciar." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Programas" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Erro do OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Desconhecido(a)" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molécula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Adicionar um Átomo" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Remover Átomo" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Iniciar Átomo" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Ajustar os Hidrogénios" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Modificar o Elemento" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Modificar o Elemento" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Carga Formal" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Adicionar uma Ligação" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Remover Átomo" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Apagar a Ligação" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Ordem de ligação" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Modificar a Ordem de Ligação" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Ligações Acopláveis" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Apagar a Ligação" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Adicionar Célula &Unitária" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Remover Célula &Unitária" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Preencher Célula Unitária" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Envolver Átomos em Célula" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Escalar Volume da Célula Unitária" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Super Célula" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Rodar para Orientação Padrão" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Reduzir à Célula Primitiva" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Tornar Simétrico" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Preencher Célula Unitária" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Reduzir a Unidade Assimétrica" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Ficheiro" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exportar" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Ficheiro de Saída Orca" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensões" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Erro" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problema na leitura do ficheiro traj %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Erro do OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problema na leitura do ficheiro traj %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Abrir Ficheiro WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Abrir Ficheiro WFN" #: qtplugins/apbs/apbsdialog.cpp:103 #, fuzzy msgid "PQR Files (*.pqr)" msgstr "Ficheiros VRML (*wrl)" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Erro" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Guardar Entrada Deck" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Sucesso!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Imagem correctamente guardada em %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Mostrar Várias Ligações" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrogénios" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Bolas e Paus" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Mostra os nomes dos átomos e ligações" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Manipulação Cêntrica da Ligação" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Manipulação Cêntrica da Ligação" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Terminar Átomo" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Remover Hidrogénios" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Construir" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Ligação" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Tolerância para operações simétricas..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 #, fuzzy msgid "Connection failed" msgstr " Falha na seleção" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nome do ficheiro:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "editor coordenadas Cartesiano" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "editor coordenadas Cartesiano" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nome de Ficheiro Inválido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nome do elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Símbolo do elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Símbolo do elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nome de Ficheiro Inválido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Número atómico" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nome de Ficheiro Inválido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Coordenadas Cartesianas:" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Coordenadas Cartesianas:" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Coordenadas Cartesianas:" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Coordenadas Cartesianas:" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Coordenadas Cartesianas:" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Coordenadas Cartesianas:" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Definir Coordenadas Cartesianas" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Ivo Fernandes,Leandro Boscariol,Tiago Silva," "nitrofurano, ,Launchpad Contributions:,Ivo Fernandes, ,Launchpad " "Contributions:,Arrepiadd,Ivo Fernandes, ,Launchpad Contributions:,Arrepiadd," "Frederico Tavares,Geoff Hutchison,Ivo Fernandes,Tiago Silva, ,Launchpad " "Contributions:,Arrepiadd,Avogadro Team,Frederico Tavares,Geoff Hutchison,Ivo " "Fernandes,Tiago Silva, ,Launchpad Contributions:,Arrepiadd,Avogadro Team," "Frederico Tavares,Geoff Hutchison,Ivo Fernandes,Tiago, ,Launchpad " "Contributions:,Arrepiadd,Avogadro Team,Frederico Tavares,Geoff Hutchison,Ivo " "Fernandes,Tiago, ,Launchpad Contributions:,Arrepiadd,Avogadro Team,Frederico " "Tavares,Geoff Hutchison,Ivo Fernandes,Tiago Silva, ,Launchpad Contributions:," "Almufadado,Arrepiadd,Avogadro Team,David Rodrigues,Frederico Tavares,Geoff " "Hutchison,Ivo Fernandes,Nuno Sousa Cerqueira,Tiago Silva, ,Launchpad " "Contributions:,Almufadado,Arrepiadd,Avogadro Team,David Rodrigues,Frederico " "Tavares,Geoff Hutchison,Ivo Fernandes,Nuno Sousa Cerqueira,Tiago Silva, ," "Launchpad Contributions:,Almufadado,Arrepiadd,Avogadro Team,David Rodrigues," "Frederico Tavares,Geoff Hutchison,Ivo Xavier,Nuno Sousa Cerqueira,Tharmas," "Tiago Silva,danielagos, ,Launchpad Contributions:,Almufadado,Arrepiadd," "Avogadro Team,David Rodrigues,Frederico Tavares,Geoff Hutchison,Ivo Xavier," "Manuel Silva,Nuno Sousa Cerqueira,Tharmas,Tiago S.,Tiago S.,Tiago Silva," "danielagos, ,Launchpad Contributions:,Almufadado,Arrepiadd,Avogadro Team," "David Rodrigues,Frederico Tavares,Geoff Hutchison,Ivo Xavier,Manuel Silva," "Nuno Sousa Cerqueira,Tharmas,Tiago S.,Tiago Santos,Tiago Silva,danielagos" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Coordenadas Cartesianas:" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Coordenadas Cartesianas:" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Informação GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Informação GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Personalizado:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Não foi colocado formato: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Não foi colocado formato: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "I&mportar Cristal da Área de Transferência..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Preencher Célula Unitária" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Preencher Célula Unitária" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Envolver Átomos em Célula" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Rodar para Orientação Padrão" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Redimensionar Célula para &Volume..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Super Célula" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Reduzir Célula (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Cristal..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Remover Célula &Unitária" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Adicionar Célula &Unitária" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Esta célula já está reduzida para sua representação canónica de Niggli." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Cristal..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Mostra os nomes dos átomos e ligações" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Cor por Elemento" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Desenhar" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Desenhar o Átomo" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Modificar a Ordem de Ligação" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Remover Átomo" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distância" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distância (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Outro..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Auto-optimização" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Simples" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Duplo" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Triplo" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Programas" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problema na leitura do ficheiro traj %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Gerador de dados..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Entrada Deck GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Ponto de Inflexão" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Geometria de Equilíbrio" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Estado de Transição" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frequências" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Potencial Nuclear" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Água" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singleto" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Dupleto" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Tripleto" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anião" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianião" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Entrada Deck GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Abortar cálculo" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Ajustar os Hidrogénios" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Adicionar Hidrogênios" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Remover Hidrogénios" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Remover Hidrogénios" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrogénios" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidrogénios" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importar" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Mostra os nomes dos átomos e ligações" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Inserir" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Sem Descrição" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molécula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Gerar..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipular" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipular o Átomo" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Medida" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Ângulo:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Ângulo:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Medida" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Processa malhas moleculares de isosuperfícies" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Ver" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Propriedades Moleculares" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navegar" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navegar" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nome Químico" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Estrutura química para download." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Falhou a Descarga da Rede" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Timeout da rede ou outro erro." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "A molécula especificada não pode ser encontrada: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Falhou a Descarga da Rede" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimizar Geometria" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Optimização da geometria" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Percepção do Grupo Espacial" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Adicionar Hidrogênios" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Adicionar Hidrogénios ao pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Remover Hidrogénios" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "A leitura da molécula do ficheiro '%1' falhou." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Ocorreu um problema ao guardar o ficheiro %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimizar Geometria" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Gerar..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Trajectória do ficheiro %1 inconsistente com o número de átomos presentes na " "molécula" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimizar Geometria" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Adicionar Hidrogênios" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "A gerar entrada Orca..." #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Adicionar Hidrogénios ao pH..." #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Remover Hidrogénios" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Parar" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parâmetros:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Ligações Dinâmicas" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Parar" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Exportart Gráficos Vectoriais" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Não foi possível ler o arquivo %1" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Erro" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Guardar Ficheiro de Vídeo" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Desenha primitivas utilizando propriedades QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Gráfico Molecular..." #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Gráfico Molecular com Pares Isolados..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Carga Atómica..." #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensões" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Abrir Ficheiro WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Arquivos WFN (*.wfn);;Todos os ficheiros (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Extensão QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Criar ficheiros de dados para aplicações de química quântica" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calculando Densidade Electrónica" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calculando Densidade Electrónica" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calcular orbitais moleculares e outras superfícies" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "OM %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Reiniciar" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Criação de ficheiros de input" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Eliminar tudo" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Selecção" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Inverter a Selecção" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Selecções" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Seleccionar" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Seleccionar" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Selecção" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Selecção" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Percepção do Grupo Espacial" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "Tornar Simétrico" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Reduzir a Unidade Assimétrica" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Tolerância:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Espaço&grupo" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Percepção do Grupo Espacial falhou.\n" "Deseja tentar novamente com uma tolerância diferente ?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Percepção do Grupo Espacial falhou.\n" "Deseja tentar novamente com uma tolerância diferente ?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Percepção do Grupo Espacial falhou.\n" "Deseja tentar novamente com uma tolerância diferente ?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Percepção do Grupo Espacial falhou.\n" "Deseja tentar novamente com uma tolerância diferente ?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Selecione a tolerância nas unidades cartesianas atuais:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Internacional" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Definir Grupo Espacial" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Espaço&grupo" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrações" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Visualização de Espectro" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Mostrar coordenadas &fraccionais" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tipo" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Elemento" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "Propriedades da Simetria..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Simetria" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Propriedades da Simetria" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Mostra os momentos dipolares das moléculas" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "∞" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "VRML" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Modelo de Arame" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Mostra as moléculas como varetas" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Formulário" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Configurações de Seleção" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Abortar cálculo" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processadores:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Esconder quando finalizado" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Esconder quando finalizado" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Modificar o Elemento" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Input File do tipo Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "A gerar entrada Orca..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Campo de Força:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Input File do tipo Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Guardar Entrada Deck" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Sucesso!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Estrutura:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Carregar Ficheiro..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Definições de medida" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navegar" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navegar" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navegar" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nome do ficheiro:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "Aceitar" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Cancelar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "editor coordenadas Cartesiano" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Reiniciar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distância" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Ångström" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Aplicar" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parâmetros:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Esconder &Editores" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matriz-Z" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Mostrar matriz &fraccional" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Traduzir Átomos" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Ocultar" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Escalar Volume da Célula Unitária" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Inserir novo volume:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Factor da Escala de Frequências:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Elemento:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Ordem de Ligação:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Em:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Com:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Carga:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nome do ficheiro:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Apagar todos" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Carregar Ficheiro..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nome" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formato:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Sem Descrição" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Massa Molecular (g/mol)" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Fórmula Química:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Número de Átomos:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Número de Ligações:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Optimização da geometria" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimização" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Campo de Força:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimização" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Descida Inclinada" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Conjugar os Gradientes" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutoRotação" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isosuperfície = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potencial Electrostático" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "incrementos" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Critério de Convergência do Gradiente" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergência" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Tempo Limite:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Número de Ligações:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Comprimento de onda (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Remover itens seleccionados" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacidade:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Médio" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Baíxo" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Alto" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calcular" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrações" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Iniciar &Animação" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Parar &Animação" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molécula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Simetria" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Opções" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Propriedades da Simetria" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Espaço&grupo" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "Tolerância:" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "Justo" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "Solto" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "Detetar Simetria" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Ivo Fernandes,Leandro Boscariol,Tiago Silva," "nitrofurano, ,Launchpad Contributions:,Ivo Fernandes, ,Launchpad " "Contributions:,Arrepiadd,Ivo Fernandes, ,Launchpad Contributions:,Arrepiadd," "Frederico Tavares,Geoff Hutchison,Ivo Fernandes,Tiago Silva, ,Launchpad " "Contributions:,Arrepiadd,Avogadro Team,Frederico Tavares,Geoff Hutchison,Ivo " "Fernandes,Tiago Silva, ,Launchpad Contributions:,Arrepiadd,Avogadro Team," "Frederico Tavares,Geoff Hutchison,Ivo Fernandes,Tiago, ,Launchpad " "Contributions:,Arrepiadd,Avogadro Team,Frederico Tavares,Geoff Hutchison,Ivo " "Fernandes,Tiago, ,Launchpad Contributions:,Arrepiadd,Avogadro Team,Frederico " "Tavares,Geoff Hutchison,Ivo Fernandes,Tiago Silva, ,Launchpad Contributions:," "Almufadado,Arrepiadd,Avogadro Team,David Rodrigues,Frederico Tavares,Geoff " "Hutchison,Ivo Fernandes,Nuno Sousa Cerqueira,Tiago Silva, ,Launchpad " "Contributions:,Almufadado,Arrepiadd,Avogadro Team,David Rodrigues,Frederico " "Tavares,Geoff Hutchison,Ivo Fernandes,Nuno Sousa Cerqueira,Tiago Silva, ," "Launchpad Contributions:,Almufadado,Arrepiadd,Avogadro Team,David Rodrigues," "Frederico Tavares,Geoff Hutchison,Ivo Xavier,Nuno Sousa Cerqueira,Tharmas," "Tiago Silva,danielagos, ,Launchpad Contributions:,Almufadado,Arrepiadd," "Avogadro Team,David Rodrigues,Frederico Tavares,Geoff Hutchison,Ivo Xavier," "Manuel Silva,Nuno Sousa Cerqueira,Tharmas,Tiago S.,Tiago S.,Tiago Silva," "danielagos, ,Launchpad Contributions:,Almufadado,Arrepiadd,Avogadro Team," "David Rodrigues,Frederico Tavares,Geoff Hutchison,Ivo Xavier,Manuel Silva," "Nuno Sousa Cerqueira,Tharmas,Tiago S.,Tiago Santos,Tiago Silva,danielagos" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,ivofernandes12@gmail.com,,,,,,ivofernandes12@gmail.com,,,," "ivofernandes12@gmail.com,,,,,,ivofernandes12@gmail.com,,,,,avogadro-" "devel@lists.sourceforge.net,,,ivofernandes12@gmail.com,,,,,avogadro-" "devel@lists.sourceforge.net,,,ivofernandes12@gmail.com,,,,,avogadro-" "devel@lists.sourceforge.net,,,ivofernandes12@gmail.com,,,,,avogadro-" "devel@lists.sourceforge.net,,,ivofernandes12@gmail.com,,,,,,avogadro-" "devel@lists.sourceforge.net,david.rodrigues@gmail.com,,,ivofernandes12@gmail." "com,,,,,,,avogadro-devel@lists.sourceforge.net,david.rodrigues@gmail.com,,," "ivofernandes12@gmail.com,,,,,,,avogadro-devel@lists.sourceforge.net,david." "rodrigues@gmail.com,,,ivofernandes12@gmail.com,,,,danielagostinho@sapo." "pt,,,,,avogadro-devel@lists.sourceforge.net,david.rodrigues@gmail.com,,," "ivoxavier.8@gmail.com,manuel.n.silva@gmail.com,,,,,,danielagostinho@sapo." "pt,,,,,avogadro-devel@lists.sourceforge.net,david.rodrigues@gmail.com,,," "ivoxavier.8@gmail.com,manuel.n.silva@gmail.com,,,,,,danielagostinho@sapo.pt" #~ msgid "Color by Index" #~ msgstr "Cor por índice" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Cor por índice (vermelho, laranja, amarelo, verde, azul, violeta)." #~ msgid "Color by Partial Charge" #~ msgstr "Cor por carga parcial" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Cor por carga atómica parcial (azul = positivo, vermelho = negativo)." #~ msgid "Custom Color:" #~ msgstr "Cor Personalizada:" #~ msgid "Custom Color" #~ msgstr "Cor Personalizada" #~ msgid "Set custom colors for objects" #~ msgstr "Definir cor personalizada para objectos" #~ msgid "Color by Distance" #~ msgstr "Cor por distância" #~ msgid "Color by distance from the first atom." #~ msgstr "Cor conforme a distância ao primeiro átomo" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Cor por elemento (carbono = cinzento, oxigénio = vermelho, ...)." #~ msgid "Color by Residue" #~ msgstr "Cor por resíduo" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Cor por resíudo (tipo de aminoácido, hidrofobicidade, ...)" #~ msgid "SMARTS Pattern:" #~ msgstr "Padrão SMARTS" #~ msgid "Highlight Color:" #~ msgstr "Cor de realce:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Cor por padrão SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "" #~ "Realçar funcionalidades particulares que coincidem com o padrão SMARTS." #~ msgid "Ununtrium" #~ msgstr "Ununtrio" #~ msgid "Ununpentium" #~ msgstr "Ununpentio" #~ msgid "Ununseptium" #~ msgstr "Ununséptio" #~ msgid "Ununoctium" #~ msgstr "Ununóctio" #~ msgid "Engines" #~ msgstr "Motores" #~ msgid "Axes" #~ msgstr "Eixos" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Mostra os eixos x, y e z na origem" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Mostra as primitivas utilizando Bolas (átomos) e varetas (ligações)" #~ msgid "Cartoon" #~ msgstr "Desenho animado" #~ msgid "Renders protein secondary structure" #~ msgstr "Mostra a estrutura secundária da proteína" #~ msgid "Dipole" #~ msgstr "Dipolo" #~ msgid "Force" #~ msgstr "Força" #~ msgid "Renders force displacements on atoms" #~ msgstr "Processa a força de deslocamento dos átomos" #~ msgid "Hydrogen Bond" #~ msgstr "Ponte de Hidrogénio" #~ msgid "Renders hydrogen bonds" #~ msgstr "Mostra as pontes de hidrogénio" #~ msgid "Select Atom Labels Color" #~ msgstr "Seleccionar a cor dos símbolos dos átomos" #~ msgid "Select Bond Labels Color" #~ msgstr "Seleccionar Cor do Texto da Ligação Química" #~ msgid "Select Atom Labels Font" #~ msgstr "Seleccionar Fonte de Texto dos Átomos" #~ msgid "Select Bond Labels Font" #~ msgstr "Seleccionar Fonte de Texto da Ligação Química" #~ msgid "Label" #~ msgstr "Nome" #~ msgid "Polygon" #~ msgstr "Polígono" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Mostra os átomos como tetraedros, octaedros e outros polígonos" #~ msgid "Ribbon" #~ msgstr "Fita" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Mostra o esqueleto da proteína como fita" #~ msgid "Ring" #~ msgstr "Anel" #~ msgid "Renders rings with colored planes" #~ msgstr "Mostra os anéis com planos coloridos" #~ msgid "Simple Wireframe" #~ msgstr "Linha simples" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Mostra as ligações como linhas, ideal para moléculas grandes" #~ msgid "Van der Waals Spheres" #~ msgstr "Esferas de Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Mostra os átomos como esferas de Van der Waals" #~ msgid "Stick" #~ msgstr "Vareta" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Densidade electrónica, isosuperfície = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosuperfície = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Mostra as ligações como linhas, ideal para (bio)moléculas muito grandes" #~ msgid "Trajectory files" #~ msgstr "Ficheiros de trajectorias" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Ficheiros DL-POLY HISTORY" #~ msgid "Open Trajectory File" #~ msgstr "Abrir Ficheiro de Trajectoria" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "ficheiros de vídeo (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Adicionar extensão .avi" #~ msgid "Animation..." #~ msgstr "Animação..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Não foi possível ler o formato do arquivo %1" #~ msgid "Read trajectory file %1 failed." #~ msgstr "Leitura do ficheiro de trajectória %1 falhou." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Deve especificar um nome válido para o ficheiro .avi" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "Aplicativo GL não foi correctamente iniciado para guardar vídeo" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Nome de ficheiro de vídeo inválido. Deve incluir o caminho de directório " #~ "completo." #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Nome de ficheiro de vídeo inválido. Deve incluir o caminho de directório " #~ "completo, terminando com .avi." #~ msgid "Could not determine format from filename: %1" #~ msgstr "Não foi possível determinar o formato do ficheiro: %1" #~ msgid "Animation" #~ msgstr "Animação" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animar trajectórias, reacções e vibrações." #~ msgid "Cartesian Editor" #~ msgstr "Editor Cartesiano" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Sem células unitárias definidas para a molécula -- não pode usar " #~ "coordenadas fraccionárias." #~ msgid "Cartesian Editor..." #~ msgstr "Editor Cartesiano" #~ msgid "Cartesian editor" #~ msgstr "editor Cartesiano" #~ msgid "Number of atoms: %1" #~ msgstr "Número de átomos: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Número de ligações rotacionais: %1" #~ msgid "Add constraint" #~ msgstr "Adicionar restrição" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "A molécula deve conter pelo menos um átomo para poder adicionar uma " #~ "restrição." #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "A molécula deve conter pelo menos dois átomos para poder adicionar uma " #~ "restrição à ligação." #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "A molécula deve conter pelo menos quatro átomos para poder adicionar uma " #~ "restrição à torção." #~ msgid "&Crystallography" #~ msgstr "&Cristalografia" #~ msgid "&Reduce" #~ msgstr "&Reduzir" #~ msgid "&Settings" #~ msgstr "&Configurações" #~ msgid "&Length Unit" #~ msgstr "Unidade de &Comprimento" #~ msgid "&Angle Unit" #~ msgstr "Unidade de &Ângulo" #~ msgid "&Coordinate Display" #~ msgstr "Mostrar &Coordenada" #~ msgid "Coordinate &Preservation" #~ msgstr "&Preservação de Coordenada" #~ msgid "&Matrix Display" #~ msgstr "Mostrar &Matrix" #~ msgid "Show &Editors" #~ msgstr "Mostrar &Editores" #~ msgid "Hide &Property Display" #~ msgstr "Esconder Tela de &Propriedades" #~ msgid "Show &Property Display" #~ msgstr "Mostrar Tela de &Propriedades" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Tipo de Rede: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Grupo espacial de simetria: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Unidade de volume da célula: %L1%2" #~ msgid "Undefined" #~ msgstr "Indefinido" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triclínico" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoclínico" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortorrômbico" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonal" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Romboédrico" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hexagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Cúbico" #~ msgid "Paste Crystal" #~ msgstr "Colar Cristal" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Falha na redução Niggli. A estrutura de entrada está a confundir o " #~ "algoritmo de redução Niggli. Tente fazer uma pequena perturbação (cerca " #~ "de duas ordens de magnitude menor do que a tolerância) para a entrada de " #~ "reticulados e tente novamente." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Falha ao reduzir célula após 1000 iterações do algoritmo de redução. A " #~ "interromper." #~ msgid "&Translate Atoms..." #~ msgstr "&Traduzir Átomos..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Rodar para &Orientação Padrão" #~ msgid "&Slab..." #~ msgstr "&Fatiar" #~ msgid "Perceive Space&group..." #~ msgstr "Percepção do &Grupo Espacial..." #~ msgid "Set &Spacegroup..." #~ msgstr "Definir &Grupo espacial" #~ msgid "&Fill Unit Cell" #~ msgstr "&Preencher Célula Unitária" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "" #~ "&Preencher a célula unitária usando o grupo espacial de simetria actual." #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Reduzir à Unidade &Assimétrica" #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Si&metrizar Cristal" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Reduzir Célula (&Primitiva)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanómetro" #~ msgid "&Picometer" #~ msgstr "&Picómetro" #~ msgid "&Degree" #~ msgstr "&Graus" #~ msgid "&Radian" #~ msgstr "&Radianos" #~ msgid "Display &cartesian coordinates" #~ msgstr "Mostrar coordenadas &cartesianas" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Preservar Coordenadas &Cartesianas Durante Modificação da Célula" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Preservar Coordenadas &Fraccionais Durante a Modificação da Célula" #~ msgid "Display &cartesian matrix" #~ msgstr "Mostrar matrix &cartesiano" #~ msgid "Display as &row vectors" #~ msgstr "Mostrar como vetores em &linha" #~ msgid "Display as &column vectors" #~ msgstr "Mostrar como vetores &colunares" #~ msgid "&Crystal View Options..." #~ msgstr "Opções de Visualização de &Cristais..." #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Não existe um grupo espacial definido para este documento.\n" #~ "\n" #~ "Deseja definir um grupo espacial agora?" #~ msgid "Symmetrize Crystal" #~ msgstr "Simetrizar Cristal" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Condensar Átomos Para Célula" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Reduzir a Célula de Niggli" #~ msgid "Crystallography" #~ msgstr "Cristalografia" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Construir e analisar estruturas periódicas." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "A entrada não está formatada como um\n" #~ "dos seguintes formatos suportados:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Formato VASP\n" #~ msgid "Cartesian Coordinates" #~ msgstr "Coordenadas Cartesianas" #~ msgid "Fractional Coordinates" #~ msgstr "Coordenadas Fraccionais" #~ msgid "Set Fractional Coordinates" #~ msgstr "Definir Coordenadas Fracionais" #~ msgid "Set Unit Cell Params" #~ msgstr "Definir Parâmetros da Célula Unitária" #~ msgid "Working..." #~ msgstr "A Processar..." #~ msgid "Build" #~ msgstr "Construir" #~ msgid "Cut Slab From Crystal" #~ msgstr "Cortar Placa do Cristal" #~ msgid "No GLWidget?" #~ msgstr "Sem GLWidget?" #~ msgid "Please select one or more atoms." #~ msgstr "Por favor, escolher um ou mais átomos." #~ msgid "Trajectory..." #~ msgstr "Trajectória..." #~ msgid "Open chemical file format" #~ msgstr "Abrir ficheiro do formato químico" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Ficheiros químicos (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Abrir ficheiro de parâmetros" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Ficheiros químicos (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importar trajectória" #~ msgid "Import trajectory files" #~ msgstr "Importar ficheiros de trajectória" #~ msgid "Setup Force Field..." #~ msgstr "Definir Campo de Força..." #~ msgid "Calculate Energy" #~ msgstr "Calcular energia" #~ msgid "Conformer Search..." #~ msgstr "Procurar conformação..." #~ msgid "Constraints..." #~ msgstr "Restrições..." #~ msgid "Ignore Selection" #~ msgstr "Ignorar selecção" #~ msgid "Fix Selected Atoms" #~ msgstr "Corrigir átomos seleccionados" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mecanismos moleculares" #~ msgid "Energy = %L1 %2" #~ msgstr "Energia = %L1 %2" #~ msgid "Forcefield Optimization" #~ msgstr "Optimização do Campo de Força" #~ msgid "Systematic Rotor Search" #~ msgstr "Busca Sistemática de Rotores" #~ msgid "Random Rotor Search" #~ msgstr "Busca Aleatória de Rotores" #~ msgid "Weighted Rotor Search" #~ msgstr "Busca Ponderada de Rotores" #~ msgid "Genetic Algorithm Search" #~ msgstr "Busca de Algoritmo Genético" #~ msgid "ForceField" #~ msgstr "Campo de Força" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimizar moléculas e gerar conformações, usando campos de força molecular" #~ msgid "&Vector Graphics..." #~ msgstr "Gráficos &Vectoriais..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Formatos de imagem vectorial comuns" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Exportar gráfico vetorial" #~ msgid "Change H to Methyl" #~ msgstr "Mudar H para Metilo." #~ msgid "H to Methyl" #~ msgstr "H para Metilo" #~ msgid "H2Methyl" #~ msgstr "H2Metilo" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transformar hidrogénios em grupos metilo" #~ msgid "Add or remove hydrogens" #~ msgstr "Adicionar ou remover hidrogénios" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "Inserir ADN" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Uracilo" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Timina" #~ msgid "Insert DNA/RNA" #~ msgstr "Inserir ADN/ARN" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Inserir cadeias de ADN/ARN" #~ msgid "Cannot read molecular file %1." #~ msgstr "Não é possível ler ficheiro molecular %1" #~ msgid "Fragment..." #~ msgstr "Fragmento..." #~ msgid "Insert SMILES" #~ msgstr "Inserir SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Inserir fragmento SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Inserir fragmento" #~ msgid "Insert Crystal" #~ msgstr "Inserir Cristal" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Inserir fragmentos moleculares para construir moléculas maiores" #~ msgid "Peptide..." #~ msgstr "Peptídeo" #~ msgid "Insert Peptide" #~ msgstr "Inserir Peptídeo" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Inserir sequências oligopeptídeas" #~ msgid "Invert Chirality" #~ msgstr "Inverter Quiralidade" #~ msgid "Invert chiral centers" #~ msgstr "Inverter centros quirais" #~ msgid "Molecule Properties..." #~ msgstr "Propriedades da Molécula..." #~ msgid "&Properties" #~ msgstr "&Propriedades" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "desconhecido" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Momento Dipolo (D) Estimado:" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(pendente)" #~ msgid "Display standard molecular properties." #~ msgstr "Mostra as propriedades moleculares padrão." #~ msgid "Fetch from PDB..." #~ msgstr "Adquirir estrutura do PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Procura pelo nome químico..." #~ msgid "Fetch from URL..." #~ msgstr "Procurando a partir do URL..." #~ msgid "PDB Entry" #~ msgstr "Entrada PDB" #~ msgid "PDB entry to download." #~ msgstr "Entrada PDB a descarregar." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL da molécula para download." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "A molécula especificada não pode ser carregada: %1" #~ msgid "Network Fetch" #~ msgstr "Procura de Rede" #~ msgid "Fetch molecule files over the network." #~ msgstr "Procurando ficheiros de moléculas através da rede." #~ msgid " No vibration data found!" #~ msgstr " Nenhum dadod de vibração encontrado!" #~ msgid " No vibration data found or molecule changed outside Orca Plugin!" #~ msgstr "" #~ " Nenhum dado de vibração encontrado ou a molécula mudou para fora do " #~ "complemento Orca!" #~ msgid "extended Geometry File" #~ msgstr "Ficheiro de Geometria Extendida" #~ msgid "All Files" #~ msgstr "Todos os Ficheiros" #~ msgid "Read Orca Outputfile" #~ msgstr "Ler Ficheiro de Saída Orca" #~ msgid "no file found" #~ msgstr "nenhum ficheiro encontrado" #~ msgid "Somethings wrong in the file structure" #~ msgstr "Algo está errado com a estrutura do ficheiro" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "Algo está errado com a estrutura do ficheiro - unitcells" #~ msgid "Something is wrong in the IR output! " #~ msgstr "Algo está errado com a saída IR! " #~ msgid "Something is wrong in the raman output! " #~ msgstr "Algo está errado com a saída raman! " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "Algo está errado com a saída de energia orbital! " #~ msgid "No geometry found in file!" #~ msgstr "Nenhum ficheiro de geometria encontrado!" #~ msgid "Could not read file!" #~ msgstr "Não foi possível ler o ficheiro!" #~ msgid "Analyse Orca Output..." #~ msgstr "A analisar a saída Orca..." #~ msgid "&Orca" #~ msgstr "&Orca" #~ msgid "Orca Test Example" #~ msgstr "Exemplo Teste Orca" #~ msgid "Provides a dialog box with the words \"H...\"." #~ msgstr "Apresenta uma caixa de diálogo \"H...\"" #~ msgid "ORCA Input Deck" #~ msgstr "Entrada Deck ORCA" #~ msgid "Show Preview" #~ msgstr "Mostrar a Antevisão" #~ msgid "Hide Preview" #~ msgstr "Esconder a Antevisão" #~ msgid "Intensities" #~ msgstr "Intensidades" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Gravar a imagem renderizada no formato POV-RAY" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Ficheiros de imagem (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Não foi fornecido o nome do ficheiro." #~ msgid "No valid filename was supplied." #~ msgstr "O nome do ficheiro fornecido não é válido." #~ msgid "Does not compute." #~ msgstr "Não é possível calcular." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Não pediu nenhuma renderização direta utilizando POV-Ray nem pediu para " #~ "manter o ficheiro do POV-Ray. Isso resultará que nenhuma saída será " #~ "guardada. Tem certeza de que é isso que quer?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Não é possível guardar o ficheiro %1. Tem permissões para guardar o " #~ "ficheiro nessa localização?" #~ msgid "POV-Ray failed to start." #~ msgstr "Não foi possível inicializar o programa POV-RAY." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray não conseguiu iniciar corretamente. Verifique s o caminho do " #~ "executável está correto." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Criar ficheiros POV-Ray e renderizá-los utilizando a linha de comandos do " #~ "programa POV-Ray." #~ msgid "Atom Properties..." #~ msgstr "Propriedades do átomo..." #~ msgid "Bond Properties..." #~ msgstr "Propriedades da ligação..." #~ msgid "Angle Properties..." #~ msgstr "Propriedades do ângulo..." #~ msgid "Torsion Properties..." #~ msgstr "Propriedades de torsão..." #~ msgid "Conformer Properties..." #~ msgstr "Propriedades de conformação..." #~ msgid "Atom Properties" #~ msgstr "Propriedades do átomo" #~ msgid "Bond Properties" #~ msgstr "Propriedades da ligação" #~ msgid "Angle Properties" #~ msgstr "Propriedades do ângulo" #~ msgid "Torsion Properties" #~ msgstr "Propriedades da torsão" #~ msgid "Conformer Properties" #~ msgstr "Propriedades da conformação" #~ msgid "Properties" #~ msgstr "Propriedades" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Janelas para visualizar as propriedades do átomo, ligação, ângulo e " #~ "torsão. Inclui ainda um editor de coordenadas cartesianas." #~ msgid "Valence" #~ msgstr "Valência" #~ msgid "Partial Charge" #~ msgstr "Carga Parcial" #~ msgid "Atom" #~ msgstr "Átomo" #~ msgid "Rotatable" #~ msgstr "Rotacional" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Confôrmero %1\n" #~ "Tamanho %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Comprimento %1" #~ msgid "Vertex" #~ msgstr "Vertex" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Confôrmero %1\n" #~ "Ângulo %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Ângulo %1" #~ msgid "Angle" #~ msgstr "Ângulo" #~ msgid "Atom %1" #~ msgstr "Átomo %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Confôrmero %1\n" #~ "Torsão %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torsão %1" #~ msgid "Torsion" #~ msgstr "Torção" #~ msgid "Energy (kJ/mol)" #~ msgstr "Energia (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Conformação" #~ msgid "Yes" #~ msgstr "Sim" #~ msgid "No" #~ msgstr "Não" #~ msgid "Python Terminal" #~ msgstr "Terminal Python" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Consola Interativo do Python" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Entrada Deck Abinit" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Quer atualizar o texto, perdendo todas as alterações feitas no painel de " #~ "previsão da entrada deck abinit?" #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Gostaria de actualizar o texto prévio, perdendo todas as mudanças feitas " #~ "no ficheiro de entrada de dados Dalton?" #~ msgid "QM Matches" #~ msgstr "Resultados para MQ" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Selecção EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Selecção QM" #~ msgid "Delete" #~ msgstr "Apagar" #~ msgid "You must make a selection!" #~ msgstr "Deve fazer uma selecção!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Conversão SMILES indisponível" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Conversão para o formato SMILES não disponível!" #~ msgid "Group Name" #~ msgstr "Nome do Grupo" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "" #~ "Criar ficheiros de dados para a aplicação de química quântica GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Definições Avançadas Alteradas" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "As definições avançadas foram alteradas.\n" #~ "Ignorar?" #~ msgid "Advanced Settings Reset" #~ msgstr "Anular Definições Avançadas" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Tem a certeza que deseja anular as definições avançadas?\n" #~ "Todas as mudançãs serão perdidas!" #~ msgid "Basic Settings Reset" #~ msgstr "Anular Definições Básicas" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Tem a certeza que quer anular todas as definições básicas?\n" #~ "Todas as mudanças serão perdidas!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Entrada Deck GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Quer atualizar o texto, perdendo todas as alterações feitas no painel de " #~ "previsão da entrada deck GAMESS-UK?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Entrada Deck GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Entrada Deck Gaussiana" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Quer atualizar o texto, perdendo todas as alterações feitas no painel de " #~ "previsão da entrada deck Gaussiana?" #~ msgid "Gaussian Input Deck" #~ msgstr "Entrada Deck Gaussiana" #~ msgid "Gaussian Running." #~ msgstr "Executando Gaussian." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian já está em funcionamento. Aguarde até que o cálculo tenha " #~ "terminado." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian Não Instalado." #~ msgid "The G03 executable, cannot be found." #~ msgstr "O executável G03 não foi encontrado." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 não consegue iniciar. Poderá não estar correctamente instalado." #~ msgid "Running Gaussian calculation..." #~ msgstr "Executando cálculo Gaussian..." #~ msgid "G03 Crashed." #~ msgstr "G03 falhou." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian não consegue ser correctamente executado. Poderá não estar " #~ "correctamente instalado." #~ msgid "&Abinit..." #~ msgstr "&Abinit..." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussiano..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO" #~ msgid "M&OPAC..." #~ msgstr "M&OPAC" #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Lammps Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Entrada Deck Lammps" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Quer atualizar o texto, perdendo todas as alterações feitas no painel de " #~ "previsão da entrada deck Lammps?" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Entrada Deck Lammps Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Quer atualizar o texto, perdendo todas as alterações feitas no painel de " #~ "previsão da entrada deck Molpro?" #~ msgid "Molpro Input Deck" #~ msgstr "Entrada Deck Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Alerta da Entrada MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Quer atualizar o texto, perdendo todas as alterações feitas no painel de " #~ "previsão da entrada deck MOPAC?" #~ msgid "MOPAC Input Deck" #~ msgstr "Entrada Deck MOPAC" #~ msgid "MOPAC Running." #~ msgstr "MOPAC em execução." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "MOPAC já está em execução. Aguarde até que o cálculo tenha terminado." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC Não Instalado." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "O executável MOPAC não foi encontrado." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC falhou em iniciar." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC não consegue iniciar. Poderá não estar correctamente instalado." #~ msgid "Running MOPAC calculation..." #~ msgstr "Executando o cálculo MOPAC..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC falhou." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC não foi executado correctamente. Poderá não estar correctamente " #~ "instalado." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Entrada Deck Lammps NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Quer atualizar o texto, perdendo todas as alterações feitas no painel de " #~ "previsão da entrada deck NWChem?" #~ msgid "NWChem Input Deck" #~ msgstr "Entrada Deck NWChem" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Entrada Deck Psi4" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "Quer atualizar o texto, perdendo todas as alterações feitas no painel de " #~ "previsão da entrada deck Psi4?" #~ msgid "Psi4 Input Deck" #~ msgstr "Entrada Deck Psi4" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Entrada Deck Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Quer atualizar o texto, perdendo todas as alterações feitas no painel de " #~ "previsão da entrada deck Q-Chem?" #~ msgid "QChem Input Deck" #~ msgstr "Entrada Deck QChem" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Entrada Deck TeraChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Quer atualizar o texto, perdendo todas as alterações feitas no painel de " #~ "previsão da entrada deck TeraChem?" #~ msgid "TeraChem Input Deck" #~ msgstr "Entrada Deck TeraChem" #~ msgid "Select SMARTS..." #~ msgstr "Seleccionar SMARTS..." #~ msgid "Select by Element..." #~ msgstr "Seleccionar por elemento..." #~ msgid "Select by Residue..." #~ msgstr "Seleccionar por Resíduo..." #~ msgid "Add Named Selection..." #~ msgstr "Adicionar seleção nomeada..." #~ msgid "SMARTS Selection" #~ msgstr "Selecção SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Seleccionar padrões SMART" #~ msgid "Select by residue" #~ msgstr "Seleccionar por resíduo" #~ msgid "Residue name" #~ msgstr "Nome do resíduo" #~ msgid "There is no current selection." #~ msgstr "Nenhuma selecção escolhida." #~ msgid "Add Named Selection" #~ msgstr "Adicionar Seleção Nomeada" #~ msgid "Name cannot be empty." #~ msgstr "O campo Nome não pode estar vazio." #~ msgid "There is already a selection with this name." #~ msgstr "Já existe uma selecção com este nome." #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Seleccionar átomos, ligações, resíduos..." #~ msgid "GLSL Shaders..." #~ msgstr "Shaders GLSL..." #~ msgid "Open a vertex shader source file" #~ msgstr "Abrir um ficheiro de textura Vertex" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Ficheiros vertex shader (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Abrir um ficheiro de textura fragmento" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Ficheiro de textura fragmento (*.frag)" #~ msgid "GLSL Shaders" #~ msgstr "Sombreadores GLSL" #~ msgid "Intensity (arb. units)" #~ msgstr "Intensidade (unidades arb.)" #~ msgid "Energy (eV)" #~ msgstr "Energia (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Densidade dos Estados (estados/célula)" #~ msgid "Density of States (states/atom)" #~ msgstr "Densidade dos Estados (estados/átomo)" #~ msgid "Transmittance (%)" #~ msgstr "Transmitância (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorvância (%)" #~ msgid "No intensities" #~ msgstr "Sem intensidades." #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Os dados de vibração da molécula que foram carregados não possuem " #~ "intensidade de dados suficiente. Foram atribuídos valores arbitrários de " #~ "intensidade para permitir a visualização." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Frequência (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Fase (ppm)" #~ msgid "Activity" #~ msgstr "Atividade" #~ msgid "Intensity" #~ msgstr "Intensidade" #~ msgid "X Axis" #~ msgstr "Eixo XX" #~ msgid "Y Axis" #~ msgstr "Eixo YY" #~ msgid "&Appearance" #~ msgstr "%Aspecto" #~ msgid "E&xport Image" #~ msgstr "E&xportar imagem" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infravermelho" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Definições do Espectro &Infravermelho" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "Definições do Espectro &NMR" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "Definições &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "Definições &CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "Definições &Raman" #~ msgid "No data" #~ msgstr "Sem dados" #~ msgid "Dark" #~ msgstr "Escuro" #~ msgid "Light" #~ msgstr "Claro" #~ msgid "Publication" #~ msgstr "Publicação" #~ msgid "Handdrawn" #~ msgstr "Desenhado manualmente" #~ msgid "New Scheme" #~ msgstr "Novo Esquema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Confirme remoção do esquema" #~ msgid "Really remove current scheme?" #~ msgstr "Quer mesmo remover o esquema actual?" #~ msgid "Change Scheme Name" #~ msgstr "Mudar o nome do esquema" #~ msgid "Enter new name for current scheme:" #~ msgstr "Digite novo nome para o esquema." #~ msgid "Select Background Color" #~ msgstr "Selecionar cor de fundo" #~ msgid "Select Foreground Color" #~ msgstr "Selecione cor de primeiro plano" #~ msgid "Export Calculated Spectrum" #~ msgstr "Exportar o espectro calculado" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Valores separados por vírgulas (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Valores separados por vírgulas" #~ msgid "Comma Separated Values" #~ msgstr "Valores separados por vírgulas" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importar espectro" #~ msgid "Spectra Import" #~ msgstr "Importar Espectro" #~ msgid "Unknown extension: %1" #~ msgstr "Extensão desconhecida: %1" #~ msgid "Data Format" #~ msgstr "Formato dos Dados" #~ msgid "Load Spectral Data" #~ msgstr "Carregando Dados do Espectro" #~ msgid "Portable Network Graphics" #~ msgstr "Formato PNG" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Formato TIFF" #~ msgid "Windows Bitmap" #~ msgstr "Imagem do Windows" #~ msgid "Portable Pixmap" #~ msgstr "Pixmap portátil" #~ msgid "X11 Bitmap" #~ msgstr "Bitmap X11" #~ msgid "X11 Pixmap" #~ msgstr "Pixmap X11" #~ msgid "Save Spectra Image" #~ msgstr "Guardar Imagem do Espectro" #~ msgid "&Advanced <<" #~ msgstr "&Avançado <<" #~ msgid "&Advanced >>" #~ msgstr "&Avançado >>" #~ msgid "&Spectra..." #~ msgstr "E&spectro..." #~ msgid "Spectra" #~ msgstr "Espectro" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "" #~ "Visualizar dados do espectro a partir de cálculos químicos quânticos" #~ msgid "Vibrational Analysis" #~ msgstr "Análise Vibracional" #~ msgid "Vibration" #~ msgstr "Vibração" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "" #~ "Visualizar os modos vibracionais a partir de cálculos químicos quânticos" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Ordenado %1 vibrações por frequência..." #~ msgid "Pause" #~ msgstr "Pausa" #~ msgid "Super Cell Builder..." #~ msgstr "Construtor de Super Célula" #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Este documento é, actualmente, uma molécula isolada. Necessita de criar " #~ "uma célula unitária." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Desenhar e ver super células cristalográficas." #~ msgid "Molecular Orbitals..." #~ msgstr "Orbitais Moleculares..." #~ msgid "Orbitals" #~ msgstr "Orbitais" #~ msgid "Orbital" #~ msgstr "Orbital" #~ msgid "Status" #~ msgstr "Estado" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Nada" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potencial Electrostático" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Densidade Electrónica" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbital Molecular" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Erro - tipo indefinido" #~ msgid "Create Surfaces..." #~ msgstr "Criar superfícies..." #~ msgid "Calculating VdW Cube" #~ msgstr "A calcular Cubo VdW" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calculando OM %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Densidade Electrónica" #~ msgid "Building..." #~ msgstr "A construir..." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "O widget GL não foi iniciado corretamente, impossibilitando que se crie " #~ "um vídeo." #~ msgid "Building video " #~ msgstr "Construindo vídeo " #~ msgid "Could not run povray." #~ msgstr "Não é possível executar povray." #~ msgid "Could not run mencoder." #~ msgstr "Não é possível executar mencoder," #~ msgid "Set Aspect Ratio" #~ msgstr "Setar Razão de Aspecto" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "A cena atual do Avogadro tem %1x%2 pixeis de largura e o seu rácio é %3.\n" #~ "Pode manter este valor, por exemplo se quiser utilizar POV-Ray\n" #~ "para produzir uma imagem de %4x1000 pixeis ou se introduzir outro valor\n" #~ "positivo, como por exemplo 1 se quiser utilizar POV-Ray para produzir " #~ "imagens\n" #~ "quadradas tais como 1000x1000 pixeis." #~ msgid "VRML..." #~ msgstr "VRML..." #~ msgid "Connect" #~ msgstr "Conetar" #~ msgid "Disconnect" #~ msgstr "Desconetar" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "O contexto de OpenGL é inválido.\n" #~ "Ou algo está completamente errado na sua configuração do OpenGL (consegue " #~ "correr alguma aplicação de OpenGL?), ou então descobriu um erro." #~ msgid "Debug Information" #~ msgstr "Informação de Depuração" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "Atoms: %L1" #~ msgstr "Átomos: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Ligações: %L1" #~ msgid "File type '%1' is not supported for reading." #~ msgstr "O ficheiro do tipo '%1' não é suportado para leitura." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "O tipo de ficheiro '%1' não é suportado para leitura." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "" #~ "A leitura da molécula com índice %1 a partir do ficheiro '%2' falhou." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "O tipo de ficheiro '%1' não é suportado para escrita." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Não é possível abrir o ficheiro '%1' para escrever." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Não é possível abrir o ficheiro '%1' para leitura." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "A substituição da molécula com o índice %1 no ficheiro '%2' falhou." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Não é possível abrir o ficheiro %1 para leitura." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "A gravação do ficheiro molecular falhou - não é possível renomear o " #~ "ficheiro original." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "A gravação do ficheiro molecular falhou - não é possível renomear o novo " #~ "ficheiro." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "A gravação do ficheiro molecular falhou - não é possível remover o " #~ "ficheiro antigo." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "O ficheiro %1 não pode ser aberto para escrita." #~ msgid "Molecule %1" #~ msgstr "Molécula %1" #~ msgid "Unknown Python Engine" #~ msgstr "Motor de Python Desconhecido" #~ msgid "N/A" #~ msgstr "N/D" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: a verificar " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - o programa não tem nenhuma classe 'Engine' definida" #~ msgid " - no module" #~ msgstr " - sem módulo" #~ msgid "Unknown Python Extension" #~ msgstr "Extensão de Python Desconhecida" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: a verificar " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - o programa não tem nenhuma classe 'Extension' definida" #~ msgid "Unknown Python Tool" #~ msgstr "Ferramenta de Python Desconhecida" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: a verificar " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - o programa não tem nenhuma classe 'Tool'" #~ msgid "Conformer %1" #~ msgstr "Conformação %1" #~ msgid "Tools" #~ msgstr "Ferramentas" #~ msgid "Axis:" #~ msgstr "Eixo:" #~ msgid "Align:" #~ msgstr "Alinhamento:" #~ msgid "Everything" #~ msgstr "Tudo" #~ msgid "Align" #~ msgstr "Alinhar" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Alinhar moléculas com o eixo Cartesiano" #~ msgid "Align Settings" #~ msgstr "Definições de alinhamento" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Não foi possível definir o campo de forças...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "Opç. Auto: E = %1 %2 (dE = %3)" #~ msgid "Steps per Update:" #~ msgstr "Passos por Actualização:" #~ msgid "Algorithm:" #~ msgstr "Algoritmo:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dinâmica Molecular (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinâmica Molecular (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinâmica Molecular (900K)" #~ msgid "Start" #~ msgstr "Iniciar" #~ msgid "Fixed atoms are movable" #~ msgstr "Os átomos fixos são amovíveis" #~ msgid "Ignored atoms are movable" #~ msgstr "Os átomos ignorados são amovíveis" #~ msgid "AutoOpt Molecule" #~ msgstr "Molécula AutoOpt" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Optimização automática da geometria molecular" #~ msgid "AutoOptimization Settings" #~ msgstr "Definições de Auto-Optimização" #~ msgid "Auto Rotation Tool" #~ msgstr "Ferramenta de Rotação Automática" #~ msgid "x rotation:" #~ msgstr "Rotação em X:" #~ msgid "x rotation" #~ msgstr "rotação em X" #~ msgid "y rotation:" #~ msgstr "Rotação em Y:" #~ msgid "y rotation" #~ msgstr "rotação em Y" #~ msgid "z rotation:" #~ msgstr "Rotação em Z:" #~ msgid "z rotation" #~ msgstr "rotação em Z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Rotação automática das moléculas" #~ msgid "AutoRotate Settings" #~ msgstr "Definições de rotação automática" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Comprimento da ligação: %L1" #~ msgid " Show Angles" #~ msgstr " Mostrar os Ângulos" #~ msgid "Snap-to Threshold: " #~ msgstr "Limiar de Acoplagem: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Manipular Ligação Cêntrica" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Manipulação dos comprimentos de ligação, ângulos e torsões" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distância (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Ângulo: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distância (3->4): %L1 %2" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distância(s):" #~ msgid "Delete Atom" #~ msgstr "Apagar o Átomo" #~ msgid "Draw Bond" #~ msgstr "Desenhar a Ligação" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Desenhar e editar os átomos e as ligações" #~ msgid "Draw Settings" #~ msgstr "Definições de Desenho" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Translaccionar, rodar e ajustar os átomos e os fragmentos" #~ msgid "Manipulate Settings" #~ msgstr "Definições de Manipulação" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Translaccionar, rodar e ampliar a visualização actual" #~ msgid "Navigate Settings" #~ msgstr "Definições de Navegação" #~ msgid "Selection Mode:" #~ msgstr "Modo de Selecção:" #~ msgid "Atom/Bond" #~ msgstr "Átomo/Ligação" #~ msgid "Residue" #~ msgstr "Resíduo" #~ msgid "Symbol" #~ msgstr "Símbolo" #~ msgid "Bond Length" #~ msgstr "Comprimento da Ligação" #~ msgid "Bond Angle" #~ msgstr "Ângulo da Ligação" #~ msgid "Dihedral Angle" #~ msgstr "Ângulo Diédrico" #~ msgid "Z Matrix Editor..." #~ msgstr "Editor da Matriz Z..." #~ msgid "Create/edit a z-matrix" #~ msgstr "Criar/editar uma matriz-z" #~ msgid "Z-Matrix Settings" #~ msgstr "Definições da Matriz-Z" #~ msgid "Residue Color Settings" #~ msgstr "Configuração da Cor do Resíduo" #~ msgid "Amino Colors" #~ msgstr "Cores Amino" #~ msgid "Shapely Colors" #~ msgstr "Cores de Formas" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobia" #~ msgid "Atom Radius:" #~ msgstr "Raio Atómico:" #~ msgid "Bond Radius:" #~ msgstr "Raio da Ligação:" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Helix" #~ msgstr "Hélice" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Folha" #~ msgid "Loop" #~ msgstr "Ciclo" #~ msgid "Colors" #~ msgstr "Cores" #~ msgid "Dipole:" #~ msgstr "Dipolo:" #~ msgid "Dipole Moment" #~ msgstr "Momento Dipolar" #~ msgid "Width:" #~ msgstr "Largura:" #~ msgid "Cut-off radius:" #~ msgstr "Raio de corte:" #~ msgid "Cut-off angle:" #~ msgstr "Ângulo de corte:" #~ msgid "None" #~ msgstr "Nenhum" #~ msgid "Symbol & Atom number" #~ msgstr "Símbolo e Número Atómico" #~ msgid "Formal charge" #~ msgstr "Carga Formal" #~ msgid "Partial charge" #~ msgstr "Carga Parcial" #~ msgid "Residue number" #~ msgstr "Número do resíduo" #~ msgid "Unique ID" #~ msgstr "ID único" #~ msgid "Bond length" #~ msgstr "Comprimento da ligação" #~ msgid "Bond number" #~ msgstr "Número da ligação" #~ msgid "Bond order" #~ msgstr "Ordem da ligação" #~ msgid "Backbone" #~ msgstr "Núcleo" #~ msgid "Lines" #~ msgstr "Linhas" #~ msgid "Radius:" #~ msgstr "Raio:" #~ msgid "Include Nitrogens" #~ msgstr "Incluir os Azotos" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Fill" #~ msgstr "Preencher" #~ msgid "Points" #~ msgstr "Pontos" #~ msgid "Draw Box:" #~ msgstr "Caixa de Desenho:" #~ msgid "Style:" #~ msgstr "Estilo:" #~ msgid "Selected Colors" #~ msgstr "Cores Seleccionadas" #~ msgid "Mapped Colors" #~ msgstr "Cores Mapeadas" #~ msgid "Colors:" #~ msgstr "Cores:" #~ msgid "Positive" #~ msgstr "Positivo" #~ msgid "Negative" #~ msgstr "Negativo" #~ msgid "Show Atoms" #~ msgstr "Mostrar os Átomos" #~ msgid "Animate Trajectory" #~ msgstr "Animar Trajectória" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Ciclo" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Guardar como .avi..." #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "Method" #~ msgstr "Método" #~ msgid "Number of atoms:" #~ msgstr "Total de átomos:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Total de ligações rotacionais:" #~ msgid "Number of conformers" #~ msgstr "Total de conformações" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Constraints" #~ msgstr "Restrições" #~ msgid "Add Constraints" #~ msgstr "Adicionar Restrições" #~ msgid "Ignore Atom" #~ msgstr "Ignorar átomo" #~ msgid "Fix Atom" #~ msgstr "Corrigir átomo" #~ msgid "Fix Atom X" #~ msgstr "Corrigir Átomo X" #~ msgid "Torsion angle" #~ msgstr "Ângulo de torção" #~ msgid "Constraint Value" #~ msgstr "Valor da Restrição" #~ msgid "Add" #~ msgstr "Adicionar" #~ msgid "Save" #~ msgstr "Salvar" #~ msgid "Load" #~ msgstr "Carregar" #~ msgid "File Import..." #~ msgstr "Importar Ficheiro..." #~ msgid "Force Field" #~ msgstr "Campo de Força" #~ msgid "Algorithm" #~ msgstr "Algoritmo" #~ msgid "Peptide Builder" #~ msgstr "Construtor de Peptídeos" #~ msgid "Aspartic acid" #~ msgstr "Ácido aspártico" #~ msgid "Cysteine" #~ msgstr "Cisteína" #~ msgid "Cys" #~ msgstr "Cis" #~ msgid "Glutamic acid" #~ msgstr "Ácido Glutâmico" #~ msgid "Glutamine" #~ msgstr "Glutamina" #~ msgid "Glycine" #~ msgstr "Glicina" #~ msgid "Histidine" #~ msgstr "Histidina" #~ msgid "Isoleucine" #~ msgstr "Isoleucina" #~ msgid "Valine" #~ msgstr "Valina" #~ msgid "Tyrosine" #~ msgstr "Tirosina" #~ msgid "Tryptophan" #~ msgstr "Triptofano" #~ msgid "Threonine" #~ msgstr "Treonina" #~ msgid "Serine" #~ msgstr "Serina" #~ msgid "Proline" #~ msgstr "Prolina" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanina" #~ msgid "Methionine" #~ msgstr "Metionina" #~ msgid "Lysine" #~ msgstr "Lisina" #~ msgid "Leucine" #~ msgstr "Leucina" #~ msgid "Amino Acids:" #~ msgstr "Aminoácidos:" #~ msgid "Sequence (N to C):" #~ msgstr "Sequência (N até C):" #~ msgid "Stereochemistry:" #~ msgstr "Estereoquímica:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Chain Number:" #~ msgstr "Número da Cadeia:" #~ msgid "The chain number for the new peptide" #~ msgstr "O número da cadeia para o novo peptídeo" #~ msgid "Molecule Properties" #~ msgstr "Propriedades da Molécula" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energia (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Momento Dipolar (D):" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "Advanced" #~ msgstr "Avançadas" #~ msgid "Control" #~ msgstr "Controlo" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Dados" #~ msgid "Set the background color to be transparent" #~ msgstr "Seleccionar a cor do fundo para transparente" #~ msgid "HF" #~ msgstr "HF" #~ msgid "Basis Set:" #~ msgstr "Conjunto Base:" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Group Label:" #~ msgstr "Etiqueta do Grupo:" #~ msgid "&Advanced Setup" #~ msgstr "Configurações &Avançadas" #~ msgid "Hessian" #~ msgstr "Hessian" #~ msgid "Stat Point" #~ msgstr "Ponto Inicial" #~ msgid "System" #~ msgstr "Sistema" #~ msgid "MO Guess" #~ msgstr "Estimar OM" #~ msgid "Misc" #~ msgstr "Diversos" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Funções de Polarisação de Átomos Pesados:" #~ msgid "Read" #~ msgstr "Ler" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Difusão Orbital-S em Átomos Pesados" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Difusão Orbital-L em Átomos Pesados" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Valência Zeta Dupla" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Valência Zeta Tripla" #~ msgid "SBKJA Valence" #~ msgstr "Valência SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "Valência Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Tipo ECP:" #~ msgid "Default" #~ msgstr "Padrão" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Funções de Polarização de Átomos Pesados:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#leve Funções de Polarização de Átomos:" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Gradient" #~ msgstr "Gradiente" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Energy Surface" #~ msgstr "Energia de Superfície" #~ msgid "Spin Orbit" #~ msgstr "Orbital de Spin" #~ msgid "Finite Electric Field" #~ msgstr "Campo Eléctrico Finito" #~ msgid "Global Optimization" #~ msgstr "Optimização Global" #~ msgid "Raman Intensities" #~ msgstr "Intensidades Raman" #~ msgid "Make EFP" #~ msgstr "Construir EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Nenhum (CI)" #~ msgid "Foster-Boys" #~ msgstr "Adotados" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Tipo SCF:" #~ msgid "Localization Method:" #~ msgstr "Método de Localização:" #~ msgid "Normal Run" #~ msgstr "Execução Normal" #~ msgid "Molecule Charge:" #~ msgstr "Carga Molecular:" #~ msgid "Run Type:" #~ msgstr "Tipo de Execução:" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Coordinate Type:" #~ msgstr "Tipo de Coordenadas:" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Usar Simetria Durante o Cálculo" #~ msgid "Initial Guess:" #~ msgstr "Pensamento Inicial:" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Rodar Orbitais Alfa e Beta" #~ msgid "Solvate with Water" #~ msgstr "Solvatar com Água" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distribuição sobre Todos os Nós" #~ msgid "Use Localized Orbitals" #~ msgstr "Usar Orbitais Localizadas" #~ msgid "Transformation Method" #~ msgstr "Método de Transformação" #~ msgid "Segmented Transformation" #~ msgstr "Transformação por Segmentos" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Mostrar Orbitais em cada iteracção" #~ msgid "Initial:" #~ msgstr "Início:" #~ msgid "Rational Function Optimization" #~ msgstr "Optimização da Função Racional" #~ msgid "Quadratic Approximation" #~ msgstr "Aproximação Quadrática" #~ msgid "Maximum Steps:" #~ msgstr "Máximo de incrementos:" #~ msgid "Quartet" #~ msgstr "Quarteto" #~ msgid "Quintet" #~ msgstr "Quinteto" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Entrada Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "Entrada TeraChem" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Sem restrições" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "não" #~ msgid "yes" #~ msgstr "sim" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Dispersão:" #~ msgid "Display Type:" #~ msgstr "Modo de Exibição:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Controles:\n" #~ "Duplo clique esquerdo: Restaura limites padrão de eixos\n" #~ "Clique direito + arrastar: Move gráfico\n" #~ "Clique do meio + arrastar: Ampliação da região\n" #~ "Roda do rato: Ampliação para o cursor" #~ msgid "&Load data..." #~ msgstr "&Carregar dados..." #~ msgid "&Close" #~ msgstr "Fe&char" #~ msgid "Calculated Spectra:" #~ msgstr "Espectro Calculado:" #~ msgid "Set Color..." #~ msgstr "Definir Cor..." #~ msgid "Imported Spectra:" #~ msgstr "Espectro Importado:" #~ msgid "&Schemes:" #~ msgstr "&Esquemas:" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Tamanho da F&onte auto-ajustável" #~ msgid "&Y Axis Units:" #~ msgstr "Unidades Eixo &Y" #~ msgid "Nucleus:" #~ msgstr "Núcleo:" #~ msgid "&Reference:" #~ msgstr "&Referência:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Vibrações Moleculares" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "" #~ "frequências de vibração elevadas irão mostrar movimentos mais rápidos" #~ msgid "Display force &vectors" #~ msgstr "Mostrar &vectores-força" #~ msgid "Generate Cell" #~ msgstr "Gerar Célula" #~ msgid "Create Surfaces" #~ msgstr "Criar Superfícies" #~ msgid "Surface Type:" #~ msgstr "Tipo de Superfície:" #~ msgid "New Display" #~ msgstr "Nova Apresentação" #~ msgid "angstrom" #~ msgstr "angstrom" #~ msgid "bohr radii" #~ msgstr "raio de bohr" #~ msgid "nanometers" #~ msgstr "nanómetros" #~ msgid "picometers" #~ msgstr "picómetros" #~ msgid "Find &double bonds" #~ msgstr "Procurar ligações &duplas" #~ msgid "Molecular Symmetry" #~ msgstr "Simetria Molecular" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Traduzido por:" #~ msgid "X-axis" #~ msgstr "Eixo X" #~ msgid "Y-axis" #~ msgstr "Eixo Y" #~ msgid "Z-axis" #~ msgstr "Eixo Z" #~ msgid "Rotate around:" #~ msgstr "Girar em volta:" #~ msgid "Origin" #~ msgstr "Origem" #~ msgid "Geometry" #~ msgstr "Geometria" #~ msgid "Display visual cues" #~ msgstr "Mostrar pistas visuais" #~ msgid "Python Settings" #~ msgstr "Configuração do Python" #~ msgid "Z Matrix Editor" #~ msgstr "Editor da Matriz Z" #~ msgid "Import Selected Atoms" #~ msgstr "Importar Átomos Seleccionados" avogadrolibs-1.93.0/i18n/pt_BR.po000066400000000000000000005451101360735163600164250ustar00rootroot00000000000000# Brazilian Portuguese translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2017-08-31 19:31+0000\n" "Last-Translator: Alexandre R Soares \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:00+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Gerador de Entrada..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Gerador de Entrada..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Continuar" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Fechar" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Desconhecido" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Abortar Cálculo" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Aviso" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Aviso" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Selecionar por Solvente" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Saída:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "O Arquivo não pode ser escrito." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Arquivo de video não foi escrito." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Arquivo de video não foi escrito." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Título" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Nome do Arquivo:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Processadores:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Cálculo:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teoria:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Base" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Nenhuma molécula definida" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Parar &Animação" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Nenhum Átomo Selecionado" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrogênio" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Hélio" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lítio" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berílio" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boro" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbono" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogênio" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxigênio" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Flúor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neônio" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sódio" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnésio" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alumínio" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silício" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fósforo" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Enxofre" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Cloro" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argônio" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potássio" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Cálcio" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Escândio" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titânio" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanádio" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Crômio" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganês" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Ferro" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalto" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Níquel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Cobre" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinco" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gálio" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germânio" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsênio" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selênio" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromo" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Criptônio" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubídio" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Estrôncio" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Ítrio" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zircônio" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Nióbio" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibdênio" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tecnécio" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutênio" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Ródio" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Paládio" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Prata" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cádmio" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Índio" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Estanho" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimônio" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telúrio" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iodo" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenônio" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Césio" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bário" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantânio" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cério" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodímio" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodímio" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promécio" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samário" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Európio" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolínio" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Térbio" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disprósio" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Hólmio" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Érbio" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Túlio" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Itérbio" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutécio" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Háfnio" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantálio" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungstênio" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rênio" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Ósmio" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Irídio" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Ouro" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercúrio" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tálio" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Chumbo" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuto" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polônio" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astato" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radônio" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Frâncio" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Rádio" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actínio" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Tório" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactínio" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Urânio" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptúnio" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutônio" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Amerício" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Cúrio" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berquélio" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Califórnio" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einstênio" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Férmio" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelévio" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobélio" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Laurêncio" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Ruterfórdio" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dúbnio" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seabórguio" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bóhrio" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hássio" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnério" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstádio" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgênio" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernício" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zircônio" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Fleróvio" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermório" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Navegando..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Selecionar por Solvente" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Apagar Selecionados" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Todos os arquivos" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "sem título" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Tabela Periódica" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Falha ao iniciar o G03." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Scripts" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Erro OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Desconhecido" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molécula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Adicionar Átomo" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Remover Átomo" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Átomo Inicial" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Ajustar Hidrogênios" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Trocar Elemento" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Trocar Elemento" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Carga formal" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Adicionar Ligação" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Remover Átomo" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Apagar Ligação" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Ordem de Ligação" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Trocar Ordem da Ligação" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Alinhar às Ligações" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Apagar Ligação" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Adicionar Célula &Unitária" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Remover Célula &Unitária" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Completar Célula Unitária" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Redimensionar Célula para &Volume..." #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Supercélula" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Reduzir para Célula Primitiva" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Supercélula" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Completar Célula Unitária" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Reduzir para Unidade Assimétrica" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Arquivo" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exportar" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Limites" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Arquivo de Saída Orca" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Extensões" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Erro" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Problema ao ler arquivo traj %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Erro OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Problema ao ler arquivo traj %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Abrir Arquivo WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Abrir Arquivo WFN" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Erro" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Sucesso!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Imagem escrita com sucesso em %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Exibir Ligações Múltiplas" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrogênios" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Bola e Bastão" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Desenha rótulos de átomos e ligações" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Átomo Final" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Remover Hidrogênios" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Construir" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Ligação" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Tolerânia para operações de simetria..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nome do Arquivo:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Editor de coordenasdas cartesianas" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Editor de coordenasdas cartesianas" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Desfazer Alterações" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nome de Arquivo Inválido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Nome do Elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Símbolo do Elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Símbolo do Elemento" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nome de Arquivo Inválido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Número Atômico" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nome de Arquivo Inválido" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Coordenadas Cartesianas" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Personalizar" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Alexandre R Soares,André Gondim,Ciniro Nametala," "Enrico Nicoletto,Geoff Hutchison,Leandro Boscariol,Myres Hopkins,Petrus " "Henrique Gonçalves Freire,Rafael Porto Rodrigues,Rosiney Gomes Pereira, ," "Launchpad Contributions:,Alexandre R Soares,André Gondim,Ciniro Nametala," "Enrico Nicoletto,Geoff Hutchison,Leandro Boscariol,Myres Hopkins,Petrus " "Henrique Gonçalves Freire,Rafael Porto Rodrigues,Rosiney Gomes Pereira, ," "Launchpad Contributions:,Alexandre R Soares,Avogadro Team, ,Launchpad " "Contributions:,Alexandre R Soares,André Gondim,Avogadro Team,Felipe Vieira " "Borges,Geoff Hutchison,leoazul, ,Launchpad Contributions:,Alexandre R Soares," "André Gondim,Avogadro Team,Daniel Eric Maier,Felipe Vieira Borges,Geoff " "Hutchison,leoazul, ,Launchpad Contributions:,Alexandre R Soares,André Gondim," "Avogadro Team,Daniel Eric Maier,Felipe Vieira Borges,Geoff Hutchison,VictorP," "leoazul, ,Launchpad Contributions:,Alexandre R Soares,André Gondim,Avogadro " "Team,Daniel Eric Maier,Felipe Vieira Borges,Geoff Hutchison,Gustavo " "Guidorizzi,VictorP,leoazul, ,Launchpad Contributions:,Alexandre R Soares," "André Gondim,Avogadro Team,Daniel Eric Maier,Felipe Vieira Borges,Geoff " "Hutchison,Gustavo Guidorizzi,VictorP,leoazul, ,Launchpad Contributions:," "Alexandre R Soares,André Gondim,Avogadro Team,Daniel Eric Maier,Felipe " "Vieira Borges,Geoff Hutchison,Gustavo Guidorizzi,VictorP,leoazul, ,Launchpad " "Contributions:,Alexandre R Soares,André Gondim,Avogadro Team,Daniel Eric " "Maier,Felipe Vieira Borges,Geoff Hutchison,Gustavo Guidorizzi,VictorP," "leoazul, ,Launchpad Contributions:,Alexandre R Soares,André Gondim,Avogadro " "Team,Daniel Maier,Felipe Vieira Borges,Geoff Hutchison,Gustavo Guidorizzi," "Júlio Cezar Santos Pires,VictorP,leoazul, ,Launchpad Contributions:,Alex " "Massabni,Alexandre R Soares,Alexandre R Soares,André Gondim,André Luiz " "Bellafronte Kutianski,Avogadro Team,Daniel Maier,Eugênio F,Fabiana de " "Oliveira,Felipe Nascimento,Felipe Vieira Borges,Geoff Hutchison,Gustavo " "Guidorizzi,JOÃO PAULO MACEDO DA SILVA,João Paulo Brígido Tostes,Júlio Cezar " "Santos Pires,Leocello,Norgeon,Rafael,Raykachu,Ricardo Paupitz,Rogério Zonta," "Tomas Abril,VictorP,leoazul,netocostax, ,Launchpad Contributions:,Alex " "Massabni,Alexandre R Soares,Alexandre R Soares,André Gondim,André Luiz " "Bellafronte Kutianski,Avogadro Team,Daniel Maier,Eugênio F,Fabiana de " "Oliveira,Felipe Nascimento,Felipe Vieira Borges,Geoff Hutchison,Gustavo " "Guidorizzi,JOÃO PAULO MACEDO DA SILVA,João Paulo Brígido Tostes,Júlio Cezar " "Santos Pires,Leocello,Norgeon,Rafael,Raykachu,Ricardo Paupitz,Rogério Zonta," "Sabrina,Tomas Abril,VictorP,leoazul,netocostax, ,Launchpad Contributions:," "Alex Massabni,Alexandre R Soares,Alexandre R Soares,André Gondim,André Luiz " "Bellafronte Kutianski,Avogadro Team,Daniel Maier,Eugênio F,Fabiana de " "Oliveira,Felipe Nascimento,Felipe Vieira Borges,Geoff Hutchison,Gustavo " "Guidorizzi,JOÃO PAULO MACEDO DA SILVA,João Paulo Brígido Tostes,Júlio Cezar " "Santos Pires,Leocello,Norgeon,Rafael,Raykachu,Ricardo Paupitz,Robson,Rogério " "Zonta,Sabrina,Tomas Abril,VictorP,netocostax" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ numérico" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Coordenadas cartesianas" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Informação GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Informação GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Personalizar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Não foi possível definir formato: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Não foi possível definir formato: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "I&mportar Cristal da Área de Transferência..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Completar Célula Unitária" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Completar Célula Unitária" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Girar para &Orientation padrão" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Redimensionar Célula para &Volume..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Supercélula" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Reduzir Célula (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Cristal..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Remover Célula &Unitária" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Adicionar Célula &Unitária" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Essa célula já está reduzida para sua representação canônica de Niggli." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Cristal..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Desenha rótulos de átomos e ligações" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Eixos Definidos pelo Usuário" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Desenho" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Desenhar Átomo" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Trocar Ordem da Ligação" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Remover Átomo" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Distância" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Distância (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Outro..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOtimização" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Simples" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dupla" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Tripla" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Scripts" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Problema ao ler arquivo traj %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Gerador de Entrada..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Entrada GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Ponto de Sela" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Geometria de Equilíbio" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Estado de Transição" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Freqüências" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Gás" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Água" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlete" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Dublete" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplete" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Cátion" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutro" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Ânion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Entrada GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Abortar Cálculo" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Ajustar Hidrogênios" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Adicionar Hidrogênios" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Remover Hidrogênios" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Remover Hidrogênios" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrogênios" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidrogênios" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importar" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Desenha rótulos de átomos e ligações" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Inserir" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Sem Descrição" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molécula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Gerar..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Manipulação" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipular Átomo" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Medir" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Ângulo:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Ângulo:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Medir" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Processa malhas moleculares de isosurface" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Exibir" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Propriedades Moleculares" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navegação" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navegação" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Nome Químico" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Estrutura química para baixar." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Download Falhou" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Tempo expirou ou outro erro." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "A molécula especificada não pode ser encontrada: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Download Falhou" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimiza Geometria" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Otimização Geométrica" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Observar ligações?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Adicionar Hidrogênios" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Adicionar hidrogênios para pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Remover Hidrogênios" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Falha ao ler a molécula do arquivo '%1'." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Houve um problema ao escrever arquivo %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimiza Geometria" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Gerar..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "O arquivo de trajetória %1 indica um número diferente de átomos na molécula " "atual" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimiza Geometria" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Adicionar Hidrogênios" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "Gerar Entrada Orca..." #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Adicionar hidrogênios para pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Remover Hidrogênios" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Parar" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parâmetros:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Ligações Dinâmicas" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Remover..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Parar" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Não foi possível ler o arquivo %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Erro" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Salvar Arquivo de Video" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Renderizar usando POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Renderiza primitivas usando propriedades QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Gráfico Molecular..." #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Gráfico Molecular com Pares Isolados..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Carga Atômica..." #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "E&xtensões" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Abrir Arquivo WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Arquivos WFN (*.wfn);;Todos os arquivos (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Extensão QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Criar arquivos de entrada para pacotes de química quântica" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Calculando Densidade Eletrônica" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Calculando Densidade Eletrônica" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Calcula orbitais moleculares e outras superfícies" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "OM %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Restaurar" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Geradores de Arquivo de Entrada" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Apagar Tudo" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Seleção" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Inverter Seleção" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Seleções" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Selecionar" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Selecionar" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Seleção" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Seleção" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Perceber Grupo Espacial" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Reduzir para Unidade Assimétrica" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Tolerância:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Espaço&grupo" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Percepção do Grupo Espacial falhou.\n" "Você gostaria de tentar novamente com uma tolerância diferente ?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Percepção do Grupo Espacial falhou.\n" "Você gostaria de tentar novamente com uma tolerância diferente ?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Percepção do Grupo Espacial falhou.\n" "Você gostaria de tentar novamente com uma tolerância diferente ?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Percepção do Grupo Espacial falhou.\n" "Você gostaria de tentar novamente com uma tolerância diferente ?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Selecione a tolerância nas unidades cartesianas atuais:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Internacional" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Definir Grupo Espacial" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Espaço&grupo" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrações" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Visualizar Espectro" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Mostrar coordenadas &fracionais" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tipo" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Elemento" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Selecionar por Elemento" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Renderiza momento dipolar molecular" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Renderizar" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Renderizar usando POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Estrutura de Arame" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Renderiza moléculas como bastões" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Diálogo" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Formulário" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Configurações de Seleção" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Abortar Cálculo" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Processadores:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "Ocultar quando terminar" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "Ocultar quando terminar" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Trocar Elemento" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Arquivo de Saída Orca" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "Gerar Entrada Orca..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Campo de Força" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Salvar Arquivo de Video" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Sucesso!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Estrutura:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Carregar Arquivo..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Configurações de Medidas" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Nome do Arquivo:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navegação" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navegação" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navegação" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Nome do Arquivo:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Cancelar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Editor de coordenasdas cartesianas" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Restaurar" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Distância" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formato:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Desfazer Alterações" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Aplicar" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parâmetros:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Repetir A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Repetir B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Repetir C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Ocultar &Editores" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matriz-Z MOPAC" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Fracionário" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Transladar Átomos" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Ocultar" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Elemento:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Ordem da Ligação:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Entrada GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "Configuração &Básica" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Em:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Multiplicidade:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Com:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Título:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Carga:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Calcular:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Nome do Arquivo:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Limpar Tudo" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Padrões" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Carregar Arquivo..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "nome" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formato:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Sem Descrição" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Peso Molecular (g/mol)" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Fórmula Química" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Número de Átomos" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Número de Ligações:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Otimização Geométrica" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Método de Otimização:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Campo de Força" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Método de Otimização:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Conjugar Gradientes" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutoRotacionar" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, isossuperfície = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Potencial Eletrostático" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "passos" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Convergência" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Convergência" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Limite de Tempo:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Unidades:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Número de Ligações:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Comprimento de onda (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Apagar Selecionados" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Covalente" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Opacidade:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Médio" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Baixo" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Alto" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Resolução:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Superfícies" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Calcular" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrações" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Iniciar &Animação" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Parar &Animação" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molécula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Simetria molecular" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Opções" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Espaço&grupo" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "Tolerância:" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Alexandre R Soares,André Gondim,Ciniro Nametala," "Enrico Nicoletto,Geoff Hutchison,Leandro Boscariol,Myres Hopkins,Petrus " "Henrique Gonçalves Freire,Rafael Porto Rodrigues,Rosiney Gomes Pereira, ," "Launchpad Contributions:,Alexandre R Soares,André Gondim,Ciniro Nametala," "Enrico Nicoletto,Geoff Hutchison,Leandro Boscariol,Myres Hopkins,Petrus " "Henrique Gonçalves Freire,Rafael Porto Rodrigues,Rosiney Gomes Pereira, ," "Launchpad Contributions:,Alexandre R Soares,Avogadro Team, ,Launchpad " "Contributions:,Alexandre R Soares,André Gondim,Avogadro Team,Felipe Vieira " "Borges,Geoff Hutchison,leoazul, ,Launchpad Contributions:,Alexandre R Soares," "André Gondim,Avogadro Team,Daniel Eric Maier,Felipe Vieira Borges,Geoff " "Hutchison,leoazul, ,Launchpad Contributions:,Alexandre R Soares,André Gondim," "Avogadro Team,Daniel Eric Maier,Felipe Vieira Borges,Geoff Hutchison,VictorP," "leoazul, ,Launchpad Contributions:,Alexandre R Soares,André Gondim,Avogadro " "Team,Daniel Eric Maier,Felipe Vieira Borges,Geoff Hutchison,Gustavo " "Guidorizzi,VictorP,leoazul, ,Launchpad Contributions:,Alexandre R Soares," "André Gondim,Avogadro Team,Daniel Eric Maier,Felipe Vieira Borges,Geoff " "Hutchison,Gustavo Guidorizzi,VictorP,leoazul, ,Launchpad Contributions:," "Alexandre R Soares,André Gondim,Avogadro Team,Daniel Eric Maier,Felipe " "Vieira Borges,Geoff Hutchison,Gustavo Guidorizzi,VictorP,leoazul, ,Launchpad " "Contributions:,Alexandre R Soares,André Gondim,Avogadro Team,Daniel Eric " "Maier,Felipe Vieira Borges,Geoff Hutchison,Gustavo Guidorizzi,VictorP," "leoazul, ,Launchpad Contributions:,Alexandre R Soares,André Gondim,Avogadro " "Team,Daniel Maier,Felipe Vieira Borges,Geoff Hutchison,Gustavo Guidorizzi," "Júlio Cezar Santos Pires,VictorP,leoazul, ,Launchpad Contributions:,Alex " "Massabni,Alexandre R Soares,Alexandre R Soares,André Gondim,André Luiz " "Bellafronte Kutianski,Avogadro Team,Daniel Maier,Eugênio F,Fabiana de " "Oliveira,Felipe Nascimento,Felipe Vieira Borges,Geoff Hutchison,Gustavo " "Guidorizzi,JOÃO PAULO MACEDO DA SILVA,João Paulo Brígido Tostes,Júlio Cezar " "Santos Pires,Leocello,Norgeon,Rafael,Raykachu,Ricardo Paupitz,Rogério Zonta," "Tomas Abril,VictorP,leoazul,netocostax, ,Launchpad Contributions:,Alex " "Massabni,Alexandre R Soares,Alexandre R Soares,André Gondim,André Luiz " "Bellafronte Kutianski,Avogadro Team,Daniel Maier,Eugênio F,Fabiana de " "Oliveira,Felipe Nascimento,Felipe Vieira Borges,Geoff Hutchison,Gustavo " "Guidorizzi,JOÃO PAULO MACEDO DA SILVA,João Paulo Brígido Tostes,Júlio Cezar " "Santos Pires,Leocello,Norgeon,Rafael,Raykachu,Ricardo Paupitz,Rogério Zonta," "Sabrina,Tomas Abril,VictorP,leoazul,netocostax, ,Launchpad Contributions:," "Alex Massabni,Alexandre R Soares,Alexandre R Soares,André Gondim,André Luiz " "Bellafronte Kutianski,Avogadro Team,Daniel Maier,Eugênio F,Fabiana de " "Oliveira,Felipe Nascimento,Felipe Vieira Borges,Geoff Hutchison,Gustavo " "Guidorizzi,JOÃO PAULO MACEDO DA SILVA,João Paulo Brígido Tostes,Júlio Cezar " "Santos Pires,Leocello,Norgeon,Rafael,Raykachu,Ricardo Paupitz,Robson,Rogério " "Zonta,Sabrina,Tomas Abril,VictorP,netocostax" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,andregondim@ubuntu.com,ciniro@gmail.com,liverig@gmail.com,,,,," "rafporto@gmail.com,rosiney.gp@gmail.com,,,,andregondim@ubuntu.com," "ciniro@gmail.com,liverig@gmail.com,,,,,rafporto@gmail.com,rosiney.gp@gmail." "com,,,,avogadro-devel@lists.sourceforge.net,,,,andregondim@ubuntu.com," "avogadro-devel@lists.sourceforge.net,,,,,,,andregondim@ubuntu.com,avogadro-" "devel@lists.sourceforge.net,,,,,,,,andregondim@ubuntu.com,avogadro-" "devel@lists.sourceforge.net,,,,,,,,,andregondim@ubuntu.com,avogadro-" "devel@lists.sourceforge.net,,,,,,,,,,andregondim@ubuntu.com,avogadro-" "devel@lists.sourceforge.net,,,,,,,,,,andregondim@ubuntu.com,avogadro-" "devel@lists.sourceforge.net,,,,,,,,,,andregondim@ubuntu.com,avogadro-" "devel@lists.sourceforge.net,,,,,,,,,,andregondim@ubuntu.com,avogadro-" "devel@lists.sourceforge.net,,,,,,,,,,,,ntegti@zipmail.com.br,,andre." "bellafronte@gmail.com,avogadro-devel@lists.sourceforge.net,,,,,,,,," "joao@tostes.org,,,,,,ricardopaupitz@gmail.com,,,,,,,,,,ntegti@zipmail.com." "br,,andre.bellafronte@gmail.com,avogadro-devel@lists.sourceforge.net,,,,,,,,," "joao@tostes.org,,,,,,ricardopaupitz@gmail.com,,smcanato@gmail.com,,,,,,,,," "ntegti@zipmail.com.br,,andre.bellafronte@gmail.com,avogadro-devel@lists." "sourceforge.net,,,,,,,,,joao@tostes.org,,,,,,ricardopaupitz@gmail.com,,," "smcanato@gmail.com,,," #~ msgid "Color by Index" #~ msgstr "Colorir pelo índice" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Colorir pelo índice (vermelho, laranja, amarelo, verde, azul, violeta)" #~ msgid "Color by Partial Charge" #~ msgstr "Colorir por carga parcial" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Colorir por carga atômica parcial (azul=positivo, vermelho=negativo." #~ msgid "Custom Color:" #~ msgstr "Cor personalizada:" #~ msgid "Custom Color" #~ msgstr "Cor Personalizada" #~ msgid "Set custom colors for objects" #~ msgstr "Definir cores personalizadas para os objetos" #~ msgid "Color by Distance" #~ msgstr "Colorir por distância" #~ msgid "Color by distance from the first atom." #~ msgstr "Colorir por distância a partir do primeiro átomo" #~ msgid "Color by Element" #~ msgstr "Colorir pelo elemento" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Colorir pelo elemento (carbono = cinza, oxigênio = vermelho, ....)." #~ msgid "Color by Residue" #~ msgstr "Colorir pelo resíduo" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Colorir por resíduo (tipo de aminoácido, hidrofobicidade, ...)" #~ msgid "SMARTS Pattern:" #~ msgstr "Padrão SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Destacar Cor:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Cor por padrão SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "" #~ "Realçar funcionalidades particulares que coincidem com o padrão SMARTS." #~ msgid "Ununtrium" #~ msgstr "Ununtrio" #~ msgid "Ununpentium" #~ msgstr "Ununpentio" #~ msgid "Ununseptium" #~ msgstr "Ununséptio" #~ msgid "Ununoctium" #~ msgstr "Ununoctio" #~ msgid "Engines" #~ msgstr "Mecanismos" #~ msgid "Axes" #~ msgstr "Eixos" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "renderizar eixos x, y e z na origem" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Renderiza as primitivas usando bolas (átomos) e bastões (ligações)" #~ msgid "Cartoon" #~ msgstr "Ilustração" #~ msgid "Renders protein secondary structure" #~ msgstr "Renderiza estrutura secundária da proteína" #~ msgid "Dipole" #~ msgstr "Dipólo" #~ msgid "Force" #~ msgstr "Força" #~ msgid "Renders force displacements on atoms" #~ msgstr "Renderiza a força de deslocamento em átomos" #~ msgid "Hydrogen Bond" #~ msgstr "Ligação de Hidrogênio" #~ msgid "Renders hydrogen bonds" #~ msgstr "Renderiza ligações de hidrogênio" #~ msgid "Select Atom Labels Color" #~ msgstr "Selecione a Cor da Etiqueta do Átomo" #~ msgid "Select Bond Labels Color" #~ msgstr "Selecione a Cor da Etiqueta do Vínculo" #~ msgid "Select Atom Labels Font" #~ msgstr "Selecione a Fonte da Etiqueta do Átomo" #~ msgid "Select Bond Labels Font" #~ msgstr "Selecione a Fonte da Etiqueta do Vínculo" #~ msgid "Label" #~ msgstr "Rótulo" #~ msgid "Polygon" #~ msgstr "Polígono" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Renderiza átomos como tetraedro, octaedro e outros polígonos" #~ msgid "Ribbon" #~ msgstr "Fita" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Renderiza cadeias principais (protein backbones) como fitas" #~ msgid "Ring" #~ msgstr "Anel" #~ msgid "Renders rings with colored planes" #~ msgstr "Renderiz anéis com planos coloridos" #~ msgid "Simple Wireframe" #~ msgstr "Estrutura de Arame Simples" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "Renderiza ligações como arames (linhas), ideal para moléculas grandes" #~ msgid "Van der Waals Spheres" #~ msgstr "Esferas de Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Renderiza átomos como esferas de Van der Waals" #~ msgid "Stick" #~ msgstr "Bastão" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Densidade eletrônica, isosurface = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosurface = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Renderiza moléculas como arames (linhas), ideal para (bio)moléculas muito " #~ "extensas" #~ msgid "Trajectory files" #~ msgstr "Arquivos de trajetórias" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Arquivos DL-POLY HISTORY" #~ msgid "Open Trajectory File" #~ msgstr "Abrir Arquiv de Trajetória" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "arquivos de video (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Acrescentando extensão .avi" #~ msgid "Animation..." #~ msgstr "Animação..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Não foi possível ler a extensão do arquivo %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Leitura do arquivo de trajetória %1 falhou." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Deve especificar um nome válido para arquivo .avi" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "O widget (elemento de interface) GL não foi iniciado corretamente para " #~ "poder salvar vídeo" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Nome inválido para arquivo de video. Deve-se incluir o caminho completo " #~ "para o diretório" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Nome inválido para arquivo de video. Deve-se incluir o caminho completo " #~ "para o diretório e nome, terminando com .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Não foi possível determinar o formato do arquivo: %1" #~ msgid "Animation" #~ msgstr "Animação" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animar trajetórias, reações e vibrações." #~ msgid "Cartesian Editor" #~ msgstr "Editor Cartesiano" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Sem célula unitária definida por molécula -- não pode usar coordenadas " #~ "fracionárias." #~ msgid "Cartesian Editor..." #~ msgstr "Editor Cartesiano..." #~ msgid "Cartesian editor" #~ msgstr "Editor cartesiano" #~ msgid "Number of atoms: %1" #~ msgstr "Número de átomos: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Número de ligações rotacionáveis: %1" #~ msgid "Add constraint" #~ msgstr "Adicionar restrição" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Sua molécula deve conter ao menos um átomo para adicionar uma restrição" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Sua molécula deve conter ao menos dois átomos para adicionar uma " #~ "restrição de ligação" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Sua molécula deve conter ao menos três átomos para adicionar uma " #~ "restrição angular" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Sua molécula deve conter ao menos quatro átomos para adicionar uma " #~ "restrição de torsão" #~ msgid "&Crystallography" #~ msgstr "&Cristalografia" #~ msgid "&Reduce" #~ msgstr "&Reduzir" #~ msgid "&Settings" #~ msgstr "&Definições" #~ msgid "&Length Unit" #~ msgstr "&Unidade de comprimento" #~ msgid "&Angle Unit" #~ msgstr "Unidade de Â&ngulo" #~ msgid "&Coordinate Display" #~ msgstr "&Display de Coordenadas" #~ msgid "Coordinate &Preservation" #~ msgstr "Coordenada &Preservação" #~ msgid "&Matrix Display" #~ msgstr "&Display da Matriz" #~ msgid "Show &Editors" #~ msgstr "Exibir &Editores" #~ msgid "Hide &Property Display" #~ msgstr "Ocultar Tela de &Propriedades" #~ msgid "Show &Property Display" #~ msgstr "Exibir Tela de &Propriedades" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Tipo de rede: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Grupo espacial: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Unidade de volume da célula: %L1%2" #~ msgid "Undefined" #~ msgstr "Indefinido" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triclínico" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoclínico" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortorômbico" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonal" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Romboédrico" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hexagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Cúbico" #~ msgid "Paste Crystal" #~ msgstr "Colar Cristal" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Falha na redução Niggli. A estrutura de entrada está confundindo o " #~ "algoritmo de redução Niggli. Tente fazer uma pequena perturbação (cerca " #~ "de 2 ordens de magnitude menor do que a tolerância) para a entrada de " #~ "reticulados e tente novamente." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Falha ao reduzir célula após 1000 iterações do algoritmo de redução. " #~ "Interrompendo." #~ msgid "&Translate Atoms..." #~ msgstr "&Traduzir Atomos..." #~ msgid "Perceive Space&group..." #~ msgstr "Sugerir Grupo Espacial" #~ msgid "Set &Spacegroup..." #~ msgstr "Definir &Spacegroup" #~ msgid "&Fill Unit Cell" #~ msgstr "&Fill Célula Unitária" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Preencher célula unitária usando o grupo espacial atual" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Reduzir Célula (&Primitiva)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanômetro" #~ msgid "&Picometer" #~ msgstr "&Picômetro" #~ msgid "&Degree" #~ msgstr "&Grau" #~ msgid "&Radian" #~ msgstr "&Radiano" #~ msgid "Display &cartesian coordinates" #~ msgstr "Mostrar coordenadas &cartesianas" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Preservar Coordenadas &Cartesianas Durante Modificação da Célula" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Preservar Coordenadas &Fracionais Durante Modificação da Célula" #~ msgid "Display &cartesian matrix" #~ msgstr "Mostrar matriz &cartesiana" #~ msgid "Display &fractional matrix" #~ msgstr "Mostrar matriz &fracional" #~ msgid "Display as &row vectors" #~ msgstr "Mostrar como &row vetores" #~ msgid "Display as &column vectors" #~ msgstr "Mostrar como &column vetores" #~ msgid "&Crystal View Options..." #~ msgstr "&Cristal Opções de Visualização" #~ msgid "Crystallography" #~ msgstr "Cristalografia" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Construir e analisar estruturas periódicas" #~ msgid "VASP Format\n" #~ msgstr "Formato VASP\n" #~ msgid "No GLWidget?" #~ msgstr "Sem GLWidget?" #~ msgid "Please select one or more atoms." #~ msgstr "Favor selecionar um ou mais átomos." #~ msgid "Trajectory..." #~ msgstr "Trajetória..." #~ msgid "Open chemical file format" #~ msgstr "Abrir formato de arquivo químico" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Arquivos químicos (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Abrir arquivo de parâmetros" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Arquivos químicos (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Importar Trajetória" #~ msgid "Import trajectory files" #~ msgstr "Importa arquivos de trajetória" #~ msgid "Setup Force Field..." #~ msgstr "Configurar Campo de Força..." #~ msgid "Calculate Energy" #~ msgstr "Calcular Energia" #~ msgid "Conformer Search..." #~ msgstr "Busca Conformacional..." #~ msgid "Constraints..." #~ msgstr "Restrições..." #~ msgid "Ignore Selection" #~ msgstr "Ignorar Seleção" #~ msgid "Fix Selected Atoms" #~ msgstr "Fixar Átomos Selecionados" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mecânica Molecular" #~ msgid "Energy = %L1 %2" #~ msgstr "Energia = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Otimização Geométrica" #~ msgid "Forcefield Optimization" #~ msgstr "Otimização do Campo de Força" #~ msgid "Systematic Rotor Search" #~ msgstr "Busca sistemática de rotores" #~ msgid "Random Rotor Search" #~ msgstr "Busca aleatória de rotores" #~ msgid "Weighted Rotor Search" #~ msgstr "Busca ponderada de rotores" #~ msgid "Genetic Algorithm Search" #~ msgstr "BUscar Algoritmo Genético" #~ msgid "ForceField" #~ msgstr "Campo de Força" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimiza moléculas e gera conformações (confórmeros) por meio de campos " #~ "de força de mecânica molecular (MM)" #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Formatos comuns de imagens vetoriais" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Change H to Methyl" #~ msgstr "Trocar H por Metil" #~ msgid "H to Methyl" #~ msgstr "H para Metil" #~ msgid "H2Methyl" #~ msgstr "H2Metil" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transformar hidrogênios em grupos metila" #~ msgid "Add or remove hydrogens" #~ msgstr "Adiciona ou remove hidrogênios" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "Inserir DNA" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Uracila" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Timina" #~ msgid "Insert DNA/RNA" #~ msgstr "Inserir DNA/RNA" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Inserir cadeias de DNA/RNA" #~ msgid "Cannot read molecular file %1." #~ msgstr "Não é possível ler arquivo molecular %1." #~ msgid "Fragment..." #~ msgstr "Fragmento..." #~ msgid "Insert SMILES" #~ msgstr "Inserir SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Inserir fragmentos de SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Inserir Fragmento" #~ msgid "Insert Crystal" #~ msgstr "Inserir Cristal" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Inserir fragmentos moleculares para construir moléculas maiores" #~ msgid "Peptide..." #~ msgstr "Peptídeo..." #~ msgid "Insert Peptide" #~ msgstr "Inserir Peptídeo" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Inserir sequências de oligopeptídeo" #~ msgid "Invert Chirality" #~ msgstr "Inverter Quiralidade" #~ msgid "Invert chiral centers" #~ msgstr "Inverter centros quirais" #~ msgid "Molecule Properties..." #~ msgstr "Propriedades da Molécula" #~ msgid "&Properties" #~ msgstr "&Propriedades" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "desconhecido" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Momento Dipolar Estimado (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(pendente)" #~ msgid "Display standard molecular properties." #~ msgstr "Exibir propriedades moleculares padrões" #~ msgid "Fetch from PDB..." #~ msgstr "Buscar no PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Buscar pelo nome químico..." #~ msgid "Fetch from URL..." #~ msgstr "Buscar na URL..." #~ msgid "PDB Entry" #~ msgstr "Entrada PDB" #~ msgid "PDB entry to download." #~ msgstr "Entrada PDB para download." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL da molécula para baixar." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "A molécula especificada não pode ser carregada: %1" #~ msgid "Network Fetch" #~ msgstr "Busca da Rede" #~ msgid "Fetch molecule files over the network." #~ msgstr "Busca de arquivos de moléculas através da rede." #~ msgid "All Files" #~ msgstr "Todos os Arquivos" #~ msgid "no file found" #~ msgstr "arquivo não encontrado" #~ msgid "Somethings wrong in the file structure" #~ msgstr "Há algo errado na estrutura do arquivo" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "Há algo errado na estrutura do arquivo - unitcells" #~ msgid "Something is wrong in the IR output! " #~ msgstr "Há algo errado na saída do IV! " #~ msgid "Something is wrong in the raman output! " #~ msgstr "Há algo errado na saída do raman! " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "Há algo errado na saída da energia do orbital! " #~ msgid "No geometry found in file!" #~ msgstr "Não foi encontrada geometria no arquivo!" #~ msgid "Could not read file!" #~ msgstr "Não foi possível ler o arquivo!" #~ msgid "Analyse Orca Output..." #~ msgstr "Analisar Saída Orca..." #~ msgid "&Orca" #~ msgstr "&Orca" #~ msgid "Orca Test Example" #~ msgstr "Exemplo de Teste Orca" #~ msgid "Provides a dialog box with the words \"H...\"." #~ msgstr "Fornece uma caixa de diálogo com as palavras \"H ...\"." #~ msgid "Show Preview" #~ msgstr "Mostrar Pré-visualização" #~ msgid "Hide Preview" #~ msgstr "Ocultar Pré-visualização" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Savar imagem com renderização POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Arquivos de imagem (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Sem indicação de nome de arquivo." #~ msgid "No valid filename was supplied." #~ msgstr "Não foi indicado nome válido de arquivo." #~ msgid "Does not compute." #~ msgstr "Não computa." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Você não requisitou nenhuma renderização direta usando POV-Ray nem " #~ "requisitou manter o arquivo do POV-Ray. Isso resultará que nenhuma saída " #~ "será guardada. Tem certeza de que é isso que quer?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "O arquivo %1 não pode ser escrito. Você tem permissões para escrever " #~ "neste local?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray falhou ao iniciar." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray não conseguiu iniciar corretamente. Confira se está correto o " #~ "caminho para seu executável." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Criar arquivos POV-Ray e renderizá-los usando a linha de comandos do " #~ "programa POV-Ray." #~ msgid "Atom Properties..." #~ msgstr "Propriedades dos Átomos..." #~ msgid "Bond Properties..." #~ msgstr "Propriedades das Ligações..." #~ msgid "Angle Properties..." #~ msgstr "Propriedades do Ângulo..." #~ msgid "Torsion Properties..." #~ msgstr "Propriedades das Torsões..." #~ msgid "Conformer Properties..." #~ msgstr "Propriedades do Confórmero..." #~ msgid "Atom Properties" #~ msgstr "Propriedades do Átomo" #~ msgid "Bond Properties" #~ msgstr "Propriedades da Ligação" #~ msgid "Angle Properties" #~ msgstr "Propriedades do Ângulo" #~ msgid "Torsion Properties" #~ msgstr "Propriedades de Torsão" #~ msgid "Conformer Properties" #~ msgstr "Propriedades do Confórmero" #~ msgid "Properties" #~ msgstr "Propriedades" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Janelas para exibir propriedades de átomo. ligação, ângulo e torsão. " #~ "Indlui também um editor de coordenadas cartesianas." #~ msgid "Valence" #~ msgstr "Valência" #~ msgid "Partial Charge" #~ msgstr "Carga Parcial" #~ msgid "Atom" #~ msgstr "Átomo" #~ msgid "Rotatable" #~ msgstr "Rotacionável" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Confôrmero %1\n" #~ "Tamanho %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Comprimento %1" #~ msgid "Vertex" #~ msgstr "Vértice" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Confôrmero %1\n" #~ "ângulo %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Ângulo %1" #~ msgid "Angle" #~ msgstr "Ângulo" #~ msgid "Atom %1" #~ msgstr "Átomo %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Confôrmero %1\n" #~ "Torsão %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torção %1" #~ msgid "Torsion" #~ msgstr "Torsão" #~ msgid "Energy (kJ/mol)" #~ msgstr "Energia (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Confôrmero" #~ msgid "Yes" #~ msgstr "Sim" #~ msgid "No" #~ msgstr "Não" #~ msgid "Python Terminal" #~ msgstr "Terminal Python" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Console Interativo do Python" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Gostaria de atualizar o texto prévio, perdendo todas as mudanças feitas " #~ "no arquivo de entrada de dados Dalton?" #~ msgid "QM Matches" #~ msgstr "Resultados para MQ" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Seleção de EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Seleção MQ..." #~ msgid "Delete" #~ msgstr "Excluir" #~ msgid "You must make a selection!" #~ msgstr "Você deve fazer uma seleção!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Conversão para SMILES Indisponível" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Conversão para o Formato SMILES Não Disponível!" #~ msgid "Group Name" #~ msgstr "Nome do Grupo" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "mq" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "" #~ "Criar arquivos de entrada de dados para o pacote de química quântica " #~ "GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Configurações Avançadas Modificadas" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "As configurações avançadas foram modificadas.\n" #~ "Descartar?" #~ msgid "Advanced Settings Reset" #~ msgstr "Restaurar Configurações Avançadas" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Tem certeza que deseja restaurar as configurações avançadas?\n" #~ "Todas as modificações serão perdidas!" #~ msgid "Basic Settings Reset" #~ msgstr "Restaurar Configurações Básicas" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Tem certeza que deseja restaurar as configurações básicas?\n" #~ "Todas as modificações serão perdidas!" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Holerite Gaussiano" #~ msgid "Gaussian Running." #~ msgstr "A rodar Gaussian." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian já está a rodar. Espere até que os cálculos sejam concluídos." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian Não Instalado." #~ msgid "The G03 executable, cannot be found." #~ msgstr "O executável do G03 não foi encontrado." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 não iniciou. Talvez ele não esteja corretamente instalado." #~ msgid "Running Gaussian calculation..." #~ msgstr "A rodar cálculo Gaussian..." #~ msgid "G03 Crashed." #~ msgstr "G03 Travou." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian não rodou corretamente. Talvez não esteja corretamente instalado." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussiano..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "MOPAC Input Warning" #~ msgstr "Alerta Holerite MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Deseja atualizar o texto, perdendo todas as alterações feitas no holerite " #~ "MOPAC de segurança?" #~ msgid "MOPAC Running." #~ msgstr "Executando MOPAC." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC já está em execução. Aguarde até que termine os cálculos." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC não está instalado." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "O executável MOPAC não foi encontrado." #~ msgid "MOPAC failed to start." #~ msgstr "Falha ao iniciar MOPAC." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC não iniciou. Talvez não esteja corretamente instalado." #~ msgid "Running MOPAC calculation..." #~ msgstr "Executando cálculo do MOPAC..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC trancou." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC não foi executado corretamente. Talvez não esteja corretamente " #~ "instalado." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Holerite NWChem" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Alerta do Gerador de Holerite Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Deseja atualizar o texto, perdendo todas as alterações feitas no holerite " #~ "Q-Chem de segurança?" #~ msgid "Select SMARTS..." #~ msgstr "Selecione SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Selecionar por Resíduo..." #~ msgid "Add Named Selection..." #~ msgstr "Adicionar seleção nomeada..." #~ msgid "SMARTS Selection" #~ msgstr "Seleção SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Padrão SMARTS para selecionar" #~ msgid "Select by residue" #~ msgstr "Selecionar por Resíduo" #~ msgid "Residue name" #~ msgstr "Nome do Resíduo" #~ msgid "There is no current selection." #~ msgstr "Não há nada selecionado." #~ msgid "Add Named Selection" #~ msgstr "Adicionar Nome à Seleção" #~ msgid "Name cannot be empty." #~ msgstr "Deve-se preencher com o nome." #~ msgid "There is already a selection with this name." #~ msgstr "Já existe uma seleção com esse nome." #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Selecionar átomos, ligações, resíduos..." #~ msgid "GLSL Shaders..." #~ msgstr "Shaders GLSL..." #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Arquivos vertex shader (*.vert)" #~ msgid "Energy (eV)" #~ msgstr "Energia (eV)" #~ msgid "Transmittance (%)" #~ msgstr "Transmitância (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbância (%)" #~ msgid "No intensities" #~ msgstr "Sem intensidades" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Os dados vibracionais da molécula que você carregou não contém dados de " #~ "intensidade. Intensidades foram configuradas para um valor arbitrário " #~ "para a visualização." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Número de onda (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Shift (ppm)" #~ msgid "Activity" #~ msgstr "Atividade" #~ msgid "Intensity" #~ msgstr "Intensidade" #~ msgid "X Axis" #~ msgstr "Eixo X" #~ msgid "Y Axis" #~ msgstr "Eixo Y" #~ msgid "&Appearance" #~ msgstr "&Aparência" #~ msgid "E&xport Image" #~ msgstr "E&xportar Imagem" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infravermelho" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Configurações do Espectro de &Infravermelho" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "Configurações do Espectro &RMN" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "No data" #~ msgstr "Sem dados" #~ msgid "Dark" #~ msgstr "Escuro" #~ msgid "Light" #~ msgstr "Claro" #~ msgid "Publication" #~ msgstr "Publicação" #~ msgid "New Scheme" #~ msgstr "Novo Esquema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Conformar Remoção de Esquema" #~ msgid "Really remove current scheme?" #~ msgstr "Remover esquema atual?" #~ msgid "Change Scheme Name" #~ msgstr "Alterar Nome do Esquema" #~ msgid "Enter new name for current scheme:" #~ msgstr "Fornça novo nome ao esquema atual:" #~ msgid "Export Calculated Spectrum" #~ msgstr "Exportar espectro Calculado" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Valores Separados por Tabulação (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Valores Separados por Tabulação" #~ msgid "Comma Separated Values" #~ msgstr "Valores Separados por Vírgula" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Importar Espectro" #~ msgid "Spectra Import" #~ msgstr "Importar Espectro" #~ msgid "Unknown extension: %1" #~ msgstr "Extensão desconhecida: %1" #~ msgid "Data Format" #~ msgstr "Formato de Dados" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Formato" #~ msgid "Load Spectral Data" #~ msgstr "Carregar Dados Espectrais" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Formato TIFF" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "salvar Imagem do Espectro" #~ msgid "&Spectra..." #~ msgstr "E&spectro..." #~ msgid "Spectra" #~ msgstr "Espectro" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "" #~ "Visualizar dados espectrais a partir de cálculos de química quântica" #~ msgid "Vibrational Analysis" #~ msgstr "Análise Vibracional" #~ msgid "Vibration" #~ msgstr "Vibração" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "" #~ "Visualizar modos de vibração a partir de cálculos de química quântica" #~ msgid "Super Cell Builder..." #~ msgstr "Construtor de Supercélula..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Esse documento é uma molécula isolada. Você precisa criar uma célula " #~ "unitária." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Contrói e exibe supercélulas cristalográficas" #~ msgid "Orbitals" #~ msgstr "Orbitais" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Potencial Eletrostático" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Densidade Eletrônica" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbital Molecular" #~ msgid "Create Surfaces..." #~ msgstr "Criar Superfícies..." #~ msgid "Calculating VdW Cube" #~ msgstr "Calculando Cubo VdW" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Calculando OM %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Densidade Eletrônica" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "O widget GL não foi inicializado corretamente, impossibilitando que se " #~ "grave um vídeo." #~ msgid "Building video " #~ msgstr "Criando video " #~ msgid "Could not run povray." #~ msgstr "Não foi possível rodar povray." #~ msgid "Could not run mencoder." #~ msgstr "Não foi possível rodar mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Mudar a Razão de Aspecto" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "A cena atual do Avogadro tem tamanho de %1x%2 pixels, e portanto tem " #~ "razão de aspecto %3.\n" #~ "Você pode manter este valor, se pretender por exemplo utilizar POV-Ray\n" #~ "para produzir uma imagem de %4x1000 pixels, ou pode inserir qualquer " #~ "outro valor positivo,\n" #~ "por exemplo 1 se pretende utilizar POV-Ray para produzir uma imagem " #~ "quadrada, como 1000x1000 pixels." #~ msgid "Connect" #~ msgstr "Conectar" #~ msgid "Disconnect" #~ msgstr "Desconectar" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Contexto OpenGL Inválido.\n" #~ "Algo está totalmente danificado em sua instalação OpenGL (você consegue " #~ "executar qualquer aplicação OpenGL?), ou você encontrou um bug." #~ msgid "Debug Information" #~ msgstr "Informações de Debug" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Tamanho da Visualização: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Átomos: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Ligações: %L1" #~ msgid "File type '%1' is not supported for reading." #~ msgstr "O Tipo de arquivo '%1' não é suportado." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "O tipo de arquivo '%1' não por ser lido." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Falha ao ler molécula com índice %1 do arquivo '%2'." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Tipo de Arquivo '%1' não pode ser escrito." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "O formato do arquivo '%1' não pode ser escrito." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Não foi possível abrir o arquivo '%1' para escrita." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Não possível abrir o arquivo '%1'." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Falha ao substituir molécula com índice %1 no arquivo '%2'." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Arquivo %1 não pôde ser aberto para leitura." #~ msgid "File %1 can not be opened for writing." #~ msgstr "O Arquivo %1 não pode ser aberto para escrita" #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Falha ao salvar arquivo molecular - não foi possível renomear o arquivo " #~ "original." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Falha ao salvar arquivo molecular - não foi possível renomear o novo " #~ "arquivo." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Falha ao salvar arquivo molecular - não foi possível remover o arquivo " #~ "antigo." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Falha ao escrever no arquivo '%1'. Falha de funcionamento do OpenBabel." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Arquivo %1 não pôde ser aberta para escrita." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Falha ao escrever os confórmeros no arquivo '%1'." #~ msgid "Molecule %1" #~ msgstr "Molécula %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Motor Python Desconhecido" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: verificando " #~ msgid " - no module" #~ msgstr " - sem módulo" #~ msgid "Unknown Python Extension" #~ msgstr "Extensão Python Desconhecida" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: verificando " #~ msgid "Unknown Python Tool" #~ msgstr "Ferramenta Python Desconhecida" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: verificando " #~ msgid "Conformer %1" #~ msgstr "Confórmero %1" #~ msgid "Tools" #~ msgstr "Ferramentas" #~ msgid "Axis:" #~ msgstr "Eixo:" #~ msgid "Align:" #~ msgstr "Alinhar:" #~ msgid "Everything" #~ msgstr "Tudo" #~ msgid "Align" #~ msgstr "Alinhar" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Alinha moléculas a um eixo cartesiano" #~ msgid "Align Settings" #~ msgstr "Configurações de Alinhamento" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOtimização: Não foi possível habilitar o campo de força..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOtimização: E = %1 %2 (dE = %3)" #~ msgid "Steps per Update:" #~ msgstr "Passos por Atualização:" #~ msgid "Algorithm:" #~ msgstr "Algoritmo:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Dinâmica Molecular (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Dinâmica Molecular (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Dinâmica Molecular (900k)" #~ msgid "Start" #~ msgstr "Iniciar" #~ msgid "Fixed atoms are movable" #~ msgstr "Átomos fixos são movíveis" #~ msgid "Ignored atoms are movable" #~ msgstr "Átomos ignorados são movíveis" #~ msgid "AutoOpt Molecule" #~ msgstr "AutoOtimizar Molécula" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Otimização automática da geometria molecular" #~ msgid "AutoOptimization Settings" #~ msgstr "Configurações de Otimização" #~ msgid "Auto Rotation Tool" #~ msgstr "Ferramenta de Auto Rotação" #~ msgid "x rotation:" #~ msgstr "Rotação em x:" #~ msgid "x rotation" #~ msgstr "Rotação em x" #~ msgid "y rotation:" #~ msgstr "Rotação em y:" #~ msgid "y rotation" #~ msgstr "Rotação em y" #~ msgid "z rotation:" #~ msgstr "Rotação em z:" #~ msgid "z rotation" #~ msgstr "Rotação em z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Rotação automática de moléculas" #~ msgid "AutoRotate Settings" #~ msgstr "Definições de Autorrotação" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Comprimento de Ligação: %L1" #~ msgid " Show Angles" #~ msgstr " Exibir Ângulos" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Distância (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Ângulo: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Distância (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Ângulo Diédrico: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Distância(s):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Medir comprimentos de ligação, ângulos, e diedros" #~ msgid "Delete Atom" #~ msgstr "Apagar Átomo" #~ msgid "Draw Bond" #~ msgstr "Desenhar Ligação" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Desenhar e editar átomos e ligações" #~ msgid "Draw Settings" #~ msgstr "Propriedades de Desenho" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Transladar, rotacionar, e ajustar átomos e fragmentos" #~ msgid "Manipulate Settings" #~ msgstr "Configurações de Manipulação" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Transladar, rotacionar, e ampliar em torno da visualização atual" #~ msgid "Navigate Settings" #~ msgstr "Configurações de Navegação" #~ msgid "Selection Mode:" #~ msgstr "Modo de Seleção:" #~ msgid "Atom/Bond" #~ msgstr "Átomo/Ligação" #~ msgid "Residue" #~ msgstr "Resíduo" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Selecionar átomos, resíduos e moléculas" #~ msgid "Symbol" #~ msgstr "Símbolo" #~ msgid "Bond Length" #~ msgstr "Comprimento de Ligação" #~ msgid "Bond Angle" #~ msgstr "Ângulo de Ligação" #~ msgid "Dihedral Angle" #~ msgstr "Ângulo Diédrico" #~ msgid "Z Matrix Editor..." #~ msgstr "Editor Matriz Z..." #~ msgid "Z-Matrix" #~ msgstr "Matriz-Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Criar/editar uma matriz-z" #~ msgid "Z-Matrix Settings" #~ msgstr "Configurações para Matriz-Z" #~ msgid "Residue Color Settings" #~ msgstr "Configurações de Cor par Resíduo" #~ msgid "Color residues by:" #~ msgstr "Colorir resíduois por:" #~ msgid "Amino Colors" #~ msgstr "Aminoácido" #~ msgid "Shapely Colors" #~ msgstr "Cores simétricas" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobia" #~ msgid "Axes:" #~ msgstr "Eixos:" #~ msgid "Cartesian Axes" #~ msgstr "Eixos Cartesianos" #~ msgid "Orthogonal Axes" #~ msgstr "Eixos Ortogonais" #~ msgid "Axis 1:" #~ msgstr "Eixo 1:" #~ msgid "Axis 2:" #~ msgstr "Eixo 2:" #~ msgid "Axis 3:" #~ msgstr "Eixo 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Origem:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Atom Radius:" #~ msgstr "Raio dos Átomos:" #~ msgid "Bond Radius:" #~ msgstr "Raio das Ligações:" #~ msgid "Shape" #~ msgstr "Forma" #~ msgid "Helix" #~ msgstr "Hélice" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Folha" #~ msgid "Loop" #~ msgstr "Repetir" #~ msgid "Colors" #~ msgstr "Cores" #~ msgid "Dipole:" #~ msgstr "Dipolo:" #~ msgid "Dipole Moment" #~ msgstr "Momento Dipolar" #~ msgid "Custom:" #~ msgstr "Personalizar:" #~ msgid "Width:" #~ msgstr "Largura:" #~ msgid "Cut-off radius:" #~ msgstr "Raio de corte:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Ângulo de corte:" #~ msgid "Text:" #~ msgstr "Texto:" #~ msgid "Color:" #~ msgstr "Cor:" #~ msgid "None" #~ msgstr "Nenhum" #~ msgid "Formal charge" #~ msgstr "Carga formal" #~ msgid "Partial charge" #~ msgstr "Carga parcial" #~ msgid "Residue number" #~ msgstr "Número do Resíduo" #~ msgid "Change Font" #~ msgstr "Alterar Fonte" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Bond length" #~ msgstr "Comprimento da ligação" #~ msgid "Bond number" #~ msgstr "Número da Ligação" #~ msgid "Bond order" #~ msgstr "Ordem da Ligação" #~ msgid "Rendering:" #~ msgstr "Renderizar:" #~ msgid "Backbone" #~ msgstr "Espinha" #~ msgid "Lines" #~ msgstr "Linhas" #~ msgid "Radius:" #~ msgstr "Raio:" #~ msgid "Include Nitrogens" #~ msgstr "Incluir Nitorgênios" #~ msgid "VdW Opacity:" #~ msgstr "Opacidade VdW" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Renderizar:" #~ msgid "Fill" #~ msgstr "Preenchimento" #~ msgid "Points" #~ msgstr "Pontos" #~ msgid "Draw Box:" #~ msgstr "Desenhar Caixa:" #~ msgid "Style:" #~ msgstr "Estilo:" #~ msgid "Selected Colors" #~ msgstr "Cores Selecionadas" #~ msgid "Mapped Colors" #~ msgstr "Cores Mapeadas" #~ msgid "Colors:" #~ msgstr "Cores:" #~ msgid "Positive" #~ msgstr "Positivo" #~ msgid "Negative" #~ msgstr "Negativo" #~ msgid "Show Atoms" #~ msgstr "Exbir Átomos" #~ msgid "Animate Trajectory" #~ msgstr "Trajetória animada" #~ msgid "0/0" #~ msgstr "0/0" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Salvar como .avi..." #~ msgid "Angstroms" #~ msgstr "Angstroms" #~ msgid "Bohrs" #~ msgstr "Bohrs" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "Apply Changes" #~ msgstr "Aplicar Alterações" #~ msgid "Paste to the End" #~ msgstr "Colar ao Final" #~ msgid "Sort by " #~ msgstr "Organizar por " #~ msgid "Conformer Search" #~ msgstr "Busca Conformacional" #~ msgid "Method" #~ msgstr "Método" #~ msgid "Number of atoms:" #~ msgstr "Número de átomos:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Número de ligações rotacionáveis:" #~ msgid "Number of conformers" #~ msgstr "Número de confórmeros" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Constraints" #~ msgstr "Restrições" #~ msgid "Add Constraints" #~ msgstr "Adicionar Restrições" #~ msgid "Ignore Atom" #~ msgstr "Ignorar Átomo" #~ msgid "Fix Atom" #~ msgstr "Fixar Átomo" #~ msgid "Fix Atom X" #~ msgstr "Fixar Átomo em X" #~ msgid "Fix Atom Y" #~ msgstr "Fixar Átomo em Y" #~ msgid "Fix Atom Z" #~ msgstr "Ficar Átomo em Z" #~ msgid "Torsion angle" #~ msgstr "Ângulo de Torsão" #~ msgid "Constraint Value" #~ msgstr "Ângulo de Torsão" #~ msgid "Atom Indices" #~ msgstr "Índices dos Átomos" #~ msgid "Add" #~ msgstr "Adicionar" #~ msgid "Save" #~ msgstr "Salvar" #~ msgid "Load" #~ msgstr "Carregar" #~ msgid "Cartesian" #~ msgstr "Cartesiano" #~ msgid "All" #~ msgstr "Todos" #~ msgid "File Import..." #~ msgstr "Importar Arquivo..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Tentar observar ligações?" #~ msgid "Setup Force Field" #~ msgstr "Configurar Campo de Força" #~ msgid "Force Field" #~ msgstr "Campo de Força" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Número de passos" #~ msgid "Algorithm" #~ msgstr "Algoritmo" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Sequencia:" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Outro" #~ msgid "Insert Fragment..." #~ msgstr "Inserir Fragmento..." #~ msgid "Peptide Builder" #~ msgstr "Construtor de Peptídeos" #~ msgid "Alanine" #~ msgstr "Alanina" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginina" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagina" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Ácido Aspártico" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cisteína" #~ msgid "Cys" #~ msgstr "Cis" #~ msgid "Glutamic acid" #~ msgstr "Ácido Glutâmico" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamina" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glicina" #~ msgid "Gly" #~ msgstr "Gli" #~ msgid "Histidine" #~ msgstr "Histidina" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucina" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valina" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirosina" #~ msgid "Tyr" #~ msgstr "Tir" #~ msgid "Tryptophan" #~ msgstr "Triptofano" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treonina" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serina" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolina" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanina" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionina" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lisina" #~ msgid "Lys" #~ msgstr "Lis" #~ msgid "Leucine" #~ msgstr "Leucina" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminoácidos:" #~ msgid "Sequence (N to C):" #~ msgstr "Sequência (N até C):" #~ msgid "Stereochemistry:" #~ msgstr "Estereoquímica:" #~ msgid "L" #~ msgstr "E" #~ msgid "D" #~ msgstr "B" #~ msgid "N Terminus:" #~ msgstr "Estação N:" #~ msgid "C Terminus:" #~ msgstr "Estação C:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Alpha Helix" #~ msgstr "Alfa Hélice" #~ msgid "Beta Sheet" #~ msgstr "Folha Beta" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Propriedades da Molécula" #~ msgid "Number of Residues:" #~ msgstr "Número de Resíduos:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energia (kj/mol)" #~ msgid "Dipole Moment (D):" #~ msgstr "Momento Dipolar (D):" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Avançado" #~ msgid "Control" #~ msgstr "Controle" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Dados" #~ msgid "Grid" #~ msgstr "Grade" #~ msgid "POV-Ray Export" #~ msgstr "Exportar POV-Ray" #~ msgid "Select..." #~ msgstr "Selecionar..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Antialias" #~ msgstr "Suavizar" #~ msgid "Set the background color to be transparent" #~ msgstr "Definir cor de fundo transparente" #~ msgid "Alpha transparency" #~ msgstr "Transparência alfa" #~ msgid "Command:" #~ msgstr "Comando:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Renderiza diretamente a molécula usando linahs de comando POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Mantém a fonte POV-Ray após a renderização ter sido concluída" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Manter fonte POV-Ray após renderizar" #~ msgid "Path:" #~ msgstr "Caminho:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Compute..." #~ msgstr "Computar..." #~ msgid "Basics" #~ msgstr "Informações Básicas" #~ msgid "HF" #~ msgstr "HF" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Parallel" #~ msgstr "Paralelo" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "Density:" #~ msgstr "Densidade:" #~ msgid "normal" #~ msgstr "normal" #~ msgid "fine" #~ msgstr "fino" #~ msgid "ultrafine" #~ msgstr "ultra-fino" #~ msgid "Property:" #~ msgstr "Propriedade:" #~ msgid "Polarizability" #~ msgstr "Polarizabilidade:" #~ msgid "Excitation Energy" #~ msgstr "Energia de Excitação:" #~ msgid "EFP Matches" #~ msgstr "Resultados para EFP" #~ msgid "Group Label:" #~ msgstr "Rótulo do Grupo" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Configurações &Avançadas" #~ msgid "Stat Point" #~ msgstr "Ponto Inicial" #~ msgid "System" #~ msgstr "Sistema" #~ msgid "MO Guess" #~ msgstr "Estimar OM" #~ msgid "Misc" #~ msgstr "Misc" #~ msgid "Read" #~ msgstr "Ler" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Valência Duplo Zeta" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Valência Triplo Zeta" #~ msgid "SBKJA Valence" #~ msgstr "Valência SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "Valência Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Tipo ECP:" #~ msgid "Default" #~ msgstr "Padrão" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "Iterações Max SCF" #~ msgid "Gradient" #~ msgstr "Gradiente" #~ msgid "Optimization" #~ msgstr "Otimização" #~ msgid "Trudge" #~ msgstr "Arrastar" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Extremo gradiente" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energia de Superfície" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Transição radiativa mãe." #~ msgid "Spin Orbit" #~ msgstr "Órbita de Spin" #~ msgid "Finite Electric Field" #~ msgstr "Campo Elétrico Finito" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Otimização Global" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Otimização de FMO" #~ msgid "Raman Intensities" #~ msgstr "Intensidades Raman" #~ msgid "NMR" #~ msgstr "RMN" #~ msgid "Make EFP" #~ msgstr "Construir EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Nenhum" #~ msgid "Foster-Boys" #~ msgstr "Meninos adotivos" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "Localization Method:" #~ msgstr "Método de Localização:" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinantes" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Ocupação restrita à múltiplos espaços ativos." #~ msgid "CI Singles" #~ msgstr "CI Simples" #~ msgid "Full Second Order CI" #~ msgstr "Preencher Segunda Ordem de CI" #~ msgid "CC:" #~ msgstr "CC" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearizado CC" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC Simples ou Duplos" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Execução Normal" #~ msgid "Check" #~ msgstr "Verificar" #~ msgid "Debug" #~ msgstr "Depurar" #~ msgid "Molecule Charge:" #~ msgstr "Carga da Molécula:" #~ msgid "Run Type:" #~ msgstr "Tipo de Excução:" #~ msgid "Use MP2" #~ msgstr "Usar MP2" #~ msgid "Use DFT" #~ msgstr "Usar DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# Variaveis da Z-Matrix" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Ordem do Eixo Principal:" #~ msgid "Coordinate Type:" #~ msgstr "Tipo de Coordenada:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrant internos" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Usar Simetria Durante Cálculo" #~ msgid "Minutes" #~ msgstr "Minutos" #~ msgid "Hours" #~ msgstr "Horas" #~ msgid "Days" #~ msgstr "Dias" #~ msgid "Weeks" #~ msgstr "Semanas" #~ msgid "Years" #~ msgstr "Anos" #~ msgid "Millenia" #~ msgstr "Milênio" #~ msgid "MegaBytes" #~ msgstr "MegaBytes" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "Memory:" #~ msgstr "Memória:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Balanceamento de carga paralelo" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Próximo Valor" #~ msgid "Initial Guess:" #~ msgstr "Estimativa Inicial" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "Skip" #~ msgstr "Pular" #~ msgid "Print the Initial Guess" #~ msgstr "Mostre a Estimativa Inicial" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Forçar uma verificação de tipo de execução" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "Copy text \t MELDF" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvatar com Água" #~ msgid "Direct SCF" #~ msgstr "Direcionar SCF" #~ msgid "Slater exchange" #~ msgstr "Troca de Slater" #~ msgid "Becke 1988 exchange" #~ msgstr "Troca Becke 1988" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: correlação Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: correlação Lee-Yang-Parr" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Troca Slater+ Correlação VWN" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: Troca BECKE + Correlação VWN5" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: Troca BECKE + Correlação LYP" #~ msgid "Gill 1996 exchange" #~ msgstr "Troca Gill 1996" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Troca Perdew-Burke-Ernzerhof (PBE)" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Correlação Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + Correlação OP" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: Troca BECKE + Correlação OP" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: Troca GILL + Correlação VWN5" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: Troca GILL + Correlação LYP" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: Troca PBE + Correlação VWN6" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: Troca PBE + Correlação LYP" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: Troca PBE + Correlação OP" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: Troca HF e BECKE + Correlação LYP" #~ msgid "Method:" #~ msgstr "Método:" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplicado em Cada Nó" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distribuído por Todos os Nós" #~ msgid "words" #~ msgstr "palavras" #~ msgid "Use Localized Orbitals" #~ msgstr "Usar Orbitais Localizados" #~ msgid "# of Core Electrons:" #~ msgstr "# de Núcleos de Elétrons:" #~ msgid "Transformation Method" #~ msgstr "Método de Transformação" #~ msgid "Two Phase Bin Sort" #~ msgstr "Ordenação de duas fases" #~ msgid "Segmented Transformation" #~ msgstr "Transformação Segmentada" #~ msgid "Analytic" #~ msgstr "Analítica" #~ msgid "Numeric" #~ msgstr "Numérica" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Inicial de Héssios" #~ msgid "Guess (+ define)" #~ msgstr "Hipótese (+ define)" #~ msgid "Read (from $HESS)" #~ msgstr "Ler (de $HESS)" #~ msgid "Stationary Point" #~ msgstr "Ponto Estacionário" #~ msgid "Step Size" #~ msgstr "Tamanho do Passo" #~ msgid "Maximum:" #~ msgstr "Máximo:" #~ msgid "Minimum:" #~ msgstr "Mínimo:" #~ msgid "Initial:" #~ msgstr "Inicial:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Quadratic Approximation" #~ msgstr "Aproximação Quadrática" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Maximum Steps:" #~ msgstr "Máximo de Passos:" #~ msgid "Basis:" #~ msgstr "Base:" #~ msgid "Z-matrix" #~ msgstr "Matriz-Z" #~ msgid "Gaussian Input" #~ msgstr "Entrada Gaussiana" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Padrão" #~ msgid "MOLPRO Input" #~ msgstr "Entrada MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "MOPAC Input" #~ msgstr "Entrada MOPAC" #~ msgid "Quartet" #~ msgstr "Quarteto" #~ msgid "Quintet" #~ msgstr "Quinteto" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "Q-Chem Input" #~ msgstr "Entrada Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Fragment Shader:" #~ msgstr "Sombreador de fragmentos" #~ msgid "Display Type:" #~ msgstr "Modo de Exibição:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Controles:\n" #~ "Duplo clique esquerdo: Restaura limites padrão de eixos\n" #~ "Clique direito + arrastar: Move gráfico\n" #~ "Clique do meio + arrastar: Zoom na região\n" #~ "Roda do mouse: Zoom para o cursor" #~ msgid "&Load data..." #~ msgstr "&Carregar dados..." #~ msgid "&Close" #~ msgstr "&Fechar" #~ msgid "Calculated Spectra:" #~ msgstr "Espectro Calculado:" #~ msgid "Set Color..." #~ msgstr "Mudar Cor..." #~ msgid "Imported Spectra:" #~ msgstr "Espectro Importado:" #~ msgid "Font:" #~ msgstr "Fonte:" #~ msgid "Change Font..." #~ msgstr "Mudar Fonte..." #~ msgid "Show" #~ msgstr "Mostrar" #~ msgid "&Import..." #~ msgstr "&Importar..." #~ msgid "Background:" #~ msgstr "Fundo:" #~ msgid "Foreground:" #~ msgstr "Frente:" #~ msgid "New..." #~ msgstr "Novo..." #~ msgid "Rename..." #~ msgstr "Renomear..." #~ msgid "&Schemes:" #~ msgstr "E&squemas:" #~ msgid "&Export..." #~ msgstr "&Exportar..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Largura:" #~ msgid "&Height" #~ msgstr "&Altura" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "pol" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Salvar Imagem..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Usar um valor otimizado para o tamanho da fonte em vez de valor " #~ "especificado (a conversão da tela para pontos de imagem não é boa!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Tamanho de Fonte Auto-ajustado" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "&Y Axis Units:" #~ msgstr "Unidades do Eixo &Y:" #~ msgid "&Reference:" #~ msgstr "&Referência:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Vibrações Moleculares" #~ msgid "Display force &vectors" #~ msgstr "Exibir &vetores de força" #~ msgid "Generate Cell" #~ msgstr "Gerar Célula" #~ msgid "Create Surfaces" #~ msgstr "Criar Superfícies" #~ msgid "Surface Type:" #~ msgstr "Tipo de Superfície:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Baixa" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Média" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Alta" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Muito Alta" #~ msgid "Advanced..." #~ msgstr "Avançado..." #~ msgid "&Length:" #~ msgstr "&Duração:" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Y-axis" #~ msgstr "Eixo Y" #~ msgid "Z-axis" #~ msgstr "Eixo Z" #~ msgid "Origin" #~ msgstr "Origem" #~ msgid "Geometry" #~ msgstr "Geometria" #~ msgid "Display visual cues" #~ msgstr "Mostrar pistas visuais" #~ msgid "Python Settings" #~ msgstr "Configurações do Python" #~ msgid "Z Matrix Editor" #~ msgstr "Editor de Matriz Z" #~ msgid "Import Selected Atoms" #~ msgstr "Importar Átomos Selecionados" avogadrolibs-1.93.0/i18n/ru.po000066400000000000000000006732411360735163600160540ustar00rootroot00000000000000# Russian translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # # FIRST AUTHOR , 2008. # Yuri Kozlov , 2011. msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:53+0000\n" "Last-Translator: ManDrive \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Генератор входного файла..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Генератор входного файла..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Продолжить" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Закрыть" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Неизвестный" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Остановить расчёт" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Предупреждение" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Предупреждение" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Выделить растворитель" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Вывод" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Запись в файл невозможна." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Видео файл не записан." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Видео файл не записан." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Настроить" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Название" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Имя файла:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Процессоры:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Расчёт:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Теория:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Теория:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Базис" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Молекула не задана" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Остановить анимацию" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Не выбрано ни одного атома" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Водород" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Гелий" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Литий" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Бериллий" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Бор" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Углерод" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Азот" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Кислород" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Фтор" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Неон" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Натрий" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Магний" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Алюминий" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Кремний" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Фосфор" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Сера" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Хлор" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Аргон" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Калий" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Кальций" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Скандий" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Титан" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Ванадий" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Хром" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Марганец" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Железо" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Кобальт" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Никель" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Медь" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Цинк" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Галлий" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Германий" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Мышьяк" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Селен" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Бром" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Криптон" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Рубидий" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Стронций" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Иттрий" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Цирконий" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Ниобий" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Молибден" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Технеций" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Рутений" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Родий" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Палладий" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Серебро" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Кадмий" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Индий" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Олово" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Сурьма" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Теллур" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Иод" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ксенон" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Цезий" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Барий" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Лантан" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Церий" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Празеодим" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Неодим" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Прометий" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Самарий" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Европий" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Гадолиний" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Тербий" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Диспрозий" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Гольмий" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Эрбий" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Тулий" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Иттербий" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Лютеций" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Гафний" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Тантал" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Вольфрам" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Рений" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Осмий" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Иридий" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Платина" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Золото" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Ртуть" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Таллий" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Свинец" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Висмут" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Полоний" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Астат" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Радон" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Франций" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Радий" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Актиний" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Торий" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Протактиний" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Уран" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Нептуний" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Плутоний" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Америций" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Кюрий" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Берклий" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Калифорний" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Эйнштейний" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Фермий" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Менделевий" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Нобелий" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Лоуренсий" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Резерфордий" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Дубний" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Сиборгий" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Борий" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Хассий" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Мейтнерий" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Дармштадтий" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Рентгений" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Коперниций" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Цирконий" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Флеровий" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Ливерморий" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Обзор..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Выделить растворитель" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Удалить выбранное" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Все файлы" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "без названия" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Периодическая система" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Не удалось запустить G03." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Сценарии" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Ошибка OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Неизвестный" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Молекула" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Добавить атом" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Удалить атом" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Очистить всё" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" "Автоматическое добавление\n" "атомов водорода" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Изменить элемент" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Изменить элемент" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Формальный заряд" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Добавить связь" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Удалить атом" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Удалить связь" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Порядок связи" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Изменить порядок связи" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Привязка к связям" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Удалить связь" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Добавить &Элементарную ячейку" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Заполнить ячейку" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Заполнить ячейку" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Надъячейка" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Надъячейка" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Заполнить ячейку" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Файл" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Экспортировать" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Пороговые значения" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Открытие файла WFN" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Расширения" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Ошибка" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Не удалось прочитать файл траектории %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Ошибка OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Не удалось прочитать файл траектории %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Открытие файла WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Открытие файла WFN" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Ошибка" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Сохранить входной файл" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Успешно!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Изображение успешно сохранено в файл %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Показывать кратные связи" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Атомы водорода" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Шаро-стержневая модель" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Отображает подписи атомов и связей" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Перемещение связей" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Перемещение связей" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Последний атом" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Удалить атомы водорода" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "П&остроение" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Связь" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Имя файла:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Редактор декартовых координат" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Редактор декартовых координат" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Отменить изменения" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Неправильное имя файла" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Название элемента" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Символ элемента" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Символ элемента" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Неправильное имя файла" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Номер атома" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Неправильное имя файла" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Координаты" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Координаты" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Координаты" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Декартовы координаты" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Декартовы координаты" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Координаты" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Задать декартовы координаты" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Настраиваемое" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Alexei Klimenko,Andrey Smolenkov,Konstantin " "Tokarev,Koptev Oleg,Nick Gorbunov,Nkolay Parukhin,Petr E. Antonov,Vasily " "Astanin,Vladimir Kurg,dn2010, ,Launchpad Contributions:,Alexei Klimenko," "Andrey Smolenkov,Konstantin Tokarev,Koptev Oleg,Nick Gorbunov,Nkolay " "Parukhin,Petr E. Antonov,Vasily Astanin,Vladimir Kurg,dn2010, ,Launchpad " "Contributions:,Konstantin Tokarev, ,Launchpad Contributions:,Konstantin " "Tokarev,Vasily Astanin, ,Launchpad Contributions:,Konstantin Tokarev,Nkolay " "Parukhin,Solodukhin D.,Vasily Astanin,dn2010, ,Launchpad Contributions:," "Konstantin Tokarev,Nkolay Parukhin,Oleg,Solodukhin D.,Vasily Astanin," "dn2010, ,Launchpad Contributions:,Avogadro Team,Konstantin Tokarev,Nkolay " "Parukhin,Oleg,Solodukhin D.,Vasily Astanin,dn2010, ,Launchpad Contributions:," "Avogadro Team,Konstantin Tokarev,Nkolay Parukhin,Oleg,Solodukhin D.,Vasily " "Astanin,dn2010, ,Launchpad Contributions:,Avogadro Team,Konstantin Tokarev," "Nkolay Parukhin,Oleg,Solodukhin D.,Vasily Astanin,dn2010, ,Launchpad " "Contributions:,Avogadro Team,Konstantin Tokarev,Nkolay Parukhin,Oleg," "Solodukhin D.,Vasily Astanin,Wladimir Rossinski,dn2010, ,Launchpad " "Contributions:,Avogadro Team,Konstantin Tokarev,Nkolay Parukhin,Oleg," "Solodukhin D.,Vasily Astanin,Wladimir Rossinski,dn2010, ,Launchpad " "Contributions:,Auduf,Avogadro Team,Konstantin Tokarev,ManDrive,Nkolay " "Parukhin,Oleg,Solodukhin D.,Vasily Astanin,Wladimir Rossinski,Yuri Kozlov," "dn2010, ,Launchpad Contributions:,Auduf,Avogadro Team,Konstantin Tokarev," "ManDrive,Nkolay Parukhin,Oleg,Solodukhin D.,Vasily Astanin,Wladimir " "Rossinski,Yuri Kozlov,dn2010, ,Launchpad Contributions:,Auduf,Avogadro Team," "Konstantin Tokarev,ManDrive,Nkolay Parukhin,Oleg,Solodukhin D.,Vasily " "Astanin,Wladimir Rossinski,Yuri Kozlov,dn2010" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ с номерами" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Декартовы координаты" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Декартовы координаты" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "EFP информация для GAMESS" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "EFP информация для GAMESS" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Входной файл Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Копировать всё" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Настраиваемое" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Очистить всё" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Не удалось определить формат: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Не удалось определить формат: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "Импорт кристалла из буфера обмена..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Заполнить ячейку" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Заполнить ячейку" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Надъячейка" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Кристалл..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Добавить &Элементарную ячейку" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Кристалл..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Отображает подписи атомов и связей" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Невозможно разобрать текст" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Произвольные оси" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Рисовать" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Нарисовать атом" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Изменить порядок связи" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Удалить атом" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Расстояние" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Расстояние (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Другой..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Автооптимизация" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Одинарная" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Двойная" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Тройная" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "Сценарии" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Не удалось прочитать файл траектории %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Генератор входного файла..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Входной файл GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Энергия в точке" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Равновесная геометрия" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Переходное состояние" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Частоты колебаний" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Псевдопотенциал" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "газовой фазе" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "воде" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Синглет" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Дублет" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Триплет" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Дикатион" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Катион" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Нейтральный" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Анион" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Дианион" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Входной файл GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Остановить расчёт" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "" "Автоматическое добавление\n" "атомов водорода" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Добавить атомы водорода" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Удалить атомы водорода" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Удалить атомы водорода" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Атомы водорода" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Атомы водорода" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Импортировать" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Отображает подписи атомов и связей" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "В&ставить" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Нет описания" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Молекула" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Генерировать…" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Перемещение" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Перемещение атома" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Измерение" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Двугранный угол:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Угол:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Угол:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Измерение" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Отображает сетки молекулярных поверхностей" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Вид" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Свойства молекулы" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Навигация" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Навигация" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Название вещества" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Скачать химическую структуру" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Не удалось загрузить из сети" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Истекло время соединения, или другая ошибка" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Не удалось найти молекулу: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Не удалось загрузить из сети" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Оптимизировать геометрию" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Оптимизация геометрии" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Распознать связи?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Добавить атомы водорода" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Добавить протоны при pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Удалить атомы водорода" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Не удалось прочитать молекулу из файла '%1'." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Возникла проблема при записи файла %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Оптимизировать геометрию" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Генерировать…" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "Файл траектории %1 не соответствует числу атомов в данной молекуле" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Оптимизировать геометрию" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Добавить атомы водорода" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Даннинг" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Добавить протоны при pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Удалить атомы водорода" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Остановить" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Параметры:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Динамические связи" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Удалить..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Остановить" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Экспорт в формате векторной графики" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Невозможно считать файл %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Это сообщение об ошибке!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Ошибка" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Сохранить видео файл" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Визуализировать в POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Отображает элементы на основе свойств QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "Рас&ширения" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Открытие файла WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Файлы WFN (*.wfn);;Все файлы (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Расширение QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Создает входные файлы для квантовохимических программ" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Расчет электронной плотности" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Расчет электронной плотности" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Рассчитать и визуализировать молекулярные орбитали" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(ВЗМО)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(НСМО)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Сброс" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Генераторы входных файлов" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Удалить всё" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Выделение" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Обратить выделение" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " валентные электроны" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Выделить" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Выделить" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Выделение" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Выделение" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Международное" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Колебания" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Визуализация спектров" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Тип" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Элемент" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Симметрия" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Выделить по элементу..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Отображает молекулярный дипольный момент" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Ван-дер-Ваальсова" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Ван-дер-Ваальсова" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Старт" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Визуализировать в POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Каркас" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Отображает молекулы стержнями" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Диалог" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Форма" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Настройки выделения" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Остановить расчёт" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Программа построения теней:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Процессоры:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Скрыть после окончания" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Скрыть после окончания" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Изменить элемент" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Входной файл Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Файл параметров:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Силовое поле:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Файл параметров:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Входной файл Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Сохранить входной файл" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Успешно!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Структура:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Загрузить файл..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Настройки измерения" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "Имя файла:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Навигация" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Навигация" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Навигация" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Имя файла:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "Готово" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Отменить" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Формат координат:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Сброс" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Расстояние" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Ангстрем" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Бор" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Формат:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Отменить изменения" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Применить" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Импортировать кристалл" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Параметры надъячейки" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Настройки надъячейки" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Повторений по оси A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Повторений по оси B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Повторений по оси C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Спрятать &Редакторы" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Z-матрица MOPAC" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Дробные" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Метод трансформации" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Применить" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Скрыть" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Введите новый объём:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Коэффициент масштабирования:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Текстовая метка" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Элемент:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Порядок связи:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Входной файл GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Основные параметры" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "В:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Мультиплетность:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "С помощью:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Название:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Заряд:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Рассчитать:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Имя файла:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Сбросить всё" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "По умолчанию" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Загрузить файл..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "имя" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Формат:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Нет описания" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Молекулярная масса (г/моль):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Химическая формула:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Количество атомов:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Количество связей:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Оптимизация геометрии" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Метод оптимизации:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Силовое поле:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Метод оптимизации:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Наискорейший спуск" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Сопряжённые градиенты" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Автоматическое вращение" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Ван-дер-Ваальсова поверхность, предел = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Электростатический потенциал" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "шагов" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Критерии сходимости градиента:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Порог сходимости" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Ограничение времени:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Единицы измерения" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Количество связей:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Длина волны (нм)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Удалить выбранное" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Ковалентный" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Постоянный размер" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Непрозрачность:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Поверхности" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Поверхности" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Среднее" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Очень низкое" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Низкое" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Высокое" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Очень высокое" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Параметр отсечения изоповерхности" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Разрешение:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Поверхности" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Рассчитать" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Колебания" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Амплитуда:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Начать &анимацию" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Остановить анимацию" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Молекула" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Симметрия" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Параметры" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Симметрия" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Alexei Klimenko,Andrey Smolenkov,Konstantin " "Tokarev,Koptev Oleg,Nick Gorbunov,Nkolay Parukhin,Petr E. Antonov,Vasily " "Astanin,Vladimir Kurg,dn2010, ,Launchpad Contributions:,Alexei Klimenko," "Andrey Smolenkov,Konstantin Tokarev,Koptev Oleg,Nick Gorbunov,Nkolay " "Parukhin,Petr E. Antonov,Vasily Astanin,Vladimir Kurg,dn2010, ,Launchpad " "Contributions:,Konstantin Tokarev, ,Launchpad Contributions:,Konstantin " "Tokarev,Vasily Astanin, ,Launchpad Contributions:,Konstantin Tokarev,Nkolay " "Parukhin,Solodukhin D.,Vasily Astanin,dn2010, ,Launchpad Contributions:," "Konstantin Tokarev,Nkolay Parukhin,Oleg,Solodukhin D.,Vasily Astanin," "dn2010, ,Launchpad Contributions:,Avogadro Team,Konstantin Tokarev,Nkolay " "Parukhin,Oleg,Solodukhin D.,Vasily Astanin,dn2010, ,Launchpad Contributions:," "Avogadro Team,Konstantin Tokarev,Nkolay Parukhin,Oleg,Solodukhin D.,Vasily " "Astanin,dn2010, ,Launchpad Contributions:,Avogadro Team,Konstantin Tokarev," "Nkolay Parukhin,Oleg,Solodukhin D.,Vasily Astanin,dn2010, ,Launchpad " "Contributions:,Avogadro Team,Konstantin Tokarev,Nkolay Parukhin,Oleg," "Solodukhin D.,Vasily Astanin,Wladimir Rossinski,dn2010, ,Launchpad " "Contributions:,Avogadro Team,Konstantin Tokarev,Nkolay Parukhin,Oleg," "Solodukhin D.,Vasily Astanin,Wladimir Rossinski,dn2010, ,Launchpad " "Contributions:,Auduf,Avogadro Team,Konstantin Tokarev,ManDrive,Nkolay " "Parukhin,Oleg,Solodukhin D.,Vasily Astanin,Wladimir Rossinski,Yuri Kozlov," "dn2010, ,Launchpad Contributions:,Auduf,Avogadro Team,Konstantin Tokarev," "ManDrive,Nkolay Parukhin,Oleg,Solodukhin D.,Vasily Astanin,Wladimir " "Rossinski,Yuri Kozlov,dn2010, ,Launchpad Contributions:,Auduf,Avogadro Team," "Konstantin Tokarev,ManDrive,Nkolay Parukhin,Oleg,Solodukhin D.,Vasily " "Astanin,Wladimir Rossinski,Yuri Kozlov,dn2010" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,annulen@yandex.ru,,,nik@sevpinro.ru,,madcad@yandex.ru,,dn2010@km.ru,,,,," "annulen@yandex.ru,,,nik@sevpinro.ru,,madcad@yandex.ru,,dn2010@km.ru,,," "annulen@yandex.ru,,,annulen@yandex.ru,madcad@yandex.ru,,,annulen@yandex.ru," "parukhin@gmail.com,hippi90ub@gmail.com,madcad@yandex.ru,dn2010@km.ru,,," "annulen@yandex.ru,parukhin@gmail.com,,hippi90ub@gmail.com,madcad@yandex.ru," "dn2010@km.ru,,,avogadro-devel@lists.sourceforge.net,annulen@yandex.ru," "parukhin@gmail.com,,hippi90ub@gmail.com,madcad@yandex.ru,dn2010@km.ru,,," "avogadro-devel@lists.sourceforge.net,annulen@yandex.ru,parukhin@gmail.com,," "hippi90ub@gmail.com,madcad@yandex.ru,dn2010@km.ru,,,avogadro-devel@lists." "sourceforge.net,annulen@yandex.ru,parukhin@gmail.com,,hippi90ub@gmail.com," "madcad@yandex.ru,dn2010@km.ru,,,avogadro-devel@lists.sourceforge.net," "annulen@yandex.ru,parukhin@gmail.com,,hippi90ub@gmail.com,madcad@yandex.ru,," "dn2010@km.ru,,,avogadro-devel@lists.sourceforge.net,annulen@yandex.ru," "parukhin@gmail.com,,hippi90ub@gmail.com,madcad@yandex.ru,,dn2010@km." "ru,,,5097@mail.ru,avogadro-devel@lists.sourceforge.net,annulen@yandex.ru," "roman_romul@mail.ru,parukhin@gmail.com,,hippi90ub@gmail.com,madcad@yandex." "ru,,yuray@komyakino.ru,dn2010@km.ru,,,5097@mail.ru,avogadro-devel@lists." "sourceforge.net,annulen@yandex.ru,roman_romul@mail.ru,parukhin@gmail.com,," "hippi90ub@gmail.com,madcad@yandex.ru,,yuray@komyakino.ru,dn2010@km." "ru,,,5097@mail.ru,avogadro-devel@lists.sourceforge.net,annulen@yandex.ru," "roman_romul@mail.ru,parukhin@gmail.com,,hippi90ub@gmail.com,madcad@yandex." "ru,,yuray@komyakino.ru,dn2010@km.ru" #~ msgid "Color by Index" #~ msgstr "порядковому номеру атома" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Раскрасить по порядковому номеру атома (красный, оранжевый, жёлтый, " #~ "зелёный, синий, фиолетовый)." #~ msgid "Color by Partial Charge" #~ msgstr "частичному заряду атома" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Раскрасить по частичному заряду атома (синий = положительный, красный = " #~ "отрицательный)." #~ msgid "Custom Color:" #~ msgstr "Другой цвет:" #~ msgid "Custom Color" #~ msgstr "Другой цвет" #~ msgid "Set custom colors for objects" #~ msgstr "Настроить цвета объектов" #~ msgid "Color by Distance" #~ msgstr "расстоянию" #~ msgid "Color by distance from the first atom." #~ msgstr "Раскрасить по расстоянию от первого атома" #~ msgid "Color by Element" #~ msgstr "элементу" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Раскрасить по элементу (углерод = серый, кислород = красный, ...)." #~ msgid "Color by Residue" #~ msgstr "аминокислотному остатку" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "" #~ "Раскрасить согласно аминокислотному остатку (тип аминокислоты, " #~ "гидрофобность, ...)" #~ msgid "SMARTS Pattern:" #~ msgstr "Запрос SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Цвет подсветки:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "запросу SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Выделить фрагменты, удовлетворяющие запросу SMARTS" #~ msgid "Ununtrium" #~ msgstr "Унунтрий" #~ msgid "Ununpentium" #~ msgstr "Унунпентий" #~ msgid "Ununseptium" #~ msgstr "Унунсептий" #~ msgid "Ununoctium" #~ msgstr "Унуноктий" #~ msgid "Engines" #~ msgstr "Движки" #~ msgid "Axes" #~ msgstr "Оси" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Отображает оси x, y, и z в начале координат" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Отображает атомы шарами, а связи стержнями" #~ msgid "Cartoon" #~ msgstr "Мультипликация" #~ msgid "Renders protein secondary structure" #~ msgstr "Отображает вторичную структуру белков" #~ msgid "Dipole" #~ msgstr "Диполь" #~ msgid "Force" #~ msgstr "Градиент" #~ msgid "Renders force displacements on atoms" #~ msgstr "Отображает градиенты на атомах" #~ msgid "Hydrogen Bond" #~ msgstr "Водородные связи" #~ msgid "Renders hydrogen bonds" #~ msgstr "Отображает водородные связи" #~ msgid "Select Atom Labels Color" #~ msgstr "Выбрать цвет подписей атомов" #~ msgid "Select Bond Labels Color" #~ msgstr "Выбрать цвет подписей связей" #~ msgid "Select Atom Labels Font" #~ msgstr "Выбрать шрифт подписей атомов" #~ msgid "Select Bond Labels Font" #~ msgstr "Шрифт подписей связей:" #~ msgid "Label" #~ msgstr "Метка" #~ msgid "Polygon" #~ msgstr "Многоугольник" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Отображает атомы как тетраэдры, октаэдры и другие многогранники" #~ msgid "Ribbon" #~ msgstr "Лента" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Отображает остов белка лентами" #~ msgid "Ring" #~ msgstr "Цикл" #~ msgid "Renders rings with colored planes" #~ msgstr "Отображает циклы разноцветными плоскостями" #~ msgid "Simple Wireframe" #~ msgstr "Простой каркас" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Отображает связи каркасом, идеально подходит для больших молекул" #~ msgid "Van der Waals Spheres" #~ msgstr "Сферы Ван дер Ваальса" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Отображает атомы сферами Ван дер Ваальса" #~ msgid "Stick" #~ msgstr "Стержни" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Поверхность электронной плотности, предел = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, изоповерхность = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Отображает связи как каркас, отлично подходит для очень больших " #~ "(био)молекул" #~ msgid "Trajectory files" #~ msgstr "Файлы траекторий" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Файлы HISTORY DL-POLY" #~ msgid "Open Trajectory File" #~ msgstr "Открытие файла траектории" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "видео файлы (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Добавление расширения .avi" #~ msgid "Animation..." #~ msgstr "Анимация..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Невозможно определить формат файла %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Не удалось прочитать файл траектории %1." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Нужно указать правильное имя .avi файла" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "GL виджеты не были правильно инициализированы для сохранения видео" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Неправильное имя видеофайла. Имя должно содержать полный путь" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Неправильное имя видеофайла. Имя должно содержать полный путь и название, " #~ "оканчивающееся на .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Не удалось определить формат по названию файла: %1" #~ msgid "Animation" #~ msgstr "Анимация" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Анимировать траектории, реакции и колебания" #~ msgid "Cartesian Editor" #~ msgstr "Редактор декартовых координат..." #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Для молекулы не определена элементарная ячейка, поэтому использовать " #~ "дробные координаты невозможно" #~ msgid "Cartesian Editor..." #~ msgstr "Редактор декартовых координат..." #~ msgid "Cartesian editor" #~ msgstr "Редактор декартовых координат" #~ msgid "Number of atoms: %1" #~ msgstr "Количество атомов: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Число связей с вращением: %1" #~ msgid "Add constraint" #~ msgstr "Добавить ограничение" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "В вашей молекуле должен быть как минимум один атом для добавления " #~ "ограничения" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "В вашей молекуле должно быть как минимум два атома для добавления " #~ "ограничения связи" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "В вашей молекуле должно быть как минимум три атома для добавления " #~ "ограничения угла" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "В вашей молекуле должно быть как минимум четыре атома для добавления " #~ "ограничения двугранного угла" #~ msgid "&Crystallography" #~ msgstr "Кристаллография" #~ msgid "&Settings" #~ msgstr "Параметры" #~ msgid "&Length Unit" #~ msgstr "Единица длины" #~ msgid "&Angle Unit" #~ msgstr "Единица угла" #~ msgid "Show &Editors" #~ msgstr "Показать &Редакторы" #~ msgid "Hide &Property Display" #~ msgstr "Спрятать Диалог &Свойств" #~ msgid "Show &Property Display" #~ msgstr "Показать Диалог &Свойств" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Тип решётки: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Объём элементарной ячейки: %L1%2" #~ msgid "Undefined" #~ msgstr "Не определено" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Триклинная" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Моноклинная" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Орторомбическая" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Тетрагональная" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Ромбоэдрическая" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Гексагональная" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Кубическая" #~ msgid "Paste Crystal" #~ msgstr "Вставить кристалл" #~ msgid "&Bohr" #~ msgstr "Бор" #~ msgid "&Nanometer" #~ msgstr "Нанометр" #~ msgid "&Picometer" #~ msgstr "Пикометр" #~ msgid "&Degree" #~ msgstr "Градус" #~ msgid "&Radian" #~ msgstr "Радиан" #~ msgid "Crystallography" #~ msgstr "Кристаллография" #~ msgid "VASP Format\n" #~ msgstr "Формат VASP\n" #~ msgid "Cartesian Coordinates" #~ msgstr "Декартовы координаты" #~ msgid "Set Fractional Coordinates" #~ msgstr "Задать дробные координаты" #~ msgid "Working..." #~ msgstr "Идёт работа..." #~ msgid "Build" #~ msgstr "Сборка" #~ msgid "Please select one or more atoms." #~ msgstr "Пожалуйста, выберите один или несколько атомов." #~ msgid "Trajectory..." #~ msgstr "Траектория..." #~ msgid "Open chemical file format" #~ msgstr "Открыть файл химического формата" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Химические файлы (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Открыть файл параметров" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Химические файлы (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Импортировать траекторию" #~ msgid "Import trajectory files" #~ msgstr "Импортировать файлы траекторий" #~ msgid "Setup Force Field..." #~ msgstr "Настроить силовое поле..." #~ msgid "Calculate Energy" #~ msgstr "Рассчитать энергию" #~ msgid "Conformer Search..." #~ msgstr "Поиск конформеров" #~ msgid "Constraints..." #~ msgstr "Ограничения..." #~ msgid "Ignore Selection" #~ msgstr "Игнорировать выделенное" #~ msgid "Fix Selected Atoms" #~ msgstr "Зафиксировать выделенные атомы" #~ msgid "&Molecular Mechanics" #~ msgstr "&Молекулярная механика" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Не удалось использовать выбранное силовое поле для данной молекулы. " #~ "Переключаюсь на UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Энергия = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Геометрическая оптимизация" #~ msgid "Forcefield Optimization" #~ msgstr "Оптимизация с помощью силового поля" #~ msgid "Systematic Rotor Search" #~ msgstr "Систематический поиск внутренних вращений" #~ msgid "Random Rotor Search" #~ msgstr "Случайный поиск внутренних вращений" #~ msgid "Weighted Rotor Search" #~ msgstr "Средневзвешенный поиск внутренних вращений" #~ msgid "ForceField" #~ msgstr "Силовое поле" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Оптимизировать молекулы и выбрать конформеры, используя " #~ "молекулярномеханические силовые поля" #~ msgid "&Vector Graphics..." #~ msgstr "Векторная графика..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Распространенные форматы векторной графики" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Экспорт в формате векторной графики" #~ msgid "Change H to Methyl" #~ msgstr "Заменить H на метил" #~ msgid "H to Methyl" #~ msgstr "H на метил" #~ msgid "H2Methyl" #~ msgstr "H2Метил" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Превратить атомы водорода в метильные группы" #~ msgid "Add or remove hydrogens" #~ msgstr "Добавить или удалить атомы водорода" #~ msgid "DNA/RNA..." #~ msgstr "ДНК/РНК" #~ msgid "Insert DNA" #~ msgstr "Вставить ДНК" #~ msgid "Uracil" #~ msgstr "Урацил" #~ msgid "Thymine" #~ msgstr "Тимин" #~ msgid "Insert DNA/RNA" #~ msgstr "Вставить ДНК/РНК" #~ msgid "Fragment..." #~ msgstr "Фрагмент..." #~ msgid "Insert SMILES" #~ msgstr "Вставить SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Вставить фрагмент, используя SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Вставить фрагмент" #~ msgid "Insert Crystal" #~ msgstr "Вставить кристалл" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Вставить фрагменты молекул для построения большей молекулы" #~ msgid "Peptide..." #~ msgstr "Пептид..." #~ msgid "Insert Peptide" #~ msgstr "Вставить пептид" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Вставить олигопептидную последовательность" #~ msgid "Invert Chirality" #~ msgstr "Инвертировать хиральность" #~ msgid "InvertChiral" #~ msgstr "Инверсия хиральности" #~ msgid "Invert chiral centers" #~ msgstr "Инверсия центров хиральности" #~ msgid "Molecule Properties..." #~ msgstr "Свойства молекулы..." #~ msgid "&Properties" #~ msgstr "&Свойства" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "неизвестно" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Оценочный дипольный момент (Д):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(ожидается)" #~ msgid "Display standard molecular properties." #~ msgstr "Отобразить стандартные свойства молекулы" #~ msgid "Fetch from PDB..." #~ msgstr "Загрузить из PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Загрузить по названию..." #~ msgid "Fetch from URL..." #~ msgstr "Загрузить по URL..." #~ msgid "PDB Entry" #~ msgstr "Запись PDB" #~ msgid "PDB entry to download." #~ msgstr "Запись PDB для загрузки" #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL молекулы для загрузки" #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Данная молекула не может быть загружена: %1" #~ msgid "Network Fetch" #~ msgstr "Загрузка по сети" #~ msgid "Fetch molecule files over the network." #~ msgstr "Скачать файлы молекул по сети" #~ msgid "All Files" #~ msgstr "Все файлы" #~ msgid "Show Preview" #~ msgstr "Предпросмотр" #~ msgid "Hide Preview" #~ msgstr "Скрыть предпросмотр" #~ msgid "Intensities" #~ msgstr "Интенсивности" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Сохранить визуализированное изображение, созданное POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Файлы изображений (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Не указано имя фала." #~ msgid "No valid filename was supplied." #~ msgstr "Не указано корректное имя фала." #~ msgid "Does not compute." #~ msgstr "Не вычислять." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Вы попросили не использовать прямую визуализацию в POV-Ray и не сохранять " #~ "файл POV-Ray. Это приведет к тому, что результаты не будут сохранены. Вы " #~ "уверены, что это то, что вы хотите?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Не удается записать файл %1. У вас есть разрешение на запись по " #~ "указанному адресу?" #~ msgid "POV-Ray failed to start." #~ msgstr "Не удалось запустить POV-Ray." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "Не удалось запустить POV-Ray. Возможно, путь к исполняемому файлу указан " #~ "неправильно." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Создать файлы POV-Ray и визуализировать их, используя консольную " #~ "программу POV-Ray." #~ msgid "Atom Properties..." #~ msgstr "Свойства атомов..." #~ msgid "Bond Properties..." #~ msgstr "Свойства связей..." #~ msgid "Angle Properties..." #~ msgstr "Свойства углов..." #~ msgid "Torsion Properties..." #~ msgstr "Свойства двугранных углов..." #~ msgid "Conformer Properties..." #~ msgstr "Свойства конформеров..." #~ msgid "Atom Properties" #~ msgstr "Свойства атомов..." #~ msgid "Bond Properties" #~ msgstr "Свойства связей" #~ msgid "Angle Properties" #~ msgstr "Свойства углов" #~ msgid "Torsion Properties" #~ msgstr "Свойства двугранных углов" #~ msgid "Conformer Properties" #~ msgstr "Свойства конформеров" #~ msgid "Properties" #~ msgstr "Свойства" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Окна, отображающие свойства атомов, связей, валентных и двугранных углов. " #~ "Также включает редактор декартовых координат." #~ msgid "Valence" #~ msgstr "Валентность" #~ msgid "Partial Charge" #~ msgstr "Частичный заряд" #~ msgid "Atom" #~ msgstr "Атом" #~ msgid "Start Atom" #~ msgstr "Первый атом" #~ msgid "Rotatable" #~ msgstr "Вращение" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Длина %1" #~ msgid "Vertex" #~ msgstr "Вершина" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Угол %1" #~ msgid "Angle" #~ msgstr "Угол" #~ msgid "Atom %1" #~ msgstr "Атом %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Двугранный угол %1" #~ msgid "Torsion" #~ msgstr "Двугранный угол" #~ msgid "Energy (kJ/mol)" #~ msgstr "Энергия (кДж/моль)" #~ msgid "Conformer" #~ msgstr "Конформер" #~ msgid "Yes" #~ msgstr "Да" #~ msgid "No" #~ msgstr "Нет" #~ msgid "Python Terminal" #~ msgstr "Терминал Python" #~ msgid "pythonTerminalDock" #~ msgstr "Док терминала python" #~ msgid "Interactive python scripting terminal" #~ msgstr "Интерактивный терминал для сценариев Python" #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Предупреждение генератора входных файлов Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Вы хотите обновить текст входного файла Dalton, теряя все изменения, " #~ "сделанные на панели предпросмотра?" #~ msgid "QM Matches" #~ msgstr "QM соответствует" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Фрагмент EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Фрагмент QM..." #~ msgid "Delete" #~ msgstr "Удалить" #~ msgid "You must make a selection!" #~ msgstr "Вы должны создать выделение!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Недоступно преобразование из SMILES" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Недоступно преобразование из SMILES!" #~ msgid "Group Name" #~ msgstr "Название группы" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "ЭСП" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Создать входные файлы для квантовохимического пакета GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Изменены расширенные настройки" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Изменены расширенные настройки.\n" #~ "Отменить?" #~ msgid "Advanced Settings Reset" #~ msgstr "Сброс расширенных настроек" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Вы уверены, что хотите сбросить расширенные настройки?\n" #~ "Все изменения будут потеряны!" #~ msgid "Basic Settings Reset" #~ msgstr "Сброс основных настроек" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Вы уверены, что хотите сбросить основные настройки?\n" #~ "Все изменения будут потеряны!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Предупреждение генератора входных файлов GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Вы хотите обновить текст входного файла GAMESS-UK, потеряв все изменения, " #~ "сделанные на панели предпросмотра?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Входной файл GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Предупреждение генератора входных файлов Gaussian" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Вы хотите обновить текст входного файла Gaussian, потеряв все изменения, " #~ "сделанные на панели предпросмотра?" #~ msgid "Gaussian Input Deck" #~ msgstr "Входной файл Gaussian" #~ msgid "Gaussian Running." #~ msgstr "Gaussian запущен." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "Gaussian уже запущен. Подождите, пока закончится предыдущий расчет." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian не установлен." #~ msgid "The G03 executable, cannot be found." #~ msgstr "Исполняемый файл G03 не найден." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "Не удалось запустить G03. Возможно, он установлен неправильно." #~ msgid "Running Gaussian calculation..." #~ msgstr "Проводится расчет Gaussian..." #~ msgid "G03 Crashed." #~ msgstr "Работа G03 завершилась аварийно." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian завершил работу некорректно. Возможно, он установлен неправильно." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Предупреждение генератора входных файлов Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Вы действительно хотите обновить текст, потеряв все изменения, внесенные " #~ "в области предварительного просмотра?" #~ msgid "Molpro Input Deck" #~ msgstr "Входной файл Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Предупреждение генератора входных файлов MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Вы хотите обновить текст входного файла MOPAC, теряя все изменения, " #~ "сделанные на панели предпросмотра?" #~ msgid "MOPAC Input Deck" #~ msgstr "Входной файл MOPAC" #~ msgid "MOPAC Running." #~ msgstr "Идет расчет в MOPAC." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC уже запущен. Подождите завершения предыдущего расчета." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC не установлен" #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Исполняемый файл MOPAC не найден" #~ msgid "MOPAC failed to start." #~ msgstr "Не удалось запустить MOPAC" #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC не запустился. Возможно, он установлен не правильно." #~ msgid "Running MOPAC calculation..." #~ msgstr "Идет расчет в MOPAC..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC завершился некорректно." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC не был запущен правильно. Возможно, он неправильно установлен." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Предупреждение генератора входных файлов NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Вы хотите обновить текст входного файла NWChem, теряя все изменения, " #~ "сделанные на панели предпросмотра?" #~ msgid "NWChem Input Deck" #~ msgstr "Входной файл NWChem" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Предупреждение генератора входных файлов Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Вы хотите обновить текст входного файла Q-Chem, теряя все изменения, " #~ "сделанные на панели предпросмотра?" #~ msgid "QChem Input Deck" #~ msgstr "Входной файл QChem" #~ msgid "Select SMARTS..." #~ msgstr "Выделить SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "Выделить по аминокислотному остатку..." #~ msgid "Add Named Selection..." #~ msgstr "Добавить именованное выделение..." #~ msgid "SMARTS Selection" #~ msgstr "Выделить SMILES" #~ msgid "SMARTS pattern to select" #~ msgstr "Выделить фрагмент, отвечающий SMILES" #~ msgid "Select by residue" #~ msgstr "Выделить по аминокислотному остатку" #~ msgid "Residue name" #~ msgstr "Название аминокислотного остатка" #~ msgid "There is no current selection." #~ msgstr "Ничего не выделено" #~ msgid "Add Named Selection" #~ msgstr "Добавить именованное выделение" #~ msgid "Name cannot be empty." #~ msgstr "Имя не может быть пустым" #~ msgid "There is already a selection with this name." #~ msgstr "Выделение с этим именем уже существует" #~ msgid "Selections" #~ msgstr "Выделение" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Выделить атомы, связи, аминокислотные остатки..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL шейдеры..." #~ msgid "Open a vertex shader source file" #~ msgstr "Открыть исходный файл вершинного шейдера" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Файлы вершинных шейдеров (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "открыть исходный файл пиксельного шейдера" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Файлы шейдеров фрагментов (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Открыть файл параметров шейдеров" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Файл параметров шейдеров (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL шейдеры" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Загрузить и использовать GLSL шейдеры OpenGL 2.0" #~ msgid "Intensity (arb. units)" #~ msgstr "Интенсивность (у.е.)" #~ msgid "Energy (eV)" #~ msgstr "Энергия (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Плотность состояний (сост./ячейку)" #~ msgid "Density of States (states/atom)" #~ msgstr "Плотность состояний (сост./атом)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Плотность состояний (состояний/валентный электрон)" #~ msgid "Transmittance (%)" #~ msgstr "Пропускание T(%)" #~ msgid "Absorbance (%)" #~ msgstr "Поглощение A(%)" #~ msgid "No intensities" #~ msgstr "Без интенсивностей" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Информация о колебаниях данной молекулы не содержит интенсивностей. Для " #~ "визуализации будут использованы произвольные значения интенсивностей" #~ msgid "Wavenumber (cm-1)" #~ msgstr "Волновое число (см-1)" #~ msgid "Shift (ppm)" #~ msgstr "Химический сдвиг (м.д.)" #~ msgid "Activity" #~ msgstr "Активности" #~ msgid "Intensity" #~ msgstr "Интенсивность" #~ msgid "X Axis" #~ msgstr "Ось X" #~ msgid "Y Axis" #~ msgstr "Ось Y" #~ msgid "&Appearance" #~ msgstr "Внешний вид" #~ msgid "E&xport Image" #~ msgstr "Э&кспорт изображения" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "ИК" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Настройки &ИК спектра" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "ЯМР" #~ msgid "&NMR Spectra Settings" #~ msgstr "Настройки ЯМР спектров" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "Плотность состояний" #~ msgid "&Density Of States Settings" #~ msgstr "Настройки &плотности состояний" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "УФ" #~ msgid "&UV Settings" #~ msgstr "Настройки &УФ" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "КД" #~ msgid "&CD Settings" #~ msgstr "Настройки &КД" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "КР" #~ msgid "&Raman Settings" #~ msgstr "Настройки &КР" #~ msgid "No data" #~ msgstr "Нет данных" #~ msgid "Dark" #~ msgstr "Темный" #~ msgid "Light" #~ msgstr "Светлый" #~ msgid "Publication" #~ msgstr "Публикация" #~ msgid "Handdrawn" #~ msgstr "От руки" #~ msgid "New Scheme" #~ msgstr "Новая схема" #~ msgid "Confirm Scheme Removal" #~ msgstr "Подтвердить удаление схемы" #~ msgid "Really remove current scheme?" #~ msgstr "Действительно удалить данную схему?" #~ msgid "Change Scheme Name" #~ msgstr "Изменить название схемы" #~ msgid "Enter new name for current scheme:" #~ msgstr "Введите новое название для данной схемы:" #~ msgid "Select Background Color" #~ msgstr "Выберите цвет фона" #~ msgid "Select Foreground Color" #~ msgstr "Выберите цвет линий" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Выберите цвет рассчитанных спектров" #~ msgid "Select Imported Spectra Color" #~ msgstr "Выберите цвет импортированных спектров" #~ msgid "Export Calculated Spectrum" #~ msgstr "Экспорт рассчитанного спектра" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Значения, разделенные табуляциями (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Значения, разделенные табуляциями" #~ msgid "Comma Separated Values" #~ msgstr "Значения, разделенные запятыми" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Импорт спектров" #~ msgid "Spectra Import" #~ msgstr "Импорт спектров" #~ msgid "Unknown extension: %1" #~ msgstr "Неизвестное расширение: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "IR спектр из PWscf (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "IR спектр из Turbomole (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "УФ спектр из Turbomole (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "КД спектр из Turbomole (control)" #~ msgid "Data Format" #~ msgstr "Формат данных" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Формат:" #~ msgid "Load Spectral Data" #~ msgstr "Загрузить спектры" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "CD-файл Turbomole имеет неправильный формат : %1" #~ msgid "Portable Network Graphics" #~ msgstr "Переносимая сетевая графика (PNG)" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Размеченный формат файлов изображений (TIFF)" #~ msgid "Windows Bitmap" #~ msgstr "Растровое изображение Windows" #~ msgid "Portable Pixmap" #~ msgstr "Портативное растровое изображение (PPM)" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Сохранить спектр как изображение" #~ msgid "&Advanced <<" #~ msgstr "&Дополнительно <<" #~ msgid "&Advanced >>" #~ msgstr "&Дополнительно >>" #~ msgid "&Spectra..." #~ msgstr "&Спектры..." #~ msgid "Spectra" #~ msgstr "Спектры" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Визуализировать спектральные данные из квантовохимических расчетов" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Колебательный анализ" #~ msgid "No vibrational displacements exist." #~ msgstr "Колебательные смещения отсутствуют" #~ msgid "Vibration" #~ msgstr "Колебание" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Показать колебательные моды из квантовохимического расчета" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Сортировка %1 колебаний по частоте..." #~ msgid "Pause" #~ msgstr "Пауза" #~ msgid "Super Cell Builder..." #~ msgstr "Построение надъячейки..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Сейчас в этом документе изолированная молекула. Вам нужно создать " #~ "элементарную ячейку." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Строит и отображает кристаллографические надъячейки" #~ msgid "Molecular Orbitals..." #~ msgstr "Молекулярные орбитали..." #~ msgid "Orbitals" #~ msgstr "Орбитали" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "ВЗМО" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "НСМО" #~ msgid "Orbital" #~ msgstr "Орбиталь" #~ msgid "Status" #~ msgstr "Состояние" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Пустой" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Ван-дер-Ваальсова" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Электростатический потенциал" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Электронная плотность" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Молекулярная орбиталь" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Ошибка — не определен тип" #~ msgid "Create Surfaces..." #~ msgstr "Создать поверхности..." #~ msgid "Calculating VdW Cube" #~ msgstr "Расчет куба Ван-дер-Ваальса" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Расчет МО %L1" #~ msgid "VdW" #~ msgstr "Ван-дер-Ваальс" #~ msgid "Electron Density" #~ msgstr "Электронная плотность" #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Рассчитать молекулярные орбитали и другие поверхности" #~ msgid "Building..." #~ msgstr "Сборка..." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "Невозможно создать видео, т.к. виджет GL не инициализировался корректно" #~ msgid "GL widget has no molecule" #~ msgstr "В GL-виджете отсутствует молекула" #~ msgid "Building video " #~ msgstr "Создание видео " #~ msgid "Could not run povray." #~ msgstr "Не удалось запустить POV-Ray" #~ msgid "Could not run mencoder." #~ msgstr "Не удалось запустить mencoder" #~ msgid "Set Aspect Ratio" #~ msgstr "Соотношение сторон" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Текущее изображение в Avogadro имеет размер %1x%2 пикселей, и соотношение " #~ "сторон составляет %3.\n" #~ "Вы можете оставить это значение, например, если хотите получить с помощью " #~ "POV-Ray\n" #~ "изображение размером %4x1000 пикселей, или введите любое положительное " #~ "число, например 1,\n" #~ "если хотите получить с помощью POV-Ray квадратное изображение, например, " #~ "1000x1000 пикселей." #~ msgid "Connect" #~ msgstr "Соединить" #~ msgid "Disconnect" #~ msgstr "Разъединить" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Отслеживание Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Движение выполняется с помощью пультов Wii" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Неправильный контекст OpenGL.\n" #~ "Либо что-то нарушено в вашей инсталляции OpenGL (вы можете запустить " #~ "какое-нибудь OpenGL-приложение?), либо вы нашли ошибку в программе." #~ msgid "Debug Information" #~ msgstr "Отладочная информация" #~ msgid "FPS: %L1" #~ msgstr "Кадров в секунду: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Размер окна просмотра: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Атомы: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Связи: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: номер %1 недостижим." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Чтение типа файлов '%1' не поддерживается" #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Для типа файлов файла '%1' не поддерживается чтение." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Не удалось прочитать молекулу с номером %1 из файла '%2'." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: номер %1 недостижим." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Для типа файлов '%1' не поддерживается запись." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Для типа файлов файла '%1' не поддерживается запись." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Не удалось открыть файл '%1' для записи." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Не удалось открыть файл '%1' для чтения." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Замена молекулы с номером %1 в файле '%2' не удалась." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Файл %1 не может быть открыт для чтения." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Файл %1 не может быть открыт для записи" #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Не удалось сохранить файл молекулы - не получилось переименовать " #~ "исходный файл." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Не удалось сохранить файл молекулы - не получилось переименовать новый " #~ "файл." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Не удалось сохранить файл молекулы - не получилось удалить старый файл." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "Не удалось записать молекулу в файл '%1'. Ошибка функции OpenBabel." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Файл %1не может быть открыт для записи." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Не удалось записать конформеры в файл '%1'." #~ msgid "Molecule %1" #~ msgstr "Молекула %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Неизвестный движок Python" #~ msgid "N/A" #~ msgstr "Н/Д" #~ msgid "PythonEngine: checking " #~ msgstr "Движок на Python: проверка " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - в сценарии не определен класс 'Engine'" #~ msgid " - no module" #~ msgstr " - нет модуля" #~ msgid "Unknown Python Extension" #~ msgstr "Неизвестное расширение Python" #~ msgid "PythonExtension: checking " #~ msgstr "Расширение на Python: проверка " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - в сценарии не определен класс 'Extension'" #~ msgid "Unknown Python Tool" #~ msgstr "Неизвестный инструмент на Python" #~ msgid "PythonTool: checking " #~ msgstr "Инструмент на Python: проверка " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - в сценарии не определен класс 'Tool'" #~ msgid "Conformer %1" #~ msgstr "Конформер %1" #~ msgid "Tools" #~ msgstr "Инструменты" #~ msgid "Axis:" #~ msgstr "Ось:" #~ msgid "Align:" #~ msgstr "Выровнять:" #~ msgid "Everything" #~ msgstr "Всё" #~ msgid "Align" #~ msgstr "Выровнять" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Выровнять молекулы по осям координат" #~ msgid "Align Settings" #~ msgstr "Настройки выравнивания" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Невозможно установить силовое поле" #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Количество ограничений: %1" #~ msgid "Steps per Update:" #~ msgstr "Шагов до обновления:" #~ msgid "Algorithm:" #~ msgstr "Алгоритм:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Молекулярная динамика (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Молекулярная динамика (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Молекулярная динамика (900K)" #~ msgid "Start" #~ msgstr "Начать" #~ msgid "Fixed atoms are movable" #~ msgstr "Закреплённые атомы могут перемещаться" #~ msgid "Ignored atoms are movable" #~ msgstr "Игнорируемые атомы могут перемещаться" #~ msgid "AutoOpt Molecule" #~ msgstr "Автооптимизация молекулы" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Автоматическая оптимизация геометрии молекулы" #~ msgid "AutoOptimization Settings" #~ msgstr "Настройки автооптимизации" #~ msgid "Auto Rotation Tool" #~ msgstr "Инструмент автоматического вращения" #~ msgid "x rotation:" #~ msgstr "вращение по оси Х:" #~ msgid "x rotation" #~ msgstr "вращение по оси Х:" #~ msgid "y rotation:" #~ msgstr "вращение по оси Y:" #~ msgid "y rotation" #~ msgstr "вращение по оси Y:" #~ msgid "z rotation:" #~ msgstr "вращение по оси Z:" #~ msgid "z rotation" #~ msgstr "вращение по оси Z:" #~ msgid "Automatic rotation of molecules" #~ msgstr "Автоматическое вращение молекул" #~ msgid "AutoRotate Settings" #~ msgstr "Настройки автоматического вращения" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Длина связи: %L1" #~ msgid " Show Angles" #~ msgstr " Показать углы" #~ msgid "Snap-to Threshold: " #~ msgstr "Порог привязки: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Перемещение связей" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Изменение длин связей, углов и двугранных углов" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Настройки перемещения связей" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Расстояние (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Угол: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Расстояние (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Двуганный угол: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Расстояние(я):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Измерение длин связей, углов и двугранных углов" #~ msgid "Delete Atom" #~ msgstr "Удалить атом" #~ msgid "Draw Bond" #~ msgstr "Нарисовать связь" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Рисование и правка атомов и связей" #~ msgid "Draw Settings" #~ msgstr "Настройки рисования" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Перемещение, поворот и подгонка атомов и фрагментов" #~ msgid "Manipulate Settings" #~ msgstr "Настройки перемещения" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Перемещение, поворот и масштабирование текущего окна просмотра" #~ msgid "Navigate Settings" #~ msgstr "Настройки навигации" #~ msgid "Selection Mode:" #~ msgstr "Режим выделения:" #~ msgid "Atom/Bond" #~ msgstr "Атом/Связь" #~ msgid "Residue" #~ msgstr "Аминокислотный остаток" #~ msgid "Add Center of Mass" #~ msgstr "Добавить центр масс" #~ msgid "Change color of the atom" #~ msgstr "Изменить цвет атома" #~ msgid "Change label of the atom" #~ msgstr "Изменить надпись на атоме" #~ msgid "New Label:" #~ msgstr "Новая надпись:" #~ msgid "Change label of the bond" #~ msgstr "Изменить надпись на связи" #~ msgid "Change radius of the atom" #~ msgstr "Изменить радиус атома" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Новый радиус, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Выделение атомов, аминокислотных остатков и молекул" #~ msgid "Symbol" #~ msgstr "Символ" #~ msgid "Bond Length" #~ msgstr "Длина связи" #~ msgid "Bond Angle" #~ msgstr "Валентный угол" #~ msgid "Dihedral Angle" #~ msgstr "Двугранный угол" #~ msgid "Z Matrix Editor..." #~ msgstr "Редактор Z-матриц" #~ msgid "Z-Matrix" #~ msgstr "Z-матрица" #~ msgid "Create/edit a z-matrix" #~ msgstr "Создать/редактировать Z-матрицу" #~ msgid "Z-Matrix Settings" #~ msgstr "Настройки Z-матрицы" #~ msgid "Residue Color Settings" #~ msgstr "Настройка цветов аминокислотных остатков" #~ msgid "Color residues by:" #~ msgstr "Раскрашивать остатки:" #~ msgid "Amino Colors" #~ msgstr "Цвета аминокислот" #~ msgid "Shapely Colors" #~ msgstr "Цвета \"Shapely\"" #~ msgid "Hydrophobicity" #~ msgstr "Гидрофобность" #~ msgid "Axes:" #~ msgstr "Оси:" #~ msgid "Cartesian Axes" #~ msgstr "Декартовы оси" #~ msgid "Orthogonal Axes" #~ msgstr "Ортогональные оси" #~ msgid "Axis 1:" #~ msgstr "Ось 1:" #~ msgid "Axis 2:" #~ msgstr "Ось 2:" #~ msgid "Axis 3:" #~ msgstr "Ось 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Центр:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Норма" #~ msgid "Preserve vector norms" #~ msgstr "Сохранять нормы векторов" #~ msgid "Atom Radius:" #~ msgstr "Радиус атома:" #~ msgid "Bond Radius:" #~ msgstr "Радиус связи:" #~ msgid "Shape" #~ msgstr "Форма" #~ msgid "Helix" #~ msgstr "Спираль" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Лист" #~ msgid "Loop" #~ msgstr "Петля" #~ msgid "Colors" #~ msgstr "Цвета" #~ msgid "Dipole:" #~ msgstr "Диполь:" #~ msgid "Dipole Moment" #~ msgstr "Дипольный момент" #~ msgid "Custom Vector" #~ msgstr "Произвольный вектор" #~ msgid "Custom:" #~ msgstr "Произвольный:" #~ msgid "Width:" #~ msgstr "Толщина:" #~ msgid "Cut-off radius:" #~ msgstr "Предельный радиус:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Предельный угол:" #~ msgid "Rendering Engine:" #~ msgstr "Движок визуализации:" #~ msgid "TextRenderer" #~ msgstr "TextRenderer" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Надписи атомов" #~ msgid "Text:" #~ msgstr "Текст:" #~ msgid "Color:" #~ msgstr "Цвет:" #~ msgid "None" #~ msgstr "Отсутствует" #~ msgid "Symbol & Number in Group" #~ msgstr "Символ и номер в группе" #~ msgid "Symbol & Atom number" #~ msgstr "Символ и номер атома" #~ msgid "Formal charge" #~ msgstr "Формальный заряд" #~ msgid "Partial charge" #~ msgstr "Частичный заряд" #~ msgid "Residue number" #~ msgstr "Номер аминокислотного остатка" #~ msgid "Unique ID" #~ msgstr "Уникальный ID" #~ msgid "Custom data" #~ msgstr "Произвольная информация" #~ msgid "Change Font" #~ msgstr "Сменить шрифт" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Сдвиг надписи:" #~ msgid "Bond Labels" #~ msgstr "Надписи связей" #~ msgid "Bond length" #~ msgstr "Длина связи" #~ msgid "Bond number" #~ msgstr "Номер связи" #~ msgid "Bond order" #~ msgstr "Порядок связи" #~ msgid "Rendering:" #~ msgstr "Визуализация:" #~ msgid "Backbone" #~ msgstr "Каркас" #~ msgid "Lines" #~ msgstr "Линии" #~ msgid "Radius:" #~ msgstr "Радиус:" #~ msgid "Include Nitrogens" #~ msgstr "Включить атомы азота" #~ msgid "VdW Opacity:" #~ msgstr "Непрозрачность ван-дер-ваальсовых поверхностей" #~ msgid "Orbital:" #~ msgstr "Орбиталь:" #~ msgid "Render:" #~ msgstr "Визуализатор:" #~ msgid "Fill" #~ msgstr "Заливка" #~ msgid "Points" #~ msgstr "Точки" #~ msgid "Draw Box:" #~ msgstr "Нарисовать ячейку:" #~ msgid "Style:" #~ msgstr "Стиль:" #~ msgid "Selected Colors" #~ msgstr "Выбранные цвета" #~ msgid "Mapped Colors" #~ msgstr "Табличные цвета" #~ msgid "Colors:" #~ msgstr "Цвета:" #~ msgid "Positive" #~ msgstr "Положительная" #~ msgid "Negative" #~ msgstr "Отрицательная" #~ msgid "Show Atoms" #~ msgstr "Показать атомы" #~ msgid "Animate Trajectory" #~ msgstr "Анимировать траекторию" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Зациклить" #~ msgid "fps" #~ msgstr "кадров/с" #~ msgid "Save as .avi..." #~ msgstr "Сохранить как .avi..." #~ msgid "Angstroms" #~ msgstr "Ангстремы" #~ msgid "Bohrs" #~ msgstr "Боры" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, только координаты" #~ msgid "GAMESS Input #2" #~ msgstr "Входной файл GAMESS #2" #~ msgid "Priroda Input" #~ msgstr "Входной файл Priroda" #~ msgid "Apply Changes" #~ msgstr "Применить изменения" #~ msgid "Cut All" #~ msgstr "Вырезать всё" #~ msgid "Paste to the End" #~ msgstr "Вставить в конце" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

В этом окне вы можете " #~ "вставить или редактировать координаты. Можно вставить практически любой " #~ "фрагмент текста, содержащий координаты

" #~ msgid "(None)" #~ msgstr "(Нет)" #~ msgid "Sort by " #~ msgstr "Сортировать по " #~ msgid "Conformer Search" #~ msgstr "Поиск конформеров" #~ msgid "Method" #~ msgstr "Метод" #~ msgid "Number of atoms:" #~ msgstr "Число атомов:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Число вращаемых связей" #~ msgid "Number of conformers" #~ msgstr "Число конформеров" #~ msgid "Systematic rotor search" #~ msgstr "Систематический поиск внутренних вращений" #~ msgid "Random rotor search" #~ msgstr "Случайный поиск внутренних вращений" #~ msgid "Weighted rotor search" #~ msgstr "Средневзвешенный поиск внутренних вращений" #~ msgid "Children" #~ msgstr "Потомки" #~ msgid "Energy" #~ msgstr "Энергия" #~ msgid "Constraints" #~ msgstr "Ограничения" #~ msgid "Add Constraints" #~ msgstr "Добавить ограничения" #~ msgid "Ignore Atom" #~ msgstr "Игнорировать атом" #~ msgid "Fix Atom" #~ msgstr "Зафиксировать атом" #~ msgid "Fix Atom X" #~ msgstr "Зафиксировать координату X атома" #~ msgid "Fix Atom Y" #~ msgstr "Зафиксировать координату Y атома" #~ msgid "Fix Atom Z" #~ msgstr "Зафиксировать координату Z атома" #~ msgid "Torsion angle" #~ msgstr "Двугранный угол" #~ msgid "Constraint Value" #~ msgstr "Граничное значение" #~ msgid "Atom Indices" #~ msgstr "Номера атомов" #~ msgid "Add" #~ msgstr "Добавить" #~ msgid "Save" #~ msgstr "Сохранить" #~ msgid "Load" #~ msgstr "Загрузить" #~ msgid "&Reset" #~ msgstr "&Сброс" #~ msgid " °" #~ msgstr " °" #~ msgid "Plane:" #~ msgstr "Плоскость:" #~ msgid "Dimensions:" #~ msgstr "Размеры:" #~ msgid "Width (x)" #~ msgstr "Ширина (x)" #~ msgid "Width (y)" #~ msgstr "Ширина (y)" #~ msgid "Height (z)" #~ msgstr "Высота (z)" #~ msgid "length" #~ msgstr "длина" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "Cartesian" #~ msgstr "Декартовы" #~ msgid "One" #~ msgstr "Один" #~ msgid "All" #~ msgstr "Все" #~ msgid "Color..." #~ msgstr "Цвет..." #~ msgid "Default View" #~ msgstr "Вид по умолчанию" #~ msgid "File Import..." #~ msgstr "импорт файла..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Попытаться распознать связи?" #~ msgid "Setup Force Field" #~ msgstr "Настроить силовое поле" #~ msgid "Force Field" #~ msgstr "Силовое поле" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Число шагов" #~ msgid "Algorithm" #~ msgstr "Алгоритм" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "DNA" #~ msgstr "ДНК" #~ msgid "RNA" #~ msgstr "РНК" #~ msgid "Adenine" #~ msgstr "Аденин" #~ msgid "Cytosine" #~ msgstr "Цитозин" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Гуанин" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Последовательность:" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Другая" #~ msgid "Insert" #~ msgstr "Вставить" #~ msgid "Insert Fragment..." #~ msgstr "Вставить фрагмент..." #~ msgid "Filter:" #~ msgstr "Фильтр:" #~ msgid "Peptide Builder" #~ msgstr "Построение пептида" #~ msgid "Alanine" #~ msgstr "Аланин" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Аргинин" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Аспарагин" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Аспарагиновая кислота" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Цистеин" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Глутаминовая кислота" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Глутамин" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Глицин" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Гистидин" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Изолейцин" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Валин" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Тирозин" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Триптофан" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Треонин" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Серин" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Пролин" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Фенилаланин" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Метионин" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Лизин" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Лейцин" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Аминокислоты:" #~ msgid "Sequence (N to C):" #~ msgstr "Последовательность (от N к C):" #~ msgid "Stereochemistry:" #~ msgstr "Стереохимия:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N-конец:" #~ msgid "C Terminus:" #~ msgstr "C-конец:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Развернутая цепь" #~ msgid "Alpha Helix" #~ msgstr "Альфа-спираль" #~ msgid "Beta Sheet" #~ msgstr "Бета-лист" #~ msgid "3-10 Helix" #~ msgstr "Спираль 3-10" #~ msgid "Pi Helix" #~ msgstr "Пи-спираль" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Номер цепи:" #~ msgid "The chain number for the new peptide" #~ msgstr "Номер цепи для нового пептида" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Свойства молекулы" #~ msgid "Number of Residues:" #~ msgstr "Количество аминокислотных остатков:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Энергия (кДж/моль)" #~ msgid "Dipole Moment (D):" #~ msgstr "Дипольный момент (Д)" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Дополнительно" #~ msgid "Control" #~ msgstr "Управление" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Данные" #~ msgid "Nothing" #~ msgstr "(Нет)" #~ msgid "Grid" #~ msgstr "Сетка интегрирования" #~ msgid "POV-Ray Export" #~ msgstr "Экспорт в POV-Ray" #~ msgid "Select..." #~ msgstr "Выбрать..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Использовать сглаживание для всего изображения" #~ msgid "Antialias" #~ msgstr "Сглаживание" #~ msgid "Set the background color to be transparent" #~ msgstr "Установить прозрачный цвет фона" #~ msgid "Alpha transparency" #~ msgstr "Альфа-прозрачность" #~ msgid "Command:" #~ msgstr "Команда:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "" #~ "Визуализировать молекулу, используя интерфейс командной строки POV-Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Сохранить входной файл POV-Ray после завершения визуализации" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Сохранить входной файл POV-Ray после визуализации" #~ msgid "Path:" #~ msgstr "Путь:" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Декартовый (Ангстрем)" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Total Energy" #~ msgstr "Общая энергия" #~ msgid "Total Potential" #~ msgstr "Общий потенциал" #~ msgid "Use Form" #~ msgstr "Использовать форму" #~ msgid "Compute..." #~ msgstr "Рассчитать…" #~ msgid "Dalton Input" #~ msgstr "Входной файл Dalton" #~ msgid "Basics" #~ msgstr "Основное" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Добавляет то, что вы набираете в строку заголовка входного файла\n" #~ "для информации" #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Базисный набор:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Попловские" #~ msgid "Jensen's polarization consistent" #~ msgstr "Поляризационно-согласованные Йенсена" #~ msgid "Dunning's correlation consistent" #~ msgstr "Корреляционно-согласованные Даннинга" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Функции корреляции внутренних электронов" #~ msgid "Diffuse functions" #~ msgstr "Диффузные функции" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Поляризационные функции" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Прямой" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Выполнять параллельно по возможности. Это возможно только для\n" #~ "волновых функций SCF и расчётов DFT. На данный момент Dalton \n" #~ "поддерживает только MPI и должен быть корректно собран и установлен.\n" #~ "Число узлов задается ключом \"-N #\" при запуске скрипта \"dalton\"." #~ msgid "Parallel" #~ msgstr "Параллельный" #~ msgid "Functional:" #~ msgstr "Функционал:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Плотность:" #~ msgid "1.0D-" #~ msgstr "1.0e-" #~ msgid "Charge Integration:" #~ msgstr "Интегрирование заряда:" #~ msgid "Grid Specification" #~ msgstr "Сетка" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Качество сетки:" #~ msgid "coarse" #~ msgstr "грубая" #~ msgid "normal" #~ msgstr "нормальная" #~ msgid "fine" #~ msgstr "хорошая" #~ msgid "ultrafine" #~ msgstr "очень хорошая" #~ msgid "Radial Scheme:" #~ msgstr "Радиальная схема:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Показать все функционалы" #~ msgid "Property:" #~ msgstr "Свойство:" #~ msgid "Polarizability" #~ msgstr "Поляризуемость" #~ msgid "Excitation Energy" #~ msgstr "Энергия возбуждения" #~ msgid "Frequency Dependent" #~ msgstr "Частотно-зависимый" #~ msgid "EFP Matches" #~ msgstr "EFP соответствия" #~ msgid "Group Label:" #~ msgstr "Метка группы:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "Расширенные настройки" #~ msgid "Hessian" #~ msgstr "Гессиан" #~ msgid "Stat Point" #~ msgstr "Стационарная точка" #~ msgid "System" #~ msgstr "Система" #~ msgid "MO Guess" #~ msgstr "Начальное приближение МО" #~ msgid "Misc" #~ msgstr "Прочее" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "Количество поляризационных функций D на тяжелых атомах" #~ msgid "Read" #~ msgstr "Прочитать" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Диффузная S-функция на тяжелых атомах" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Диффузная L-функция на тяжелых атомах" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Двухэкспоненциальный валентный" #~ msgid "Dunning/Hay DZ" #~ msgstr "Даннинг/Хэй DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Трехэкспоненциальный валентный" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA валентный" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt валентный" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Тип ECP:" #~ msgid "Default" #~ msgstr "По умолчанию" #~ msgid "Pople" #~ msgstr "Попл" #~ msgid "Pople N311" #~ msgstr "Попл N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "Поляризационных функций F на тяжелых атомах" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "Поляризационных функций на легких атомах" #~ msgid "Polar:" #~ msgstr "Полярный:" #~ msgid "Max SCF Iterations:" #~ msgstr "Максимум итераций SCF:" #~ msgid "Gradient" #~ msgstr "Градиент" #~ msgid "Optimization" #~ msgstr "Оптимизация" #~ msgid "Saddle Point" #~ msgstr "Седловая точка" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Energy Surface" #~ msgstr "Поверхность энергии" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Момент излучательного перехода" #~ msgid "Spin Orbit" #~ msgstr "Спин-орбитальное взаимодействие" #~ msgid "Finite Electric Field" #~ msgstr "Конечное электрическое поле" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Полная оптимизация" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO оптимизация" #~ msgid "Raman Intensities" #~ msgstr "Рамановские интенсивности" #~ msgid "NMR" #~ msgstr "ЯМР" #~ msgid "Make EFP" #~ msgstr "Сделать EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Отсутствует" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Тип SCF:" #~ msgid "Localization Method:" #~ msgstr "Метод локализации:" #~ msgid "Exec Type:" #~ msgstr "Режим запуска:" #~ msgid "CI:" #~ msgstr "CI" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Детерминант Ames (ALDET)" #~ msgid "Full Second Order CI" #~ msgstr "Полное КВ второго порядка (FSOCI)" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Линаризованный CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC с двукратными возбуждениями" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC с одно- и двукратными возбуждениями" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Нормальный запуск" #~ msgid "Check" #~ msgstr "Проверка" #~ msgid "Debug" #~ msgstr "Отладка" #~ msgid "Molecule Charge:" #~ msgstr "Заряд молекулы:" #~ msgid "Run Type:" #~ msgstr "Тип расчета:" #~ msgid "Use MP2" #~ msgstr "Использовать MP2" #~ msgid "Use DFT" #~ msgstr "Использовать DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "число переменных Z-матрицы" #~ msgid "Ǻngstrom" #~ msgstr "Ангстрем" #~ msgid "Order of Principal Axis:" #~ msgstr "Порядок главной оси:" #~ msgid "Coordinate Type:" #~ msgstr "Тип координат" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "Cs" #~ msgid "CI" #~ msgstr "Ci" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "Dnd" #~ msgid "DnH" #~ msgstr "Dnh" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "Td" #~ msgid "TH" #~ msgstr "Th" #~ msgid "OH" #~ msgstr "Oh" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Уникальные декартовы координаты" #~ msgid "Hilderbrant internals" #~ msgstr "Внутренние координаты Гильдербранта" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Использовать симметрию" #~ msgid "Units:" #~ msgstr "Единицы измерения:" #~ msgid "Point Group:" #~ msgstr "Точечная группа:" #~ msgid "Minutes" #~ msgstr "минут" #~ msgid "Hours" #~ msgstr "часов" #~ msgid "Days" #~ msgstr "дней" #~ msgid "Weeks" #~ msgstr "недель" #~ msgid "Years" #~ msgstr "лет" #~ msgid "Millenia" #~ msgstr "тысячелетий" #~ msgid "MegaWords" #~ msgstr "мегаслов" #~ msgid "MegaBytes" #~ msgstr "мегабайт" #~ msgid "GigaWords" #~ msgstr "гигаслов" #~ msgid "GigaBytes" #~ msgstr "гигабайт" #~ msgid "Force Parallel Methods" #~ msgstr "Использовать параллельные методы" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Создать core-файл при некорректном завершении" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "Якоби" #~ msgid "MemDDI:" #~ msgstr "Память DDI:" #~ msgid "Memory:" #~ msgstr "Память:" #~ msgid "Diagonalization Method:" #~ msgstr "Метод диагонализации:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Тип балансировки при параллельном выполнении" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Следующее значение" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Использовать внешнее представление данных для сообщений" #~ msgid "Initial Guess:" #~ msgstr "Начальное приближение:" #~ msgid "Hückel" #~ msgstr "Хюккель" #~ msgid "HCore" #~ msgstr "Голые ядра" #~ msgid "MO Read ($VEC)" #~ msgstr "Прочитать MO ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "Сохраненные MO (DICTNRY)" #~ msgid "Skip" #~ msgstr "Пропустить" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Повернуть альфа- и бета-орбитали" #~ msgid "Print the Initial Guess" #~ msgstr "Выводить начальное приближение" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Интерфейс GAMESS к другим программам" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Использовать режим проверки" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (Версия UK)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Сольватировать водой" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Сгенерировать натуральные орбитали UHF" #~ msgid "Direct SCF" #~ msgstr "Прямое ССП" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Рассчитывать только изменения фокиана (FDIFF)" #~ msgid "Slater exchange" #~ msgstr "Slater (обменный)" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 (обменный)" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) (корреляционный)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr (корреляционный)" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater (обменный) + VWN (корреляционный)" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE (обменный) + VWN5 (корреляционный)" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE (обменный) + LYP (корреляционный)" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 (обменный)" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) (обменный)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: однопараметрический прогрессивный (корреляционный)" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER (обменный) + Lee-Yang-Parr (LYP) (корреляционный)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER (обменный) + OP (корреляционный)" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE (обменный) + OP (корреляционный)" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL (обменный) + VWN5 (корреляционный)" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL (обменный) + LYP (корреляционный)" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE (обменный) + VWN6 (корреляционный)" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE (обменный) +LYP (корреляционный)" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE (обменный) + OP (корреляционный)" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF and BECKE (обменный) + LYP (корреляционный)" #~ msgid "Grid-Free" #~ msgstr "Безсеточный" #~ msgid "DFT Functional:" #~ msgstr "Функционал плотности:" #~ msgid "Method:" #~ msgstr "Метод:" #~ msgid "AO Integral Storage" #~ msgstr "Хранение интегралов АО" #~ msgid "Duplicated on Each Node" #~ msgstr "Дублировать на каждом узле" #~ msgid "Distributed Across All Nodes" #~ msgstr "Распределить по всем узлам" #~ msgid "words" #~ msgstr "слов" #~ msgid "Compute MP2 Properties" #~ msgstr "Вычислить свойства для MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Предел сохранения интегралов:" #~ msgid "Use Localized Orbitals" #~ msgstr "Использо" #~ msgid "# of Core Electrons:" #~ msgstr "Число внутренних электронов" #~ msgid "Two Phase Bin Sort" #~ msgstr "Двухфазная бинарная сортировка" #~ msgid "Segmented Transformation" #~ msgstr "Сегментное преобразование" #~ msgid "Analytic" #~ msgstr "Аналитический" #~ msgid "Numeric" #~ msgstr "Численный" #~ msgid "Double Differenced Hessian" #~ msgstr "С двойным численным дифференцированием" #~ msgid "Print Internal Force Constants" #~ msgstr "Вывести внутренние силовые постоянные" #~ msgid "Displacement Size:" #~ msgstr "Величина шага:" #~ msgid "Purify Hessian" #~ msgstr "Спроецировать гессиан" #~ msgid "Frequency Scale Factor:" #~ msgstr "Коэффициент масштабирования частот:" #~ msgid "bohrs" #~ msgstr "бор" #~ msgid "Initial Hessian" #~ msgstr "Начальный гессиан" #~ msgid "Read (from $HESS)" #~ msgstr "Прочитать (из $HESS)" #~ msgid "Update Step Size" #~ msgstr "Величина шага обновления" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Выводить орбитали на каждой итерации" #~ msgid "Jump Size:" #~ msgstr "Размер перехода:" #~ msgid "Stationary Point" #~ msgstr "Стационарная точка" #~ msgid "Step Size" #~ msgstr "Размер шага" #~ msgid "Maximum:" #~ msgstr "Максимум:" #~ msgid "Minimum:" #~ msgstr "Минимум:" #~ msgid "Initial:" #~ msgstr "Исходный:" #~ msgid "Newton-Raphson" #~ msgstr "Ньютона-Рафсона" #~ msgid "Rational Function Optimization" #~ msgstr "Рациональная функция" #~ msgid "Quadratic Approximation" #~ msgstr "Квадратичная аппроксимация" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Шлегель (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Оптимизация с ограничениями" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Пересчитывать гессиан каждые:" #~ msgid "Follow Mode:" #~ msgstr "Следовать колебательной моде..." #~ msgid "Maximum Steps:" #~ msgstr "Максимальное число шагов:" #~ msgid "Basis:" #~ msgstr "Базис:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Z-матрица" #~ msgid "Run in direct mode:" #~ msgstr "Выполнять в прямом режиме:" #~ msgid "Gaussian Input" #~ msgstr "Входной файл Gaussian" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Выдача:" #~ msgid "Standard" #~ msgstr "Обычная" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Контрольная точка:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-матрица (компактная)" #~ msgid "metal" #~ msgstr "металл" #~ msgid "electron" #~ msgstr "электрон" #~ msgid "Water Potential" #~ msgstr "Потенциал воды" #~ msgid "NONE" #~ msgstr "НЕТ" #~ msgid "Atom Style" #~ msgstr "Стиль атома" #~ msgid "angle" #~ msgstr "угол" #~ msgid "atomic" #~ msgstr "атомный" #~ msgid "charge" #~ msgstr "заряд" #~ msgid "dipole" #~ msgstr "диполь" #~ msgid "ellipsoid" #~ msgstr "эллипсоид" #~ msgid "full" #~ msgstr "полный" #~ msgid "molecular" #~ msgstr "молекулярный" #~ msgid "peri" #~ msgstr "пери" #~ msgid "sphere" #~ msgstr "сфера" #~ msgid "Temperature" #~ msgstr "Температура" #~ msgid "Time Step" #~ msgstr "Временной шаг" #~ msgid "Dimensions" #~ msgstr "Размеры" #~ msgid "Boundary" #~ msgstr "Граница" #~ msgid "Replicate" #~ msgstr "Создать копию" #~ msgid "Replicate the X direction." #~ msgstr "Создать копию размера X." #~ msgid "Replicate the Y direction." #~ msgstr "Создать копию размера Y." #~ msgid "Replicate the Z direction." #~ msgstr "Создать копию размера Z." #~ msgid "gaussian" #~ msgstr "Гаусс" #~ msgid "Output Interval" #~ msgstr "Интервал вывода" #~ msgid "One Line" #~ msgstr "Одна строка" #~ msgid "Multi Line" #~ msgstr "Несколько строк" #~ msgid "MOLPRO Input" #~ msgstr "Входной файл Molpro" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Версия Molpro:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Входной файл MOPAC" #~ msgid "Quartet" #~ msgstr "Квартет" #~ msgid "Quintet" #~ msgstr "Квинтет" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Входной файл NWChem" #~ msgid "Q-Chem Input" #~ msgstr "Входной файл Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "no" #~ msgstr "нет" #~ msgid "yes" #~ msgstr "да" #~ msgid "Dispersion:" #~ msgstr "Рассеивание:" #~ msgid "Load Shaders" #~ msgstr "Загрузить шейдеры" #~ msgid "Shader Name:" #~ msgstr "Имя шейдера:" #~ msgid "Vertex Shader:" #~ msgstr "Вершинный шейдер:" #~ msgid "Fragment Shader:" #~ msgstr "Шейдер фрагмента:" #~ msgid "Assign Shader" #~ msgstr "Назначить шейдер" #~ msgid "Display Type:" #~ msgstr "Тип отображения:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Управление:\n" #~ "Двойной щелчок левой кнопкой: Restore default axis limits\n" #~ "Щелчок левой кнопкой + перемещение: Переместить график\n" #~ "Щелчок средней кнопкой: Увеличить область\n" #~ "Прокрутка: Увеличить под курсором" #~ msgid "&Load data..." #~ msgstr "&Загрузить данные" #~ msgid "&Close" #~ msgstr "&Закрыть" #~ msgid "Calculated Spectra:" #~ msgstr "Рассчитанные спектры:" #~ msgid "Set Color..." #~ msgstr "Выбрать..." #~ msgid "Imported Spectra:" #~ msgstr "Импортированные спектры.." #~ msgid "Font:" #~ msgstr "Шрифт:" #~ msgid "Change Font..." #~ msgstr "Сменить шрифт..." #~ msgid "Show" #~ msgstr "Показать" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "" #~ "Импортирует экспериментальные спектры в формате tsv и отображает на том " #~ "же графике" #~ msgid "&Import..." #~ msgstr "&Импорт..." #~ msgid "Background:" #~ msgstr "Фон:" #~ msgid "Foreground:" #~ msgstr "Передний план:" #~ msgid "New..." #~ msgstr "Новая..." #~ msgid "Rename..." #~ msgstr "Переименовать..." #~ msgid "&Schemes:" #~ msgstr "&Схемы..." #~ msgid "&Export..." #~ msgstr "&Экспорт..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Ширина:" #~ msgid "&Height" #~ msgstr "&Высота" #~ msgid "cm" #~ msgstr "см" #~ msgid "mm" #~ msgstr "мм" #~ msgid "in" #~ msgstr "дюймов" #~ msgid "px" #~ msgstr "пикселей" #~ msgid "&Save Image..." #~ msgstr "&Сохранить изображение..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Выбрать оптимизированный размер шрифта вместо заданного в схеме (точки " #~ "экрана и изображения плохо согласуются!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Автоподбор размера &шрифта" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Экспортировать данные" #~ msgid "&Gaussian Width:" #~ msgstr "Ширина &гауссова пика:" #~ msgid "&Label peaks" #~ msgstr "&Подписи пиков" #~ msgid "Energy units:" #~ msgstr "Единицы энергии:" #~ msgid "Density units" #~ msgstr "Единицы плотности" #~ msgid "Fermi Energy: " #~ msgstr "Энергия Ферми: " #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Энергия Ферми при нуле" #~ msgid "&Y Axis Units:" #~ msgstr "Единицы измерения по оси &Y:" #~ msgid "Scaling Type:" #~ msgstr "Тип масштабирования:" #~ msgid "Linear" #~ msgstr "Линейное" #~ msgid "Relative" #~ msgstr "Относительное" #~ msgid "Temperature:" #~ msgstr "Температура:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Длина волны лазера:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Порог:" #~ msgid "tab_NMR" #~ msgstr "tab_ЯМР" #~ msgid "Nucleus:" #~ msgstr "Ядро:" #~ msgid "&Reference:" #~ msgstr "Ста&ндарт:" #~ msgid "Gaussian &Width:" #~ msgstr "Ширина &гауссова пика:" #~ msgid "Reset &Plot Axes" #~ msgstr "Сбросить &оси графика:" #~ msgid "Label Peaks:" #~ msgstr "Подписи пиков:" #~ msgid "ppm" #~ msgstr "м.д." #~ msgid "Molecular Vibrations" #~ msgstr "Молекулярные колебания" #~ msgid "Filter: " #~ msgstr "Фильтр: " #~ msgid "km/mol" #~ msgstr "км/моль" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (см⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (км/моль)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Активность (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Показать спектры..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "" #~ "более высокочастотные колебания будут отображаться более быстрыми " #~ "движениями" #~ msgid "Animation speed set by frequency" #~ msgstr "Скорость анимации задается частотой" #~ msgid "Display force &vectors" #~ msgstr "Показать векторы &градиентов" #~ msgid "&Normalize displacements" #~ msgstr "Нормировать смещения" #~ msgid "Generate Cell" #~ msgstr "Создать ячейку" #~ msgid "&Recalculate All" #~ msgstr "Пересчитать &все" #~ msgid "Default &Quality:" #~ msgstr "Качество по &умолчанию" #~ msgid "Show occupied orbitals first" #~ msgstr "Показывать занятые первыми" #~ msgid "Quality: " #~ msgstr "Качество: " #~ msgid "Create Surfaces" #~ msgstr "Создать поверхности" #~ msgid "Surface Type:" #~ msgstr "Тип поверхности:" #~ msgid "Color By:" #~ msgstr "Раскрасить по:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Низкое" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Среднее" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Высокое" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Наивысшее" #~ msgid "Iso Value:" #~ msgstr "Значение Iso:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "В стиле отображения:" #~ msgid "New Display" #~ msgstr "Новый экран" #~ msgid "Advanced..." #~ msgstr "Дополнительно…" #~ msgid "&Length:" #~ msgstr "&Длина:" #~ msgid "Uni&t:" #~ msgstr "&Единица измерения:" #~ msgid "angstrom" #~ msgstr "ангстрем" #~ msgid "nanometers" #~ msgstr "нанометры" #~ msgid "picometers" #~ msgstr "пикометры" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Переведено:" #~ msgid "X-axis" #~ msgstr "Ось X" #~ msgid "Y-axis" #~ msgstr "Ось Y" #~ msgid "Z-axis" #~ msgstr "Ось Z" #~ msgid "Rotate around:" #~ msgstr "Повернуть вокруг:" #~ msgid "Geometry" #~ msgstr "Геометрия" #~ msgid "Display visual cues" #~ msgstr "Показывать визуальные подсказки" #~ msgid "Python Settings" #~ msgstr "Настройки Python" #~ msgid "Z Matrix Editor" #~ msgstr "Редактор Z-матриц" #~ msgid "Import Selected Atoms" #~ msgstr "Импортировать выделенные атомы" avogadrolibs-1.93.0/i18n/sk.po000066400000000000000000004120641360735163600160350ustar00rootroot00000000000000# Slovak translation for avogadro # Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 # This file is distributed under the same license as the avogadro package. # Ivan Masár , 2009. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:52+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:02+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Zatvoriť" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Neznámy" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Zrušiť výpočet" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Upozornenie" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Upozornenie" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Výstup:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Nedá sa zapísať do súboru." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Video súbor nebol zapísaný." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Video súbor nebol zapísaný." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Názov" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Spracovatelia:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Výpočet:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teória:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teória:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Jednoduché" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Molekula" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Zastaviť &animáciu" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Nie sú vybrané atómy" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Vodík" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Hélium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lítium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berýlium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bór" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Uhlík" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Dusík" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Kyslík" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluór" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neón" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodík" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Horčík" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Hliník" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Kremík" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Síra" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Chlór" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argón" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Draslík" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Vápnik" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titánium" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanád" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Chróm" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangán" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Železo" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Meď" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinok" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gálium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germánium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arzén" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selén" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bróm" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Kryptón" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubídium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Stroncium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Ytrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirkón" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niób" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybdén" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technécium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruténium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Ródium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Paládium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Striebro" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Cín" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimón" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Telúr" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jód" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenón" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Bárium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantán" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cér" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Prazeodým" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodým" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prométium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samárium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Európium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolínium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprózium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Túlium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Yterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutécium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Volfrám" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rénium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Irídium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Zlato" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Ortuť" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tálium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Olovo" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bizmut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polónium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astát" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radón" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Rádium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktínium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Tórium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktínium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Urán" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptúnium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutónium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Amerícium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkélium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kalifornium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirkón" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Výber" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Odstráň vybrané" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Všetky súbory" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "bez názvu" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodická Tabuľka" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Nepodarilo sa spustiť MOPAC." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Skripty" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Chyba OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Neznámy" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Pridať Atóm" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Štart Atómu" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Upravte Vodíky" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Zmeniť Prvok" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Zmeniť Prvok" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Pridať Väzby" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Odstrániť vodíky" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Odstrániť Väzby" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Objednať Väzby" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr "Odstrániť Väzby" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Odstrániť Väzby" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Súbor" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Export" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Otvorte súbor parameter" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Rozšírenia" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Chyba" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Nastal problém v načítaní traj súboru %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Chyba OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Nastal problém v načítaní traj súboru %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Otvoriť súbor trajektórie" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Otvoriť súbor trajektórie" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Chyba" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Úspešné!" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Vodíky" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Guľa a tyčinka" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Vykreslí atómy a väzby" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Koniec Atómu" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Odstrániť vodíky" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Zostaviť" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Nesprávny názov súboru" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Typ Súradnice:" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Nesprávny názov súboru" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Názov prvku" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Značka Prvku" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Značka Prvku" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Nesprávny názov súboru" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Atómové číslo" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Nesprávny názov súboru" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Kartézské súradnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Kartézské súradnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Kartézské súradnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Kartézské súradnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Kartézské súradnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Kartézské súradnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,milboy, ,Launchpad Contributions:,Avogadro Team," "helix84,milboy, ,Launchpad Contributions:,Avogadro Team,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Milan Slovák,Miroslav " "Toman,helix84, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Milan " "Slovák,Miroslav Toman,helix84, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Milan Slovák,Miroslav Toman,helix84" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Kartézské súradnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Kartézské súradnice" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP Informácie" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP Informácie" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Vlastné:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Nemôžem nastaviť formát: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Nemôžem nastaviť formát: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Vykreslí atómy a väzby" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Farba podľa prvku" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Kresliť" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Kresliť Atóm" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Odstrániť vodíky" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Vzdialenosť" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Vzdialenosť (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Ďaľšie..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "AutoOptimalizácia" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Jednoduchý" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dvojitý" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Trojitý" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Skripty" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Nastal problém v načítaní traj súboru %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&HRY" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Vstup GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Jednoduchý" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frekvencia" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Plyn" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Voda" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Neutrálny" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Vstup GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Zrušiť výpočet" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Upravte Vodíky" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Pridať vodíky" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Odstrániť vodíky" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Odstrániť vodíky" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Vodíky" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Vodíky" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Import" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Vykreslí atómy a väzby" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Vložiť" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Vygenerovať ..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Spravovať" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Manipulácia s Atómom" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Rozsah" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Uhol" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Rozsah" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Zobrazenie" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Vlastnosti molekuly" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Navigovať" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Navigovať" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Stiahnutie zo siete zlyhalo" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Uplynul časový limit siete alebo iná chyba." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Stiahnutie zo siete zlyhalo" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometrická optimalizácia" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Pridať vodíky" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Pridať vodíky pre pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Odstrániť vodíky" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Vygenerovať ..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "Súbor trajektorie %1 nesúhlasí s počtom atómov v aktuálnej molekule." #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Pridať vodíky" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Pridať vodíky pre pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Odstrániť vodíky" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Stop" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Nie je možné prečítať súbor %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Chyba" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Uložiť video súbor" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "R&ozšírenia" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Prebieha výpočet elektrónovej hustoty" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Prebieha výpočet elektrónovej hustoty" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Spočítať molekulárne orbitály a iné povrchy" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Vynulovanie" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Odstráň Všetko" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Výber" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Invertovať Výber" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Výbery" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Výber" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Výber" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Výber" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Výber" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrácie" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Typ" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Prvok" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Vybrať podľa Prvku..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Vykreslí molekulárne dipólne momenty" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waalsove gule" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Drôtený model" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Vykreslí molekuly ako tyčinky" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Nastavenia Výberu" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Zrušiť výpočet" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Spracovatelia:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Zmeniť Prvok" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) msgid "Ctrl+C" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) msgid "Ctrl+E" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Silové Pole:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Uložiť video súbor" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Úspešné!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Nahrať Súbor..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Rozsah Nastavenia" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Navigovať" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Navigovať" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Navigovať" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Názov zvyškov" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Zrušiť" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Typ Súradnice:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Vynulovanie" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Vzdialenosť" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Formát:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Použiť" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Transformačná Metóda" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Prvok:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Vstup GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Jednoduché Nastavenia" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "V:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Mnohorakosť:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "S:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Názov:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Obnoviť Všetko" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Predvolené" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Nahrať Súbor..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "názov" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Formát:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molekulárna Dynamika (300K)" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometrická optimalizácia" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Optimalizačná metóda:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Silové Pole:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Optimalizačná metóda:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "AutomatickéOtáčanie" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "kroky" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Konvergencia" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Konvergencia" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Časový Limit:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Jednotky:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Počet atómov:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Odstráň vybrané" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Priehľadnosť:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Povrchy" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Povrchy" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Povrchy" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Vypočítať" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrácie" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Spustiť &animáciu" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Zastaviť &animáciu" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Nastavenia" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,milboy, ,Launchpad Contributions:,Avogadro Team," "helix84,milboy, ,Launchpad Contributions:,Avogadro Team,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,helix84,milboy, ," "Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Milan Slovák,Miroslav " "Toman,helix84, ,Launchpad Contributions:,Avogadro Team,Geoff Hutchison,Milan " "Slovák,Miroslav Toman,helix84, ,Launchpad Contributions:,Avogadro Team,Geoff " "Hutchison,Milan Slovák,Miroslav Toman,helix84" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-devel@lists." "sourceforge.net,,,,,avogadro-devel@lists.sourceforge.net,,,,,,avogadro-" "devel@lists.sourceforge.net,,,,,,avogadro-devel@lists.sourceforge.net,,,,,," "avogadro-devel@lists.sourceforge.net,,,,,,avogadro-devel@lists.sourceforge." "net,,,,,,avogadro-devel@lists.sourceforge.net,,,,,,avogadro-devel@lists." "sourceforge.net,,,,,,avogadro-devel@lists.sourceforge.net,,,toman.mir@gmail." "com,,,,avogadro-devel@lists.sourceforge.net,,,rayiner@protonmail.com,,,," "avogadro-devel@lists.sourceforge.net,,,rayiner@protonmail.com," #~ msgid "Color by Index" #~ msgstr "Farba podľa indexu" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Farba podľa indexu (červená, oranžová, zelená, modrá, fialová)" #~ msgid "Color by Partial Charge" #~ msgstr "Farba podľa čiastkového náboja" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Farba podľa čiastkového atomového náboja (modrá = kladný, červená = " #~ "záporný)" #~ msgid "Custom Color:" #~ msgstr "Vlastná farba:" #~ msgid "Custom Color" #~ msgstr "Vlastná farba" #~ msgid "Set custom colors for objects" #~ msgstr "Nastaviť vlastné farby objektov" #~ msgid "Color by Distance" #~ msgstr "Farba podľa vzdialenosti" #~ msgid "Color by distance from the first atom." #~ msgstr "Farba podľa vzdialenosti od prvého atómu." #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Farba podľa prvku (uhlík = šedá, kyslík = červená, ...)." #~ msgid "Color by Residue" #~ msgstr "Farba podľa zvyšku" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Farba podľa zvyšku (typ aminokyselín, hydrofobicita, ..." #~ msgid "Highlight Color:" #~ msgstr "Zvýrazniť farbu" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Farba podľa SMARTS vzoru" #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Axes" #~ msgstr "Osy" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Vykresliť osi x,y, a z na začiatku sústavy" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Vykreslí jednoducho pomocou guľôčok (atómy) a tyčiniek (väzby)" #~ msgid "Cartoon" #~ msgstr "Náčrtok" #~ msgid "Dipole" #~ msgstr "Dipól" #~ msgid "Force" #~ msgstr "Sila" #~ msgid "Renders force displacements on atoms" #~ msgstr "Vykreslí silu posunu na atómy" #~ msgid "Hydrogen Bond" #~ msgstr "Vodíkové väzby" #~ msgid "Renders hydrogen bonds" #~ msgstr "Vykresliť vodíkové väzby" #~ msgid "Label" #~ msgstr "Označenie" #~ msgid "Polygon" #~ msgstr "Mnohouholník" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Vykresľuje atómy ako štvorsteny, osemsteny a ďalšie mnohouholníky" #~ msgid "Ring" #~ msgstr "Kruh" #~ msgid "Renders rings with colored planes" #~ msgstr "Vykreslí kruhy s farebnými rovinami" #~ msgid "Simple Wireframe" #~ msgstr "Jednoduchý drôtený model" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Vykreslí atómy ako Van der Waalsove gule" #~ msgid "Stick" #~ msgstr "Tyčinka" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, isosurface = %L2" #~ msgid "Trajectory files" #~ msgstr "Súbory trajektórie" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "video súbory (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Pridávanie prípony .avi" #~ msgid "Animation..." #~ msgstr "Animácia..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Nie je možné prečítať formát súboru %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Čítanie súboru trajektórie %1 zlyhalo." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Musíte zadať platný názov .avi súboru" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "Ovládací prvok grafickej knižnice nebol správne inicializovaný aby bolo " #~ "možné uložiť video" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Neplatný názov video súboru. Musí obsahovať úplnú cestu" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Neplatný názov video súboru. Musí obsahovať úplnú cestu a názov končiaci " #~ "na .avi" #~ msgid "Animation" #~ msgstr "Animácia" #~ msgid "Cartesian Editor..." #~ msgstr "Karteziánsky editor..." #~ msgid "Cartesian editor" #~ msgstr "Karteziánsky editor" #~ msgid "Number of atoms: %1" #~ msgstr "Počet atómov: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Počet rotačných väzieb: %1" #~ msgid "Add constraint" #~ msgstr "Pridať obmedzenie" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Vaša molekula musí obsahovať aspoň jeden atóm aby ste mohli pridať " #~ "obmedzenie" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Vaša molekula musí obsahovať aspoň jeden atóm aby ste mohli pridať " #~ "obmedzenie väzby" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Vaša molekula musí obsahovať aspoň jeden atóm aby ste mohli pridať " #~ "obmedzenie uhla" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Vaša molekula musí obsahovať aspoň jeden atóm aby ste mohli pridať " #~ "obmedzenie uhla krútenia" #~ msgid "&Settings" #~ msgstr "%Nastavenia" #~ msgid "&Length Unit" #~ msgstr "%Dĺžka jednotky" #~ msgid "&Angle Unit" #~ msgstr "%Jednotka uhlu" #~ msgid "Trajectory..." #~ msgstr "Trajektória..." #~ msgid "Open chemical file format" #~ msgstr "Otvoriť formát chemického súboru" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Chemické súbory (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Chemické súbory (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Import trajektórie" #~ msgid "Import trajectory files" #~ msgstr "Import súborov trajektórie" #~ msgid "Setup Force Field..." #~ msgstr "Nastaviť silové pole..." #~ msgid "Calculate Energy" #~ msgstr "Vypočítať energiu" #~ msgid "Constraints..." #~ msgstr "Obmedzenia..." #~ msgid "Ignore Selection" #~ msgstr "Ignorovať výber" #~ msgid "Fix Selected Atoms" #~ msgstr "Fixovať vybrané atómy" #~ msgid "&Molecular Mechanics" #~ msgstr "&Mechanika molekúl" #~ msgid "Forcefield Optimization" #~ msgstr "Optimalizácia silového poľa" #~ msgid "Systematic Rotor Search" #~ msgstr "Systematické vyhľadávanie rotora" #~ msgid "ForceField" #~ msgstr "SilovéPole" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Optimalizácia a generovanie prispôsobenia molekúl pomocou molekulárnej " #~ "mechaniky silových polí" #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Bežné vektorové formáty" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Change H to Methyl" #~ msgstr "Zmeniť H na metyl" #~ msgid "H to Methyl" #~ msgstr "H na metyl" #~ msgid "H2Methyl" #~ msgstr "H na metyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Transformácia vodíkov na metylové skupiny" #~ msgid "Add or remove hydrogens" #~ msgstr "Pridať alebo odstrániť vodíky" #~ msgid "Fragment..." #~ msgstr "Zlomok..." #~ msgid "Insert SMILES" #~ msgstr "Vložiť SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Vložiť zlomky SMILES..." #~ msgid "Insert Fragment" #~ msgstr "Vložiť fragment" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Vložiť fragmenty molekúl na stavbu väčších molekúl" #~ msgid "Peptide..." #~ msgstr "Peptid..." #~ msgid "Insert Peptide" #~ msgstr "Vložiť peptid" #~ msgid "Molecule Properties..." #~ msgstr "Vlastnosti molekuly..." #~ msgid "&Properties" #~ msgstr "&Vlastnosti" #~ msgid "Display standard molecular properties." #~ msgstr "Zobraziť štandardné vlastnosti molekuly." #~ msgid "PDB Entry" #~ msgstr "Záznam PDB" #~ msgid "PDB entry to download." #~ msgstr "Záznam PDB na stiahnutie." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL molekuly na stiahnutie." #~ msgid "Fetch molecule files over the network." #~ msgstr "Získať súbory molekúl prostredníctvom siete." #~ msgid "All Files" #~ msgstr "Všetky súbory" #~ msgid "Show Preview" #~ msgstr "Zobraziť náhľad" #~ msgid "Hide Preview" #~ msgstr "Skryť náhľad" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Súbory obrázkov (*.png *.pbm)" #~ msgid "No filename supplied." #~ msgstr "Nezadaný názov súboru." #~ msgid "No valid filename was supplied." #~ msgstr "Nezadaný platný názov súboru." #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Nedá sa zapisovať do súboru %1. Máte oprávnenie zapisovať do tohto miesta?" #~ msgid "POV-Ray failed to start." #~ msgstr "Zlyhalo spustenie POV-Ray." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "Zlyhalo spustenie POV-Ray. Cesta k spustiteľnému súboru nie je správne " #~ "nastavená." #~ msgid "Atom Properties..." #~ msgstr "Vlastnosti atómu..." #~ msgid "Bond Properties..." #~ msgstr "Vlastnosti väzieb..." #~ msgid "Angle Properties..." #~ msgstr "Vlastnosti uhla..." #~ msgid "Torsion Properties..." #~ msgstr "Vlastnosti krútenia..." #~ msgid "Atom Properties" #~ msgstr "Vlastnosti atómu" #~ msgid "Bond Properties" #~ msgstr "Vlastnosti väzby" #~ msgid "Angle Properties" #~ msgstr "Vlastnosti uhla" #~ msgid "Torsion Properties" #~ msgstr "Vlastnosti krútenia" #~ msgid "Properties" #~ msgstr "Vlastnosti" #~ msgid "Valence" #~ msgstr "Mocenstvo" #~ msgid "Partial Charge" #~ msgstr "Čiastočne Nabitý" #~ msgid "Rotatable" #~ msgstr "Otočný" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Dĺžka %1" #~ msgid "Vertex" #~ msgstr "Vrchol" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Uhol %1" #~ msgid "Atom %1" #~ msgstr "Atóm %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Krútenie %1" #~ msgid "Python Terminal" #~ msgstr "Python Terminál" #~ msgid "QM Matches" #~ msgstr "QM Zhoda" #~ msgid "Delete" #~ msgstr "Zmazať" #~ msgid "You must make a selection!" #~ msgstr "Musíte vybrať!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES Konverzia nie je k dispozícii" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES Konverzia formátu nie je k dispozícii!" #~ msgid "Group Name" #~ msgstr "Názov skupiny" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Vytvorenie vstupných súborov pre balík kvantovej chémie GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Pokročilé nastavenia zmenené" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Pokročilé nastavenia boli zmenené.\n" #~ "Zahodiť?" #~ msgid "Advanced Settings Reset" #~ msgstr "Obnovenie pokročilých nastavení" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Ste si istý že chcete vymazať pokročilé nastavenia?\n" #~ "Všetky zmeny sa stratia!" #~ msgid "Basic Settings Reset" #~ msgstr "Obnovenie základných nastavení" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Ste si istý že chcete vymazať základné nastavenia?\n" #~ "Všetky zmeny sa stratia!" #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC je už spustený. Počkajte, kým skončí predchádzajúci výpočet." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC nie je nainštalovaný." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Spustiteľný súbor MOPAC sa nenašiel." #~ msgid "Running MOPAC calculation..." #~ msgstr "Prebiehajú výpočty MOPAC..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC havaroval." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "MOPAC nefunguje správne. Možno nie je správne nainštalovaný." #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Chcete aktualizovať náhľad textu, pričom stratíte všetky zmeny vykonané " #~ "vo vstupnom náhľade súboru Q-Chem?" #~ msgid "Select by Residue..." #~ msgstr "Vybrať podľa Zvyšku..." #~ msgid "Add Named Selection..." #~ msgstr "Pridať Pomenovaný výber..." #~ msgid "Select by residue" #~ msgstr "Vybrať podľa zvyškov" #~ msgid "Name cannot be empty." #~ msgstr "Názov nesmie byť prázdny." #~ msgid "There is already a selection with this name." #~ msgstr "V súčasnosti už existuje výber s týmto názvom." #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Výber atómov, väzieb, zvyškov..." #~ msgid "No intensities" #~ msgstr "Žiadna intenzita" #~ msgid "X Axis" #~ msgstr "Osa X" #~ msgid "Y Axis" #~ msgstr "Osa Y" #~ msgid "&Appearance" #~ msgstr "&Vzhľad" #~ msgid "E&xport Image" #~ msgstr "E&xport Obrázku" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infračervený" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Nastavenie &Infračerveného Spektra" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "&NMR Nastavenie Spektra" #~ msgid "No data" #~ msgstr "Žiadne údaje" #~ msgid "Dark" #~ msgstr "Tmavý" #~ msgid "Light" #~ msgstr "Svetlý" #~ msgid "Publication" #~ msgstr "Uverejnenie" #~ msgid "Handdrawn" #~ msgstr "Ručné kreslenie" #~ msgid "New Scheme" #~ msgstr "Nová schéma" #~ msgid "Confirm Scheme Removal" #~ msgstr "Potvrdenie odstránenia schémy" #~ msgid "Really remove current scheme?" #~ msgstr "Skutočne odstrániť aktuálnu schému?" #~ msgid "Change Scheme Name" #~ msgstr "Zmeniť názov schémy" #~ msgid "Enter new name for current scheme:" #~ msgstr "Vložte nový názov pre schému:" #~ msgid "Export Calculated Spectrum" #~ msgstr "Export vypočítaného spektra" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Hodnoty oddelené tabulátorom (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Hodnoty oddelené tabulátorom" #~ msgid "Import Spectra" #~ msgstr "Importovať Spectra" #~ msgid "Data Format" #~ msgstr "Formát dát" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Formát:" #~ msgid "Load Spectral Data" #~ msgstr "Načítať spektrálne údaje" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Prenosná Pixmapa" #~ msgid "X11 Bitmap" #~ msgstr "Bitmapa X11" #~ msgid "X11 Pixmap" #~ msgstr "Pixmapa X11" #~ msgid "Save Spectra Image" #~ msgstr "Uložiť obrázok Spectra" #~ msgid "Orbitals" #~ msgstr "Orbitály" #~ msgid "Create Surfaces..." #~ msgstr "Vytvoriť povrchy ..." #~ msgid "Calculating VdW Cube" #~ msgstr "Prebieha výpočet VdW kocky" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Prebieha výpočet MO %L1" #~ msgid "Electron Density" #~ msgstr "Elektrónová hustota" #~ msgid "GL widget has no molecule" #~ msgstr "Ovládací prvok grafickej knižnice nemá molekulu" #~ msgid "Building video " #~ msgstr "Vytvára sa video " #~ msgid "Could not run povray." #~ msgstr "Nemožno spustiť povray." #~ msgid "Could not run mencoder." #~ msgstr "Nemožno spustiť mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Nastaviť pomer strán" #~ msgid "Connect" #~ msgstr "Pripojiť" #~ msgid "Disconnect" #~ msgstr "Odpojiť" #~ msgid "Debug Information" #~ msgstr "Ladiace informácie" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Zobrazenie veľkosti: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Atómy: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Väzby: %L1" #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Súbor typu '%1' nie je podporovaný pre čítanie." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Súbor typu pre súbor '%1' nie je podporovaný pre čítanie." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Súbor %1 sa nedá otvoriť pre zapisovanie." #~ msgid "Molecule %1" #~ msgstr "Molekula %1" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid " - no module" #~ msgstr " - žiaden modul" #~ msgid "Unknown Python Extension" #~ msgstr "Neznáme Python Rozšírenie" #~ msgid "PythonExtension: checking " #~ msgstr "PythonRozšírenie: kontrolovanie " #~ msgid "Unknown Python Tool" #~ msgstr "Neznáme PythonNástroje" #~ msgid "PythonTool: checking " #~ msgstr "PythonNástroje: kontrolovanie " #~ msgid "Tools" #~ msgstr "Nástroje" #~ msgid "Axis:" #~ msgstr "Osa:" #~ msgid "Align:" #~ msgstr "Zarovnať:" #~ msgid "Everything" #~ msgstr "Všetko" #~ msgid "Align" #~ msgstr "Zarovnať" #~ msgid "Algorithm:" #~ msgstr "Algoritmy" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Molekulárna Dynamika (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Molekulárna Dynamika (900K)" #~ msgid "Start" #~ msgstr "Štart" #~ msgid "Fixed atoms are movable" #~ msgstr "Pevné atómy sú pohyblivé" #~ msgid "Ignored atoms are movable" #~ msgstr "Ignorované atómy sú pohyblivé" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Automatická optimalizácia geometrie molekuly" #~ msgid "AutoOptimization Settings" #~ msgstr "AutomatickáOptimalizácia Nastavenia" #~ msgid "Auto Rotation Tool" #~ msgstr "Nástroje pre Atomatické Otáčanie" #~ msgid "x rotation:" #~ msgstr "x otáčanie:" #~ msgid "x rotation" #~ msgstr "x otáčanie" #~ msgid "y rotation:" #~ msgstr "y otáčanie:" #~ msgid "y rotation" #~ msgstr "y otáčanie" #~ msgid "z rotation:" #~ msgstr "z otáčanie:" #~ msgid "z rotation" #~ msgstr "z otáčanie" #~ msgid "Automatic rotation of molecules" #~ msgstr "Automatické otáčanie molekúl" #~ msgid "AutoRotate Settings" #~ msgstr "Nastavenie Automatického Otáčania" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Dĺžka Väzby: %L1" #~ msgid " Show Angles" #~ msgstr " Zobraziť Uholníky" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Vzdialenosť (2->3): %L1 %2" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Vzdialenosť (3->4): %L1 %2" #~ msgid "Distance(s):" #~ msgstr "Vzdialenosť(i):" #~ msgid "Delete Atom" #~ msgstr "Odstrániť Atóm" #~ msgid "Draw Bond" #~ msgstr "Kresliť Väzby" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Kresliť a upraviť atómy a väzby" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Preložiť, otočiť a nastaviť atómy a úlomky" #~ msgid "Manipulate Settings" #~ msgstr "Nastavenie Manipulácie" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Preložiť, otáčať, a približovať okolo aktuálneho pohľadu" #~ msgid "Navigate Settings" #~ msgstr "Nastavenie Navigácie" #~ msgid "Atom/Bond" #~ msgstr "Atóm/Väzba" #~ msgid "Residue" #~ msgstr "Zvyšok" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Vyber atómy, zvyšky a molekuly" #~ msgid "Symbol" #~ msgstr "Symbol" #~ msgid "Hydrophobicity" #~ msgstr "Hydrofóbia" #~ msgid "Atom Radius:" #~ msgstr "Radius Atómu:" #~ msgid "Bond Radius:" #~ msgstr "Radius Väzby:" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "List" #~ msgid "Loop" #~ msgstr "Slučka" #~ msgid "Colors" #~ msgstr "Farby" #~ msgid "Dipole:" #~ msgstr "Dipól:" #~ msgid "Width:" #~ msgstr "Šírka" #~ msgid "A" #~ msgstr "A" #~ msgid "Color:" #~ msgstr "Farba:" #~ msgid "None" #~ msgstr "Nič" #~ msgid "Residue number" #~ msgstr "Číslo zvyšku" #~ msgid "Rendering:" #~ msgstr "Vykreslenie:" #~ msgid "Backbone" #~ msgstr "Hlavný Reťazec" #~ msgid "Radius:" #~ msgstr "Rádius:" #~ msgid "Include Nitrogens" #~ msgstr "Zahrnúť Vodíky" #~ msgid "Style:" #~ msgstr "Štýl:" #~ msgid "Selected Colors" #~ msgstr "Vybrané Farby" #~ msgid "Colors:" #~ msgstr "Farby:" #~ msgid "Positive" #~ msgstr "Pozitívne" #~ msgid "Negative" #~ msgstr "Negatívne" #~ msgid "Show Atoms" #~ msgstr "Zobraziť Atómy" #~ msgid "Animate Trajectory" #~ msgstr "Animovať Trajektórie" #~ msgid "0/0" #~ msgstr "0/0" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Uložiť ako .avi..." #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "Method" #~ msgstr "Metóda" #~ msgid "Energy" #~ msgstr "Energia" #~ msgid "Constraints" #~ msgstr "Obmedzenia" #~ msgid "Add Constraints" #~ msgstr "Pridať Obmedzenia" #~ msgid "Ignore Atom" #~ msgstr "Ignorovať Atóm" #~ msgid "Fix Atom" #~ msgstr "Opraviť atóm" #~ msgid "Fix Atom X" #~ msgstr "Opraviť atóm X" #~ msgid "Fix Atom Y" #~ msgstr "Opraviť atóm Y" #~ msgid "Fix Atom Z" #~ msgstr "Opraviť atóm Z" #~ msgid "Constraint Value" #~ msgstr "Hodnoty Obmedzení" #~ msgid "Add" #~ msgstr "Pridať" #~ msgid "Save" #~ msgstr "Ulož" #~ msgid "Load" #~ msgstr "Načítať" #~ msgid "All" #~ msgstr "Všetko" #~ msgid "Setup Force Field" #~ msgstr "Nastaviť Silové Pole" #~ msgid "Force Field" #~ msgstr "Silové Pole" #~ msgid "Number of steps" #~ msgstr "Počet krokov" #~ msgid "Algorithm" #~ msgstr "Algoritmus" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "T" #~ msgstr "T" #~ msgid "Insert Fragment..." #~ msgstr "Vložiť Zlomok" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Pokročilé" #~ msgid "Control" #~ msgstr "Ovládanie" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Údaje" #~ msgid "Grid" #~ msgstr "Mriežka" #~ msgid "Use Form" #~ msgstr "Použite formulár" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "EFP Matches" #~ msgstr "EFP Výsledky" #~ msgid "Group Label:" #~ msgstr "Označenie Skupiny:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Pokročilé Nastavenia" #~ msgid "System" #~ msgstr "Systém" #~ msgid "MO Guess" #~ msgstr "MO Odhad" #~ msgid "Read" #~ msgstr "Čítať" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP Typ:" #~ msgid "Default" #~ msgstr "Predvolené" #~ msgid "Max SCF Iterations:" #~ msgstr "Max SCF Iterácia:" #~ msgid "Optimization" #~ msgstr "Optimalizácia" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Povrchová Energia" #~ msgid "Finite Electric Field" #~ msgstr "Obmedzené Elektrické Pole" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Celková Optimalizácia" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO Optimalizácia" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Realizácia EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Žiadny (CI)" #~ msgid "SCF Type:" #~ msgstr "Typ SCF:" #~ msgid "Localization Method:" #~ msgstr "Lokalizačná Metóda" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "General CI" #~ msgstr "Všeobecné CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Spustiť Normálne" #~ msgid "Check" #~ msgstr "Kontrola" #~ msgid "Debug" #~ msgstr "Ladenie" #~ msgid "Use MP2" #~ msgstr "Použiť MP2" #~ msgid "Use DFT" #~ msgstr "Použiť DFT" #~ msgid "Order of Principal Axis:" #~ msgstr "Poradie Hlavnej Osi" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Hilderbrant internals" #~ msgstr "Vnútorný Hilderbrant" #~ msgid "Point Group:" #~ msgstr "Bod Skupiny:" #~ msgid "Minutes" #~ msgstr "Minúty" #~ msgid "Hours" #~ msgstr "Hodiny" #~ msgid "Days" #~ msgstr "Dni" #~ msgid "Weeks" #~ msgstr "Týždne" #~ msgid "Years" #~ msgstr "Roky" #~ msgid "Millenia" #~ msgstr "Tisícročia" #~ msgid "MegaBytes" #~ msgstr "MegaByty" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "Memory:" #~ msgstr "Pamäť:" #~ msgid "Diagonalization Method:" #~ msgstr "Diagonalizačná Metóda:" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Použite External Data Representation pre Správy" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO Uložené (DICTNRY)" #~ msgid "Skip" #~ msgstr "Preskočiť" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "GAMESS Rozhranie pre Iné Kódy" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK Verzia)" #~ msgid "Grid-Free" #~ msgstr "Voľná-Mriežka" #~ msgid "Method:" #~ msgstr "Metóda:" #~ msgid "words" #~ msgstr "slová" #~ msgid "# of Core Electrons:" #~ msgstr "# z Jadra Elektrónov:" #~ msgid "Segmented Transformation" #~ msgstr "Segmentovaná Transformácia" #~ msgid "Analytic" #~ msgstr "Analytický" #~ msgid "Numeric" #~ msgstr "Číselný" #~ msgid "Displacement Size:" #~ msgstr "Presunutá Veľkosť:" #~ msgid "Read (from $HESS)" #~ msgstr "Čítať (z $HESS)" #~ msgid "Update Step Size" #~ msgstr "Aktualizovať Veľkosť Kroku" #~ msgid "Stationary Point" #~ msgstr "Stacionárny bod" #~ msgid "Step Size" #~ msgstr "Veťkosť Kroku" #~ msgid "Maximum:" #~ msgstr "Maximum:" #~ msgid "Minimum:" #~ msgstr "Minimum:" #~ msgid "Initial:" #~ msgstr "Východiskový" #~ msgid "Quadratic Approximation" #~ msgstr "Kvadratická Aproximatizácia" #~ msgid "Constrained Optimization" #~ msgstr "Obmedzená Optimalizácia" #~ msgid "Follow Mode:" #~ msgstr "Dodržiavajte režim:" #~ msgid "Maximum Steps:" #~ msgstr "Maximum Krokov:" #~ msgid "Basis:" #~ msgstr "Základ:" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Štandard" #~ msgid "Checkpoint:" #~ msgstr "Checkpoint:" #~ msgid "NWChem Input" #~ msgstr "Vstup NWChem" avogadrolibs-1.93.0/i18n/sl.po000066400000000000000000006716331360735163600160470ustar00rootroot00000000000000# Slovenian translation for avogadro. # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 # This file is distributed under the same license as the avogadro package. # # Matej Urbančič , 2012. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:51+0000\n" "Last-Translator: Matej Urbančič \n" "Language-Team: Slovenian \n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" "X-Poedit-Country: SLOVENIA\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-SourceCharset: utf-8\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Ustvarjalnik skriptov ..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Ustvarjalnik skriptov ..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Nadaljuj" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Zapri" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "nepoznano" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "Zagon Programnika abinit je spodletel." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "O izračunih" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Opozorilo" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Opozorilo" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Izbor topila" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Odvod" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Ni mogoče zapisati datoteke." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Video posnetek ni zapisan." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Video posnetek ni zapisan." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 #, fuzzy msgid "Write input files" msgstr "Ustvari datoteke WRL" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Nastavitve" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Naslov" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Ime datoteke:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Procesorji:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Izračun" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Teorija:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Teorija:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Osnova" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "Naboj" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "Mnogokratnik" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Ni nastavljene molekule" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Zaustavi &animacijo" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Ni izbranih atomov" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Vodik" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "helij" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "litij" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "berilij" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "ogljik" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "dušik" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "kisik" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "natrij" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "magnezij" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "aluminij" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "silicij" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "žveplo" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "klor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "kalij" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "kalcij" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "skandij" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "titan" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "vanadij" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "krom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "mangan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "železo" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "nikelj" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "baker" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "cink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "galij" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "germanij" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "arzen" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "selen" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "kripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "rubidij" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "stroncij" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "itrij" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "cirkonij" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "niobij" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "molibden" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "tehnecij" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "rutenij" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "rodij" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "paladij" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "srebro" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "kadmij" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "indij" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "kositer" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "telur" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "jod" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "ksenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "cezij" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "barij" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "lantan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "cerij" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "prazeodim" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "neodim" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "prometij" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "samarij" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "evropij" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "gadolinij" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "terbij" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "disprozij" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "holmij" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "erbij" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "tulij" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "iterbij" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "lutecij" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "hafnij" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "volfram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "renij" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "osmij" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "iridij" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "zlato" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "živo srebro" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "talij" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "svinec" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "bizmut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "polonij" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "astat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "francij" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "radij" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "aktinij" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "torij" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "protaktinij" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "uran" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "neptunij" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "plutonij" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "americij" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "kirij" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "berkelij" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "kalifornij" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "ajnštajnij" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "fermij" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "mendelevij" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "nobelij" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "lavrencij" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "ruterfordij" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "dubnij" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "siborgij" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "borij" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "hasij" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "mejtnerij" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "darmstadij" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "rutenij" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "kopernicij" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "cirkonij" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "flerovij" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorij" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Prebrskaj ..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Izbor topila" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Izbriši izbor" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Vse datoteke" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "neimenovano" #: qtgui/multiviewwidget.cpp:199 #, fuzzy msgid "Create a new view" msgstr "Ustvari datoteke WRL" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periodni sistem elementov" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Zagon Programnika abinit je spodletel." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Programnik Abinit se je sesul." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Napaka OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "nepoznano" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Molekula" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Dodaj atom" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Odstrani atom" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Počisti vse" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Samodejno dodaj vodike" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Spremeni element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Spremeni element" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Formalni naboj" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Dodaj vez" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Odstrani atom" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Izbriši vezi" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Vrsta vezi" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Spremeni vrsto vezi" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Pripni na vez" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Izbriši vezi" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Dodaj &osnovno celico" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Odstrani osnovno &celico" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Zapolni osnovno celico" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Združi atome v celico" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Prilagodi prostornino osnovne celice" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Supercelica" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Zavrti na običajno usmerjenost" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Zmanjšaj na primitivno celico" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Prilagodi simetrijo kristala" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Zapolni osnovno celico" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Zmanjšaj na asimetrično enoto" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Datoteka" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Izvozi" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Pražne vrednosti" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Odvodna datoteka Orca" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Razširitve" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr " Napaka " #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Prišlo je do napak med branjem datoteke trajektorij %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Napaka OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Prišlo je do napak med branjem datoteke trajektorij %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Odpri datoteko WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Odpri datoteko WFN" #: qtplugins/apbs/apbsdialog.cpp:103 #, fuzzy msgid "PQR Files (*.pqr)" msgstr "Datoteke VRML (*wrl)" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Napaka" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Shrani skript" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Uspešno končano!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Slika je uspešno zapisana v %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Pokaži večkratne vezi" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Vodiki" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Kroglice in palice" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Izriše oznake atomov in vezi" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Premeščanje in spreminjanje vezi" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Premeščanje in spreminjanje vezi" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Končni atom" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Odstrani vodike" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Izgradnja" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Vez" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Ime datoteke:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Urejevalnik kartezijskh koordinat" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Urejevalnik kartezijskh koordinat" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Povrni spremembe" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Neveljavno ime datoteke" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Ime elementa" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Simbol elementa" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Simbol elementa" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Neveljavno ime datoteke" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Številka atoma" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Neveljavno ime datoteke" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Kartezijske koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Kartezijske koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Nastavitev kartezijskih koordinat" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Po meri" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Grega P,Matej Urbančič, ,Launchpad Contributions:," "Grega P,Matej Urbančič, ,Launchpad Contributions:,Grega P,Matej Urbančič, ," "Launchpad Contributions:,Grega P,Matej Urbančič" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ, s števili" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Kartezijske koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Kartezijske koordinate" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Podrobnosti GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Podrobnosti GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Skript Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Kopiraj vse" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Po meri" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Počisti vse" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Ni mogoče nastaviti zapisa: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Ni mogoče nastaviti zapisa: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "&Uvozi krstalno mrežo iz odložišča ..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Zapolni osnovno celico" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Zapolni osnovno celico" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Združi atome v celico" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Zavrti na običajno usmerjenost" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Prolagajanje celice na &prostornino ..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Supercelica" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Zmanjšaj celico (&Nigglijev algoritem)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Kristal ..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Odstrani osnovno &celico" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Dodaj &osnovno celico" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Osnovna celica je že zmanjšana na lastno Nigglijevo kanonsko predstavitev." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Kristal ..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Izriše oznake atomov in vezi" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Ni mogoče razčleniti besedila" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Osi po meri" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Nariši" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Nariši atom" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Spremeni vrsto vezi" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Odstrani atom" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Razdalja" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Razdalja (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Drugo ..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Samodejno prilagajanje" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Enojna" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dvojna" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Trojna" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Skripti" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Prišlo je do napak med branjem datoteke trajektorij %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Ustvarjalnik skriptov ..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Skript GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Točkovna energija" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Geometrija ravnovesja" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Prehodno stanje" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Frekvence" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Jedrni potencial" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "plinastem stanju" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "vodi" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "duplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "dikation" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "kation" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "nevtralno" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "anion" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Skript GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "O izračunih" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Samodejno dodaj vodike" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Dodaj vodike" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Odstrani vodike" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Odstrani vodike" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Vodiki" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Vodiki" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Uvozi" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Izriše oznake atomov in vezi" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES ..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES ..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Vstavi" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Brez opisa" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Molekula" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Ustvari ..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Premeščanje in spreminjanje" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Premeščanje atoma" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Izmeri" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Dihedralni kot:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Kot:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Kot:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Izmeri" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Izriše molekulske mrežne izopovršine" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Pogled" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Lastnosti molekule" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "KrmarjenjeSkok navzgor" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "KrmarjenjeSkok navzgor" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Ime kemijske strukture" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Kemijska strukture za prejem s strežnika." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Prejem preko omrežja je spodletel" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Zahteva omrežja je časovno potekla ali pa se je pojavila druga napaka." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Navedene molekule ni mogoče najti: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Prejem preko omrežja je spodletel" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Prilagodi geometrijo" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Prilagajanje geometrije" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Ali naj bodo vezi zaznane?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Dodaj vodike" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Dodaj vodike do pH ..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Odstrani vodike" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Branje datoteke '%1' je spodletelo." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Prišlo je do napake med pisanjem datoteke %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Prilagodi geometrijo" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Ustvari ..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Datoteka trajektorij %1 ni skladna s številom atomov v trenutni molekuli." #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Prilagodi geometrijo" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Dodaj vodike" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "Ustvarjanje odvoda Orca ..." #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Dodaj vodike do vrednosti pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Odstrani vodike" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Zaustavi" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Parametri:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Dinamične vezi" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Odstrani ..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Zaustavi" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Izvoz vektorske grafike" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Datoteke %1 ni mogoče prebrati." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "To je sporočilo o napaki!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr " Napaka " #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Shrani datoteko posnetka" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Izriši z uporabo POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Izriše predmete z lastnostmi QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Atomski nabo ..." #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "&Pripone" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Odpri datoteko WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Datoteke WFN (*.wfn);;Vse datoteke (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Razširitev QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Ustvarjanje vhodnih datotek za kvantne kemijske pakete" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Izračunavanje elektronske gostote" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Izračunavanje elektronske gostote" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Izračunavanje in predočenje molekulskih orbital" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Ponastavi" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Zapis datoteke:" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Izbriši vse" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Izbor" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Obrni izbor" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " valenčni elektroni" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Izberi" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Izberi" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Izbor" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Izbor" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Zaznaj prostorsko skupino" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Zmanjšaj na asimetrično enoto" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Odstopanje:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Prostorska &skupina" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Zaznavanje prostroske skupine je spodletelo.\n" "\n" "Ali želite poskusiti znova z drugačno nastavitvijo tolerance?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Zaznavanje prostroske skupine je spodletelo.\n" "\n" "Ali želite poskusiti znova z drugačno nastavitvijo tolerance?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Zaznavanje prostroske skupine je spodletelo.\n" "\n" "Ali želite poskusiti znova z drugačno nastavitvijo tolerance?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Zaznavanje prostroske skupine je spodletelo.\n" "\n" "Ali želite poskusiti znova z drugačno nastavitvijo tolerance?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Toleranca SCF:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Mednarodno" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Izbor prostorske skupine" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Prostorska &skupina" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibracije" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Predočenje spektra" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Pokaži &delne koordinate" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Vrsta" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "Lastnosti simetrije ..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Simetrija" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Lastnosti simetrije" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Izriše dipole molekule" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "∞" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waalsovi radii" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waalsovi radii" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Izriši" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "VRML" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Izriši z uporabo POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Žični model" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Izriše molekule kot paličice" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Pogovorno okno" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Obrazec" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Nastavitve izbire" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "O izračunih" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Senčilnik:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Procesorji:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&skrij po končanju" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&skrij po končanju" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Spremeni element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Skript Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "Ustvarjanje odvoda Orca ..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Popravljalna datoteka:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Polje sil:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Popravljalna datoteka:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Skript Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Shrani skript" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Uspešno končano!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Naloži datoteko" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Naloži datoteko" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Nastavitve merjenja" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "Ime &datoteke:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "KrmarjenjeSkok navzgor" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "KrmarjenjeSkok navzgor" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "KrmarjenjeSkok navzgor" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Ime datoteke:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "V redu" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Files of type:" msgstr "Zapis datoteke:" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Prekliči" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Zapis koordinat:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Ponastavi" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Razdalja" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrem" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Oblika:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Povrni spremembe" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Uveljavi" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Uvozi kristal" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Parametri supercelice" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Možnosti supercelice" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Ponovitev A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Ponovitev B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Ponovitev C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Nastavi barvo osnovne celice" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Matrika celice" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Delna matrika celice (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Preslikovanje atomov" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Uporabi" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Skrij" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Prilagodi prostornino osnovne celice" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Nova prostornina:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Merilo" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Oznaka besedila" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Element:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Vrsta vezi:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Skript GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "Osnovna &nastavitve" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "V:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Večkratnost:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Z:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Naslov:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Naboj:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Izračunaj:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Ime datoteke:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Ponastavi vse" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Privzeto" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Naloži datoteko ..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "ime" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Oblika:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Brez opisa" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molekulska masa (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "CILJI" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Kemijska formula:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Število atomov:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Število vezi:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Prilagajanje geometrije" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Način prilagajanja:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Polje sil:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Način prilagajanja:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Strmo nižanje" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Konjugiranje gradientov" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Samodejno vrtenje" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waalssovi radii izo-površina = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Elektrostatski potencial" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "koraki" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Kriterij konvergence preliva:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Konvergenca" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Časovna omejitev:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Enote" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Število vezi:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Valovna dolžina (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Izbriši izbor" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Radij kritične točke:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Radij poti vezi:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Kovalentnost" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Konstantna velikost" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Prekrivnost:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Površine" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Površine" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Srednja" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Zelo nizka" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Nizka" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Visoka" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Zelo visoka" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Vrednost &izo-površine:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Ločljivost:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Površine" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Izračunaj" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibracije" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Amplituda:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Začni &animacijo" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Zaustavi &animacijo" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Molekula" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Simetrija" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Možnosti" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Lastnosti simetrije" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Prostorska &skupina" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "Odstopanje:" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "Tesno" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "Običajno" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "Prosto" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Grega P,Matej Urbančič, ,Launchpad Contributions:," "Grega P,Matej Urbančič, ,Launchpad Contributions:,Grega P,Matej Urbančič, ," "Launchpad Contributions:,Grega P,Matej Urbančič" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,mateju@svn.gnome.org,,,,mateju@svn.gnome.org,,,,mateju@svn.gnome.org,,,," "mateju@svn.gnome.org" #~ msgid "Color by Index" #~ msgstr "Barva po ordinalnem številu" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Barva po ordinalnem številu (rdeča, oranžna, rumena, zelena, modra, " #~ "vijolična)." #~ msgid "Color by Partial Charge" #~ msgstr "Barva po delnem naboju" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Barva po delnem atomskem naboju (modra = pozitivno, rdeča = negativno)." #~ msgid "Custom Color:" #~ msgstr "Barva po meri:" #~ msgid "Custom Color" #~ msgstr "Barva po meri" #~ msgid "Set custom colors for objects" #~ msgstr "Določitev barv po meri za predmete" #~ msgid "Color by Distance" #~ msgstr "Barva po oddaljenosti" #~ msgid "Color by distance from the first atom." #~ msgstr "Barva po oddaljenosti od prvega atoma" #~ msgid "Color by Element" #~ msgstr "Barva po elementih" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Barva po elementu (ogljik = siv, kisik = rdeč ...)." #~ msgid "Color by Residue" #~ msgstr "Barva po ostanku" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Barva po ostanku (vrsta aminokisline, hidrofobnost ...)" #~ msgid "SMARTS Pattern:" #~ msgstr "Vzorec SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Barva poudarka:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Barva po vzorcu SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Poudari posebne lastnosti, ki so skladne z vzorcem SMARTS." #~ msgid "Ununtrium" #~ msgstr "ununtrij" #~ msgid "Ununpentium" #~ msgstr "ununpentij" #~ msgid "Ununseptium" #~ msgstr "ununseptij" #~ msgid "Ununoctium" #~ msgstr "ununoktij" #~ msgid "Engines" #~ msgstr "Programniki" #~ msgid "Axes" #~ msgstr "Osi" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Izriše osi x, y in z ob viru" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Izriše predmete kot kroglice (atome) in palice (vezi)" #~ msgid "Cartoon" #~ msgstr "Trakovi" #~ msgid "Renders protein secondary structure" #~ msgstr "Izriše sekundarno strukturo proteina" #~ msgid "Dipole" #~ msgstr "Dipol" #~ msgid "Force" #~ msgstr "Sile" #~ msgid "Renders force displacements on atoms" #~ msgstr "Izriše vplive sil na premike atomov" #~ msgid "Hydrogen Bond" #~ msgstr "Vodikove vezi" #~ msgid "Renders hydrogen bonds" #~ msgstr "Izriše vodikove vezi" #~ msgid "Select Atom Labels Color" #~ msgstr "Izbor barve oznake atoma" #~ msgid "Select Bond Labels Color" #~ msgstr "Izbor barve oznake vezi" #~ msgid "Select Atom Labels Font" #~ msgstr "Izbor pisave oznake atoma" #~ msgid "Select Bond Labels Font" #~ msgstr "Izbor pisave oznake vezi" #~ msgid "Label" #~ msgstr "Oznaka" #~ msgid "Polygon" #~ msgstr "Mnogokotnik" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "" #~ "Izriše atome v tetraedrično, oktaedrično oziroma z drugimi mnogokotniki." #~ msgid "Ribbon" #~ msgstr "Trakovi" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Izriše skelet proteina s trakovi" #~ msgid "Ring" #~ msgstr "Obroči" #~ msgid "Renders rings with colored planes" #~ msgstr "Izriše obroče v barvnih ravninah" #~ msgid "Simple Wireframe" #~ msgstr "Enostavno žično ogrodje" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Izriše vezi kot žično ogrodje (črte)" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waalsovi radii" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Izriše atome z Van der Waalsovimi radii" #~ msgid "Stick" #~ msgstr "Paličice" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Elektronska gostota, izo-površina = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, izo-površina = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "Izriše vezi kot črte, kar je koristno pri velikih molekulah" #~ msgid "Trajectory files" #~ msgstr "Datoteke trajektorij" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Datoteke zgodovine DL-POLY" #~ msgid "Open Trajectory File" #~ msgstr "Odpri datoteko trajektorij" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "datoteke posnetkov (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Dodajanje pripone .avi" #~ msgid "Animation..." #~ msgstr "Animiranje ..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Ni mogoče prebrati datoteke zapisa %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Branje podatkov iz datoteke trajektorij %1 je spodletelo." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Navesti je treba veljavno datoteko .avi" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "Gradnik GL ni uspešno začet za shranjevanje posnetka." #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Neveljavno ime datoteke posnetka. Navedena mora biti polna pot do mape." #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Neveljavno ime datoteke posnetka. Navedena mora biti polna pot do mape in " #~ "ime datoteke s pripono .avi." #~ msgid "Could not determine format from filename: %1" #~ msgstr "Ni mogoče določiti zapisa iz imena datoteke: %1" #~ msgid "Animation" #~ msgstr "Animacija" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Animiranje trajektorij, reakcij in vibracij." #~ msgid "Cartesian Editor" #~ msgstr "Kartezijski urejevalnik" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Za molekulo ni navedene osnovne celice, zato ni mogoče uporabiti delnih " #~ "koordinat." #~ msgid "Cartesian Editor..." #~ msgstr "Kartezijski urejevalnik ..." #~ msgid "Cartesian editor" #~ msgstr "Kartezijski urejevalnik" #~ msgid "Number of atoms: %1" #~ msgstr "Število atomov: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Število vrtljivih vezi: %1" #~ msgid "Add constraint" #~ msgstr "Dodaj omejitev" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "Molekula mora vsebovati vsaj en atom pred dodajanjem omejitev." #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Molekula mora vsebovati vsaj dva atoma pred dodajanjem omejitev vezi." #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Molekula mora vsebovati vsaj tri atome pred dodajanjem omejitev kotov." #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Molekula mora vsebovati vsaj štiri atome pred dodajanjem omejitev torzije." #~ msgid "&Crystallography" #~ msgstr "&Kristalografija" #~ msgid "&Reduce" #~ msgstr "&Zmanjšaj" #~ msgid "&Settings" #~ msgstr "&Nastavitve" #~ msgid "&Length Unit" #~ msgstr "Enota &dolžine" #~ msgid "&Angle Unit" #~ msgstr "Enota &kotov" #~ msgid "&Coordinate Display" #~ msgstr "Prikaz &koordinat" #~ msgid "Coordinate &Preservation" #~ msgstr "&Ohranjanje koordinat" #~ msgid "&Matrix Display" #~ msgstr "Prikaz &matrike" #~ msgid "Hide &Editors" #~ msgstr "Skrij &urejevalnike" #~ msgid "Show &Editors" #~ msgstr "Pokaži &urejevalnike" #~ msgid "Hide &Property Display" #~ msgstr "Skrij &lastnosti prikaza" #~ msgid "Show &Property Display" #~ msgstr "Pokaži &lastnosti prikaza" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Vrsta kristalne celice: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Prostorska skupina: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Prostornina osnovne celice: %L1%2" #~ msgid "Undefined" #~ msgstr "Nedoločeno" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triklinski" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoklinski" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortorombski" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetragonalni" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Romboedrični" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Heksagonalni" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Kubični" #~ msgid "Paste Crystal" #~ msgstr "Prilepi kristal" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Nigglijevo zmanjševanje je spodletelo. Vhodna zgradba kristalne mreže ni " #~ "skladna z zahtevami Nigglijevega algoritma zmanjševanja. Morda je treba " #~ "zmanjšati perturbacijo (za približno dva velikostna razreda manj od " #~ "tolerance) vhodne mreže." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Po 1000 zmanjševanjih z izbranim algoritmom je nadaljnje zmanjševanje " #~ "celice spodletelo. Opravilo je zaustavljeno." #~ msgid "&Translate Atoms..." #~ msgstr "&Preslikovanje atomov ..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Zavrti na &običajno usmerjenost" #~ msgid "&Slab..." #~ msgstr "&Površinske plasti ..." #~ msgid "Perceive Space&group..." #~ msgstr "Zaznaj &prostorsko skupino ..." #~ msgid "Set &Spacegroup..." #~ msgstr "Nastavi &prostorsko skupino ..." #~ msgid "&Fill Unit Cell" #~ msgstr "&Zapolni osnovno celico" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Zapolni osnovno celico s trenutno prostorsko skupino." #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Zmanjšaj na &asimetrično enoto" #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Prilagajanje simetrije kristala" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Zmanjšaj celico (&primitivno)" #~ msgid "&Bohr" #~ msgstr "&Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometer" #~ msgid "&Picometer" #~ msgstr "&Pikometer" #~ msgid "&Degree" #~ msgstr "&Stopinja" #~ msgid "&Radian" #~ msgstr "&Radian" #~ msgid "Display &cartesian coordinates" #~ msgstr "Pokaži &kartezijske koordinate" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Ohrani &kartezijske koordinate med spreminjanjem celice" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Ohrani &delne koordinate med spreminjanjem celice" #~ msgid "Display &cartesian matrix" #~ msgstr "Izriši &kartezijsko matriko" #~ msgid "Display &fractional matrix" #~ msgstr "Pokaži &delno matriko" #~ msgid "Display as &row vectors" #~ msgstr "Izriši kot &vrstične vektorje" #~ msgid "Display as &column vectors" #~ msgstr "Izriši kot &stolpične vektorje" #~ msgid "&Crystal View Options..." #~ msgstr "&Možnosti pogleda kristala ..." #~ msgid "Set Spacegroup" #~ msgstr "Nastavi prostorsko skupino" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Ni določene prostorske skupine za ta dokument.\n" #~ "\n" #~ "Ali želite prostorsko skupino nastaviti zdaj?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Zaznana je prostorska skupina P1 - določitev simetrije te kristalografske " #~ "skupine ni mogoče.\n" #~ "\n" #~ " Ali naj se upošteva drugačna toleranca?" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Združi atome v celico" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Zmanjšaj na Nigglijevo celico" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "Izbor tolerance v trenutnih kartezijskih enotah:" #~ msgid "Crystallography" #~ msgstr "Kristalografija" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Izgradnja in proučevanje periodičnih struktur." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "Vhodni podatki niso oblikovani v enem\n" #~ "izmed navedenih podprtih zapisov:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Zapis VASP\n" #~ msgid "Bad Compostion" #~ msgstr "Slaba skladnja" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "Polje identitet mora vsebovati enako število s presledkom ločenih vnosov, " #~ "kot jih ima 6. vrstica skripta POSCAR." #~ msgid "Cartesian Coordinates" #~ msgstr "Kartezijske koordinate" #~ msgid "Fractional Coordinates" #~ msgstr "Delne koordinate" #~ msgid "Set Fractional Coordinates" #~ msgstr "Nastavitev delnih koordinat" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Matrika celice (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Nastavi matriko osnovne celice" #~ msgid "Set Unit Cell Params" #~ msgstr "Nastavi parametre osnovne celice" #~ msgid "Working..." #~ msgstr "Poteka izvajanje opravila ..." #~ msgid "Build" #~ msgstr "Izgradi" #~ msgid "Cut Slab From Crystal" #~ msgstr "Izreži površinsko plast kristala" #~ msgid "No GLWidget?" #~ msgstr "Ali morda ni gradnika GLWidget?" #~ msgid "Please select one or more atoms." #~ msgstr "Izbrati je treba enega ali več atomov." #~ msgid "Trajectory..." #~ msgstr "Trajektorije ..." #~ msgid "Open chemical file format" #~ msgstr "Odpri zapis molekulskega modela" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Datoteke koordinat (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Odpri datoteko parametrov" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Datoteke parametrov (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Uvozi trajektorije" #~ msgid "Import trajectory files" #~ msgstr "Uvozi datoteke trajektorij" #~ msgid "Setup Force Field..." #~ msgstr "Nastavitev polja sil ..." #~ msgid "Calculate Energy" #~ msgstr "Izračun energije" #~ msgid "Conformer Search..." #~ msgstr "Iskanje konformer ..." #~ msgid "Constraints..." #~ msgstr "Omejitve ..." #~ msgid "Ignore Selection" #~ msgstr "Prezri izbor" #~ msgid "Fix Selected Atoms" #~ msgstr "Popravi izbrane atome" #~ msgid "&Molecular Mechanics" #~ msgstr "&Molekularna mehanika" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Ni mogoče nastaviti trenutno izbranega polja sil za to molekulo. Izbira " #~ "bo preklopljena na UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Energija = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Prilagajanje geometrije" #~ msgid "Forcefield Optimization" #~ msgstr "Prilagajanje polja sil" #~ msgid "Systematic Rotor Search" #~ msgstr "Sistematično iskanje vrtljivih vezi" #~ msgid "Random Rotor Search" #~ msgstr "Naključno iskanje vrtljivih vezi" #~ msgid "Weighted Rotor Search" #~ msgstr "Uteženo iskanje vrtljivih vezi" #~ msgid "Genetic Algorithm Search" #~ msgstr "Iskanje z genetskim algoritmom" #~ msgid "ForceField" #~ msgstr "Polje sil" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Prilagajanje molekul in ustvarjanje konformer z uporabo molekulsko " #~ "mehanskega polja sil." #~ msgid "&Vector Graphics..." #~ msgstr "&Vektorska grafika ..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Vektorski zapisi" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Izvoz vektorske grafike" #~ msgid "Change H to Methyl" #~ msgstr "Zamenjaj vodik (H) z metilno skupino (CH3)" #~ msgid "H to Methyl" #~ msgstr "H- -> CH3-" #~ msgid "H2Methyl" #~ msgstr "H- -> CH3-" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Zamenjaj atome vodika z metilno skupino" #~ msgid "Add or remove hydrogens" #~ msgstr "Dodajanje ali odstranjevanje vodikov" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "Vstavi DNA" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Uracil" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "T" #~ msgid "Thymine" #~ msgstr "Timin" #~ msgid "Insert DNA/RNA" #~ msgstr "Vstavi DNA/RNA" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Vstavi verige DNA/RNA" #~ msgid "Cannot read molecular file %1." #~ msgstr "Datoteke molekulskega zapisa %1 ni mogoče prebrati." #~ msgid "Fragment..." #~ msgstr "Molekulski delci ..." #~ msgid "Insert SMILES" #~ msgstr "Vstavi SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Vstavi molekulski delec SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Vstavi molekulski delec" #~ msgid "Insert Crystal" #~ msgstr "Vstavi kristal" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Vstavljanje molekulskih delcev za izgradnjo večjih molekul" #~ msgid "Peptide..." #~ msgstr "Peptidi ..." #~ msgid "Insert Peptide" #~ msgstr "Vstavi peptid" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Vstavi oligopeptidno zaporedje" #~ msgid "Invert Chirality" #~ msgstr "Vstavi kiralni center" #~ msgid "InvertChiral" #~ msgstr "Obrnjeni kiralni centri" #~ msgid "Invert chiral centers" #~ msgstr "Obrni kiralne centre" #~ msgid "Molecule Properties..." #~ msgstr "Lastnosti molekule ..." #~ msgid "&Properties" #~ msgstr "&Lastnosti" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "neznano" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Ocenjeni dipolni moment (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(na čakanju)" #~ msgid "Display standard molecular properties." #~ msgstr "Pokaži običajne lastnosti molekule." #~ msgid "Fetch from PDB..." #~ msgstr "Pridobi iz zbirke PDB ..." #~ msgid "Fetch by chemical name..." #~ msgstr "Pridobi po imenu kemijske strukture ..." #~ msgid "Fetch from URL..." #~ msgstr "Pridobi strukturo preko naslova URL ..." #~ msgid "PDB Entry" #~ msgstr "Struktura PDB" #~ msgid "PDB entry to download." #~ msgstr "Struktura PDB za prejem s strežnika." #~ msgid "URL" #~ msgstr "Naslov URL do strukture" #~ msgid "URL of molecule to download." #~ msgstr "Naslov URL do strukture molekule za prejem." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Navedene molekule ni mogoče naložiti: %1" #~ msgid "Network Fetch" #~ msgstr "Pridobivanje preko omrežja" #~ msgid "Fetch molecule files over the network." #~ msgstr "Pridobivanje datoteke molekulskih struktur preko omrežja." #~ msgid "OrcaExtension Warning" #~ msgstr "Opozorilo razširitve Orca" #~ msgid "OrcaExtension" #~ msgstr "Razpiritev Orca" #~ msgid " No vibration data found!" #~ msgstr " Ni najdenih podatkov vibracij" #~ msgid " No vibration data found or molecule changed outside Orca Plugin!" #~ msgstr "" #~ " Ni najdenih podatkov vibracij ali pa je molekula spremenjena izven " #~ "vstavka Orca!" #~ msgid "extended Geometry File" #~ msgstr "razširjena datoteka geometrije" #~ msgid "All Files" #~ msgstr "Vse Datoteke" #~ msgid "Read Orca Outputfile" #~ msgstr "Preberi odvod vstavka Orca" #~ msgid "no file found" #~ msgstr "ni najdene datoteke" #~ msgid "Somethings wrong in the file structure" #~ msgstr "Datoteka strukture je napačno zapisana" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "Datoteka strukture je napačno zapisana - osnovne celice" #~ msgid "Something is wrong in the IR output! " #~ msgstr "Prišlo je do napake v odvodu podatkov IR! " #~ msgid "Something is wrong in the raman output! " #~ msgstr "Prišlo je do napake v odvodu podatkov raman! " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "Prišlo je do napake v odvodu podatkov energije orbital! " #~ msgid "No geometry found in file!" #~ msgstr "Ni najdene datoteke geometrije!" #~ msgid "Could not read file!" #~ msgstr "Ni mogoče prebrati datoteke!" #~ msgid "Analyse Orca Output..." #~ msgstr "Preučevanje odvoda Orca ..." #~ msgid "&Orca" #~ msgstr "&Orca" #~ msgid "Orca Test Example" #~ msgstr "Preizkusni primer Orca" #~ msgid "Show Preview" #~ msgstr "Pokaži predogled" #~ msgid "Hide Preview" #~ msgstr "Skrij predogled" #~ msgid "Intensities" #~ msgstr "Intenzitete" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Shrani sliko izrisa s POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Slikovne datoteke (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray ..." #~ msgid "No filename supplied." #~ msgstr "Ni podanega imena datoteke" #~ msgid "No valid filename was supplied." #~ msgstr "Ni podanega veljavnega imena datoteke." #~ msgid "Does not compute." #~ msgstr "Se ne izračuna." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Ni izbrana možnost neposrednega izrisovanja s POV-Ray in ni izbrana " #~ "možnost shranjevanja slike. Odvod ne bo shranjen. Ali želite nadaljevati?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Ni mogoče pisati v datoteko %1. Ali so določena ustrezna krajevna " #~ "dovoljenja?" #~ msgid "POV-Ray failed to start." #~ msgstr "Zagon programnika POV-Ray je spodletel." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "Zagon programnika POV-Ray je spodletel. Morda pot do izvedljive datoteke " #~ "ni pravilna." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Ustvarjanje datotek POV-Ray in izrisovanje z uporabo ukazne vrstice." #~ msgid "Atom Properties..." #~ msgstr "Lastnosti atoma ..." #~ msgid "Bond Properties..." #~ msgstr "Lastnosti vezi ..." #~ msgid "Angle Properties..." #~ msgstr "Lastnosti kotov ..." #~ msgid "Torsion Properties..." #~ msgstr "Lastnosti torzije ..." #~ msgid "Conformer Properties..." #~ msgstr "Lastnosti konformere ..." #~ msgid "Atom Properties" #~ msgstr "Lastnosti atomov" #~ msgid "Bond Properties" #~ msgstr "Lastnosti vezi" #~ msgid "Angle Properties" #~ msgstr "Lastnosti kotov" #~ msgid "Torsion Properties" #~ msgstr "Lastnosti torzije" #~ msgid "Conformer Properties" #~ msgstr "Lastnosti konformere" #~ msgid "Properties" #~ msgstr "Lastnosti" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Okna za prikaz lastnosti atomov, vezi, kotov in drugih podatkov. " #~ "Vključuje tudi urejevalnik kartezijskih koordinat." #~ msgid "Valence" #~ msgstr "Valenca" #~ msgid "Partial Charge" #~ msgstr "Delni naboj" #~ msgid "Atom" #~ msgstr "Atom" #~ msgid "Start Atom" #~ msgstr "Začetni atom" #~ msgid "Rotatable" #~ msgstr "Vrtljivo" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Konformera %1\n" #~ "Dolžina %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Dolžina %1" #~ msgid "Vertex" #~ msgstr "Vertex" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Konformera %1\n" #~ "Kot %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Kot %1" #~ msgid "Angle" #~ msgstr "Kot" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Konformera %1\n" #~ "Torzija %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Torzija %1" #~ msgid "Torsion" #~ msgstr "Torzija" #~ msgid "Energy (kJ/mol)" #~ msgstr "Energija (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Konformera" #~ msgid "Yes" #~ msgstr "Da" #~ msgid "No" #~ msgstr "Ne" #~ msgid "Python Terminal" #~ msgstr "Terminal Python" #~ msgid "pythonTerminalDock" #~ msgstr "Terminalsko sidrišče Python" #~ msgid "Interactive python scripting terminal" #~ msgstr "Skriptni terminal Python" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Opozorilo ustvarjalnika skripta Abinit" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Ali naj se posodobi besedilo predogleda in zavrže vse spremembe okna " #~ "predogleda skripta Abinit?" #~ msgid "Abinit_Input_Deck" #~ msgstr "Skript Abinit" #~ msgid "Abinit Running." #~ msgstr "Programnik Abinit je zagnan." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Programnik Abinit je že zagnan. Pred končanjem izračunavanja ga ni mogoče " #~ "ponovno zagnati." #~ msgid "Abinit Not Installed." #~ msgstr "Programnik Abinit ni nameščen." #~ msgid "The abinit executable cannot be found." #~ msgstr "Izvedljive datoteke abinit ni mogoče najti." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Datoteke pseudo (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *." #~ "upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "Programnik abinit ni zagnan. Morda ni pravilno nameščen." #~ msgid "Running Abinit calculation..." #~ msgstr "Izvajanje preračunavanja Abinit ..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Programnik Abinit ni pravilno zagnan. Morda ni pravilno nameščen." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Opozorilo ustvarjalnika skripta Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Ali naj se posodobi besedilo predogleda in zavrže vse spremembe okna " #~ "predogleda skripta Dalton?" #~ msgid "QM Matches" #~ msgstr "KM zadetki" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Izbor EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "KM izbor ..." #~ msgid "Delete" #~ msgstr "Izbriši" #~ msgid "You must make a selection!" #~ msgstr "Nekaj predmetov je treba izbrati!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Pretvorbe SMILES niso podprte" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Pretvorbe zapisa SMILES niso podprte!" #~ msgid "Group Name" #~ msgstr "Ime skupine" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Ustvarjanje vhodnih datotek za kvantni kemijski paket GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Napredne nastavitve so spremenjene" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Zahtevnejše nastavitve programa so spremenjene.\n" #~ "Ali naj se zavržejo?" #~ msgid "Advanced Settings Reset" #~ msgstr "Ponastavitev zahtevnejših nastavitev" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Ali ste prepričani, da želite ponastaviti napredne nastavitve?\n" #~ "Vse spremembe bodo izgubljene." #~ msgid "Basic Settings Reset" #~ msgstr "Ponastavitev osnovnih nastavitev" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Ali ste prepričani, da želite ponastaviti osnovne nastavitve?\n" #~ "Vse spremembe bodo izgubljene." #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Opozorilo ustvarjalnika skripta GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Ali naj se posodobi besedilo predogleda in zavrže vse spremembe okna " #~ "predogleda skripta GAMESS-UK?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Skript GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Opozorilo ustvarjalnika skripta Gaussian" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Ali naj se posodobi besedilo predogleda in zavrže vse spremembe okna " #~ "predogleda skripta Gaussian?" #~ msgid "Gaussian Input Deck" #~ msgstr "Skript Gaussian" #~ msgid "Gaussian Running." #~ msgstr "Programnik Gaussian je zagnan." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Programnik Gaussian je že zagnan. Pred končanjem izračunavanja ga ni " #~ "mogoče ponovno zagnati." #~ msgid "Gaussian Not Installed." #~ msgstr "Programnik Gaussian ni nameščen." #~ msgid "The G03 executable, cannot be found." #~ msgstr "Zagonljive datoteke G03 ni mogoče najti." #~ msgid "G03 failed to start." #~ msgstr "Zagon programnika G03 je spodletel." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "Programnik G03 ni zagnan. Morda ni pravilno nameščen." #~ msgid "Running Gaussian calculation..." #~ msgstr "Izvajanje Gaussovega preračunavanja ..." #~ msgid "G03 Crashed." #~ msgstr "Programnik G03 se je sesul." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Programnik Gaussian ni pravilno zagnan. Morda ni pravilno nameščen." #~ msgid "&Abinit..." #~ msgstr "&Abinit ..." #~ msgid "&Dalton..." #~ msgstr "&Dalton ..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK ..." #~ msgid "&Gaussian..." #~ msgstr "&Gaussian ..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO ..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC ..." #~ msgid "&NWChem..." #~ msgstr "&NWChem ..." #~ msgid "&PSI4..." #~ msgstr "&PSI4..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem ..." #~ msgid "&TeraChem..." #~ msgstr "&TeraChem ..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS..." #~ msgid "Input File Generators" #~ msgstr "Ustvarjalniki datotek skriptov" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Opozorilo ustvarjalnika skripta Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Ali naj se posodobi besedilo predogleda in zavrže vse spremembe okna " #~ "predogleda skripta Molpro?" #~ msgid "Molpro Input Deck" #~ msgstr "Skript Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Opozorilo skripta MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Ali naj se posodobi besedilo predogleda in zavrže vse spremembe okna " #~ "predogleda skripta MOPAC?" #~ msgid "MOPAC Input Deck" #~ msgstr "Skript MOPAC" #~ msgid "MOPAC Running." #~ msgstr "Programnik MOPAC je zagnan." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "Programnik MOPAC je že zagnan. Pred končanjem izračunavanja ga ni mogoče " #~ "ponovno zagnati." #~ msgid "MOPAC Not Installed." #~ msgstr "Programnik MOPAC ni nameščen." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Izvedljive datoteke MOPAC ni mogoče najti." #~ msgid "MOPAC failed to start." #~ msgstr "Zagon Programnika MOPAC je spodletel." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "Programnik MOPAC ni zagnan. Morda ni pravilno nameščen." #~ msgid "Running MOPAC calculation..." #~ msgstr "Poteka izvajanje izračunov MOPAC ..." #~ msgid "MOPAC Crashed." #~ msgstr "Programnik MOPAC se je sesul." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Programnik MOPAC ni pravilno zagnan. Morda ni pravilno nameščen." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Opozorilo ustvarjalnika skripta NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Ali naj se posodobi besedilo predogleda in zavrže vse spremembe okna " #~ "predogleda skripta NWChem?" #~ msgid "NWChem Input Deck" #~ msgstr "Skript NWChem" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Opozorilo ustvarjalnika skripta Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Ali naj se posodobi besedilo predogleda in zavrže vse spremembe okna " #~ "predogleda skripta Q-Chem?" #~ msgid "QChem Input Deck" #~ msgstr "Skript Q-Chem" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "Opozorilo ustvarjalnika skripta TeraChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Ali naj se posodobi besedilo predogleda in zavrže vse spremembe okna " #~ "predogleda skripta TeraChem?" #~ msgid "TeraChem Input Deck" #~ msgstr "Skript TeraChem" #~ msgid "Select SMARTS..." #~ msgstr "Izbor SMARTS ..." #~ msgid "Select by Element..." #~ msgstr "Izbor po elementu ..." #~ msgid "Select by Residue..." #~ msgstr "Izbor po ostanku ..." #~ msgid "Add Named Selection..." #~ msgstr "Dodaj poimenovan izbor ..." #~ msgid "SMARTS Selection" #~ msgstr "Izbor SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Izbor vzorca SMARTS" #~ msgid "Select by residue" #~ msgstr "Izbor po ostanku" #~ msgid "Residue name" #~ msgstr "Ime preostanka" #~ msgid "There is no current selection." #~ msgstr "Ni trenutnega izbora." #~ msgid "Add Named Selection" #~ msgstr "Dodaj poimenovan izbor" #~ msgid "Name cannot be empty." #~ msgstr "Ime ne sme biti prazno" #~ msgid "There is already a selection with this name." #~ msgstr "Izbor s tem imenom že obstaja" #~ msgid "Selections" #~ msgstr "Izbori" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Izbor atomov, vezi, preostankov ..." #~ msgid "GLSL Shaders..." #~ msgstr "Senčilniki GLSL ..." #~ msgid "Open a vertex shader source file" #~ msgstr "Odpri izvorno datoteko senčilnika Vertex" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Datoteke senčilnika Vertex (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Odpri izvorno datoteko senčilnika Fragment" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Datoteke senčilnika Fragment (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Odpri datoteko parametrov senčilnika" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Datoteke parametrov senčilnika (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "Senčilniki GLSL" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Nalaganje in uporaba senčilnikov OpenGL 2.0 GLSL." #~ msgid "Intensity (arb. units)" #~ msgstr "Intenziteta (poljubne enote)" #~ msgid "Energy (eV)" #~ msgstr "Energija (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Gostota stanj (stanja/celice)" #~ msgid "Density of States (states/atom)" #~ msgstr "Gostota stanj (stanja/atomi)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Gostota stanj (stanja/valenčni elektroni)" #~ msgid "Transmittance (%)" #~ msgstr "Transmitanca (%)" #~ msgid "Absorbance (%)" #~ msgstr "Absorbanca (%)" #~ msgid "No intensities" #~ msgstr "Brez intenzitet" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Podatki vibracij molekule ne vsebujejo tudi podatkov o intenziteti " #~ "vibracij. Manjkajoče vrednosti so nastavljene na poljubne vrednosti za " #~ "predočenje." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Valovno število (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Premik (v ppm)" #~ msgid "Activity" #~ msgstr "Aktivnost" #~ msgid "Intensity" #~ msgstr "Intenziteta" #~ msgid "X Axis" #~ msgstr "Os X" #~ msgid "Y Axis" #~ msgstr "Os Y" #~ msgid "&Appearance" #~ msgstr "&Videz" #~ msgid "E&xport Image" #~ msgstr "&Izvozi sliko" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Infrardeče" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Nastavitve &Infrardečega spektra" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "Nastavitve spektra &NMR" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "Nastavitve gostote stanj (DOS)" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "Spekter UV" #~ msgid "&UV Settings" #~ msgstr "Nastavitve &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "Spekter CD" #~ msgid "&CD Settings" #~ msgstr "Nastavitve &CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Ramanski spekter" #~ msgid "&Raman Settings" #~ msgstr "Nastavitve &Ramanskega spektra" #~ msgid "No data" #~ msgstr "Ni podatkov" #~ msgid "Dark" #~ msgstr "Temna" #~ msgid "Light" #~ msgstr "Svetla" #~ msgid "Publication" #~ msgstr "Objavna" #~ msgid "Handdrawn" #~ msgstr "Ročno risana" #~ msgid "New Scheme" #~ msgstr "Nova shema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Potrdi odstranjevanje sheme" #~ msgid "Really remove current scheme?" #~ msgstr "Ali naj se trenutna shema res odstrani?" #~ msgid "Change Scheme Name" #~ msgstr "Spremeni ime sheme" #~ msgid "Enter new name for current scheme:" #~ msgstr "Vnos novega imena trenutne sheme:" #~ msgid "Select Background Color" #~ msgstr "Nastavi barvo ozadja" #~ msgid "Select Foreground Color" #~ msgstr "Nastavi barvo pisave" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Izbor izračunane barve spektra" #~ msgid "Select Imported Spectra Color" #~ msgstr "Izbor uvožene barve spektra" #~ msgid "Export Calculated Spectrum" #~ msgstr "Izvoz izračunanih podatkov spektra" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "S tabulatorji ločene vrednosti (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "S tabulatorji ločene vrednosti" #~ msgid "Comma Separated Values" #~ msgstr "Z vejico ločene vrednosti" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Uvozi podatke spektra" #~ msgid "Spectra Import" #~ msgstr "Uvoz podatkov spektra" #~ msgid "Unknown extension: %1" #~ msgstr "Neznana razširitev: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf UV podatki (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole UV podatki (kontrola)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Turbomole UV podatki (spekter)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Podatki Turbomole CD (cdspekter)" #~ msgid "Data Format" #~ msgstr "Zapis podatkov" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Zapis:" #~ msgid "Load Spectral Data" #~ msgstr "Naloži podatke spektra" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Datoteka Turbomole CD ni pravilno oblikovana : %1" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Shrani sliko spektra" #~ msgid "&Advanced <<" #~ msgstr "&Napredno <<" #~ msgid "&Advanced >>" #~ msgstr "&Napredno >>" #~ msgid "&Spectra..." #~ msgstr "&Spektri ..." #~ msgid "Spectra" #~ msgstr "Spektri" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Predočenje spektralnih podatkov kvantnih kemijskih izračunov" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Analiza vibracij" #~ msgid "No vibrational displacements exist." #~ msgstr "Vibracijski premiki ne obstajajo." #~ msgid "Vibration" #~ msgstr "Vibracija" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Predočenje vibracijskih podatkov kvantnih kemijskih izračunov" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Razvrščanje %1 vibracij po frekvenci ..." #~ msgid "Pause" #~ msgstr "Premor" #~ msgid "Super Cell Builder..." #~ msgstr "Izgrajevalnik supercelice ..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Trenutno je izrisana le ena molekula. Ustvariti je treba osnovno celico." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Izgradi in prikaži kristalografsko supercelico" #~ msgid "Molecular Orbitals..." #~ msgstr "Molekulske orbitale ..." #~ msgid "Orbitals" #~ msgstr "Orbitale" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "Orbitala" #~ msgid "Status" #~ msgstr "Stanje" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Brez" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waalsovi radii" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Elektrostatski potencial" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Elektronska gostota" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Molekulska orbitala" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Napaka - nedoločena vrsta" #~ msgid "Create Surfaces..." #~ msgstr "Ustvari površine ..." #~ msgid "Calculating VdW Cube" #~ msgstr "Izračunavanje Van der Waalsove kocke" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Izračunavanje MO %L1" #~ msgid "VdW" #~ msgstr "Van der Waalsovi radii" #~ msgid "Electron Density" #~ msgstr "Elektronska gostota" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "Površine elektrostatskih potencialov še niso podprte." #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Izračunavanje molekulskih orbital in drugih površin" #~ msgid "&Nanotube Builder..." #~ msgstr "Izgrajevalnik &nanocevk" #~ msgid "Nanotube Builder" #~ msgstr "Izgrajevalnik nanocevk" #~ msgid "Invalid Nanotube Specification" #~ msgstr "Neveljavno določilo nanocevke" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "Zahtevane nanocevke ni mogoče izgraditi zaradi napake:\n" #~ "\n" #~ "Vrednost n ali m mora biti večja od 1." #~ msgid "Insert Nanotube" #~ msgstr "Vstavi nanocevko" #~ msgid "SWCNT Builder" #~ msgstr "Izgrajevalnik SWCNT" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Izgradnja enostavnih ogljikovih nanocevk." #~ msgid "Building..." #~ msgstr "Izgradnja ..." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "Gradnik GL ni uspešno začet za ustvarjanje video posnetka." #~ msgid "GL widget has no molecule" #~ msgstr "Gradnik GL ne zazna molekule" #~ msgid "Building video " #~ msgstr "Izgradnja video posnetka " #~ msgid "Could not run povray." #~ msgstr "Ukaza povray ni mogoče zagnati." #~ msgid "Could not run mencoder." #~ msgstr "Ukaza mancoder ni mogoče zagnati." #~ msgid "Set Aspect Ratio" #~ msgstr "Nastavitev razmerje velikosti" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Velikost trenutnega pogleda je %1x%2 slikovnih točk v razmerju stranic " #~ "%3.\n" #~ "Ta vrednost je pomembna pri uporabi izrisovalnika POV-Ray\n" #~ "če želite izrisati sliko velikosti %4x1000 točk. Mogoče je vnesti " #~ "katerokoli pozitivno vrednost,\n" #~ "na primer 1, če želite izrisati sliko velikosti 1000x1000 slikovnih točk." #~ msgid "VRML..." #~ msgstr "VRML ..." #~ msgid "Connect" #~ msgstr "Poveži" #~ msgid "Disconnect" #~ msgstr "Prekini povezavo" #~ msgid "&WiiTrack" #~ msgstr "&Sledilnik Wii" #~ msgid "Wii Tracking" #~ msgstr "Sledenje s sledilnikom Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Zaznavanje gibanja s sledilnikom Wii." #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Neveljavna vsebina OpenGL.\n" #~ "Ali je nekaj povsem uničeno v nastavitvah OpenGL (ali programi s podporo " #~ "OpenGL delujejo?) ali pa je napaka še neodkrit hrošč." #~ msgid "Debug Information" #~ msgstr "Podrobnosti razhroščevanja" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Velikost pogleda: %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "Modelski pogled vrstice 1: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "Modelski pogled vrstice 2: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "Modelski pogled vrstice 3: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "Modelski pogled vrstice 4: %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Število atomov: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Število vezi: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: indeks %1 je izven veljavnega obsega." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Vrsta datoteke '%1' ni podprta za branje." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Vrsta datoteke za datoteko '%1' ni podprta za branje." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Branje molekule z indeksom %1 iz datoteke '%2' je spodletelo." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "zamenjava molekule: indeks %1 je izven veljavnega obsega." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Vrsta datoteke '%1' ni podprta za pisanje." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Vrsta datoteke za datoteko '%1' ni podprta za pisanje." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Datoteke '%1' ni mogoče odpreti za pisanje." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Datoteke '%1' ni mogoče odpreti za branje." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Zamenjava molekule z indeksom %1 iz datoteke '%2' je spodletelo." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Datoteke %1 ni mogoče odpreti za branje." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Datoteke %1 ni mogoče odpreti za pisanje." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Shranjevanje datoteke molekule je spodletelo - ni mogoče preimenovati " #~ "izvorne datoteke." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Shranjevanje datoteke molekule je spodletelo - nove datoteke ni mogoče " #~ "preimenovati." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Shranjevanje datoteke molekule je spodletelo - ni mogoče odstraniti stare " #~ "datoteke." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Zapisovanje molekule v datoteko '%1' je spodletelo. Izvajanje funkcije " #~ "OpenBabel je spodletelo." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Datoteke %1 ni mogoče odpreti za pisanje." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Zapisovanje konformer v datoteko '%1' je spodletelo." #~ msgid "Molecule %1" #~ msgstr "Molekula %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Neznan programnik Python" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "Programnik Python: poteka preverjanje " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - v skriptu ni naveden razred 'Engine'" #~ msgid " - no module" #~ msgstr " - ni modula" #~ msgid "Unknown Python Extension" #~ msgstr "Neznana razširitev Python" #~ msgid "PythonExtension: checking " #~ msgstr "Razširitev Python: poteka preverjanje " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - v skriptu ni naveden razred 'Extension'" #~ msgid "Unknown Python Tool" #~ msgstr "Neznano orodje Python" #~ msgid "PythonTool: checking " #~ msgstr "Orodje Python: poteka preverjanje " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - v skriptu ni naveden razred 'Orodje'" #~ msgid "Conformer %1" #~ msgstr "Konformera %1" #~ msgid "Tools" #~ msgstr "Orodja" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "Poravnava molekul\n" #~ "\n" #~ "Levi gumb miške: \tIzbor do dveh atomov.\n" #~ "\tPrvi izbran atom je postavljen v izhodiščno točko.\n" #~ "\tDrugi izbran atom je poravnan na izbrano os.\n" #~ "Desni klik miške: \tPočisti poravnavo.\n" #~ "Dvojni klik: \tPostavi atom v izhodiščno točko." #~ msgid "Axis:" #~ msgstr "Os:" #~ msgid "Align:" #~ msgstr "Poravnava:" #~ msgid "Everything" #~ msgstr "Vse" #~ msgid "Align" #~ msgstr "Poravnava" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Poravnaj molekule na kartezijsko os" #~ msgid "Align Settings" #~ msgstr "Nastavitve poravnave" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "Orodje za samodejno prilagajanje\n" #~ "\n" #~ "S klikom na prazen prostor, se omogočijo funkcije krmarjenja.\n" #~ "Levi gumb miške: \tZavrti prostor\n" #~ "Srednji gumb miške: Približaj prostor\n" #~ "Desni gumb miške: \tPremakni prostor\n" #~ "Dvojni klik: \t Počisti pogled\n" #~ "\n" #~ "Ob zagonu:\n" #~ "Levi klik: \tS klikom in vlečenjem je mogoče atome premikati." #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "Samodejno prilagajanje: ni mogoče nastaviti polja sil ..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "Samodejno prilagajanje: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Število omejitev: %1" #~ msgid "Steps per Update:" #~ msgstr "Koraki posodobitve:" #~ msgid "Algorithm:" #~ msgstr "Aalgoritem:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Molekularna dinamika (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Molekularna dinamika (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Molekularna dinamika (900K)" #~ msgid "Start" #~ msgstr "Začni" #~ msgid "Fixed atoms are movable" #~ msgstr "Potrjeni atomi so premakljivi" #~ msgid "Ignored atoms are movable" #~ msgstr "Prezrti atomi so premakljivi" #~ msgid "AutoOpt Molecule" #~ msgstr "Samodejno prilagajanje molekule" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Samodejno prilagajanje molekulske geometrije" #~ msgid "AutoOptimization Settings" #~ msgstr "Nastavitve samodejnega prilagajanja" #~ msgid "Auto Rotation Tool" #~ msgstr "Orodje za samodejno vrtenje" #~ msgid "x rotation:" #~ msgstr "Vrtenje po X:" #~ msgid "x rotation" #~ msgstr "Vrtenje po osi X." #~ msgid "y rotation:" #~ msgstr "Vrtenje po Y:" #~ msgid "y rotation" #~ msgstr "Vrtenje po osi Y." #~ msgid "z rotation:" #~ msgstr "Vrtenje po Z:" #~ msgid "z rotation" #~ msgstr "Vrtenje po osi Z." #~ msgid "Automatic rotation of molecules" #~ msgstr "Samodejno vrtenje molekul na zaslonu." #~ msgid "AutoRotate Settings" #~ msgstr "Nastavitve samodejnega vrtenja" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "Orodje za spreminjanje atomov in vezi\n" #~ "\n" #~ "Levi gumb miške: \tS klikom in vlečenjem se zavrti pogled.\n" #~ "Srednji gumb miške: S klikom in vlečenjem se predmet približa ali " #~ "oddalji.\n" #~ "Desni gumb miške: \tS klikom in vlečenjem se pogled premakne.\n" #~ "Dvojni klik: \tPočisti pogled.\n" #~ "\n" #~ "Levi klik in poteg na vezi nastavi ravnino\n" #~ "Levi klik in poteg atoma na vezi spremeni kot\n" #~ "Desni klik in poteg atoma na vezi spremeni dolžino" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Dolžina vezi: %L1" #~ msgid " Show Angles" #~ msgstr " Pokaži kote" #~ msgid "Snap-to Threshold: " #~ msgstr "Prag pripenjanja: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Premeščaj in spreminjaj vezi" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Premeščanje in spreminjanje dolžine in kotov vezi ter torzije" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Nastavitve premeščanja in spreminjanja vezi" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Izmera dolžin (F12)\n" #~ "\n" #~ "Levi gumb miške: \tIzbor do treh atomov.\n" #~ "\tRazdalje se izmerijo med atomoma 1-2 in 2-3\n" #~ "\tIzmerjeni kot določa kot med 1-3, pri čemer je drugi atom stičišče " #~ "daljic\n" #~ "Desni gumb miške: \tPočisti izmere. Dvojni klik: \tPočisti pogled." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Razdalja (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Kot: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Razdalja (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Dihedralni kot: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Razdalje:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Izmera dolžine in kotov vezi in dihedralnih kotov" #~ msgid "Delete Atom" #~ msgstr "Izbriši atom" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Orodje risanja (F8)\n" #~ "\n" #~ "Levi gumb miške: \tS klikom in vlečenjem se izrišejo atomi in vezi\n" #~ "Desni klik miške: \tIzbriše atom" #~ msgid "Draw Bond" #~ msgstr "Nariši vez" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Risanje in urejanje atomov in vezi" #~ msgid "Draw Settings" #~ msgstr "Nastavitve risanja" #~ msgid "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Orodje za premeščanje in spreminjanje (F10)\n" #~ "\n" #~ "Levi gumb miške: \tS klikom in vlečenjem je mogoče premikati atome\n" #~ "Srednji gumb miške: S klikom in vlečenjem je mogoče atome približati ali " #~ "oddaljiti\n" #~ "Desni gumb miške: \t Sklikom in vlečenjem je mogoče vrteti izbrane " #~ "atome.\n" #~ "Dvojni klik: \tPočisti pogled." #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Preslikovanje, vrtenje in položajno prilagajanje atomov in molekul" #~ msgid "Manipulate Settings" #~ msgstr "Nastavitve premeščanja in spreminjanja vezi" #~ msgid "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Orodje za krmarjenje (F9)\n" #~ "\n" #~ "Levi gumb miške: \tS klikom in vlečenjem se pogled zavrti.\n" #~ "Srednji gumb miške: S klikom in vlečenjem se predmet približa ali " #~ "oddalji.\n" #~ "Desni gumb miške: \tS klikom je mogoče povleči in premakniti pogled.\n" #~ "Dvojni klik: \tPonastavi pogled." #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Preslikovanje, vrtenje in približanje pogleda atomov in molekul" #~ msgid "Navigate Settings" #~ msgstr "Nastavitve krmarjenja" # Orodje za krmarjenje (F9)\n # \n # Levi gumb miške: \tS klikom in vlečenjem se pogled zavrti.\n # Srednji gumb miške: S klikom se predmet približa ali oddalji.\n # Desni gumb miške: \tS klikom je mogoče povleči im premakniti pogled.\n # Dvojni klik: \tPonastavi pogled. #~ msgid "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgstr "" #~ "Orodje za izbiranje (F11)\n" #~ "\n" #~ "Levi gumb miške: \tS klikom se izbere posamezne atome, preostanke ali " #~ "molekulske delce\n" #~ "\tS sočasnim potegom se izbere polje predmetov.\n" #~ "Desni gumb miške: \tS klikom izven področja predmeta se izbor počisti\n" #~ "Z uporabo Ctrl je mogoče preklopiti izbor, s tipko Shift pa dodati k " #~ "izbiri.\n" #~ "Dvojni klik: \tIzbor celotnega molekulskega delca." #~ msgid "Selection Mode:" #~ msgstr "Način izbire:" #~ msgid "Atom/Bond" #~ msgstr "Atom/Vez" #~ msgid "Residue" #~ msgstr "Preostanek" #~ msgid "Add Center of Atoms" #~ msgstr "Dodaj središče atoma" #~ msgid "Add Center of Mass" #~ msgstr "Dodaj središče mase" #~ msgid "Change color of the atom" #~ msgstr "Spremeni barvo atoma" #~ msgid "Change label of the atom" #~ msgstr "Spremeni oznako atoma" #~ msgid "New Label:" #~ msgstr "Nova oznaka:" #~ msgid "Change label of the bond" #~ msgstr "Spremeni oznako vezi" #~ msgid "Change radius of the atom" #~ msgstr "Spremeni radij atoma" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Nov radij, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Izbor atomov, preostankov in molekul" #~ msgid "Symbol" #~ msgstr "Simbol" #~ msgid "Bond Length" #~ msgstr "Dolžina vezi" #~ msgid "Bond Angle" #~ msgstr "Kot vezi" #~ msgid "Dihedral Angle" #~ msgstr "Dihedralni kot" #~ msgid "Z Matrix Editor..." #~ msgstr "Urejevalnik matrike Z ..." #~ msgid "Z-Matrix" #~ msgstr "Matrika Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Ustvarjanje in urejanje matrike Z" #~ msgid "Z-Matrix Settings" #~ msgstr "Nastavitve matrike Z" #~ msgid "Residue Color Settings" #~ msgstr "Nastavitve barve ostankov" #~ msgid "Color residues by:" #~ msgstr "Barva po ostanku:" #~ msgid "Amino Colors" #~ msgstr "Barve aminokislin" #~ msgid "Shapely Colors" #~ msgstr "Barve sloga Shapely" #~ msgid "Hydrophobicity" #~ msgstr "Hidrofobnost" #~ msgid "Axes:" #~ msgstr "Osi:" #~ msgid "Cartesian Axes" #~ msgstr "Kartezijske osi" #~ msgid "Orthogonal Axes" #~ msgstr "Ortogonalne osi" #~ msgid "Axis 1:" #~ msgstr "Os 1:" #~ msgid "Axis 2:" #~ msgstr "Os 2:" #~ msgid "Axis 3:" #~ msgstr "Os 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Izvor:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norma" #~ msgid "Preserve vector norms" #~ msgstr "Ohrani norme vektorja" #~ msgid "Atom Radius:" #~ msgstr "Radij atoma:" #~ msgid "Bond Radius:" #~ msgstr "Radij vezi:" #~ msgid "Shape" #~ msgstr "Oblika" #~ msgid "Helix" #~ msgstr "Vijačnica" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "C" #~ msgid "Sheet" #~ msgstr "Delovni list" #~ msgid "Loop" #~ msgstr "Zanka" #~ msgid "Colors" #~ msgstr "Barve" #~ msgid "Dipole:" #~ msgstr "Dipol:" #~ msgid "Dipole Moment" #~ msgstr "Dipolni moment" #~ msgid "Custom Vector" #~ msgstr "Vektor po meri" #~ msgid "Custom:" #~ msgstr "Po meri:" #~ msgid "Width:" #~ msgstr "Širina:" #~ msgid "Cut-off radius:" #~ msgstr "Izključitveni radij:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Izključitveni kot:" #~ msgid "Rendering Engine:" #~ msgstr "Programnik izrisovanja:" #~ msgid "TextRenderer" #~ msgstr "Izrisovalnik besedila" #~ msgid "QPainter" #~ msgstr "QRisalnik" #~ msgid "Atom Labels" #~ msgstr "Oznake atomov" #~ msgid "Text:" #~ msgstr "Besedilo:" #~ msgid "Color:" #~ msgstr "Barva:" #~ msgid "None" #~ msgstr "Brez" #~ msgid "Symbol & Number in Group" #~ msgstr "Simbol in številka v skupini" #~ msgid "Symbol & Atom number" #~ msgstr "Številka simbola in atoma" #~ msgid "Formal charge" #~ msgstr "Formalni naboj" #~ msgid "Partial charge" #~ msgstr "Delni naboj" #~ msgid "Residue number" #~ msgstr "Število ostanka" #~ msgid "Unique ID" #~ msgstr "Edinstven ID" #~ msgid "Custom data" #~ msgstr "Podatki po meri" #~ msgid "Change Font" #~ msgstr "Spremeni pisavo" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Zamik oznake:" #~ msgid "Bond Labels" #~ msgstr "Oznake vezi" #~ msgid "Bond length" #~ msgstr "Dolžina vezi" #~ msgid "Bond number" #~ msgstr "Število vezi" #~ msgid "Bond order" #~ msgstr "Vrsta vezi" #~ msgid "Rendering:" #~ msgstr "Izrisovanje:" #~ msgid "Backbone" #~ msgstr "Hrbtišče" #~ msgid "Lines" #~ msgstr "Črte" #~ msgid "Radius:" #~ msgstr "Radij:" #~ msgid "Include Nitrogens" #~ msgstr "Vključi dušike" #~ msgid "VdW Opacity:" #~ msgstr "Prekrivnost Van der Waalsovega polja:" #~ msgid "Orbital:" #~ msgstr "Orbitala:" #~ msgid "Render:" #~ msgstr "Izriši:" #~ msgid "Fill" #~ msgstr "Zapolni" #~ msgid "Points" #~ msgstr "Točke" #~ msgid "Draw Box:" #~ msgstr "Izriši prostor:" #~ msgid "Style:" #~ msgstr "Slog:" #~ msgid "Selected Colors" #~ msgstr "Izbrane barve" #~ msgid "Mapped Colors" #~ msgstr "Preslikane barve" #~ msgid "Colors:" #~ msgstr "Barve:" #~ msgid "Positive" #~ msgstr "Pozitiv" #~ msgid "Negative" #~ msgstr "Negativ" #~ msgid "Show Atoms" #~ msgstr "Pokaži atome" #~ msgid "Animate Trajectory" #~ msgstr "Animiranje trajektorij" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Zanka" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "Shrani kot .avi ..." #~ msgid "Angstroms" #~ msgstr "Angstremi" #~ msgid "Bohrs" #~ msgstr "Bohri" #~ msgid "Fractional" #~ msgstr "Delno" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, le koordinate" #~ msgid "GAMESS Input #2" #~ msgstr "Skript GAMESS #2" #~ msgid "Priroda Input" #~ msgstr "Skript Priroda" #~ msgid "Apply Changes" #~ msgstr "Uveljavi spremembe" #~ msgid "Cut All" #~ msgstr "Izreži vse" #~ msgid "Paste to the End" #~ msgstr "Prilepi na koncu" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Na tem mestu je mogoče " #~ "prilepiti in urediti koordinate atomov. Prilepiti je mogoče skoraj " #~ "katerikoli del besedila, ki vsebuje koordinate.

" #~ msgid "(None)" #~ msgstr "(Brez)" #~ msgid "Sort by " #~ msgstr "Razvrsti po " #~ msgid "Conformer Search" #~ msgstr "Iskanje konformer" #~ msgid "Method" #~ msgstr "Način" #~ msgid "Number of atoms:" #~ msgstr "Število atomov:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Število vrtljivih vezi:" #~ msgid "Number of conformers" #~ msgstr "Število konformer" #~ msgid "Systematic rotor search" #~ msgstr "Sistematično iskanje vrtljivih vezi" #~ msgid "Random rotor search" #~ msgstr "Naključno iskanje vrtljivih vezi" #~ msgid "Weighted rotor search" #~ msgstr "Uteženo iskanje vrtljivih vezi" #~ msgid "Genetic algorithm search" #~ msgstr "Iskanje z genetskim algoritmom" #~ msgid "Genetic Algorithm Options" #~ msgstr "Možnosti genetskega algoritma" #~ msgid "Children" #~ msgstr "Podrejeni" #~ msgid "Mutability" #~ msgstr "Mutabilnost" #~ msgid "Scoring method" #~ msgstr "Način ocenjevanja" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "Energija" #~ msgid "Constraints" #~ msgstr "Omejitve" #~ msgid "Add Constraints" #~ msgstr "Dodajanje omejitev" #~ msgid "Ignore Atom" #~ msgstr "Prezri atom" #~ msgid "Fix Atom" #~ msgstr "Popravi atom" #~ msgid "Fix Atom X" #~ msgstr "Popravi atom X" #~ msgid "Fix Atom Y" #~ msgstr "Popravi atom Y" #~ msgid "Fix Atom Z" #~ msgstr "Popravi atom Z" #~ msgid "Torsion angle" #~ msgstr "Kot torzije" #~ msgid "Constraint Value" #~ msgstr "Vrednost omejitve" #~ msgid "Atom Indices" #~ msgstr "Atomski indeksi" #~ msgid "Add" #~ msgstr "Dodaj" #~ msgid "Save" #~ msgstr "Shrani" #~ msgid "Load" #~ msgstr "Naloži" #~ msgid "Atomic &identites:" #~ msgstr "Atomske &identitete:" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgid "&Reset" #~ msgstr "&Ponastavi" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgid "Cell Parameters" #~ msgstr "Parametri celice" #~ msgid " °" #~ msgstr " °" #~ msgid "Surface Slab Builder" #~ msgstr "Izgrajevalnik površinskih plasti" #~ msgid "Plane:" #~ msgstr "Ravnina:" #~ msgid "&Miller Indices:" #~ msgstr "&Millerjevi indeksi:" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Opozorilo: Millerjevi indeksi morajo biti vrednosti večje od nič" #~ msgid "Dimensions:" #~ msgstr "Mere:" #~ msgid "Width (x)" #~ msgstr "Širina (x)" #~ msgid "Width (y)" #~ msgstr "Širina (y)" #~ msgid "Height (z)" #~ msgstr "Višina (z)" #~ msgid "length" #~ msgstr "dolžina" #~ msgid "cell repeats" #~ msgstr "ponovitev celice" #~ msgid "&Translate " #~ msgstr "&Preslikaj " #~ msgid "by arbitrary vector" #~ msgstr "po poljubnem vektorju" #~ msgid "selected atom to origin" #~ msgstr "izbrani atomi v središče osnovne celice" #~ msgid "selected atom to unit cell center" #~ msgstr "izbrani atomi v središče osnovne celice" #~ msgid "Translation vector:" #~ msgstr "Vektor preslikave:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "&Vektorske enote:" #~ msgid "Cartesian" #~ msgstr "Kartezijski" #~ msgid "&Translate" #~ msgstr "&Preslikaj" #~ msgid "&Keep atoms in unit cell" #~ msgstr "&Združi atome v osnovno celico" #~ msgid "Crystal View Options" #~ msgstr "Možnosti pogleda kristala" #~ msgid "Unit Cell Repeats:" #~ msgstr "Ponovitev osnovne celice:" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "Ali naj se osnovne celice izrišejo?" #~ msgid "One" #~ msgstr "Ena" #~ msgid "All" #~ msgstr "Vse" #~ msgid "Color..." #~ msgstr "Barva ..." #~ msgid "View Along:" #~ msgstr "Pogled vzdolž:" #~ msgid "Default View" #~ msgstr "Privzet pogled" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "Millerjevi indeksi" #~ msgid "File Import..." #~ msgstr "Uvoz datoteke ..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Ali naj se izvede samodejno zaznavanje vezi?" #~ msgid "Setup Force Field" #~ msgstr "Nastavitev polja sil" #~ msgid "Force Field" #~ msgstr "Polje sil" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Število korakov" #~ msgid "Algorithm" #~ msgstr "Algoritem" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Vstavi nikleinske kisline" #~ msgid "DNA/RNA Builder" #~ msgstr "Izgrajevalnik DNA/RNA" #~ msgid "DNA" #~ msgstr "DNA" #~ msgid "RNA" #~ msgstr "RNA" #~ msgid "Nucleic Acids:" #~ msgstr "Nukleinske kisline" #~ msgid "Adenine" #~ msgstr "Adenin" #~ msgid "Cytosine" #~ msgstr "Citozin" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Gvanineđ" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Zaporedje:" #~ msgid "the number of base pairs per helix turn" #~ msgstr "število baznih parov na obrat vijačnice" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Drugo" #~ msgid "Bases Per Turn:" #~ msgstr "Število baz na obrat:" #~ msgid "Insert" #~ msgstr "Vstavi" #~ msgid "Insert Fragment..." #~ msgstr "Vstavi molekulski delec ..." #~ msgid "Filter:" #~ msgstr "Filter:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "Z vpisom imena ali dela imena se pokažejo filtrirani zadetki." #~ msgid "Peptide Builder" #~ msgstr "Izgrajevalnik peptidov" #~ msgid "Alanine" #~ msgstr "Alanin" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginin" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagin" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Asparaginska kislina" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Cistein" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Glutaminska kislina" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamin" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Glicin" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidin" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Izoleucin" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valin" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirozin" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Triptofan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Treonin" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Serin" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prolin" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Fenilalanine" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Metionin" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Lizin" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucin" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Aminokisline:" #~ msgid "Sequence (N to C):" #~ msgstr "Zaporedje (v smeri N -> C):" #~ msgid "Stereochemistry:" #~ msgstr "Stereokemija:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N konec:" #~ msgid "C Terminus:" #~ msgstr "C konec:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Structure:" #~ msgstr "Zgradba:" #~ msgid "Straight Chain" #~ msgstr "Ravna veriga" #~ msgid "Alpha Helix" #~ msgstr "Alfa heliks" #~ msgid "Beta Sheet" #~ msgstr "Plošča beta" #~ msgid "3-10 Helix" #~ msgstr "Heliks 3-10" #~ msgid "Pi Helix" #~ msgstr "Heliks Pi" #~ msgid "Phi:" #~ msgstr "Fi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "Številka verige:" #~ msgid "The chain number for the new peptide" #~ msgstr "Številka verige novega peptida" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Lastnosti molekule" #~ msgid "Number of Residues:" #~ msgstr "Število ostankov" #~ msgid "Energy (kJ/mol):" #~ msgstr "Energija (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Dipolni moment (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Ime po IUPAC-u:" #~ msgid "Frames" #~ msgstr "Sličice" #~ msgid "Plot Spectra" #~ msgstr "Izriši spekter" #~ msgid "Basic" #~ msgstr "Osnovno" #~ msgid "Comment" #~ msgstr "Opomba" #~ msgid "Frequency" #~ msgstr "Frekvenca" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Format" #~ msgstr "Oblika" #~ msgid "Advanced" #~ msgstr "Napredno" #~ msgid "Control" #~ msgstr "Kontrola" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "RijCosX" #~ msgstr "RijCosX" #~ msgid "Data" #~ msgstr "Podatki" #~ msgid "ECP" #~ msgstr "ECP" #~ msgid "Aux. ECP" #~ msgstr "Aux. ECP" #~ msgid "ZORA" #~ msgstr "ZORA" #~ msgid "IORA" #~ msgstr "IORA" #~ msgid "DKH" #~ msgstr "DKH" #~ msgid "Order" #~ msgstr "Red" #~ msgid "Corr. ECP" #~ msgstr "Corr. ECP" #~ msgid "MOs" #~ msgstr "MOs" #~ msgid "Nothing" #~ msgstr "Brez" #~ msgid "Mini" #~ msgstr "Mini" #~ msgid "Small" #~ msgstr "Majhno" #~ msgid "Large" #~ msgstr "Veliko" #~ msgid "Factor" #~ msgstr "Faktor" #~ msgid "Accuracy" #~ msgstr "Natančnost" #~ msgid "DIIS" #~ msgstr "DIIS" #~ msgid "KDIIS" #~ msgstr "KDIIS" #~ msgid "SOSCF" #~ msgstr "SOSCF" #~ msgid "NRSCF" #~ msgstr "NRSCF" #~ msgid "AHSCF" #~ msgstr "AHSCF" #~ msgid "SCF Type" #~ msgstr "Vrsta SCF" #~ msgid "GridX" #~ msgstr "GridX" #~ msgid "DFT Functional" #~ msgstr "DFT Functional" #~ msgid "Grid" #~ msgstr "Mreža" #~ msgid "POV-Ray Export" #~ msgstr "Izvoz POV-Ray" #~ msgid "Select..." #~ msgstr "Izberi ..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Uporabi glajenje celote" #~ msgid "Antialias" #~ msgstr "Glajenje robov" #~ msgid "Set the background color to be transparent" #~ msgstr "Nastavitev barve ozadja na prozorno barvo" #~ msgid "Alpha transparency" #~ msgstr "Alfa prosojnost" #~ msgid "Command:" #~ msgstr "Ukaz:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Izriši molekule neposredno preko ukazne vrstice z POV-Ray." #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Ohrani vir POV-Ray po končanem izrisu" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Ohrani vir POV-Ray po izrisu" #~ msgid "Path:" #~ msgstr "Pot:" #~ msgid "Abinit Input" #~ msgstr "Skript Abinit" #~ msgid "k-points:" #~ msgstr "točke-k:" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Kartezijski (angstremi)" #~ msgid "Reduced" #~ msgstr "Zmanjšano" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "Meja ravnega vala (Ha):" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Toleranca sil (Ha/Bohr):" #~ msgid "Max lattice expansion:" #~ msgstr "Največja razširitev kristalne mreže:" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "premik točke-k:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Število pasov:" #~ msgid "# k-point shifts:" #~ msgstr "# premikov točk-k:" #~ msgid "Double grid PW cutoff (Ha):" #~ msgstr "Mejna mreže ravnega vala (Ha):" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Shema zapolnitve:" #~ msgid "SCF tolerance type:" #~ msgstr "Vrsta tolerance SCF:" #~ msgid "Total Energy" #~ msgstr "Skupna energija" #~ msgid "Wave Function norm" #~ msgstr "Norma valovne funkcije" #~ msgid "Total Potential" #~ msgstr "Skupni potencial" #~ msgid "Maximum Force" #~ msgstr "Največja sila" #~ msgid "Relative Force" #~ msgstr "Relativna sila" #~ msgid "1 - semiconducting" #~ msgstr "1 - polprevodno" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 - Fermi Dirac" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 - hladno razmazanje (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 - Gaussovo razmazanje" #~ msgid "Smearing width (Ha):" #~ msgstr "Širina razmazanja (Ha):" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Prilagajanje geometrije:" #~ msgid "0 - no moving ions " #~ msgstr "0 - brez gibajočih ionov " #~ msgid "1 - viscous damping" #~ msgstr "1 - viskozno dušenje" #~ msgid "2 - BFGS " #~ msgstr "2 - BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 - BFGS z energijo" #~ msgid "# Geometrical time steps:" #~ msgstr "# geometričnih časovnih korakov:" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Glajenje kinetične energije (Ha):" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Uporabi obrazec" #~ msgid "Compute..." #~ msgstr "Izračunaj ..." #~ msgid "Dalton Input" #~ msgstr "Skript Dalton" #~ msgid "Basics" #~ msgstr "Osnove" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Doda vpis podrobnosti v nazivni vrstici vnosne datoteke\n" #~ "kot opisne podatke vsebine." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Osnovni nabor:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Poplov način" #~ msgid "Jensen's polarization consistent" #~ msgstr "Jensenova polarizacijska skladnost" #~ msgid "Dunning's correlation consistent" #~ msgstr "Dunningova korelacijska skladnost" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Korelacijske funkcije notranjih elektronov" #~ msgid "Diffuse functions" #~ msgstr "Funkcije difuzije" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Polarizacijske funkcije" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Neposredno" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Opravila naj se izvajajo vzporedno, če je mogoče. Ta možnost je na voljo\n" #~ "pri valovnih funkcijah SCF in izračunih DFT. Skript dalton podpira v " #~ "trenutni\n" #~ "različici programa le sistem MPI, ki mora biti pravilno izgrajen in " #~ "nameščen.\n" #~ "Število vozlišč je določeno z možnostjo \"-N #\" med izvedbo skripta " #~ "\"dalton\"." #~ msgid "Parallel" #~ msgstr "Vzporedno" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Delne:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "ČrnoBelo" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Gostota:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Integracija naboja:" #~ msgid "Grid Specification" #~ msgstr "Določila mreže" #~ msgid "Partitioning Scheme:" #~ msgstr "Shema razdeljevanja:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (izvorni)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Kakovost mreže:" #~ msgid "coarse" #~ msgstr "grobo" #~ msgid "normal" #~ msgstr "običajno" #~ msgid "fine" #~ msgstr "dobra" #~ msgid "ultrafine" #~ msgstr "glajeno" #~ msgid "Radial Scheme:" #~ msgstr "Radialna shema:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Pokaže vse funkcionalne skupine" #~ msgid "Property:" #~ msgstr "Lastnost:" #~ msgid "Polarizability" #~ msgstr "Polarizabilnost" #~ msgid "Excitation Energy" #~ msgstr "Energija vzbujanja" #~ msgid "Frequency Dependent" #~ msgstr "Frekvenčna odvisnost" #~ msgid "No. excitations:" #~ msgstr "Število vzbujenj" #~ msgid "EFP Matches" #~ msgstr "Zadetki EFP" #~ msgid "Group Label:" #~ msgstr "Oznaka skupine:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Napredne nastavitve" #~ msgid "Hessian" #~ msgstr "Hessova matrika" #~ msgid "Stat Point" #~ msgstr "Stacionarna točka" #~ msgid "System" #~ msgstr "Sistem" #~ msgid "MO Guess" #~ msgstr "Ugibanje MO" #~ msgid "Misc" #~ msgstr "Razno" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "Polarizacijske funkcije težkih atomov #D:" #~ msgid "Read" #~ msgstr "Preberi" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Difuzne orbitale S pri težjih atomih" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Difuzne orbitale L pri težjih atomih" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Dvojna z valenca" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Binning/Curtiss DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Trojna z valenca" #~ msgid "SBKJA Valence" #~ msgstr "Valenca SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "Valenca Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Vrsta ECP:" #~ msgid "Default" #~ msgstr "Privzeto" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "Polarizacijske funkcije težkih atomov #F:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "Polarizacijske funkcije lažjih atomov:" #~ msgid "Max SCF Iterations:" #~ msgstr "Največje število SCF ponovitev:" #~ msgid "Gradient" #~ msgstr "Prelivanje" #~ msgid "Optimization" #~ msgstr "Prilagajanje" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "Sedlo" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Energijska površina" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "Prehodi s sevanjem" #~ msgid "Finite Electric Field" #~ msgstr "Končno električno polje" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Splošno prilagajanje" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Prilagajanje FMO" #~ msgid "Raman Intensities" #~ msgstr "Intenziteta Ramanskih vrhov" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Ustvari EPF" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Brez (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Vrsta SCF:" #~ msgid "Localization Method:" #~ msgstr "Način lokalizacije:" #~ msgid "Exec Type:" #~ msgstr "Vrsta izvajanja:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinant" #~ msgid "CI Singles" #~ msgstr "Enojne KI (CI)" #~ msgid "Full Second Order CI" #~ msgstr "KI (CI) drugega reda" #~ msgid "General CI" #~ msgstr "Splošne KI (CI)" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: Linearni CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC z dupleti" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC z singleti in dupleti" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Običajni zagon" #~ msgid "Check" #~ msgstr "Preverjanje" #~ msgid "Debug" #~ msgstr "Razhroščevanje" #~ msgid "Molecule Charge:" #~ msgstr "Naboj molekule:" #~ msgid "Run Type:" #~ msgstr "Zaženi vrsto:" #~ msgid "Use MP2" #~ msgstr "Uporabi MP2" #~ msgid "Use DFT" #~ msgstr "Uporabi DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# spremenjljivk matrike Z" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Vrsta osnovne osi:" #~ msgid "Coordinate Type:" #~ msgstr "Vrsta koordinate:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Edinstvene kartezijske koordinate" #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrantov sistem" #~ msgid "MOPAC Z-Matrix" #~ msgstr "MOPAC matrika Z" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Med izračunavanjem upoštevaj simetrijo" #~ msgid "Units:" #~ msgstr "Enote:" #~ msgid "Point Group:" #~ msgstr "Točkovna skupina:" #~ msgid "Minutes" #~ msgstr "Minute" #~ msgid "Hours" #~ msgstr "Ure" #~ msgid "Days" #~ msgstr "Dnevi" #~ msgid "Weeks" #~ msgstr "Tedni" #~ msgid "Years" #~ msgstr "Leta" #~ msgid "Millenia" #~ msgstr "Millennia" #~ msgid "MegaWords" #~ msgstr "MegaBesede" #~ msgid "MegaBytes" #~ msgstr "Megabajti" #~ msgid "GigaWords" #~ msgstr "GigaBesede" #~ msgid "GigaBytes" #~ msgstr "Gigabajti" #~ msgid "Force Parallel Methods" #~ msgstr "Vsili vzporedne načine" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Izdelaj \"jedrno\" datoteko ob prekinitvi" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Pomnilnik:" #~ msgid "Diagonalization Method:" #~ msgstr "Način diagonalizacije" #~ msgid "Parallel Load Balance Type" #~ msgstr "Vrsta" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Zanka" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Naslednja vrednost" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Uporabi zunanji način predstave sporočil" #~ msgid "Initial Guess:" #~ msgstr "Začetni ugib:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "Prebrane MO ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "Shranjene MO (DICTNRY)" #~ msgid "Skip" #~ msgstr "Preskoči" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Zavrti orbitale alfa in beta" #~ msgid "Print the Initial Guess" #~ msgstr "Izpiši začetni ugib" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Vmesnik GAMESS za drugovrstno kodo" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Vsili preverjanje vrste zagona" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Solvatiraj z vodo" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Ustvari naravne orbitale UHF" #~ msgid "Direct SCF" #~ msgstr "Direct SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Izračunaj le spremenjene v matriki" #~ msgid "Slater exchange" #~ msgstr "Slaterjeva zamenjava" #~ msgid "Becke 1988 exchange" #~ msgstr "Beckejeva 1988 zamenjava" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusairjeva (VWN5) korelacija" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parrjeva (LYP) soodnosnost" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slaterjeva zamenjava in VWN soodnosnost" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: Beckejeva zamenjava in VWN5 soodnosnost" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: Beckejeva zamenjava in LYP soodnosnost" #~ msgid "Gill 1996 exchange" #~ msgstr "Gillova 1996 zamenjava" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhofova (PBE) zamenjava" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: eno-parametrska progresivna soodnosnost" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: Slaterjeva zamenjava in LYP soodnosnost" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: Slaterjeva zamenjava in OP soodnosnost" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: Beckejeva zamenjava in OP soodnosnost" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "GVWN: Gillova zamenjava in VWN5 soodnosnost" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: Gillova zamenjava in VWN5 soodnosnost" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE zamenjava + VWN6 soodnosnost" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE zamenjava +LYP soodnosnost" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE zamenjava + OP soodnosnost" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF in Beckejeva zamenjava + LYP soodnosnost" #~ msgid "Grid-Free" #~ msgstr "Brez mreže" #~ msgid "DFT Functional:" #~ msgstr "Funkcionalna DFT:" #~ msgid "Method:" #~ msgstr "Način:" #~ msgid "Duplicated on Each Node" #~ msgstr "Podvojeno na vsakem vozlišču" #~ msgid "Distributed Across All Nodes" #~ msgstr "Porazdeljeno preko vseh vozlišč" #~ msgid "words" #~ msgstr "besede" #~ msgid "Compute MP2 Properties" #~ msgstr "Izračunaj lastnosti MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Mejna integralna retencijska vrednost:" #~ msgid "Use Localized Orbitals" #~ msgstr "Uporabi lokalizirane orbitale" #~ msgid "# of Core Electrons:" #~ msgstr "# jedrnih elektronov:" #~ msgid "Transformation Method" #~ msgstr "Način transformacije" #~ msgid "Two Phase Bin Sort" #~ msgstr "Dvofazno razvrščanje" #~ msgid "Segmented Transformation" #~ msgstr "Transformacija po delih" #~ msgid "Analytic" #~ msgstr "Analitično" #~ msgid "Numeric" #~ msgstr "Številčna" #~ msgid "Double Differenced Hessian" #~ msgstr "Dvojno diferencirana Hessova matrika" #~ msgid "Print Internal Force Constants" #~ msgstr "Izpiši konstante notranjih sil" #~ msgid "Displacement Size:" #~ msgstr "Velikost premika:" #~ msgid "Purify Hessian" #~ msgstr "Poenotena Hessova matrika" #~ msgid "Frequency Scale Factor:" #~ msgstr "Faktor merila frekvence:" #~ msgid "bohrs" #~ msgstr "bohri" #~ msgid "Initial Hessian" #~ msgstr "Začetna Hessova matrika" #~ msgid "Guess (+ define)" #~ msgstr "Ugibaj (+ določi)" #~ msgid "Read (from $HESS)" #~ msgstr "Preberi (iz $HESS)" #~ msgid "Update Step Size" #~ msgstr "Posodobi velikost koraka" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Izriši orbitale ob vsaki ponovitvi" #~ msgid "Jump Size:" #~ msgstr "Velikost skoka:" #~ msgid "Stationary Point" #~ msgstr "Stacionarna točka" #~ msgid "Step Size" #~ msgstr "Velikost koraka" #~ msgid "Maximum:" #~ msgstr "Največ:" #~ msgid "Minimum:" #~ msgstr "Najmanj:" #~ msgid "Initial:" #~ msgstr "Začetno:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Prilagoditev racionalne funkcije" #~ msgid "Quadratic Approximation" #~ msgstr "Kvadratna aproksimacija" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Prilagajanje omejitev" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Preračunaj Hessovo matriko vsakih:" #~ msgid "Follow Mode:" #~ msgstr "Način sledenja:" #~ msgid "Maximum Steps:" #~ msgstr "Največje število korakov:" #~ msgid "GAMESS-UK Input" #~ msgstr "Skript GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Skript GAMESS-UK, ustvarjen s programom Avogadro" #~ msgid "Calculation:" #~ msgstr "Izračun:" #~ msgid "Transition State Search" #~ msgstr "Iskanje prehodnega stanja" #~ msgid "Basis:" #~ msgstr "Osnova:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Matrika Z" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "V neposrednem načinu integrali niso shranjeni na disk, ampak so po " #~ "potrebi vsakič\n" #~ "preračunani. Na sistemih z zmogljivimi procesorji je neposredni način " #~ "običajno hitrejši." #~ msgid "Run in direct mode:" #~ msgstr "Zaženi v neposrednem načinu:" #~ msgid "Gaussian Input" #~ msgstr "Skript Gaussian" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Odvod:" #~ msgid "Standard" #~ msgstr "Običajno" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Kontrolna točka:" #~ msgid "Z-matrix (compact)" #~ msgstr "Matrika Z (skrčen pogled)" #~ msgid "lj" #~ msgstr "lj" #~ msgid "si" #~ msgstr "si" #~ msgid "electron" #~ msgstr "elektron" #~ msgid "NONE" #~ msgstr "BREZ" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "Atom Style" #~ msgstr "Slog atomov" #~ msgid "angle" #~ msgstr "kot" #~ msgid "bond" #~ msgstr "vez" #~ msgid "charge" #~ msgstr "naboj" #~ msgid "dipole" #~ msgstr "dipol" #~ msgid "full" #~ msgstr "polno" #~ msgid "line" #~ msgstr "vrstica" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Temperatura" #~ msgid "Dimensions" #~ msgstr "Mere" #~ msgid "p" #~ msgstr "p" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "Boundary" #~ msgstr "Meja" #~ msgid "Replicate" #~ msgstr "Podvoji" #~ msgid "Replicate the X direction." #~ msgstr "Podvoji v osi X" #~ msgid "Replicate the Y direction." #~ msgstr "Podvoji v osi Y" #~ msgid "Replicate the Z direction." #~ msgstr "Podvoji v osi Z" #~ msgid "Initial Velocities" #~ msgstr "Začetne hitrosti" #~ msgid "2d" #~ msgstr "2d" #~ msgid "3d" #~ msgstr "3d" #~ msgid "One Line" #~ msgstr "Enovrstično" #~ msgid "Multi Line" #~ msgstr "Večvrstično" #~ msgid "MOLPRO Input" #~ msgstr "Skript MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Različica Molpro:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Skript MOPAC" #~ msgid "Quartet" #~ msgstr "Kvartet" #~ msgid "Quintet" #~ msgstr "Kvintet" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Skript NWChem" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Skript Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "Skript TeraChem" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Neomejeno" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "ne" #~ msgid "yes" #~ msgstr "da" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Razpršitev:" #~ msgid "Load Shaders" #~ msgstr "Naloži senčilnike" #~ msgid "Shader Name:" #~ msgstr "Ime senčilnika:" #~ msgid "Vertex Shader:" #~ msgstr "Senčilnik Vertex:" #~ msgid "Fragment Shader:" #~ msgstr "Senčilnik Fragment:" #~ msgid "Assign Shader" #~ msgstr "Dodeli senčilnik" #~ msgid "Display Type:" #~ msgstr "Vrsta prikaza:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Upravljanje:\n" #~ "Dvojni levi klik: obnovi privzete meje osi\n" #~ "Desni klik + poteg: premakne izris\n" #~ "Srednji klik + poteg: približa območje\n" #~ "Drsni gumb: približa mesto pod kazalko" #~ msgid "&Load data..." #~ msgstr "&Naloži podatke ..." #~ msgid "&Close" #~ msgstr "&Zapri" #~ msgid "Calculated Spectra:" #~ msgstr "Računski podatki spektra:" #~ msgid "Set Color..." #~ msgstr "Nastavi barvo ..." #~ msgid "Imported Spectra:" #~ msgstr "Uvoženi merjeni podatki spektra:" #~ msgid "Font:" #~ msgstr "Pisava:" #~ msgid "Change Font..." #~ msgstr "Spremeni pisavo ..." #~ msgid "Show" #~ msgstr "Pokaži" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "" #~ "Uvozi datoteko tsv eksperimentalnih spektroskopskih podatkov za " #~ "prekrivanje izrisa." #~ msgid "&Import..." #~ msgstr "&Uvozi ..." #~ msgid "Background:" #~ msgstr "Ozadje:" #~ msgid "Foreground:" #~ msgstr "Pisava:" #~ msgid "New..." #~ msgstr "Novo ..." #~ msgid "Rename..." #~ msgstr "Preimenuj ..." #~ msgid "&Schemes:" #~ msgstr "&Sheme:" #~ msgid "&Export..." #~ msgstr "&Izvozi ..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "&Širina" #~ msgid "&Height" #~ msgstr "&Višina" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "palcev" #~ msgid "px" #~ msgstr "točk" #~ msgid "&Save Image..." #~ msgstr "&Shrani sliko ..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Uporabiti je treba prilagojeno vrednost velikosti pisave namesto privzete " #~ "vrednosti sheme (velikosti točk zaslona na sliko se ne prevajajo " #~ "ustrezno)." #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Samodejno prilagodi &velikost pisave" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Izvozi podatke" #~ msgid "Spectra Tab" #~ msgstr "Spekter" #~ msgid "&Gaussian Width:" #~ msgstr "&Gaussova širina:" #~ msgid "&Label peaks" #~ msgstr "&Oznake vrhov" #~ msgid "Rotatory Strength type:" #~ msgstr "Vrsta rotacijske moči:" #~ msgid "Energy units:" #~ msgstr "Enote energije:" #~ msgid "Density units" #~ msgstr "Enote gostote:" #~ msgid "Fermi Energy: " #~ msgstr "Fermijeva energija: " #~ msgid "States / Cell" #~ msgstr "Stanja / Celica" #~ msgid "States / Atom" #~ msgstr "Stanja / Atom" #~ msgid "States / Valence electron" #~ msgstr "Stanja / Valenčni elektroni" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Fermijeva energija pri vrednosti nič" #~ msgid "Scale integrated DOS" #~ msgstr "Prilagodi vgrajeni DOS" #~ msgid "Show integrated DOS" #~ msgstr "Pokaži vgrajeni DOS" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "Enote osi &Y:" #~ msgid "Scaling Type:" #~ msgstr "Vrsta prilagajanja merila:" #~ msgid "Linear" #~ msgstr "linearna" #~ msgid "Relative" #~ msgstr "relativna" #~ msgid "Scale &Factor:" #~ msgstr "Faktor &merila:" #~ msgid "Temperature:" #~ msgstr "Temperatura:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Valovna dolžina laserja:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Prag:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Jedro:" #~ msgid "&Reference:" #~ msgstr "&Sklic:" #~ msgid "Gaussian &Width:" #~ msgstr "Gaussova &širina:" #~ msgid "Reset &Plot Axes" #~ msgstr "Ponastavi osi &izrisa" #~ msgid "Label Peaks:" #~ msgstr "Oznake vrhov:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Molekularne vibracije" #~ msgid "Filter: " #~ msgstr "Filter: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Aktivnost (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Pokaži spekter ..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "hitrejše frekvence vibraciji se bodo pokazale kot hitrejše gibanje" #~ msgid "Animation speed set by frequency" #~ msgstr "Hitrost animacije, določena s frekvenco" #~ msgid "Display force &vectors" #~ msgstr "Prikaži vektorje sil" #~ msgid "&Normalize displacements" #~ msgstr "&Normaliziraj premik" #~ msgid "Generate Cell" #~ msgstr "Ustvari celico" #~ msgid "&Recalculate All" #~ msgstr "&Ponovno preračunaj" #~ msgid "Default &Quality:" #~ msgstr "Privzeta &kakovost:" #~ msgid "Show occupied orbitals first" #~ msgstr "Najprej pokaži zasedene orbitale" #~ msgid "Limit orbital precalculations to " #~ msgstr "Omeji preračunavanje orbital na " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "orbitale okoli HOMO/LUMO" #~ msgid "Quality: " #~ msgstr "Kakovost: " #~ msgid "Create Surfaces" #~ msgstr "Ustvari površine" #~ msgid "Surface Type:" #~ msgstr "Vrsta površine:" #~ msgid "Color By:" #~ msgstr "Barva:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Nizka" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Srednja" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Visoka" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Zelo visoka" #~ msgid "Isosurface cutoff value" #~ msgstr "Izključitvena vrednost izo-površine" #~ msgid "Iso Value:" #~ msgstr "Vrednost iso:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "V vrsti prikaza:" #~ msgid "New Display" #~ msgstr "Nov prikaz" #~ msgid "Advanced..." #~ msgstr "Napredno ..." #~ msgid "&n:" #~ msgstr "&n:" #~ msgid "&m:" #~ msgstr "&m:" #~ msgid "&Length:" #~ msgstr "&Dolžina:" #~ msgid "Uni&t:" #~ msgstr "Eno&ta:" #~ msgid "periodic units" #~ msgstr "periodične enote" #~ msgid "angstrom" #~ msgstr "angstrem" #~ msgid "bohr radii" #~ msgstr "bohrov radij" #~ msgid "nanometers" #~ msgstr "nanometri" #~ msgid "picometers" #~ msgstr "pikometri" #~ msgid "&Cap with hydrogen" #~ msgstr "&Izrišz z vodiki" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "Opravilo je lahko dolgotrajno. V kolikor so uporabne\n" #~ "le atomske koordinate (za kvantno-mehanske izračune),\n" #~ "je dovolj uporabiti le predstavitve z enojnimi vezmi." #~ msgid "Find &double bonds" #~ msgstr "Poišči &dvojne vezi" #~ msgid "Scale (mm/Å):" #~ msgstr "Merilo (mm/Å):" #~ msgid "VRML (color)" #~ msgstr "VRML (barvni)" #~ msgid "Calculate Size..." #~ msgstr "Izračun velikosti ..." #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Preslikaj po:" #~ msgid "X-axis" #~ msgstr "Os X" #~ msgid "Y-axis" #~ msgstr "Os Y" #~ msgid "Z-axis" #~ msgstr "osi Z" #~ msgid "Rotate around:" #~ msgstr "Zavrti okoli:" #~ msgid "Origin" #~ msgstr "Izvor" #~ msgid "Geometry" #~ msgstr "Geometrija" #~ msgid "Display visual cues" #~ msgstr "Pokaži vodila" #~ msgid "Python Settings" #~ msgstr "Nastavitve Python" #~ msgid "Z Matrix Editor" #~ msgstr "Urejevalnik matrike Z" #~ msgid "Import Selected Atoms" #~ msgstr "Uvozi izbrane atome" avogadrolibs-1.93.0/i18n/sq.po000066400000000000000000003106231360735163600160410ustar00rootroot00000000000000# Albanian translation for avogadro # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:48+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Albanian \n" "Language: sq\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:00+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "I Panjohur" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, qt-format msgid "Submit %1 Calculation" msgstr "" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 msgid "Hide &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:390 msgid "Show &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, qt-format msgid "Failed to write to file %1." msgstr "" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 msgid "Calculation Type" msgstr "" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 msgid "No program selected." msgstr "" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrogjen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berilium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Karbon" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Azot" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oksigjen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Flor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Natrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnez" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alumin" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silic" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Squfur" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Klor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potas" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kalcium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titan" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanad" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Krom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Hekur" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Bakër" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Galium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Gjermanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenik" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenium" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brominë" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Kripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Itrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibden" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Teçentium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Argjend" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Kallaj" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellurium" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jod" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ksenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cezium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantanum" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodimium" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodimium" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantalum" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungsten" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Renium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platin" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Ar" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mërkur" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Talium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Plumb" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astatin" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Torium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranium" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Kurium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kalifornium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Ainshtainium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Laurencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Radhërfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Borium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Rontgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 msgid "Select file:" msgstr "" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 msgid "All files (*);;" msgstr "" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 msgid "Untitled" msgstr "" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "I Panjohur" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 msgid "Clear Atoms" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 msgid "Change Elements" msgstr "" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 msgid "Removed Bond" msgstr "" #: qtgui/rwmolecule.cpp:758 msgid "Clear Bonds" msgstr "" #: qtgui/rwmolecule.cpp:793 msgid "Set Bond Orders" msgstr "" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 msgid "Update Bond" msgstr "" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Skedari" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Importo" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Shtojcat" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 msgid "IO Error" msgstr "" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 msgid "Success" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrogjen" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "" #: qtplugins/ballandstick/ballandstick.h:47 msgid "Render atoms as spheres and bonds as cylinders." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 msgid "Bond Atoms" msgstr "" #: qtplugins/bonding/bonding.cpp:43 msgid "Remove Bonds" msgstr "" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "&Skedari" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 msgid "Invalid element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 msgid "Element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 msgid "Invalid element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 msgid "Element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 msgid "Invalid atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 msgid "Invalid coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Vilson Gjeci, ,Launchpad Contributions:,Avogadro " "Team,Vilson Gjeci, ,Launchpad Contributions:,Avogadro Team,Vilson Gjeci, ," "Launchpad Contributions:,Avogadro Team,Vilson Gjeci" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 msgid "Custom Elements" msgstr "" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 msgid "Remove Bond" msgstr "" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 msgid "Distance:" msgstr "" #: qtplugins/editor/editor.cpp:235 #, qt-format msgid "Distance: %L1 Å" msgstr "" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 msgid "GAMESS input" msgstr "" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 msgid "Single Point" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 msgid "Submit GAMESS Calculation" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Hidrogjen" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 msgid "Remove E&xtra Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:46 msgid "&Remove All Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrogjen" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importo" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 msgid "Render atoms as licorice." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 msgid "Angles:" msgstr "" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Hidrogjen" #: qtplugins/openbabel/openbabel.cpp:77 msgid "Add hydrogens for pH..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:83 msgid "Remove hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 msgid "Adding Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "Add hydrogens for pH" msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "pH:" msgstr "" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Bakër" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, qt-format msgid "Cannot save file %1." msgstr "" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 msgid "Error: " msgstr "" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 msgid "POV-Ray Render" msgstr "" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 msgid "Save File" msgstr "" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "Z&gjatimet" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 msgid "Calculating electron density" msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 msgid "Select All" msgstr "" #: qtplugins/select/select.cpp:39 msgid "Select None" msgstr "" #: qtplugins/select/select.cpp:48 msgid "Invert Selection" msgstr "" #: qtplugins/select/select.cpp:59 msgid "Change selections" msgstr "" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 msgid "Select" msgstr "" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 msgid "Selection tool" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 msgid "Symmetry Elements" msgstr "" #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 msgid "Van der Waals (AO)" msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) msgid "Calculation Settings" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) msgid "Submit Calculation..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) msgid "Rename Elements" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) msgid "Save Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "File name:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Distance Unit:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Save File..." msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Formula:" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Molecular Mass (g/mol):" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Number of points:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download Selected" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) msgid "Surface Dialog" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Surface:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Animacioni" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Animacioni" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) msgid "Operations" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Vilson Gjeci, ,Launchpad Contributions:,Avogadro " "Team,Vilson Gjeci, ,Launchpad Contributions:,Avogadro Team,Vilson Gjeci, ," "Launchpad Contributions:,Avogadro Team,Vilson Gjeci" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,vilsongjeci@gmail.com,,,avogadro-devel@lists.sourceforge.net," "vilsongjeci@gmail.com,,,avogadro-devel@lists.sourceforge.net," "vilsongjeci@gmail.com,,,avogadro-devel@lists.sourceforge.net," "vilsongjeci@gmail.com" #~ msgid "Custom Color" #~ msgstr "Ngjyrë e Përzgjedhur" #~ msgid "Color by Residue" #~ msgstr "Ngjyra Sipas Mbetjeve" #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "Motorrët" #~ msgid "Axes" #~ msgstr "Boshtet" #~ msgid "Cartoon" #~ msgstr "Film Vizatimor" #~ msgid "Force" #~ msgstr "Detyro" #~ msgid "Label" #~ msgstr "Etiketa" #~ msgid "Polygon" #~ msgstr "Poligon" #~ msgid "Ribbon" #~ msgstr "Shiriti" #~ msgid "Ring" #~ msgstr "Unaza" #~ msgid "Stick" #~ msgstr "Ngjit" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "skedarë video (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Duke shtuar zgjatimin .avi" #~ msgid "Animation..." #~ msgstr "Animim..." #~ msgid "Trajectory..." #~ msgstr "Trajektorja" avogadrolibs-1.93.0/i18n/sr.po000066400000000000000000010045741360735163600160500ustar00rootroot00000000000000# Serbian translation for avogadro # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the avogadro package. # Мирослав Николић , 2012—2016. msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:45+0000\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian \n" "Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Улазни генератор..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Улазни генератор..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Настави" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Затвори" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Непознато" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "абинит није успео да се покрене." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Прекини прорачун" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Упозорење" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Упозорење" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Изабери растварач" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Излаз" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Не могу да упишем у датотеку." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Датотека снимка није записана." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Датотека снимка није записана." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Подеси" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Наслов" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Назив датотеке:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Процесори:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Прорачун" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Теорија:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Теорија:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Основно" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "Наелектрисање" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "Вишеструкост" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Није подешен молекул" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Заустави &покретне слике" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Није изабран ниједан атом." #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Водоник" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Хелијум" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Литијум" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Берилијум" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Бор" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Угљеник" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Азот" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Кисеоник" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Флуор" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Неон" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Натријум" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Магнезијум" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Алуминијум" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Силицијум" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Фосфор" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Сумпор" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Хлор" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Аргон" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Калијум" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Калцијум" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Скандијум" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Титанијум" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Ванадијум" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Хром" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Манган" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Гвожђе" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Кобалт" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Никал" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Бакар" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Цинк" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Галијум" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Германијум" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Арсен" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Селен" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Бром" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Криптон" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Рубидијум" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Стронцијум" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Итријум" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Цирконијум" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Ниобијум" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Молибден" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Техницијум" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Рутенијум" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Родијум" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Паладијум" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Сребро" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Кадмијум" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Индијум" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Калај" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Антимон" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Телур" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Јод" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ксенон" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Цезијум" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Баријум" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Лантан" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Церијум" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Празеодијум" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Неодијум" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Прометијум" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Самаријум" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Еуропијум" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Гадолинијум" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Тербијум" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Диспрозијум" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Холмијум" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Ербијум" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Тулијум" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Итербијум" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Лутецијум" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Хафнијум" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Танталијум" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Волфрам" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Ренијум" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Осмијум" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Иридијум" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Платина" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Злато" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Жива" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Талијум" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Олово" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Бизмут" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Полонијум" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Астат" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Радон" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Францијум" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Радијум" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Актинијум" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Торијум" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Протактинијум" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Уранијум" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Нептунијум" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Плутонијум" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Америцијум" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Киријум" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Берклијум" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Калифорнијум" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Ајнштајнијум" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Фермијум" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Мендељејевиум" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Нобелијум" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Лоренцијум" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Радефордијум" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Дубнијум" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Сиборгијум" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Боријум" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Хасијум" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Митнеријум" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Дармштатијум" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Рентгенијум" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Коперницијум" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Цирконијум" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Флеровијум" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Ливерморијум" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Разгледај..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr " Неуспех избора" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Уклоните изабрано" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "МекЛин/Шандлр" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Све датотеке" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "без наслова" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Периодни систем елемената" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "абинит није успео да се покрене." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Абинит се урушио." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Грешка ОпенГЛ-а" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Непознато" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Молекул" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Додај атом" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Уклони атом" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Очисти све" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Дотерај водонике" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Измени елемент" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Измени елемент" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Званично наелектрисање" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Додај везу" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Уклони атом" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Обриши везу" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Поредак везе" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Измени редослед везе" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Приони на везе" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Обриши везу" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Додај &јединичну ћелију" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Уклони &јединичну ћелију" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Испуни јединичну ћелију" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Преломи атоме на ћелију" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Промени запремину јединичне ћелије" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Супер ћелија" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Заокрени на уобичајено усмерење" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Умањи на примитивну ћелију" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Симетризуј" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Испуни јединичну ћелију" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Умањи на асиметричну јединицу" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Датотека" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Извези" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Осетљивост" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Излазна датотека Орке" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Проширења" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr " Грешка " #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Неприлика читања датотеке трајекторије %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Грешка ОпенГЛ-а" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Неприлика читања датотеке трајекторије %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Отвори ВФН датотеку" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Отвори ВФН датотеку" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Грeшкa" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Сачувај улазну плочу" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "Улаз ЛАММПС-а" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Успешно!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Напомене улазне датотеке" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Прикажите вишеструке везе" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Водоници" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Куглица и штапић" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Исцртајте натписе атома и везе" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Управљање средишњом везом" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Управљање средишњом везом" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Заврши атом" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Уклони водонике" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Изгради" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Веза" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Толеранција за радње симетрије..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 #, fuzzy msgid "Connection failed" msgstr " Неуспех избора" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Назив датотеке:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Уређивач Декартовог координатног система" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Уређивач Декартовог координатног система" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Поврати измене" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Неисправан назив датотеке" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Назив елемента" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Симбол елемента" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Симбол елемента" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Неисправан назив датотеке" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Атомски број" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Неисправан назив датотеке" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Координате" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Координате" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Координате" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Декартове координате" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Декартове координате" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Координате" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Подеси Декартове координате" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Произвољно" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Мирослав Николић, ,Launchpad Contributions:," "Мирослав Николић, ,Launchpad Contributions:,Мирослав Николић, ,Launchpad " "Contributions:,Мирослав Николић" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ са бројевима" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Декартове координате" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Декартове координате" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "ГАМЕСС ЕФП подаци" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "ГАМЕСС ЕФП подаци" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Улаз турбомола" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Умножи све" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Произвољно" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Очисти све" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Не могу да подесим облик: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Не могу да подесим облик: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "Увези &кристал из оставе..." #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Испуни јединичну ћелију" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Испуни јединичну ћелију" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Преломи атоме на ћелију" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Заокрени на уобичајено усмерење" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Сразмери ћелију на &запремину..." #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Супер ћелија" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Умањи ћелију (&Нигли)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Кристал..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Уклони &јединичну ћелију" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Додај &јединичну ћелију" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Ова јединична ћелија је већ умањена на своје утврђено Ниглијево представљање." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Кристал..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Исцртајте натписе атома и везе" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Не могу да обрадим текст" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Произвољне осе" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Исцртај" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Нацртај атом" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Измени редослед везе" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Уклони атом" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Удаљеност" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Растојање (1—>2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Друго..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Самостална оптимизација" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Једноструко" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Двоструко" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Троструко" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Скрипте" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Неприлика читања датотеке трајекторије %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&ГАМЕСС" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Улазни генератор..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "ГАМЕСС улаз" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Енергија једне тачке" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Геометрија равнотеже" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Стање прелаза" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Учесталост" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Потенцијал језгра" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Гас" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Вода" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Једноструко" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Двоструко" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Троструко" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Дикатјон" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Катјон" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Неутралан" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Анјон" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Дианјон" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Улазна плоча Гамеса" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Прекини прорачун" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Дотерај водонике" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Додај водонике" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Уклони водонике" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Уклони водонике" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Водоници" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Водоници" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Увези" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Исцртајте натписе атома и везе" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "ПЛУМУС..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "ПЛУМУС..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Уметни" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Нема описа" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Молекул" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Образуј..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Управљај" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Управљај атомом" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Измери" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Двострани:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Угао:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Угао:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Измери" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Исцртајте исоповрш мреже молекула" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Преглед" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Својства молекула" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Крећите се" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Крећите се" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Хемијски назив" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Хемијска структура за преузимање." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Преузимање са мреже није успело" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Истекло је време мреже или нека друга грешка." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Не могу да пронађем наведени молекул: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Преузимање са мреже није успело" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Прилагоди геометрију" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Оптимизација геометрије" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Да спознам везе?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Додај водонике" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Додај водонике за pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Уклони водонике" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Нисам успео да прочитам молекул из датотеке „%1“." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Дошло је до неприлика при записивању датотеке „%1“" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Прилагоди геометрију" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Образуј..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Датотека трајекторије %1 се не слаже са бројем атома у присутном молекулу" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Прилагоди геометрију" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Додај водонике" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "Направи улаз Орке..." #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Данинг" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Додај водонике за pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Уклони водонике" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Заустави" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Параметри:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Динамичке везе" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Уклони..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Заустави" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Извези векторску графику" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Авогадро" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Не могу да прочитам датотеку „%1“." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Ја сам порука о грешкици!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr " Грешка " #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "ПОВ-реј" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Сачувај датотеку снимка" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Исцртај користећи ПОВ-Реј" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "КуТАИМ" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Исцртајте примитиве користећи КуТАИМ својства" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Молекуларни график..." #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Молекуларни график са усамљеним паровима..." #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Наелектрисање атома..." #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "П&роширења" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Отвори ВФН датотеку" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "ВФН датотеке (*.wfn);;Све датотеке (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "КуТАИМ проширење" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Направите улазне датотеке из квантних хемијских пакета" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Израчунавам густину електрона" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Израчунавам густину електрона" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Израчунајте и прикажите молекуларне орбите" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "МО %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(НвЗМО)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(НнСМО)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Врати" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Ствараоци улазне датотеке" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Обриши све" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Избор" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Преокрени избор" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " валентни електрони" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Изабери" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Изабери" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Избор" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Избор" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Спознај просторну групу" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "Симетризуј" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Умањи на асиметричну јединицу" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Толеранција:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Просторна &група" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Није успело опажање просторне групе.\n" "\n" "Да ли желите да покушате опет са другачијом толеранцијом?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Није успело опажање просторне групе.\n" "\n" "Да ли желите да покушате опет са другачијом толеранцијом?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Није успело опажање просторне групе.\n" "\n" "Да ли желите да покушате опет са другачијом толеранцијом?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Није успело опажање просторне групе.\n" "\n" "Да ли желите да покушате опет са другачијом толеранцијом?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Авогадро" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "СЦФ толеранције:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Међународно" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Хал" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Херман-Моген" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Изабери просторну групу" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Просторна &група" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Вибрације" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Приказивање спектра" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Прикажи &разломачке координате" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Врста" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Елемент" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "Својства симетрије..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Симетричност" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Својства симетрије" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Исцртајте моменте дипола молекула" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "∞" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Ван дер Валс" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Ван дер Валс" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Исцртај" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Исцртај користећи ПОВ-Реј" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Жичани оквир" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Исцртајте молекуле као штапиће" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Прозорче" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Облик" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Подешавања избора" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Прекини прорачун" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Програм нијансера:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Процесори:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "&Сакриј када завршиш" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "&Сакриј када завршиш" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Измени елемент" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ктрл+Алт+О" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ктрл+Алт+О" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Далтонова улазна датотека" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "Направи улаз Орке..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Истовредна датотека:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Поље силе:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Истовредна датотека:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Далтонова улазна датотека" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Сачувај улазну плочу" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Успешно!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Учитај датотеку" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Учитај датотеку" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Подешавања мерења" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Назив датотеке:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Крећите се" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Крећите се" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Крећите се" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Назив датотеке:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "У реду" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Откажи" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Запис координата:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Врати" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Удаљеност" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Ангстром" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Бор" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Запис:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Поврати измене" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Примени" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Увези кристал" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Параметри супер ћелије" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Опције супер ћелије" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A понављање:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B понављање:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C понављање:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Подеси боју јединичне ћелије" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Матрица ћелије" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Разломачка матрица ћелије (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Преведи атоме" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Примени" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "&Сакриј" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Промени запремину јединичне ћелије" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Унесите нову запремину:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Чинилац сразмеравања" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "Натпис текста" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Елемент:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Поредак везе:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "ГАМЕСС улаз" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Основна подешавања" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "У:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Вишеструкост:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Са:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Наслов:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Наелектрисање:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Израчунај:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Назив датотеке:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Поврати све" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Основно" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Учитавам датотеку..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "назив" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Запис:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Нема описа" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Молекуларна тежина (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "УРАДИТИ" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Хемијска формула:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Број атома:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Број веза:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Оптимизација геометрије" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Начин оптимизације:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Поље силе:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Начин оптимизације:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Конјуговани преливи" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Самостално заокретање" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Ван дер Валс, исоповрш = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Електростатички потенцијал" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "кораци" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Услов конвергенције прелива:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Конвергенција" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Временски рок:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Јединице" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Број веза:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Таласна дужина (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Уклоните изабрано" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Полупречник критичне тачке:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Полупречник путање везе:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Ковалентна" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Стална величина" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Непровидност:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Површине" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Површине" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Средња" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Врло ниска" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Ниска" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Висока" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Врло висока" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Вредност &исоповрши:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Резолуција:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Површине" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Израчунај" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Вибрације" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Амплитуда:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Пусти &покретне слике" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Заустави &покретне слике" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Молекул" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Симетричност" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Опције" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Својства симетрије" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Просторна &група" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "Толеранција:" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "Нормално" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "Откриј симетрију" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Мирослав Николић, ,Launchpad Contributions:," "Мирослав Николић, ,Launchpad Contributions:,Мирослав Николић, ,Launchpad " "Contributions:,Мирослав Николић" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,miroslavnikolic@rocketmail.com,,,miroslavnikolic@rocketmail.com,,," "miroslavnikolic@rocketmail.com,,,miroslavnikolic@rocketmail.com" #~ msgid "Color by Index" #~ msgstr "Обој према попису" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Обојте према попису (црвена, наранџаста, жута, зелена, плава, љубичаста)." #~ msgid "Color by Partial Charge" #~ msgstr "Обој према делимичном наелектрисању" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Обојте према атомском делимичном наелектрисању (плава = позитивно, црвена " #~ "= негативно)." #~ msgid "Custom Color:" #~ msgstr "Произвољна боја:" #~ msgid "Custom Color" #~ msgstr "Произвољна боја" #~ msgid "Set custom colors for objects" #~ msgstr "Подесите произвољне боје за објекте" #~ msgid "Color by Distance" #~ msgstr "Обој према растојању" #~ msgid "Color by distance from the first atom." #~ msgstr "Обојте према растојању од првог атома." #~ msgid "Color by Element" #~ msgstr "Обој према елементу" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Обојте према елементу (угљеник = сива, кисеоник = црвена, ...)." #~ msgid "Color by Residue" #~ msgstr "Обој према остатку" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Обојте према остатку (врсти амино киселине, хидрофобности, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "Шаблон ПАМЕТНИХ:" #~ msgid "Highlight Color:" #~ msgstr "Боја истицања:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Обојте према шаблону ПАМЕТНИХ" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Истакните нарочите функције које одговарају шаблону ПАМЕТНИХ." #~ msgid "Ununtrium" #~ msgstr "Унунтријум" #~ msgid "Ununpentium" #~ msgstr "Унунпентијум" #~ msgid "Ununseptium" #~ msgstr "Унунсептијум" #~ msgid "Ununoctium" #~ msgstr "Унуноктијум" #~ msgid "Engines" #~ msgstr "Погони" #~ msgid "Axes" #~ msgstr "Осе" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Исцртајте x, y, и z осе на почетку" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Исцртајте примитивне користећи куглице (атоми) и штапиће (везе)" #~ msgid "Cartoon" #~ msgstr "Цртани" #~ msgid "Renders protein secondary structure" #~ msgstr "Исцртајте секундарну структуру протеина" #~ msgid "Dipole" #~ msgstr "Дипол" #~ msgid "Force" #~ msgstr "Сила" #~ msgid "Renders force displacements on atoms" #~ msgstr "Исцртајте размештаје силе на атомима" #~ msgid "Hydrogen Bond" #~ msgstr "Хидроксилна веза" #~ msgid "Renders hydrogen bonds" #~ msgstr "Исцртајте хидроксилне везе" #~ msgid "Select Atom Labels Color" #~ msgstr "Изабери боју натписа атома" #~ msgid "Select Bond Labels Color" #~ msgstr "Изабери боју натписа везе" #~ msgid "Select Atom Labels Font" #~ msgstr "Изабери слова натписа атома" #~ msgid "Select Bond Labels Font" #~ msgstr "Изабери слова натписа везе" #~ msgid "Label" #~ msgstr "Натпис" #~ msgid "Polygon" #~ msgstr "Полигон" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Исцртајте атоме као тетраедре, октаедре, и друге полигоне" #~ msgid "Ribbon" #~ msgstr "Трака" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Исцртајте кичме протеина као траке" #~ msgid "Ring" #~ msgstr "Прстен" #~ msgid "Renders rings with colored planes" #~ msgstr "Исцртајте прстенове са обојеним равнима" #~ msgid "Simple Wireframe" #~ msgstr "Једноставан жичани оквир" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Исцртајте везе као жице (линије), идеално за велике молекуле" #~ msgid "Van der Waals Spheres" #~ msgstr "Ван дер Валсове сфере" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Исцртајте атоме као Вен дер Валсове сфере" #~ msgid "Stick" #~ msgstr "Штапић" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Густина електрона, исоповрш = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, исоповрш = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Исцртајте везе као жице (линије), идеално за врло велике (био)молекуле" #~ msgid "Trajectory files" #~ msgstr "Датотеке трајекторије" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Датотеке ДЛ-ПОЛИ ИСТОРИЈАТА" #~ msgid "Open Trajectory File" #~ msgstr "Отвори датотеку трајекторије" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "датотеке снимака (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Додајем „.avi“ проширење" #~ msgid "Animation..." #~ msgstr "Анимација..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Не могу да прочитам облик датотеке за датотеку %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Нисам успео да прочитам датотеку трајекторије %1." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Морате да наведете исправан назив „.avi“ датотеке" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "ГЛ елемент није исправно покренут да би се сачувао снимак" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Неисправан назив датотеке снимка. Морате да наведете читаву путању " #~ "директоријума" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Неисправан назив датотеке снимка. Морате да наведете читаву путању " #~ "директоријума и назив, који се завршава на „.avi“" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Не могу да утврдим облик из назива датотеке: %1" #~ msgid "Animation" #~ msgstr "Анимација" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Дочарајте трајекторије, реакције, и вибрације." #~ msgid "Cartesian Editor" #~ msgstr "Декартов уређивач" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Није одређена јединична ћелија за молекул —— не могу да користим " #~ "децималне координате." #~ msgid "Cartesian Editor..." #~ msgstr "Декартов уређивач..." #~ msgid "Cartesian editor" #~ msgstr "Декартов уређивач" #~ msgid "Number of atoms: %1" #~ msgstr "Број атома: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Број заокретљивих веза: %1" #~ msgid "Add constraint" #~ msgstr "Додај ограничење" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Ваш молекул мора да садржи најмање један атом да бисте додали ограничење" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Ваш молекул мора да садржи најмање два атома да бисте додали ограничење " #~ "везе" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Ваш молекул мора да садржи најмање три атома да бисте додали ограничење " #~ "угла" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Ваш молекул мора да садржи најмање четири атома да бисте додали " #~ "ограничење увртања" #~ msgid "&Crystallography" #~ msgstr "&Кристалографија" #~ msgid "&Reduce" #~ msgstr "&Умањи" #~ msgid "&Settings" #~ msgstr "&Подешавања" #~ msgid "&Length Unit" #~ msgstr "Јединица &дужине" #~ msgid "&Angle Unit" #~ msgstr "Јединица &угла" #~ msgid "&Coordinate Display" #~ msgstr "Приказ &координата" #~ msgid "Coordinate &Preservation" #~ msgstr "&Очување координата" #~ msgid "&Matrix Display" #~ msgstr "Приказ &матрице" #~ msgid "Hide &Editors" #~ msgstr "Сакриј &уређиваче" #~ msgid "Show &Editors" #~ msgstr "Прикажи &уређиваче" #~ msgid "Hide &Property Display" #~ msgstr "Сакриј приказ &особина" #~ msgid "Show &Property Display" #~ msgstr "Прикажи приказ &особина" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Врста решетке: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Просторна група: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Запремина јединичне ћелије: %L1%2" #~ msgid "Undefined" #~ msgstr "Неодређено" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Триклинична" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Моноклинична" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Орторомбна" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Тетрагонална" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Ромбоедарска" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Хексагонална" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Кубична" #~ msgid "Paste Crystal" #~ msgstr "Убаци кристал" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Ниглијево умањење није успело. Решетка улазне структуре је та која " #~ "збуњује алгоритам Ниглијевог умањења. Покушајте да створите мале сметње " #~ "(приближно 2 реда магнитуде мање од толеранције) на улазним решеткама и " #~ "покушајте поново." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Нисам успео да умањим ћелију након 1000 понављања алгоритма умањивања. " #~ "Заустављам." #~ msgid "&Translate Atoms..." #~ msgstr "&Преведи атоме..." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Заокрени на уобичајено &усмерење" #~ msgid "&Slab..." #~ msgstr "&Табла..." #~ msgid "Perceive Space&group..." #~ msgstr "Спознај просторну &групу..." #~ msgid "Set &Spacegroup..." #~ msgstr "Подеси просторну &групу..." #~ msgid "&Fill Unit Cell" #~ msgstr "&Испуни јединичну ћелију" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Испуните јединичну ћелију користећи текућу просторну групу." #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Умањи на &асиметричну јединицу" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "" #~ "Уклоните атоме на подударним положајима (супротно испуњавању јединичне " #~ "ћелије)." #~ msgid "Sy&mmetrize Crystal" #~ msgstr "Симетриши &кристал" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Умањи ћелију (&Примитива)" #~ msgid "&Bohr" #~ msgstr "&Бор" #~ msgid "&Nanometer" #~ msgstr "&Нанометар" #~ msgid "&Picometer" #~ msgstr "&Пикометар" #~ msgid "&Degree" #~ msgstr "&Степен" #~ msgid "&Radian" #~ msgstr "&Радијан" #~ msgid "Display &cartesian coordinates" #~ msgstr "Прикажи &Декартове координате" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Очувај &Декартове координате за време измене ћелије" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Очувај &разломачке координате за време измене ћелије" #~ msgid "Display &cartesian matrix" #~ msgstr "Прикажи &Декартову матрицу" #~ msgid "Display &fractional matrix" #~ msgstr "Прикажи &разломачку матрицу" #~ msgid "Display as &row vectors" #~ msgstr "Прикажи као векторе &реда" #~ msgid "Display as &column vectors" #~ msgstr "Прикажи као векторе &колоне" #~ msgid "&Crystal View Options..." #~ msgstr "Опције прегледа &кристала..." #~ msgid "" #~ "

Perceived spacegroup %1, Hall symbol %2, Hermann-Mauguin symbol %3." #~ "

Cell can be symmetrized into a conventional setting, do you wish to " #~ "do so? Actions that make use of symmetry (e.g. supercell builder) require " #~ "this.

" #~ msgstr "" #~ "

Спознана просторна група %1, Халов симбол %2, Херман-Могенов симбол %3." #~ "

Ћелија се може симетризовати према уобичајеном подешавању, да ли " #~ "желите то да урадите? Радње које користе симетрију (нпр. градитељ супер " #~ "ћелије) то захтевају." #~ msgid "Set Spacegroup" #~ msgstr "Подеси просторну групу" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Не постоји подешена просторна група за овај документ.\n" #~ "\n" #~ "Да ли желите сада да подесите просторну групу?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Откривена је просторна група П1 —— не могу да симетризујем на ту " #~ "просторну групу.\n" #~ "\n" #~ "Да ли желите да покушате са другачијом толеранцијом?" #~ msgid "Symmetrize Crystal" #~ msgstr "Симетриши кристал" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Преломи атоме на ћелију" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Умањи на Ниглијеву ћелију" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "Изабери толеранцију у текућим Декартовим јединицама:" #~ msgid "Crystallography" #~ msgstr "Кристалографија" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Изграђујте и анализирајте периодичне структуре." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "Улаз није обликован као један\n" #~ "од следећих подржаних записа:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "ВАСП запис\n" #~ msgid "Bad Compostion" #~ msgstr "Лош састав" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "Поље идентитета мора да садржи исти број размаком разграничених уноса као " #~ "6. ред ПОСЦАР-а." #~ msgid "Cartesian Coordinates" #~ msgstr "Декартов координатни систем" #~ msgid "Fractional Coordinates" #~ msgstr "Разломачке координате" #~ msgid "Set Fractional Coordinates" #~ msgstr "Подеси разломачке координате" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Матрица ћелије (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Подеси матрицу јединичне ћелије" #~ msgid "Set Unit Cell Params" #~ msgstr "Подеси параметре јединичне ћелије" #~ msgid "Working..." #~ msgstr "Радим..." #~ msgid "Build" #~ msgstr "Изгради" #~ msgid "Cut Slab From Crystal" #~ msgstr "Одсеци таблу из кристала" #~ msgid "No GLWidget?" #~ msgstr "Нема ГЛ елемента?" #~ msgid "Please select one or more atoms." #~ msgstr "Изаберите један или више атома." #~ msgid "Trajectory..." #~ msgstr "Трајекторија..." #~ msgid "Open chemical file format" #~ msgstr "Отвори запис хемијске датотеке" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Хемијске датотеке (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Отвори датотеку параметра" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Хемијске датотеке (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Увези трајекторију" #~ msgid "Import trajectory files" #~ msgstr "Увезите датотеке трајекторије" #~ msgid "Setup Force Field..." #~ msgstr "Подеси поље силе..." #~ msgid "Calculate Energy" #~ msgstr "Израчунај енергију" #~ msgid "Conformer Search..." #~ msgstr "Претрага саобразника..." #~ msgid "Constraints..." #~ msgstr "Ограничења..." #~ msgid "Ignore Selection" #~ msgstr "Занемари избор" #~ msgid "Fix Selected Atoms" #~ msgstr "Поправи изабране атоме" #~ msgid "&Molecular Mechanics" #~ msgstr "&Молекуларна механика" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Не могу да подесим тренутно изабрано поље силе за овај молекул. " #~ "Пребацујем на УФФ." #~ msgid "Energy = %L1 %2" #~ msgstr "Енергија = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Оптимизација геометрије" #~ msgid "Forcefield Optimization" #~ msgstr "Оптимизација поља силе" #~ msgid "Systematic Rotor Search" #~ msgstr "Организована претрага ротора" #~ msgid "Random Rotor Search" #~ msgstr "Насумична претрага ротора" #~ msgid "Weighted Rotor Search" #~ msgstr "Тежинска претрага ротора" #~ msgid "Genetic Algorithm Search" #~ msgstr "Претрага генетског алгоритма" #~ msgid "ForceField" #~ msgstr "Поље силе" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Оптимизујте молекуле и створите саобразнике користећи поље механичке " #~ "снаге молекула" #~ msgid "&Vector Graphics..." #~ msgstr "&Векторска графика..." #~ msgid "PDF" #~ msgstr "ПДФ" #~ msgid "Common vector image formats" #~ msgstr "Општи записи векторске слике" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "ЕПС" #~ msgid "Vector graphics export" #~ msgstr "Извоз векторске графике" #~ msgid "Change H to Methyl" #~ msgstr "Измени Н у метил" #~ msgid "H to Methyl" #~ msgstr "Н у метил" #~ msgid "H2Methyl" #~ msgstr "Н2Метил" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Претворите водонике у метилне групе" #~ msgid "Add or remove hydrogens" #~ msgstr "Додајте или уклоните водонике" #~ msgid "DNA/RNA..." #~ msgstr "ДНА/РНА..." #~ msgid "Insert DNA" #~ msgstr "Уметни ДНА" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "U" #~ msgid "Uracil" #~ msgstr "Урацил" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "Т" #~ msgid "Thymine" #~ msgstr "Тимин" #~ msgid "Insert DNA/RNA" #~ msgstr "Уметни ДНА/РНА" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Уметни ДНА/РНА ланце" #~ msgid "Cannot read molecular file %1." #~ msgstr "Не могу да прочитам датотеку молекула „%1“." #~ msgid "Fragment..." #~ msgstr "Одломак..." #~ msgid "Insert SMILES" #~ msgstr "Уметни ПЛУМУС" #~ msgid "Insert SMILES fragment:" #~ msgstr "Уметни ПЛУМУС одломак:" #~ msgid "Insert Fragment" #~ msgstr "Уметни одломак" #~ msgid "Insert Crystal" #~ msgstr "Уметни кристал" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Уметните одломке молекула да изградите веће молекуле" #~ msgid "Peptide..." #~ msgstr "Пептид..." #~ msgid "Insert Peptide" #~ msgstr "Уметни пептид" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Уметни олигопептидни низ" #~ msgid "Invert Chirality" #~ msgstr "Преокрени хиралност" #~ msgid "InvertChiral" #~ msgstr "Преокрени хирал" #~ msgid "Invert chiral centers" #~ msgstr "Преокрени хирална средишта" #~ msgid "Molecule Properties..." #~ msgstr "Својства молекула..." #~ msgid "&Properties" #~ msgstr "&Својства" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "непознато" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Процењени момент дипола (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(очекујем)" #~ msgid "Display standard molecular properties." #~ msgstr "Прикажите уобичајена својства молекула." #~ msgid "Fetch from PDB..." #~ msgstr "Довуци са ПДБ-а..." #~ msgid "Fetch by chemical name..." #~ msgstr "Довуците према хемијском називу..." #~ msgid "Fetch from URL..." #~ msgstr "Довуци са адресе..." #~ msgid "PDB Entry" #~ msgstr "Унос ПДБ-а" #~ msgid "PDB entry to download." #~ msgstr "Унос ПДБ-а за преузимање." #~ msgid "URL" #~ msgstr "Адреса" #~ msgid "URL of molecule to download." #~ msgstr "Адреса молекула за преузимање." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Не могу да учитам наведени молекул: %1" #~ msgid "Network Fetch" #~ msgstr "Довлачење са мреже" #~ msgid "Fetch molecule files over the network." #~ msgstr "Довуците датотеке молекула са мреже." #~ msgid "OrcaExtension Warning" #~ msgstr "Упозорење проширења Орке" #~ msgid "OrcaExtension" #~ msgstr "Проширење Орке" #~ msgid " No vibration data found!" #~ msgstr " Нисам нашао податке вибрације!" #~ msgid " No vibration data found or molecule changed outside Orca Plugin!" #~ msgstr "" #~ " Нисам нашао податке вибрације или је молекул измењен ван прикључка Орке!" #~ msgid "Selected displacement data don't fit to the actual molecule!" #~ msgstr "Изабрани подаци размештаја не одговарају стварном молекулу!" #~ msgid "extended Geometry File" #~ msgstr "Датотека проширене геометрије" #~ msgid "All Files" #~ msgstr "Све датотеке" #~ msgid "Read Orca Outputfile" #~ msgstr "Читај излазну датотеку Орке" #~ msgid "no file found" #~ msgstr "нисам нашао датотеку" #~ msgid "Somethings wrong in the file structure" #~ msgstr "Нешто није у реду у структури датотеке" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "Нешто није у реду у структури датотеке — јединичне ћелије" #~ msgid "Something is wrong in the IR output! " #~ msgstr "Нешто није у реду у ИР излазу! " #~ msgid "Something is wrong in the raman output! " #~ msgstr "Нешто није у реду у излазу рамана! " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "Нешто није у реду у излазу енергије орбите! " #~ msgid "No geometry found in file!" #~ msgstr "Нисам нашао геометрију у датотеци!" #~ msgid "" #~ "Molecule of the file does not fit the actual molecule structure! \n" #~ " Would you like to override the actual molecule?" #~ msgstr "" #~ "Молекул датотеке не одговара структури стварног молекула! \n" #~ " Да ли желите да препишете стварни молекул?" #~ msgid "Could not read file!" #~ msgstr "Не могу да прочитам датотеку!" #~ msgid "Analyse Orca Output..." #~ msgstr "Анализирај излаз Орке..." #~ msgid "&Orca" #~ msgstr "&Орка" #~ msgid "Orca Test Example" #~ msgstr "Пример теста Орке" #~ msgid "Provides a dialog box with the words \"H...\"." #~ msgstr "Обезбеђује поље за унос текста са речима „H...“." #~ msgid "ORCA Input Deck" #~ msgstr "Улазна плоча Орке" #~ msgid "Show Preview" #~ msgstr "Прикажи преглед" #~ msgid "Hide Preview" #~ msgstr "Сакриј преглед" #~ msgid "RijCosX option not available for the selected DFT functional!" #~ msgstr "Опција „RijCosX“ није доступна за изабрани ДФТ функционал!" #~ msgid "" #~ "RijCosX not available for the selected DFT functional! \n" #~ "RijCosX option reset!" #~ msgstr "" #~ "„RijCosX“ није доступно за изабрани ДФТ функционал! \n" #~ "Повраћај опције „RijCosX“!" #~ msgid "" #~ "Unsaved changes are made in the actual preview text! \n" #~ " Generating a new preview will lose all changes! \n" #~ " Would you like to override them anyway?" #~ msgstr "" #~ "Несачуване измене су начињене у тексту стварног прегледа! \n" #~ " Стварање новог прегледа ће поништити измене! \n" #~ " Да ли ипак желите да их препишете?" #~ msgid "Intensities" #~ msgstr "Јакост" #~ msgid " OrcaSpectra::No vibration data found!" #~ msgstr " СпектарОрке::Нисам нашао податке вибрације!" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Сачувајте слику исцртану ПОВ-Рејом" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Датотеке слика (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "ПОВ-Реј..." #~ msgid "No filename supplied." #~ msgstr "Није достављен назив датотеке." #~ msgid "No valid filename was supplied." #~ msgstr "Није достављен исправан назив датотеке." #~ msgid "Does not compute." #~ msgstr "Не рачунам." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Затражили сте без непосредног исцртавања користећи ПОВ-Реј и без " #~ "задржавања ПОВ-Реј датотеке. Овиме неће бити сачуван ниједан излаз. Да ли " #~ "сте сигурни да је то оно што желите?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Не могу да упишем у датотеку „%1“. Да ли имате овлашћења да уписујете на " #~ "том месту?" #~ msgid "POV-Ray failed to start." #~ msgstr "ПОВ-Реј није успео да се покрене." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "ПОВ-Реј није успео да се покрене. Можда путања до извршног није исправно " #~ "подешена." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Направите ПОВ-Реј датотеке и исцртајте их користећи ПОВ-Реј програм " #~ "линије наредби." #~ msgid "Atom Properties..." #~ msgstr "Својства атома..." #~ msgid "Bond Properties..." #~ msgstr "Својства везе..." #~ msgid "Angle Properties..." #~ msgstr "Својства угла..." #~ msgid "Torsion Properties..." #~ msgstr "Својства увијања..." #~ msgid "Conformer Properties..." #~ msgstr "Својства саобразника..." #~ msgid "Atom Properties" #~ msgstr "Својства атома" #~ msgid "Bond Properties" #~ msgstr "Својства везе" #~ msgid "Angle Properties" #~ msgstr "Својства угла" #~ msgid "Torsion Properties" #~ msgstr "Својства увијања" #~ msgid "Conformer Properties" #~ msgstr "Својства саобразника" #~ msgid "Properties" #~ msgstr "Својства" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Прозори за приказивање својстава атома, везе, угла и увијања. Такође " #~ "обухвата и уређивач координатног система." #~ msgid "Valence" #~ msgstr "Валентност" #~ msgid "Partial Charge" #~ msgstr "Делимично наелектрисање" #~ msgid "Atom" #~ msgstr "Атом" #~ msgid "Start Atom" #~ msgstr "Започни атом" #~ msgid "Rotatable" #~ msgstr "Заокретљив" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Саобразник %1\n" #~ "Дужина %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Величина %1" #~ msgid "Vertex" #~ msgstr "Врхунац" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Саобразник %1\n" #~ "Угао %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Угао %1" #~ msgid "Angle" #~ msgstr "Угао" #~ msgid "Atom %1" #~ msgstr "Атом %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Саобразник %1\n" #~ "Увијање %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Увијање %1" #~ msgid "Torsion" #~ msgstr "Увијање" #~ msgid "Energy (kJ/mol)" #~ msgstr "Енергија (kJ/mol)" #~ msgid "Conformer" #~ msgstr "Саобразник" #~ msgid "Yes" #~ msgstr "Да" #~ msgid "No" #~ msgstr "Не" #~ msgid "Python Terminal" #~ msgstr "Питонов терминал" #~ msgid "pythonTerminalDock" #~ msgstr "Пристаниште Питоновог терминала" #~ msgid "Interactive python scripting terminal" #~ msgstr "Међудејствени питонов терминал за скрипте" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Упозорење ствараоца улазне плоче Абинита" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа улазне плоче Абинита?" #~ msgid "Abinit_Input_Deck" #~ msgstr "Улазна_плоча_Абинита" #~ msgid "Abinit Running." #~ msgstr "Абинит је покренут." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Абинит је већ покренут. Молим сачекајте док се не обаве претходни " #~ "прорачуни." #~ msgid "Abinit Not Installed." #~ msgstr "Абинит није инсталиран." #~ msgid "The abinit executable cannot be found." #~ msgstr "Не могу да пронађем абинитов извршни." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "Псеудоними (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *." #~ "psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "абинит се није покренуо. Можда није инсталиран исправно." #~ msgid "Running Abinit calculation..." #~ msgstr "Извршавам Абинитове прорачуне..." #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Абинит није радио исправно. Можда није инсталиран исправно." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Упозорење Далтоновог ствараоца улазне датотеке" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа Далтонове улазне датотеке?" #~ msgid "QM Matches" #~ msgstr "КуМ поклапања" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "ЕФП избор..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "КуМ избор..." #~ msgid "Delete" #~ msgstr "Обриши" #~ msgid "You must make a selection!" #~ msgstr "Морате да направите избор!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Није доступно ПЛУМУС претварање" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Није доступно претварање ПЛУМУС записа!" #~ msgid "Group Name" #~ msgstr "Назив групе" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "ГАМЕСС" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Направите улазне датотеке за квантне хемијске пакете ГАМЕСС-а" #~ msgid "Advanced Settings Changed" #~ msgstr "Напредна подешавања су измењена" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Измењена су напредна подешавања.\n" #~ "Да одбацим измене?" #~ msgid "Advanced Settings Reset" #~ msgstr "Напредна подешавања су враћена" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Да ли сте сигурни да желите да вратите напредна подешавања?\n" #~ "Све измене ће бити изгубљене!" #~ msgid "Basic Settings Reset" #~ msgstr "Основна подешавања су враћена" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Да ли сте сигурни да желите да вратите основна подешавања?\n" #~ "Све измене ће бити изгубљене!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Упозорење ствараоца улазне плоче Гамеса-УК" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа улазне плоче Гамеса-УК?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Улазна плоча Гамеса-УК" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Упозорење ствараоца улазне плоче Гауска" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа улазне плоче Гауска?" #~ msgid "Gaussian Input Deck" #~ msgstr "Улазна плоча Гауска" #~ msgid "Gaussian Running." #~ msgstr "Гауско је покренут." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Гауско је већ покренут. Молим сачекајте док се не обаве претходни " #~ "прорачуни." #~ msgid "Gaussian Not Installed." #~ msgstr "Гауско није инсталиран." #~ msgid "The G03 executable, cannot be found." #~ msgstr "Не могу да пронађем Г03 извршни." #~ msgid "G03 failed to start." #~ msgstr "Г03 није успео да се покрене." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "Г03 се није покренуо. Можда није инсталиран исправно." #~ msgid "Running Gaussian calculation..." #~ msgstr "Извршавам Гаускове прорачуне..." #~ msgid "G03 Crashed." #~ msgstr "Г03 се урушио." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Гауско није радио исправно. Можда није инсталиран исправно." #~ msgid "&Abinit..." #~ msgstr "&Абинит..." #~ msgid "&Dalton..." #~ msgstr "&Далтон..." #~ msgid "&GAMESS-UK..." #~ msgstr "&ГАМЕСС-УК..." #~ msgid "&Gaussian..." #~ msgstr "&Гауско..." #~ msgid "&MOLPRO..." #~ msgstr "&МОЛПРО..." #~ msgid "M&OPAC..." #~ msgstr "М&ОПАК..." #~ msgid "&NWChem..." #~ msgstr "&НВ-Хемија..." #~ msgid "&PSI4..." #~ msgstr "&ПСИ4..." #~ msgid "&Q-Chem..." #~ msgstr "&Ку-Хемија..." #~ msgid "&TeraChem..." #~ msgstr "&Тера-Хемија..." #~ msgid "&LAMMPS..." #~ msgstr "&ЛАМПС..." #~ msgid "Lammps Input Deck Generator Warning" #~ msgstr "Упозорење ствараоца улазне плоче Лампса" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа улазне плоче Лампса?" #~ msgid "Lammps Input" #~ msgstr "Улаз Лампса" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Упозорење ствараоца улазне плоче Молпроа" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа улазне плоче Молпроа?" #~ msgid "Molpro Input Deck" #~ msgstr "Улазна плоча Молпроа" #~ msgid "MOPAC Input Warning" #~ msgstr "Упозорење улаза МОПАК-а" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа улазне плоче МОПАК-а?" #~ msgid "MOPAC Input Deck" #~ msgstr "Улазна плоча МОПАК-а" #~ msgid "MOPAC Running." #~ msgstr "МОПАК је покренут." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "МОПАК је већ покренут. Молим сачекајте док се не обаве претходни " #~ "прорачуни." #~ msgid "MOPAC Not Installed." #~ msgstr "МОПАК није инсталиран." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Не могу да пронађем извршну МОПАК-а." #~ msgid "MOPAC failed to start." #~ msgstr "МОПАК није успео да се покрене." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "МОПАК се није покренуо. Можда није исправно инсталиран." #~ msgid "Running MOPAC calculation..." #~ msgstr "Извршавам МОПАК-ове прорачуне..." #~ msgid "MOPAC Crashed." #~ msgstr "МОПАК се урушио." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "МОПАК није радио исправно. Можда није инсталиран исправно." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Упозорење ствараоца улазне плоче НВ-Хемије" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа улазне плоче НВ-Хемије?" #~ msgid "NWChem Input Deck" #~ msgstr "Улазна плоча НВ-Хемије" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Упозорење ствараоца улазне плоче Пси-а4" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа улазне плоче Пси-а4?" #~ msgid "Psi4 Input Deck" #~ msgstr "Улазна плоча Пси-а4" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Упозорење ствараоца улазне плоче Ку-Хемије" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа улазне плоче Ку-Хемије?" #~ msgid "QChem Input Deck" #~ msgstr "Улазна плоча Ку-Хемије" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "Упозорење ствараоца улазне плоче Тера-Хемије" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Да ли желите да ажурирате текст прегледа, тако што ћете изгубити све " #~ "измене учињене у окну прегледа улазне плоче Тера-Хемије?" #~ msgid "TeraChem Input Deck" #~ msgstr "Улазна плоча Тера-Хемије" #~ msgid "Select SMARTS..." #~ msgstr "Изабери ПАМЕТНЕ..." #~ msgid "Select by Element..." #~ msgstr "Изабери према елементу..." #~ msgid "Select by Residue..." #~ msgstr "Изабери према остатку..." #~ msgid "Add Named Selection..." #~ msgstr "Додај именовани избор..." #~ msgid "SMARTS Selection" #~ msgstr "Избор ПАМЕТНИХ" #~ msgid "SMARTS pattern to select" #~ msgstr "Шаблон ПАМЕТНИХ за избор" #~ msgid "Select by residue" #~ msgstr "Изабери према остатку" #~ msgid "Residue name" #~ msgstr "Назив остатка" #~ msgid "There is no current selection." #~ msgstr "Тренутно нема избора." #~ msgid "Add Named Selection" #~ msgstr "Додај именовани избор" #~ msgid "Name cannot be empty." #~ msgstr "Назив не сме бити празан." #~ msgid "There is already a selection with this name." #~ msgstr "Већ постоји избор под тим називом." #~ msgid "Selections" #~ msgstr "Избори" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Изаберите атоме, везе, остатке..." #~ msgid "GLSL Shaders..." #~ msgstr "ГЛСЛ нијансери..." #~ msgid "Open a vertex shader source file" #~ msgstr "Отворите изворну датотеку нијансера врхунца" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Датотеке нијансера врхунца (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Отворите изворну датотеку нијансера одломка" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Датотеке нијансера одломка (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Отворите датотеку параметара нијансера" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Датотеке параметара нијансера (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "ГЛСЛ нијансери" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Учитајте и користите ОпенГЛ 2.0 ГЛСЛ нијансере" #~ msgid "Intensity (arb. units)" #~ msgstr "Јакост (скр. јединице)" #~ msgid "Energy (eV)" #~ msgstr "Енергија (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Густина стања (стања/ћелија)" #~ msgid "Density of States (states/atom)" #~ msgstr "Густина стања (стања/атом)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Густина стања (стања/ковалентни електрон)" #~ msgid "Transmittance (%)" #~ msgstr "Прозрачност (%)" #~ msgid "Absorbance (%)" #~ msgstr "Упијање (%)" #~ msgid "No intensities" #~ msgstr "Нема интензитета" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Подаци о вибрацијама у молекулу који сте учитали не садрже никакве " #~ "податке о интензитету. Интензитет је постављени на произвољну вредности " #~ "за приказивање." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Таласни број (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "Помак (ppm)" #~ msgid "Activity" #~ msgstr "Активност" #~ msgid "Intensity" #~ msgstr "Јакост" #~ msgid "X Axis" #~ msgstr "X оса" #~ msgid "Y Axis" #~ msgstr "Y оса" #~ msgid "&Appearance" #~ msgstr "&Изглед" #~ msgid "E&xport Image" #~ msgstr "Извези &слику" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Инфрацрвено" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Подешавања спектра &инфрацрвеног" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "НМР" #~ msgid "&NMR Spectra Settings" #~ msgstr "Подешавања спектра &НМР-а" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "ГС" #~ msgid "&Density Of States Settings" #~ msgstr "Подешавања &густине стања" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "Подешавања &ултраљубичастог" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "&ЦД подешавања" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Раман" #~ msgid "&Raman Settings" #~ msgstr "Подешавања &Рамана" #~ msgid "No data" #~ msgstr "Нема података" #~ msgid "Dark" #~ msgstr "Тамно" #~ msgid "Light" #~ msgstr "Светло" #~ msgid "Publication" #~ msgstr "Издавање" #~ msgid "Handdrawn" #~ msgstr "Руком цртано" #~ msgid "New Scheme" #~ msgstr "Нова шема" #~ msgid "Confirm Scheme Removal" #~ msgstr "Потврди уклањање шеме" #~ msgid "Really remove current scheme?" #~ msgstr "Стварно да уклоним текућу шему?" #~ msgid "Change Scheme Name" #~ msgstr "Измени назив шеме" #~ msgid "Enter new name for current scheme:" #~ msgstr "Унесите нови назив за текућу шему:" #~ msgid "Select Background Color" #~ msgstr "Изабери боју позадине" #~ msgid "Select Foreground Color" #~ msgstr "Изабери боју првог плана" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Изабери боју прорачунатог спектра" #~ msgid "Select Imported Spectra Color" #~ msgstr "Изабери боју увезеног спектра" #~ msgid "Export Calculated Spectrum" #~ msgstr "Извези прорачунати спектар" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Вредности одвојене табулатором (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Вредности одвојене табулатором" #~ msgid "Comma Separated Values" #~ msgstr "Вредности раздвојене зарезом" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Увези спектар" #~ msgid "Spectra Import" #~ msgstr "Увоз спектра" #~ msgid "Unknown extension: %1" #~ msgstr "Непознато проширење: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR подаци (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Турбомол IR подаци (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Турбомол UV подаци (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Турбомол CD подаци (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Облик података" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Запис:" #~ msgid "Load Spectral Data" #~ msgstr "Учитај податке спектра" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "ЦД датотека турбомола је неправилно оформљена : %1" #~ msgid "Portable Network Graphics" #~ msgstr "Преносна мрежна графика" #~ msgid "jpeg" #~ msgstr "јпег" #~ msgid "Tagged Image File Format" #~ msgstr "Запис датотеке означене слике (TIFF)" #~ msgid "Windows Bitmap" #~ msgstr "Виндоуз битмап (BMP)" #~ msgid "Portable Pixmap" #~ msgstr "Преносна пиксмапа" #~ msgid "X11 Bitmap" #~ msgstr "X11 битмапа" #~ msgid "X11 Pixmap" #~ msgstr "X11 пиксмапа" #~ msgid "Save Spectra Image" #~ msgstr "Сачувај слику спектра" #~ msgid "Image successfully written to %1" #~ msgstr "Слика је успешно записана на „%1“" #~ msgid "&Advanced <<" #~ msgstr "&Напредно <<" #~ msgid "&Advanced >>" #~ msgstr "&Напредно >>" #~ msgid "&Spectra..." #~ msgstr "&Спектар..." #~ msgid "Spectra" #~ msgstr "Спектар" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Прикажите податке спектра из квантних хемијских прорачуна" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Вибрациона анализа" #~ msgid "No vibrational displacements exist." #~ msgstr "Не постоји вибрационо размештање." #~ msgid "Vibration" #~ msgstr "Вибрација" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Прикажите вибрационе режиме из квантних хемијских прорачуна" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Ређам %1 вибрације према учесталости..." #~ msgid "Pause" #~ msgstr "Паузирај" #~ msgid "Super Cell Builder..." #~ msgstr "Градилац супер ћелије..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "Овај документ је тренутно један усамљени молекул. Треба да направите " #~ "јединичну ћелију." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Изградите и прикажите кристалографску супер ћелију" #~ msgid "Molecular Orbitals..." #~ msgstr "Молекуларне орбите..." #~ msgid "Orbitals" #~ msgstr "Орбите" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "НвЗМО" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "НнСМО" #~ msgid "Orbital" #~ msgstr "Орбита" #~ msgid "Status" #~ msgstr "Стање" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Ништа" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Ван дер Валс" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Електростатички потенцијал" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Густина електрона" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Молекуларна орбита" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Грешка — неодређена врста" #~ msgid "Create Surfaces..." #~ msgstr "Направи површине..." #~ msgid "Calculating VdW Cube" #~ msgstr "Израчунавам ВдВ коцку" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Израчунавам МО %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Густина електрона" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "Површине електростатичког потенцијала још увек нису подржане." #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Израчунајте молекуларне орбите и друге површине" #~ msgid "&Nanotube Builder..." #~ msgstr "Изграђивач &нано цеви..." #~ msgid "Nanotube Builder" #~ msgstr "Изграђивач нано цеви" #~ msgid "Invalid Nanotube Specification" #~ msgstr "Неисправна одредница нано цеви" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "Затражена нано цев не може бити изграђена из следећих разлога:\n" #~ "\n" #~ "Или „n“ или „m“ мора бити веће од 1." #~ msgid "Insert Nanotube" #~ msgstr "Уметни нано цев" #~ msgid "SWCNT Builder" #~ msgstr "СВЦНТ градилац" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Изградите угљеничне нано цеви једног зида." #~ msgid "Building..." #~ msgstr "Изграђујем..." #~ msgid "Display point group symmetry." #~ msgstr "Прикажите тачку симетрије групе." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "ГЛ елемент није исправно покренут да би се направио снимак" #~ msgid "GL widget has no molecule" #~ msgstr "ГЛ елемент нема ниједан молекул" #~ msgid "Building video " #~ msgstr "Изграђујем снимак " #~ msgid "Could not run povray." #~ msgstr "Не могу да покренем повреј." #~ msgid "Could not run mencoder." #~ msgstr "Не могу да покренем менкодер." #~ msgid "Set Aspect Ratio" #~ msgstr "Подеси однос размере" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Текућа Авогадрова сцена је величине %1x%2 тачкица, а однос размере је " #~ "%3.\n" #~ "Можете да задржите ову вредност, на пример ако намеравате да користите " #~ "ПОВ-Реј\n" #~ "да направите слику величине %4x1000 тачкица, или можете да унесете било " #~ "коју позитивну вредност,\n" #~ "на пример 1 ако намеравате да користите ПОВ-Реј да направите квадратну " #~ "слику, као што је 1000x1000 тачкица." #~ msgid "Connect" #~ msgstr "Повежи се" #~ msgid "Disconnect" #~ msgstr "Прекини везу" #~ msgid "&WiiTrack" #~ msgstr "Прати &Вии-јем" #~ msgid "Wii Tracking" #~ msgstr "Вии праћење" #~ msgid "Track motion using Wii remotes" #~ msgstr "Пратите покрете користећи даљинске Вии-ја" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Неисправан садржај ОпенГЛ-а.\n" #~ "Или је нешто потпуно оштећено у вашим подешавањима ОпенГЛ-а (да ли можете " #~ "да покренете неки од ОпенГЛ програма?), или сте нашли грешку." #~ msgid "Debug Information" #~ msgstr "Подаци за уклањање грешака" #~ msgid "FPS: %L1" #~ msgstr "К/С: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Величина приказа: %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "Ред прегледа модела 1: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "Ред прегледа модела 2: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "Ред прегледа модела 3: %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "Ред прегледа модела 4: %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Атоми: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Везе: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "ОБ мол: попис %1 је изван домета." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Врста датотеке „%1“ није подржана за читање." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Врста датотеке за датотеку „%1“ није подржана за читање." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Нисам успео да прочитам молекул %1 из датотеке „%2“." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "замени молекул: попис %1 је изван домета." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Врста датотеке „%1“ није подржана за читање." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Врста датотеке за датотеку „%1“ није подржана за читање." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Не могу да отворим датотеку „%1“ за упис." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Не могу да отворим датотеку „%1“ за читање." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Нисам успео да заменим молекул %1 из датотеке „%2“." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Датотека „%1“ не може бити отворена за читање." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Датотека „%1“ не може бити отворена за писање." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Нисам успео да сачувам датотеку молекула — не могу да преименујем изворну " #~ "датотеку." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Нисам успео да сачувам датотеку молекула — не могу да преименујем нову " #~ "датотеку." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Нисам успео да сачувам датотеку молекула — не могу да уклоним стару " #~ "датотеку." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Нисам успео да запишем молекул у датотеку „%1“. Није успела функција Опен " #~ "Бабела." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Датотека „%1“ не може бити отворена за писање." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Нисам успео да запишем саобразнике у датотеку „%1“." #~ msgid "Molecule %1" #~ msgstr "Молекул %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "ОЈЛ2+" #~ msgid "Unknown Python Engine" #~ msgstr "Непознат Питонов погон" #~ msgid "N/A" #~ msgstr "Недоступно" #~ msgid "PythonEngine: checking " #~ msgstr "Питонов погон: проверавам " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " — скрипта нема одређен разред „Погон“" #~ msgid " - no module" #~ msgstr " — нема модула" #~ msgid "Unknown Python Extension" #~ msgstr "Непознато Питоново проширење" #~ msgid "PythonExtension: checking " #~ msgstr "Питоново проширење: проверавам " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " — скрипта нема одређен разред „Проширење“" #~ msgid "Unknown Python Tool" #~ msgstr "Непознат Питонов алат" #~ msgid "PythonTool: checking " #~ msgstr "Питонов алат: проверавам " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " — скрипта нема одређен разред „Алат“" #~ msgid "Conformer %1" #~ msgstr "Саобразник %1" #~ msgid "Tools" #~ msgstr "Алати" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "Поравнајте молекуле\n" #~ "\n" #~ "Лево дугме миша: \tИзаберите до два атома.\n" #~ "\t Први атом је усредиштен на првобитан положај.\n" #~ "\t Други атом је поравнат на изабране осе.\n" #~ "Десно дугме миша: \tПоништите поравнање.\n" #~ "Двоструки клик: \tУсредиштите атом на првобитан положај." #~ msgid "Axis:" #~ msgstr "Оса:" #~ msgid "Align:" #~ msgstr "Поравнај:" #~ msgid "Everything" #~ msgstr "Све" #~ msgid "Align" #~ msgstr "Поравнај" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Поравнајте молекуле на Декартове осе" #~ msgid "Align Settings" #~ msgstr "Подешавања поравнања" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "Алат самосталне оптимизације\n" #~ "\n" #~ "Функције кретања приликом клика на празан простор.\n" #~ "Лево дугме миша: \tЗаокрените простор\n" #~ "Средње дугме миша: Увећајте простор\n" #~ "Десно дугме миша: \tПомерите простор\n" #~ "Двоструки клик: \tВратите преглед\n" #~ "\n" #~ "Приликом рада:\n" #~ "Лево дугме миша: \tКликните и ухватите атоме да их померите." #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "Самооптимизација: Не могу да подесим поље силе..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "Самооптимизација: Е = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Број ограничења: %1" #~ msgid "Steps per Update:" #~ msgstr "Корака по ажурирању:" #~ msgid "Algorithm:" #~ msgstr "Алгоритам:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Молекуларна динамика (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Молекуларна динамика (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Молекуларна динамика (900K)" #~ msgid "Start" #~ msgstr "Покрени" #~ msgid "Fixed atoms are movable" #~ msgstr "Учвршћени атоми се могу померати" #~ msgid "Ignored atoms are movable" #~ msgstr "Занемарени атоми се могу померати" #~ msgid "AutoOpt Molecule" #~ msgstr "Молекул самосталне оптимизације" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Самостална оптимизација молекуларне геометрије" #~ msgid "AutoOptimization Settings" #~ msgstr "Подешавања самосталне оптимизације" #~ msgid "Auto Rotation Tool" #~ msgstr "Алат самосталног обртања" #~ msgid "x rotation:" #~ msgstr "х заокретање:" #~ msgid "x rotation" #~ msgstr "х заокретање" #~ msgid "y rotation:" #~ msgstr "у заокретање:" #~ msgid "y rotation" #~ msgstr "у заокретање" #~ msgid "z rotation:" #~ msgstr "z заокретање:" #~ msgid "z rotation" #~ msgstr "z заокретање" #~ msgid "Automatic rotation of molecules" #~ msgstr "Самостално заокретање молекула" #~ msgid "AutoRotate Settings" #~ msgstr "Подешавања самосталног заокретања" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "Алат за управљање средишњом везом\n" #~ "\n" #~ "Леви тастер: \tПритисните и превуците да заокренете преглед.\n" #~ "Средњи тастер: Притисните и превуците да приближите или удаљите.\n" #~ "Десни тастер: \tПритисните и превуците да преместите преглед.\n" #~ "Двоструки: \tВраћа преглед.\n" #~ "\n" #~ "Леви притисак и превлачење на вези за подешавање равни управљања:\n" #~ "Леви притисак и превлачење једног атома у вези за промену угла\n" #~ "Десни притисак и превлачење једног атома у вези за промену дужине" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Дужина везе: %L1" #~ msgid " Show Angles" #~ msgstr " Прикажи углове" #~ msgid "Snap-to Threshold: " #~ msgstr "Приони на праг: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Управљање средишњом везом" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Управљање дужинама, угловима и увијањима везе" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Подешавање управљања средишњом везом" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Притисните да измерите (Ф12)\n" #~ "\n" #~ "Леви тастер: \tИзаберите до три атома.\n" #~ "\t\tРастојања се мере између 1-2 и 2-3\n" #~ "\t\tУгао се мери између 1-3 а 2 заједничка тачка\n" #~ "Десни тастер: \tВраћа мерења.\n" #~ "Двоструки: \tВраћа преглед." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Растојање (2—>3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Угао: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Растојање (3—>4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Двострани угао: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Растојање:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Измерите дужине, углове и угаоне помераје везе" #~ msgid "Delete Atom" #~ msgstr "Обриши атом" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Алат за цртање (Ф8)\n" #~ "\n" #~ "Леви тастер: \tПритисните и превуците да направите атоме и везе\n" #~ "Десни тастер: \tОбришите атом" #~ msgid "Draw Bond" #~ msgstr "Нацртај везу" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Нацртајте и уредите атоме и везе" #~ msgid "Draw Settings" #~ msgstr "Подешавање цртања" #~ msgid "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Алат управљања (Ф10)\n" #~ "\n" #~ "Леви тастер: \tПритисните и превуците да преместите атоме\n" #~ "Средњи тастер: Притисните и превуците да удаљите атоме или да их " #~ "прибижите\n" #~ "Десни тастер: \tПритисните и превуците да заокренете изабране атоме.\n" #~ "Двоструки: \tВраћа преглед." #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Преведите, заокрените и дотерајте атоме и одломке" #~ msgid "Manipulate Settings" #~ msgstr "Подешавање управљања" #~ msgid "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Алат кретања (Ф9)\n" #~ "\n" #~ "Леви тастер: \tПритисните и превуците да заокренете преглед\n" #~ "Средњи тастер: Притисните и превуците да увећате или да умањите\n" #~ "Десни тастер: \tПритисните и превуците да преместите преглед.\n" #~ "Двоструки: \tВраћа преглед." #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Преведите, заокрените и увећајте око текућег прегледа" #~ msgid "Navigate Settings" #~ msgstr "Подешавања кретања" #~ msgid "Selection Mode:" #~ msgstr "Режим избора:" #~ msgid "Atom/Bond" #~ msgstr "Атом/Веза" #~ msgid "Residue" #~ msgstr "Остатак" #~ msgid "Add Center of Atoms" #~ msgstr "Додај средиште атома" #~ msgid "Add Center of Mass" #~ msgstr "Додај средиште масе" #~ msgid "Change color of the atom" #~ msgstr "Измените боју атома" #~ msgid "Change label of the atom" #~ msgstr "Измените натпис атома" #~ msgid "New Label:" #~ msgstr "Нови натпис:" #~ msgid "Change label of the bond" #~ msgstr "Измените натпис везе" #~ msgid "Change radius of the atom" #~ msgstr "Измените полупречник атома" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Нови полупречник, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Изаберите атоме, остатке и молекуле" #~ msgid "Symbol" #~ msgstr "Симбол" #~ msgid "Bond Length" #~ msgstr "Дужина везе" #~ msgid "Bond Angle" #~ msgstr "Угао везе" #~ msgid "Dihedral Angle" #~ msgstr "Двострани угао" #~ msgid "Z Matrix Editor..." #~ msgstr "Уређивач Z матрице..." #~ msgid "Z-Matrix" #~ msgstr "Z-матрица" #~ msgid "Create/edit a z-matrix" #~ msgstr "Направите/уредите z-матрицу" #~ msgid "Z-Matrix Settings" #~ msgstr "Подешавања Z-матрице" #~ msgid "Residue Color Settings" #~ msgstr "Подешавања боје остатка" #~ msgid "Color residues by:" #~ msgstr "Обој остатке према:" #~ msgid "Amino Colors" #~ msgstr "Амино боје" #~ msgid "Shapely Colors" #~ msgstr "Боје складности" #~ msgid "Hydrophobicity" #~ msgstr "Хидрофобност" #~ msgid "Axes:" #~ msgstr "Осе:" #~ msgid "Cartesian Axes" #~ msgstr "Декартове осе" #~ msgid "Orthogonal Axes" #~ msgstr "Ортогоналне осе" #~ msgid "Axis 1:" #~ msgstr "Оса 1:" #~ msgid "Axis 2:" #~ msgstr "Оса 2:" #~ msgid "Axis 3:" #~ msgstr "Оса 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Порекло:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Стандард" #~ msgid "Preserve vector norms" #~ msgstr "Очувај стандарде вектора" #~ msgid "Atom Radius:" #~ msgstr "Полупречник атома:" #~ msgid "Bond Radius:" #~ msgstr "Полупречник везе:" #~ msgid "Shape" #~ msgstr "Облик" #~ msgid "Helix" #~ msgstr "Спирала" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Лист" #~ msgid "Loop" #~ msgstr "Понављање" #~ msgid "Colors" #~ msgstr "Боје" #~ msgid "Dipole:" #~ msgstr "Дипол:" #~ msgid "Dipole Moment" #~ msgstr "Диполни момент" #~ msgid "Custom Vector" #~ msgstr "Произвољни вектор" #~ msgid "Custom:" #~ msgstr "Произвољно:" #~ msgid "Width:" #~ msgstr "Ширина:" #~ msgid "Cut-off radius:" #~ msgstr "Полупречник прекида:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Угао прекида:" #~ msgid "Rendering Engine:" #~ msgstr "Погон исцртавања:" #~ msgid "TextRenderer" #~ msgstr "Исцртавач текста" #~ msgid "QPainter" #~ msgstr "Ку фарбар" #~ msgid "Atom Labels" #~ msgstr "Натписи атома" #~ msgid "Text:" #~ msgstr "Текст:" #~ msgid "Color:" #~ msgstr "Боја:" #~ msgid "None" #~ msgstr "Ништа" #~ msgid "Symbol & Number in Group" #~ msgstr "Симбол и број у групи" #~ msgid "Symbol & Atom number" #~ msgstr "Симбол и атомски број" #~ msgid "Formal charge" #~ msgstr "Званично наелектрисање" #~ msgid "Partial charge" #~ msgstr "Делимично наелектрисање" #~ msgid "Residue number" #~ msgstr "Број остатка" #~ msgid "Unique ID" #~ msgstr "Јединствени ИБ" #~ msgid "Custom data" #~ msgstr "Произвољни подаци" #~ msgid "Change Font" #~ msgstr "Измени словни лик" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Помак натписа:" #~ msgid "Bond Labels" #~ msgstr "Натписи везе" #~ msgid "Bond length" #~ msgstr "Дужина везе" #~ msgid "Bond number" #~ msgstr "Број везе" #~ msgid "Bond order" #~ msgstr "Поредак везе" #~ msgid "Rendering:" #~ msgstr "Исцртавање:" #~ msgid "Backbone" #~ msgstr "Кичма" #~ msgid "Lines" #~ msgstr "Линије" #~ msgid "Radius:" #~ msgstr "Полупречник:" #~ msgid "Include Nitrogens" #~ msgstr "Укључи нитрогене" #~ msgid "VdW Opacity:" #~ msgstr "ВдВ непровидност:" #~ msgid "Orbital:" #~ msgstr "Орбитално:" #~ msgid "Render:" #~ msgstr "Исцртај:" #~ msgid "Fill" #~ msgstr "Испуни" #~ msgid "Points" #~ msgstr "Тачке" #~ msgid "Draw Box:" #~ msgstr "Поље за цртање:" #~ msgid "Style:" #~ msgstr "Стил:" #~ msgid "Selected Colors" #~ msgstr "Изабране боје" #~ msgid "Mapped Colors" #~ msgstr "Мапиране боје" #~ msgid "Colors:" #~ msgstr "Боје:" #~ msgid "Positive" #~ msgstr "Позитивно" #~ msgid "Negative" #~ msgstr "Негативно" #~ msgid "Show Atoms" #~ msgstr "Прикажи атоме" #~ msgid "Animate Trajectory" #~ msgstr "Оживотворена трајекторија" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Понављање" #~ msgid "fps" #~ msgstr "к/с" #~ msgid "Save as .avi..." #~ msgstr "Сачувај као „.avi“..." #~ msgid "Angstroms" #~ msgstr "Ангстрома" #~ msgid "Bohrs" #~ msgstr "Бора" #~ msgid "Fractional" #~ msgstr "Разломачки" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, само координате" #~ msgid "GAMESS Input #2" #~ msgstr "ГАМЕСС улаз #2" #~ msgid "Priroda Input" #~ msgstr "Улаз природе" #~ msgid "Apply Changes" #~ msgstr "Примени измене" #~ msgid "Cut All" #~ msgstr "Одсеци све" #~ msgid "Paste to the End" #~ msgstr "Убаци на крај" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Овде убаците или " #~ "уредите атомске координате. Можете да убаците готово било који одломак " #~ "текста, који садржи координате

" #~ msgid "(None)" #~ msgstr "(Ништа)" #~ msgid "Sort by " #~ msgstr "Поређај према " #~ msgid "Conformer Search" #~ msgstr "Претрага саобразника" #~ msgid "Method" #~ msgstr "Начин" #~ msgid "Number of atoms:" #~ msgstr "Број атома:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Број заокретљивих веза:" #~ msgid "Number of conformers" #~ msgstr "Број саобразника" #~ msgid "Systematic rotor search" #~ msgstr "Претрага организованог ротора" #~ msgid "Random rotor search" #~ msgstr "Претрага насумичног ротора" #~ msgid "Weighted rotor search" #~ msgstr "Претрага тежинског ротора" #~ msgid "Genetic algorithm search" #~ msgstr "Претрага генетског алгоритма" #~ msgid "Genetic Algorithm Options" #~ msgstr "Опције генетског алгоритма" #~ msgid "Children" #~ msgstr "Потпроцеси" #~ msgid "Mutability" #~ msgstr "Променљивост" #~ msgid "Scoring method" #~ msgstr "Начин вредновања" #~ msgid "RMSD" #~ msgstr "RMSD" #~ msgid "Energy" #~ msgstr "Енергија" #~ msgid "Constraints" #~ msgstr "Ограничења" #~ msgid "Add Constraints" #~ msgstr "Додај ограничења" #~ msgid "Ignore Atom" #~ msgstr "Занемари атом" #~ msgid "Fix Atom" #~ msgstr "Поправи атом" #~ msgid "Fix Atom X" #~ msgstr "Поправи атом X" #~ msgid "Fix Atom Y" #~ msgstr "Поправи атом Y" #~ msgid "Fix Atom Z" #~ msgstr "Поправи атом Z" #~ msgid "Torsion angle" #~ msgstr "Угао увијања" #~ msgid "Constraint Value" #~ msgstr "Вредност ограничења" #~ msgid "Atom Indices" #~ msgstr "Показатељ атома" #~ msgid "Add" #~ msgstr "Додај" #~ msgid "Save" #~ msgstr "Сачувај" #~ msgid "Load" #~ msgstr "Учитај" #~ msgid "Atomic &identites:" #~ msgstr "Атомски &идентитет:" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgid "&Reset" #~ msgstr "&Поврати" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgid "Cell Parameters" #~ msgstr "Параметри ћелије" #~ msgid " °" #~ msgstr " °" #~ msgid "Surface Slab Builder" #~ msgstr "Градилац табле површине" #~ msgid "Plane:" #~ msgstr "Раван:" #~ msgid "&Miller Indices:" #~ msgstr "&Милеров показатељ:" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Упозорење: Користите не-нулте Милерове показатеље" #~ msgid "Dimensions:" #~ msgstr "Димензије:" #~ msgid "Width (x)" #~ msgstr "Ширина (x)" #~ msgid "Width (y)" #~ msgstr "Ширина (y)" #~ msgid "Height (z)" #~ msgstr "Висина (z)" #~ msgid "length" #~ msgstr "дужина" #~ msgid "cell repeats" #~ msgstr "понављања ћелије" #~ msgid "&Translate " #~ msgstr "&Преведи " #~ msgid "by arbitrary vector" #~ msgstr "према произвољном вектору" #~ msgid "selected atom to origin" #~ msgstr "изабрани атом на порекло" #~ msgid "selected atom to unit cell center" #~ msgstr "изабрани атом на средиште јединичне ћелије" #~ msgid "Translation vector:" #~ msgstr "Вектор превођења:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "&Векторске јединице:" #~ msgid "Cartesian" #~ msgstr "Декартове" #~ msgid "&Translate" #~ msgstr "&Преведи" #~ msgid "&Keep atoms in unit cell" #~ msgstr "&Задржи атоме у јединичној ћелији" #~ msgid "Crystal View Options" #~ msgstr "Опције прегледа кристала" #~ msgid "Unit Cell Repeats:" #~ msgstr "Понављања јединичне ћелије:" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "Да нацртам јединичну ћелију?" #~ msgid "One" #~ msgstr "Један" #~ msgid "All" #~ msgstr "Све" #~ msgid "Color..." #~ msgstr "Боја..." #~ msgid "View Along:" #~ msgstr "Прегледај уз:" #~ msgid "Default View" #~ msgstr "Подразумевани приказ" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "Милеров показатељ" #~ msgid "File Import..." #~ msgstr "Увоз датотеке..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "Да покушам да спознам везе?" #~ msgid "Setup Force Field" #~ msgstr "Подеси поље силе" #~ msgid "Force Field" #~ msgstr "Поље силе" #~ msgid "Ghemical" #~ msgstr "Гхемија" #~ msgid "Number of steps" #~ msgstr "Број корака" #~ msgid "Algorithm" #~ msgstr "Алгоритам" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Уметни нуклеинске киселине" #~ msgid "DNA/RNA Builder" #~ msgstr "Градилац ДНА/РНА" #~ msgid "DNA" #~ msgstr "ДНА" #~ msgid "RNA" #~ msgstr "РНА" #~ msgid "Nucleic Acids:" #~ msgstr "Нуклеинске киселине:" #~ msgid "Adenine" #~ msgstr "Аденин" #~ msgid "Cytosine" #~ msgstr "Цитозин" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Гуанин" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Низ:" #~ msgid "the number of base pairs per helix turn" #~ msgstr "број парова базе по завоју спирале" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Друго" #~ msgid "Bases Per Turn:" #~ msgstr "Бр. база по спирали:" #~ msgid "Strands:" #~ msgstr "Снопови:" #~ msgid "Insert" #~ msgstr "Уметни" #~ msgid "Insert Fragment..." #~ msgstr "Уметни одломак..." #~ msgid "Filter:" #~ msgstr "Пробери:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "" #~ "Упишите назив или део назива да покажете само одговарајуће датотеке." #~ msgid "Peptide Builder" #~ msgstr "Пептидни градилац" #~ msgid "Alanine" #~ msgstr "Аланин" #~ msgid "Ala" #~ msgstr "Ала" #~ msgid "Arginine" #~ msgstr "Аргинин" #~ msgid "Arg" #~ msgstr "Арг" #~ msgid "Asparagine" #~ msgstr "Аспарагин" #~ msgid "Asn" #~ msgstr "Асн" #~ msgid "Aspartic acid" #~ msgstr "Аспарагинска киселина" #~ msgid "Asp" #~ msgstr "Асп" #~ msgid "Cysteine" #~ msgstr "Цистеин" #~ msgid "Cys" #~ msgstr "Цис" #~ msgid "Glutamic acid" #~ msgstr "Глутаминска киселина" #~ msgid "Glu" #~ msgstr "Глу" #~ msgid "Glutamine" #~ msgstr "Глутамин" #~ msgid "Gln" #~ msgstr "Глн" #~ msgid "Glycine" #~ msgstr "Глицин" #~ msgid "Gly" #~ msgstr "Гли" #~ msgid "Histidine" #~ msgstr "Хистидин" #~ msgid "His" #~ msgstr "Хис" #~ msgid "Isoleucine" #~ msgstr "Изолеуцин" #~ msgid "Ile" #~ msgstr "Иле" #~ msgid "Valine" #~ msgstr "Валин" #~ msgid "Val" #~ msgstr "Вал" #~ msgid "Tyrosine" #~ msgstr "Тирозин" # #-#-#-#-# goffice.po (gnumeric 1.2) #-#-#-#-# # Question for autor: Is this Y like YES? #~ msgid "Tyr" #~ msgstr "Тир" #~ msgid "Tryptophan" #~ msgstr "Триптофан" #~ msgid "Trp" #~ msgstr "Трп" #~ msgid "Threonine" #~ msgstr "Треонин" #~ msgid "Thr" #~ msgstr "Тр" #~ msgid "Serine" #~ msgstr "Серин" #~ msgid "Ser" #~ msgstr "Сер" #~ msgid "Proline" #~ msgstr "Пролин" #~ msgid "Pro" #~ msgstr "Про" #~ msgid "Phenylalanine" #~ msgstr "Фенилаланин" #~ msgid "Phe" #~ msgstr "Фе" #~ msgid "Methionine" #~ msgstr "Метионин" #~ msgid "Met" #~ msgstr "Мет" #~ msgid "Lysine" #~ msgstr "Лизин" #~ msgid "Lys" #~ msgstr "Лиз" #~ msgid "Leucine" #~ msgstr "Леуцин" #~ msgid "Leu" #~ msgstr "Леу" #~ msgid "Amino Acids:" #~ msgstr "Аминокиселине:" #~ msgid "Sequence (N to C):" #~ msgstr "Низ (N до C):" #~ msgid "Stereochemistry:" #~ msgstr "Стереохемија:" #~ msgid "L" #~ msgstr "Л" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N свршетак:" #~ msgid "C Terminus:" #~ msgstr "C свршетак:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" # #-#-#-#-# dia.po (dia) #-#-#-#-# # Translators: Menu item Verb/Support/Secure #~ msgid "Structure:" #~ msgstr "Структура:" #~ msgid "Straight Chain" #~ msgstr "Прав ланац" #~ msgid "Alpha Helix" #~ msgstr "Алфа спирала" #~ msgid "Beta Sheet" #~ msgstr "Бета лист" #~ msgid "3-10 Helix" #~ msgstr "3-10 спирала" #~ msgid "Pi Helix" #~ msgstr "Pi спирала" #~ msgid "Phi:" #~ msgstr "Фи:" #~ msgid "Psi:" #~ msgstr "Пси:" #~ msgid "Chain Number:" #~ msgstr "Број ланца:" #~ msgid "The chain number for the new peptide" #~ msgstr "Број ланца за нови пептид" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Својства молекула" #~ msgid "Number of Residues:" #~ msgstr "Број остатака:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Енергија (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Диполни момент (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "ЈУПАК назив молекула:" #~ msgid "Frames" #~ msgstr "Кадрови" #~ msgid "Plot Spectra" #~ msgstr "Исцртај спектре" #~ msgid "Fragments" #~ msgstr "Одломци" #~ msgid "select Fragment" #~ msgstr "изабери одломак" #~ msgid "Basic" #~ msgstr "Основа" #~ msgid "Comment" #~ msgstr "Напомена" #~ msgid "Frequency" #~ msgstr "Учесталост" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "ДФТ" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Basis set" #~ msgstr "Подешавање основе" #~ msgid "Format" #~ msgstr "Запис" #~ msgid "z-Matrix" #~ msgstr "z-матрица" #~ msgid "z-Matrix compact" #~ msgstr "Збијена z-матрица" #~ msgid "Advanced" #~ msgstr "Напредно" #~ msgid "Basis Set" #~ msgstr "Подешавање основе" #~ msgid "Control" #~ msgstr "Управљање" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "RijCosX" #~ msgstr "RijCosX" #~ msgid "Data" #~ msgstr "Подаци" #~ msgid "ECP" #~ msgstr "ECP" #~ msgid "Relativistic" #~ msgstr "Релативистички" #~ msgid "ZORA" #~ msgstr "ZORA" #~ msgid "IORA" #~ msgstr "IORA" #~ msgid "DKH" #~ msgstr "DKH" #~ msgid "Order" #~ msgstr "Поредак" #~ msgid "Run type" #~ msgstr "Врста покретања" #~ msgid "Add. Print Options" #~ msgstr "Додатне опције штампања" #~ msgid "MOs" #~ msgstr "MOs" #~ msgid "Basis Sets" #~ msgstr "Подешавања основе" #~ msgid "Printlevel" #~ msgstr "Ниво исписа" #~ msgid "Nothing" #~ msgstr "Ништа" #~ msgid "Mini" #~ msgstr "Мајушно" #~ msgid "Small" #~ msgstr "Мало" #~ msgid "Large" #~ msgstr "Велико" #~ msgid "Damping" #~ msgstr "Одлагање" #~ msgid "Factor" #~ msgstr "Чинилац" #~ msgid "" #~ "

select only if no defaults are wanted

" #~ msgstr "" #~ "

изабери само ако се основности не траже

" #~ msgid "Accuracy" #~ msgstr "Тачност" #~ msgid "DIIS" #~ msgstr "DIIS" #~ msgid "KDIIS" #~ msgstr "KDIIS" #~ msgid "Levelshift " #~ msgstr "Помак нивоа " #~ msgid "Levelshift" #~ msgstr "Помак нивоа" #~ msgid "2nd Order" #~ msgstr "2° реда" #~ msgid "SOSCF" #~ msgstr "SOSCF" #~ msgid "NRSCF" #~ msgstr "НРСЦФ" #~ msgid "AHSCF" #~ msgstr "АХСЦФ" #~ msgid "max. SCF iterations" #~ msgstr "највише СЦФ понављања" #~ msgid "SCF Type" #~ msgstr "СЦФ врста" #~ msgid "restricted" #~ msgstr "ограничено" #~ msgid "unrestricted" #~ msgstr "неограничено" #~ msgid "restricted open-shell" #~ msgstr "ограничена отворена шкољка" #~ msgid "SFitting" #~ msgstr "С-испуњавање" #~ msgid "GridX" #~ msgstr "Икс мрежа" #~ msgid "FinalGridX" #~ msgstr "Крајња Икс мрежа" #~ msgid "DFT Functional" #~ msgstr "ДФТ функционал" #~ msgid "Grid" #~ msgstr "Мрежа" #~ msgid "FinalGrid" #~ msgstr "Крајња мрежа" #~ msgid "POV-Ray Export" #~ msgstr "ПОВ-Реј извоз" #~ msgid "Select..." #~ msgstr "Изабери..." #~ msgid "povray" #~ msgstr "повреј" #~ msgid "Use full scene antialiasing" #~ msgstr "Користите умекшавање читаве сцене" #~ msgid "Antialias" #~ msgstr "Умекшавање ивица" #~ msgid "Set the background color to be transparent" #~ msgstr "Подесите боју позадине да буде прозирна" #~ msgid "Alpha transparency" #~ msgstr "Алфа провидност" #~ msgid "Command:" #~ msgstr "Наредба:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Исцртајте молекул непосредно користећи ПОВ-Реј линије наредби" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Задржите извор ПОВ-Реја након обављеног исцртавања" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Задржи извор ПОВ-Реја након исцртавања" #~ msgid "Path:" #~ msgstr "Путања:" #~ msgid "Abinit Input" #~ msgstr "Абинитов улаз" #~ msgid "k-points:" #~ msgstr "к-тачке:" #~ msgid "10.0" #~ msgstr "10.0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Декартов (Ангстром)" #~ msgid "Reduced" #~ msgstr "Умањено" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "Одсецање таласа равни (Ha):" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Толеранција на силама(Ha/bohr):" #~ msgid "Max lattice expansion:" #~ msgstr "Највећа раширеност решетке:" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "помак к-тачке:" #~ msgid "0.0" #~ msgstr "0,0" #~ msgid "Number of bands:" #~ msgstr "Број линија:" #~ msgid "# k-point shifts:" #~ msgstr "# помака к-тачке:" #~ msgid "Double grid PW cutoff (Ha):" #~ msgstr "ПВ одсецање двоструке мреже (Ha):" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Шема заузећа:" #~ msgid "SCF tolerance type:" #~ msgstr "Врста СЦФ толеранције:" #~ msgid "Total Energy" #~ msgstr "Укупна енергија" #~ msgid "Wave Function norm" #~ msgstr "Образац функције таласа" #~ msgid "Total Potential" #~ msgstr "Укупни потенцијал" #~ msgid "Maximum Force" #~ msgstr "Највећа сила" #~ msgid "Relative Force" #~ msgstr "Релативна сила" #~ msgid "1 - semiconducting" #~ msgstr "1 — полупроводљивост" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 — Ферми-Дираково" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 — Хладно расплињавање (Marzari)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 — Гаусово расплињавање" #~ msgid "Smearing width (Ha):" #~ msgstr "Ширина расплињавања (Ha):" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Оптимизација геометрије:" #~ msgid "0 - no moving ions " #~ msgstr "0 — без покретних јона " #~ msgid "1 - viscous damping" #~ msgstr "1 — вискозно пригушење" #~ msgid "2 - BFGS " #~ msgstr "2 — БГФС " #~ msgid "3 - BFGS with energy" #~ msgstr "3 – БГФС са енергијом" #~ msgid "# Geometrical time steps:" #~ msgstr "Број корака геометријског времена" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Ублажавање кинетичке енергије (Ha):" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Користи образац" #~ msgid "Compute..." #~ msgstr "Израчунај..." #~ msgid "Dalton Input" #~ msgstr "Далтонов улаз" #~ msgid "Basics" #~ msgstr "Основе" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Додајте оно што уписујете у насловном реду улазне датотеке зарад ваше\n" #~ "личне обавештености." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Подешавања основе:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Поплов стил" #~ msgid "Jensen's polarization consistent" #~ msgstr "Одржљивост Џенсенове поларизације" #~ msgid "Dunning's correlation consistent" #~ msgstr "Одржљивост Данинговог међуодноса" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Функције међуодноса језгра" #~ msgid "Diffuse functions" #~ msgstr "Функције простирања" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Функције поларизације" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Усмери" #~ msgid "Parallel" #~ msgstr "Паралелно" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Функционал:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Густина:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Обједињавање наелектрисања:" #~ msgid "Grid Specification" #~ msgstr "Одредба мреже" #~ msgid "Partitioning Scheme:" #~ msgstr "Шема поделе:" #~ msgid "Becke" #~ msgstr "Беки" #~ msgid "Becke (original)" #~ msgstr "Беки (изворно)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Квалитет мреже:" #~ msgid "coarse" #~ msgstr "храпава" #~ msgid "normal" #~ msgstr "обична" #~ msgid "fine" #~ msgstr "фина" #~ msgid "ultrafine" #~ msgstr "врло фина" #~ msgid "Radial Scheme:" #~ msgstr "Шема полупречника:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Прикажи све функционале" #~ msgid "Property:" #~ msgstr "Својство:" #~ msgid "Polarizability" #~ msgstr "Поларизационост" #~ msgid "Excitation Energy" #~ msgstr "Енергија побуде" #~ msgid "Frequency Dependent" #~ msgstr "Зависан од учесталости" #~ msgid "No. excitations:" #~ msgstr "Бр. подстицаја:" #~ msgid "EFP Matches" #~ msgstr "ЕФП поклапања" #~ msgid "Group Label:" #~ msgstr "Натпис групе:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Напредна подешавања" #~ msgid "Hessian" #~ msgstr "Хесијана" #~ msgid "Stat Point" #~ msgstr "Тачка стања" #~ msgid "System" #~ msgstr "Систем" #~ msgid "MO Guess" #~ msgstr "Процена МО-е" #~ msgid "Misc" #~ msgstr "Разно" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D Функције поларизације тешког атома:" #~ msgid "Read" #~ msgstr "Читај" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Хеј-Вадт" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "С-љуска простирања на тешким атомима" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Л-љуска простирања на тешким атомима" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Двострука зета валентност" #~ msgid "Dunning/Hay DZ" #~ msgstr "Данинг/Хеј ДЗ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Бининг/Куртис ДЗ" #~ msgid "Triple Zeta Valence" #~ msgstr "Трострука зета валентност" #~ msgid "SBKJA Valence" #~ msgstr "СБКЈА валентност" #~ msgid "Hay/Wadt Valence" #~ msgstr "Хеј/Вадт валентност" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ЕЦП врста:" #~ msgid "Default" #~ msgstr "Основно" #~ msgid "Pople" #~ msgstr "Попл" #~ msgid "Pople N311" #~ msgstr "Попл N311" #~ msgid "Huzinaga" #~ msgstr "Хузинага" #~ msgid "Hondo7" #~ msgstr "Хондо7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F функције поларизације тешког атома:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#функције поларизације лаког атома:" #~ msgid "Polar:" #~ msgstr "Полар:" #~ msgid "Max SCF Iterations:" #~ msgstr "Највише СЦФ понављања:" #~ msgid "Gradient" #~ msgstr "Прелив" #~ msgid "Optimization" #~ msgstr "Оптимизација" #~ msgid "Trudge" #~ msgstr "Гажење" #~ msgid "Saddle Point" #~ msgstr "Тачка оптерећења" #~ msgid "IRC" #~ msgstr "ИРЦ" #~ msgid "Gradient Extremal" #~ msgstr "Крајњости прелива" #~ msgid "DRC" #~ msgstr "ДРЦ" #~ msgid "Energy Surface" #~ msgstr "Површина енергије" #~ msgid "Morokuma" #~ msgstr "Морокума" #~ msgid "Spin Orbit" #~ msgstr "Орбита спина" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Општа оптимизација" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "ФМО оптимизација" #~ msgid "NMR" #~ msgstr "НМР" #~ msgid "Make EFP" #~ msgstr "Направи ЕФП" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "ГВБ" #~ msgid "MCSCF" #~ msgstr "МЦСЦФ" #~ msgid "None (CI)" #~ msgstr "Ништа (ЦИ)" #~ msgid "Foster-Boys" #~ msgstr "Фостер-Бојз" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Едмистрон-Риденберг" #~ msgid "Pipek-Mezey" #~ msgstr "Пипек-Мези" #~ msgid "SCF Type:" #~ msgstr "СЦФ врста:" #~ msgid "Localization Method:" #~ msgstr "Начин локализације:" #~ msgid "Exec Type:" #~ msgstr "Врста извршавања:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "ГУГА" #~ msgid "General CI" #~ msgstr "Општи ЦИ" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: ЦЦ са двоструким" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "ЦР-ЦЦ" #~ msgid "EOM-CCSD" #~ msgstr "ЕОМ-ЦЦСД" #~ msgid "CR-EOM" #~ msgstr "ЦР-ЕОМ" #~ msgid "Normal Run" #~ msgstr "Обично извршавање" #~ msgid "Check" #~ msgstr "Испитај" #~ msgid "Debug" #~ msgstr "Прочисти" #~ msgid "Molecule Charge:" #~ msgstr "Наелектрисање молекула:" #~ msgid "Run Type:" #~ msgstr "Врста покретања:" #~ msgid "Use MP2" #~ msgstr "Користи МП2" #~ msgid "Use DFT" #~ msgstr "Користи ДФТ" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# променљивих Z-матрице" #~ msgid "Ǻngstrom" #~ msgstr "Ǻнгстром" #~ msgid "Order of Principal Axis:" #~ msgstr "Поредак главних оса:" #~ msgid "Coordinate Type:" #~ msgstr "Врста координата:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Јединствене Декартове координате" #~ msgid "MOPAC Z-Matrix" #~ msgstr "МОПАЦ Z-матрица" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Користи симетрију за време прорачуна" #~ msgid "Units:" #~ msgstr "Јединице:" #~ msgid "Point Group:" #~ msgstr "Група тачке:" #~ msgid "Minutes" #~ msgstr "Минути" #~ msgid "Hours" #~ msgstr "Сати" #~ msgid "Days" #~ msgstr "Дани" #~ msgid "Weeks" #~ msgstr "Недеље" #~ msgid "Years" #~ msgstr "Године" #~ msgid "Millenia" #~ msgstr "Векови" #~ msgid "MegaWords" #~ msgstr "Мега речи" #~ msgid "MegaBytes" #~ msgstr "Мега бајта" #~ msgid "GigaWords" #~ msgstr "Гига речи" #~ msgid "GigaBytes" #~ msgstr "Гига бајта" #~ msgid "Force Parallel Methods" #~ msgstr "Присили паралелне начине" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "МемДДИ:" #~ msgid "Memory:" #~ msgstr "Меморија:" #~ msgid "Diagonalization Method:" #~ msgstr "Начин дијагонализације:" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Понављање" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Следећа вредност" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Користи спољно представљање података за поруке" #~ msgid "Initial Guess:" #~ msgstr "Почетна процена:" #~ msgid "Hückel" #~ msgstr "Хикел" #~ msgid "HCore" #~ msgstr "Х језгро" #~ msgid "MO Read ($VEC)" #~ msgstr "МО читање ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "МО сачуван (DICTNRY)" #~ msgid "Skip" #~ msgstr "Прескочи" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Заокрени алфа и бета орбите" #~ msgid "Print the Initial Guess" #~ msgstr "Испиши почетну процену" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "ГАМЕСС сучеље за друге кодове" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "Плт орб" #~ msgid "AIMPAC" #~ msgstr "АИМПАЦ" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Приморај врсту покретања провере" #~ msgid "Hondo 8.2" #~ msgstr "Хондо 8.2" #~ msgid "MELDF" #~ msgstr "МЕЛДФ" #~ msgid "GAMESS (UK Version)" #~ msgstr "ГАМЕСС (УК издање)" #~ msgid "Gaussian 9x" #~ msgstr "Гаусово 9х" #~ msgid "Solvate with Water" #~ msgstr "Раствор са водом" #~ msgid "Becke 1988 exchange" #~ msgstr "Бекијева 1988 размена" #~ msgid "Grid-Free" #~ msgstr "Слободна мрежа" #~ msgid "DFT Functional:" #~ msgstr "ДФТ функционал:" #~ msgid "Method:" #~ msgstr "Начин:" #~ msgid "Duplicated on Each Node" #~ msgstr "Удвостручен на сваком чвору" #~ msgid "Distributed Across All Nodes" #~ msgstr "Расподељен по свим чворовима" #~ msgid "words" #~ msgstr "речи" #~ msgid "Compute MP2 Properties" #~ msgstr "Израчунај својства за МП2" #~ msgid "# of Core Electrons:" #~ msgstr "бр. електрона језгра:" #~ msgid "Transformation Method" #~ msgstr "Начин трансформације" #~ msgid "Analytic" #~ msgstr "Аналитички" #~ msgid "Numeric" #~ msgstr "Бројевни" #~ msgid "Double Differenced Hessian" #~ msgstr "Хесијана диференцијала другог реда" #~ msgid "Displacement Size:" #~ msgstr "Величина размештаја:" #~ msgid "Purify Hessian" #~ msgstr "Прочисти Хесијану" #~ msgid "bohrs" #~ msgstr "бора" #~ msgid "Initial Hessian" #~ msgstr "Почетна Хесијана" #~ msgid "Guess (+ define)" #~ msgstr "Процени (+ одреди)" #~ msgid "Read (from $HESS)" #~ msgstr "Читам (из $HESS)" #~ msgid "Update Step Size" #~ msgstr "Освежи величину корака" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Испиши орбите при сваком понављању" #~ msgid "Jump Size:" #~ msgstr "Величина скока:" #~ msgid "Stationary Point" #~ msgstr "Стационарна тачка" #~ msgid "Step Size" #~ msgstr "Величина корака" #~ msgid "Maximum:" #~ msgstr "Највише:" #~ msgid "Minimum:" #~ msgstr "Најмање:" #~ msgid "Initial:" #~ msgstr "Почетно:" #~ msgid "Newton-Raphson" #~ msgstr "Њутн-Рафсон" #~ msgid "Rational Function Optimization" #~ msgstr "Оптимизација рационалне функције" #~ msgid "Quadratic Approximation" #~ msgstr "Квадратна апроксимација" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Шлегел (квази-НР)" #~ msgid "Constrained Optimization" #~ msgstr "Ограничена оптимизација" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Поново израчунај Хесијану сваког:" #~ msgid "Follow Mode:" #~ msgstr "Режим праћења:" #~ msgid "Maximum Steps:" #~ msgstr "Највише корака:" #~ msgid "GAMESS-UK Input" #~ msgstr "ГАМЕСС-УК улаз" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "ГАМЕСС-УК улаз створен Авогадром" #~ msgid "Calculation:" #~ msgstr "Прорачун:" #~ msgid "Transition State Search" #~ msgstr "Претрага стања прелаза" #~ msgid "Basis:" #~ msgstr "Основно:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Z-матрица" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "У непосредном режиму, интеграли се не чувају на диску, већ се " #~ "израчунавају по потреби.\n" #~ "На савременим системима са брзим процесорима и спорим дисковима, " #~ "непосредни је често бржи." #~ msgid "Run in direct mode:" #~ msgstr "Покрени у непосредном режиму:" #~ msgid "Gaussian Input" #~ msgstr "Улаз Гауска" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Излаз:" #~ msgid "Standard" #~ msgstr "Стандард" #~ msgid "Molden" #~ msgstr "Молден" #~ msgid "Molekel" #~ msgstr "Молекел" #~ msgid "Checkpoint:" #~ msgstr "Тачка провере:" #~ msgid "Z-matrix (compact)" #~ msgstr "z-матрица (збијена)" #~ msgid "Select the unit style to be used during the simulation." #~ msgstr "Изаберите изглед јединице који ће се користити за време симулације." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "real" #~ msgid "metal" #~ msgstr "metal" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "електрон" #~ msgid "Water Potential" #~ msgstr "Потенцијал воде" #~ msgid "NONE" #~ msgstr "НИШТА" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "Select atom_style used by the data file." #~ msgstr "Изаберите изглед атома који користи датотека података." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgid "Atom Style" #~ msgstr "Изглед атома" #~ msgid "angle" #~ msgstr "угао" #~ msgid "atomic" #~ msgstr "атомска" #~ msgid "bond" #~ msgstr "веза" #~ msgid "charge" #~ msgstr "наелектрисање" #~ msgid "dipole" #~ msgstr "дипол" #~ msgid "ellipsoid" #~ msgstr "елипсоид" #~ msgid "full" #~ msgstr "пуна" #~ msgid "line" #~ msgstr "линија" #~ msgid "meso" #~ msgstr "мезо" #~ msgid "molecular" #~ msgstr "молекуларан" #~ msgid "peri" #~ msgstr "пери" #~ msgid "sphere" #~ msgstr "сфера" #~ msgid "tri" #~ msgstr "три" #~ msgid "wavepacket" #~ msgstr "таласни пакет" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "Наведите назив који ће се користити за датотеку координата." #~ msgid "Coordinate Data File" #~ msgstr "Датотека података координата" #~ msgid "Ensemble" #~ msgstr "Заједништво" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Температура" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "Изаберите број Нозе-Хуверових ланаца у НВТ заједништву" #~ msgid "NH Chains" #~ msgstr "НХ ланци" #~ msgid "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgstr "Корак времена за симулацију у јединицама према одредби „Јединице“." #~ msgid "Time Step" #~ msgstr "Корак времена" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "Назив „XYZ“ датотеке за упис у току симулације." #~ msgid "Dump XYZ" #~ msgstr "Испиши „XYZ“" #~ msgid "Number of dimensions in the system." #~ msgstr "Број димензија у систему." #~ msgid "Dimensions" #~ msgstr "Димензије" #~ msgid "Change Z boundary style." #~ msgstr "Мења изглед Z границе." #~ msgid "p" #~ msgstr "p" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "Change Y boundary style." #~ msgstr "Мења изглед Y границе." #~ msgid "Change X boundary style." #~ msgstr "Мења изглед Х границе." #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "Изаберите изгледе границе у правцима X, Y и Z." #~ msgid "Boundary" #~ msgstr "Граница" #~ msgid "Number of replicants in X, Y and Z directions." #~ msgstr "Број удвостручених у правцима X, Y и Z." #~ msgid "Replicate" #~ msgstr "Удвостручи" #~ msgid "Replicate the X direction." #~ msgstr "Удвостручи X правац." #~ msgid "Replicate the Y direction." #~ msgstr "Удвостручи Y правац." #~ msgid "Replicate the Z direction." #~ msgstr "Удвостручи Z правац." #~ msgid "Total number of timesteps to run the simulation." #~ msgstr "Укупан број временских корака за покретање симулације." #~ msgid "Total Steps" #~ msgstr "Укупно корака" #~ msgid "Dump Interval" #~ msgstr "Период исписивања" #~ msgid "Set the initial atom velocities for the simulation." #~ msgstr "Подесите почетне брзине атома за симулацију." #~ msgid "Initial Velocities" #~ msgstr "Почетне брзине" #~ msgid "Select the distribution of initial atom velocities." #~ msgstr "Изаберите расподелу почетних брзина атома." #~ msgid "gaussian" #~ msgstr "гаусова" #~ msgid "uniform" #~ msgstr "једнолична" #~ msgid "Set the initial atom velocities to match this temperature." #~ msgstr "Подесите почетне брзине атома да одговарају овој температури." #~ msgid "Remove system linear momentum from initial velocities." #~ msgstr "Уклоните линијски моменат система из почетних брзина." #~ msgid "Zero Linear Momentum" #~ msgstr "Нулти линијски моменат" #~ msgid "Remove system angular momentum from initial velocities." #~ msgstr "Уклоните угаони моменат система из почетних брзина." #~ msgid "Zero Angular Momentum" #~ msgstr "Нулти угаони моменат" #~ msgid "Control the thermodynamic output during the simulation." #~ msgstr "Управљајте термодинамичким излазом за време симулације." #~ msgid "Output Interval" #~ msgstr "Период излаза" #~ msgid "2d" #~ msgstr "2д" #~ msgid "3d" #~ msgstr "3д" #~ msgid "Thermodynamic output style." #~ msgstr "Изглед термодинамичког излаза." #~ msgid "One Line" #~ msgstr "Једна линија" #~ msgid "Multi Line" #~ msgstr "Више линија" #~ msgid "" #~ "\n" #~ "\n" #~ "

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

" #~ msgid "MOLPRO Input" #~ msgstr "Улаз МОЛПРО-а" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Издање Молпро-а:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Улаз МОПАК-а" #~ msgid "Quartet" #~ msgstr "Квартет" #~ msgid "Quintet" #~ msgstr "Квинтет" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Улаз НВХемије" #~ msgid "Psi4 Input" #~ msgstr "Улаз Пси4" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Улаз Ку-Хемије" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "Улаз Тера-Хемије" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Неограничено" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "не" #~ msgid "yes" #~ msgstr "да" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Расипање:" #~ msgid "Load Shaders" #~ msgstr "Учитај нијансере" #~ msgid "Shader Name:" #~ msgstr "Назив нијансера:" #~ msgid "Vertex Shader:" #~ msgstr "Нијансер врхунца" #~ msgid "Fragment Shader:" #~ msgstr "Нијансер одломка:" #~ msgid "Assign Shader" #~ msgstr "Додели нијансера" #~ msgid "Display Type:" #~ msgstr "Врста приказа:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Контроле:\n" #~ "Двоструки леви тастер: Враћа основна ограничења осе\n" #~ "Десни тастер + превлачење: Премешта графикон\n" #~ "Средњи тастер + превлачење: Зумира област\n" #~ "Окретање точкића: Зумира на курзор" #~ msgid "&Load data..." #~ msgstr "&Учитај податке..." #~ msgid "&Close" #~ msgstr "&Затвори" #~ msgid "Calculated Spectra:" #~ msgstr "Израчунати спектар:" #~ msgid "Set Color..." #~ msgstr "Подеси боју..." #~ msgid "Imported Spectra:" #~ msgstr "Увезени спектар:" #~ msgid "Font:" #~ msgstr "Писмо:" #~ msgid "Change Font..." #~ msgstr "Измени словни лик..." #~ msgid "Show" #~ msgstr "Прикажи" #~ msgid "&Import..." #~ msgstr "&Увези..." #~ msgid "Background:" #~ msgstr "Позадина:" #~ msgid "Foreground:" #~ msgstr "Прочеље:" #~ msgid "New..." #~ msgstr "Ново..." #~ msgid "Rename..." #~ msgstr "Преименуј..." #~ msgid "&Schemes:" #~ msgstr "&Шеме:" #~ msgid "&Export..." #~ msgstr "&Извези..." #~ msgid "&DPI:" #~ msgstr "&ТПИ:" #~ msgid "&Width:" #~ msgstr "&Ширина:" #~ msgid "&Height" #~ msgstr "&Висина" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "инча" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Сачувај слику..." #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Сам дотерај величину &слова" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Извези податке" #~ msgid "Spectra Tab" #~ msgstr "Језичак спектра" #~ msgid "&Gaussian Width:" #~ msgstr "&Гаусова ширина:" #~ msgid "Rotatory Strength type:" #~ msgstr "Врста јачине окретања:" #~ msgid "Energy units:" #~ msgstr "Јединице енергије:" #~ msgid "Density units" #~ msgstr "Јединице густине:" #~ msgid "Fermi Energy: " #~ msgstr "Фермијева енергија: " #~ msgid "States / Cell" #~ msgstr "Стања / Ћелија" #~ msgid "States / Atom" #~ msgstr "Стања / Атом" #~ msgid "States / Valence electron" #~ msgstr "Стања / Валентни електрон" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "Фермијева енергија на нули" #~ msgid "Scale integrated DOS" #~ msgstr "Сразмери обједињени ДОС" #~ msgid "Show integrated DOS" #~ msgstr "Прикажи обједињени ДОС" #~ msgid "&Y Axis Units:" #~ msgstr "Јединице &Y осе:" #~ msgid "Scaling Type:" #~ msgstr "Врста сразмеравања:" #~ msgid "Linear" #~ msgstr "Линеарно" #~ msgid "Relative" #~ msgstr "Релативно" #~ msgid "Scale &Factor:" #~ msgstr "Чинилац &сразмере:" #~ msgid "Temperature:" #~ msgstr "Температура:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Таласни број ласера:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "Осетљивост:" #~ msgid "Nucleus:" #~ msgstr "Језгро:" #~ msgid "&Reference:" #~ msgstr "&Упута:" #~ msgid "Gaussian &Width:" #~ msgstr "Гаусова &ширина:" #~ msgid "Reset &Plot Axes" #~ msgstr "Поврати осе &графикона" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Вибрације молекула" #~ msgid "Filter: " #~ msgstr "Пропусник: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Активност (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "&Прикажи спектар..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "више вибрације учесталости приказаће брже покрете" #~ msgid "Animation speed set by frequency" #~ msgstr "Брзина анимације подешена учесталошћу" #~ msgid "Display force &vectors" #~ msgstr "Прикажи &векторе силе" #~ msgid "&Normalize displacements" #~ msgstr "&Нормализуј размештај" #~ msgid "Generate Cell" #~ msgstr "Направи ћелију" #~ msgid "&Recalculate All" #~ msgstr "&Поново израчунај све" #~ msgid "Default &Quality:" #~ msgstr "Основни &квалитет:" #~ msgid "Show occupied orbitals first" #~ msgstr "Прво прикажи заузете орбитале" #~ msgid "Limit orbital precalculations to " #~ msgstr "Ограничи предпрорачуне орбитале на " #~ msgid "Quality: " #~ msgstr "Квалитет: " #~ msgid "Create Surfaces" #~ msgstr "Направи површине" #~ msgid "Surface Type:" #~ msgstr "Врста површине:" #~ msgid "Color By:" #~ msgstr "Обој према:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Ниска" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Средња" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Висока" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Врло висока" #~ msgid "Iso Value:" #~ msgstr "Исо вредност:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "У врсту приказа:" #~ msgid "New Display" #~ msgstr "Нови приказ" #~ msgid "Advanced..." #~ msgstr "Напредно..." #~ msgid "&n:" #~ msgstr "&n:" #~ msgid "&m:" #~ msgstr "&m:" #~ msgid "&Length:" #~ msgstr "&Дужина:" #~ msgid "Uni&t:" #~ msgstr "&Јединица:" #~ msgid "periodic units" #~ msgstr "јединица периоде" #~ msgid "angstrom" #~ msgstr "ангстром" #~ msgid "nanometers" #~ msgstr "нанометри" #~ msgid "picometers" #~ msgstr "пикометри" #~ msgid "Find &double bonds" #~ msgstr "Нађи &двоструке везе" #~ msgid "Molecular Symmetry" #~ msgstr "Симетрија молекула" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Преведи преко:" #~ msgid "X-axis" #~ msgstr "X осе" #~ msgid "Y-axis" #~ msgstr "Y осе" #~ msgid "Z-axis" #~ msgstr "Z осе" #~ msgid "Rotate around:" #~ msgstr "Окрећи око:" #~ msgid "Origin" #~ msgstr "Порекло" #~ msgid "Geometry" #~ msgstr "Геометрија" #~ msgid "Display visual cues" #~ msgstr "Прикажи видне знаке" #~ msgid "Python Settings" #~ msgstr "Подешавања Питона" #~ msgid "Z Matrix Editor" #~ msgstr "Уређивач Z-матрице" #~ msgid "Import Selected Atoms" #~ msgstr "Увези изабране атоме" avogadrolibs-1.93.0/i18n/sv.po000066400000000000000000003263721360735163600160560ustar00rootroot00000000000000# Swedish translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:44+0000\n" "Last-Translator: Dostojevskji \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Okänd" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, qt-format msgid "Submit %1 Calculation" msgstr "" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 msgid "Hide &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr " Visa vinklar" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, qt-format msgid "Failed to write to file %1." msgstr "" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 msgid "Calculation Type" msgstr "" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 msgid "No program selected." msgstr "" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Väte" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Litium" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Kol" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Kväve" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Syre" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Natrium" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminium" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Kisel" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Svavel" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Klor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Kalium" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kalcium" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skandium" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titan" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadin" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Krom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Mangan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Järn" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobolt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nickel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Koppar" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zink" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenik" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selen" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niob" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybden" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Teknetium" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenium" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodium" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Silver" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmium" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Tenn" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellur" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Jod" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cesium" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerium" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodym" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodym" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometium" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tulium" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Volfram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhenium" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "platina" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Guld" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Kvicksilver" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Tallium" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Bly" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Vismut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astat" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktinium" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Torium" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktinium" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uran" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Einsteinium" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohrium" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Röntgenium" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicium" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirkonium" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovium" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermorium" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 msgid "Select file:" msgstr "" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 msgid "All files (*);;" msgstr "" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 msgid "Untitled" msgstr "" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Okänd" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Rita atom" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Gundämne:" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Dölj väte" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Rita bindning" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Bindningsordning:" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Låsande bindningar" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Rita bindning" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Arkiv" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Exportera" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "&Extensions" msgstr "" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 msgid "IO Error" msgstr "" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 msgid "Success" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Väte" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Renderar atom- och bindningsetiketter" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 msgid "Bond Atoms" msgstr "" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Dölj väte" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "&Arkiv" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 msgid "Invalid element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Gundämne:" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 msgid "Invalid element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Gundämne:" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 msgid "Invalid atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 msgid "Invalid coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Dostojevskji, ,Launchpad Contributions:," "Dostojevskji, ,Launchpad Contributions:,Dostojevskji, ,Launchpad " "Contributions:,Dostojevskji, ,Launchpad Contributions:,Dostojevskji, ," "Launchpad Contributions:,Dostojevskji, ,Launchpad Contributions:," "Dostojevskji, ,Launchpad Contributions:,Dostojevskji, ,Launchpad " "Contributions:,Dostojevskji, ,Launchpad Contributions:,Dostojevskji, ," "Launchpad Contributions:,Alexander Andjelkovic,Arve Eriksson,Daniel Nylander," "Dostojevskji,Peter Sahlin, ,Launchpad Contributions:,Alexander Andjelkovic," "Arve Eriksson,Daniel Nylander,Dostojevskji,Peter Sahlin, ,Launchpad " "Contributions:,Alexander Andjelkovic,Arve Eriksson,Daniel Nylander," "Dostojevskji,Peter Sahlin" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Renderar atom- och bindningsetiketter" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Färg efter grundämne" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Rita" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Rita atom" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Dölj väte" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Avstånd:" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Avstånd:" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Auto Optimering" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Enkel" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Dubbel" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Trippel" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 msgid "GAMESS input" msgstr "" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Enkel" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 msgid "Submit GAMESS Calculation" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Visa väte" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Visa väte" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Dölj väte" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Dölj väte" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Väte" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Väte" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Importera" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Renderar atom- och bindningsetiketter" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Infoga" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Mät" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr " Visa vinklar" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Mät" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Vy" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Optimera geometri" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Visa väte" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Visa väte för pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Dölj väte" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Optimera geometri" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Optimera geometri" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Visa väte" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Visa väte för pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Dölj väte" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Koppar" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Exportera vektorgrafik" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "" #: qtplugins/playertool/playertool.cpp:234 #, qt-format msgid "Cannot save file %1." msgstr "" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 msgid "Error: " msgstr "" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 msgid "POV-Ray Render" msgstr "" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 msgid "Save File" msgstr "" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 msgid "Calculating electron density" msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 msgid "Select All" msgstr "" #: qtplugins/select/select.cpp:39 msgid "Select None" msgstr "" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "Infoga peptid" #: qtplugins/select/select.cpp:59 msgid "Change selections" msgstr "" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 msgid "Select" msgstr "" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 msgid "Selection tool" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 msgid "Avogadro2" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Färg efter grundämne" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Renderar molekylära dipolmoment" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals-sfärer" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) msgid "Calculation Settings" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) msgid "Submit Calculation..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Gundämne:" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) msgid "Ctrl+C" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) msgid "Ctrl+E" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Kraftfält:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) msgid "Save Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "In&ställningar" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "File name:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Avstånd:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Gundämne:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Bindningsordning:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Save File..." msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Formula:" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Molekyldynamik (300 K)" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Auto Optimering" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Kraftfält:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Auto Optimering" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Auto Rotera" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Antalet atomer: %1" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download Selected" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) msgid "Surface Dialog" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Surface:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Animering..." #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Animering..." #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "x rotation" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Dostojevskji, ,Launchpad Contributions:," "Dostojevskji, ,Launchpad Contributions:,Dostojevskji, ,Launchpad " "Contributions:,Dostojevskji, ,Launchpad Contributions:,Dostojevskji, ," "Launchpad Contributions:,Dostojevskji, ,Launchpad Contributions:," "Dostojevskji, ,Launchpad Contributions:,Dostojevskji, ,Launchpad " "Contributions:,Dostojevskji, ,Launchpad Contributions:,Dostojevskji, ," "Launchpad Contributions:,Alexander Andjelkovic,Arve Eriksson,Daniel Nylander," "Dostojevskji,Peter Sahlin, ,Launchpad Contributions:,Alexander Andjelkovic," "Arve Eriksson,Daniel Nylander,Dostojevskji,Peter Sahlin, ,Launchpad " "Contributions:,Alexander Andjelkovic,Arve Eriksson,Daniel Nylander," "Dostojevskji,Peter Sahlin" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,darkangel_nr1@hotmail.com,,,darkangel_nr1@hotmail.com,,," "darkangel_nr1@hotmail.com,,,darkangel_nr1@hotmail.com,,," "darkangel_nr1@hotmail.com,,,darkangel_nr1@hotmail.com,,," "darkangel_nr1@hotmail.com,,,darkangel_nr1@hotmail.com,,," "darkangel_nr1@hotmail.com,,,darkangel_nr1@hotmail.com,,,,,yeager@ubuntu.com," "darkangel_nr1@hotmail.com,,,,,,yeager@ubuntu.com,darkangel_nr1@hotmail." "com,,,,,,yeager@ubuntu.com,darkangel_nr1@hotmail.com," #~ msgid "Color by Index" #~ msgstr "Färg efter index" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Färg efter index (röd, orange, gul, grön, blå, violett)." #~ msgid "Color by Partial Charge" #~ msgstr "Färg efter partiell laddning" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "Färg efter atomär partiell laddning (blå = positiv, röd = negativ." #~ msgid "Custom Color:" #~ msgstr "Anpassa färg:" #~ msgid "Custom Color" #~ msgstr "Anpassa färg" #~ msgid "Set custom colors for objects" #~ msgstr "Anpassa färg för objekt" #~ msgid "Color by Distance" #~ msgstr "Färg efter avstånd" #~ msgid "Color by distance from the first atom." #~ msgstr "Färg efter avstånd från första atomen." #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Färg efter grundämne (kol = grå, syre = röd, ...)." #~ msgid "Color by Residue" #~ msgstr "Färg efter rest" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Färg efter rest (aminosyrasort, hydrofobicitet, ..." #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS-mönster:" #~ msgid "Highlight Color:" #~ msgstr "Markeringsfärg:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Färg efter SMARTS-mönster" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Markera speciella funktioner som matchar ett SMARTS-mönster." #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Axes" #~ msgstr "Axlar" #~ msgid "Cartoon" #~ msgstr "Avbild" #~ msgid "Renders protein secondary structure" #~ msgstr "Renderar proteinets sekundära struktur" #~ msgid "Dipole" #~ msgstr "två polig" #~ msgid "Force" #~ msgstr "Kraft" #~ msgid "Hydrogen Bond" #~ msgstr "Vätebindning" #~ msgid "Renders hydrogen bonds" #~ msgstr "Renderar vätebindningar" #~ msgid "Label" #~ msgstr "Etikett" #~ msgid "Polygon" #~ msgstr "Polygon" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Renderar atomer som tetraedrar, oktaedrar, och andra polygoner" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Rednerar atomer som van der Waals-sfärer" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Antalet vridbara bindningar: %1" #~ msgid "Add constraint" #~ msgstr "Lägg till restriktion" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Din molekyl ska innehålla minst en atom för att kunna lägga till en " #~ "restriktion" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Din molekyl ska innehålla minst två atomer för att kunna lägga till en " #~ "restriktion för bindningen" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Din molekyl ska innehålla minst tre atomer för att kunna lägga till en " #~ "restriktion för vinkeln" #~ msgid "&Length Unit" #~ msgstr "&Längdenhet" #~ msgid "&Angle Unit" #~ msgstr "&Vinkelenhet" #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Vektorgrafikexport" #~ msgid "Change H to Methyl" #~ msgstr "Ändra H till metyl" #~ msgid "H to Methyl" #~ msgstr "H till metyl" #~ msgid "Add or remove hydrogens" #~ msgstr "Visa eller dölj väte" #~ msgid "Insert SMILES" #~ msgstr "Infoga SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Infoga SMILES-fragment:" #~ msgid "Insert Fragment" #~ msgstr "Infoga fragment" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Infoga molekylfragment för att bygga större molekyler" #~ msgid "Peptide..." #~ msgstr "Peptid..." #~ msgid "Insert oligopeptide sequences" #~ msgstr "Infoga oligopeptidsekvenser" #~ msgid "Molecule Properties..." #~ msgstr "Molekylegenskaper..." #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "okänd" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Uppskattat dipolmoment (D):" #~ msgid "Axis:" #~ msgstr "Axel:" #~ msgid "Align:" #~ msgstr "Räta upp" #~ msgid "Everything" #~ msgstr "Allting" #~ msgid "Align" #~ msgstr "Rada upp" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "Automatisk optimering: Kunde inte ställa in kraftfält..." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Steps per Update:" #~ msgstr "Steg per uppdatering:" #~ msgid "Algorithm:" #~ msgstr "Algoritm:" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Molekyldynamik (600 K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Molekyldynamik (900 K)" #~ msgid "Fixed atoms are movable" #~ msgstr "Fasta atomer är flyttbara" #~ msgid "Ignored atoms are movable" #~ msgstr "Ignorerade atomer är flyttbara" #~ msgid "Auto Rotation Tool" #~ msgstr "Automatiskt rotationsverktyg" #~ msgid "x rotation:" #~ msgstr "x rotation:" #~ msgid "y rotation:" #~ msgstr "Y-rotation:" #~ msgid "y rotation" #~ msgstr "y rotation" #~ msgid "z rotation:" #~ msgstr "z rotation:" #~ msgid "z rotation" #~ msgstr "z rotation" #~ msgid "Snap-to Threshold: " #~ msgstr "Lås till tröskel: " #~ msgid "0/0" #~ msgstr "0/0" #~ msgid "fps" #~ msgstr "fps" avogadrolibs-1.93.0/i18n/th.po000066400000000000000000003042521360735163600160320ustar00rootroot00000000000000# Thai translation for avogadro # Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2015. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:42+0000\n" "Last-Translator: Rockworld \n" "Language-Team: Thai \n" "Language: th\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, qt-format msgid "Submit %1 Calculation" msgstr "" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 msgid "Hide &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:390 msgid "Show &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, qt-format msgid "Failed to write to file %1." msgstr "" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 msgid "Calculation Type" msgstr "" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 msgid "No program selected." msgstr "" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 msgid "Nihonium" msgstr "" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 msgid "Select file:" msgstr "" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 msgid "All files (*);;" msgstr "" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 msgid "Untitled" msgstr "" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 msgid "Unknown error." msgstr "" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 msgid "Clear Atoms" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 msgid "Change Elements" msgstr "" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 msgid "Removed Bond" msgstr "" #: qtgui/rwmolecule.cpp:758 msgid "Clear Bonds" msgstr "" #: qtgui/rwmolecule.cpp:793 msgid "Set Bond Orders" msgstr "" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 msgid "Update Bond" msgstr "" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 msgid "&Export" msgstr "" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "&Extensions" msgstr "" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 msgid "IO Error" msgstr "" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 msgid "Success" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 msgid "Show hydrogens?" msgstr "" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "" #: qtplugins/ballandstick/ballandstick.h:47 msgid "Render atoms as spheres and bonds as cylinders." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 msgid "Bond Atoms" msgstr "" #: qtplugins/bonding/bonding.cpp:43 msgid "Remove Bonds" msgstr "" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 msgid "Filename" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 msgid "Invalid element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 msgid "Element name." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 msgid "Invalid element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 msgid "Element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 msgid "Invalid atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 msgid "Invalid coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Rockworld, ,Launchpad Contributions:,Rockworld, ," "Launchpad Contributions:,Rockworld" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 msgid "Custom Elements" msgstr "" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 msgid "Remove Bond" msgstr "" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 msgid "Distance:" msgstr "" #: qtplugins/editor/editor.cpp:235 #, qt-format msgid "Distance: %L1 Å" msgstr "" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 msgid "GAMESS input" msgstr "" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 msgid "Single Point" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 msgid "Submit GAMESS Calculation" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:33 msgid "&Adjust Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 msgid "Remove E&xtra Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:46 msgid "&Remove All Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 msgid "&Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 msgid "&Import" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 msgid "Render atoms as licorice." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 msgid "Angles:" msgstr "" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 msgid "Navigate tool" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 msgid "Add hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:77 msgid "Add hydrogens for pH..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:83 msgid "Remove hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 msgid "Adding Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "Add hydrogens for pH" msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "pH:" msgstr "" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 msgid "Stopped" msgstr "" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "" #: qtplugins/playertool/playertool.cpp:234 #, qt-format msgid "Cannot save file %1." msgstr "" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 msgid "Error: " msgstr "" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 msgid "POV-Ray Render" msgstr "" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 msgid "Save File" msgstr "" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 msgid "Calculating electron density" msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 msgid "Select All" msgstr "" #: qtplugins/select/select.cpp:39 msgid "Select None" msgstr "" #: qtplugins/select/select.cpp:48 msgid "Invert Selection" msgstr "" #: qtplugins/select/select.cpp:59 msgid "Change selections" msgstr "" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 msgid "Select" msgstr "" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 msgid "Selection tool" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 msgid "Avogadro2" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 msgid "Symmetry Elements" msgstr "" #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 msgid "Van der Waals (AO)" msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) msgid "Calculation Settings" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) msgid "Submit Calculation..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) msgid "Rename Elements" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) msgid "Ctrl+C" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) msgid "Ctrl+E" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) msgid "Save Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) msgid "Load Cube File" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) msgid "Navigate Back" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) msgid "Navigate Forward" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) msgid "Navigate Up" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "File name:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Distance Unit:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Save File..." msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Formula:" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Molecular Mass (g/mol):" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Number of points:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download Selected" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) msgid "Surface Dialog" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Surface:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) msgid "Start Animation" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) msgid "Stop Animation" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) msgid "Operations" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Rockworld, ,Launchpad Contributions:,Rockworld, ," "Launchpad Contributions:,Rockworld" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr ",,sumoisrock@gmail.com,,,sumoisrock@gmail.com,,,sumoisrock@gmail.com" #~ msgid "Custom Color:" #~ msgstr "กำหนดสีเอง:" #~ msgid "Custom Color" #~ msgstr "กำหนดสีเอง" avogadrolibs-1.93.0/i18n/tr.po000066400000000000000000004232711360735163600160470ustar00rootroot00000000000000# Turkish translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:42+0000\n" "Last-Translator: haydar \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Girdi Üreteci..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Girdi Üreteci..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Bilinmeyen" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Hesaplamayı İptal Et" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 msgid "Hide &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:390 msgid "Show &Warnings" msgstr "" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Çözücü Seç" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 msgid "Output Error" msgstr "" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Dosyaya yazılamıyor." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Başlık" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 msgid "Filename Base" msgstr "" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Hesaplamayı İptal Et" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 msgid "[no molecule]" msgstr "" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Herhangi Bir Atom Seçilmedi" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hidrojen" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helyum" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lithyum" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Berilyum" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bor" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Karbon" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrojen" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oksijen" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Flor" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodyum" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnezyum" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Alüminyum" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silisyum" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Fosfor" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Kükürt" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Klor" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potasyum" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Kalsiyum" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Skandiyum" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanyum" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadyum" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Krom" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganez" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Demir" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Kobalt" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nikel" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Bakır" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Çinko" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Galyum" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanyum" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenik" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenyum" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brom" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Kripton" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidyum" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Stronsiyum" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "İtriyum" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirkonyum" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niyobyum" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molibden" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Teknetyum" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Rutenyum" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rodyum" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladyum" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Gümüş" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Kadmiyum" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "İndiyum" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Kalay" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Antimon" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellür" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "İyot" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ksenon" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Sezyum" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Baryum" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Seryum" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodim" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodim" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prometyum" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samaryum" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Evropyum" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinyum" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbiyum" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Disporsiyum" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmiyum" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbiyum" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Tülyum" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "İterbiyum" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutesyum" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafniyum" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantal" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungsten" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Renyum" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmiyum" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "İridyum" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platin" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Altın" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Cıva" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Talyum" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Kurşun" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bizmut" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Plonyum" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astatin" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Fransiyum" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radyum" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Aktinyum" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Toryum" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protaktinyum" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranyum" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptünyum" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonyum" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Amerikyum" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Küriyum" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelyum" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Kaliforniyum" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Aynştaynyum" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermiyum" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevyum" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelyum" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lavrensiyum" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherdfordyum" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubniyum" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgiyum" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohriyum" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassiyum" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitneriyum" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtiyum" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Röntgenyum" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Kopernikyum" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirkonyum" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Flerovyum" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Livermoryum" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 msgid "Browse" msgstr "" #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Çözücü Seç" #: qtgui/filebrowsewidget.cpp:114 msgid "Select executable:" msgstr "" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Tüm Dosyalar" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "Başlık" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Periyodik Cetvel" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03 başlatılamadı." #: qtgui/pythonscript.cpp:142 msgid "Script crashed." msgstr "" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 msgid "Read error." msgstr "" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Bilinmeyen" #: qtgui/rwmolecule.cpp:48 msgid "Modify Molecule" msgstr "" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Atomu Kaldır" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Atom Başlat" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Element" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Atomu Kaldır" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Bağ Çiz" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Bağ SIrası" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Bağ Çiz" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Ekle &Birim Hücre" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Kaldır &Birim Hücre" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Birim Hücreyi Doldur" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "&Atomları Hücreye Sar" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Birim Hücre Hacmi Uyarla" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Standart Yerleşime Döndür" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Primitif Hücreye İndirge" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Kristali Simetrikleştir" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Birim Hücreyi Doldur" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Asimetrik Birime İndirge" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Dosya" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Dışa Aktar" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Parametre dosyası aç" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Genişletmeler" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 msgid "IO Error" msgstr "" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "%1 eğri dosyasını okurken sorun" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 msgid "OpenDX Error" msgstr "" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "%1 eğri dosyasını okurken sorun" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Açık Yörünge Dosyası" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Açık Yörünge Dosyası" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 msgid "Success" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Hidrojenler" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Top ve Çubuk" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Atom ve bağ etiketlerini kaplar" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Atom Bitir" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Hidrojenleri Kaldır" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "İnşa Et" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Simetri operasyonları için tolerans..." #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Geçersiz Dosya Adı" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Kartezyen koordinatları editörü" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Kartezyen koordinatları editörü" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Geçersiz Dosya Adı" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Element" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Geçersiz Dosya Adı" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Element" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Geçersiz Dosya Adı" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Geçersiz Dosya Adı" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Göster &Kartezyen Koordinatlar" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Osman Tosun,Yahuda,aLsanCaK,hknrgl, ,Launchpad " "Contributions:,Osman Tosun,huseyinkozan, ,Launchpad Contributions:,Efe " "Çiftci,Osman Tosun,hayrettin çevik,huseyinkozan, ,Launchpad Contributions:," "Efe Çiftci,Mustafa Yılmaz,Osman Tosun,Serdar Delican,Yiğit Ateş,hayrettin " "çevik,huseyinkozan, ,Launchpad Contributions:,Can Bülbül,Efe Çiftci,Mustafa " "Yılmaz,Osman Tosun,Serdar Delican,Yiğit Ateş,hayrettin çevik,huseyinkozan, ," "Launchpad Contributions:,Can Bülbül,Devrim Şahin,Efe Çiftci,Mustafa Yılmaz," "Osman Tosun,Yiğit Ateş,efuyam,hayrettin çevik,huseyinkozan, ,Launchpad " "Contributions:,Can Bülbül,Devrim Şahin,Efe Çiftci,Mustafa Yılmaz,Osman Tosun," "Yiğit Ateş,efuyam,hayrettin çevik,huseyinkozan, ,Launchpad Contributions:," "Can Bülbül,Devrim Şahin,Efe Çiftci,Engin BAHADIR,Mustafa Yılmaz,Osman Tosun," "Yiğit Ateş,efuyam,hayrettin çevik,huseyinkozan, ,Launchpad Contributions:," "Avogadro Team,Can Bülbül,Devrim Şahin,Efe Çiftci,Engin BAHADIR,Mustafa " "Yılmaz,Osman Tosun,Yiğit Ateş,efuyam,hayrettin çevik,huseyinkozan, ," "Launchpad Contributions:,Avogadro Team,Can Bülbül,Devrim Şahin,Efe Çiftci," "Engin BAHADIR,Mustafa Yılmaz,Osman Tosun,Yiğit Ateş,efuyam,hayrettin çevik," "huseyinkozan, ,Launchpad Contributions:,Avogadro Team,Can Bülbül,Devrim " "Şahin,Ebru Ersoy,Efe Çiftci,Enes Ateş,Engin BAHADIR,Fatih Bostancı,Hüseyin " "Kozan,Kudret EMRE,Mesut Yaver,Mustafa Yılmaz,Osman Tosun,Serdar Delican," "Sinan Özgün,Yiğit Ateş,can kaçan,hayrettin çevik,kulkke,ozan,ubuntuki,yasin " "özdemir, ,Launchpad Contributions:,Avogadro Team,Can Bülbül,Devrim Şahin," "Ebru Ersoy,Efe Çiftci,Enes Ateş,Engin BAHADIR,Fatih Bostancı,Hüseyin Kozan," "Kudret EMRE,Mesut Yaver,Mustafa Yılmaz,Osman Tosun,Serdar Delican,Sinan " "Özgün,Yiğit Ateş,can kaçan,haydar,hayrettin çevik,kulkke,ozan,ubuntuki,yasin " "özdemir, ,Launchpad Contributions:,Avogadro Team,Can Bülbül,Devrim Şahin," "Ebru Ersoy,Efe Çiftci,Enes Ateş,Engin BAHADIR,Fatih Bostancı,Hüseyin Kozan," "Kudret EMRE,Mesut Yaver,Mustafa Yılmaz,Osman Tosun,Serdar Delican,Sinan " "Özgün,Yiğit Ateş,can kaçan,haydar,hayrettin çevik,kulkke,ozan,ubuntuki,yasin " "özdemir" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Kartezyen koordinatları editörü" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP Bilgisi" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP Bilgisi" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 msgid "Cut" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Format atanamadı: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Format atanamadı: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "&Panodan Kristal Al" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Birim Hücreyi Doldur" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Birim Hücreyi Doldur" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "&Atomları Hücreye Sar" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Standart Yerleşime Döndür" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Hücreyi %Hacme... Uyarla" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Hücre İndirge (&Niggli)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "&Kristalografi" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Kaldır &Birim Hücre" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Ekle &Birim Hücre" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "Bu birim hücre zaten standart Niggli gösterimine indirgenmiş." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Kristal Yapıştır" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Atom ve bağ etiketlerini kaplar" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Elemente Göre Renklendir" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Çiz" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Atomu Kaldır" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Uzaklığa göre Renklendir" #: qtplugins/editor/editor.cpp:235 #, qt-format msgid "Distance: %L1 Å" msgstr "" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 msgid "Scripts" msgstr "" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "%1 eğri dosyasını okurken sorun" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Girdi Üreteci..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "&Açı Birimi" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Hesaplamayı İptal Et" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Hidrojenleri Ekle" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Hidrojenleri Ekle" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Hidrojenleri Kaldır" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Hidrojenleri Kaldır" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Hidrojenler" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Hidrojenler" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "İçe Aktar" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Atom ve bağ etiketlerini kaplar" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Ekle" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 msgid "No descriptors found!" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 msgid "Insert Molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Açı %1" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "moleküler eşyüzey ağı oluşturur" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Görünüm" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Molekül Özellikleri" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Gezinme" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Gezinme" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Kimyasal Ad" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "İndirme işlemi için kimyasal yapı" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Ağdan İndirme Başarısız" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Ağ zaman aşımı veya başka bir hata." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Belirtilen molekül bulunamadı : %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Ağdan İndirme Başarısız" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "Geometriyi &Optimize Et" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Geometrik Optimizasyon" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Uzay Grubu Algıla" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Hidrojenleri Ekle" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "pH için Hidrojenleri Ekle..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Hidrojenleri Kaldır" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "Geometriyi &Optimize Et" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "%1 eğri dosyasındaki atom sayısı şimdiki moleküldeki atom sayısıyla " "uyuşmuyor." #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "Geometriyi &Optimize Et" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Hidrojenleri Ekle" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "pH için Hidrojenleri Ekle" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Hidrojenleri Kaldır" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "" #: qtplugins/playertool/playertool.cpp:82 msgid "Frame rate:" msgstr "" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Bakır" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "%1 dosyası okunamıyor." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 msgid "Error: " msgstr "" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Video Dosyası Kaydet" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM (MAKT)" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "QTAIM özellikleri ile en basit öğeleri işler." #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "&Eklentiler" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Kuantum kimya paketleri için girdi dosyaları yarat" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Elektron Yoğunluğu Hesaplanıyor" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Elektron Yoğunluğu Hesaplanıyor" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Molekül yörüngesi ve diğer yüzeyleri hesapla" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 msgid "ResetView" msgstr "" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "&Seç" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Seçimler" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "Seçimi &Ters Çevir" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Seçimler" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Seç" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Seç" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Seçimler" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Uzay Grubu Algıla" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Asimetrik Birime İndirge" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "Uzay&grubu" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Uzay Grubu algılama başarısız oldu.\n" "Farklı bir tolerans ile tekrar denemek ister misiniz?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Uzay Grubu algılama başarısız oldu.\n" "Farklı bir tolerans ile tekrar denemek ister misiniz?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Uzay Grubu algılama başarısız oldu.\n" "Farklı bir tolerans ile tekrar denemek ister misiniz?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Uzay Grubu algılama başarısız oldu.\n" "Farklı bir tolerans ile tekrar denemek ister misiniz?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "Kartezyen birimleri için tolerans seç:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Uluslararası" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Hall" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Hermann-Mauguin" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Uzaygrubu seç" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "Uzay&grubu" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Moleküler titreşimler" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Göster &Kesirli Koordinatlar" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Tip" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Element" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Element ile Seç..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Moleküler çift Kutuplu aralığı kaplar" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals Küreleri" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 msgid "VRML Render" msgstr "" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Telekafes" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Molekülleri çubuklar olarak kaplar" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Elektron Yoğunluğu Hesaplanıyor" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Hesaplamayı İptal Et" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Element" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Video Dosyası Kaydet" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Dosya yükle..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "&Ayarlar" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) msgid "&Hostname:" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Gezinme" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Gezinme" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Gezinme" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Kalan İsmi" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "Tamam" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "İptal" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Kartezyen koordinatları editörü" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Preset:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Distance Unit:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) msgid "Supercell Parameters" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Sakla &Editörleri" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Göster &Kesirli Matris" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Atomları Çevir" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Birim Hücre Hacmi Uyarla" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Yeni hacim gir:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Filename Base:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Dosya yükle..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "isim" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Biçim:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Descriptor:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "&Moleküler Mekanik" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Geometrik Optimizasyon" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Kuvvet Alanı" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Conjugate Gradient" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, eşyüzey = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) msgid " units" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Atom sayısı: %1" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Herhangi Bir Atom Seçilmedi" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Yüzeyler" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Yüzeyler" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Yüzeyler" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Animasyon" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Animasyon" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Uluslararası" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "Uzay&grubu" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Osman Tosun,Yahuda,aLsanCaK,hknrgl, ,Launchpad " "Contributions:,Osman Tosun,huseyinkozan, ,Launchpad Contributions:,Efe " "Çiftci,Osman Tosun,hayrettin çevik,huseyinkozan, ,Launchpad Contributions:," "Efe Çiftci,Mustafa Yılmaz,Osman Tosun,Serdar Delican,Yiğit Ateş,hayrettin " "çevik,huseyinkozan, ,Launchpad Contributions:,Can Bülbül,Efe Çiftci,Mustafa " "Yılmaz,Osman Tosun,Serdar Delican,Yiğit Ateş,hayrettin çevik,huseyinkozan, ," "Launchpad Contributions:,Can Bülbül,Devrim Şahin,Efe Çiftci,Mustafa Yılmaz," "Osman Tosun,Yiğit Ateş,efuyam,hayrettin çevik,huseyinkozan, ,Launchpad " "Contributions:,Can Bülbül,Devrim Şahin,Efe Çiftci,Mustafa Yılmaz,Osman Tosun," "Yiğit Ateş,efuyam,hayrettin çevik,huseyinkozan, ,Launchpad Contributions:," "Can Bülbül,Devrim Şahin,Efe Çiftci,Engin BAHADIR,Mustafa Yılmaz,Osman Tosun," "Yiğit Ateş,efuyam,hayrettin çevik,huseyinkozan, ,Launchpad Contributions:," "Avogadro Team,Can Bülbül,Devrim Şahin,Efe Çiftci,Engin BAHADIR,Mustafa " "Yılmaz,Osman Tosun,Yiğit Ateş,efuyam,hayrettin çevik,huseyinkozan, ," "Launchpad Contributions:,Avogadro Team,Can Bülbül,Devrim Şahin,Efe Çiftci," "Engin BAHADIR,Mustafa Yılmaz,Osman Tosun,Yiğit Ateş,efuyam,hayrettin çevik," "huseyinkozan, ,Launchpad Contributions:,Avogadro Team,Can Bülbül,Devrim " "Şahin,Ebru Ersoy,Efe Çiftci,Enes Ateş,Engin BAHADIR,Fatih Bostancı,Hüseyin " "Kozan,Kudret EMRE,Mesut Yaver,Mustafa Yılmaz,Osman Tosun,Serdar Delican," "Sinan Özgün,Yiğit Ateş,can kaçan,hayrettin çevik,kulkke,ozan,ubuntuki,yasin " "özdemir, ,Launchpad Contributions:,Avogadro Team,Can Bülbül,Devrim Şahin," "Ebru Ersoy,Efe Çiftci,Enes Ateş,Engin BAHADIR,Fatih Bostancı,Hüseyin Kozan," "Kudret EMRE,Mesut Yaver,Mustafa Yılmaz,Osman Tosun,Serdar Delican,Sinan " "Özgün,Yiğit Ateş,can kaçan,haydar,hayrettin çevik,kulkke,ozan,ubuntuki,yasin " "özdemir, ,Launchpad Contributions:,Avogadro Team,Can Bülbül,Devrim Şahin," "Ebru Ersoy,Efe Çiftci,Enes Ateş,Engin BAHADIR,Fatih Bostancı,Hüseyin Kozan," "Kudret EMRE,Mesut Yaver,Mustafa Yılmaz,Osman Tosun,Serdar Delican,Sinan " "Özgün,Yiğit Ateş,can kaçan,haydar,hayrettin çevik,kulkke,ozan,ubuntuki,yasin " "özdemir" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,rainman.neu@gmail.com,,,hknrgl@gmail.com,,,rainman.neu@gmail.com," "huseyinkozan@gmail.com,,,efeciftci@gmail.com,rainman.neu@gmail.com," "hayros@gmail.com,huseyinkozan@gmail.com,,,efe.ciftci@linux.org.tr," "apshalasha@gmail.com,rainman.neu@gmail.com,,yigitates52@gmail.com," "hayros@gmail.com,huseyinkozan@gmail.com,,,a_bulbul@ug.bilkent.edu.tr,efe." "ciftci@linux.org.tr,apshalasha@gmail.com,rainman.neu@gmail.com,," "yigitates52@gmail.com,hayros@gmail.com,huseyinkozan@gmail.com,,,a_bulbul@ug." "bilkent.edu.tr,room449@gmail.com,efe.ciftci@linux.org.tr,apshalasha@gmail." "com,rainman.neu@gmail.com,yigitates52@gmail.com,,hayros@gmail.com," "huseyinkozan@gmail.com,,,a_bulbul@ug.bilkent.edu.tr,room449@gmail.com,efe." "ciftci@linux.org.tr,apshalasha@gmail.com,rainman.neu@gmail.com," "yigitates@ceviri.ubuntu-tr.net,,hayros@gmail.com,huseyinkozan@gmail.com,,," "a_bulbul@ug.bilkent.edu.tr,room449@gmail.com,efe.ciftci@linux.org.tr,," "apshalasha@gmail.com,rainman.neu@gmail.com,yigitates@ceviri.ubuntu-tr.net,," "hayros@gmail.com,huseyinkozan@gmail.com,,,avogadro-devel@lists.sourceforge." "net,a_bulbul@ug.bilkent.edu.tr,room449@gmail.com,efe.ciftci@linux.org.tr,," "apshalasha@gmail.com,rainman.neu@gmail.com,yigitates@ceviri.ubuntu-tr.net,," "hayros@gmail.com,huseyinkozan@gmail.com,,,avogadro-devel@lists.sourceforge." "net,a_bulbul@ug.bilkent.edu.tr,room449@gmail.com,efe.ciftci@linux.org.tr,," "apshalasha@gmail.com,rainman.neu@gmail.com,yigitates@ceviri.ubuntu-tr.net,," "hayros@gmail.com,huseyinkozan@gmail.com,,,avogadro-devel@lists.sourceforge." "net,a_bulbul@ug.bilkent.edu.tr,room449@gmail.com,,efe.ciftci@linux.org.tr,,," "faopera@gmail.com,posta@huseyinkozan.com.tr,kudretemre@hotmail.com,," "apshalasha@gmail.com,rainman.neu@gmail.com,,para4360@gmail.com,," "cankacan.47@gmail.com,hayros@gmail.com,,snow6.junk@gmail.com,,,,,avogadro-" "devel@lists.sourceforge.net,a_bulbul@ug.bilkent.edu.tr,room449@gmail.com,," "efe.ciftci@linux.org.tr,,,faopera@gmail.com,,kudretemre@hotmail.com,," "apshalasha@gmail.com,rainman.neu@gmail.com,,para4360@gmail.com,," "cankacan.47@gmail.com,hhaydarakdag@gmail.com,hayros@gmail.com,,snow6." "junk@gmail.com,,,,,avogadro-devel@lists.sourceforge.net,a_bulbul@ug.bilkent." "edu.tr,room449@gmail.com,,efe.ciftci@linux.org.tr,,,faopera@gmail.com,," "kudretemre@hotmail.com,,apshalasha@gmail.com,rainman.neu@gmail.com,," "para4360@gmail.com,,cankacan.47@gmail.com,hhaydarakdag@gmail.com," "hayros@gmail.com,,snow6.junk@gmail.com,," #~ msgid "Color by Index" #~ msgstr "İndekse Göre Renklendir" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "İndekse Göre Renklendir (kırmızı, turuncu, sarı, yeşil, mavi, mor)" #~ msgid "Color by Partial Charge" #~ msgstr "Kısmi Yüke Göre Renklendir" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Atomik Kısmı Yüke Göre Renklendir (mavi = pozitif, kırmızı = negatif)" #~ msgid "Custom Color:" #~ msgstr "Özel Renk:" #~ msgid "Custom Color" #~ msgstr "Özel Renk" #~ msgid "Set custom colors for objects" #~ msgstr "Nesneler için özel renkler belirle" #~ msgid "Color by distance from the first atom." #~ msgstr "İlk atomdan başlayarak uzaklığa göre renklendir." #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Elemente Göre Renk (karbon = gri, oksijen = kırmızı, ...)." #~ msgid "Color by Residue" #~ msgstr "Kalıntıya Göre Renk" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Kalıntıya Göre Renk (amino asit tipi, kuzu hastalığına ait,...)" #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS Şablonu:" #~ msgid "Highlight Color:" #~ msgstr "Vurgulama rengi:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "SMARTS Şablonu ile Renklendir" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Bir SMARTS şablonu ile eşleşen özellikleri vurgula." #~ msgid "Ununtrium" #~ msgstr "Ununtriyum" #~ msgid "Ununpentium" #~ msgstr "Ununpentiyum" #~ msgid "Ununseptium" #~ msgstr "Ununseptiyum" #~ msgid "Ununoctium" #~ msgstr "Ununoktiyum" #~ msgid "Engines" #~ msgstr "Motorlar" #~ msgid "Axes" #~ msgstr "Eksenler" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Merkezdeki x, y, ve x eksenlerini kaplar" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "" #~ "Primitifleri Toplar (Atomlar) ve Çubuklar (Bağlar) kullanarak kaplar" #~ msgid "Cartoon" #~ msgstr "Karikatür" #~ msgid "Renders protein secondary structure" #~ msgstr "Proteinin ikinci yapısını kaplar" #~ msgid "Dipole" #~ msgstr "Çift Kutuplu" #~ msgid "Force" #~ msgstr "Kuvvet" #~ msgid "Renders force displacements on atoms" #~ msgstr "Atomlar üzerindeki kuvvet yerdeğişimlerini kaplar" #~ msgid "Hydrogen Bond" #~ msgstr "Hidrojen Bağları" #~ msgid "Renders hydrogen bonds" #~ msgstr "Hidrojen bağlarını kaplar" #~ msgid "Select Atom Labels Color" #~ msgstr "Atom Etiketi Rengi Seç" #~ msgid "Select Bond Labels Color" #~ msgstr "Bağ Etiketi Rengi Seç" #~ msgid "Select Atom Labels Font" #~ msgstr "Atom Etiketi Fontu Seç" #~ msgid "Select Bond Labels Font" #~ msgstr "Bağ Etiketi Fontu Seç" #~ msgid "Label" #~ msgstr "Etiket" #~ msgid "Polygon" #~ msgstr "Çokgen" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Atomları dört yüzlü, sekiz yüzlü ve diğer çokgenler olarak kaplar" #~ msgid "Ribbon" #~ msgstr "Şerit" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Protein omurgasını şerit olarak kaplar" #~ msgid "Ring" #~ msgstr "Halka" #~ msgid "Renders rings with colored planes" #~ msgstr "Halkaları renklendirilmiş düzlemler olarak kaplar" #~ msgid "Simple Wireframe" #~ msgstr "Basit Telekafes" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "Bağları tel (düz çizgi) olarak kaplar, büyük moleküller için uygundur" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Atomları Van der Waals Küreleri olarak kaplar" #~ msgid "Stick" #~ msgstr "Çubuk" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Elektron yoğunluğu, eşyüzey=%L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, eşyüzey = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Bağları tel (düz çizgi) olarak kaplar, büyük (biyo)moleküller için " #~ "uygundur" #~ msgid "Trajectory files" #~ msgstr "Yörünge dosyaları" #~ msgid "DL-POLY HISTORY files" #~ msgstr "DL-POLY GEÇMİŞ dosyaları" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "video dosyaları (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr ".avi uzantısı ekleniyor" #~ msgid "Animation..." #~ msgstr "Animasyon..." #~ msgid "Cannot read file format of file %1." #~ msgstr "%1 dosyasının dosya biçimi okunamıyor." #~ msgid "Read trajectory file %1 failed." #~ msgstr "%1 eğri dosyası okunamadı." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Geçerli bir .avi dosyası belirtilmeli." #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "GL aracı videoyu kaydetmek için düzgün bir şekilde hazırlanmamış" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Geçersiz video dosya adı. Klasör adı dahil tam yolu içermeli" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Geçersiz video dosya adı. Klasör adı dahil tam yolu .avi ile bitecek " #~ "şekilde içermeli" #~ msgid "Could not determine format from filename: %1" #~ msgstr "Dosya isminden format belirlenemedi: %1" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Yörüngeleri, reaksiyonları ve titreşimleri canlandırır." #~ msgid "Cartesian Editor" #~ msgstr "Kartezyen Editör" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Molekül için birim hücre tanımlanmadı -- kesirli koordinatlar " #~ "kullanılamaz." #~ msgid "Cartesian Editor..." #~ msgstr "Kartezyen Düzenleyici..." #~ msgid "Cartesian editor" #~ msgstr "Kartezyen editör" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Döndürülebilir bağ sayısı: %1" #~ msgid "Add constraint" #~ msgstr "Kısıtlama ekle" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "Kısıtlama ekleyebilmek için molekülünüzde en az bir atom bulunmalı" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Bağ kısıtlaması ekleyebilmek için molekülünüzde en az iki atom bulunmalı" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Açı kısıtlaması ekleyebilmek için molekülünüzde en az üç atom bulunmalı" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Bükülme kısıtlaması ekleyebilmek için molekülünüzde en az dört atom " #~ "bulunmalı" #~ msgid "&Reduce" #~ msgstr "&Azalt" #~ msgid "&Length Unit" #~ msgstr "&Uzunluk Birimi" #~ msgid "&Coordinate Display" #~ msgstr "&Koordinat Gösterimi" #~ msgid "Coordinate &Preservation" #~ msgstr "Koordinat &Koruma" #~ msgid "&Matrix Display" #~ msgstr "&Matris Görünümü" #~ msgid "Show &Editors" #~ msgstr "Göster & Editörleri" #~ msgid "Hide &Property Display" #~ msgstr "Sakla &Özellik Gösterimi" #~ msgid "Show &Property Display" #~ msgstr "Göster &Özellik Gösterimi" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Örgü Tipi: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Uzay Grubu: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Birim hücre hacmi: %L1%2" #~ msgid "Undefined" #~ msgstr "Tanımsız" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "Triklinik" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "Monoklinik" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "Ortorombik" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "Tetregonal" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "Rombohedral" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "Hegzagonal" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "Kübik" #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Hücre indirgeme işlemi 1000 indirgeme algoritması iterasyonundan sonra " #~ "başarısız oldu. Durduruluyor." #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Standard &Yerleşime Döndür" #~ msgid "&Slab..." #~ msgstr "&Plaka" #~ msgid "Perceive Space&group..." #~ msgstr "Algıla Uzay&grubu" #~ msgid "Set &Spacegroup..." #~ msgstr "Ayarla &Uzay Grubu..." #~ msgid "&Fill Unit Cell" #~ msgstr "&Birim Hücreyi Doldur" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Birim hücreyi seçili uzay grubu ile doldur." #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "İndirge &Asimetrik Birim" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "" #~ "Eş pozisyonlardaki atomları kaldır (\"Birim Hücreyi Doldur\"un tersi)." #~ msgid "Sy&mmetrize Crystal" #~ msgstr "&Kristali Simetrikleştir" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Hücre İndirge (&Primitif)" #~ msgid "&Bohr" #~ msgstr "%Bohr" #~ msgid "&Nanometer" #~ msgstr "&Nanometre" #~ msgid "&Picometer" #~ msgstr "&Pikometre" #~ msgid "&Degree" #~ msgstr "&Derece" #~ msgid "&Radian" #~ msgstr "&Radyan" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Koru &Hücre Düzenleme Sırasında Kartezyen Koordinatları" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Koru &Hücre Düzenleme Sırasında Kesirli Koordinatları" #~ msgid "Display &cartesian matrix" #~ msgstr "Göster &Kartezyen Matris" #~ msgid "Display as &row vectors" #~ msgstr "Göster &satır vektörleri olarak" #~ msgid "Display as &column vectors" #~ msgstr "Göster &sütun vektörleri olarak" #~ msgid "&Crystal View Options..." #~ msgstr "&Kristal Görünüm Seçenekleri..." #~ msgid "" #~ "

Perceived spacegroup %1, Hall symbol %2, Hermann-Mauguin symbol %3." #~ "

Cell can be symmetrized into a conventional setting, do you wish to " #~ "do so? Actions that make use of symmetry (e.g. supercell builder) require " #~ "this.

" #~ msgstr "" #~ "

Algılanan Uzay Grubu %1, Hall simgesi %2, Hermann-Mauguin simgesi %3." #~ "

Hücre geleneksel bir düzene göre simetrikleştirilebilir, bunu " #~ "yapmak istiyor musunuz? Simetri kullanan komutlar (örn. süperhücre " #~ "yapıcı) bunu gerektirir.

" #~ msgid "Set Spacegroup" #~ msgstr "Uzay Grubu ata" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "Bu belge için atanmış bir uzay grubu yok.\n" #~ "Şimdi bir uzay grubu atamak ister misiniz?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Uzay Grubu P1 tespit edildi -- bu uzay grubuna simetrikleştirilemez.\n" #~ "\n" #~ "Farklı bir tolerans ile yeniden denemek ister misiniz?" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Atomları Hücreye Sar" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Niggli Hücresine İndirge" #~ msgid "Crystallography" #~ msgstr "Kristalografi" #~ msgid "Trajectory..." #~ msgstr "Eğri..." #~ msgid "Open chemical file format" #~ msgstr "Kimyasal dosya biçimi aç" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Kimyasal dosyalar (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Kimyasal dosyalar (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Eğri İçe Aktar" #~ msgid "Import trajectory files" #~ msgstr "Eğri dosyalarını içe aktar" #~ msgid "Setup Force Field..." #~ msgstr "Kuvvet Alanı Kur..." #~ msgid "Calculate Energy" #~ msgstr "Enerjiyi Hesapla" #~ msgid "Conformer Search..." #~ msgstr "Uyumlu Arama..." #~ msgid "Constraints..." #~ msgstr "Kısıtlamalar..." #~ msgid "Ignore Selection" #~ msgstr "Seçilenleri İhmal Et" #~ msgid "Fix Selected Atoms" #~ msgstr "Seçilen Atomları Düzelt" #~ msgid "Energy = %L1 %2" #~ msgstr "Enerji = %L1 %2" #~ msgid "Forcefield Optimization" #~ msgstr "Kuvvet Alanı Optimizasyonu" #~ msgid "Systematic Rotor Search" #~ msgstr "Sistematik Döner Arama" #~ msgid "Random Rotor Search" #~ msgstr "Rasgele Döner Arama" #~ msgid "Weighted Rotor Search" #~ msgstr "Ağırlıklı Döner Arama" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Molekülleri optimize et ve moleküler kuvvet alanları kullanarak uygun " #~ "hale getir" #~ msgid "Change H to Methyl" #~ msgstr "H'den Methyl'e Çevir" #~ msgid "H to Methyl" #~ msgstr "H'den Methyl'e" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Hidrojenleri metil grubuna dönüştür" #~ msgid "Add or remove hydrogens" #~ msgstr "Hidrojenleri ekle veya kaldır" #~ msgid "Fragment..." #~ msgstr "Parçala..." #~ msgid "Insert SMILES" #~ msgstr "SMILES Ekle" #~ msgid "Insert SMILES fragment:" #~ msgstr "SMILES parçası ekle" #~ msgid "Insert Fragment" #~ msgstr "Parça Ekle" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Daha büyük moleküller inşa etmek için molekül parçaları ekle" #~ msgid "Peptide..." #~ msgstr "Peptit..." #~ msgid "Insert Peptide" #~ msgstr "Peptit Ekle" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Zayıf peptit dizisi ekle" #~ msgid "Molecule Properties..." #~ msgstr "Molekük Özellikleri..." #~ msgid "&Properties" #~ msgstr "&Özellikler" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Tahmini Çift Kutuplu Zamanı (D):" #~ msgid "Display standard molecular properties." #~ msgstr "Standart molekül özelliklerini göster." #~ msgid "Fetch from PDB..." #~ msgstr "PDB'den Al..." #~ msgid "Fetch from URL..." #~ msgstr "URL'den Al..." #~ msgid "PDB Entry" #~ msgstr "PDB Kaydı" #~ msgid "PDB entry to download." #~ msgstr "İndirmek için PDB kaydı." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "İndirmek için molekül URL'i" #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Belirtilen molekül yüklenemedi : %1" #~ msgid "Network Fetch" #~ msgstr "Ağdan Alım" #~ msgid "Fetch molecule files over the network." #~ msgstr "Ağ üstünden molekül dosyalarını al." #~ msgid "All Files" #~ msgstr "Bütün Dosyalar" #~ msgid "Show Preview" #~ msgstr "Önizleme Göster" #~ msgid "Hide Preview" #~ msgstr "Önizlemeyi Gizle" #~ msgid "Save POV-Ray rendered image" #~ msgstr "POV-Ray kaplama resmini kaydet" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Resim Dosyaları (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Herhangi bir dosya adı belirtilmedi." #~ msgid "No valid filename was supplied." #~ msgstr "HErhangi bir geçerli dosya adı belirtilmedi." #~ msgid "Does not compute." #~ msgstr "Hesaplanmaz." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Doğrudan POV-Ray kullanarak kaplamak ve POV-Ray dosyasını korumak " #~ "istemediniz. Bu, çıktının kaydedilmemesine sebep olacak. Bunu " #~ "istediğinizden emin misiniz ?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "%1 dosyasına yazılamıyor. Dosyanın konumuna yazma izninizin olduğundan " #~ "emin misiniz ?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray başlatılamadı." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray başlatılamadı. Belki de çalıştırılabilir dosyanın yolu yanlıştır." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "POV-Ray dosyalarını oluştur ve POV-Ray komut satırı programını kullanarak " #~ "kaplama yap." #~ msgid "Atom Properties..." #~ msgstr "Atom Özellikleri..." #~ msgid "Bond Properties..." #~ msgstr "Bağ Özellikleri..." #~ msgid "Angle Properties..." #~ msgstr "Açı Özellikleri..." #~ msgid "Torsion Properties..." #~ msgstr "Bükülme Özellikleri..." #~ msgid "Conformer Properties..." #~ msgstr "Uydurma Özellikleri..." #~ msgid "Atom Properties" #~ msgstr "Atom Özellikleri" #~ msgid "Bond Properties" #~ msgstr "Bağ Özellikleri" #~ msgid "Angle Properties" #~ msgstr "Açı Özellikleri" #~ msgid "Torsion Properties" #~ msgstr "Bükülme Özellikleri" #~ msgid "Conformer Properties" #~ msgstr "Uydurma Özellikleri" #~ msgid "Properties" #~ msgstr "Özellikler" #~ msgid "Valence" #~ msgstr "Değerlik" #~ msgid "Partial Charge" #~ msgstr "Kısmi Yük" #~ msgid "Rotatable" #~ msgstr "Döndürülebilir" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Uzunluk %1" #~ msgid "Vertex" #~ msgstr "Köşe" #~ msgid "Atom %1" #~ msgstr "Atom %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Bükülme %1" #~ msgid "Python Terminal" #~ msgstr "Python Terminali" #~ msgid "Interactive python scripting terminal" #~ msgstr "Etkileşimli Python Betik Terminali" #~ msgid "QM Matches" #~ msgstr "QM Eşleşmeleri" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP Seçimi..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM Seçimi..." #~ msgid "Delete" #~ msgstr "Sil" #~ msgid "You must make a selection!" #~ msgstr "Bir seçim yapmalısınız !" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES Dönüşümü Kullanılamaz" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES Biçim Dönüşümü Mevcut Değil" #~ msgid "Group Name" #~ msgstr "Grup Adı" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "GAMESS kuantum kimya paketi için girdi dosyası oluştur" #~ msgid "Advanced Settings Changed" #~ msgstr "Gelişmiş Ayarlar Değişti" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Gelişmiş Ayarlar Değişti\n" #~ "Vazgeçilsin mi ?" #~ msgid "Advanced Settings Reset" #~ msgstr "Gelişmiş Ayarları Sıfırla" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Gelişmiş Ayarları Sıfırlamak istiyor musunuz ?\n" #~ "Bütün değişiklikler kaybedilecek!" #~ msgid "Basic Settings Reset" #~ msgstr "Basit Ayarları Sıfırla" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Basit Ayarları Sıfırlamak istiyor musunuz ?\n" #~ "Bütün değişiklikler kaybedilecek!" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussian Girdi Destesi Üreteci Uyarısı" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Önceki yazıyı değiştirmek istiyor musunuz, Gaussian girdi destesinin " #~ "önizleme bölmesinde yapılan değişikliklerin hepsi kaybedilecek ?" #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussian Girdi Destesi" #~ msgid "Gaussian Running." #~ msgstr "Gaussian Çalışıyor." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "Gaussian hala çalışıyor. Önceki hesaplamanın bitmesini bekleyin." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian Kurulu Değil." #~ msgid "The G03 executable, cannot be found." #~ msgstr "G03 çalıştırılabilir dosyası bulunamıyor." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 başlamadı. Muhtemelen düzgün bir şekilde kurulmamış." #~ msgid "Running Gaussian calculation..." #~ msgstr "Gaussian hesaplaması çalışıyor..." #~ msgid "G03 Crashed." #~ msgstr "G03 Çöktü." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Gaussian doğru çalışmadı. Muhtemelen düzgün bir şekilde kurulmamış." #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC Girdi Uyarısı" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "MOPAC girdi destesi önizleme bölmesindeki değişiklikleri kaybederek, " #~ "önizleme yazısını güncellemek istiyor musunuz ?" #~ msgid "MOPAC Running." #~ msgstr "MOPAC Çalışıyor." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC hala çalışıyor. Önceki hesaplamanın bitmesini bekleyin." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC Kurulu değil." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "MOPAC çalıştırılabilir dosyası bulunamıyor." #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC başlatılamadı." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC başlamadı. Muhtemelen düzgün kurulmamış." #~ msgid "Running MOPAC calculation..." #~ msgstr "MOPAC hesaplaması çalışıyor..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC Göçtü." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "MOPAC düzgün çalışmıyor. Muhtemelen düzgün kurulmamış." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "NWChem Girdi Destesi Üretici Uyarısı" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Önceki yazıyı değiştirmek istiyor musunuz, NWChem girdi destesinin " #~ "önizleme bölmesinde yapılan değişikliklerin hepsi kaybedilecek ?" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem Girdi Destesi Üreteci Uyarısı" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Q-Chem girdi destesi önizleme bölmesindeki değişiklikleri kaybederek, " #~ "önizleme yazısını güncellemek istiyor musunuz ?" #~ msgid "Select SMARTS..." #~ msgstr "SMARTS'ı Seç..." #~ msgid "Select by Residue..." #~ msgstr "Kalan ile Seç..." #~ msgid "Add Named Selection..." #~ msgstr "İsimlendirilmiş Seçim Ekle..." #~ msgid "SMARTS Selection" #~ msgstr "SMARTS Seçimi" #~ msgid "SMARTS pattern to select" #~ msgstr "Seçmek için SMARTS deseni" #~ msgid "Select by residue" #~ msgstr "Kalan ile Seç" #~ msgid "There is no current selection." #~ msgstr "Herhangi bir seçim yok." #~ msgid "Add Named Selection" #~ msgstr "İsimlendirilmiş Seçim Ekle" #~ msgid "Name cannot be empty." #~ msgstr "İsim boş olamaz." #~ msgid "There is already a selection with this name." #~ msgstr "Bu isimde bir seçim var." #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Seçilmiş atomlar, bağlar, kalanlar..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Gölgelendiricileri..." #~ msgid "Open a vertex shader source file" #~ msgstr "Köşe gölgelendirici (vertex shader) kaynak dosyası aç" #~ msgid "Open a shader parameters file" #~ msgstr "Gölgelendirici parametreleri dosyası aç" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Yüklediğiniz molekülün içindeki titreşim verisi herhangi bir yoğunluk " #~ "(intensity) bilgisi içermiyor. Görselleştirme için yoğunluk değerleri " #~ "rastgele atandı." #~ msgid "X Axis" #~ msgstr "X Ekseni" #~ msgid "Y Axis" #~ msgstr "Y Ekseni" #~ msgid "&Appearance" #~ msgstr "&Görünüm" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Kızılötesi" #~ msgid "No data" #~ msgstr "Veri yok" #~ msgid "Dark" #~ msgstr "Karanlık" #~ msgid "Light" #~ msgstr "Açık" #~ msgid "New Scheme" #~ msgstr "Yeni Şema" #~ msgid "Confirm Scheme Removal" #~ msgstr "Şema Kaldırılmasını Onayla" #~ msgid "Really remove current scheme?" #~ msgstr "Gerçekten geçerli şemayı kaldırmak istiyor musunuz?" #~ msgid "Change Scheme Name" #~ msgstr "Şema Adını Değiştir" #~ msgid "Enter new name for current scheme:" #~ msgstr "Geçerli şema için yeni bir ad giriniz:" #~ msgid "Comma Separated Values" #~ msgstr "Virgülle Ayrılmış Değerler" #~ msgid "Unknown extension: %1" #~ msgstr "Bilinmeyen eklenti: %1" #~ msgid "Data Format" #~ msgstr "Veri Biçimi" #~ msgid "Portable Network Graphics" #~ msgstr "Taşınabilir Ağ Grafikleri" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap" #~ msgid "No vibrational displacements exist." #~ msgstr "Hiçbir titreşimsel yerdeğişimi yok." #~ msgid "Orbitals" #~ msgstr "Yörüngeler" #~ msgid "Create Surfaces..." #~ msgstr "Yüzeyleri oluştur..." #~ msgid "Calculating VdW Cube" #~ msgstr "VdW Cube Hesaplanıyor" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "MO %L1 Hesaplanıyor" #~ msgid "Electron Density" #~ msgstr "Elektron Yoğunluğu" #~ msgid "Could not run povray." #~ msgstr "povray çalıştırılamıyor" #~ msgid "Could not run mencoder." #~ msgstr "mencoder çalıştırılamıyor" #~ msgid "Conformer %1" #~ msgstr "Uydurucu %1" #~ msgid "None" #~ msgstr "Hiçbiri" #~ msgid "Partial charge" #~ msgstr "Parçacık yükü" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "Systematic rotor search" #~ msgstr "Sistematik rotor arama" #~ msgid "Random rotor search" #~ msgstr "Rastgele rotor arama" #~ msgid "Weighted rotor search" #~ msgstr "Ağırlıklı rotor arama" #~ msgid "Energy" #~ msgstr "Enerji" #~ msgid "Arginine" #~ msgstr "Arjinin" #~ msgid "Asparagine" #~ msgstr "Asparajin" #~ msgid "Aspartic acid" #~ msgstr "Aspartik asit" #~ msgid "Cysteine" #~ msgstr "Sisten" #~ msgid "Glutamic acid" #~ msgstr "Glutamik asit" #~ msgid "Glutamine" #~ msgstr "Glutamin" #~ msgid "Glycine" #~ msgstr "Glisin" #~ msgid "Gly" #~ msgstr "Gli" #~ msgid "Histidine" #~ msgstr "Histidin" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "İzolösin" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Valin" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Tirozin" #~ msgid "Tyr" #~ msgstr "Tir" #~ msgid "Tryptophan" #~ msgstr "Triptofan" #~ msgid "Threonine" #~ msgstr "Treonin" #~ msgid "Thr" #~ msgstr "Tre" #~ msgid "Serine" #~ msgstr "Serin" #~ msgid "Phe" #~ msgstr "Fenl" #~ msgid "Lysine" #~ msgstr "Lizin" #~ msgid "Lys" #~ msgstr "Liz" #~ msgid "Leucine" #~ msgstr "Lösin" #~ msgid "Leu" #~ msgstr "Lös" #~ msgid "&Reference:" #~ msgstr "&Referans:" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "yüksek frekanslı titreşimler hızlı hareketi gösterir" #~ msgid "Display force &vectors" #~ msgstr "Kuvvet ve vektörleri göster" #~ msgid "Z Matrix Editor" #~ msgstr "Z Matris Editörü" #~ msgid "Import Selected Atoms" #~ msgstr "Seçilen Atomları Yükle" avogadrolibs-1.93.0/i18n/ug.po000066400000000000000000003257711360735163600160430ustar00rootroot00000000000000# Uyghur translation for avogadro # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2011. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:40+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Uyghur \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 msgid "Input Generator (error)" msgstr "" #: molequeue/inputgeneratordialog.cpp:55 #, qt-format msgid "%1 Input Generator" msgstr "" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "يېپىش" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "نامەلۇم" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, qt-format msgid "Submit %1 Calculation" msgstr "" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "ئاگاھلاندۇرۇش" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "ئاگاھلاندۇرۇش" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 msgid "Select output filename" msgstr "" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "چىقار:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, qt-format msgid "Failed to write to file %1." msgstr "" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, qt-format msgid "%1: File will be overwritten." msgstr "" #: molequeue/inputgeneratorwidget.cpp:545 #, qt-format msgid "%1: File is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "ماۋزۇ" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr ":ھۆججەت ئاتى" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 msgid "Processor Cores" msgstr "" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "ھېسابلا" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 msgid "Theory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "ئاساسىي" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "مولېكۇلا" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 msgid "Stop waiting" msgstr "" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 msgid "No program selected." msgstr "" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "ئوكسېگىن" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "نېئون" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "خىروم" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "كوبالت" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "پاللادىي" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "كۈمۈشرەڭ" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "تۇڭىستېن" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "پلاتىنا" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "ئالتۇن" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "مېركۇرىي" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "" #: qtgui/elementtranslator.cpp:368 msgid "Nihonium" msgstr "" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "كۆز يۈگۈرت…" #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "تاللانما" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "تاللانغاننى ئۆچۈرۈش" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 msgctxt "File handlers" msgid "handlers" msgstr "" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "بارلىق ھۆججەتلەر" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "ماۋزۇسىز" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 msgid "Script failed to start." msgstr "" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "قوليازمىلار(&S)" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL خاتالىقى" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "نامەلۇم" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "مولېكۇلا" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "" #: qtgui/rwmolecule.cpp:301 msgid "Clear Atoms" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "ئېلېمېنت" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "" #: qtgui/rwmolecule.cpp:751 msgid "Removed Bond" msgstr "" #: qtgui/rwmolecule.cpp:758 msgid "Clear Bonds" msgstr "" #: qtgui/rwmolecule.cpp:793 msgid "Set Bond Orders" msgstr "" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "" #: qtgui/rwmolecule.cpp:882 msgid "Update Bonds" msgstr "" #: qtgui/rwmolecule.cpp:922 msgid "Update Bond" msgstr "" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "ھۆججەت(&F)" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "چىقار" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 msgid "Open Output File" msgstr "" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "كېڭەيتمىلەر" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "خاتالىق" #: qtplugins/apbs/apbs.cpp:128 #, qt-format msgid "Error reading structure file (%1)." msgstr "" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL خاتالىقى" #: qtplugins/apbs/apbs.cpp:149 #, qt-format msgid "Error reading OpenDX file: %1" msgstr "" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "خاتالىق" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "مۇۋەپپەقىيەتلىك!" #: qtplugins/apbs/apbsdialog.cpp:191 #, qt-format msgid "Input file written to '%1'" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 msgid "Show multiple bonds?" msgstr "" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 msgid "Show hydrogens?" msgstr "" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "" #: qtplugins/ballandstick/ballandstick.h:47 msgid "Render atoms as spheres and bonds as cylinders." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 msgid "Bond-centric manipulation" msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:188 msgid "Bond centric manipulation tool." msgstr "" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 msgid "Bond Atoms" msgstr "" #: qtplugins/bonding/bonding.cpp:43 msgid "Remove Bonds" msgstr "" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "ياساش(&B)" #: qtplugins/bonding/bonding.h:36 msgid "Bonding" msgstr "" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr ":ھۆججەت ئاتى" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 msgid "Atomic &Coordinate Editor..." msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:39 msgid "Coordinate editor" msgstr "" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "ئېلېمېنت ئاتى" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "ئېلېمېنت ئاتى" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 msgid "Invalid element symbol." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "ئېلېمېنت ئاتى" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 msgid "Invalid atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 msgid "Atomic number." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 msgid "Invalid coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 msgid "X coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 msgid "Y coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 msgid "Z coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 msgid "'a' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 msgid "'b' lattice coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 msgid "'c' coordinate." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:, ,Launchpad Contributions:,Avogadro Team,Gheyret T." "Kenji,Sahran, ,Launchpad Contributions:,Avogadro Team,Gheyret T.Kenji," "Sahran, ,Launchpad Contributions:,Avogadro Team,Gheyret T.Kenji,Sahran" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 msgid "Lattice coordinates (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 msgid "Lattice coordinates (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 msgid "GAMESS format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 msgid "GAMESS format (names)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "ئىختىيارى:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 msgid "Render the unit cell boundaries." msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "ئېلېمېنت" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "سىز" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "" #: qtplugins/editor/editor.cpp:122 msgid "Change Bond Type" msgstr "" #: qtplugins/editor/editor.cpp:135 msgid "Remove Bond" msgstr "" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "ئارىلىق" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "ئارىلىق" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "باشقا…" #: qtplugins/editor/editortoolwidget.cpp:217 msgid "Automatic" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "يەككە" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "قوش" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "ئۈچ ھەسسە" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "قوليازمىلار(&S)" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 msgid "Input Generators" msgstr "" #: qtplugins/gamessinput/gamessinput.h:46 msgid "GAMESS input" msgstr "" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "يەككە" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "سۇ" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "بىتەرەپ" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 msgid "Save GAMESS input file" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 msgid "Submit GAMESS Calculation" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:33 msgid "&Adjust Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:42 msgid "Remove E&xtra Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:46 msgid "&Remove All Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 msgid "&Hydrogens" msgstr "" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "ئىمپورت قىل" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 msgid "Render atoms as licorice." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 msgid "SMILES" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "قىستۇر(&I)" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "چۈشەندۈرۈشى يوق" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "مولېكۇلا" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 msgid "Generating 3D molecule..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 msgid "Manipulate tool" msgstr "" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "بۇلۇڭ:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "بۇلۇڭ:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 msgid "Measure tool" msgstr "" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 msgid "Render triangle meshes." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "كۆرۈنۈش(&V)" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "يول باشلا" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "يول باشلا" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:47 msgid "Network Databases" msgstr "" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 msgid "Optimize geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:59 msgid "Configure geometry optimization..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 msgid "Add hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:77 msgid "Add hydrogens for pH..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:83 msgid "Remove hydrogens" msgstr "" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 msgid "Loading molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 msgid "Optimizing Geometry (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:384 msgid "Generating MDL..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" #: qtplugins/openbabel/openbabel.cpp:473 msgid "Optimize Geometry" msgstr "" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 msgid "Adding Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, qt-format msgid "Running %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 msgid "Add hydrogens for pH" msgstr "" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 msgid "Removing Hydrogens (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "توختا" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "پارامېتىرلار:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 msgid "Dynamic bonding?" msgstr "" #: qtplugins/playertool/playertool.cpp:102 msgid "Record Movie..." msgstr "" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "توختا" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "" #: qtplugins/playertool/playertool.cpp:234 #, qt-format msgid "Cannot save file %1." msgstr "" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "خاتالىق" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "ساقلا" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 msgid "Render the scene using POV-Ray." msgstr "" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 msgid "Calculate electronic surfaces..." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:155 msgid "Calculating electron density" msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, qt-format msgid "Calculating molecular orbital %L1" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:85 msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:87 msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "ئەسلىگە قايتۇر" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "ھەممىنى ئۆچۈر…" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "تاللانما" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "ئەكسىچە تاللا(&I)" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "ئەكسىچە تاللا(&I)" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "تاللا(&S)" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "تاللا(&S)" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "تاللانما" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "تاللانما" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 msgid "Avogadro2" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 msgid "Vibrational modes..." msgstr "" #: qtplugins/spectra/spectra.h:43 msgid "Spectra and Vibrations" msgstr "" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "تىپى" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "ئېلېمېنت" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 msgid "Symmetry Elements" msgstr "" #: qtplugins/symmetry/symmetryscene.h:46 msgid "Render symmetry elements." msgstr "" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 msgid "Van der Waals (AO)" msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "رەڭلە" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 msgid "Render the scene using VRML." msgstr "" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "" #: qtplugins/wireframe/wireframe.h:43 msgid "Render the molecule as a wireframe." msgstr "" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "كۆزنەك" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "ھېسابلا" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) msgid "Submit Calculation..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Processor cores:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "ئېلېمېنت" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) msgid "Ctrl+C" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) msgid "Ctrl+E" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Structure Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "…" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) msgid "Save Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "مۇۋەپپەقىيەتلىك!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "ھۆججەت يۈكلە…" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) msgid "Server settings" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "ھۆججەت ئاتى(&F):" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "يول باشلا" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "يول باشلا" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "يول باشلا" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr ":ھۆججەت ئاتى" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "جەزملە" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "ئەمەلدىن قالدۇرۇش" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) msgid "Coordinate Editor" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "ئەسلىگە قايتۇر" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "ئارىلىق" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Angstrom" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "فورمات:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "قوللان" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "پارامېتىرلار:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Cell Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) msgid "&Transform Atoms" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "&Scaling Factor:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "ئېلېمېنت:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "ئاساسىي تەڭشەك(&B)" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "دىكى:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "بىللە:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "ماۋزۇ:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr ":ھۆججەت ئاتى" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "كۆڭۈلدىكى قىممەتلەر" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "ھۆججەت يۈكلە…" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "ئاتى" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "فورمات:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "چۈشەندۈرۈشى يوق" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Molecular Mass (g/mol):" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) msgid "Geometry Optimization Parameters" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "Optimization Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force field:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Optimization algorithm:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "گۈل نۇسخىسى" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) msgid "Autodetect" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Van der Waals cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "electrostatic cutoff distance:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) msgid " steps" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) msgid "Convergence Criteria" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "\"Energy\" convergence:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Step limit:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "بىرلىك:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "قەدەم سانى" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "تاللانغاننى ئۆچۈرۈش" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "غۇۋالىقى:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "سىرتقى يۈز" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "سىرتقى يۈز" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Isosurface Val.:" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "ئېنىقلىق دەرىجىسى:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "سىرتقى يۈز" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "ھېسابلا" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) msgid "Vibrational Modes" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "جانلاندۇرۇم" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "جانلاندۇرۇم" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "مولېكۇلا" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "تاللانما" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:, ,Launchpad Contributions:,Avogadro Team,Gheyret T." "Kenji,Sahran, ,Launchpad Contributions:,Avogadro Team,Gheyret T.Kenji," "Sahran, ,Launchpad Contributions:,Avogadro Team,Gheyret T.Kenji,Sahran" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,avogadro-devel@lists.sourceforge.net,,,,,avogadro-devel@lists." "sourceforge.net,,,,,avogadro-devel@lists.sourceforge.net,," #~ msgid "Custom Color:" #~ msgstr "ئۆزلەشتۈرۈلگەن رەڭ" #~ msgid "Axes" #~ msgstr "ئوق" #~ msgid "Cartoon" #~ msgstr "كارتون" #~ msgid "Force" #~ msgstr "مەجبۇرىي" #~ msgid "Label" #~ msgstr "ئەن" #~ msgid "Polygon" #~ msgstr "كۆپ تەرەپلىك" #~ msgid "Ribbon" #~ msgstr "تاسما" #~ msgid "Ring" #~ msgstr "ھالقا" #~ msgid "Stick" #~ msgstr "مۇقىم" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "&Properties" #~ msgstr "خاسلىق(&P)" #~ msgid "URL" #~ msgstr "URL" #~ msgid "Show Preview" #~ msgstr "ئالدىن كۆزىتىشنى كۆرسەت" #~ msgid "Properties" #~ msgstr "خاسلىق" #~ msgid "Angle" #~ msgstr "بۇلۇڭ" #~ msgid "Delete" #~ msgstr "ئۆچۈر" #~ msgid "Group Name" #~ msgstr "گۇرۇپپا ئاتى" #~ msgid " (" #~ msgstr " (" #~ msgid ")" #~ msgstr ")" #~ msgid "X Axis" #~ msgstr "X ئوقى" #~ msgid "Y Axis" #~ msgstr "Y ئوقى" #~ msgid "&Appearance" #~ msgstr "كۆرۈنۈشى(&A)" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "ئىنفرا قىزىل نۇر" #~ msgid "No data" #~ msgstr "سانلىق ئاساس يوق" #~ msgid "Dark" #~ msgstr "قارا" #~ msgid "Light" #~ msgstr "ئاق" #~ msgid "New Scheme" #~ msgstr "يېڭى لايىھە" #~ msgid "Data Format" #~ msgstr "سانلىق-مەلۇمات پىچىمى" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "فورمات:" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "يوق" #~ msgid "N/A" #~ msgstr "ئۇچۇر يوق" #~ msgid "Tools" #~ msgstr "قوراللار" #~ msgid "Align:" #~ msgstr "توغرىلاش:" #~ msgid "Everything" #~ msgstr "ھەممىسى" #~ msgid "Align" #~ msgstr "توغرىلا" #~ msgid "Algorithm:" #~ msgstr "ئالگورىزىم:" #~ msgid "Start" #~ msgstr "باشلا" #~ msgid "Symbol" #~ msgstr "بەلگە" #~ msgid "Shape" #~ msgstr "شەكىل" #~ msgid "Helix" #~ msgstr "بۇرما" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "ۋاراق" #~ msgid "Loop" #~ msgstr "دەۋرىي" #~ msgid "Colors" #~ msgstr "رەڭلەر" #~ msgid "Width:" #~ msgstr "كەڭلىك:" #~ msgid "A" #~ msgstr "A" #~ msgid "None" #~ msgstr "يوق" #~ msgid "Unique ID" #~ msgstr "بىردىنبىر كىملىك" #~ msgid "Lines" #~ msgstr "سىزىقلار" #~ msgid "Radius:" #~ msgstr "رادىئۇس:" #~ msgid "Fill" #~ msgstr "تولدۇر" #~ msgid "Points" #~ msgstr "نۇقتا" #~ msgid "Style:" #~ msgstr "ئۇسلۇب:" #~ msgid "Colors:" #~ msgstr "رەڭلەر:" #~ msgid "Positive" #~ msgstr "مۇسبەت" #~ msgid "Negative" #~ msgstr "مەنپىي" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "دەۋرىي" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Method" #~ msgstr "چارە" #~ msgid "Energy" #~ msgstr "قۇۋۋىتى" #~ msgid "Add" #~ msgstr "قوش" #~ msgid "Load" #~ msgstr "يۈك" #~ msgid "All" #~ msgstr "ھەممىسى" #~ msgid "Algorithm" #~ msgstr "ئالگورىزىم" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "باشقا" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Advanced" #~ msgstr "ئالىي" #~ msgid "Control" #~ msgstr "تىزگىن" #~ msgid "Data" #~ msgstr "سانلىق-مەلۇمات" #~ msgid "Nothing" #~ msgstr "يوق" #~ msgid "Grid" #~ msgstr "سېتكا" #~ msgid "Select..." #~ msgstr "تاللا…" #~ msgid "Command:" #~ msgstr "بۇيرۇق:" #~ msgid "Path:" #~ msgstr "يول:" #~ msgid "System" #~ msgstr "سىستېما" #~ msgid "Misc" #~ msgstr "ئارىلاش" #~ msgid "Read" #~ msgstr "ئوقۇ" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "Default" #~ msgstr "كۆڭۈلدىكى" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "Check" #~ msgstr "تەكشۈر" #~ msgid "Debug" #~ msgstr "سازلا" #~ msgid "C1" #~ msgstr "C1" #~ msgid "DnD" #~ msgstr "DnD(سۆرەپ-تاشلاش)" #~ msgid "O" #~ msgstr "O" #~ msgid "Minutes" #~ msgstr "مىنۇت" #~ msgid "Hours" #~ msgstr "سائەت" #~ msgid "Days" #~ msgstr "كۈن" #~ msgid "Weeks" #~ msgstr "ھەپتە" #~ msgid "Years" #~ msgstr "يىل" #~ msgid "Memory:" #~ msgstr "Memory:" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "دەۋرىي" #~ msgid "Skip" #~ msgstr "ئۆتكۈزۈۋەت" #~ msgid "Method:" #~ msgstr "ئۇسۇل:" #~ msgid "Numeric" #~ msgstr "سان" #~ msgid "Maximum:" #~ msgstr "ئەڭ چوڭ:" #~ msgid "Minimum:" #~ msgstr "ئەڭ كىچىك:" #~ msgid "Standard" #~ msgstr "ئۆلچەملىك" #~ msgid "&Close" #~ msgstr "ياپ(&C)" #~ msgid "Set Color..." #~ msgstr "رەڭ بەلگىلە…" #~ msgid "Font:" #~ msgstr "خەت نۇسخا:" #~ msgid "Show" #~ msgstr "كۆرسەت" #~ msgid "&Import..." #~ msgstr "ئىمپورت قىل(&I)…" #~ msgid "Background:" #~ msgstr "تەگلىك:" #~ msgid "Foreground:" #~ msgstr "ئالدى كۆرۈنۈش:" #~ msgid "New..." #~ msgstr "يېڭى…" #~ msgid "Rename..." #~ msgstr "ئات ئۆزگەرت…" #~ msgid "&Export..." #~ msgstr "ئېكسپورت قىل(&E)…" #~ msgid "&Width:" #~ msgstr "كەڭلىك(&W):" #~ msgid "cm" #~ msgstr "سانتىمېتىر" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "دىيۇيم" #~ msgid "px" #~ msgstr "px" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "تۆۋەن" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "ئوتتۇراھال" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "يۇقىرى" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "ناھايىتى يۇقىرى" #~ msgid "Advanced..." #~ msgstr "ئالىي…" avogadrolibs-1.93.0/i18n/uk.po000066400000000000000000010426521360735163600160420ustar00rootroot00000000000000# Ukrainian translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # # Yuri Chornoivan , 2010. # Yuri Chornoivan , 2010, 2011, 2012. msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2018-02-09 21:48+0000\n" "Last-Translator: Andrii Prokopenko \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:01+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Засіб створення вхідних даних…" #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Засіб створення вхідних даних…" #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Продовжити" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Закрити" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Невідомий" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 #, fuzzy msgid "No input files to save!" msgstr "Не вдалося запустити abinit." #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Перервати обчислення" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Попередження" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Попередження" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Вибрати розчинник" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Вивід" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Не вдалося виконати запис до файла." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Відеофайл не записано." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Відеофайл не записано." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 #, fuzzy msgid "Write input files" msgstr "Створити файли wrl" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "Налаштувати" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Назва" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Назва файла:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Процесори:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Обчислення" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Теорія:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Теорія:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Basis" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "Заряд" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "Кратність" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Не вказано молекули" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Зупинити &анімацію" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Не позначено жодного атома" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Гідроген" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Гелій" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Літій" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Берилій" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Бор" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Карбон" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Нітроген" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Оксиген" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Флуор" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Неон" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Натрій" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Магній" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Алюміній" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Силіцій" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Фосфор" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Сульфур" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Хлор" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Аргон" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Калій" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Кальцій" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Скандій" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Титан" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Ванадій" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Хром" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Манган" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Ферум" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Кобальт" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Нікол" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Купрум" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Цинк" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Галій" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Германій" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Арсен" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Селен" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Бром" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Криптон" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Рубідій" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Стронцій" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Ітрій" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Цирконій" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Ніобій" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Молібден" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Технецій" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Рутеній" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Родій" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Паладій" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Аргентум" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Кадмій" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Індій" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Станум" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "Сурма" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Телур" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Йод" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Ксенон" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Цезій" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Барій" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Лантан" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Церій" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Празеодим" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Неодим" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Прометій" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Самарій" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Європій" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Гадоліній" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Тербій" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Диспрозій" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Гольмій" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Ербій" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Тулій" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ітербій" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Лютецій" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Гафній" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Тантал" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Вольфрам" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Реній" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Осмій" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Іридій" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Платина" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Аурум" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Меркурій" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Талій" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Плюмбум" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Бісмут" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Полоній" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Астат" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Радон" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Францій" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Радій" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Актиній" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Торій" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Протактиній" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Уран" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Нептуній" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Плутоній" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Америцій" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Кюрій" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Берклій" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Каліфорній" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Ейнштейній" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Фермій" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Менделєвій" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Нобелій" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Лоуренсій" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Резерфордій" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Дубній" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Сіборгій" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Борій" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Гасій" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Майтнерій" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Дармштадтій" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Рентгеній" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Коперніцій" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Цирконій" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "Флеровій" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "Ліверморій" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Навігація…" #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr " Помилка позначення" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Вилучити позначене" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "Макліна/Чендлера" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Усі файли" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "без назви" #: qtgui/multiviewwidget.cpp:199 #, fuzzy msgid "Create a new view" msgstr "Створити файли wrl" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Періодична таблиця" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Не вдалося запустити abinit." #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "Abinit завершила роботу у аварійному режимі." #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Помилка OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Невідомий" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Молекула" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Додати атом" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Вилучити атом" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Вилучити все" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Вирівняти атоми водню" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Змінити елемент" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Змінити елемент" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "Формальний заряд" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Додати зв’язок" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Вилучити атом" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Вилучити зв’язок" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Порядок зв’язку" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Змінити порядок зв’язку" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Прилипання до зв’язків" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Вилучити зв’язок" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "Вилучити &елементарну комірку" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "Вилучити &елементарну комірку" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "Заповнити елементарну комірку" #: qtgui/rwmolecule.cpp:1094 #, fuzzy msgid "Wrap Atoms to Cell" msgstr "З&горнути атоми до комірки" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "Масштабування об’єму елементарної комірки" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "Надкомірки" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "Обернути до стандартної орієнтації" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 #, fuzzy msgid "Reduce to Primitive" msgstr "Звести до базової комірки" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "Симетризувати" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "Заповнити елементарну комірку" #: qtgui/rwmolecule.cpp:1297 #, fuzzy msgid "Reduce Cell to Asymmetric Unit" msgstr "Спростити до асиметричного модуля" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&Файл" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Експортувати" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "Порогові значення" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "файл виведених даних Orca" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Розширення" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr " Похибка " #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Помилка читання файла traj %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Помилка OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Помилка читання файла traj %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "Відкриття файла WFN" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "Відкриття файла WFN" #: qtplugins/apbs/apbsdialog.cpp:103 #, fuzzy msgid "PQR Files (*.pqr)" msgstr "файли VRML (*wrl)" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Помилка" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Зберегти вхідні дані" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "ABPS Input (*.in)" msgstr "Вхідні дані LAMMPS" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Успіх!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Коментарі у файлі вхідних даних" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Показувати кратні зв’язки" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "Водневі атоми" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Кульки і стрижні" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Показ міток атомів і зв’язків" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Керування центрами зв’язків" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Керування центрами зв’язків" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Кінцевий атом" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Вилучити атоми водню" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Збирання" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Зв’язок" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 #, fuzzy msgid "Client server operations." msgstr "&Допуск для операцій з симетрування…" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 #, fuzzy msgid "Connection failed" msgstr " Помилка позначення" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Назва файла:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Редактор декартових координат" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Редактор декартових координат" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Скасувати зміни" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Некоректна назва файла" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Назва елемента" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Символ елемента" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Символ елемента" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Некоректна назва файла" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Атомне число" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Некоректна назва файла" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Координати" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Координати" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Координати" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Декартові координати" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Декартові координати" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Координати" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "Встановлення декартових координат" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "Нетипова" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Vladimir Kurg,svv, ,Launchpad Contributions:,svv, ," "Launchpad Contributions:,svv, ,Launchpad Contributions:,svv, ,Launchpad " "Contributions:,svv, ,Launchpad Contributions:,svv, ,Launchpad Contributions:," "Yuri Chornoivan,svv, ,Launchpad Contributions:,Yuri Chornoivan,svv, ," "Launchpad Contributions:,Yuri Chornoivan,svv, ,Launchpad Contributions:,Yuri " "Chornoivan,svv, ,Launchpad Contributions:,Yuri Chornoivan,svv,yurchor, ," "Launchpad Contributions:,Yuri Chornoivan,svv,yurchor, ,Launchpad " "Contributions:,Andrii Prokopenko,Yuri Chornoivan,svv,yurchor" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ з числами" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Декартові координати" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Декартові координати" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Відомості ЕПФ GAMESS" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Відомості ЕПФ GAMESS" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Вхідні дані Turbomole" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Копіювати все" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Нетипова" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Вилучити все" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "Не вдалося встановити формат: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "Не вдалося встановити формат: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "&Імпортувати кристал з буфера…" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "Заповнити елементарну комірку" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "Заповнити елементарну комірку" #: qtplugins/crystal/crystal.cpp:71 #, fuzzy msgid "&Wrap Atoms to Unit Cell" msgstr "З&горнути атоми до комірки" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "Обернути до стандартної орієнтації" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "Масштабувати комірку до о&б’єму…" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "Надкомірки" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "Звести комірку (за &Нігглі)" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "Кристал…" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "Вилучити &елементарну комірку" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "Вилучити &елементарну комірку" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 #, fuzzy msgid "The unit cell is already reduced." msgstr "" "Цю елементарну комірку вже зведено до канонічного представлення Нігглі." #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "Кристал…" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Показ міток атомів і зв’язків" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "Не вдалося обробити текст" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "нетипові вісі" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Малювати" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Намалювати атом" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Змінити порядок зв’язку" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Вилучити атом" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Відстань" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Відстань (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Інше…" #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Автоматична оптимізація" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Одинарний" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Подвійний" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Потрійний" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Скрипти" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Помилка читання файла traj %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Засіб створення вхідних даних…" #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Вхідні дані GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Енергія у окремій точці" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Рівноважна геометрія" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "Перехідний стан" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "Частоти" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Псевдопотенціал" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "Газ" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "Рідина" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Синглет" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Дуплет" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Триплет" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Дикатіон" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "Катіон" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "Нейтральна" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "Аніон" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Діаніон" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Набір вхідних даних GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Перервати обчислення" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Вирівняти атоми водню" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Додати атоми водню" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Вилучити атоми водню" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Вилучити атоми водню" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "Водневі атоми" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "Водневі атоми" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Імпортувати" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Показ міток атомів і зв’язків" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES…" #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES…" #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "Вставити" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Немає опису" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Молекула" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Створити…" #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Керування" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Керування атомом" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Вимірювання" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Двограний кут:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Кут:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Кут:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Вимірювання" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Показ сіток молекулярних меж" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "П&ерегляд" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Молекулярні властивості" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Навігація" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Навігація" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Назва речовини" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Хімічна структура для звантаження." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Звантаження з мережі зазнало невдачі" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Перевищено час очікування на відповідь або інша помилка." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Не вдалося знайти вказану молекулу: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Звантаження з мережі зазнало невдачі" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Оптимізувати геометричні параметри" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Оптимізація геометричних параметрів" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "Виявити зв’язки?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Додати атоми водню" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Додати атоми водню при pH…" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Вилучити атоми водню" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Спроба читання даних молекули з файла «%1» зазнала невдачі." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Під час спроби запису файла %1 виникли проблеми" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Оптимізувати геометричні параметри" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Створити…" #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Дані файла траєкторій %1 не відповідають кількості атомів у поточній молекулі" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Оптимізувати геометричні параметри" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Додати атоми водню" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 #, fuzzy msgid "Generating obabel input..." msgstr "Створити вхідні дані Orca…" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Даннінга" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Додати атоми водню при pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Вилучити атоми водню" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Зупинити" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Параметри:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Динамічні зв’язки" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Вилучити…" #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Зупинити" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "Експорт у форматі векторної графіки" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Не вдалося прочитати файл %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 #, fuzzy msgid "Error message: " msgstr "Повідомлення про помилку!" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr " Похибка " #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Збереження файла відео" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Обробити за допомогою POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "Показ елементі на основі властивостей QTAIM" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "Молекулярний граф…" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "Молекулярний граф з вільними парами…" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "Заряд атома…" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "Р&озширення" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "Відкриття файла WFN" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "Файли WFN (*.wfn);;Всі файли (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "Розширення QTAIM" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Створення файлів вхідних даних для пакунків квантохімічних обчислень" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Обчислення електронної щільності" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Обчислення електронної щільності" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Обчислення та показ молекулярних орбіталей" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "МО %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(ВЗМО)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(НЗМО)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Скинути" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Формат файлів:" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Вилучити все" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Позначене" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "&Інвертувати позначення" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " валентних електронів" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "Поз&начення" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "Поз&начення" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Позначене" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Позначене" #: qtplugins/spacegroup/spacegroup.cpp:63 #, fuzzy msgid "Perceive Space Group" msgstr "Виявлення просторової групи" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "Симетризувати" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "Спростити до асиметричного модуля" #: qtplugins/spacegroup/spacegroup.cpp:97 #, fuzzy msgid "Set Tolerance" msgstr "Допуск:" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "&Просторова група" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 #, fuzzy msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" "Спроба визначення просторової групи зазнала невдачі.\n" "\n" "Бажаєте повторити спробу з іншим припустимим відхиленням?" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 #, fuzzy msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Спроба визначення просторової групи зазнала невдачі.\n" "\n" "Бажаєте повторити спробу з іншим припустимим відхиленням?" #: qtplugins/spacegroup/spacegroup.cpp:247 #, fuzzy msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Спроба визначення просторової групи зазнала невдачі.\n" "\n" "Бажаєте повторити спробу з іншим припустимим відхиленням?" #: qtplugins/spacegroup/spacegroup.cpp:271 #, fuzzy msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" "Спроба визначення просторової групи зазнала невдачі.\n" "\n" "Бажаєте повторити спробу з іншим припустимим відхиленням?" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 #, fuzzy msgid "Select tolerance in Å:" msgstr "SCF-допуск:" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "Міжнародні" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "Голл" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "Германн-Моген" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "Позначити просторову групу" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "&Просторова група" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Коливання" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Візуалізація спектрів" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "Показувати вісі &місцевої системи координат" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Тип" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Елемент" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "Властивості симетрії…" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "Симетрія" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Властивості симетрії" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Показ молекулярних дипольних моментів" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "∞" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Ван-дер-Ваальса" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Ван-дер-Ваальса" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Обробити" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "VRML" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Обробити за допомогою POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Каркас" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Показ молекул як стрижнів" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "Діалогове вікно" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Форма" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Параметри позначення" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Перервати обчислення" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Шейдерна програма:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Процесори:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Delete remote files when finished:" msgstr "С&ховати після завершення" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) #, fuzzy msgid "Open output when finished:" msgstr "С&ховати після завершення" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Змінити елемент" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Файл вхідних даних Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) #, fuzzy msgid "Generate Input From PDB" msgstr "Створити вхідні дані Orca…" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Файл параметрів:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "…" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Поле сил:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Файл параметрів:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Файл вхідних даних Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Зберегти вхідні дані" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Успіх!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "Завантажити файл" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Завантажити файл" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Параметри вимірювання" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "&Назва файла:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Навігація" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Навігація" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Навігація" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Назва файла:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "Гаразд" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Files of type:" msgstr "Формат файлів:" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Скасувати" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Формат координат:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Скинути" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Відстань" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "&ангстрем" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Бор" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Формат:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Скасувати зміни" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Застосувати" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "Імпорт кристала" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Параметри надкомірки" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "Параметри надкомірки" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "Повторень за A:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Повторень за B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Повторень за C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "Встановити колір елементаної комірки" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr " Å" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "α:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "β:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "γ:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Матриця комірки" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Місцева матриця комірки (%1)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Пересування атомів" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "&Застосувати" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "С&ховати" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "Масштабування об’єму елементарної комірки" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "New &Volume:" msgstr "Вкажіт нови об’єм" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Масштаб" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "TextLabel" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Елемент:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Порядок зв’язку:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Вхідні дані GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "&Просте налаштування" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "У:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "Мультиплетність:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "На основі:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Заголовок:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Заряд:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Обчислення:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Назва файла:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Скинути все" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Типові значення" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Завантажити файл…" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "назва" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Формат:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Немає опису" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Молекулярна вага (г/моль):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "ЩЕ НЕ НАПИСАНО" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Хімічна формула:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Кількість атомів:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Кількість зв’язків:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Оптимізація геометричних параметрів" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Метод оптимізації:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Поле сил:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Метод оптимізації:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Найстрімкіший спуск" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Спряжені градієнти" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Автоматичне обертання" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Поверхня Ван-дер-Ваальса, межа = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Електростатичний потенціал" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) #, fuzzy msgid "Å" msgstr " Å" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "кроків" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Критерій збіжності градієнта:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Збіжність" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Обмеження часу:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Одиниці" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Кількість зв’язків:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Довжина хвилі (нм)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Вилучити позначене" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "Радіус критичної точки:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "Радіус контуру зв’язку:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "Ковалентний" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "Сталий розмір" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Непрозорість:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Поверхні" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Поверхні" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "Середня" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "Дуже низька" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "Низька" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "Висока" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "Дуже висока" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Значення &ізоповерхні:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Роздільна здатність:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Поверхні" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "Обчислити" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Коливання" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "Амплітуда:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Почати &анімацію" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Зупинити &анімацію" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Молекула" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) #, fuzzy msgid "Lock Symmetry" msgstr "Симетрія" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Параметри" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) #, fuzzy msgid "Symmetry elements:" msgstr "Властивості симетрії" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "&Просторова група" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "Допуск:" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "Щільно" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "Звичайний" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "Вільно" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "Виявити симетрію" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Vladimir Kurg,svv, ,Launchpad Contributions:,svv, ," "Launchpad Contributions:,svv, ,Launchpad Contributions:,svv, ,Launchpad " "Contributions:,svv, ,Launchpad Contributions:,svv, ,Launchpad Contributions:," "Yuri Chornoivan,svv, ,Launchpad Contributions:,Yuri Chornoivan,svv, ," "Launchpad Contributions:,Yuri Chornoivan,svv, ,Launchpad Contributions:,Yuri " "Chornoivan,svv, ,Launchpad Contributions:,Yuri Chornoivan,svv,yurchor, ," "Launchpad Contributions:,Yuri Chornoivan,svv,yurchor, ,Launchpad " "Contributions:,Andrii Prokopenko,Yuri Chornoivan,svv,yurchor" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,skrypnychuk@gmail.com,,,skrypnychuk@gmail.com,,,skrypnychuk@gmail.com,,," "skrypnychuk@gmail.com,,,skrypnychuk@gmail.com,,,skrypnychuk@gmail.com,,," "yurchor@gmail.com,skrypnychuk@gmail.com,,,yurchor@gmail.com," "skrypnychuk@gmail.com,,,yurchor@gmail.com,skrypnychuk@gmail.com,,," "yurchor@gmail.com,skrypnychuk@gmail.com,,,yurchor@gmail.com," "skrypnychuk@gmail.com,,,,yurchor@gmail.com,skrypnychuk@gmail.com,,,,," "yurchor@gmail.com,skrypnychuk@gmail.com," #~ msgid "Color by Index" #~ msgstr "порядковими номерами атомів" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "" #~ "Розфарбувати за порядковими номерами атомів (червоний, помаранчевий, " #~ "жовтий, зелений, синій, фіолетовий)." #~ msgid "Color by Partial Charge" #~ msgstr "частковими зарядами атомів" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Розфарбувати за частковим зарядом атома (синій = додатний, червоний = " #~ "від’ємний)." #~ msgid "Custom Color:" #~ msgstr "Інший колір:" #~ msgid "Custom Color" #~ msgstr "інший колір" #~ msgid "Set custom colors for objects" #~ msgstr "Вказати інші кольори для об’єктів" #~ msgid "Color by Distance" #~ msgstr "відстанями" #~ msgid "Color by distance from the first atom." #~ msgstr "Розфарбувати за відстанню від першого атома." #~ msgid "Color by Element" #~ msgstr "елементами" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Розфарбувати за елементами (вуглець = сірий, кисень = червоний…)." #~ msgid "Color by Residue" #~ msgstr "залишками" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "Розфарбувати за залишком (типом амінокислоти, гідрофобністю…)" #~ msgid "SMARTS Pattern:" #~ msgstr "Набор SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Колір позначення:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "набором SMARTS" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "Позначати окремі елементи, які відповідають набору SMARTS." #~ msgid "Ununtrium" #~ msgstr "Унунтрій" #~ msgid "Ununpentium" #~ msgstr "Унунпентій" #~ msgid "Ununseptium" #~ msgstr "Унунсептій" #~ msgid "Ununoctium" #~ msgstr "Унуноктій" #~ msgid "Engines" #~ msgstr "Рушії" #~ msgid "Axes" #~ msgstr "Осі" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Показ осей x, y і z поблизу початку координат" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "Показ елементів за допомогою кульок (атоми) та стрижнів (зв’язки)" #~ msgid "Cartoon" #~ msgstr "Макет" #~ msgid "Renders protein secondary structure" #~ msgstr "Показ вторинної структури білків" #~ msgid "Dipole" #~ msgstr "Диполь" #~ msgid "Force" #~ msgstr "Сила" #~ msgid "Renders force displacements on atoms" #~ msgstr "Показ силових зсувів атомів" #~ msgid "Hydrogen Bond" #~ msgstr "Водневі зв’язки" #~ msgid "Renders hydrogen bonds" #~ msgstr "Показ водневих зв’язків" #~ msgid "Select Atom Labels Color" #~ msgstr "Вибір кольору міток атомів" #~ msgid "Select Bond Labels Color" #~ msgstr "Вибір кольору міток зв’язків" #~ msgid "Select Atom Labels Font" #~ msgstr "Вибір шрифту міток атомів" #~ msgid "Select Bond Labels Font" #~ msgstr "Вибір шрифту міток зв’язків" #~ msgid "Label" #~ msgstr "Мітка" #~ msgid "Polygon" #~ msgstr "Полігональний" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Показувати атоми як тетраедри, октаедри та інші багатогранники" #~ msgid "Ribbon" #~ msgstr "Смужка" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Показувати основу білка смужкою" #~ msgid "Ring" #~ msgstr "Цикл" #~ msgid "Renders rings with colored planes" #~ msgstr "Показувати цикли розфарбованими площинами" #~ msgid "Simple Wireframe" #~ msgstr "Простий каркас" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "" #~ "Показ зв’язків як лінійних стрижнів. Чудово працює для великих молекул." #~ msgid "Van der Waals Spheres" #~ msgstr "Сфери Ван-дер-Ваальса" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Показ атомів як сфер Ван-дер-Ваальса" #~ msgid "Stick" #~ msgstr "Стрижні" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Поверхня електронної щільності, межа = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, межа = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Показ зв’язків як лінійних стрижнів. Чудово працює для дуже великих " #~ "(біо-)молекул." #~ msgid "Trajectory files" #~ msgstr "Файли траєкторій" #~ msgid "DL-POLY HISTORY files" #~ msgstr "Файли HISTORY DL-POLY" #~ msgid "Open Trajectory File" #~ msgstr "Відкриття файла траєкторії" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "відеофайли (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Додавання суфікса .avi" #~ msgid "Animation..." #~ msgstr "Анімація…" #~ msgid "Cannot read file format of file %1." #~ msgstr "Не вдається визначити формат файла %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Спроба читання файла траєкторії %1 зазнала невдачі." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Слід вказати коректну назву файла .avi" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "" #~ "Віджет GL не було належним чином ініціалізовано для збереження відеоданих" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "" #~ "Некоректна назва файла відео. Слід вказати назву з адресою теки повністю" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Некоректна назва файла відео. Слід вказати назву з адресою теки повністю " #~ "з суфіксом файла .avi." #~ msgid "Could not determine format from filename: %1" #~ msgstr "Не вдалося визначити формат за назвою файла: %1" #~ msgid "Animation" #~ msgstr "Анімація" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Анімація траєкторій, реакції та коливань." #~ msgid "Cartesian Editor" #~ msgstr "Редактор декартових координат" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Для молекули не визначено елементарної комірки — не можна використовувати " #~ "дробові значення координат." #~ msgid "Cartesian Editor..." #~ msgstr "Редактор декартових координат…" #~ msgid "Cartesian editor" #~ msgstr "Редактор декартових координат" #~ msgid "Number of atoms: %1" #~ msgstr "Кількість атомів: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Кількість обертових зв’язків: %1" #~ msgid "Add constraint" #~ msgstr "Додати обмеження" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Для додавання обмеження ваша молекула має містити принаймні один атом" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Для додавання обмеження зв’язку ваша молекула має містити принаймні два " #~ "атома" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Для додавання обмеження на кут ваша молекула має містити принаймні три " #~ "атома" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Для додавання обмеження на кут обертання ваша молекула має містити " #~ "принаймні чотири атома" #~ msgid "&Crystallography" #~ msgstr "&Кристалографія" #~ msgid "&Reduce" #~ msgstr "Сп&ростити" #~ msgid "&Settings" #~ msgstr "П&араметри" #~ msgid "&Length Unit" #~ msgstr "Од&иниця довжини" #~ msgid "&Angle Unit" #~ msgstr "&Одиниця кутів" #~ msgid "&Coordinate Display" #~ msgstr "Показ к&оординат" #~ msgid "Coordinate &Preservation" #~ msgstr "З&береження координат" #~ msgid "&Matrix Display" #~ msgstr "Показ &матриці" #~ msgid "Hide &Editors" #~ msgstr "Сховати пункти &редагування" #~ msgid "Show &Editors" #~ msgstr "Показати пункти &редагування" #~ msgid "Hide &Property Display" #~ msgstr "Сховати панель &властивостей" #~ msgid "Show &Property Display" #~ msgstr "Показати панель &властивостей" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "Тип ґратки: %1" #~ msgid "Spacegroup: %1" #~ msgstr "Просторова група: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "Об’єм елементарної комірки: %L1%2" #~ msgid "Undefined" #~ msgstr "Не визначено" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "триклінна" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "моноклінна" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "орторомбічна" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "тетрагональна" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "ромбоедрична" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "гексагональна" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "кубічна" #~ msgid "Paste Crystal" #~ msgstr "Вставити кристал" #~ msgid "" #~ "Niggli-reduction failed. The input structure's lattice that is confusing " #~ "the Niggli-reduction algorithm. Try making a small perturbation (approx. " #~ "2 orders of magnitude smaller than the tolerance) to the input lattices " #~ "and try again." #~ msgstr "" #~ "Спроба використання спрощення Нігглі зазнала невдачі. Причиною є вхідні " #~ "дані структури ґратки. Спробуйте внести невеличке збурення (приблизно на " #~ "два порядки менше за припустиме відхилення) до вхідних даних ґратки, а " #~ "потім повторіть спробу." #~ msgid "" #~ "Failed to reduce cell after 1000 iterations of the reduction algorithm. " #~ "Stopping." #~ msgstr "" #~ "Не вдалося звести комірку за допомогою 1000 ітерацій алгоритму зведення. " #~ "Спроби припинено." #~ msgid "&Translate Atoms..." #~ msgstr "&Пересунути атоми…" #~ msgid "Rotate To Standard &Orientation" #~ msgstr "Обернути до стандартної &орієнтації" #~ msgid "&Slab..." #~ msgstr "П&лита…" #~ msgid "Perceive Space&group..." #~ msgstr "Визначити п&росторову групу…" #~ msgid "Set &Spacegroup..." #~ msgstr "Встановити просторову &групу…" #~ msgid "&Fill Unit Cell" #~ msgstr "&Заповнити елементарну комірку" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "Заповнити елементарну комірку на основі поточної просторової групи." #~ msgid "Reduce to &Asymmetric Unit" #~ msgstr "Спростити до &асиметричного модуля…" #~ msgid "Remove atoms in equivalent positions (inverse of Fill Unit Cell)." #~ msgstr "" #~ "Вилучити атоми у еквівалентних позиціях (обернене до «Заповнити комірку " #~ "модуля»)" #~ msgid "Sy&mmetrize Crystal" #~ msgstr "С&иметризувати кристал" #~ msgid "Reduce Cell (&Primitive)" #~ msgstr "Звести комірку (до &базової)" #~ msgid "&Bohr" #~ msgstr "&бор" #~ msgid "&Nanometer" #~ msgstr "&нанометр" #~ msgid "&Picometer" #~ msgstr "&пікометр" #~ msgid "&Degree" #~ msgstr "&градус" #~ msgid "&Radian" #~ msgstr "&радіан" #~ msgid "Display &cartesian coordinates" #~ msgstr "Показувати вісі &декартової системи координат" #~ msgid "Preserve &Cartesian Coordinates During Cell Modification" #~ msgstr "Зберігати &декартові вісі координат під час змін геометрії комірки" #~ msgid "Preserve &Fractional Coordinates During Cell Modification" #~ msgstr "Зберігати &місцеві вісі координат під час змін у геометрії комірки" #~ msgid "Display &cartesian matrix" #~ msgstr "Показувати матрицю &декартової системи" #~ msgid "Display &fractional matrix" #~ msgstr "Показувати матрицю &місцевої системи" #~ msgid "Display as &row vectors" #~ msgstr "Показувати як вектори-&рядки" #~ msgid "Display as &column vectors" #~ msgstr "Показувати як вектори-стовп&чики" #~ msgid "&Crystal View Options..." #~ msgstr "Параметри перегляду &кристалів…" #~ msgid "" #~ "

Perceived spacegroup %1, Hall symbol %2, Hermann-Mauguin symbol %3." #~ "

Cell can be symmetrized into a conventional setting, do you wish to " #~ "do so? Actions that make use of symmetry (e.g. supercell builder) require " #~ "this.

" #~ msgstr "" #~ "

Видима просторова група %1, символ Голла %2, символ Германна-Могена %3." #~ "

Комірку можна симетризувати до загальноприйнятої конфігурації. " #~ "Хочете, щоб програма це зробила? Це потрібно для дій, у яких " #~ "використовується симетрія (наприклад, побудови суперкомірок).

" #~ msgid "Set Spacegroup" #~ msgstr "Встановлення просторової групи" #~ msgid "" #~ "There is not a spacegroup set for this document.\n" #~ "\n" #~ "Would you like to set a spacegroup now?" #~ msgstr "" #~ "У цьому документі не встановлено просторової групи.\n" #~ "\n" #~ "Бажаєте встановити просторову групу зараз?" #~ msgid "" #~ "Spacegroup P1 detected -- cannot symmetrize to this spacegroup.\n" #~ "\n" #~ "Would you like to try again with a different tolerance?" #~ msgstr "" #~ "Виявлено просторову групу P1 — таку просторову групу неможливо " #~ "симетризувати.\n" #~ "\n" #~ "Бажаєте повторити спробу з іншим припустимим відхиленням?" #~ msgid "Symmetrize Crystal" #~ msgstr "Симетризація кристала" #~ msgid "Wrap Atoms To Cell" #~ msgstr "Згорнути атоми до комірки" #~ msgid "Reduce to Niggli Cell" #~ msgstr "Звести до комірки Нігглі" #~ msgid "Select tolerance in current cartesian units:" #~ msgstr "" #~ "Виберіть припустиме відхилення у поточних одиницях декартової системи:" #~ msgid "Crystallography" #~ msgstr "Кристалографія" #~ msgid "Construct and analyze periodic structures." #~ msgstr "Побудова та аналіз періодичних структур." #~ msgid "" #~ "The input is not formatted as one of\n" #~ "the following supported formats:\n" #~ "\n" #~ msgstr "" #~ "Формат вхідних даних не відповідає\n" #~ "жодному з підтримуваних форматів:\n" #~ "\n" #~ msgid "VASP Format\n" #~ msgstr "Формат VASP\n" #~ msgid "Bad Compostion" #~ msgstr "Помилкове компонування" #~ msgid "" #~ "The identities field must contain the same number of space delimited " #~ "entries as line 6 of the POSCAR." #~ msgstr "" #~ "Поле профілів має містити ту саму кількість записів, відокремлених " #~ "пробілами, що і рядок 6 даних POSCAR." #~ msgid "Cartesian Coordinates" #~ msgstr "Декартові координати" #~ msgid "Fractional Coordinates" #~ msgstr "Місцеві координати" #~ msgid "Set Fractional Coordinates" #~ msgstr "Встановлення місцевих координат" #~ msgctxt "Unit cell matrix, arg is vector style (row or column" #~ msgid "Cell Matrix (%1)" #~ msgstr "Матриця комірок (%1)" #~ msgid "Set Unit Cell Matrix" #~ msgstr "Встановлення матриці елементарної комірки" #~ msgid "Set Unit Cell Params" #~ msgstr "Встановлення параметрів елементарної комірки" #~ msgid "Working..." #~ msgstr "Обробка даних…" #~ msgid "Build" #~ msgstr "Побудувати" #~ msgid "Cut Slab From Crystal" #~ msgstr "Вирізати плиту з кристала" #~ msgid "No GLWidget?" #~ msgstr "Немає GL-віджета?" #~ msgid "Please select one or more atoms." #~ msgstr "Будь ласка, позначте один або декілька атомів." #~ msgid "Trajectory..." #~ msgstr "Траєкторія…" #~ msgid "Open chemical file format" #~ msgstr "Відкриття файла формату хімічних даних" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Файли хімічних даних (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "Відкрити файл параметрів" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Файли хімічних даних (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Імпорт траєкторії" #~ msgid "Import trajectory files" #~ msgstr "Імпортувати файли траєкторій" #~ msgid "Setup Force Field..." #~ msgstr "Налаштування поля сил…" #~ msgid "Calculate Energy" #~ msgstr "Обчислення енергії" #~ msgid "Conformer Search..." #~ msgstr "Пошук конформерів…" #~ msgid "Constraints..." #~ msgstr "Обмеження…" #~ msgid "Ignore Selection" #~ msgstr "Ігнорувати позначене" #~ msgid "Fix Selected Atoms" #~ msgstr "Зафіксувати позначені атоми" #~ msgid "&Molecular Mechanics" #~ msgstr "&Молекулярна механіка" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Не вдалося встановити поточне вибране поле сили для цієї молекули. " #~ "Перемикання на однорідне поле сили." #~ msgid "Energy = %L1 %2" #~ msgstr "Енергія = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Оптимізація геометричних параметрів" #~ msgid "Forcefield Optimization" #~ msgstr "Оптимізація поля сил" #~ msgid "Systematic Rotor Search" #~ msgstr "Систематичний пошук обертань" #~ msgid "Random Rotor Search" #~ msgstr "Випадковий пошук обертань" #~ msgid "Weighted Rotor Search" #~ msgstr "Середньозважений пошук обертань" #~ msgid "Genetic Algorithm Search" #~ msgstr "Пошук за генетичним алгоритмом" #~ msgid "ForceField" #~ msgstr "Поле сил" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Оптимізація молекул та створення конформерів за допомогою полів сил " #~ "молекулярної механіки" #~ msgid "&Vector Graphics..." #~ msgstr "&Векторна графіка…" #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "Типові формати векторної графіки" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "Експорт у форматі векторної графіки" #~ msgid "Change H to Methyl" #~ msgstr "Заміна H на метил" #~ msgid "H to Methyl" #~ msgstr "H у метил" #~ msgid "H2Methyl" #~ msgstr "H->Метил" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Перетворити атоми водню на метилові групи" #~ msgid "Add or remove hydrogens" #~ msgstr "Додати або вилучити атоми водню" #~ msgid "DNA/RNA..." #~ msgstr "ДНК/РНК…" #~ msgid "Insert DNA" #~ msgstr "Вставити ДНК" #~ msgctxt "uracil" #~ msgid "U" #~ msgstr "У" #~ msgid "Uracil" #~ msgstr "Урацил" #~ msgctxt "thymine" #~ msgid "T" #~ msgstr "Т" #~ msgid "Thymine" #~ msgstr "Тимін" #~ msgid "Insert DNA/RNA" #~ msgstr "Вставити ДНК або РНК" #~ msgid "Insert DNA/RNA chains" #~ msgstr "Вставити ланцюжки ДНК або РНК" #~ msgid "Cannot read molecular file %1." #~ msgstr "Не вдалося прочитати файл молекули %1." #~ msgid "Fragment..." #~ msgstr "Фрагмент…" #~ msgid "Insert SMILES" #~ msgstr "Вставити SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Вставити фрагмент SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Вставити фрагмент" #~ msgid "Insert Crystal" #~ msgstr "Вставити кристал" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Вставити фрагменти молекул для побудови більших молекул" #~ msgid "Peptide..." #~ msgstr "Пептид…" #~ msgid "Insert Peptide" #~ msgstr "Вставити пептид" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Вставити олігопептидну послідовність" #~ msgid "Invert Chirality" #~ msgstr "Інвертувати хіральність" #~ msgid "InvertChiral" #~ msgstr "Інверсія хіральності" #~ msgid "Invert chiral centers" #~ msgstr "Інверсія центрів хіральності" #~ msgid "Molecule Properties..." #~ msgstr "Властивості молекули…" #~ msgid "&Properties" #~ msgstr "&Властивості" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "невідома" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Оцінка дипольного моменту (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(очікується)" #~ msgid "Display standard molecular properties." #~ msgstr "Показати стандартні властивості молекули." #~ msgid "Fetch from PDB..." #~ msgstr "Звантажити з PDB…" #~ msgid "Fetch by chemical name..." #~ msgstr "Звантажити за назвою…" #~ msgid "Fetch from URL..." #~ msgstr "Звантажити за адресою…" #~ msgid "PDB Entry" #~ msgstr "Запис PDB" #~ msgid "PDB entry to download." #~ msgstr "Запис PDB для звантаження." #~ msgid "URL" #~ msgstr "Адреса" #~ msgid "URL of molecule to download." #~ msgstr "Адреса молекули для звантаження." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Не вдалося завантажити вказану молекулу: %1" #~ msgid "Network Fetch" #~ msgstr "Звантаження з мережі" #~ msgid "Fetch molecule files over the network." #~ msgstr "Звантаження файлів молекул з мережі." #~ msgid "OrcaExtension Warning" #~ msgstr "Попередження OrcaExtension" #~ msgid "OrcaExtension" #~ msgstr "OrcaExtension" #~ msgid " No vibration data found!" #~ msgstr " Не знайдено даних щодо вібрації!" #~ msgid " No vibration data found or molecule changed outside Orca Plugin!" #~ msgstr "" #~ " Не знайдено даних щодо вібрації або дані молекули змінено поза межами " #~ "додатка Orca!" #~ msgid "Selected displacement data don't fit to the actual molecule!" #~ msgstr "Вибрані дані щодо зміщень не відповідають справжній молекулі!" #~ msgid "extended Geometry File" #~ msgstr "файл розширеної геометрії" #~ msgid "All Files" #~ msgstr "Всі файли" #~ msgid "Read Orca Outputfile" #~ msgstr "Прочитати файл виведених даних Orca" #~ msgid "no file found" #~ msgstr "файла не знайдено" #~ msgid "Somethings wrong in the file structure" #~ msgstr "Щось не так із структурою файла" #~ msgid "Somethings wrong in the file structure - unitcells" #~ msgstr "Щось не так із структурою файла — unitcells" #~ msgid "Something is wrong in the IR output! " #~ msgstr "Щось не так у виведених даних IR! " #~ msgid "Something is wrong in the raman output! " #~ msgstr "Щось не так у виведених даних raman! " #~ msgid "Something is wrong in the orbital energy output! " #~ msgstr "Щось не так у виведених даних щодо орбітальної енергії! " #~ msgid "No geometry found in file!" #~ msgstr "У файлі не виявлено геометричних параметрів!" #~ msgid "" #~ "Molecule of the file does not fit the actual molecule structure! \n" #~ " Would you like to override the actual molecule?" #~ msgstr "" #~ "Молекула з файла не відповідає дійсній структурі молекули! \n" #~ " Хочете перевизначити параметри дійсної молекули?" #~ msgid "Could not read file!" #~ msgstr "Не вдалося прочитати файл!" #~ msgid "Analyse Orca Output..." #~ msgstr "Проаналізувати виведені дані Orca…" #~ msgid "&Orca" #~ msgstr "&Orca" #~ msgid "Orca Test Example" #~ msgstr "Тестовий приклад Orca" #~ msgid "Provides a dialog box with the words \"H...\"." #~ msgstr "Відкриває діалогове вікно із словами «H…..»." #~ msgid "ORCA Input Deck" #~ msgstr "Панель введення ORCA" #~ msgid "Show Preview" #~ msgstr "Показати попередній перегляд" #~ msgid "Hide Preview" #~ msgstr "Приховати попередній перегляд" #~ msgid "RijCosX option not available for the selected DFT functional!" #~ msgstr "" #~ "Варіантом RijCosX для вибраного функціоналу ТФЩ (DFT) скористатися " #~ "неможливо!" #~ msgid "" #~ "RijCosX not available for the selected DFT functional! \n" #~ "RijCosX option reset!" #~ msgstr "" #~ "RijCosX не можна скористатися для вибраного функціоналу ТФЩ (DFT)! \n" #~ "Пункт щодо RijCosX скинуто!" #~ msgid "" #~ "Unsaved changes are made in the actual preview text! \n" #~ " Generating a new preview will lose all changes! \n" #~ " Would you like to override them anyway?" #~ msgstr "" #~ "До тексту попереднього перегляду внесено незбережені зміни! \n" #~ " Створення нового вікна попереднього перегляду призведе до втрати змін! \n" #~ " Хочете відкинути ці зміни?" #~ msgid "Intensities" #~ msgstr "Інтенсивності" #~ msgid " OrcaSpectra::No vibration data found!" #~ msgstr " OrcaSpectra::не знайдено даних щодо вібрації!" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Зберегти оброблене зображення POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Файли зображень (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray…" #~ msgid "No filename supplied." #~ msgstr "Не вказано назви файла." #~ msgid "No valid filename was supplied." #~ msgstr "Не вказано коректної назви файла." #~ msgid "Does not compute." #~ msgstr "Не обчислювати." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Ви наказали не виконувати пряму обробку за допомогою POV-Ray і не " #~ "зберігати файл POV-Ray. Отже виведені дані не буде збережено. Це справді " #~ "те, чого ви бажали?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "" #~ "Не вдалося записати дані до файла %1. Чи є у вас належні права доступу на " #~ "запис?" #~ msgid "POV-Ray failed to start." #~ msgstr "Не вдалося запустити POV-Ray." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "Не вдалося запустити POV-Ray. Ймовірно, шлях до виконуваного файла " #~ "вказано з помилкою." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Створити файли POV-Ray і обробити їх за допомогою програми POV-Ray, що " #~ "керується командним рядком." #~ msgid "Atom Properties..." #~ msgstr "Властивості атомів…" #~ msgid "Bond Properties..." #~ msgstr "Властивості зв’язків…" #~ msgid "Angle Properties..." #~ msgstr "Властивості кутів…" #~ msgid "Torsion Properties..." #~ msgstr "Властивості обертання…" #~ msgid "Conformer Properties..." #~ msgstr "Властивості конформерів…" #~ msgid "Atom Properties" #~ msgstr "Властивості атомів" #~ msgid "Bond Properties" #~ msgstr "Властивості зв’язків" #~ msgid "Angle Properties" #~ msgstr "Властивості кутів" #~ msgid "Torsion Properties" #~ msgstr "Властивості обертання" #~ msgid "Conformer Properties" #~ msgstr "Властивості конформерів" #~ msgid "Properties" #~ msgstr "Властивості" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Вікна для показу властивостей атомів, зв’язків, кутів та обертання. " #~ "Передбачено редактор параметрів декартових координат." #~ msgid "Valence" #~ msgstr "Валентність" #~ msgid "Partial Charge" #~ msgstr "Частковий заряд" #~ msgid "Atom" #~ msgstr "Атом" #~ msgid "Start Atom" #~ msgstr "Початковий атом" #~ msgid "Rotatable" #~ msgstr "Обертання" #~ msgctxt "in Angstrom" #~ msgid "" #~ "Conformer %1\n" #~ "Length %2" #~ msgstr "" #~ "Конформація %1\n" #~ "Довжина %2" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Довжина %1" #~ msgid "Vertex" #~ msgstr "Вершина" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Angle %2" #~ msgstr "" #~ "Конформація %1\n" #~ "Кут %2" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Кут %1" #~ msgid "Angle" #~ msgstr "Кут" #~ msgid "Atom %1" #~ msgstr "Атом %1" #~ msgctxt "Degree symbol" #~ msgid "" #~ "Conformer %1\n" #~ "Torsion %2" #~ msgstr "" #~ "Конформація %1\n" #~ "Кут повороту %2" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Обертання %1" #~ msgid "Torsion" #~ msgstr "Обертання" #~ msgid "Energy (kJ/mol)" #~ msgstr "Енергія (кДж/моль)" #~ msgid "Conformer" #~ msgstr "Конформер" #~ msgid "Yes" #~ msgstr "Так" #~ msgid "No" #~ msgstr "Ні" #~ msgid "Python Terminal" #~ msgstr "Термінал Python" #~ msgid "pythonTerminalDock" #~ msgstr "Панель термінала python" #~ msgid "Interactive python scripting terminal" #~ msgstr "Інтерактивний термінал скриптів python" #~ msgid "Abinit Input Deck Generator Warning" #~ msgstr "Попередження засобу для створення вхідних файлів Abinit" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Abinit input deck preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду вхідних даних Abinit?" #~ msgid "Abinit_Input_Deck" #~ msgstr "Набір вхідних даних Abinit" #~ msgid "Abinit Running." #~ msgstr "Abinit запущено." #~ msgid "" #~ "Abinit is already running. Please wait until the previous calculation is " #~ "finished." #~ msgstr "Abinit вже запущено. Зачекайте на завершення попередніх обчислень." #~ msgid "Abinit Not Installed." #~ msgstr "Abinit не встановлено." #~ msgid "The abinit executable cannot be found." #~ msgstr "Не вдалося виявити виконуваний файл Abinit." #~ msgid "" #~ "Pseudos (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgstr "" #~ "псевдо (*.hgh *.gth *.pspgth *.fhi *.pspnc *.paw *.mt *.UPF *.upf *.psp)" #~ msgid "abinit did not start. Perhaps it is not installed correctly." #~ msgstr "Abinit не запущено. Ймовірно, програму не встановлено." #~ msgid "Running Abinit calculation..." #~ msgstr "Виконуються розрахунки за допомогою Abinit…" #~ msgid "Abinit did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Abinit не запущено належним чином. Ймовірно, програму встановлено з " #~ "помилками." #~ msgid "Dalton Input File Generator Warning" #~ msgstr "Попередження засобу для створення вхідних файлів Dalton" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду файла вхідних даних " #~ "Dalton?" #~ msgid "QM Matches" #~ msgstr "Відповідники КМ" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Вибір ЕПФ…" #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Вибір параметрів КМ…" #~ msgid "Delete" #~ msgstr "Вилучити" #~ msgid "You must make a selection!" #~ msgstr "Вам слід позначити хоч щось!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Неможливо скористатися перетворенням SMILES" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Перетворення форматів SMILES недоступне!" #~ msgid "Group Name" #~ msgstr "Назва групи" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "" #~ "Створення файлів вхідних даних для пакунка квантохімічних обчислень GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Змінено додаткові параметри" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Змінено додаткові параметри.\n" #~ "Відкинути внесені зміни?" #~ msgid "Advanced Settings Reset" #~ msgstr "Скидання додаткових параметрів" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Ви справді бажаєте відкинути зміни, внесені до додаткових параметрів?\n" #~ "Змінені значення буде втрачено!" #~ msgid "Basic Settings Reset" #~ msgstr "Скидання основних параметрів" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Ви справді бажаєте відкинути зміни, внесені до основних параметрів?\n" #~ "Змінені значення буде втрачено!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "Попередження засобу для створення вхідних файлів GAMESS-UK" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "GAMESS-UK input deck preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду вхідних даних GAMESS-" #~ "UK?" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "Панель імпорту з GAMESS-UK" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Попередження засобу для створення вхідних файлів Gaussian" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду вхідних даних " #~ "Gaussian?" #~ msgid "Gaussian Input Deck" #~ msgstr "Набір вхідних даних Gaussian" #~ msgid "Gaussian Running." #~ msgstr "Запущено Gaussian." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "" #~ "Gaussian вже запущено. Зачекайте на завершення попередніх обчислень." #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian не встановлено." #~ msgid "The G03 executable, cannot be found." #~ msgstr "Не вдалося виявити виконуваний файл G03." #~ msgid "G03 failed to start." #~ msgstr "Не вдалося запустити G03." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03 не запущено. Ймовірно, програму не встановлено." #~ msgid "Running Gaussian calculation..." #~ msgstr "Виконуються розрахунки за допомогою Gaussian…" #~ msgid "G03 Crashed." #~ msgstr "Роботу G03 завершено у аварійному режимі." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "Gaussian не запущено належним чином. Ймовірно, програму встановлено з " #~ "помилками." #~ msgid "&Abinit..." #~ msgstr "&Abinit…" #~ msgid "&Dalton..." #~ msgstr "&Dalton…" #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK…" #~ msgid "&Gaussian..." #~ msgstr "&Gaussian…" #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO…" #~ msgid "M&OPAC..." #~ msgstr "M&OPAC…" #~ msgid "&NWChem..." #~ msgstr "&NWChem…" #~ msgid "&PSI4..." #~ msgstr "&PSI4…" #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem…" #~ msgid "&TeraChem..." #~ msgstr "&TeraChem..." #~ msgid "&LAMMPS..." #~ msgstr "&LAMMPS…" #~ msgid "Input File Generators" #~ msgstr "Засоби створення вхідних файлів" #~ msgid "Lammps Input Deck Generator Warning" #~ msgstr "Попередження засобу для створення вхідних файлів Lammps" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Lammps input deck preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду вхідних даних Lammps?" #~ msgid "Lammps Input" #~ msgstr "Вхідні дані LAMMPS" #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Попередження засобу для створення вхідних файлів Molpro" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду вхідних даних Molpro?" #~ msgid "Molpro Input Deck" #~ msgstr "Набір вхідних даних Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Попередження засобу створення вхідних даних MOPAC" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду вхідних даних MOPAC?" #~ msgid "MOPAC Input Deck" #~ msgstr "Набір вхідних даних MOPAC" #~ msgid "MOPAC Running." #~ msgstr "Запущено MOPAC." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC вже запущено. Зачекайте на завершення попередніх обчислень." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC не встановлено." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Не вдалося виявити виконуваний файл MOPAC." #~ msgid "MOPAC failed to start." #~ msgstr "Не вдалося запустити MOPAC." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC не запущено. Ймовірно, програму не встановлено." #~ msgid "Running MOPAC calculation..." #~ msgstr "Виконуються розрахунки за допомогою MOPAC…" #~ msgid "MOPAC Crashed." #~ msgstr "Роботу MOPAC завершено у аварійному режимі." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC не запущено належним чином. Ймовірно, програму встановлено з " #~ "помилками." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "Попередження засобу для створення вхідних файлів NWChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду вхідних даних NWChem?" #~ msgid "NWChem Input Deck" #~ msgstr "Набір вхідних даних NWChem" #~ msgid "Psi4 Input Deck Generator Warning" #~ msgstr "Попередження засобу для створення вхідних файлів Psi4" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Psi4 input deck preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду вхідних даних Psi4?" #~ msgid "Psi4 Input Deck" #~ msgstr "Набір вхідних даних Psi4" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Попередження засобу для створення вхідних файлів Q-Chem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду вхідних даних Q-Chem?" #~ msgid "QChem Input Deck" #~ msgstr "Набір вхідних даних Q-Chem" #~ msgid "TeraChem Input Deck Generator Warning" #~ msgstr "Попередження засобу для створення вхідних файлів TeraChem" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "TeraChem input deck preview pane?" #~ msgstr "" #~ "Бажаєте оновити текст попереднього перегляду з втратою всіх змін, " #~ "внесених за допомогою панелі попереднього перегляду вхідних даних " #~ "TeraChem?" #~ msgid "TeraChem Input Deck" #~ msgstr "Набір вхідних даних TeraChem" #~ msgid "Select SMARTS..." #~ msgstr "Позначити SMARTS…" #~ msgid "Select by Element..." #~ msgstr "Позначити за елементом…" #~ msgid "Select by Residue..." #~ msgstr "Позначити за залишком…" #~ msgid "Add Named Selection..." #~ msgstr "Додати іменоване позначення…" #~ msgid "SMARTS Selection" #~ msgstr "Позначення за SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Позначити відповідно до набору SMARTS" #~ msgid "Select by residue" #~ msgstr "Позначити за залишком" #~ msgid "Residue name" #~ msgstr "Назва залишку" #~ msgid "There is no current selection." #~ msgstr "Зараз нічого не позначено." #~ msgid "Add Named Selection" #~ msgstr "Додати іменоване позначення" #~ msgid "Name cannot be empty." #~ msgstr "Назва не може бути порожньою." #~ msgid "There is already a selection with this name." #~ msgstr "Позначення з такою назвою вже існує." #~ msgid "Selections" #~ msgstr "Позначення" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "Позначити атоми, зв’язки, залишки…" #~ msgid "GLSL Shaders..." #~ msgstr "GLSL-шейдери…" #~ msgid "Open a vertex shader source file" #~ msgstr "Відкрити файл кодів вершинного шейдера" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Файли вершинних шейдерів (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "Відкрити файл кодів шейдера фрагментів" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Файли шейдерів фрагментів (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Відкриття файла параметрів шейдера" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Файли параметрів шейдерів (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL-шейдери" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "Завантаження і використання GLSL-шейдерів OpenGL 2.0" #~ msgid "Intensity (arb. units)" #~ msgstr "Інтенсивність (довільні одиниці)" #~ msgid "Energy (eV)" #~ msgstr "Енергія (еВ)" #~ msgid "Density of States (states/cell)" #~ msgstr "Щільність станів (станів/комірку)" #~ msgid "Density of States (states/atom)" #~ msgstr "Щільність станів (станів/атом)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Щільність станів (станів/валентний електрон)" #~ msgid "Transmittance (%)" #~ msgstr "Пропускання (у %)" #~ msgid "Absorbance (%)" #~ msgstr "Поглинання (у %)" #~ msgid "No intensities" #~ msgstr "Без інтенсивностей" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Серед даних коливань молекули, яку ви завантажили, немає даних щодо " #~ "інтенсивності. Для візуалізації встановлено довільні значення " #~ "інтенсивностей." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Хвильове число (см-1)" #~ msgid "Shift (ppm)" #~ msgstr "Зсув (м.д.)" #~ msgid "Activity" #~ msgstr "Активність" #~ msgid "Intensity" #~ msgstr "Інтенсивність" #~ msgid "X Axis" #~ msgstr "Вісь X" #~ msgid "Y Axis" #~ msgstr "Вісь Y" #~ msgid "&Appearance" #~ msgstr "&Вигляд" #~ msgid "E&xport Image" #~ msgstr "Експортувати як &зображення" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Інфрачервоний" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Параметри &інфрачервоного спектра" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "ЯМР" #~ msgid "&NMR Spectra Settings" #~ msgstr "Параметри спектрів &ЯМР" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "Щільність станів" #~ msgid "&Density Of States Settings" #~ msgstr "Параметри &щільності станів" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "УФ" #~ msgid "&UV Settings" #~ msgstr "Параметри &УФ" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "КД" #~ msgid "&CD Settings" #~ msgstr "Параметри &кругового дихромізма" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "КР" #~ msgid "&Raman Settings" #~ msgstr "Параметри &комбінаційного розсіювання" #~ msgid "No data" #~ msgstr "Немає даних" #~ msgid "Dark" #~ msgstr "Темний" #~ msgid "Light" #~ msgstr "Світлий" #~ msgid "Publication" #~ msgstr "Публікація" #~ msgid "Handdrawn" #~ msgstr "Малюнок вручну" #~ msgid "New Scheme" #~ msgstr "Нова схема" #~ msgid "Confirm Scheme Removal" #~ msgstr "Підтвердження вилучення схеми" #~ msgid "Really remove current scheme?" #~ msgstr "Ви справді бажаєте вилучити поточну схему?" #~ msgid "Change Scheme Name" #~ msgstr "Зміна назви схеми" #~ msgid "Enter new name for current scheme:" #~ msgstr "Введіть нову назву поточної схеми:" #~ msgid "Select Background Color" #~ msgstr "Вибір кольору тла" #~ msgid "Select Foreground Color" #~ msgstr "Вибір кольору тексту" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Вибір кольору обчислених спектрів" #~ msgid "Select Imported Spectra Color" #~ msgstr "Вибір кольору імпортованих спектрів" #~ msgid "Export Calculated Spectrum" #~ msgstr "Експорт обчисленого спектра" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Значення, відокремлені табуляторами (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Значення, відокремлені табуляторами" #~ msgid "Comma Separated Values" #~ msgstr "Значення, відокремлені комами" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Імпорт спектрів" #~ msgid "Spectra Import" #~ msgstr "Імпортування спектрів" #~ msgid "Unknown extension: %1" #~ msgstr "Невідомий суфікс файла: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "IR-спектр з PWscf (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "IR-спектр з Turbomole (control)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "UV-спектр з Turbomole (spectrum)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "CD-спектр з Turbomole (cdspectrum)" #~ msgid "Data Format" #~ msgstr "Формат даних" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Формат:" #~ msgid "Load Spectral Data" #~ msgstr "Завантаження спектральних даних" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "CD-файл з Turbomole має помилковий формат : %1" #~ msgid "Portable Network Graphics" #~ msgstr "PNG (Portable Network Graphics)" #~ msgid "jpeg" #~ msgstr "JPEG" #~ msgid "Tagged Image File Format" #~ msgstr "Формат файла зображення з мітками (TIFF)" #~ msgid "Windows Bitmap" #~ msgstr "Растрове зображення Windows (BMP)" #~ msgid "Portable Pixmap" #~ msgstr "Портативне растрове зображення (PPM)" #~ msgid "X11 Bitmap" #~ msgstr "Растровий X11 (XBM)" #~ msgid "X11 Pixmap" #~ msgstr "Карта кольорів X11 (XPM)" #~ msgid "Save Spectra Image" #~ msgstr "Зберегти спектр як зображення" #~ msgid "Image successfully written to %1" #~ msgstr "Зображення успішно записано до %1" #~ msgid "&Advanced <<" #~ msgstr "&Додатково <<" #~ msgid "&Advanced >>" #~ msgstr "&Додатково >>" #~ msgid "&Spectra..." #~ msgstr "&Спектри…" #~ msgid "Spectra" #~ msgstr "Спектри" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Візуалізація спектральних даних з квантохімічних обчислень" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (см2/ммоль)" #~ msgid "Vibrational Analysis" #~ msgstr "Вібраційний аналіз" #~ msgid "No vibrational displacements exist." #~ msgstr "Немає коливальних рухів." #~ msgid "Vibration" #~ msgstr "Коливання" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Візуалізація режимів коливань з квантохімічних обчислень" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Впорядкування %1 коливань за частотою…" #~ msgid "Pause" #~ msgstr "Призупинити" #~ msgid "Super Cell Builder..." #~ msgstr "Побудова надкомірки…" #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "" #~ "У цьому документі містяться дані ізольованої молекули. Вам слід створити " #~ "елементарну комірку." #~ msgid "Build and display crystallographic super cells" #~ msgstr "Побудова і показ кристалографічних надкомірок" #~ msgid "Molecular Orbitals..." #~ msgstr "Молекулярні орбіталі…" #~ msgid "Orbitals" #~ msgstr "Орбіталі" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "ВЗМО" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "НЗМО" #~ msgid "Orbital" #~ msgstr "Орбіталь" #~ msgid "Status" #~ msgstr "Стан" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Порожній" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Ван-дер-Ваальса" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Електостатичний потенціал" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Електронна щільність" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Молекулярна орбіталь" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Помилка — невизначений тип" #~ msgid "Create Surfaces..." #~ msgstr "Створити поверхні…" #~ msgid "Calculating VdW Cube" #~ msgstr "Розрахунок куба Ван-дер-Ваальса" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Обчислення МО %L1" #~ msgid "VdW" #~ msgstr "Ван-дер-Ваальс" #~ msgid "Electron Density" #~ msgstr "Електронна щільність" #~ msgid "Electrostatic potential surfaces are not yet supported." #~ msgstr "Підтримки поверхонь електростатичного потенціала ще не передбачено." #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Обчислення молекулярних орбіталей та інших поверхонь" #~ msgid "&Nanotube Builder..." #~ msgstr "Побудова &нанотрубок…" #~ msgid "Nanotube Builder" #~ msgstr "Побудова нанотрубок" #~ msgid "Invalid Nanotube Specification" #~ msgstr "Некоректна специфікація нанотрубки" #~ msgid "" #~ "The requested nanotube cannot be built for the following reason:\n" #~ "\n" #~ "Either n or m must be greater than 1." #~ msgstr "" #~ "Потрібну вам нанотрубку не можна побудувати з такої причини:\n" #~ "\n" #~ "n або m має бути більшим за 1." #~ msgid "Insert Nanotube" #~ msgstr "Вставте дані нанотрубки" #~ msgid "SWCNT Builder" #~ msgstr "Побудова ВНТОС" #~ msgid "Construct single wall carbon nanotubes." #~ msgstr "Побудувати вуглецеву нанотрубку з одинарною стінкою." #~ msgid "Building..." #~ msgstr "Побудова…" #~ msgid "Display point group symmetry." #~ msgstr "Групова симетрія щодо точки показу." #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "Віджет GL не було належним чином ініціалізовано для створення відеоданих" #~ msgid "GL widget has no molecule" #~ msgstr "У віджеті GL немає молекули" #~ msgid "Building video " #~ msgstr "Побудова відео " #~ msgid "Could not run povray." #~ msgstr "Не вдалося запустити povray." #~ msgid "Could not run mencoder." #~ msgstr "Не вдалося запустити mencoder." #~ msgid "Set Aspect Ratio" #~ msgstr "Співвідношення сторін" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Розміри поточного зображення Avogadro дорівнюють %1x%2 пікселів, отже має " #~ "співвідношення сторін %3.\n" #~ "Ви можете не змінювати цього значення, наприклад, якщо ви маєте намір " #~ "отримати зображення POV-Ray\n" #~ "з розмірами %4x1000 пікселів, або вказати інше додатне значення,\n" #~ "наприклад, 1, якщо потрібно, щоб POV-Ray створив квадратне зображення, " #~ "зокрема 1000x1000 пікселів." #~ msgid "Save VRML rendered files" #~ msgstr "Зберегти оброблені файли VRML" #~ msgid "VRML..." #~ msgstr "VRML..." #~ msgid "Connect" #~ msgstr "З'єднатися" #~ msgid "Disconnect" #~ msgstr "Роз'єднатися" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Стеження Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Стеження за рухом за допомогою пультів Wii" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "Некоректний контекст OpenGL.\n" #~ "Ймовірно, щось повністю поламано у вашому налаштуванні OpenGL (чи " #~ "можливий запуск хоч якихось програм OpenGL?) або ви натрапили на ваду у " #~ "програмі." #~ msgid "Debug Information" #~ msgstr "Діагностична інформація" #~ msgid "FPS: %L1" #~ msgstr "Частота кадрів: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Розміри вікна перегляду: %L1 x %L2" #~ msgid "ModelView row 1: %L1 %L2 %L3 %L4" #~ msgstr "Рядок 1 ModelView : %L1 %L2 %L3 %L4" #~ msgid "ModelView row 2: %L1 %L2 %L3 %L4" #~ msgstr "Рядок 2 ModelView : %L1 %L2 %L3 %L4" #~ msgid "ModelView row 3: %L1 %L2 %L3 %L4" #~ msgstr "Рядок 3 ModelView : %L1 %L2 %L3 %L4" #~ msgid "ModelView row 4: %L1 %L2 %L3 %L4" #~ msgstr "Рядок 4 ModelView : %L1 %L2 %L3 %L4" #~ msgid "Atoms: %L1" #~ msgstr "Атоми: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Зв’язки: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: номер %1 перевищує межі нумерації." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Читання файлів типу «%1» не підтримується." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Читання типу файлів «%1» не підтримується." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Спроба читання молекули з номером %1 з файла «%2» зазнала невдачі." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: номер %1 перевищує межі нумерації." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Запис файлів типу «%1» не підтримується." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Запис типу файлів «%1» не підтримується." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Неможливо відкрити файл «%1» для запису." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Не вдалося відкрити файл «%1» для читання." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Спроба заміни молекули з номером %1 у файлі «%2» зазнала невдачі." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Не вдалося відкрити файл %1 для читання." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Не вдалося відкрити файл %1 для запису." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "" #~ "Спроба зберегти файл молекули завершилася невдало: не вдалося " #~ "перейменувати початковий файл." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "" #~ "Спроба зберегти файл молекули завершилася невдало: не вдалося " #~ "перейменувати новий файл." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "" #~ "Спроба зберегти файл молекули завершилася невдало: не вдалося вилучити " #~ "старий файл." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Спроба запису молекули до файла «%1» завершилася невдало. Помилка у " #~ "функції OpenBabel." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Не вдалося відкрити файл %1 для запису." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Спроба запису конформерів до файла «%1» завершилася невдало." #~ msgid "Molecule %1" #~ msgstr "Молекула %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Невідомий рушій Python" #~ msgid "N/A" #~ msgstr "н/д" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: перевірка " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " — у скрипті не визначено клас «Engine»" #~ msgid " - no module" #~ msgstr " — не вказано модуля" #~ msgid "Unknown Python Extension" #~ msgstr "Невідомий додаток Python" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: перевірка " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " — у скрипті не визначено клас «Extension»" #~ msgid "Unknown Python Tool" #~ msgstr "Невідомий інструмент Python" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: перевірка " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " — у скрипті не визначено клас «Tool»" #~ msgid "Conformer %1" #~ msgstr "Конформер %1" #~ msgid "Tools" #~ msgstr "Інструменти" #~ msgid "" #~ "Align Molecules\n" #~ "\n" #~ "Left Mouse: \tSelect up to two atoms.\n" #~ "\tThe first atom is centered at the origin.\n" #~ "\tThe second atom is aligned to the selected axis.\n" #~ "Right Mouse: \tReset alignment.\n" #~ "Double-Click: \tCenter the atom at the origin." #~ msgstr "" #~ "Вирівнювання молекул\n" #~ "\n" #~ "Ліва кнопка миші: \tвибір до двох атомів.\n" #~ "\tПерший атом центрується за початком координат.\n" #~ "\tДругий атом вирівнюється за вибраною віссю.\n" #~ "Права кнопка миші: \tскасувати вирівнювання.\n" #~ "Подвійне клацання: \tцентрувати атом за початком координат." #~ msgid "Axis:" #~ msgstr "Вісь:" #~ msgid "Align:" #~ msgstr "Вирівнювати:" #~ msgid "Everything" #~ msgstr "Все" #~ msgid "Align" #~ msgstr "Вирівняти" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Вирівнювання молекул за декартовими вісями" #~ msgid "Align Settings" #~ msgstr "Параметри вирівнювання" #~ msgid "" #~ "Auto Optimization Tool\n" #~ "\n" #~ "Navigation Functions when clicking in empty space.\n" #~ "Left Mouse: \tRotate Space\n" #~ "Middle Mouse: Zoom Space\n" #~ "Right Mouse: \tMove Space\n" #~ "Double-Click: \t Reset View\n" #~ "\n" #~ "When running:\n" #~ "Left Mouse: \tClick and drag atoms to move them." #~ msgstr "" #~ "Інструмент автоматичної оптимізації\n" #~ "\n" #~ "Навігаційні функції, пов’язані з клацанням на порожньому місці.\n" #~ "Ліва кнопка: \tобертати систему\n" #~ "Середня кнопка: змінити масштаб системи\n" #~ "Права кнопка: \tпересунути систему\n" #~ "\n" #~ "Додаткові функції у процесі\n" #~ "Ліва кнопка: \tнаведіть на атом і затисніть, щоб його пересунути." #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "AutoOpt: Не вдалося встановити поле сил…" #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "К-ть обмежень: %1" #~ msgid "Steps per Update:" #~ msgstr "Кроків на оновлення:" #~ msgid "Algorithm:" #~ msgstr "Алгоритм:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Молекулярна динаміка (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Молекулярна динаміка (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Молекулярна динаміка (900K)" #~ msgid "Start" #~ msgstr "Почати" #~ msgid "Fixed atoms are movable" #~ msgstr "Можна рухати зафіксовані атоми" #~ msgid "Ignored atoms are movable" #~ msgstr "Можна рухати ігноровані атоми" #~ msgid "AutoOpt Molecule" #~ msgstr "Автооптимізація молекули" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Автоматична оптимізація геометричних параметрів молекул" #~ msgid "AutoOptimization Settings" #~ msgstr "Параметри автоматичної оптимізації" #~ msgid "Auto Rotation Tool" #~ msgstr "Інструмент автоматичного обертання" #~ msgid "x rotation:" #~ msgstr "x-обертання:" #~ msgid "x rotation" #~ msgstr "x-обертання" #~ msgid "y rotation:" #~ msgstr "y-обертання:" #~ msgid "y rotation" #~ msgstr "y-обертання" #~ msgid "z rotation:" #~ msgstr "z-обертання:" #~ msgid "z rotation" #~ msgstr "z-обертання" #~ msgid "Automatic rotation of molecules" #~ msgstr "Автоматичне обертання молекул" #~ msgid "AutoRotate Settings" #~ msgstr "Параметри автоматичного обертання" #~ msgid "" #~ "Bond Centric Manipulation Tool\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view.\n" #~ "\n" #~ "Left Click & Drag on a Bond to set the Manipulation Plane:\n" #~ "Left Click & Drag one of the Atoms in the Bond to change the angle\n" #~ "Right Click & Drag one of the Atoms in the Bond to change the length" #~ msgstr "" #~ "Інструмент керування зв’язками\n" #~ "\n" #~ "Ліва кнопка: \tзатисніть і перетягніть, щоб обертати область перегляду\n" #~ "Середня кнопка: затисніть і перетягніть, щоб збільшити або зменшити\n" #~ "Права кнопка: \tзатисніть і перетягніть, щоб пересунути область " #~ "перегляду\n" #~ "\n" #~ "Затиснута ліва з перетягуванням на зв’язку встановлює площину роботи зі " #~ "зв’язком:\n" #~ "Затиснута ліва і перетягування одного з атомів у зв’язку змінює кут " #~ "зв’язку\n" #~ "Затиснута права і перетягування одного з атомів у зв’язку змінює його " #~ "довжину" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Довжина зв’язку: %L1" #~ msgid " Show Angles" #~ msgstr " Показувати кути" #~ msgid "Snap-to Threshold: " #~ msgstr "Поріг прилипання: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Керування на основі зв’язків" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Керування довжинами зв’язків, кутів та кута обертання" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Параметри пересування на основі зв’язків" #~ msgid "" #~ "Click to Measure (F12)\n" #~ "\n" #~ "Left Mouse: \tSelect up to three Atoms.\n" #~ "\tDistances are measured between 1-2 and 2-3\n" #~ "\tAngle is measured between 1-3 using 2 as the common point\n" #~ "Right Mouse: \tReset the measurements.Double-Click: \tReset the view." #~ msgstr "" #~ "Дії під час вимірювання (F12)\n" #~ "\n" #~ "Ліва кнопка: \tВибір до трьох атомів.\n" #~ "\tВідстані вимірюються у парах 1-2 і 2-3\n" #~ "\tКут вимірюється між парою 1-3 з 2 у його вершині\n" #~ "Права кнопка: \tСкинути результати вимірів.\n" #~ "Подвійне клацання: \tповернути початковий вигляд." #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Відстань (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Кут: %L1°" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Відстань (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Двограний кут: %1°" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Відстані:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Вимірювання довжин зв’язків, кутів та двогранних кутів" #~ msgid "Delete Atom" #~ msgstr "Вилучити атом" #~ msgid "" #~ "Draw Tool (F8)\n" #~ "\n" #~ "Left Mouse: \tClick and Drag to create Atoms and Bonds\n" #~ "Right Mouse: \tDelete Atom" #~ msgstr "" #~ "Інструмент малювання (F8)\n" #~ "\n" #~ "Ліва кнопка: \tклацайте і перетягуйте, щоб створити атоми і зв’язки\n" #~ "Права кнопка: \tвилучити атом" #~ msgid "Draw Bond" #~ msgstr "Намалювати зв’язок" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Малювання та редагування атомів та зв’язків" #~ msgid "Draw Settings" #~ msgstr "Параметри малювання" #~ msgid "" #~ "Manipulation Tool (F10)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to move atoms\n" #~ "Middle Mouse: Click and drag to move atoms further away or closer\n" #~ "Right Mouse: \tClick and drag to rotate selected atoms.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Інструмент керування (F10)\n" #~ "\n" #~ "Ліва кнопка: \tзатискання і перетягування атомів\n" #~ "Середня кнопка: наближення або віддалення атомів\n" #~ "Права кнопка: \tобертання вибраних атомів. Подвійне клацання: \tповернути " #~ "початковий вигляд." #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Пересування, обертання та коригування позицій атомів та фрагментів" #~ msgid "Manipulate Settings" #~ msgstr "Параметри пересування" #~ msgid "" #~ "Navigation Tool (F9)\n" #~ "\n" #~ "Left Mouse: \tClick and drag to rotate the view.\n" #~ "Middle Mouse: Click and drag to zoom in or out.\n" #~ "Right Mouse: \tClick and drag to move the view.\n" #~ "Double-Click: \tReset the view." #~ msgstr "" #~ "Інструмент навігації (F9)\n" #~ "\n" #~ "Ліва кнопка: \tзатисніть і перетягніть, щоб обертати область перегляду\n" #~ "Середня кнопка: Затисніть і перетягніть, щоб збільшити або зменшити\n" #~ "Права кнопка: \tзатисніть і перетягніть, щоб пересунути область " #~ "перегляду.\n" #~ "Подвійне клацання: \tповернути початковий вигляд." #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "" #~ "Пересування, обертання та зміна масштабу у поточному вікні перегляду" #~ msgid "Navigate Settings" #~ msgstr "Параметри навігації" #~ msgid "" #~ "Selection Tool (F11)\n" #~ "\n" #~ "Left Mouse: \tClick to pick individual atoms, residues, or fragments\n" #~ "\tDrag to select a range of atoms\n" #~ "Right Mouse: \tClick outside the molecule to clear selection\n" #~ "Use Ctrl to toggle the selection and shift to add to the selection.\n" #~ "Double-Click: \tSelect an entire fragment." #~ msgstr "" #~ "Інструмент позначення (F11)\n" #~ "\n" #~ "Ліва кнопка миші: \tклацніть, щоб позначити окремі атоми, залишки або " #~ "фрагменти.\n" #~ "\tПеретягніть, щоб позначити декілька атомів.\n" #~ "Права кнопка миші: \tклацніть поза межами молекул, щоб зняти позначення\n" #~ "Користуйтеся Ctrl для перемикання стану позначення і Shift для додавання " #~ "елементів до позначення.\n" #~ "Подвійне клацання: \tпозначити весь фрагмент." #~ msgid "Selection Mode:" #~ msgstr "Режим позначення:" #~ msgid "Atom/Bond" #~ msgstr "Атом/Зв’язок" #~ msgid "Residue" #~ msgstr "Залишок" #~ msgid "Add Center of Atoms" #~ msgstr "Додати центр атомів" #~ msgid "Add Center of Mass" #~ msgstr "Додати центр мас" #~ msgid "Change color of the atom" #~ msgstr "Змінити колір атома" #~ msgid "Change label of the atom" #~ msgstr "Змінити мітку атома" #~ msgid "New Label:" #~ msgstr "Нова мітка:" #~ msgid "Change label of the bond" #~ msgstr "Змінити мітку зв’язку" #~ msgid "Change radius of the atom" #~ msgstr "Змінити радіус атома" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Новий радіус, у %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Позначення атомів, залишків та молекул" #~ msgid "Symbol" #~ msgstr "Символ" #~ msgid "Bond Length" #~ msgstr "Довжина зв’язку" #~ msgid "Bond Angle" #~ msgstr "Кут зв’язку" #~ msgid "Dihedral Angle" #~ msgstr "Двограний кут" #~ msgid "Z Matrix Editor..." #~ msgstr "Редактор Z-матриці…" #~ msgid "Z-Matrix" #~ msgstr "Z-матриця" #~ msgid "Create/edit a z-matrix" #~ msgstr "Створення/Редагування Z-матриці" #~ msgid "Z-Matrix Settings" #~ msgstr "Параметри Z-матриці" #~ msgid "Residue Color Settings" #~ msgstr "Параметри кольору залишків" #~ msgid "Color residues by:" #~ msgstr "Розфарбувати залишки за:" #~ msgid "Amino Colors" #~ msgstr "кольорами амінів" #~ msgid "Shapely Colors" #~ msgstr "кольорами Shapely" #~ msgid "Hydrophobicity" #~ msgstr "гідрофобністю" #~ msgid "Axes:" #~ msgstr "Осі:" #~ msgid "Cartesian Axes" #~ msgstr "декартові вісі" #~ msgid "Orthogonal Axes" #~ msgstr "ортогональні вісі" #~ msgid "Axis 1:" #~ msgstr "Вісь 1:" #~ msgid "Axis 2:" #~ msgstr "Вісь 2:" #~ msgid "Axis 3:" #~ msgstr "Вісь 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Початок:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Норма" #~ msgid "Preserve vector norms" #~ msgstr "Зберігати норми векторів" #~ msgid "Atom Radius:" #~ msgstr "Радіус атома:" #~ msgid "Bond Radius:" #~ msgstr "Радіус зв’язку:" #~ msgid "Shape" #~ msgstr "Форма" #~ msgid "Helix" #~ msgstr "Спіраль" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Лист" #~ msgid "Loop" #~ msgstr "Цикл" #~ msgid "Colors" #~ msgstr "Кольори" #~ msgid "Dipole:" #~ msgstr "Диполь:" #~ msgid "Dipole Moment" #~ msgstr "Дипольний момент" #~ msgid "Custom Vector" #~ msgstr "Нетиповий вектор" #~ msgid "Custom:" #~ msgstr "Нетипова:" #~ msgid "Width:" #~ msgstr "Ширина:" #~ msgid "Cut-off radius:" #~ msgstr "Радіус обрізання:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Кут обрізання:" #~ msgid "Rendering Engine:" #~ msgstr "Рушій обробки:" #~ msgid "TextRenderer" #~ msgstr "TextRenderer" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Мітки атомів" #~ msgid "Text:" #~ msgstr "Текст:" #~ msgid "Color:" #~ msgstr "Колір:" #~ msgid "None" #~ msgstr "Немає" #~ msgid "Symbol & Number in Group" #~ msgstr "Символ і номер у групі" #~ msgid "Symbol & Atom number" #~ msgstr "Символ і номер атома" #~ msgid "Formal charge" #~ msgstr "Формальний заряд" #~ msgid "Partial charge" #~ msgstr "Частковий заряд" #~ msgid "Residue number" #~ msgstr "Номер залишку" #~ msgid "Unique ID" #~ msgstr "Унікальний ідентифікатор" #~ msgid "Custom data" #~ msgstr "Нетипові дані" #~ msgid "Change Font" #~ msgstr "Змінити шрифт" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Зсув мітки:" #~ msgid "Bond Labels" #~ msgstr "Мітки зв’язків" #~ msgid "Bond length" #~ msgstr "Довжина зв’язку" #~ msgid "Bond number" #~ msgstr "Номер зв’язку" #~ msgid "Bond order" #~ msgstr "Порядок зв’язку" #~ msgid "Rendering:" #~ msgstr "Відтворення:" #~ msgid "Backbone" #~ msgstr "Каркас" #~ msgid "Lines" #~ msgstr "Лінії" #~ msgid "Radius:" #~ msgstr "Радіус:" #~ msgid "Include Nitrogens" #~ msgstr "Включити атоми азоту" #~ msgid "VdW Opacity:" #~ msgstr "Щільність поверхонь Ван-дер-Ваальса:" #~ msgid "Orbital:" #~ msgstr "Орбіталь:" #~ msgid "Render:" #~ msgstr "Відтворювати:" #~ msgid "Fill" #~ msgstr "Заповнення" #~ msgid "Points" #~ msgstr "Точки" #~ msgid "Draw Box:" #~ msgstr "Малювати рамку:" #~ msgid "Style:" #~ msgstr "Стиль:" #~ msgid "Selected Colors" #~ msgstr "Кольори вибору" #~ msgid "Mapped Colors" #~ msgstr "Відображені кольори" #~ msgid "Colors:" #~ msgstr "Кольори:" #~ msgid "Positive" #~ msgstr "Додатна" #~ msgid "Negative" #~ msgstr "Від’ємна" #~ msgid "Show Atoms" #~ msgstr "Показувати атоми" #~ msgid "Animate Trajectory" #~ msgstr "Анімувати траєкторію" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Цикл" #~ msgid "fps" #~ msgstr "кд/с" #~ msgid "Save as .avi..." #~ msgstr "Зберегти як .avi…" #~ msgid "Angstroms" #~ msgstr "Ангстреми" #~ msgid "Bohrs" #~ msgstr "Бори" #~ msgid "Fractional" #~ msgstr "Дроби" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, лише координати" #~ msgid "GAMESS Input #2" #~ msgstr "Вхідні дані GAMESS (2 варіант)" #~ msgid "Priroda Input" #~ msgstr "Вхідні дані Priroda" #~ msgid "Apply Changes" #~ msgstr "Застосувати зміни" #~ msgid "Cut All" #~ msgstr "Вирізати все" #~ msgid "Paste to the End" #~ msgstr "Вставити в кінець" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Тут можна вставити або " #~ "змінити координати атомів. Ви можете вставити будь-який фрагмент тексту, " #~ "що містить координати.

" #~ msgid "(None)" #~ msgstr "(Немає)" #~ msgid "Sort by " #~ msgstr "Впорядкувати за " #~ msgid "Conformer Search" #~ msgstr "Пошук конформерів" #~ msgid "Method" #~ msgstr "Метод" #~ msgid "Number of atoms:" #~ msgstr "Кількість атомів:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Кількість обертових зв’язків:" #~ msgid "Number of conformers" #~ msgstr "Кількість конформерів" #~ msgid "Systematic rotor search" #~ msgstr "Систематичний пошук обертань" #~ msgid "Random rotor search" #~ msgstr "Випадковий пошук обертань" #~ msgid "Weighted rotor search" #~ msgstr "Середньозважений пошук обертань" #~ msgid "Genetic algorithm search" #~ msgstr "Пошук за генетичним алгоритмом" #~ msgid "Genetic Algorithm Options" #~ msgstr "Параметри генетичного алгоритма" #~ msgid "Children" #~ msgstr "Нащадків" #~ msgid "Mutability" #~ msgstr "Мутативність" #~ msgid "Scoring method" #~ msgstr "Спосіб оцінки" #~ msgid "RMSD" #~ msgstr "СКВ" #~ msgid "Energy" #~ msgstr "Енергія" #~ msgid "Constraints" #~ msgstr "Обмеження" #~ msgid "Add Constraints" #~ msgstr "Додавання обмежень" #~ msgid "Ignore Atom" #~ msgstr "Ігнорування атома" #~ msgid "Fix Atom" #~ msgstr "Фіксація атома" #~ msgid "Fix Atom X" #~ msgstr "Зафіксувати координату X атома" #~ msgid "Fix Atom Y" #~ msgstr "Зафіксувати координату Y атома" #~ msgid "Fix Atom Z" #~ msgstr "Зафіксувати координату Z атома" #~ msgid "Torsion angle" #~ msgstr "Кут перекручування" #~ msgid "Constraint Value" #~ msgstr "Граничне значення" #~ msgid "Atom Indices" #~ msgstr "Номери атомів" #~ msgid "Add" #~ msgstr "Додати" #~ msgid "Save" #~ msgstr "Зберегти" #~ msgid "Load" #~ msgstr "Завантажити" #~ msgid "Atomic &identites:" #~ msgstr "Атомні &профілі:" #~ msgid "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

H 100.00000 100.00000 100.00000

" #~ msgid "&Reset" #~ msgstr "С&кинути" #~ msgid "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

3.00000 0.00000 0.00000

\n" #~ "

0.00000 3.00000 0.00000

\n" #~ "

0.00000 0.00000 3.00000

" #~ msgid "Cell Parameters" #~ msgstr "Параметри комірки" #~ msgid " °" #~ msgstr " °" #~ msgid "Surface Slab Builder" #~ msgstr "Інструмент побудови поверхневих плит" #~ msgid "Plane:" #~ msgstr "Площина:" #~ msgid "&Miller Indices:" #~ msgstr "&Індекси Міллера:" #~ msgid "Warning: Use non-zero Miller Indices" #~ msgstr "Попередження: використовуйте ненульові індекси Міллера" #~ msgid "Dimensions:" #~ msgstr "Розмірності:" #~ msgid "Width (x)" #~ msgstr "Ширина (x)" #~ msgid "Width (y)" #~ msgstr "Ширина (y)" #~ msgid "Height (z)" #~ msgstr "Висота (z)" #~ msgid "length" #~ msgstr "довжина" #~ msgid "cell repeats" #~ msgstr "елементарних комірок" #~ msgid "&Translate " #~ msgstr "&Пересунути " #~ msgid "by arbitrary vector" #~ msgstr "на довільний вектор" #~ msgid "selected atom to origin" #~ msgstr "позначений атом у початок координат" #~ msgid "selected atom to unit cell center" #~ msgstr "позначений атом до центру елементарної комірки" #~ msgid "Translation vector:" #~ msgstr "Вектор перенесення:" #~ msgid "&X:" #~ msgstr "&X:" #~ msgid "&Y:" #~ msgstr "&Y:" #~ msgid "&Z:" #~ msgstr "&Z:" #~ msgid "&Vector units:" #~ msgstr "&Векторні одиниці:" #~ msgid "Cartesian" #~ msgstr "Декартові" #~ msgid "&Translate" #~ msgstr "&Перенести" #~ msgid "&Keep atoms in unit cell" #~ msgstr "&Зберігати атоми у елементарній комірці" #~ msgid "Crystal View Options" #~ msgstr "Параметри перегляду кристалів" #~ msgid "Unit Cell Repeats:" #~ msgstr "К-ть повторів елементарної комірки:" #~ msgid "Draw Unit Cell(s)?" #~ msgstr "Малювати елементарні комірки?" #~ msgid "One" #~ msgstr "Одна" #~ msgid "All" #~ msgstr "Всі" #~ msgid "Color..." #~ msgstr "Колір..." #~ msgid "View Along:" #~ msgstr "Напрям перегляду:" #~ msgid "Default View" #~ msgstr "Типовий перегляд" #~ msgid "h: " #~ msgstr "h: " #~ msgid "k: " #~ msgstr "k: " #~ msgid "i: " #~ msgstr "i: " #~ msgid "l: " #~ msgstr "l: " #~ msgid "Miller Indices" #~ msgstr "Індекси Міллера" #~ msgid "File Import..." #~ msgstr "Імпорт файла…" #~ msgid "Attempt to perceive bonds?" #~ msgstr "Намагатися виявити зв’язки?" #~ msgid "Setup Force Field" #~ msgstr "Налаштування поля сил" #~ msgid "Force Field" #~ msgstr "Поле сил" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Кількість кроків" #~ msgid "Algorithm" #~ msgstr "Алгоритм" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "Insert Nucleic Acids" #~ msgstr "Вставлення нуклеїнових кислот" #~ msgid "DNA/RNA Builder" #~ msgstr "Побудова ДНК або РНК" #~ msgid "DNA" #~ msgstr "ДНК" #~ msgid "RNA" #~ msgstr "РНК" #~ msgid "Nucleic Acids:" #~ msgstr "Нуклеїнові кислоти:" #~ msgid "Adenine" #~ msgstr "Аденін" #~ msgid "Cytosine" #~ msgstr "Цитозин" #~ msgid "C" #~ msgstr "C" #~ msgid "Guanine" #~ msgstr "Гуанін" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "Послідовність:" #~ msgid "the number of base pairs per helix turn" #~ msgstr "кількість базових пар на оберт спіралі" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "Інше" #~ msgid "Bases Per Turn:" #~ msgstr "Базових пар на оберт:" #~ msgid "Strands:" #~ msgstr "Ланцюжків:" #~ msgid "Insert" #~ msgstr "Вставити" #~ msgid "Insert Fragment..." #~ msgstr "Вставити фрагмент…" #~ msgid "Filter:" #~ msgstr "Фільтр:" #~ msgid "Type a name or part of a name to show only matching files." #~ msgstr "Вкажіть назву або частину назви для фільтрування списку файлів." #~ msgid "Peptide Builder" #~ msgstr "Побудова пептидів" #~ msgid "Alanine" #~ msgstr "Аланін" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Аргінін" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Аспарагін" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "Аспарагінова кислота" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Цистеїн" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "Глутамінова кислота" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Глутамін" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Гліцин" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Гістидін" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Ізолейцин" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Валін" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Тирозін" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Триптофан" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Треонін" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Серин" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Пролін" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Фенілаланін" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Метіонін" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Лізин" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Лейцин" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "Амінокислоти:" #~ msgid "Sequence (N to C):" #~ msgstr "Послідовність (від N до C):" #~ msgid "Stereochemistry:" #~ msgstr "Стереохімія:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N-кінець:" #~ msgid "C Terminus:" #~ msgstr "C-кінець:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Structure:" #~ msgstr "Структура:" #~ msgid "Straight Chain" #~ msgstr "Розгорнутий ланцюг" #~ msgid "Alpha Helix" #~ msgstr "α-спіраль" #~ msgid "Beta Sheet" #~ msgstr "Бета-лист" #~ msgid "3-10 Helix" #~ msgstr "3-10-спіраль" #~ msgid "Pi Helix" #~ msgstr "π-спіраль" #~ msgid "Phi:" #~ msgstr "φ:" #~ msgid "Psi:" #~ msgstr "ψ:" #~ msgid "Chain Number:" #~ msgstr "Номер ланцюга:" #~ msgid "The chain number for the new peptide" #~ msgstr "Номер ланцюга нового пептиду" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "Властивості молекули" #~ msgid "Number of Residues:" #~ msgstr "Кількість залишків:" #~ msgid "Energy (kJ/mol):" #~ msgstr "Енергія (кДж/моль):" #~ msgid "Dipole Moment (D):" #~ msgstr "Дипольний момент (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "Назва молекули у IUPAC:" #~ msgid "Frames" #~ msgstr "Кадри" #~ msgid "Plot Spectra" #~ msgstr "Накреслити спектри" #~ msgid "Fragments" #~ msgstr "Фрагменти" #~ msgid "select Fragment" #~ msgstr "вибрати фрагмент" #~ msgid "Basic" #~ msgstr "Основні" #~ msgid "Comment" #~ msgstr "Коментар" #~ msgid "Frequency" #~ msgstr "Частота" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Basis set" #~ msgstr "Основний набір" #~ msgid "Format" #~ msgstr "Формат" #~ msgid "z-Matrix" #~ msgstr "z-матриця" #~ msgid "z-Matrix compact" #~ msgstr "Компакт z-матриці" #~ msgid "Advanced" #~ msgstr "Додатково" #~ msgid "Basis Set" #~ msgstr "Базисний набір" #~ msgid "Control" #~ msgstr "Керування" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "RijCosX" #~ msgstr "RijCosX" #~ msgid "Data" #~ msgstr "Дані" #~ msgid "ECP" #~ msgstr "ECP" #~ msgid "Aux. Basis Set" #~ msgstr "Доп. базисний набір" #~ msgid "Aux. ECP" #~ msgstr "Доп. ECP" #~ msgid "Relativistic" #~ msgstr "Релятивістський" #~ msgid "ZORA" #~ msgstr "ZORA" #~ msgid "IORA" #~ msgstr "IORA" #~ msgid "DKH" #~ msgstr "DKH" #~ msgid "Order" #~ msgstr "Порядок" #~ msgid "Corr. Aux. Basis Set" #~ msgstr "Випр. доп. базисний набір" #~ msgid "Corr. ECP" #~ msgstr "Випр. ECP" #~ msgid "Run type" #~ msgstr "Тип запуску" #~ msgid "Add. Print Options" #~ msgstr "Дод. параметри виведення" #~ msgid "MOs" #~ msgstr "МО" #~ msgid "Basis Sets" #~ msgstr "Базисні набори" #~ msgid "Printlevel" #~ msgstr "Рівень виведення" #~ msgid "Nothing" #~ msgstr "Нічого" #~ msgid "Mini" #~ msgstr "Міні" #~ msgid "Small" #~ msgstr "Малий" #~ msgid "Large" #~ msgstr "Великий" #~ msgid "Damping" #~ msgstr "Демпфування" #~ msgid "Factor" #~ msgstr "Коефіцієнт" #~ msgid "" #~ "

select only if no defaults are wanted

" #~ msgstr "" #~ "

Позначайте, лише якщо типове є небажаним.

" #~ msgid "Accuracy" #~ msgstr "Точність" #~ msgid "Tight SCF" #~ msgstr "Щільне SCF" #~ msgid "Very Tight SCF" #~ msgstr "Дуже щільне SCF" #~ msgid "Extreme SCF" #~ msgstr "Надзвичайне SCF" #~ msgid "Convergers" #~ msgstr "Покращення збіжності" #~ msgid "DIIS" #~ msgstr "DIIS" #~ msgid "KDIIS" #~ msgstr "KDIIS" #~ msgid "Levelshift " #~ msgstr "Зсув рівня " #~ msgid "Levelshift" #~ msgstr "Зсув рівня" #~ msgid "2nd Order" #~ msgstr "2-ий порядок" #~ msgid "SOSCF" #~ msgstr "SOSCF" #~ msgid "NRSCF" #~ msgstr "NRSCF" #~ msgid "AHSCF" #~ msgstr "AHSCF" #~ msgid "max. SCF iterations" #~ msgstr "макс. к-ть ітерацій SCF" #~ msgid "SCF Type" #~ msgstr "Тип SCF" #~ msgid "restricted" #~ msgstr "обмежений" #~ msgid "unrestricted" #~ msgstr "необмежений" #~ msgid "restricted open-shell" #~ msgstr "обмежена відкрита оболонка" #~ msgid "SFitting" #~ msgstr "S-апроксимація" #~ msgid "GridX" #~ msgstr "GridX" #~ msgid "FinalGridX" #~ msgstr "FinalGridX" #~ msgid "DFT Functional" #~ msgstr "Функіонал ТФЩ" #~ msgid "Grid" #~ msgstr "Сітка" #~ msgid "FinalGrid" #~ msgstr "Остаточна сітка" #~ msgid "POV-Ray Export" #~ msgstr "Експорт до POV-Ray" #~ msgid "Select..." #~ msgstr "Вибрати…" #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Використовувати згладжування всього зображення" #~ msgid "Antialias" #~ msgstr "Згладжування" #~ msgid "Set the background color to be transparent" #~ msgstr "Встановити прозорий колір тла" #~ msgid "Alpha transparency" #~ msgstr "Альфа-прозорість" #~ msgid "Command:" #~ msgstr "Команда:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "" #~ "Обробити показ молекули безпосередньо за допомогою командного рядка POV-" #~ "Ray" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "Зберегти файл кодів POV-Ray після завершення обробки і показу" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "Зберегти коди POV-Ray після показу" #~ msgid "Path:" #~ msgstr "Шлях:" #~ msgid "Abinit Input" #~ msgstr "Вхідні дані Abinit" #~ msgid "k-points:" #~ msgstr "k-точки:" #~ msgid "10.0" #~ msgstr "10,0" #~ msgid "Cartesian (Angstrom)" #~ msgstr "Декартові (Angstrom)" #~ msgid "Reduced" #~ msgstr "Спрощений" #~ msgid "Plane Wave cutoff (Ha):" #~ msgstr "Обрізання плоскої хвилі (Га):" #~ msgid "5.e-5" #~ msgstr "5.e-5" #~ msgid "Tolerance on forces(Ha/bohr):" #~ msgstr "Допуск за силами (Га/бор):" #~ msgid "Max lattice expansion:" #~ msgstr "Макс. розширення ґратки:" #~ msgid "1.05" #~ msgstr "1.05" #~ msgid "k-point shift:" #~ msgstr "зсув k-точок:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Number of bands:" #~ msgstr "Кількість смужок:" #~ msgid "# k-point shifts:" #~ msgstr "# зсуви k-точок:" #~ msgid "Double grid PW cutoff (Ha):" #~ msgstr "Обрізання ПХ подвійною ґраткою (Га):" #~ msgid "20.0" #~ msgstr "20.0" #~ msgid "Occupation scheme:" #~ msgstr "Схема заповнення:" #~ msgid "SCF tolerance type:" #~ msgstr "Тип допуску SCF:" #~ msgid "Total Energy" #~ msgstr "Загальна енергія" #~ msgid "Wave Function norm" #~ msgstr "Норма хвильової функції" #~ msgid "Total Potential" #~ msgstr "Загальний потенціал" #~ msgid "Maximum Force" #~ msgstr "Максимальна сила" #~ msgid "Relative Force" #~ msgstr "Відносна сила" #~ msgid "1 - semiconducting" #~ msgstr "1 — напівпровідна" #~ msgid "3 - Fermi Dirac" #~ msgstr "3 — Фермі-Дірака" #~ msgid "4 - Cold Smearing (Marzari)" #~ msgstr "4 — холодне розмивання (Марцарі)" #~ msgid "7 - Gaussian smearing" #~ msgstr "7 — гаусове розмивання" #~ msgid "Smearing width (Ha):" #~ msgstr "Ширина розмивання (Га):" #~ msgid "0.01" #~ msgstr "0.01" #~ msgid "Geometry Optimization:" #~ msgstr "Оптимізація геометрії:" #~ msgid "0 - no moving ions " #~ msgstr "0 — не пересувати іони " #~ msgid "1 - viscous damping" #~ msgstr "1 — в’язка амортизація" #~ msgid "2 - BFGS " #~ msgstr "2 — BFGS " #~ msgid "3 - BFGS with energy" #~ msgstr "3 — BFGS з енергією" #~ msgid "# Geometrical time steps:" #~ msgstr "# Геометричні кроки за часом:" #~ msgid "1.e-10" #~ msgstr "1.e-10" #~ msgid "Kinetic Energy smoothing (Ha):" #~ msgstr "Згладжування кінетичної енергії (Га):" #~ msgid "0.5" #~ msgstr "0.5" #~ msgid "Use Form" #~ msgstr "Використовувати форму" #~ msgid "Compute..." #~ msgstr "Обчислити…" #~ msgid "Dalton Input" #~ msgstr "Вхідні дані Dalton" #~ msgid "Basics" #~ msgstr "Основи" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "" #~ "Додає введений вами текст до рядка заголовка файла вхідних даних,\n" #~ "щоб вам легше було визначити призначення файла." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Базовий набір:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Попла" #~ msgid "Jensen's polarization consistent" #~ msgstr "узгоджена поляризація Єнсена" #~ msgid "Dunning's correlation consistent" #~ msgstr "узгоджена кореляція Даннінга" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Функції кореляції внутрішніх електронів" #~ msgid "Diffuse functions" #~ msgstr "Функції розсіювання" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "Функції поляризації" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Безпосередній" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "Запуск у паралельному режимі, якщо можливо. Можна використовувати для " #~ "обчислень\n" #~ "на основі хвильових функцій SCF та дискретного перетворення Фурьє. У " #~ "поточному\n" #~ "випуску Dalton передбачено підтримку лише MPI за умови належного збирання " #~ "та\n" #~ "встановлення. Кількість вузлів встановлюється за допомогою параметра «-N " #~ "#», що\n" #~ "передається скрипту «dalton»." #~ msgid "Parallel" #~ msgstr "Паралельний" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Функціонал:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "Інтенсивність:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Інтеграція заряду:" #~ msgid "Grid Specification" #~ msgstr "Специфікація сітки" #~ msgid "Partitioning Scheme:" #~ msgstr "Схема поділу:" #~ msgid "Becke" #~ msgstr "Бекке" #~ msgid "Becke (original)" #~ msgstr "Бекке (початкова)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Якість сітки:" #~ msgid "coarse" #~ msgstr "груба" #~ msgid "normal" #~ msgstr "звичайна" #~ msgid "fine" #~ msgstr "дрібна" #~ msgid "ultrafine" #~ msgstr "наддрібна" #~ msgid "Radial Scheme:" #~ msgstr "Радіальна схема:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "Показати всі функціонали" #~ msgid "Property:" #~ msgstr "Властивість:" #~ msgid "Polarizability" #~ msgstr "Можливість поляризації" #~ msgid "Excitation Energy" #~ msgstr "Енергія збудження" #~ msgid "Frequency Dependent" #~ msgstr "Залежна від частоти" #~ msgid "No. excitations:" #~ msgstr "Кількість збуджень:" #~ msgid "EFP Matches" #~ msgstr "ЕПФ-відповідності" #~ msgid "Group Label:" #~ msgstr "Мітка групи:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "&Додаткове налаштування" #~ msgid "Hessian" #~ msgstr "Гессіан" #~ msgid "Stat Point" #~ msgstr "Стаціонарна точка" #~ msgid "System" #~ msgstr "Система" #~ msgid "MO Guess" #~ msgstr "Початкове наближення МО" #~ msgid "Misc" #~ msgstr "Інше" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "Кількість поляризаційних функцій D на важких атомах:" #~ msgid "Read" #~ msgstr "Прочитати" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Хея-Вадта" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Дифузна S-функція на важких атомах" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Дифузна L-функція на важких атомах" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Двоекспоненційний валентний" #~ msgid "Dunning/Hay DZ" #~ msgstr "Даннінга/Хея DZ" #~ msgid "Binning/Curtiss DZ" #~ msgstr "Біннінґ/Кертіс, DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Триекспоненційний валентний" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA-валентний" #~ msgid "Hay/Wadt Valence" #~ msgstr "Валентний Хея/Вадта" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Тип ЕЯП:" #~ msgid "Default" #~ msgstr "Типовий" #~ msgid "Pople" #~ msgstr "Попла" #~ msgid "Pople N311" #~ msgstr "Попла N311" #~ msgid "Huzinaga" #~ msgstr "Хузінаги" #~ msgid "Hondo7" #~ msgstr "Хондо7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "Поляризаційних F-функцій на важких атомах" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "Поляризаційних функцій на легких атомах" #~ msgid "Polar:" #~ msgstr "Полярний:" #~ msgid "Max SCF Iterations:" #~ msgstr "Максимум ітерацій SCF:" #~ msgid "Gradient" #~ msgstr "Градієнт" #~ msgid "Optimization" #~ msgstr "Оптимізація" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "Сідлова точка" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Екстремальний градієнт" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Поверхня енергії" #~ msgid "Morokuma" #~ msgstr "Морокума" #~ msgid "Radiative Transition mom." #~ msgstr "Момент випромінювання переходу" #~ msgid "Spin Orbit" #~ msgstr "Спін-орбітальна взаємодія" #~ msgid "Finite Electric Field" #~ msgstr "Скінченне електричне поле" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Загальна оптимізація" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO-оптимізація" #~ msgid "Raman Intensities" #~ msgstr "Раманівські інтенсивності" #~ msgid "NMR" #~ msgstr "ЯМР" #~ msgid "Make EFP" #~ msgstr "Створити ЕПФ" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Немає (CI)" #~ msgid "Foster-Boys" #~ msgstr "Фостера-Бойса" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Едмістрона-Рюденберга" #~ msgid "Pipek-Mezey" #~ msgstr "Піпека-Мезея" #~ msgid "SCF Type:" #~ msgstr "Тип SCF:" #~ msgid "Localization Method:" #~ msgstr "Метод локалізації:" #~ msgid "Exec Type:" #~ msgstr "Тип виконання:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Визначник Ames (ALDET)" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Обмежений зайнятістю мультиактивний простір (ORMAS)" #~ msgid "CI Singles" #~ msgstr "CI з однократним збудженням" #~ msgid "Full Second Order CI" #~ msgstr "Повне КВ другого порядку (FSOCI)" #~ msgid "General CI" #~ msgstr "Загальне CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: лінеаризоване CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC з двократними збудженнями" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC з одно- і двократними збудженнями" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Звичайний запуск" #~ msgid "Check" #~ msgstr "Перевірка" #~ msgid "Debug" #~ msgstr "Зневаджування" #~ msgid "Molecule Charge:" #~ msgstr "Заряд молекули:" #~ msgid "Run Type:" #~ msgstr "Тип обчислень:" #~ msgid "Use MP2" #~ msgstr "Використовувати MP2" #~ msgid "Use DFT" #~ msgstr "Використовувати ДПФ" #~ msgid "# of Z-Matrix Variables" #~ msgstr "кількість змінних Z-матриці" #~ msgid "Ǻngstrom" #~ msgstr "Ангстрем" #~ msgid "Order of Principal Axis:" #~ msgstr "Порядок головної вісі:" #~ msgid "Coordinate Type:" #~ msgstr "Тип координат:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Унікальні декартові координати" #~ msgid "Hilderbrant internals" #~ msgstr "Внутрішні координати Гільдербранта" #~ msgid "MOPAC Z-Matrix" #~ msgstr "Z-матриця MOPAC" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Використовувати симетрію" #~ msgid "Units:" #~ msgstr "Одиниці:" #~ msgid "Point Group:" #~ msgstr "Точкова група:" #~ msgid "Minutes" #~ msgstr "хвилини" #~ msgid "Hours" #~ msgstr "години" #~ msgid "Days" #~ msgstr "дні" #~ msgid "Weeks" #~ msgstr "тижні" #~ msgid "Years" #~ msgstr "роки" #~ msgid "Millenia" #~ msgstr "тисячоліття" #~ msgid "MegaWords" #~ msgstr "мегаслів" #~ msgid "MegaBytes" #~ msgstr "мегабайтів" #~ msgid "GigaWords" #~ msgstr "гігаслів" #~ msgid "GigaBytes" #~ msgstr "гігабайтів" #~ msgid "Force Parallel Methods" #~ msgstr "Використовувати паралельні групи" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Створити core-файл у разі переривання" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Пам'ять:" #~ msgid "Diagonalization Method:" #~ msgstr "Метод діагоналізації:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Тип балансування при паралельному виконанні" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Цикл" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Наступне значення" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Використовувати зовнішнє представлення даних для повідомлень" #~ msgid "Initial Guess:" #~ msgstr "Початкове наближення:" #~ msgid "Hückel" #~ msgstr "Хюккель" #~ msgid "HCore" #~ msgstr "Голі ядра" #~ msgid "MO Read ($VEC)" #~ msgstr "Прочитані МО ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "Збережені МО (DICTNRY)" #~ msgid "Skip" #~ msgstr "Пропустити" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Обертати α- і β-орбіталі" #~ msgid "Print the Initial Guess" #~ msgstr "Виводити початкове наближення" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Інтерфейс GAMESS до інших програм" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Використовувати вказаний режим перевірки" #~ msgid "Hondo 8.2" #~ msgstr "Хондо 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (версія UK)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Сольватувати водою" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Створення природних орбіталей УВЧ" #~ msgid "Direct SCF" #~ msgstr "Пряме SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Обчислити лише зміни фокіана (FDIFF)" #~ msgid "Slater exchange" #~ msgstr "Слейтера (обмінний)" #~ msgid "Becke 1988 exchange" #~ msgstr "Бекке 1988 (обмінний)" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Воско-Вілк-Нусе (VWN5) (кореляційний)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Лі-Янг-Парр (кореляційний)" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Слейтера (обмінний) + VWN (кореляційний)" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: Бекке (обмінний) + VWN5 (кореляційний)" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: Бекке (обмінний) + LYP (кореляційний)" #~ msgid "Gill 1996 exchange" #~ msgstr "Гілл 1996 (обмінний)" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Педрю-Бурке-Ернзергоф (PBE) (обмінний)" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: однопараметричний прогресивний (кореляційний)" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: Слейтера + Лі-Янг-Парр (LYP) (кореляційний)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: Слейтера + однопараметричний (кореляційний)" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: Бекке (обмінний) + однопараметричний (кореляційний)" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: Гілл (обмінний) + VWN5 (кореляційний)" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: Гілл (обмінний) + LYP (кореляційний)" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE (обмінний) + VWN6 (кореляційний)" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE (обмінний) + LYP (кореляційний)" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE (обмінний) + однопараметричний (кореляційний)" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF і Бекке (обмінний) + LYP (кореляційний)" #~ msgid "Grid-Free" #~ msgstr "Без сітки" #~ msgid "DFT Functional:" #~ msgstr "Функціонал ДПФ:" #~ msgid "Method:" #~ msgstr "Метод:" #~ msgid "AO Integral Storage" #~ msgstr "Зберігання інтегралів AO" #~ msgid "Duplicated on Each Node" #~ msgstr "Дублювати на кожному вузлі" #~ msgid "Distributed Across All Nodes" #~ msgstr "Розподілити за всіма вузлами" #~ msgid "words" #~ msgstr "слів" #~ msgid "Compute MP2 Properties" #~ msgstr "Обчислити властивості для MP2" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Межа зберігання інтегралів:" #~ msgid "Use Localized Orbitals" #~ msgstr "Використовувати локалізовані орбіталі" #~ msgid "# of Core Electrons:" #~ msgstr "Кількість внутрішніх електронів:" #~ msgid "Transformation Method" #~ msgstr "Метод перетворення" #~ msgid "Two Phase Bin Sort" #~ msgstr "Двофазове бінарне впорядкування" #~ msgid "Segmented Transformation" #~ msgstr "Сегментоване перетворення" #~ msgid "Analytic" #~ msgstr "Аналітичний" #~ msgid "Numeric" #~ msgstr "Числовий" #~ msgid "Double Differenced Hessian" #~ msgstr "З подвійним чисельним диференціюванням" #~ msgid "Print Internal Force Constants" #~ msgstr "Вивести внутрішні силові сталі" #~ msgid "Displacement Size:" #~ msgstr "Розмір зсуву:" #~ msgid "Purify Hessian" #~ msgstr "Проектувати гессіан" #~ msgid "Frequency Scale Factor:" #~ msgstr "Коефіцієнт масштабування частот:" #~ msgid "bohrs" #~ msgstr "бор" #~ msgid "Initial Hessian" #~ msgstr "Початковий гессіан" #~ msgid "Guess (+ define)" #~ msgstr "Наближення (+ define)" #~ msgid "Read (from $HESS)" #~ msgstr "Прочитати (з $HESS)" #~ msgid "Update Step Size" #~ msgstr "Змінювати крок" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Виводити орбіталі на кожній ітерації" #~ msgid "Jump Size:" #~ msgstr "Розмір переходу:" #~ msgid "Stationary Point" #~ msgstr "Стаціонарна точка" #~ msgid "Step Size" #~ msgstr "Розмір кроку" #~ msgid "Maximum:" #~ msgstr "Максимум:" #~ msgid "Minimum:" #~ msgstr "Мінімум:" #~ msgid "Initial:" #~ msgstr "Початковий:" #~ msgid "Newton-Raphson" #~ msgstr "Ньютона-Рафсона" #~ msgid "Rational Function Optimization" #~ msgstr "Раціональна оптимізація" #~ msgid "Quadratic Approximation" #~ msgstr "Квадратична апроксимація" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Шлегель (квазі-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Оптимізація з обмеженнями" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Переобчислювати гессіан кожні:" #~ msgid "Follow Mode:" #~ msgstr "Режим слідкування:" #~ msgid "Maximum Steps:" #~ msgstr "Максимальна к-ть кроків:" #~ msgid "GAMESS-UK Input" #~ msgstr "Вхідні дані GAMESS-UK" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "Вхідні дані GAMESS-UK, створені за допомогою Avogadro" #~ msgid "Calculation:" #~ msgstr "Обчислення:" #~ msgid "Transition State Search" #~ msgstr "Пошук перехідних станів" #~ msgid "Basis:" #~ msgstr "Базис:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Z-матриця" #~ msgid "" #~ "In direct mode, integrals are not stored on disk, but recalculated as " #~ "needed.\n" #~ "On modern systems with fast processors and slow disks, direct is often " #~ "faster." #~ msgstr "" #~ "У режимі безпосереднього показу інтеграли не зберігаються на диску, а " #~ "обчислюються у разі потреби.\n" #~ "У сучасних системах, де процесори швидкі, а доступ до дисків повільний, " #~ "безпосередній режим показу може бути швидшим." #~ msgid "Run in direct mode:" #~ msgstr "Запуск у безпосередньому режимі:" #~ msgid "Gaussian Input" #~ msgstr "Вхідні дані Gaussian" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Output:" #~ msgstr "Вивід:" #~ msgid "Standard" #~ msgstr "Стандартний" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "Контрольна точка:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-матриця (компактна)" #~ msgid "Select the unit style to be used during the simulation." #~ msgstr "Виберіть тип одиниці, який буде використано під час імітації." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/units.html

" #~ msgid "lj" #~ msgstr "lj" #~ msgid "real" #~ msgstr "real" #~ msgid "metal" #~ msgstr "metal" #~ msgid "si" #~ msgstr "si" #~ msgid "cgs" #~ msgstr "cgs" #~ msgid "electron" #~ msgstr "electron" #~ msgid "Water Potential" #~ msgstr "Потенціал ґрунтової вологи" #~ msgid "NONE" #~ msgstr "НЕМАЄ" #~ msgid "SPC" #~ msgstr "SPC" #~ msgid "SPC/E" #~ msgstr "SPC/E" #~ msgid "Select atom_style used by the data file." #~ msgstr "Виберіть значення параметра atom_style, використане у файлі даних." #~ msgid "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

http://lammps.sandia.gov/doc/atom_style.html

" #~ msgid "Atom Style" #~ msgstr "Стиль атому" #~ msgid "angle" #~ msgstr "кут" #~ msgid "atomic" #~ msgstr "atomic" #~ msgid "bond" #~ msgstr "bond" #~ msgid "charge" #~ msgstr "charge" #~ msgid "dipole" #~ msgstr "dipole" #~ msgid "ellipsoid" #~ msgstr "ellipsoid" #~ msgid "full" #~ msgstr "full" #~ msgid "line" #~ msgstr "line" #~ msgid "meso" #~ msgstr "meso" #~ msgid "molecular" #~ msgstr "molecular" #~ msgid "peri" #~ msgstr "peri" #~ msgid "sphere" #~ msgstr "sphere" #~ msgid "tri" #~ msgstr "tri" #~ msgid "wavepacket" #~ msgstr "wavepacket" #~ msgid "Specify the name to be used for the coordinate file." #~ msgstr "Вкажіть назву, яку буде використано для файла координат." #~ msgid "Coordinate Data File" #~ msgstr "Файл даних координат" #~ msgid "Ensemble" #~ msgstr "Ансамбль" #~ msgid "NVT" #~ msgstr "NVT" #~ msgid "NVE" #~ msgstr "NVE" #~ msgid "Temperature" #~ msgstr "Температура" #~ msgid "Select the number of Nosé-Hoover chains in the NVT ensemble." #~ msgstr "" #~ "Виберіть кількість ланцюжків Носе-Гувера у канонічному (NVT) ансамблі." #~ msgid "NH Chains" #~ msgstr "Ланцюжків НГ" #~ msgid "" #~ "Time step for the simulation in units according to \"Units\" " #~ "specification." #~ msgstr "" #~ "Крок за часом під час імітації у одиницях, визначених параметрами розділу " #~ "«Одиниці»." #~ msgid "Time Step" #~ msgstr "Крок за часом" #~ msgid "Filename of the XYZ file to write during the simulation." #~ msgstr "Назва файла XYZ для запису даних під час імітації." #~ msgid "Dump XYZ" #~ msgstr "Записати XYZ" #~ msgid "Number of dimensions in the system." #~ msgstr "Кількість вимірів у системі." #~ msgid "Dimensions" #~ msgstr "Розмірності" #~ msgid "Change Z boundary style." #~ msgstr "Змінити стиль межі за Z." #~ msgid "p" #~ msgstr "p" #~ msgid "s" #~ msgstr "s" #~ msgid "f" #~ msgstr "f" #~ msgid "m" #~ msgstr "m" #~ msgid "fs" #~ msgstr "fs" #~ msgid "fm" #~ msgstr "fm" #~ msgid "Change Y boundary style." #~ msgstr "Змінити стиль межі за Y." #~ msgid "Change X boundary style." #~ msgstr "Змінити стиль межі за X." #~ msgid "Select bondary Styles in X, Y and Z directions." #~ msgstr "Виберіть стиль межі області у напрямках X, Y і Z." #~ msgid "Boundary" #~ msgstr "Межа" #~ msgid "Number of replicants in X, Y and Z directions." #~ msgstr "Кількість копій у напрямках X, Y і Z." #~ msgid "Replicate" #~ msgstr "Копіювання" #~ msgid "Replicate the X direction." #~ msgstr "Копіювати напрям X." #~ msgid "Replicate the Y direction." #~ msgstr "Копіювати напрям Y." #~ msgid "Replicate the Z direction." #~ msgstr "Копіювати напрям Z." #~ msgid "Total number of timesteps to run the simulation." #~ msgstr "Загальна кількість кроків за часом у імітації." #~ msgid "Total Steps" #~ msgstr "Загалом кроків" #~ msgid "Dump Interval" #~ msgstr "Інтервал запису" #~ msgid "Set the initial atom velocities for the simulation." #~ msgstr "Вкажіть початкові швидкості атомів у імітації." #~ msgid "Initial Velocities" #~ msgstr "Початкові швидкості" #~ msgid "Select the distribution of initial atom velocities." #~ msgstr "Виберіть розподіл початкових швидкостей атомів." #~ msgid "gaussian" #~ msgstr "гаусів" #~ msgid "uniform" #~ msgstr "однорідний" #~ msgid "Set the initial atom velocities to match this temperature." #~ msgstr "" #~ "Встановити початкові швидкості атомів, що відповідають цій температурі." #~ msgid "Remove system linear momentum from initial velocities." #~ msgstr "Усунути лінійний імпульс системи з початкових швидкостей." #~ msgid "Zero Linear Momentum" #~ msgstr "Нульовий імпульс" #~ msgid "Remove system angular momentum from initial velocities." #~ msgstr "Усунути момент імпульсу з початкових швидкостей." #~ msgid "Zero Angular Momentum" #~ msgstr "Нульовий кутовий імпульс" #~ msgid "Control the thermodynamic output during the simulation." #~ msgstr "Контролювати термодинамічну вихідну потужність під час імітації." #~ msgid "Output Interval" #~ msgstr "Інтервал виводу" #~ msgid "2d" #~ msgstr "2d" #~ msgid "3d" #~ msgstr "3d" #~ msgid "Thermodynamic output style." #~ msgstr "Стиль термодинамічного виводу." #~ msgid "One Line" #~ msgstr "Одна лінія" #~ msgid "Multi Line" #~ msgstr "Багато ліній" #~ msgid "" #~ "\n" #~ "\n" #~ "

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

" #~ msgid "MOLPRO Input" #~ msgstr "Вхідні дані MOLPRO" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Версія Molpro:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "Вхідні дані MOPAC" #~ msgid "Quartet" #~ msgstr "Квартет" #~ msgid "Quintet" #~ msgstr "Квінтет" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Вхідні дані NWChem" #~ msgid "Psi4 Input" #~ msgstr "Вхідні дані Psi4" #~ msgid "SAPT0" #~ msgstr "SAPT0" #~ msgid "SAPT2" #~ msgstr "SAPT2" #~ msgid "B3LYP-D" #~ msgstr "B3LYP-D" #~ msgid "B97-D" #~ msgstr "B97-D" #~ msgid "M05-2X" #~ msgstr "M05-2X" #~ msgid "jun-cc-pVDZ" #~ msgstr "jun-cc-pVDZ" #~ msgid "Q-Chem Input" #~ msgstr "Вхідні дані Q-Chem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "TeraChem Input" #~ msgstr "Вхідні дані TeraChem" #~ msgid "B3LYP1" #~ msgstr "B3LYP1" #~ msgid "REVPBE" #~ msgstr "REVPBE" #~ msgid "Unrestricted" #~ msgstr "Без обмежень" #~ msgid "PBD" #~ msgstr "PBD" #~ msgid "no" #~ msgstr "ні" #~ msgid "yes" #~ msgstr "так" #~ msgid "D2" #~ msgstr "D2" #~ msgid "D3" #~ msgstr "D3" #~ msgid "Dispersion:" #~ msgstr "Дисперсія:" #~ msgid "Load Shaders" #~ msgstr "Завантаження шейдерів" #~ msgid "Shader Name:" #~ msgstr "Назва шейдера:" #~ msgid "Vertex Shader:" #~ msgstr "Вершинний шейдер:" #~ msgid "Fragment Shader:" #~ msgstr "Шейдер фрагментів:" #~ msgid "Assign Shader" #~ msgstr "Призначити шейдер" #~ msgid "Display Type:" #~ msgstr "Тип показу:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Керування:\n" #~ "Подвійне клацання лівою: відновити типові межі осей\n" #~ "Клацання правою + перетягування: пересування креслення\n" #~ "Клацання середньою + перетягування: збільшення ділянки\n" #~ "Коліщатко гортання: зміна масштабу ділянки навколо вказівника" #~ msgid "&Load data..." #~ msgstr "З&авантажити дані…" #~ msgid "&Close" #~ msgstr "За&крити" #~ msgid "Calculated Spectra:" #~ msgstr "Обчислені спектри:" #~ msgid "Set Color..." #~ msgstr "Встановити колір…" #~ msgid "Imported Spectra:" #~ msgstr "Імпортовані спектри:" #~ msgid "Font:" #~ msgstr "Шрифт:" #~ msgid "Change Font..." #~ msgstr "Змінити шрифт…" #~ msgid "Show" #~ msgstr "Показувати" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "" #~ "Імпорт експериментальних спектрів у форматі значень, відокремлених " #~ "табуляторами, для накладання на графік." #~ msgid "&Import..." #~ msgstr "&Імпортувати…" #~ msgid "Background:" #~ msgstr "Тло:" #~ msgid "Foreground:" #~ msgstr "Текст:" #~ msgid "New..." #~ msgstr "Створити…" #~ msgid "Rename..." #~ msgstr "Перейменувати…" #~ msgid "&Schemes:" #~ msgstr "С&хеми:" #~ msgid "&Export..." #~ msgstr "&Експортувати…" #~ msgid "&DPI:" #~ msgstr "&Роздільність:" #~ msgid "&Width:" #~ msgstr "&Ширина:" #~ msgid "&Height" #~ msgstr "&Висота" #~ msgid "cm" #~ msgstr "см" #~ msgid "mm" #~ msgstr "мм" #~ msgid "in" #~ msgstr "дюймів" #~ msgid "px" #~ msgstr "пікселів" #~ msgid "&Save Image..." #~ msgstr "&Зберегти зображення…" #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Використовувати оптимізоване значення розміру шрифту, замість вказаного у " #~ "схемі (розміри точок на екрані та на зображенні можуть значно " #~ "відрізнятися!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Автокоригування роз&мірів шрифту" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "Експортувати дані" #~ msgid "Spectra Tab" #~ msgstr "Вкладка спектрів" #~ msgid "&Gaussian Width:" #~ msgstr "Ширина &гаусового піка:" #~ msgid "&Label peaks" #~ msgstr "&Мітки піків" #~ msgid "Rotatory Strength type:" #~ msgstr "Тип інтенсивності обертання:" #~ msgid "Energy units:" #~ msgstr "Одиниці енергії:" #~ msgid "Density units" #~ msgstr "Одиниці щільності" #~ msgid "Fermi Energy: " #~ msgstr "Енергія Фермі: " #~ msgid "States / Cell" #~ msgstr "Станів/Комірка" #~ msgid "States / Atom" #~ msgstr "Станів/Атом" #~ msgid "States / Valence electron" #~ msgstr "Станів/Валентний електрон" #~ msgid "eV" #~ msgstr "еВ" #~ msgid "Fermi energy at zero" #~ msgstr "Енергія Фермі при нулі" #~ msgid "Scale integrated DOS" #~ msgstr "Інтегрована до масштабу щільність станів" #~ msgid "Show integrated DOS" #~ msgstr "Показувати інтегровану щільність станів" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "Одиниці в&иміру за Y:" #~ msgid "Scaling Type:" #~ msgstr "Тип масштабування:" #~ msgid "Linear" #~ msgstr "Лінійний" #~ msgid "Relative" #~ msgstr "Відносний" #~ msgid "Scale &Factor:" #~ msgstr "&Масштаб:" #~ msgid "Temperature:" #~ msgstr "Температура:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "Хвильове число лазера:" #~ msgid " cm⁻¹" #~ msgstr " см⁻¹" #~ msgid "Threshold:" #~ msgstr "Поріг:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Ядро:" #~ msgid "&Reference:" #~ msgstr "П&осилання:" #~ msgid "Gaussian &Width:" #~ msgstr "Ширина г&аусового піка:" #~ msgid "Reset &Plot Axes" #~ msgstr "Відновити &вісі графіка" #~ msgid "Label Peaks:" #~ msgstr "Мітки піків:" #~ msgid "ppm" #~ msgstr "м.д." #~ msgid "Molecular Vibrations" #~ msgstr "Молекулярні коливання" #~ msgid "Filter: " #~ msgstr "Фільтр: " #~ msgid "km/mol" #~ msgstr "км/моль" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (см⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (км/моль)" #~ msgid "Activity (A^4/amu)" #~ msgstr "Активність (A⁴/а.о.м.)" #~ msgid "&Show Spectra..." #~ msgstr "&Показати спектри…" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "коливання вищої частоти буде відтворено швидшими рухами" #~ msgid "Animation speed set by frequency" #~ msgstr "Швидкість анімації задається частотою" #~ msgid "Display force &vectors" #~ msgstr "Показувати &вектори сил" #~ msgid "&Normalize displacements" #~ msgstr "&Нормалізувати зміщення" #~ msgid "Generate Cell" #~ msgstr "Створити комірку" #~ msgid "&Recalculate All" #~ msgstr "П&ереобчислити все" #~ msgid "Default &Quality:" #~ msgstr "Типова &якість:" #~ msgid "Show occupied orbitals first" #~ msgstr "Показувати спочатку заповнені орбіталі" #~ msgid "Limit orbital precalculations to " #~ msgstr "Обмежити попереднє обчислення орбіталей " #~ msgid "orbitals around HOMO/LUMO" #~ msgstr "орбіталями поряд з ВЗМО/НВМО" #~ msgid "Quality: " #~ msgstr "Якість: " #~ msgid "Create Surfaces" #~ msgstr "Створення поверхні" #~ msgid "Surface Type:" #~ msgstr "Тип поверхні:" #~ msgid "Color By:" #~ msgstr "Розфарбовувати за:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Низька" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Середня" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Висока" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Дуже висока" #~ msgid "Isosurface cutoff value" #~ msgstr "Граничне значення поверхні межі" #~ msgid "Iso Value:" #~ msgstr "Значення ISO:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "У типі показу:" #~ msgid "New Display" #~ msgstr "Нове вікно показу" #~ msgid "Advanced..." #~ msgstr "Додатково…" #~ msgid "&n:" #~ msgstr "&n:" #~ msgid "&m:" #~ msgstr "&m:" #~ msgid "&Length:" #~ msgstr "&Довжина:" #~ msgid "Uni&t:" #~ msgstr "&Одиниця:" #~ msgid "periodic units" #~ msgstr "періодичні одиниці" #~ msgid "angstrom" #~ msgstr "ангстреми" #~ msgid "bohr radii" #~ msgstr "радіуси Бора" #~ msgid "nanometers" #~ msgstr "нанометри" #~ msgid "picometers" #~ msgstr "пікометри" #~ msgid "&Cap with hydrogen" #~ msgstr "&Завершувати атомами водню" #~ msgid "" #~ "This may take a while. If only the atomic coordinates\n" #~ "are needed (say, for a quantum mechanical calculation),\n" #~ "a single-bond-only representation should suffice." #~ msgstr "" #~ "Обробка може бути тривалою. Якщо потрібні лише координати\n" #~ "атомів (скажімо, для квантово-механічних розрахунків),\n" #~ "достатньо однозв’язкового представлення." #~ msgid "Find &double bonds" #~ msgstr "Знайти &подвійні зв’язки" #~ msgid "Molecular Symmetry" #~ msgstr "Молекулярна симетрія" #~ msgid "VRML Export" #~ msgstr "Експорт до VRML" #~ msgid "Scale (mm/Å):" #~ msgstr "Шкала (мм/Å):" #~ msgid "Smallest sphere (mm): " #~ msgstr "Найменша сфера (у мм): " #~ msgid "VRML (color)" #~ msgstr "VRML (кольорові)" #~ msgid "Thinnest cylinder (mm): " #~ msgstr "Найвужчий циліндр (у мм): " #~ msgid "Calculate Size..." #~ msgstr "Обчислити розмір…" #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Translate by:" #~ msgstr "Перенесення:" #~ msgid "X-axis" #~ msgstr "Вісь X" #~ msgid "Y-axis" #~ msgstr "Вісь Y" #~ msgid "Z-axis" #~ msgstr "Вісь Z" #~ msgid "Rotate around:" #~ msgstr "Обертання навколо:" #~ msgid "Origin" #~ msgstr "Початок координат" #~ msgid "Geometry" #~ msgstr "Геометрія" #~ msgid "Display visual cues" #~ msgstr "Показувати візуальні підказки" #~ msgid "Python Settings" #~ msgstr "Параметри Python" #~ msgid "Z Matrix Editor" #~ msgstr "Редактор Z-матриць" #~ msgid "Import Selected Atoms" #~ msgstr "Імпортувати позначені атоми" avogadrolibs-1.93.0/i18n/vi.po000066400000000000000000005204321360735163600160350ustar00rootroot00000000000000# Vietnamese translation for avogadro # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2010. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:38+0000\n" "Last-Translator: Avogadro Team \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:02+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "Phát sinh đầu vào..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "Phát sinh đầu vào..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "Tiếp tục" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "Đóng" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "Không rõ" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "Hủy bỏ tính toán" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "Cảnh báo" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "Cảnh báo" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "Chọn dung môi" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "Đầu ra:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "Không thể ghi ra file." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "Không ghi được file video." #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "Không ghi được file video." #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "Tựa đề" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "Tên file:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "Bộ xử lý:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "Tính:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "Lý thuyết:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "Lý thuyết:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Cơ sở" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "Không có phân tử nào được đặt" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "Dừng &hình động" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "Không có nguyên tử nào được chọn" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hi-đrô" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Hê-li" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Li-ti" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Be-ri" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Bo" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Các-bon" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Ni-tơ" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Ô-xi" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Flo" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Nê-ông" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Na-tri" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Ma-giê" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Nhôm" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Si-lic" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Phốt-pho" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Lưu huỳnh" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Clo" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "A-gôn" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Ka-li" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Can-xi" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scan-đi" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Ti-tan" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Va-na-đi" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Crôm" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Măng-gan" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Sắt" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cô-ban" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Ni-ken" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Đồng" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Kẽm" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Ga-li" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Giéc-ma-ni" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "A-sen" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Se-len" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Brôm" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Crip-tôn" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Ru-bi-đi" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strông-ti" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Y-tri" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zi-cô-ni" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niô-bi" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Mô-lip-đen" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Tếch-ne-xi" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ru-te-ni" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rô-đi" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Pa-la-đi" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Bạc" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Ca-đi-mi" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "In-đi" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Thiếc" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "An-ti-moan" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Te-lua" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "I-ốt" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xe-nôn" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Xê-di" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Ba-ri" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lan-tan" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Xê-ri" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Pra-seo-đi" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Nê-ô-đi" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Prô-mê-ti" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Sa-ma-ri" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Êu-rô-pi" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Ga-đô-lin" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Téc-bi" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Đi-prô-xi" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Hô-mi" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Éc-bi" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thu-li" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Y-téc-bi" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lu-te-ti" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Haf-ni" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tan-tan" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Von-fram" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rê-ni" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Ô-si-mi" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "I-ri-đi" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Bạch kim" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Vàng" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Thủy ngân" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Ta-li" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Chì" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bít-mút" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Pô-lô-ni" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "As-ta-tin" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Ra-đôn" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Fran-xi" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Ra-đi" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Ác-ti-ni" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Tho-ri" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Prô-tác-ti-ni" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "U-ra-ni" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Nép-tu-ni" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plu-tô-ni" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "A-me-ri-xi" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Quy-ri" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Béc-kơ-li" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Ca-li-fo-ni" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Anh-xtanh-ni" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Féc-mi" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Men-đe-le-vi" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nô-be-li" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lo-ren-xi" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rơ-zơ-pho-đi" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Đúp-ni" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgi" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "Bohri" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassi" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitneri" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadti" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Rơng-ghe-ni" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Cô-péc-ni-xi" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zi-cô-ni" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "Duyệt tìm..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "Chọn dung môi" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "Xóa đối tượng được chọn" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "Tất cả các file" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "không tên" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "Bảng tuần hoàn" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "Không thể khởi động G03" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "&Đoạn mã lệnh" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "Lỗi OpenGL" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "Không rõ" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "Phân tử" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "Thêm nguyên tử" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "Bỏ nguyên tử" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "Xoá hết" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "Chỉnh nguyên tử hi-đrô" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "Thay đổi nguyên tố" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "Thay đổi nguyên tố" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 msgid "Change Atom Formal Charge" msgstr "" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "Thêm liên kết" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "Bỏ nguyên tử" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "Xóa liên kết" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "Thứ tự liên kết" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "Thay đổi thứ tự liên kết" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " Bắt các điểm nút liên kết" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "Xóa liên kết" #: qtgui/rwmolecule.cpp:962 msgid "Add Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:995 msgid "Remove Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1077 msgid "Edit Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 msgid "Build Super Cell" msgstr "" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 msgid "Symmetrize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "&File" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "Xuất" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "Mở file tham số" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "Phần mở rộng" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "Lỗi" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "Có trục trặc khi đọc file quỹ đạo %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "Lỗi OpenGL" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "Có trục trặc khi đọc file quỹ đạo %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "Lỗi" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "Lưu bảng nhập đầu vào" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "Thành công!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "Việc ghi ảnh vào %1 đã thành công" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "Thể hiện các liên kết bội" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "hi-đrô" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "Thanh và cầu" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "Hiện các nhãn nguyên tử và liên kết" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "Thao tác với liên kết" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "Thao tác với liên kết" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "Kết thúc nguyên tử" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "Bỏ hi-đrô" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "&Dựng" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "Liên kết" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "Tên file:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "Trình biên tập toạ độ Đề-các" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "Trình biên tập toạ độ Đề-các" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "Quay lại trước khi sửa đổi" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "Tên file không hợp lệ" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "Tên nguyên tố" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "Ký hiệu nguyên tố" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "Ký hiệu nguyên tố" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "Tên file không hợp lệ" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "Số hiệu nguyên tử" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "Tên file không hợp lệ" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "Toạ độ Đề-các" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "Toạ độ Đề-các" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "Toạ độ Đề-các" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "Toạ độ Đề-các" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "Toạ độ Đề-các" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "Toạ độ Đề-các" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Nguyen Quang Chien, ,Launchpad Contributions:," "Avogadro Team,Nguyen Quang Chien, ,Launchpad Contributions:,Avogadro Team," "Nguyen Quang Chien, ,Launchpad Contributions:,Avogadro Team,Nguyen Quang " "Chien, ,Launchpad Contributions:,Avogadro Team,Nguyen Quang Chien, ," "Launchpad Contributions:,Avogadro Team,Nguyen Quang Chien" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ kèm theo số" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "Toạ độ Đề-các" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "Toạ độ Đề-các" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "Thông tin GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "Thông tin GAMESS EFP" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "Chép tất cả" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "Tự chọn:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "Xoá hết" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 msgid "Toggle Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:66 msgid "Edit Unit Cell..." msgstr "" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 msgid "Build &Supercell" msgstr "" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "&Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 msgid "Crystal" msgstr "" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "Hiện các nhãn nguyên tử và liên kết" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "Trục tự chọn" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "Vẽ" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "Vẽ nguyên tử" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "Thay đổi thứ tự liên kết" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "Bỏ nguyên tử" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "Khoảng cách" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "Khoảng cách (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "Khác..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "Tối ưu hoá tự động" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "Đơn" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "Đôi" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "Ba" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "&Đoạn mã lệnh" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "Có trục trặc khi đọc file quỹ đạo %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "Phát sinh đầu vào..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "Đầu vào GAMESS" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "Năng lượng điểm đơn" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "Bảng nhập đầu vào GAMESS" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "Hủy bỏ tính toán" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "Chỉnh nguyên tử hi-đrô" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "Thêm hi-đrô" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "Bỏ hi-đrô" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "Bỏ hi-đrô" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "hi-đrô" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "hi-đrô" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "Nhập" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "Hiện các nhãn nguyên tử và liên kết" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "&Chèn" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "Không có mô tả" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "Phân tử" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "Phát sinh..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "Thao tác" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "Thao tác với nguyên tử" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "Đo" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "Góc nhị diện:" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "Angle:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "Đo" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "Vẽ lưới mặt mức phân tử" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "&Xem" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "Thuộc tính phân tử" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "Di chuyển" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "Di chuyển" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "Tên hoá học" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "Cấu trúc hoá học để tải xuống." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "Việc tải xuống từ mạng không thành công" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "Hết hạn giờ nhập mạng hoặc một lỗi khác." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "Không tìm được phân tử đã cho: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "Việc tải xuống từ mạng không thành công" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "&Tối ưu hình học" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "Tối ưu hoá hình học" #: qtplugins/openbabel/openbabel.cpp:65 msgid "Perceive bonds" msgstr "" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "Thêm hi-đrô" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "Thêm hi-đrô cho pH..." #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "Bỏ hi-đrô" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "Không đọc được thông tin về một phân tử trong file '%1'." #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "Có lỗi trong khi ghi file %1" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "&Tối ưu hình học" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "Phát sinh..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "" "Trong file quỹ đạo %1 không có sự thống nhất về số phân tử trong nguyên tử " "hiện tại" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "&Tối ưu hình học" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "Thêm hi-đrô" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "Thêm hi-đrô cho pH" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "Bỏ hi-đrô" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "Dừng" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "Thông số:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Liên kết động" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "Xóa bỏ..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "Dừng" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 msgid "Export Bitmap Graphics" msgstr "" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "Không thể đọc file %1." #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "Lỗi" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "Lưu file video" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "Lên hình bằng POV-Ray" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "&Phần mở rộng" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "Tạo ra file đầu vào cho các gói chương trình hóa lượng tử" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "Tính mật độ electron" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "Tính mật độ electron" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "Tính và hiển thị các orbital phân tử" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "Orbital phân tử %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "Thiết lập lại" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "Phát sinh file đầu vào" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "Xoá tất cả" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "Lựa chọn" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "Chọn đảo &lại" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "Các lựa chọn" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "&Chọn" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "&Chọn" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "Lựa chọn" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "Lựa chọn" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Rung động" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "Hiển thị phổ" #: qtplugins/spectra/spectra.h:47 msgid "Display spectra and vibrational modes." msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "Kiểu" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "Nguyên tố" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "Chọn theo nguyên tố..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "Vẽ các mô-men lưỡng cực phân tử" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "Lên hình" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "Lên hình bằng POV-Ray" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "Khung dây" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "Vẽ phân tử dưới dạng hình thanh" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Biểu mẫu" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "Cài đặt về lựa chọn" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "Hủy bỏ tính toán" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Queue and Program:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "Bộ xử lý:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "Thay đổi nguyên tố" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "File đầu vào Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) msgid "PDB File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "…" #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "Trường lực:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) msgid "PQR File:" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "File đầu vào Dalton" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "Lưu bảng nhập đầu vào" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "Thành công!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) msgid "Load Structure File" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "Tải file..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "Cài đặt các yếu tố đo đạc" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "Tên &file:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "Di chuyển" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "Di chuyển" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "Di chuyển" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "Tên file:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "OK" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "Hủy bỏ" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "Trình biên tập toạ độ Đề-các" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "Thiết lập lại" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "Khoảng cách" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "Angstrom" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bo" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "Dạng thức:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "Quay lại trước khi sửa đổi" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "Áp dụng" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "Thông số:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "Lặp lại B:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "Lặp lại C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) msgid "Unit Cell Editor" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "Ma trận Z MOPAC" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "Phân số" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Phương pháp biến đổi" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "Hệ số tỉ lệ tần số:" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "Nguyên tố" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "Thứ tự liên kết:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "Đầu vào GAMESS" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "Trong:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "Với:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "Tựa đề:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "Điện tích:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "Tính toán:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "Tên file:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "Thiết lập lại tất cả" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "Mặc định" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "Tải file..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "tên" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "Dạng thức:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "Không có mô tả" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "Khối lượng phân tử (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "CẦN LÀM" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "Công thức hoá học:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "Số nguyên tử:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "Số liên kết:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "Tối ưu hoá hình học" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "Phương pháp tối ưu:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "Trường lực:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "Phương pháp tối ưu:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Dốc xuống nhất" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "Gra-đien liên hợp" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "Xoay tự động" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Mặt mức Van der Waals = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "Thế tĩnh điện" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "bước" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "Tiêu chí hội tụ gradient:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "Hội tụ" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "Giới hạn thời gian:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "Đơn vị:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "Số liên kết:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "Bước sóng (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "Xóa đối tượng được chọn" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "cộng hóa trị" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "Độ đục:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "Mặt" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "Mặt" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "Giá trị cắt bỏ cho mặt mức" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "Độ phân giải:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "Mặt" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Rung động" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "Bắt đầu &hình động" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "Dừng &hình động" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "Phân tử" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "Tuỳ chọn" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Nguyen Quang Chien, ,Launchpad Contributions:," "Avogadro Team,Nguyen Quang Chien, ,Launchpad Contributions:,Avogadro Team," "Nguyen Quang Chien, ,Launchpad Contributions:,Avogadro Team,Nguyen Quang " "Chien, ,Launchpad Contributions:,Avogadro Team,Nguyen Quang Chien, ," "Launchpad Contributions:,Avogadro Team,Nguyen Quang Chien" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,,,avogadro-devel@lists.sourceforge.net,,,,avogadro-devel@lists." "sourceforge.net,,,,avogadro-devel@lists.sourceforge.net,,,,avogadro-" "devel@lists.sourceforge.net,,,,avogadro-devel@lists.sourceforge.net," #~ msgid "Color by Index" #~ msgstr "Chọn màu theo chỉ số" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "Chọn màu theo chỉ số (đỏ, cam, vàng, lục, lam, tím)." #~ msgid "Color by Partial Charge" #~ msgstr "Chọn màu theo điện tích từng phần" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "" #~ "Chọn màu theo điện tích từng phần nguyên tử (lam = điện dương, đỏ = điện " #~ "âm." #~ msgid "Custom Color:" #~ msgstr "Màu tự chọn:" #~ msgid "Custom Color" #~ msgstr "Màu tự chọn" #~ msgid "Set custom colors for objects" #~ msgstr "Đặt màu tự chọn cho các vật" #~ msgid "Color by Distance" #~ msgstr "Chọn màu theo khoảng cách" #~ msgid "Color by distance from the first atom." #~ msgstr "Chọn màu theo khoảng cách từ nguyên tử thứ nhất." #~ msgid "Color by Element" #~ msgstr "Chọn màu theo nguyên tố" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "Chọn màu theo nguyên tố (các-bon = xám, ô-xi = đỏ, ...)." #~ msgid "SMARTS Pattern:" #~ msgstr "Mẫu SMARTS:" #~ msgid "Highlight Color:" #~ msgstr "Màu để đánh dấu:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "Tô màu theo mẫu SMARTS" #~ msgid "Ununtrium" #~ msgstr "Ununtri" #~ msgid "Ununpentium" #~ msgstr "Ununpenti" #~ msgid "Ununseptium" #~ msgstr "Ununsepti" #~ msgid "Ununoctium" #~ msgstr "Ununocti" #~ msgid "Engines" #~ msgstr "Động cơ" #~ msgid "Axes" #~ msgstr "Trục" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "Vẽ các trục x, y, z từ gốc toạ dộ" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "" #~ "Biểu diễn các thành phần cơ bản bằng hình cầu (nguyên tử) và thanh nối " #~ "(liên kết)" #~ msgid "Cartoon" #~ msgstr "Tranh vui" #~ msgid "Renders protein secondary structure" #~ msgstr "Vẽ cấu trúc thứ cấp của prô-tê-in" #~ msgid "Dipole" #~ msgstr "Lưỡng cực" #~ msgid "Force" #~ msgstr "Lực" #~ msgid "Renders force displacements on atoms" #~ msgstr "Vẽ các chuyển vị lực đối với nguyên tử" #~ msgid "Hydrogen Bond" #~ msgstr "Liên kết hi-đrô" #~ msgid "Renders hydrogen bonds" #~ msgstr "Vẽ các liên kết hi-đrô" #~ msgid "Select Atom Labels Color" #~ msgstr "Chọn màu cho nhãn nguyên tử" #~ msgid "Select Bond Labels Color" #~ msgstr "Chọn màu cho nhãn liên kết" #~ msgid "Select Atom Labels Font" #~ msgstr "Chọn phông chữ cho nhãn nguyên tử" #~ msgid "Select Bond Labels Font" #~ msgstr "Chọn phông chữ cho nhãn liên kết" #~ msgid "Label" #~ msgstr "Nhãn" #~ msgid "Polygon" #~ msgstr "Đa giác" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "Vẽ nguyên tử dưới dạng tứ giác, bát giác và các đa giác khác" #~ msgid "Ribbon" #~ msgstr "Ruy băng" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "Vẽ trục prô-tê-in dưới dạng ruy-băng" #~ msgid "Ring" #~ msgstr "Vòng" #~ msgid "Renders rings with colored planes" #~ msgstr "Vẽ vòng với các mặt phẳng màu" #~ msgid "Simple Wireframe" #~ msgstr "Khung dây đơn giản" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "Vẽ liên kết như các dây (đường), phù hợp với các nguyên tử lớn" #~ msgid "Van der Waals Spheres" #~ msgstr "Hình cầu Van der Waals" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "Hiển thị nguyên tử như hình cầu Van der Waals" #~ msgid "Stick" #~ msgstr "Thanh" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "Mặt mức mật độ electron = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "Mặt mức %1 = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "" #~ "Vẽ liên kết như các sợi dây (đường thẳng), phù hợp với các (sinh) phân tử " #~ "lớn" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "file video (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "Thêm phần mở rộng .avi" #~ msgid "Animation..." #~ msgstr "Hình động..." #~ msgid "Cannot read file format of file %1." #~ msgstr "Không thể đọc định dạng file %1." #~ msgid "Read trajectory file %1 failed." #~ msgstr "Việc đọc file quỹ đạo %1 không thành công." #~ msgid "Must specify a valid .avi file name" #~ msgstr "Phải chỉ định tên một file .avi hợp lệ" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "Khiển tố GL không được cài đặt đúng để lưu video" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "Tên file video không hợp lệ. Phải kèm theo đầy đủ đường dẫn" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "" #~ "Tên file video không hợp lệ. Phải kèm theo đầy đủ đường dẫn và tên file, " #~ "kết thúc bởi .avi" #~ msgid "Animation" #~ msgstr "Hình động" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "Làm chuyển động các quỹ đạo, phản ứng và rung động." #~ msgid "Cartesian Editor" #~ msgstr "Trình biên tập Đề-các" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "" #~ "Chưa có ô đơn vị nào được chỉ định cho phân tử -- không thể sử dụng toạ " #~ "độ phân số." #~ msgid "Cartesian Editor..." #~ msgstr "Trình biên tập Đề-các..." #~ msgid "Cartesian editor" #~ msgstr "Trình biên tập Đề-các" #~ msgid "Number of atoms: %1" #~ msgstr "Số nguyên tử: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "Số liên kết xoay được: %1" #~ msgid "Add constraint" #~ msgstr "Thêm ràng buộc" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "" #~ "Phân tử của bạn phải có ít nhất một nguyên tử để thêm được ràng buộc" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "" #~ "Phân tử của bạn phải có ít nhất hai nguyên tử để thêm được ràng buộc liên " #~ "kết" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "" #~ "Phân tử của bạn phải có ít nhất ba nguyên tử để thêm được ràng buộc về góc" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "" #~ "Phân tử của bạn phải có ít nhất bốn nguyên tử để thêm được ràng buộc về " #~ "độ xoắn" #~ msgid "Trajectory..." #~ msgstr "Quỹ đạo..." #~ msgid "Open chemical file format" #~ msgstr "Mở định dạng file hoá học" #~ msgid "Chemical files (*.xyz)" #~ msgstr "Các files hoá học (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "Các files hoá học (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "Nhập quỹ đạo" #~ msgid "Import trajectory files" #~ msgstr "Nhập các file quỹ đạo" #~ msgid "Setup Force Field..." #~ msgstr "Thiết lập trường lực..." #~ msgid "Calculate Energy" #~ msgstr "Tính năng lượng" #~ msgid "Conformer Search..." #~ msgstr "Tìm đồng phân..." #~ msgid "Constraints..." #~ msgstr "Ràng buộc..." #~ msgid "Ignore Selection" #~ msgstr "Bỏ qua lựa chọn" #~ msgid "Fix Selected Atoms" #~ msgstr "Cố định các nguyên tử được chọn" #~ msgid "&Molecular Mechanics" #~ msgstr "Cơ học &phân tử" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "" #~ "Không thể thiết lập trường lực đang được chọn cho phân tử này. Chuyển " #~ "sang UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "Năng lượng = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "Tối ưu hình học" #~ msgid "Forcefield Optimization" #~ msgstr "Tối ưu trường lực" #~ msgid "Systematic Rotor Search" #~ msgstr "Tìm rotor một cách tự động" #~ msgid "Random Rotor Search" #~ msgstr "Tìm rotor theo cách ngẫu nhiên" #~ msgid "Weighted Rotor Search" #~ msgstr "Tìm rotor theo trọng số" #~ msgid "ForceField" #~ msgstr "Trường lực" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "Tối ưu hoá phân tử và phát sinh các đồng phân bằng cách dùng trường lực " #~ "cơ phân tử" #~ msgid "Change H to Methyl" #~ msgstr "Thay H bằng mê-tyl" #~ msgid "H to Methyl" #~ msgstr "H bằng mê-tyl" #~ msgid "H2Methyl" #~ msgstr "H-Metyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "Chuyển hi-đrô thành các nhóm mê-tyl" #~ msgid "Add or remove hydrogens" #~ msgstr "Thêm hoặc bỏ hi-đrô" #~ msgid "Fragment..." #~ msgstr "Đoạn..." #~ msgid "Insert SMILES" #~ msgstr "Chèn SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "Chèn các đoạn SMILES:" #~ msgid "Insert Fragment" #~ msgstr "Chèn đoạn" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "Chèn các đoạn phân tử để tạo thành phân tử lớn" #~ msgid "Peptide..." #~ msgstr "Pep-tit..." #~ msgid "Insert Peptide" #~ msgstr "Chèn pep-tit" #~ msgid "Insert oligopeptide sequences" #~ msgstr "Chèn các chuỗi ô-li-gô-pep-tit" #~ msgid "Molecule Properties..." #~ msgstr "Thuộc tính phân tử..." #~ msgid "&Properties" #~ msgstr "&Thuộc tính" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "Giá trị uớc tính của mô-men lưỡng cực (D):" #~ msgid "Display standard molecular properties." #~ msgstr "Hiện các thuộc tính chuẩn của phân tử." #~ msgid "Fetch from PDB..." #~ msgstr "Lấy từ PDB..." #~ msgid "Fetch by chemical name..." #~ msgstr "Lấy theo tên hoá học..." #~ msgid "Fetch from URL..." #~ msgstr "Lấy từ URL..." #~ msgid "PDB Entry" #~ msgstr "Mục PDB" #~ msgid "PDB entry to download." #~ msgstr "Mục PDB để tải xuống." #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "URL của phân tử cần tải xuống." #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "Không tải được phân tử đã cho: %1" #~ msgid "Fetch molecule files over the network." #~ msgstr "Lấy file phân tử qua mạng." #~ msgid "Show Preview" #~ msgstr "Hiện khung xem thử" #~ msgid "Hide Preview" #~ msgstr "Ẩn khung xem thử" #~ msgid "Save POV-Ray rendered image" #~ msgstr "Lưu hình đã được hiển thị dưới dạng POV-Ray" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "Các file ảnh (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "Chưa có tên file nào được nhập vào." #~ msgid "No valid filename was supplied." #~ msgstr "Chưa có tên file hợp lệ nào được nhập vào." #~ msgid "Does not compute." #~ msgstr "Không tính toán." #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "Bạn yêu cầu trực tiếp vẽ POV-Ray nhưng không giữ lại file POV-Ray. Điều " #~ "này đồng nghĩa với việc kết quả sẽ không được lưu lại. Bạn chắc rằng muốn " #~ "như vậy chứ?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "Không thể ghi vào file %1. Bạn có quyền ghi vào file này không?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray khởi động không thành công." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "" #~ "POV-Ray khởi động không thành công. Có thể đường dẫn đến file chương " #~ "trình chạy chưa được đặt đúng." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "" #~ "Tạo các file POV-Ray và vẽ chúng bằng chương trình POV-Ray từ dòng lệnh." #~ msgid "Atom Properties..." #~ msgstr "Thuộc tính của nguyên tử..." #~ msgid "Bond Properties..." #~ msgstr "Thuộc tính của liên kết..." #~ msgid "Angle Properties..." #~ msgstr "Thuộc tính góc..." #~ msgid "Torsion Properties..." #~ msgstr "Thuộc tính xoắn..." #~ msgid "Conformer Properties..." #~ msgstr "Thuộc tính đồng phân..." #~ msgid "Atom Properties" #~ msgstr "Thuộc tính của nguyên tử" #~ msgid "Bond Properties" #~ msgstr "Thuộc tính của liên kết" #~ msgid "Angle Properties" #~ msgstr "Thuộc tính góc" #~ msgid "Torsion Properties" #~ msgstr "Thuộc tính xoắn" #~ msgid "Conformer Properties" #~ msgstr "Thuộc tính đồng phân" #~ msgid "Properties" #~ msgstr "Thuộc tính" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "Cửa sổ hiện các thuộc tính nguyên tử, liên kết, góc và xoắn. Nó cũng bao " #~ "gồm một trình soạn thảo tọa độ Đề-các" #~ msgid "Valence" #~ msgstr "Hóa trị" #~ msgid "Partial Charge" #~ msgstr "Điện tích riêng phần" #~ msgid "Atom" #~ msgstr "Nguyên tử" #~ msgid "Start Atom" #~ msgstr "Bắt đầu nguyên tử" #~ msgid "Rotatable" #~ msgstr "Xoay được" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "Chiều dài %1" #~ msgid "Vertex" #~ msgstr "Đỉnh" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "Angle %1" #~ msgid "Angle" #~ msgstr "Góc" #~ msgid "Atom %1" #~ msgstr "Nguyên tử %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "Xoắn %1" #~ msgid "Torsion" #~ msgstr "Xoắn" #~ msgid "Conformer" #~ msgstr "Đồng phân" #~ msgid "Yes" #~ msgstr "Có" #~ msgid "No" #~ msgstr "Không" #~ msgid "Python Terminal" #~ msgstr "Cửa sổ lệnh Python" #~ msgid "pythonTerminalDock" #~ msgstr "pythonTerminalDock" #~ msgid "Interactive python scripting terminal" #~ msgstr "Cửa sổ lệnh tương tác Python" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "Chọn EFP..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "Chọn QM..." #~ msgid "Delete" #~ msgstr "Xoá" #~ msgid "You must make a selection!" #~ msgstr "Bạn phải lựa chọn!" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "Không có chuyển đổi SMILES" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "Không có chuyển đổi định dạng SMILES!" #~ msgid "Group Name" #~ msgstr "Tên nhóm" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "Tạo file đầu vào cho gói phần mềm hóa lượng tử GAMESS" #~ msgid "Advanced Settings Changed" #~ msgstr "Đã thay đổi các yếu tố cài đặt nâng cao" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "Các yếu tố cài đặt nâng cao bị thay đổi.\n" #~ "Hủy bỏ thay đổi này?" #~ msgid "Advanced Settings Reset" #~ msgstr "Đã đặt mặc định cho các cài đặt nâng cao" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Bạn có chắc rằng muốn đưa các cài đặt nâng cao trở về mặc định?\n" #~ "Mọi thay đổi sẽ mất đi!" #~ msgid "Basic Settings Reset" #~ msgstr "Đã đặt mặc định cho các cài đặt cơ bản" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "Bạn có chắc rằng muốn đưa các cài đặt cơ bản trở về mặc định?\n" #~ "Mọi thay đổi sẽ mất đi!" #~ msgid "Gaussian Input Deck" #~ msgstr "Bảng nhập đầu vào Gauss" #~ msgid "The G03 executable, cannot be found." #~ msgstr "Không tìm thấy file chạy G03." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "Không thể khởi động G03. Có lẽ nó đã không được cài đặt thành công." #~ msgid "Running Gaussian calculation..." #~ msgstr "Đang chạy tính toán Gauss..." #~ msgid "G03 Crashed." #~ msgstr "G03 bị lỗi và dừng chạy." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "G03 bị lỗi và dừng chạy. Có lẽ nó đã không được cài đặt thành công." #~ msgid "&Dalton..." #~ msgstr "&Dalton..." #~ msgid "&Gaussian..." #~ msgstr "&Gauss..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "Molpro Input Deck" #~ msgstr "Bảng nhập số liệu Molpro" #~ msgid "MOPAC Input Warning" #~ msgstr "Cảnh báo về dữ liệu đầu vào MOPAC" #~ msgid "MOPAC Input Deck" #~ msgstr "Bảng nhập số liệu MOPAC" #~ msgid "MOPAC Running." #~ msgstr "Đang chạy MOPAC" #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "" #~ "MOPAC đang chạy. Hãy đợi đến khi phép tính trước đó được hoàn thành." #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC chưa được cài đặt" #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "Không tìm được file chương trình chạy MOPAC" #~ msgid "MOPAC failed to start." #~ msgstr "Không khởi động được MOPAC." #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "Không khởi động được MOPAC. Có lẽ nó đã không được cài đặt đúng." #~ msgid "Running MOPAC calculation..." #~ msgstr "MOPAC đang tính toán..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC bị lỗi và dừng chạy." #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "" #~ "MOPAC không hoạt động bình thường. Có lẽ nó đã không được cài đặt đúng" #~ msgid "NWChem Input Deck" #~ msgstr "Bảng nhập số liệu NWChem" #~ msgid "QChem Input Deck" #~ msgstr "Bảng nhập số liệu QChem" #~ msgid "Select SMARTS..." #~ msgstr "Chọn SMARTS..." #~ msgid "Add Named Selection..." #~ msgstr "Thêm vào lựa chọn đã đặt tên..." #~ msgid "SMARTS Selection" #~ msgstr "Chọn SMARTS" #~ msgid "SMARTS pattern to select" #~ msgstr "Mẫu SMARTS dùng để chọn" #~ msgid "There is no current selection." #~ msgstr "Không có lựa chọn hiện thời nào." #~ msgid "Add Named Selection" #~ msgstr "Thêm vào lựa chọn đã được đặt tên" #~ msgid "Name cannot be empty." #~ msgstr "Phải có tên" #~ msgid "There is already a selection with this name." #~ msgstr "Đã có một lựa chọn với tên này." #~ msgid "Open a vertex shader source file" #~ msgstr "Mở một file nguồn tô đỉnh" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "File tô đỉnh (*.vert)" #~ msgid "Intensity (arb. units)" #~ msgstr "Cường độ (đ.vị bất kì)" #~ msgid "Energy (eV)" #~ msgstr "Năng lượng (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "Mật độ trạng thái (số trạng thái/ô)" #~ msgid "Density of States (states/atom)" #~ msgstr "Mật độ trạng thái (số trạng thái/nguyên tử)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "Mật độ trạng thái (số trạng thái/e hóa trị)" #~ msgid "Transmittance (%)" #~ msgstr "Độ dẫn (%)" #~ msgid "Absorbance (%)" #~ msgstr "Độ hấp thụ (%)" #~ msgid "No intensities" #~ msgstr "Không có cường độ" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "Số liệu rung động trong nguyên tử bạn vừa tải lên không bao gồm bất kì số " #~ "liệu cường độ nào. Để phục vụ việc hiển thị, các cường độ được đặt giá " #~ "trị bất kì." #~ msgid "Wavenumber (cm-1)" #~ msgstr "Số sóng (cm-1)" #~ msgid "Activity" #~ msgstr "Hoạt độ" #~ msgid "Intensity" #~ msgstr "Cường độ" #~ msgid "X Axis" #~ msgstr "Trục X" #~ msgid "Y Axis" #~ msgstr "Trục Y" #~ msgid "&Appearance" #~ msgstr "&Bề ngoài" #~ msgid "E&xport Image" #~ msgstr "&Xuất ảnh" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "Hồng ngoại" #~ msgid "&Infrared Spectra Settings" #~ msgstr "Đặt thuộc tính phổ &hồng ngoại" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "&NMR Spectra Settings" #~ msgstr "Đặt thuộc tính &NMR" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "Đặt &mật độ trạng thái (DOS)" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "Cài đặt &UV" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "Cài đặt &CD" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "Raman" #~ msgid "&Raman Settings" #~ msgstr "Cài đặt &Raman" #~ msgid "No data" #~ msgstr "Không có số liệu" #~ msgid "Dark" #~ msgstr "Đậm" #~ msgid "Light" #~ msgstr "Nhạt" #~ msgid "Publication" #~ msgstr "Xuất bản" #~ msgid "Handdrawn" #~ msgstr "Được vẽ bằng tay" #~ msgid "New Scheme" #~ msgstr "Sơ đồ mới" #~ msgid "Confirm Scheme Removal" #~ msgstr "Khẳng định việc xóa bỏ sơ đồ" #~ msgid "Really remove current scheme?" #~ msgstr "Chắc chắn xóa bỏ sơ đồ hiện hành?" #~ msgid "Change Scheme Name" #~ msgstr "Đổi tên sơ đồ" #~ msgid "Enter new name for current scheme:" #~ msgstr "Đặt tên mới cho sơ đồ hiện hành:" #~ msgid "Select Background Color" #~ msgstr "Chọn màu nền" #~ msgid "Select Foreground Color" #~ msgstr "Chọn màu vật thể" #~ msgid "Select Calculated Spectra Color" #~ msgstr "Chọn màu phổ tính toán" #~ msgid "Select Imported Spectra Color" #~ msgstr "Chọn màu phổ được nhập" #~ msgid "Export Calculated Spectrum" #~ msgstr "Xuất phổ được tính toán" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "Dạng giá trị ngăn cách bởi dấu Tab (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Dạng giá trị ngăn cách bởi dấu Tab" #~ msgid "Comma Separated Values" #~ msgstr "Dạng giá trị ngăn cách bởi dấu phảy" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "Nhập phổ" #~ msgid "Spectra Import" #~ msgstr "Nhập phổ" #~ msgid "Unknown extension: %1" #~ msgstr "Không rõ phần mở rộng: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "Số liệu PWscf IR (*.out)" #~ msgid "Data Format" #~ msgstr "Định dạng dữ liệu" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "Dạng thức:" #~ msgid "Load Spectral Data" #~ msgstr "Tải số liệu phổ" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics (PNG)" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "Dạng thức tập tin ảnh có thẻ (TIFF)" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap (BMP)" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap" #~ msgid "Save Spectra Image" #~ msgstr "Lưu ảnh phổ" #~ msgid "&Advanced <<" #~ msgstr "&Thêm <<" #~ msgid "&Advanced >>" #~ msgstr "&Thêm >>" #~ msgid "&Spectra..." #~ msgstr "&Phổ..." #~ msgid "Spectra" #~ msgstr "Phổ" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "Hiển thị số liệu phổ từ kết quả tính toán hóa lượng tử" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "Tính toán rung động" #~ msgid "No vibrational displacements exist." #~ msgstr "Không tồn tại chuyển vị rung." #~ msgid "Vibration" #~ msgstr "Rung động" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "Hiển thị các mode rung động từ kết quả tính toán hóa lượng tử" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "Sắp xếp các rung động %1 theo tần số..." #~ msgid "Pause" #~ msgstr "Tạm ngừng" #~ msgid "Molecular Orbitals..." #~ msgstr "Orbital phân tử..." #~ msgid "Orbitals" #~ msgstr "Các orbital" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO (o. phân tử cao nhất bị chiếm)" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO (o. phân tử thấp nhất bị chiếm)" #~ msgid "Orbital" #~ msgstr "Orbital" #~ msgid "Status" #~ msgstr "Trạng thái" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "Không có gì" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "Thế tĩnh điện" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "Mật độ electron" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "Orbital phân tử" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "Lỗi - kiểu không xác định" #~ msgid "Create Surfaces..." #~ msgstr "Tạo bề mặt..." #~ msgid "Calculating VdW Cube" #~ msgstr "Tính mặt cầu VdW" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "Tính MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "Mật độ electron" #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "Tính mật độ orbital phân tử và các mặt khác" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "" #~ "Khiển tố GL không được cài đặt đúng để có thể tạo ra đoạn phim video" #~ msgid "Building video " #~ msgstr "Đang tạo video " #~ msgid "Could not run povray." #~ msgstr "Không chạy được povray." #~ msgid "Set Aspect Ratio" #~ msgstr "Đặt tỉ lệ các trục" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "Khung hình Avogadro hiện thời có kích thước %1x%2 điểm ảnh, tức là có tỉ " #~ "lệ kích thước %3.\n" #~ "Bạn có thể giữ giá trị này, chẳng hạn nếu muốn dùng POV-Ray\n" #~ "để tạo ra một hình %4x1000 điểm ảnh, hoặc có thể nhập vào một số dương " #~ "khác, chẳng hạn\n" #~ "số 1 nếu bạn muốn dùng POV-Ray để tạo ra một ảnh hình vuông 1000x1000 " #~ "điểm ảnh." #~ msgid "Connect" #~ msgstr "Kết nối" #~ msgid "Disconnect" #~ msgstr "Ngắt kết nối" #~ msgid "&WiiTrack" #~ msgstr "&WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Dò Wii" #~ msgid "Track motion using Wii remotes" #~ msgstr "Dò theo chuyển động bằng điều khiển từ xa của Wii" #~ msgid "Debug Information" #~ msgstr "Thông tin gỡ lỗi" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "Kích thước khung nhìn: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "Nguyên tử: %L1" #~ msgid "Bonds: %L1" #~ msgstr "Liên kết: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: không gọi được đến chỉ số %1." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "Kiểu file '%1' không được hỗ trợ cho việc đọc số liệu." #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "Kiểu của file '%1' không được hỗ trợ cho việc đọc số liệu." #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "Không đọc được phân tử có chỉ số %1 từ file '%2'." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: không gọi được đến chỉ số %1." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "Kiểu file '%1' không được hỗ trợ việc ghi dữ liệu." #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "Kiểu file của '%1' không được hỗ trợ việc ghi dữ liệu." #~ msgid "Could not open file '%1' for writing." #~ msgstr "Không thể mở file '%1' để ghi dữ liệu." #~ msgid "Could not open file '%1' for reading." #~ msgstr "Không thể mở file '%1' để đọc dữ liệu." #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "Không thay thế được phân tử với chỉ số %1 trong file '%2'." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "Không thể mở file %1 để đọc dữ liệu." #~ msgid "File %1 can not be opened for writing." #~ msgstr "Không thể mở file %1 để ghi dữ liệu." #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "Không lưu được file phân tử - không thể đổi tên file gốc." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "Không lưu được file phân tử - không thể đổi tên file mới." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "Không lưu được file phân tử - không thể xoá file cũ." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "" #~ "Không ghi được thông tin về một phân tử vào file '%1'. Hàm OpenBabel " #~ "không hoạt động." #~ msgid "File %1 cannot be opened for writing." #~ msgstr "Không thể mở file %1 để ghi." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "Không ghi được số liệu các đồng đẳng vào file '%1'." #~ msgid "Molecule %1" #~ msgstr "Phân tử %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "Không rõ loại máy Python" #~ msgid "N/A" #~ msgstr "Không" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: đang kiểm tra " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - script không có lớp 'Engine' nào được định nghĩa" #~ msgid " - no module" #~ msgstr " - không có module" #~ msgid "Unknown Python Extension" #~ msgstr "Không rõ phần mở rộng Python" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: đang kiểm tra " #~ msgid " - script has no 'Extension' class defined" #~ msgstr "" #~ " - mã lệnh không có lớp 'Extension' [Phần mở rộng] nào được định nghĩa" #~ msgid "Unknown Python Tool" #~ msgstr "Không rõ công cụ Python" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: đang kiểm tra " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - mã lệnh không có lớp 'Tool' [công cụ] nào được định nghĩa" #~ msgid "Conformer %1" #~ msgstr "Đồng phân %1" #~ msgid "Tools" #~ msgstr "Công cụ" #~ msgid "Axis:" #~ msgstr "Trục:" #~ msgid "Align:" #~ msgstr "Dóng:" #~ msgid "Everything" #~ msgstr "Mọi thứ" #~ msgid "Align" #~ msgstr "Dóng hàng" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "Dóng hàng các phân tử theo một trục Đề-các" #~ msgid "Align Settings" #~ msgstr "Cài đặt về dóng hàng" #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "Tự động tối ưu: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Ràng buộc số: %1" #~ msgid "Steps per Update:" #~ msgstr "Số bước trong mỗi lượt cập nhật:" #~ msgid "Algorithm:" #~ msgstr "Thuật toán:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "Động lực học phân tử (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "Động lực học phân tử (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "Động lực học phân tử (900K)" #~ msgid "Start" #~ msgstr "Bắt đầu" #~ msgid "Ignored atoms are movable" #~ msgstr "Các nguyên tử được bỏ qua đều di chuyển được" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "Tối ưu hoá tự động cho dạng hình học phân tử" #~ msgid "AutoOptimization Settings" #~ msgstr "Cài đặt cho tối ưu hoá tự động" #~ msgid "Auto Rotation Tool" #~ msgstr "Công cụ xoay tự động" #~ msgid "x rotation:" #~ msgstr "xoay quanh trục x:" #~ msgid "x rotation" #~ msgstr "xoay quanh trục x" #~ msgid "y rotation:" #~ msgstr "xoay quanh trục y:" #~ msgid "y rotation" #~ msgstr "xoay quanh trục y" #~ msgid "z rotation:" #~ msgstr "xoay quanh trục z:" #~ msgid "z rotation" #~ msgstr "xoay quanh trục z" #~ msgid "Automatic rotation of molecules" #~ msgstr "Xoay tự động các phân tử" #~ msgid "AutoRotate Settings" #~ msgstr "Cài đặt cho xoay tự động" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "Chiều dài liên kết: %L1" #~ msgid " Show Angles" #~ msgstr " Hiện các góc" #~ msgid "Snap-to Threshold: " #~ msgstr "Ngưỡng bắt điểm: " #~ msgid "Bond Centric Manipulate" #~ msgstr "Thao tác với liên kết" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "Thao tác chiều dài, góc, độ xoắn của liên kết" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "Các cài đặt liên quan đến thao tác với liên kết" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "Khoảng cách (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "Góc: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "Khoảng cách (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "Góc nhị diện: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "Khoảng cách:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "Đo chiều dài, góc, và góc nhị diện của liên kết" #~ msgid "Delete Atom" #~ msgstr "Xóa nguyên tử" #~ msgid "Draw Bond" #~ msgstr "Vẽ liên kết" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "Vẽ và chỉnh sủa nguyên tử và liên kết" #~ msgid "Draw Settings" #~ msgstr "Cài đặt cho thao tác vẽ" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "Dịch chuyển, quay, chỉnh các nguyên tử và các đoạn" #~ msgid "Manipulate Settings" #~ msgstr "Cài đặt cho việc thao tác" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "Dịch chuyển, xoay và thu phóng quanh khung nhìn hiện thời" #~ msgid "Navigate Settings" #~ msgstr "Cài đặt cho việc di chuyển" #~ msgid "Selection Mode:" #~ msgstr "Chế độ lựa chọn:" #~ msgid "Atom/Bond" #~ msgstr "Nguyên tử/Liên kết" #~ msgid "Residue" #~ msgstr "Dư chất" #~ msgid "Change color of the atom" #~ msgstr "Đổi màu nguyên tử" #~ msgid "Change label of the atom" #~ msgstr "Đổi nhãn của nguyên tử" #~ msgid "New Label:" #~ msgstr "Nhãn mới:" #~ msgid "Change label of the bond" #~ msgstr "Đổi nhãn của liên kết" #~ msgid "Change radius of the atom" #~ msgstr "Thay đổi bán kính nguyên tử" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "Bán kính mới, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "Chọn các nguyên tử, dư chất, và phân tử" #~ msgid "Symbol" #~ msgstr "Ký hiệu" #~ msgid "Bond Length" #~ msgstr "Độ dài liên kết" #~ msgid "Bond Angle" #~ msgstr "Góc liên kết" #~ msgid "Dihedral Angle" #~ msgstr "Góc nhị diện" #~ msgid "Z Matrix Editor..." #~ msgstr "Công cụ biên tập ma trận Z..." #~ msgid "Z-Matrix" #~ msgstr "Ma trận Z" #~ msgid "Create/edit a z-matrix" #~ msgstr "Tạo ra/sửa một ma trận Z" #~ msgid "Z-Matrix Settings" #~ msgstr "Cài đặt cho ma trận Z" #~ msgid "Amino Colors" #~ msgstr "Màu cho amino" #~ msgid "Hydrophobicity" #~ msgstr "Tính kị nước" #~ msgid "Axes:" #~ msgstr "Trục:" #~ msgid "Cartesian Axes" #~ msgstr "Trục Đề-các" #~ msgid "Orthogonal Axes" #~ msgstr "Trục vuông góc" #~ msgid "Axis 1:" #~ msgstr "Trục 1:" #~ msgid "Axis 2:" #~ msgstr "Trục 2:" #~ msgid "Axis 3:" #~ msgstr "Trục 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "Gốc:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Chuẩn" #~ msgid "Preserve vector norms" #~ msgstr "Giữ nguyên chuẩn véc-tơ" #~ msgid "Atom Radius:" #~ msgstr "Bán kính nguyên tử:" #~ msgid "Bond Radius:" #~ msgstr "Bán kính liên kết:" #~ msgid "Shape" #~ msgstr "Hình" #~ msgid "Helix" #~ msgstr "Chuỗi xoắn" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "Trang" #~ msgid "Loop" #~ msgstr "Vòng" #~ msgid "Colors" #~ msgstr "Màu" #~ msgid "Dipole:" #~ msgstr "Lưỡng cực:" #~ msgid "Dipole Moment" #~ msgstr "Mô-men lưỡng cực" #~ msgid "Custom Vector" #~ msgstr "Véc-tơ tự chọn" #~ msgid "Width:" #~ msgstr "Bề rộng:" #~ msgid "Cut-off radius:" #~ msgstr "Bán kính cắt bỏ:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "Góc cắt bỏ:" #~ msgid "Rendering Engine:" #~ msgstr "Bộ phận lên hình:" #~ msgid "TextRenderer" #~ msgstr "Phần mềm hiện chữ" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "Nhãn của nguyên tử" #~ msgid "Text:" #~ msgstr "Đoạn chữ :" #~ msgid "Color:" #~ msgstr "Màu:" #~ msgid "None" #~ msgstr "Không" #~ msgid "Symbol & Number in Group" #~ msgstr "Ký hiệu & số trong nhóm" #~ msgid "Symbol & Atom number" #~ msgstr "Ký hiệu & số nguyên tử" #~ msgid "Partial charge" #~ msgstr "Điện tích từng phần" #~ msgid "Unique ID" #~ msgstr "ID duy nhất" #~ msgid "Custom data" #~ msgstr "Dữ liệu do người dùng cấp" #~ msgid "Change Font" #~ msgstr "Thay đổi phông chữ" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Dịch chuyển nhãn:" #~ msgid "Bond Labels" #~ msgstr "Nhãn của liên kết" #~ msgid "Bond length" #~ msgstr "Độ dài liên kết" #~ msgid "Bond number" #~ msgstr "Số liên kết" #~ msgid "Bond order" #~ msgstr "Bậc liên kết" #~ msgid "Rendering:" #~ msgstr "Lên hình:" #~ msgid "Backbone" #~ msgstr "Trục chính" #~ msgid "Lines" #~ msgstr "Đường thẳng" #~ msgid "Radius:" #~ msgstr "Bán kính:" #~ msgid "Include Nitrogens" #~ msgstr "Chứa nitơ" #~ msgid "VdW Opacity:" #~ msgstr "Độ đục VdW:" #~ msgid "Orbital:" #~ msgstr "Orbital:" #~ msgid "Render:" #~ msgstr "Lên hình:" #~ msgid "Fill" #~ msgstr "Tô đầy" #~ msgid "Points" #~ msgstr "Điểm" #~ msgid "Draw Box:" #~ msgstr "Vẽ khung:" #~ msgid "Style:" #~ msgstr "Kiểu:" #~ msgid "Selected Colors" #~ msgstr "Các màu được chọn" #~ msgid "Colors:" #~ msgstr "Màu sắc:" #~ msgid "Positive" #~ msgstr "Dương" #~ msgid "Negative" #~ msgstr "Âm" #~ msgid "Show Atoms" #~ msgstr "Hiện các nguyên tử" #~ msgid "Animate Trajectory" #~ msgstr "Qũy đạo chuyển động" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "Vòng" #~ msgid "fps" #~ msgstr "khung hình/giây" #~ msgid "Save as .avi..." #~ msgstr "Lưu dưới dạng .avi..." #~ msgid "Bohrs" #~ msgstr "Bo" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, chỉ có toạ độ" #~ msgid "GAMESS Input #2" #~ msgstr "Đầu vào GAMESS #2" #~ msgid "Priroda Input" #~ msgstr "Đầu vào Priroda" #~ msgid "Apply Changes" #~ msgstr "Áp dụng các thay đổi" #~ msgid "Cut All" #~ msgstr "Cắt toàn bộ" #~ msgid "Paste to the End" #~ msgstr "Dán vào cuối" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

Dán hoặc tự biên soạn " #~ "các toạ độ nguyên tử ở đây. Bạn hầu như có thể dán mọi đoạn chữ, bao gồm " #~ "các toạ độ

" #~ msgid "(None)" #~ msgstr "(Không)" #~ msgid "Sort by " #~ msgstr "Sắp xếp theo " #~ msgid "Conformer Search" #~ msgstr "Tìm đồng phân" #~ msgid "Method" #~ msgstr "Phương pháp" #~ msgid "Number of atoms:" #~ msgstr "Số nguyên tử:" #~ msgid "Number of rotatable bonds:" #~ msgstr "Số liên kết xoay được:" #~ msgid "Number of conformers" #~ msgstr "Số đồng phân" #~ msgid "Energy" #~ msgstr "Năng lượng" #~ msgid "Constraints" #~ msgstr "Ràng buộc" #~ msgid "Add Constraints" #~ msgstr "Thêm ràng buộc" #~ msgid "Ignore Atom" #~ msgstr "Bỏ qua nguyên tử" #~ msgid "Fix Atom" #~ msgstr "Cố định nguyên tử" #~ msgid "Fix Atom X" #~ msgstr "Cố định toạ độ X của nguyên tử" #~ msgid "Fix Atom Y" #~ msgstr "Cố định toạ độ Y của nguyên tử" #~ msgid "Fix Atom Z" #~ msgstr "Cố định toạ độ Z của nguyên tử" #~ msgid "Torsion angle" #~ msgstr "Góc xoắn" #~ msgid "Constraint Value" #~ msgstr "Giá trị ràng buộc" #~ msgid "Atom Indices" #~ msgstr "Các chỉ số nguyên tử" #~ msgid "Add" #~ msgstr "Thêm" #~ msgid "Save" #~ msgstr "Lưu" #~ msgid "Load" #~ msgstr "Tải" #~ msgid "Cartesian" #~ msgstr "Đề-các" #~ msgid "All" #~ msgstr "Tất cả" #~ msgid "File Import..." #~ msgstr "Nhập file..." #~ msgid "Setup Force Field" #~ msgstr "Thiết lập trường lực" #~ msgid "Force Field" #~ msgstr "Trường lực" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "Số bước" #~ msgid "Algorithm" #~ msgstr "Thuật toán" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "D" #~ msgid "Other" #~ msgstr "Loại khác" #~ msgid "Insert Fragment..." #~ msgstr "Thêm đoạn..." #~ msgid "Peptide Builder" #~ msgstr "Xây dựng chuỗi pep-tit" #~ msgid "Alanine" #~ msgstr "Ala-nin" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "Arginine" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "Asparagine" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "A-xit aspartic" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "Xys-tê-in" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "A-xit glutamic" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "Glutamin" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "Gly-xin" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "Histidin" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "Isoleucine" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "Va-lin" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "Ty-rô-xin" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "Tryptophan" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "Threonine" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "Xê-rin" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "Prô-lin" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "Phenyl-alanin" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "Methionine" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "Ly-xin" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "Leucine" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "A-xit a-min:" #~ msgid "L" #~ msgstr "T" #~ msgid "D" #~ msgstr "X" #~ msgid "N Terminus:" #~ msgstr "Đầu N:" #~ msgid "C Terminus:" #~ msgstr "Đầu C:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "Chuỗi thẳng" #~ msgid "Alpha Helix" #~ msgstr "Xoắn an-pha" #~ msgid "3-10 Helix" #~ msgstr "Xoắn 3-10" #~ msgid "Pi Helix" #~ msgstr "Xoắn Pi" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "E" #~ msgstr "Đ" #~ msgid "F" #~ msgstr "T" #~ msgid "Molecule Properties" #~ msgstr "Thuộc tính của phân tử" #~ msgid "Energy (kJ/mol):" #~ msgstr "Năng lượng (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "Mô-men lưỡng cực (D):" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "Nâng cao" #~ msgid "Control" #~ msgstr "Điều khiển" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "Dữ liệu" #~ msgid "Nothing" #~ msgstr "Không có gì" #~ msgid "Grid" #~ msgstr "Lưới" #~ msgid "POV-Ray Export" #~ msgstr "Xuất dưới dạng POV-Ray" #~ msgid "Select..." #~ msgstr "Chọn..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "Làm trơn hình toàn cảnh" #~ msgid "Antialias" #~ msgstr "Làm trơn" #~ msgid "Set the background color to be transparent" #~ msgstr "Đặt nền trong suốt" #~ msgid "Alpha transparency" #~ msgstr "Độ trong alpha" #~ msgid "Command:" #~ msgstr "Câu lệnh:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "Lên hình phân tử bằng cách trực tiếp dùng lệnh POV-Ray" #~ msgid "Path:" #~ msgstr "Đường dẫn:" #~ msgid "Compute..." #~ msgstr "Tính..." #~ msgid "Basics" #~ msgstr "Cơ bản" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Tập hợp cơ sở:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "&Advanced Setup" #~ msgstr "Cài đặt &nâng cao" #~ msgid "Hessian" #~ msgstr "Hesse" #~ msgid "System" #~ msgstr "Hệ thống" #~ msgid "Misc" #~ msgstr "Các thứ khác" #~ msgid "Read" #~ msgstr "Đọc" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Hoá trị zeta kép" #~ msgid "Dunning/Hay DZ" #~ msgstr "DZ Dunning/Hay" #~ msgid "SBKJA Valence" #~ msgstr "Hoá trị SBKJA" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hoá trị Hay/Wadt" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "Kiểu ECP:" #~ msgid "Default" #~ msgstr "Mặc định" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "Polar:" #~ msgstr "Cực:" #~ msgid "Max SCF Iterations:" #~ msgstr "Số lần lặp SCF cực đại:" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "Tối ưu hoá" #~ msgid "Saddle Point" #~ msgstr "Điểm yên ngựa" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Cực trị gradient" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "Mặt năng lượng" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Spin Orbit" #~ msgstr "Quỹ đạo spin" #~ msgid "Finite Electric Field" #~ msgstr "Trường điện tích hữu hạn" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "Tối ưu hoá toàn cục" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "Tối ưu hoá FMO" #~ msgid "Raman Intensities" #~ msgstr "Các cường độ Raman" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "Tạo EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "Không (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "Kiểu SCF:" #~ msgid "Localization Method:" #~ msgstr "Phương pháp địa phương hoá:" #~ msgid "Exec Type:" #~ msgstr "Kiểu thực thi:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: CC tuyến tính hoá" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Chạy bình thường" #~ msgid "Check" #~ msgstr "Kiểm tra" #~ msgid "Debug" #~ msgstr "Gỡ lỗi" #~ msgid "Molecule Charge:" #~ msgstr "Điện tích phân tử:" #~ msgid "Run Type:" #~ msgstr "Kiểu chạy:" #~ msgid "Use MP2" #~ msgstr "Dùng MP2" #~ msgid "Use DFT" #~ msgstr "Dùng DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# của biến ma trận Z" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Coordinate Type:" #~ msgstr "Kiểu toạ độ:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Toạ độ Đề-các duy nhất" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Dùng tính đối xứng trong quá trình tính toán" #~ msgid "Point Group:" #~ msgstr "Nhóm điểm:" #~ msgid "Minutes" #~ msgstr "Phút" #~ msgid "Hours" #~ msgstr "Giờ" #~ msgid "Days" #~ msgstr "Ngày" #~ msgid "Weeks" #~ msgstr "Tuần" #~ msgid "Years" #~ msgstr "Năm" #~ msgid "Millenia" #~ msgstr "Thiên niên kỉ" #~ msgid "MegaWords" #~ msgstr "MegaWord" #~ msgid "MegaBytes" #~ msgstr "MegaByte" #~ msgid "GigaWords" #~ msgstr "GigaWord" #~ msgid "GigaBytes" #~ msgstr "GigaByte" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Tạo file \"lõi\" khi huỷ bỏ công việc" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "Bộ nhớ :" #~ msgid "Diagonalization Method:" #~ msgstr "Phương pháp chéo hoá:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Kiểu cân bằng tải song song" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "Vòng" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "Giá trị kết tiếp" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Dùng cách thể hiện dữ liệu ngoài cho các thông báo" #~ msgid "Initial Guess:" #~ msgstr "Lần đoán đầu tiên" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "Đọc MO ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "Đã lưu MO (DICTNRY)" #~ msgid "Skip" #~ msgstr "Bỏ qua" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "Xoay các orbital Alpha và Beta" #~ msgid "Print the Initial Guess" #~ msgstr "In giá trị đoán ban đầu" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "Giao diện GAMESS với các mã khác" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (Phiên bản nước Anh)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "Hoà trong dung môi nước" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Phát sinh các orbital tự nhiên UHF" #~ msgid "Direct SCF" #~ msgstr "SCF trực tiếp" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: tương quan Vosko-Wilk-Nusair (VWN5)" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: tương quan Lee-Yang-Parr" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: tương quan SLATER + Lee-Yang-Parr (LYP)" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: tương quan SLATER + OP" #~ msgid "Grid-Free" #~ msgstr "Không cần lưới" #~ msgid "Method:" #~ msgstr "Phương pháp:" #~ msgid "AO Integral Storage" #~ msgstr "Lưu trữ tích hợp AO" #~ msgid "Duplicated on Each Node" #~ msgstr "Lặp lại trên mỗi nút" #~ msgid "Compute MP2 Properties" #~ msgstr "Tính toán các thuộc tính MP2" #~ msgid "Segmented Transformation" #~ msgstr "Biến đổi phân đoạn" #~ msgid "Analytic" #~ msgstr "Giải tích" #~ msgid "Numeric" #~ msgstr "Dạng số" #~ msgid "Double Differenced Hessian" #~ msgstr "Hesse sai phân kép" #~ msgid "Print Internal Force Constants" #~ msgstr "In các hằng số nội lực" #~ msgid "Displacement Size:" #~ msgstr "Kích thước chuyển vị:" #~ msgid "bohrs" #~ msgstr "bo" #~ msgid "Initial Hessian" #~ msgstr "Hesse ban đầu" #~ msgid "Read (from $HESS)" #~ msgstr "Đọc (từ $HESS)" #~ msgid "Update Step Size" #~ msgstr "Cập nhật độ dài bước" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "In các orbital tại mỗi lần lặp" #~ msgid "Jump Size:" #~ msgstr "Bước nhảy:" #~ msgid "Stationary Point" #~ msgstr "Điểm dừng" #~ msgid "Step Size" #~ msgstr "Độ dài bước" #~ msgid "Maximum:" #~ msgstr "Cực đại:" #~ msgid "Minimum:" #~ msgstr "Cực tiểu:" #~ msgid "Initial:" #~ msgstr "Ban đầu:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Tối ưu hàm số phân thức" #~ msgid "Quadratic Approximation" #~ msgstr "Xấp xỉ bậc hai" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (giả-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Tối ưu hoá có ràng buộc" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Tính lại Hesse mỗi:" #~ msgid "Maximum Steps:" #~ msgstr "Số bước tối đa:" #~ msgid "Basis:" #~ msgstr "Cơ sở:" #~ msgid "Z-matrix" #~ msgstr "ma trận Z" #~ msgid "Gaussian Input" #~ msgstr "Đầu vào Gauss" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "Tiêu chuẩn" #~ msgid "Checkpoint:" #~ msgstr "Điểm kiểm tra:" #~ msgid "Z-matrix (compact)" #~ msgstr "ma trận Z (thu gọn)" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "Đầu vào NWChem" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Display Type:" #~ msgstr "Kiểu hiển thị:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "Thao tác:\n" #~ "Nháy đúp chuột trái: Hồi phục các giới hạn trục mặc định\n" #~ "Nháy chuột phải + di: Dịch chuyển bản vẽ\n" #~ "Nháy chuột giữa + di: Phóng to vào vùng được chọn\n" #~ "Lăn bánh xe chuột: Thu phóng ở vị trí con trỏ" #~ msgid "&Load data..." #~ msgstr "&Tải dữ liệu..." #~ msgid "&Close" #~ msgstr "Đón&g" #~ msgid "Calculated Spectra:" #~ msgstr "Tính toán phổ:" #~ msgid "Set Color..." #~ msgstr "Đặt màu..." #~ msgid "Imported Spectra:" #~ msgstr "Phổ được nhập:" #~ msgid "Font:" #~ msgstr "Phông chữ:" #~ msgid "Change Font..." #~ msgstr "Đổi phông chữ..." #~ msgid "Show" #~ msgstr "Hiển thị" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "" #~ "Nhập phổ thực nghiệm dưới dạng số liệu phân cách bởi dấu Tab, sau đó " #~ "trình bày lên bản vẽ." #~ msgid "&Import..." #~ msgstr "&Nhập..." #~ msgid "Background:" #~ msgstr "Nền:" #~ msgid "Foreground:" #~ msgstr "Đối tượng trên nền:" #~ msgid "New..." #~ msgstr "Tạo mới..." #~ msgid "Rename..." #~ msgstr "Đổi tên..." #~ msgid "&Schemes:" #~ msgstr "&Sơ đồ:" #~ msgid "&Export..." #~ msgstr "&Xuất..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "Bề &rộng:" #~ msgid "&Height" #~ msgstr "Chiều &cao" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "inch" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "&Lưu hình ảnh..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "Dùng một giá trị tối ưu cho cỡ phông chữ thay vì giá trị được chỉ định " #~ "theo sơ đồ (việc chuyển từ màn hình sang cỡ phông sẽ không đẹp!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "Tự động điều chỉnh cỡ &phông chữ" #~ msgid "&Gaussian Width:" #~ msgstr "Bề rộng &Gauss:" #~ msgid "&Label peaks" #~ msgstr "Đặt &nhãn cho các đỉnh" #~ msgid "&Y Axis Units:" #~ msgstr "Đơn vị trục &Y:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "Hạt nhân:" #~ msgid "&Reference:" #~ msgstr "&Tham khảo:" #~ msgid "Gaussian &Width:" #~ msgstr "&Bề rộng Gauss:" #~ msgid "Reset &Plot Axes" #~ msgstr "Đặt lại các &trục để vẽ" #~ msgid "Label Peaks:" #~ msgstr "Đặt nhãn cho các đỉnh:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "Rung động của phân tử" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "các rung động với tần số cao sẽ cho thấy chuyển động nhanh hơn" #~ msgid "Animation speed set by frequency" #~ msgstr "Tốc độ hoạt hình đặt theo tần số" #~ msgid "Display force &vectors" #~ msgstr "Hiển thị &véc-tơ lực" #~ msgid "Create Surfaces" #~ msgstr "Tạo các mặt" #~ msgid "Surface Type:" #~ msgstr "Kiểu mặt:" #~ msgid "Color By:" #~ msgstr "Tô màu theo:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "Thấp" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "Trung bình" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "Cao" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "Rất cao" #~ msgid "Iso Value:" #~ msgstr "Giá trị mức:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "Trong kiểu hiển thị:" #~ msgid "New Display" #~ msgstr "Cửa sổ hiển thị mới" #~ msgid "Advanced..." #~ msgstr "Thêm..." #~ msgid "Display visual cues" #~ msgstr "Hiện các hỗ trợ xem hình" #~ msgid "Python Settings" #~ msgstr "Đặt chế độ cho Python" #~ msgid "Z Matrix Editor" #~ msgstr "Soạn thảo ma trận Z" #~ msgid "Import Selected Atoms" #~ msgstr "Nhập các nguyên tử được chọn" avogadrolibs-1.93.0/i18n/zh_CN.po000066400000000000000000005164471360735163600164330ustar00rootroot00000000000000# Simplified Chinese translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-11-15 01:58+0000\n" "Last-Translator: NingJiaZun \n" "Language-Team: Simplified Chinese \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:02+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "输入生成器..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "输入生成器..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "关闭" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "未知" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "放弃计算" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "警告" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "警告" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "选择溶剂" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "输出:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "无法写入到文件。" #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "视频文件没有写入。" #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "视频文件没有写入。" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 msgid "Configure Job" msgstr "" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "标题" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "文件名:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "处理器:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "计算:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "理论:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "理论:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "基准" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "没有分子集合" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "停止动画(&A)" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "没有选择原子" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "氢" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "氦" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "锂" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "铍" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "硼" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "碳" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "氮" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "氧" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "氟" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "氖" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "钠" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "镁" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "铝" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "硅" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "磷" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "硫" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "氯" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "氩" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "钾" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "钙" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "钪" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "钛" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "钒" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "铬" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "锰" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "铁" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "钴" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "镍" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "铜" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "锌" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "镓" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "锗" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "砷" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "硒" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "溴" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "氪" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "铷" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "锶" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "钇" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "锆" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "铌" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "钼" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "锝" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "钌" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "铑" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "钯" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "银" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "镉" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "铟" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "锡" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "锑" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "碲" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "碘" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "氙" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "铯" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "钡" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "镧" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "铈" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "镨" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "钕" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "钷" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "钐" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "铕" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "钆" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "铽" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "镝" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "钬" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "铒" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "铥" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "镱" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "镥" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "铪" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "钽" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "钨" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "铼" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "锇" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "铱" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "铂" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "金" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "汞" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "铊" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "铅" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "铋" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "钋" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "砹" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "氡" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "钫" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "镭" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "锕" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "钍" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "镤" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "铀" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "镎" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "钚" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "镅" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "锔" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "锫" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "锎" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "锿" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "镄" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "钔" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "锘" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "铹" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "钅卢" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "钅杜" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "钅喜" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "钅波" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "钅黑" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "钅麦" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "钅达" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "钅仑" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "鎶" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "锆" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "浏览..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "选择溶剂" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "删除选定项" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "所有文件" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "未命名" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "元素周期表" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "G03启动失败。" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "脚本(&S)" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL 错误" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "未知" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "分子" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "添加原子" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "删除原子" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "起始原子" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "调整氢原子数目" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "更改元素" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "更改元素" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "有效电荷" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "添加键" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "删除原子" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "删除键" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "键级" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "更改键级" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " 对齐至键" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "删除键" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "添加晶胞(&U)" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "移除晶胞(&U)" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "填充晶胞" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 #, fuzzy msgid "Scale Cell Volume" msgstr "比例缩放晶胞体积" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "超晶胞" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "对称晶体(&M)" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "填充晶胞" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "文件(&F)" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "导出" #: qtplugins/3dmol/3dmol.h:42 msgid "ThreeDMol" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "打开参数文件" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "扩展" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "错误" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "读取轨道文件%1时出现问题" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL 错误" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "读取轨道文件%1时出现问题" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 msgid "Open PDB File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 msgid "Open PQR File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "错误" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "Save APBS Input File" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "完成!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "图像成功写入 %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "显示多重键" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "氢" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "球和棍" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "渲染原子和键标签" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "化学键操纵" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "化学键操纵" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "结束原子" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "删除氢原子" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "构建(&B)" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "键" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "文件名:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "笛卡尔坐标编辑器" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "笛卡尔坐标编辑器" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 msgid "Overwrite changes?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "文件名无效" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "元素名称" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "元素符号" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "元素符号" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "文件名无效" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "原子序数" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "文件名无效" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "笛卡尔坐标" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "笛卡尔坐标" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "笛卡尔坐标" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "笛卡尔坐标" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "笛卡尔坐标" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "笛卡尔坐标" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 #, fuzzy msgid "Edit Atomic Coordinates" msgstr "设定笛卡尔坐标" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,Tao Wei,cuiweicui,rainofchaos,yjjart,郑思涵, ," "Launchpad Contributions:,Tao Wei,Yinghua Wang,cuiweicui,rainofchaos,yjjart,郑" "思涵, ,Launchpad Contributions:,Xinfeng,cuiweicui, ,Launchpad Contributions:," "Xinfeng,cuiweicui,yjjart, ,Launchpad Contributions:,Xinfeng,Ye, Qing," "cuiweicui,yjjart, ,Launchpad Contributions:,Xinfeng,Ye, Qing,cuiweicui," "yjjart, ,Launchpad Contributions:,Xinfeng,Ye, Qing,cuiweicui,yjjart, ," "Launchpad Contributions:,Xinfeng,Ye, Qing,cuiweicui,yjjart, ,Launchpad " "Contributions:,Avogadro Team,Xinfeng,Ye, Qing,cuiweicui,yjjart, ,Launchpad " "Contributions:,Avogadro Team,Xinfeng,Ye, Qing,cuiweicui,lele long,yjjart, ," "Launchpad Contributions:,Avogadro Team,Lele Long,Xinfeng,Ye, Qing,ZhangCheng," "cuiweicui,yjjart, ,Launchpad Contributions:,Avogadro Team,Chen Yang,Lele " "Long,Xinfeng,Ye, Qing,ZhangCheng,cuiweicui,tmpplus,yjjart, ,Launchpad " "Contributions:,Avogadro Team,Chen Yang,Lele Long,Xinfeng,Ye, Qing,ZhangCheng," "cuiweicui,tmpplus,yjjart, ,Launchpad Contributions:,Avogadro Team,Chen Yang," "Lele Long,NingJiaZun,Xinfeng,Ye, Qing,ZhangCheng,cuiweicui,tmpplus,yjjart" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 msgid "XYZ format (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "笛卡尔坐标" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "笛卡尔坐标" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP 信息" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP 信息" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 msgid "Turbomole format" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 msgid "Copy" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "自定义:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 msgid "Clear" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 #, fuzzy msgid "Import Crystal from Clipboard" msgstr "从剪贴板导入晶体(&M)" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "填充晶胞" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "填充晶胞" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 #, fuzzy msgid "Rotate to Standard &Orientation" msgstr "旋转到标准方向(&O)" #: qtplugins/crystal/crystal.cpp:83 #, fuzzy msgid "Scale Cell &Volume" msgstr "比例缩放晶胞体积" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "超晶胞" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "晶体..." #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "移除晶胞(&U)" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "添加晶胞(&U)" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "晶体..." #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "渲染原子和键标签" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "按元素着色" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "绘制" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "绘制原子" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "更改键级" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "删除原子" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "距离" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "距离(1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "其它..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "自动优化" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "单键" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "双键" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "三键" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "脚本(&S)" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "读取轨道文件%1时出现问题" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "&GAMESS" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "输入生成器..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS输入" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "单点能" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "平衡态几何体" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "过渡态" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "频率" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "核心势" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "气体" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "水" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "单线态" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "双线态" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "三线态" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "双阳离子" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "阳离子" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "中性" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "阴离子" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "二价阴离子" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS输入" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "放弃计算" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "调整氢原子数目" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "添加氢原子" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "删除氢原子" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "删除氢原子" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "氢" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "氢" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "导入" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "渲染原子和键标签" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "插入(&I)" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "无描述" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "分子" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "生成..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "操纵" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "操纵原子" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "测量" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "二面" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "角度:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "角度:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "测量" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "渲染分子等高面网格" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "视图(&V)" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "分子属性" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "导航" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "导航" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "化学名称" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "下载化学结构。" #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "网络下载失败" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "网络超时或发生其它错误." #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "特定的分子没有找到: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "网络下载失败" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "优化几何结构(&O)" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "几何优化" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "检测化学键?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "添加氢原子" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "添加pH为...时的氢键" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "删除氢原子" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "从文件 '%1' 读取分子失败。" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "写入文件 %1 时发生错误" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "优化几何结构(&O)" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "生成..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "轨迹文件%1与当前分子中的原子数不符" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "优化几何结构(&O)" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "添加氢原子" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "添加特定pH下的氢原子" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "删除氢原子" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "停止" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "参数:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "动态键" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "移除..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "停止" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "输出矢量图" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "不能读取文件 %1。" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "错误" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "保存视频文件" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "使用POV-Ray渲染" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM(分子中原子的量子论)" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "扩展(&X)" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 msgid "Generate input for quantum codes." msgstr "" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "计算电子密度" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "计算电子密度" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "计算分子轨道和其它表面" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "分子轨道 %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "重置" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 msgid "Script File Formats" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "全部删除" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "选择" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "反向选择(&I)" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr "选择" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "选择(&S)" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "选择(&S)" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "选择" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "选择" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "Space Group" msgstr "空间&群" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "国际化" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "霍尔" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 #, fuzzy msgid "Select Space Group" msgstr "空间&群" #: qtplugins/spacegroup/spacegroup.h:35 #, fuzzy msgid "SpaceGroup" msgstr "空间&群" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "振动分析" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "光谱可视化" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "显示分数坐标(&F)" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "类型" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "元素" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "按元素选择..." #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "渲染分子偶极矩" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "Van der Waals" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "Van der Waals" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "渲染" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "使用POV-Ray渲染" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "线框" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "将分子渲染为棍状" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "对话" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "表单" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "选择设置" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "放弃计算" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "着色器程序:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "处理器:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "更改元素" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "结构:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "Par文件:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "力场:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "Par文件:" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) msgid "APBS Input File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "保存视频文件" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "完成!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "结构:" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "载入文件..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "测量设置" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "文件名(&F):" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "导航" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "导航" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "导航" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "文件名:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "确定" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "取消" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "笛卡尔坐标编辑器" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "重置" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "距离" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "埃(&A)" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "玻尔" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "格式:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "Revert" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "应用" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "超晶胞参数" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "超晶胞选项" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A 重复:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B 重复:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C 重复:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "设置晶胞颜色" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "MOPAC Z-矩阵" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Fractional Matrix:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "平移原子" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "比例缩放晶胞体积" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "频率缩放因子" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "元素" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "键级:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS输入" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "基本设置(&B)" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "输入:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "多重性:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "为:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "标题:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "电荷:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "文件名:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "全部重置" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "默认" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "载入文件..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "名称" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "格式:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "无描述" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "分子量 (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "化学方程:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "原子的数量:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "化学键的数量:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "几何优化" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "优化方式:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "力场:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "优化方式:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "最速下降法" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "共轭梯度法" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "自动翻转" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "Van der Waals, 等高面 = %L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "静电势" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "步骤" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "渐变聚合标准" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "会聚" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "时间限制" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "单位:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "化学键的数量:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Wavelength:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "删除选定项" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "不透明度:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "表面" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "表面" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "中" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very Low" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "低" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "高" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "等高面切断值" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "分辨率:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "表面" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "计算" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "振动分析" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "开始动画(&A)" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "停止动画(&A)" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "分子" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "选项" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) #, fuzzy msgid "Subgroups" msgstr "空间&群" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,Tao Wei,cuiweicui,rainofchaos,yjjart,郑思涵, ," "Launchpad Contributions:,Tao Wei,Yinghua Wang,cuiweicui,rainofchaos,yjjart,郑" "思涵, ,Launchpad Contributions:,Xinfeng,cuiweicui, ,Launchpad Contributions:," "Xinfeng,cuiweicui,yjjart, ,Launchpad Contributions:,Xinfeng,Ye, Qing," "cuiweicui,yjjart, ,Launchpad Contributions:,Xinfeng,Ye, Qing,cuiweicui," "yjjart, ,Launchpad Contributions:,Xinfeng,Ye, Qing,cuiweicui,yjjart, ," "Launchpad Contributions:,Xinfeng,Ye, Qing,cuiweicui,yjjart, ,Launchpad " "Contributions:,Avogadro Team,Xinfeng,Ye, Qing,cuiweicui,yjjart, ,Launchpad " "Contributions:,Avogadro Team,Xinfeng,Ye, Qing,cuiweicui,lele long,yjjart, ," "Launchpad Contributions:,Avogadro Team,Lele Long,Xinfeng,Ye, Qing,ZhangCheng," "cuiweicui,yjjart, ,Launchpad Contributions:,Avogadro Team,Chen Yang,Lele " "Long,Xinfeng,Ye, Qing,ZhangCheng,cuiweicui,tmpplus,yjjart, ,Launchpad " "Contributions:,Avogadro Team,Chen Yang,Lele Long,Xinfeng,Ye, Qing,ZhangCheng," "cuiweicui,tmpplus,yjjart, ,Launchpad Contributions:,Avogadro Team,Chen Yang," "Lele Long,NingJiaZun,Xinfeng,Ye, Qing,ZhangCheng,cuiweicui,tmpplus,yjjart" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,,cuiweicui1985@gmail.com,rainofchaos@gmail.com,yjjart@gmail.com," "sihanzheng@gmail.com,,,,,cuiweicui1985@gmail.com,rainofchaos@gmail.com," "yjjart@gmail.com,sihanzheng@gmail.com,,,,cuiweicui1985@gmail.com,,,," "cuiweicui1985@gmail.com,yjjart@gmail.com,,,,allen19920930@gmail.com," "cuiweicui1985@gmail.com,yjjart@gmail.com,,,,allen19920930@gmail.com," "cuiweicui1985@gmail.com,yjjart@gmail.com,,,,allen19920930@gmail.com," "cuiweicui1985@gmail.com,yjjart@gmail.com,,,,allen19920930@gmail.com," "cuiweicui1985@gmail.com,yjjart@gmail.com,,,avogadro-devel@lists.sourceforge." "net,,allen19920930@gmail.com,cuiweicui1985@gmail.com,yjjart@gmail.com,,," "avogadro-devel@lists.sourceforge.net,,allen19920930@gmail.com," "cuiweicui1985@gmail.com,schemacs@gmail.com,yjjart@gmail.com,,,avogadro-" "devel@lists.sourceforge.net,schemacs@gmail.com,,allen19920930@gmail.com," "skyxxzc@gmail.com,cuiweicui1985@gmail.com,yjjart@gmail.com,,,avogadro-" "devel@lists.sourceforge.net,frankensteinyang@gmail.com,schemacs@gmail.com,," "allen19920930@gmail.com,skyxxzc@gmail.com,cuiweicui1985@gmail.com,," "yjjart@gmail.com,,,avogadro-devel@lists.sourceforge.net," "frankensteinyang@gmail.com,schemacs@gmail.com,,allen19920930@gmail.com," "skyxxzc@gmail.com,cuiweicui1985@gmail.com,,yjjart@gmail.com,,,avogadro-" "devel@lists.sourceforge.net,frankensteinyang@gmail.com,schemacs@gmail.com,,," "allen19920930@gmail.com,skyxxzc@gmail.com,cuiweicui1985@gmail.com,," "yjjart@gmail.com" #~ msgid "Color by Index" #~ msgstr "按索引着色" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "按索引着色 (红,橙,黄,绿,蓝,紫)" #~ msgid "Color by Partial Charge" #~ msgstr "按部分电荷着色" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "按原子部分电荷着色(蓝色=正电荷,红色=负电荷。)" #~ msgid "Custom Color:" #~ msgstr "自定义颜色:" #~ msgid "Custom Color" #~ msgstr "自定义颜色" #~ msgid "Set custom colors for objects" #~ msgstr "为物体设置自定义颜色" #~ msgid "Color by Distance" #~ msgstr "按距离着色" #~ msgid "Color by distance from the first atom." #~ msgstr "按与第一个原子的距离远近着色。" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "按元素着色 (碳=灰色,氧=红色,...)" #~ msgid "Color by Residue" #~ msgstr "按残基着色" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "按残基着色(氨基酸类型,疏水性,...)" #~ msgid "SMARTS Pattern:" #~ msgstr "SMART 模式:" #~ msgid "Highlight Color:" #~ msgstr "高亮颜色:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "以 SMARTS 模式着色" #~ msgid "Ununtrium" #~ msgstr "Uut" #~ msgid "Ununpentium" #~ msgstr "Uup" #~ msgid "Ununseptium" #~ msgstr "Uus" #~ msgid "Ununoctium" #~ msgstr "Uuo" #~ msgid "Engines" #~ msgstr "引擎" #~ msgid "Axes" #~ msgstr "轴" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "在原点处渲染x,y和z轴" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "以球(原子)和棍(键)模式渲染几何体" #~ msgid "Cartoon" #~ msgstr "卡通" #~ msgid "Renders protein secondary structure" #~ msgstr "渲染蛋白质二级结构" #~ msgid "Dipole" #~ msgstr "偶极" #~ msgid "Force" #~ msgstr "力" #~ msgid "Renders force displacements on atoms" #~ msgstr "渲染原子上的力位移" #~ msgid "Hydrogen Bond" #~ msgstr "氢键" #~ msgid "Renders hydrogen bonds" #~ msgstr "渲染氢键" #~ msgid "Select Atom Labels Color" #~ msgstr "选择原子标签颜色" #~ msgid "Select Bond Labels Color" #~ msgstr "选择键标签" #~ msgid "Select Atom Labels Font" #~ msgstr "选择原子标签字体" #~ msgid "Select Bond Labels Font" #~ msgstr "选择键标签字体" #~ msgid "Label" #~ msgstr "标签" #~ msgid "Polygon" #~ msgstr "多边形" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "将原子渲染为正四面体,正八面体,以及其它多面体" #~ msgid "Ribbon" #~ msgstr "条带" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "将蛋白质骨架渲染为带状" #~ msgid "Ring" #~ msgstr "环" #~ msgid "Renders rings with colored planes" #~ msgstr "将环渲染为彩色平面" #~ msgid "Simple Wireframe" #~ msgstr "简单线框" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "将化学键渲染为线框 (线),对大分子较合适" #~ msgid "Van der Waals Spheres" #~ msgstr "Van der Waals球体" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "将原子渲染为Van der Waals球体" #~ msgid "Stick" #~ msgstr "棒状" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "电子密度, 等高面 = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, 等高面 = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "将键渲染为线框(线),对于大的(生物)分子很理想" #~ msgid "Trajectory files" #~ msgstr "轨道文件" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "视频文件 (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "添加.avi扩展名" #~ msgid "Animation..." #~ msgstr "动画" #~ msgid "Cannot read file format of file %1." #~ msgstr "无法读取文件 %1 的格式" #~ msgid "Read trajectory file %1 failed." #~ msgstr "读取轨迹文件 %1 失败" #~ msgid "Must specify a valid .avi file name" #~ msgstr "必须指定一个有效的.avi文件名" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "为保存视频用的GL小工具没有正确初始化" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "无效的文件名。必须包含完整路径。" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "无效的文件名。必须包含完整路径和文件名,以.avi结尾。" #~ msgid "Could not determine format from filename: %1" #~ msgstr "无法从文件名 %1 猜测出文件格式" #~ msgid "Animation" #~ msgstr "动画" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "将轨迹、反应和振动进行动画化。" #~ msgid "Cartesian Editor..." #~ msgstr "笛卡尔坐标编辑器..." #~ msgid "Cartesian editor" #~ msgstr "笛卡尔编辑器" #~ msgid "Number of atoms: %1" #~ msgstr "原子个数: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "可旋转化学键个数: %1" #~ msgid "Add constraint" #~ msgstr "添加限制条件" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "您的分子必须包含至少一个原子才能添加限制条件" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "您的分子必须包含至少两个原子以添加化学键限制条件" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "您的分子必须包含至少三个原子以添加键角限制条件" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "您的分子必须包含至少四个原子以添加扭转限制条件" #~ msgid "&Crystallography" #~ msgstr "&结晶学" #~ msgid "&Settings" #~ msgstr "&设置" #~ msgid "&Length Unit" #~ msgstr "&长度单位" #~ msgid "&Angle Unit" #~ msgstr "&角度单位" #~ msgid "&Coordinate Display" #~ msgstr "坐标显示(&C)" #~ msgid "&Matrix Display" #~ msgstr "矩阵显示(&M)" #~ msgid "Hide &Editors" #~ msgstr "隐藏编辑器(&E)" #~ msgid "Show &Editors" #~ msgstr "显示编辑器(&E)" #~ msgid "Hide &Property Display" #~ msgstr "隐藏属性显示(&P)" #~ msgid "Show &Property Display" #~ msgstr "显示属性显示(&P)" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "晶格类型:%1" #~ msgid "Undefined" #~ msgstr "未定义" #~ msgid "&Translate Atoms..." #~ msgstr "移动原子(&T)..." #~ msgid "&Fill Unit Cell" #~ msgstr "填充晶胞(&F)" #~ msgid "Fill the unit cell using current spacegroup." #~ msgstr "使用当前空间群填充晶胞。" #~ msgid "&Bohr" #~ msgstr "玻尔(&B)" #~ msgid "&Nanometer" #~ msgstr "纳米(&N)" #~ msgid "&Picometer" #~ msgstr "皮米(&P)" #~ msgid "&Degree" #~ msgstr "度数(&D)" #~ msgid "&Radian" #~ msgstr "弧度(&R)" #~ msgid "Display &cartesian coordinates" #~ msgstr "显示笛卡尔坐标(&C)" #~ msgid "Display &cartesian matrix" #~ msgstr "显示笛卡尔矩阵(&C)" #~ msgid "&Crystal View Options..." #~ msgstr "晶体视图选项(&C)..." #~ msgid "Set Fractional Coordinates" #~ msgstr "设定分数坐标" #~ msgid "Working..." #~ msgstr "正在进行..." #~ msgid "Build" #~ msgstr "构建" #~ msgid "Please select one or more atoms." #~ msgstr "请选择一个或多个原子。" #~ msgid "Trajectory..." #~ msgstr "轨迹..." #~ msgid "Open chemical file format" #~ msgstr "打开化学文件格式" #~ msgid "Chemical files (*.xyz)" #~ msgstr "化学文件 (*.xyz)" #~ msgid "Chemical files (*.parm7)" #~ msgstr "化学文件 (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "导入轨迹" #~ msgid "Import trajectory files" #~ msgstr "导入轨迹文件" #~ msgid "Setup Force Field..." #~ msgstr "建立力场..." #~ msgid "Calculate Energy" #~ msgstr "计算能量" #~ msgid "Conformer Search..." #~ msgstr "搜寻构象异构体" #~ msgid "Constraints..." #~ msgstr "限制条件" #~ msgid "Ignore Selection" #~ msgstr "忽略选择" #~ msgid "Fix Selected Atoms" #~ msgstr "修正所选择的原子" #~ msgid "&Molecular Mechanics" #~ msgstr "分子机理(&M)" #~ msgid "Energy = %L1 %2" #~ msgstr "能量 = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "几何优化" #~ msgid "Forcefield Optimization" #~ msgstr "力场优化" #~ msgid "Systematic Rotor Search" #~ msgstr "系统性旋转搜索" #~ msgid "Random Rotor Search" #~ msgstr "随机性旋转搜索" #~ msgid "Weighted Rotor Search" #~ msgstr "权重旋转搜索" #~ msgid "ForceField" #~ msgstr "力场" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "优化分子并用分子动力学力场生成构象异构体" #~ msgid "&Vector Graphics..." #~ msgstr "&矢量图形..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "普通矢量图格式" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "矢量图输出" #~ msgid "Change H to Methyl" #~ msgstr "将氢替换为甲基" #~ msgid "H to Methyl" #~ msgstr "氢到甲基" #~ msgid "H2Methyl" #~ msgstr "氢到甲基" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "将氢原子转换为甲基" #~ msgid "Add or remove hydrogens" #~ msgstr "添加或删除氢原子" #~ msgid "DNA/RNA..." #~ msgstr "DNA/RNA..." #~ msgid "Insert DNA" #~ msgstr "插入 DNA" #~ msgid "Cannot read molecular file %1." #~ msgstr "不能读取分子文件%1。" #~ msgid "Fragment..." #~ msgstr "片段..." #~ msgid "Insert SMILES" #~ msgstr "插入SMILES" #~ msgid "Insert SMILES fragment:" #~ msgstr "插入SMILES片段:" #~ msgid "Insert Fragment" #~ msgstr "插入片段" #~ msgid "Insert Crystal" #~ msgstr "插入晶体" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "插入分子片段以构建更大的分子" #~ msgid "Peptide..." #~ msgstr "多肽..." #~ msgid "Insert Peptide" #~ msgstr "插入多肽" #~ msgid "Insert oligopeptide sequences" #~ msgstr "插入寡多肽序列" #~ msgid "Molecule Properties..." #~ msgstr "分子属性..." #~ msgid "&Properties" #~ msgstr "属性(&P)" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "未知" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "偶极矩估计值(D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(待定)" #~ msgid "Display standard molecular properties." #~ msgstr "显示标准分子属性。" #~ msgid "Fetch from PDB..." #~ msgstr "从 PCB 获取..." #~ msgid "Fetch from URL..." #~ msgstr "从URL获取..." #~ msgid "PDB Entry" #~ msgstr "PDB项目" #~ msgid "PDB entry to download." #~ msgstr "下载PDB项目。" #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "从URL下载分子。" #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "特定的分子无法载入: %1" #~ msgid "Network Fetch" #~ msgstr "网络获取" #~ msgid "Fetch molecule files over the network." #~ msgstr "从网络获取分子文件。" #~ msgid "All Files" #~ msgstr "所有文件" #~ msgid "Show Preview" #~ msgstr "显示预览" #~ msgid "Hide Preview" #~ msgstr "隐藏预览" #~ msgid "Save POV-Ray rendered image" #~ msgstr "保存用POV-Ray渲染的图像" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "图像文件 (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "没有提供文件名。" #~ msgid "No valid filename was supplied." #~ msgstr "没有提供有效的文件名。" #~ msgid "Does not compute." #~ msgstr "没有计算。" #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "你要求不要直接用POV-Ray渲染,并且不保存POV-Ray文件。这会导致没有任何输出被" #~ "保存。你确定这是你希望的么?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "无法写入到文件%1。是否拥有写入到该地址的许可?" #~ msgid "POV-Ray failed to start." #~ msgstr "POV-Ray启动失败。" #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "POV-Ray未能启动。可能是因为可执行文件的路径设置不正确。" #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "创建POV-Ray文件并用命令行POV-Ray程序渲染。" #~ msgid "Atom Properties..." #~ msgstr "原子属性..." #~ msgid "Bond Properties..." #~ msgstr "键属性..." #~ msgid "Angle Properties..." #~ msgstr "键角属性..." #~ msgid "Torsion Properties..." #~ msgstr "扭转属性..." #~ msgid "Conformer Properties..." #~ msgstr "构象属性..." #~ msgid "Atom Properties" #~ msgstr "原子属性" #~ msgid "Bond Properties" #~ msgstr "键属性" #~ msgid "Angle Properties" #~ msgstr "键角属性" #~ msgid "Torsion Properties" #~ msgstr "扭转属性" #~ msgid "Conformer Properties" #~ msgstr "构象异构体属性" #~ msgid "Properties" #~ msgstr "属性" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "用于显示原子、化学键、键角和扭矩属性的窗口。它还包含一个笛卡儿坐标编辑器。" #~ msgid "Valence" #~ msgstr "化合价" #~ msgid "Partial Charge" #~ msgstr "部分电荷" #~ msgid "Atom" #~ msgstr "原子" #~ msgid "Rotatable" #~ msgstr "可旋转的" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "长度%1" #~ msgid "Vertex" #~ msgstr "顶点" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "角度%1" #~ msgid "Angle" #~ msgstr "键角" #~ msgid "Atom %1" #~ msgstr "原子 %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "扭转 %1" #~ msgid "Torsion" #~ msgstr "扭转" #~ msgid "Conformer" #~ msgstr "构象异构体" #~ msgid "Python Terminal" #~ msgstr "Python终端" #~ msgid "pythonTerminalDock" #~ msgstr "python终端托盘" #~ msgid "Interactive python scripting terminal" #~ msgstr "交互式Python脚本终端" #~ msgid "QM Matches" #~ msgstr "量子力学匹配" #~ msgid "Delete" #~ msgstr "删除" #~ msgid "You must make a selection!" #~ msgstr "您必须进行选择" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "SMILES 不能转换" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "SMILES 格式转换不能使用" #~ msgid "Group Name" #~ msgstr "群组名称" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "为GAMESS量子化学软件包创建输入文件" #~ msgid "Advanced Settings Changed" #~ msgstr "高级设置更改" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "高级设置已更改.\n" #~ "要放弃吗?" #~ msgid "Advanced Settings Reset" #~ msgstr "重设高级设置" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "您确定要重设高级设置吗?\n" #~ "所有改动都将丢失!" #~ msgid "Basic Settings Reset" #~ msgstr "基本设置重设" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "您确定要重设基本设置吗?\n" #~ "所有改动都将丢失!" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussian输入卡片生成器警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "您是否希望更新预览文本,并丢失所有在Gaussian输入卡片预览面板中所做的修改?" #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussian输入卡片" #~ msgid "Gaussian Running." #~ msgstr "Gaussian正在运行。" #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "Gaussian已经在运行了。请等待之前的计算完成。" #~ msgid "Gaussian Not Installed." #~ msgstr "Gaussian没有被安装。" #~ msgid "The G03 executable, cannot be found." #~ msgstr "无法找到G03的可执行程序。" #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "G03没有启动。也许它没有被正确安装。" #~ msgid "Running Gaussian calculation..." #~ msgstr "运行Gaussian计算..." #~ msgid "G03 Crashed." #~ msgstr "G03崩溃了。" #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "Gaussian没有正常运行,也许是因为它没有被正确安装。" #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC输入警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "" #~ "您是否希望更新预览文本,并丢失所有在MOPAC输入卡片预览面板中所做的修改?" #~ msgid "MOPAC Running." #~ msgstr "MOPAC正在运行。" #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC已经在运行了。请等待前期计算的完成。" #~ msgid "MOPAC Not Installed." #~ msgstr "MOPAC没有安装。" #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "未能找到MOPAC可执行文件。" #~ msgid "MOPAC failed to start." #~ msgstr "MOPAC未能启动。" #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "MOPAC没有启动。也许是因为它没有被正确安装。" #~ msgid "Running MOPAC calculation..." #~ msgstr "运行MOPAC计算..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC崩溃了。" #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "MOPAC没有正确运行。也许是因为它没有被正确安装。" #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "NWChem输入卡片生成器警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "您是否希望更新预览文字,并丢失所有在NWChem输入卡片预览面板中所做的更改?" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem输入卡片生成器警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "" #~ "您是否想更新预览文本,并丢失所有在Q-Chem输入卡片预览面板中所做的修改?" #~ msgid "Select SMARTS..." #~ msgstr "选择SMARTS..." #~ msgid "Select by Residue..." #~ msgstr "按残基选择..." #~ msgid "Add Named Selection..." #~ msgstr "添加已命名的选择" #~ msgid "SMARTS Selection" #~ msgstr "SMARTS选择" #~ msgid "SMARTS pattern to select" #~ msgstr "SMARTS模版选择" #~ msgid "Select by residue" #~ msgstr "按残基选择" #~ msgid "Residue name" #~ msgstr "残基名称" #~ msgid "There is no current selection." #~ msgstr "当前没有选择。" #~ msgid "Add Named Selection" #~ msgstr "添加已命名的选择" #~ msgid "Name cannot be empty." #~ msgstr "名称不能为空。" #~ msgid "There is already a selection with this name." #~ msgstr "该名称已经有对应的选择了。" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "选择原子,键,残基..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL着色器..." #~ msgid "Open a vertex shader source file" #~ msgstr "打开顶点着色器源文件" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "顶点着色器文件 (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "打开片段着色器源文件" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "片段着色器文件 (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "打开着色器参数文件" #~ msgid "Shader parameters files (*.params)" #~ msgstr "着色器参数文件 (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL着色器" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "载入并使用OpenGL 2.0 GLSL着色器" #~ msgid "Transmittance (%)" #~ msgstr "透射比 (%)" #~ msgid "Absorbance (%)" #~ msgstr "吸光度 (%)" #~ msgid "No intensities" #~ msgstr "没有强度" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "您加载的分子振动数据没有任何强度数值。强度应当被赋予一个数值以便显示。" #~ msgid "Wavenumber (cm-1)" #~ msgstr "波数 (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "位移 (ppm)" #~ msgid "X Axis" #~ msgstr "X 轴" #~ msgid "Y Axis" #~ msgstr "Y 轴" #~ msgid "&Appearance" #~ msgstr "外观(&A)" #~ msgid "E&xport Image" #~ msgstr "导入图像(&X)" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "红外" #~ msgid "&Infrared Spectra Settings" #~ msgstr "红外光谱设置(&I)" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "核磁共振" #~ msgid "&NMR Spectra Settings" #~ msgstr "核磁共振谱设置(&N)" #~ msgid "No data" #~ msgstr "没有数据" #~ msgid "Dark" #~ msgstr "灰暗" #~ msgid "Light" #~ msgstr "明亮" #~ msgid "Publication" #~ msgstr "发布" #~ msgid "Handdrawn" #~ msgstr "手绘" #~ msgid "New Scheme" #~ msgstr "新原理图" #~ msgid "Confirm Scheme Removal" #~ msgstr "确认移除原理图" #~ msgid "Really remove current scheme?" #~ msgstr "真的要移除当前原理图吗?" #~ msgid "Change Scheme Name" #~ msgstr "改变原理图名称" #~ msgid "Enter new name for current scheme:" #~ msgstr "为当前原理图输入新名字:" #~ msgid "Export Calculated Spectrum" #~ msgstr "导出光谱计算结果" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "制表符分隔数值格式 (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "Tab分隔数值" #~ msgid "Comma Separated Values" #~ msgstr "逗号分隔数值" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "导入光谱" #~ msgid "Spectra Import" #~ msgstr "导入光谱" #~ msgid "Unknown extension: %1" #~ msgstr "未知扩展名: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf IR 数据 (*.out)" #~ msgid "Data Format" #~ msgstr "数据格式" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "格式:" #~ msgid "Load Spectral Data" #~ msgstr "载入光谱数据" #~ msgid "Portable Network Graphics" #~ msgstr "便携式网络图形(PNG)" #~ msgid "jpeg" #~ msgstr "jpeg" #~ msgid "Tagged Image File Format" #~ msgstr "标签图像文件格式(TIFF)" #~ msgid "Windows Bitmap" #~ msgstr "Windows 位图" #~ msgid "Portable Pixmap" #~ msgstr "可移动点阵图" #~ msgid "X11 Bitmap" #~ msgstr "X11 位图" #~ msgid "X11 Pixmap" #~ msgstr "X11 点阵图" #~ msgid "Save Spectra Image" #~ msgstr "保存光谱图像" #~ msgid "&Spectra..." #~ msgstr "光谱(&S)..." #~ msgid "Spectra" #~ msgstr "光谱" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "由量子化学计算结果将光谱数据可视化" #~ msgid "No vibrational displacements exist." #~ msgstr "没有振动位移存在。" #~ msgid "Vibration" #~ msgstr "振动" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "从量子化学计算中显示振动模式。" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "按照频率对 %1 的振动进行分类..." #~ msgid "Super Cell Builder..." #~ msgstr "超晶胞构建器..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "该文档目前是一个单独的分子。你需要创建一个单位晶胞。" #~ msgid "Build and display crystallographic super cells" #~ msgstr "构建并显示晶体学中的超晶胞" #~ msgid "Orbitals" #~ msgstr "轨道" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "无" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "Van der Waals" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "静电势" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "电子密度" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "分子轨道" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "错误 - 未定义的类型" #~ msgid "Create Surfaces..." #~ msgstr "创建表面..." #~ msgid "Calculating VdW Cube" #~ msgstr "计算VdW立方体" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "计算分子轨道%L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "电子密度" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL小工具未能正确启动以制作视频" #~ msgid "GL widget has no molecule" #~ msgstr "GL小工具未包含任何分子" #~ msgid "Building video " #~ msgstr "建构视频 " #~ msgid "Could not run povray." #~ msgstr "无法运行povray。" #~ msgid "Could not run mencoder." #~ msgstr "无法运行mencoder。" #~ msgid "Set Aspect Ratio" #~ msgstr "设置长宽比" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "当前Avogadro场景有 %1x%2 像素大小,因此长宽比为 %3。\n" #~ "您可以保留这个数值,例如当您想使用POV-Ray的时候。\n" #~ "要生成 %4x1000 像素的图像,或者您可以输入任何正值,\n" #~ "例如您想用POV-Ray生成正方形的像 1000x1000 像素的图像." #~ msgid "Connect" #~ msgstr "连接" #~ msgid "Disconnect" #~ msgstr "断开" #~ msgid "&WiiTrack" #~ msgstr "&Wii跟踪" #~ msgid "Wii Tracking" #~ msgstr "Wii跟踪" #~ msgid "Track motion using Wii remotes" #~ msgstr "使用Wii遥控器跟踪运动" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "" #~ "不正确的OpenGL内容.\n" #~ "也许您的OpenGL安装被完全破坏 (您是否在运行某些OpenGL程序? ), 或者您遇到了" #~ "一个Bug." #~ msgid "Debug Information" #~ msgstr "调试信息" #~ msgid "FPS: %L1" #~ msgstr "帧速率: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "显示尺寸: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "原子: %L1" #~ msgid "Bonds: %L1" #~ msgstr "键: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: index %1 out of reach." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "文件类型 '%1' 不支持读取操作。" #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "文件 '%1' 的文件类型不支持读取操作。" #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "读取含有索引 %1 的分子信息的文件 '%2' 失败。" #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "replaceMolecule: index %1 out of reach." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "文件类型 '%1' 不支持写入操作。" #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "文件 '%1' 的文件类型不支持写入操作。" #~ msgid "Could not open file '%1' for writing." #~ msgstr "无法打开文件 '%1' 并写入。" #~ msgid "Could not open file '%1' for reading." #~ msgstr "无法打开文件 '%1' 并读取。" #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "用索引 %1替换文件 '%2' 中的分子失败。" #~ msgid "File %1 cannot be opened for reading." #~ msgstr "文件 %1 无法被打开并读取。" #~ msgid "File %1 can not be opened for writing." #~ msgstr "文件 %1 无法被打开并写入。" #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "保存分子文件失败 - 无法重命名原始文件。" #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "保存分子文件失败 - 无法重命名新文件。" #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "保存分子文件失败 - 无法删除旧文件。" #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "将分子写入到文件 '%1' 失败。 OpenBabel功能失效。" #~ msgid "File %1 cannot be opened for writing." #~ msgstr "文件 %1 无法被打开并写入。" #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "将构象异构体写入到文件 '%1' 失败" #~ msgid "Molecule %1" #~ msgstr "分子 %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "未知Python引擎" #~ msgid "N/A" #~ msgstr "N/A" #~ msgid "PythonEngine: checking " #~ msgstr "Python引擎: 检查中 " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - 脚本没有定义“引擎”种类" #~ msgid " - no module" #~ msgstr " - 没有模块" #~ msgid "Unknown Python Extension" #~ msgstr "未知Python扩展" #~ msgid "PythonExtension: checking " #~ msgstr "Python扩展: 检查中 " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - 脚本没有定义“扩展”类型" #~ msgid "Unknown Python Tool" #~ msgstr "未知Python工具" #~ msgid "PythonTool: checking " #~ msgstr "Python工具: 检查中 " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - 脚本没有定义“工具”类型" #~ msgid "Conformer %1" #~ msgstr "构象异构体%1" #~ msgid "Tools" #~ msgstr "工具" #~ msgid "Axis:" #~ msgstr "轴" #~ msgid "Align:" #~ msgstr "对齐:" #~ msgid "Everything" #~ msgstr "所有内容" #~ msgid "Align" #~ msgstr "对齐" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "将分子对齐到一个笛卡尔坐标轴" #~ msgid "Align Settings" #~ msgstr "对齐设置" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "自动优化: 不能建立力场...." #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "自动优化: E = %1 %2 (dE = %3)" #~ msgid "Steps per Update:" #~ msgstr "每次更新步骤数:" #~ msgid "Algorithm:" #~ msgstr "算法:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "分子动力学 (300K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "分子动力学 (600K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "分子动力学 (900K)" #~ msgid "Start" #~ msgstr "开始" #~ msgid "Fixed atoms are movable" #~ msgstr "设置固定的原子为可移动的" #~ msgid "Ignored atoms are movable" #~ msgstr "设置已忽略的原子为可移动的" #~ msgid "AutoOpt Molecule" #~ msgstr "自动优化分子" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "自动优化分子几何构型" #~ msgid "AutoOptimization Settings" #~ msgstr "自动优化设置" #~ msgid "Auto Rotation Tool" #~ msgstr "自动旋转工具" #~ msgid "x rotation:" #~ msgstr "x轴旋转" #~ msgid "x rotation" #~ msgstr "x轴旋转" #~ msgid "y rotation:" #~ msgstr "y轴旋转" #~ msgid "y rotation" #~ msgstr "y轴旋转" #~ msgid "z rotation:" #~ msgstr "z轴旋转" #~ msgid "z rotation" #~ msgstr "z轴旋转" #~ msgid "Automatic rotation of molecules" #~ msgstr "自动旋转分子" #~ msgid "AutoRotate Settings" #~ msgstr "自动旋转设置" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "键长: %L1" #~ msgid " Show Angles" #~ msgstr " 显示键角" #~ msgid "Snap-to Threshold: " #~ msgstr "对齐至起点: " #~ msgid "Bond Centric Manipulate" #~ msgstr "化学键操纵" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "操纵键长,键角和扭转" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "化学键操纵设置" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "距离(2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "键角: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "距离(3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "二面角: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "距离(s):" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "测量键长,键角和二面角" #~ msgid "Delete Atom" #~ msgstr "删除原子" #~ msgid "Draw Bond" #~ msgstr "绘制化学键" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "绘制并编辑原子和键" #~ msgid "Draw Settings" #~ msgstr "绘制设置" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "平移,旋转并调整原子和片段" #~ msgid "Manipulate Settings" #~ msgstr "操纵设置" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "平移,旋转并在当前视图内缩放" #~ msgid "Navigate Settings" #~ msgstr "导航设置" #~ msgid "Selection Mode:" #~ msgstr "选择模式:" #~ msgid "Atom/Bond" #~ msgstr "原子/键" #~ msgid "Residue" #~ msgstr "残基" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "选择原子,残基和分子" #~ msgid "Symbol" #~ msgstr "符号" #~ msgid "Bond Length" #~ msgstr "键长" #~ msgid "Bond Angle" #~ msgstr "键角" #~ msgid "Dihedral Angle" #~ msgstr "二面角" #~ msgid "Z Matrix Editor..." #~ msgstr "Z矩阵编辑器..." #~ msgid "Z-Matrix" #~ msgstr "Z-矩阵" #~ msgid "Create/edit a z-matrix" #~ msgstr "创建/编辑一个Z矩阵" #~ msgid "Z-Matrix Settings" #~ msgstr "Z-矩阵设置" #~ msgid "Residue Color Settings" #~ msgstr "残基颜色设置" #~ msgid "Color residues by:" #~ msgstr "给残基着色按:" #~ msgid "Amino Colors" #~ msgstr "氨基颜色" #~ msgid "Shapely Colors" #~ msgstr "优美的颜色" #~ msgid "Hydrophobicity" #~ msgstr "疏水性" #~ msgid "Origin:" #~ msgstr "原点:" #~ msgid "Atom Radius:" #~ msgstr "原子半径:" #~ msgid "Bond Radius:" #~ msgstr "键半径:" #~ msgid "Shape" #~ msgstr "图形" #~ msgid "Helix" #~ msgstr "螺旋" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "表格" #~ msgid "Loop" #~ msgstr "环" #~ msgid "Colors" #~ msgstr "颜色" #~ msgid "Dipole:" #~ msgstr "偶极:" #~ msgid "Dipole Moment" #~ msgstr "偶极矩" #~ msgid "Width:" #~ msgstr "宽度:" #~ msgid "Cut-off radius:" #~ msgstr "截断半径:" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "截断角度:" #~ msgid "Color:" #~ msgstr "颜色:" #~ msgid "None" #~ msgstr "无" #~ msgid "Partial charge" #~ msgstr "部分电荷" #~ msgid "Residue number" #~ msgstr "残基序数" #~ msgid "Unique ID" #~ msgstr "唯一D" #~ msgid "Bond length" #~ msgstr "键长" #~ msgid "Bond number" #~ msgstr "键序数:" #~ msgid "Bond order" #~ msgstr "键级" #~ msgid "Rendering:" #~ msgstr "渲染:" #~ msgid "Backbone" #~ msgstr "骨架" #~ msgid "Lines" #~ msgstr "直线" #~ msgid "Radius:" #~ msgstr "半径:" #~ msgid "Include Nitrogens" #~ msgstr "包含氮" #~ msgid "VdW Opacity:" #~ msgstr "VdW 不透明度:" #~ msgid "Orbital:" #~ msgstr "轨道:" #~ msgid "Render:" #~ msgstr "渲染:" #~ msgid "Fill" #~ msgstr "填充" #~ msgid "Points" #~ msgstr "点" #~ msgid "Draw Box:" #~ msgstr "绘制盒:" #~ msgid "Style:" #~ msgstr "样式:" #~ msgid "Selected Colors" #~ msgstr "已选的颜色" #~ msgid "Mapped Colors" #~ msgstr "映射的颜色" #~ msgid "Colors:" #~ msgstr "颜色:" #~ msgid "Positive" #~ msgstr "正" #~ msgid "Negative" #~ msgstr "负" #~ msgid "Show Atoms" #~ msgstr "显示原子" #~ msgid "Animate Trajectory" #~ msgstr "动画轨迹" #~ msgid "0/0" #~ msgstr "0/0" #~ msgid "fps" #~ msgstr "帧/秒" #~ msgid "Save as .avi..." #~ msgstr "保存为.avi文件..." #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "Conformer Search" #~ msgstr "搜索构象异构体" #~ msgid "Method" #~ msgstr "算法" #~ msgid "Number of atoms:" #~ msgstr "原子数量" #~ msgid "Number of rotatable bonds:" #~ msgstr "可旋转键数量" #~ msgid "Number of conformers" #~ msgstr "构象异构体数量" #~ msgid "Systematic rotor search" #~ msgstr "系统性旋转搜索" #~ msgid "Random rotor search" #~ msgstr "随机旋转搜索" #~ msgid "Weighted rotor search" #~ msgstr "权重旋转搜索" #~ msgid "Energy" #~ msgstr "能量" #~ msgid "Constraints" #~ msgstr "约束" #~ msgid "Add Constraints" #~ msgstr "添加限制" #~ msgid "Ignore Atom" #~ msgstr "忽略原子" #~ msgid "Fix Atom" #~ msgstr "修正原子" #~ msgid "Fix Atom X" #~ msgstr "修正原子X" #~ msgid "Fix Atom Y" #~ msgstr "修正原子Y" #~ msgid "Fix Atom Z" #~ msgstr "修正原子Z" #~ msgid "Torsion angle" #~ msgstr "扭转角" #~ msgid "Constraint Value" #~ msgstr "限制阈值" #~ msgid "Atom Indices" #~ msgstr "原子索引" #~ msgid "Add" #~ msgstr "添加" #~ msgid "Save" #~ msgstr "保存" #~ msgid "Load" #~ msgstr "载入" #~ msgid "Cartesian" #~ msgstr "笛卡尔" #~ msgid "All" #~ msgstr "全部" #~ msgid "File Import..." #~ msgstr "导入文件..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "尝试检测化学键?" #~ msgid "Setup Force Field" #~ msgstr "建立力场" #~ msgid "Force Field" #~ msgstr "力场" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "步骤数" #~ msgid "Algorithm" #~ msgstr "算法" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "Sequence:" #~ msgstr "序列:" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "其它" #~ msgid "Insert Fragment..." #~ msgstr "插入片段..." #~ msgid "Peptide Builder" #~ msgstr "多肽构建器" #~ msgid "Alanine" #~ msgstr "丙氨酸" #~ msgid "Ala" #~ msgstr "Ala" #~ msgid "Arginine" #~ msgstr "精氨酸" #~ msgid "Arg" #~ msgstr "Arg" #~ msgid "Asparagine" #~ msgstr "天冬酰胺" #~ msgid "Asn" #~ msgstr "Asn" #~ msgid "Aspartic acid" #~ msgstr "天冬氨酸" #~ msgid "Asp" #~ msgstr "Asp" #~ msgid "Cysteine" #~ msgstr "半胱氨酸" #~ msgid "Cys" #~ msgstr "Cys" #~ msgid "Glutamic acid" #~ msgstr "谷氨酸" #~ msgid "Glu" #~ msgstr "Glu" #~ msgid "Glutamine" #~ msgstr "谷氨酰胺" #~ msgid "Gln" #~ msgstr "Gln" #~ msgid "Glycine" #~ msgstr "甘氨酸" #~ msgid "Gly" #~ msgstr "Gly" #~ msgid "Histidine" #~ msgstr "组氨酸" #~ msgid "His" #~ msgstr "His" #~ msgid "Isoleucine" #~ msgstr "异亮氨酸" #~ msgid "Ile" #~ msgstr "Ile" #~ msgid "Valine" #~ msgstr "缬氨酸" #~ msgid "Val" #~ msgstr "Val" #~ msgid "Tyrosine" #~ msgstr "酪氨酸" #~ msgid "Tyr" #~ msgstr "Tyr" #~ msgid "Tryptophan" #~ msgstr "色氨酸" #~ msgid "Trp" #~ msgstr "Trp" #~ msgid "Threonine" #~ msgstr "苏氨酸" #~ msgid "Thr" #~ msgstr "Thr" #~ msgid "Serine" #~ msgstr "丝氨酸" #~ msgid "Ser" #~ msgstr "Ser" #~ msgid "Proline" #~ msgstr "脯氨酸" #~ msgid "Pro" #~ msgstr "Pro" #~ msgid "Phenylalanine" #~ msgstr "苯丙氨酸" #~ msgid "Phe" #~ msgstr "Phe" #~ msgid "Methionine" #~ msgstr "甲硫氨酸" #~ msgid "Met" #~ msgstr "Met" #~ msgid "Lysine" #~ msgstr "赖氨酸" #~ msgid "Lys" #~ msgstr "Lys" #~ msgid "Leucine" #~ msgstr "亮氨酸" #~ msgid "Leu" #~ msgstr "Leu" #~ msgid "Amino Acids:" #~ msgstr "氨基酸:" #~ msgid "Sequence (N to C):" #~ msgstr "序列 (N to C):" #~ msgid "Stereochemistry:" #~ msgstr "立体化学:" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N端:" #~ msgid "C Terminus:" #~ msgstr "C端:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "直链" #~ msgid "Alpha Helix" #~ msgstr "Alpha螺旋" #~ msgid "Beta Sheet" #~ msgstr "Beta片层" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "链编号:" #~ msgid "The chain number for the new peptide" #~ msgstr "新多肽所用的链编号" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "分子属性" #~ msgid "Number of Residues:" #~ msgstr "残基的数量:" #~ msgid "Energy (kJ/mol):" #~ msgstr "能量 (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "偶极矩 (D):" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "高级" #~ msgid "Control" #~ msgstr "控制" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "数据" #~ msgid "Nothing" #~ msgstr "无" #~ msgid "Grid" #~ msgstr "网格" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray导出" #~ msgid "Select..." #~ msgstr "选择..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "使用全场景抗锯齿" #~ msgid "Antialias" #~ msgstr "抗锯齿" #~ msgid "Set the background color to be transparent" #~ msgstr "设置背景色为透明" #~ msgid "Alpha transparency" #~ msgstr "Alpha透明" #~ msgid "Command:" #~ msgstr "命令:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "使用命令行POV-Ray直接渲染分子" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "渲染完成后保留POV-Ray源文件" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "渲染后保留POV-Ray源文件" #~ msgid "Path:" #~ msgstr "路径:" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Use Form" #~ msgstr "使用表单" #~ msgid "Compute..." #~ msgstr "计算..." #~ msgid "HF" #~ msgstr "HF" #~ msgid "Basis Set:" #~ msgstr "基本集:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "Property:" #~ msgstr "属性:" #~ msgid "EFP Matches" #~ msgstr "EFP匹配" #~ msgid "Group Label:" #~ msgstr "群组标签:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "高级设置" #~ msgid "Hessian" #~ msgstr "Hessian" #~ msgid "Stat Point" #~ msgstr "起始点" #~ msgid "System" #~ msgstr "系统" #~ msgid "MO Guess" #~ msgstr "分子轨道猜测" #~ msgid "Misc" #~ msgstr "其它" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D 重原子极化函数:" #~ msgid "Read" #~ msgstr "读取" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "散射重原子的S壳层" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "散射重原子的L壳层" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "双Zeta化合价" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "三Zeta化合价" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA化合价" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt 化合价" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP 类型:" #~ msgid "Default" #~ msgstr "默认" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F 重原子极化函数:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#氢原子极化函数:" #~ msgid "Polar:" #~ msgstr "极化:" #~ msgid "Max SCF Iterations:" #~ msgstr "最大 SCF 迭代:" #~ msgid "Gradient" #~ msgstr "渐变" #~ msgid "Optimization" #~ msgstr "优化" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "马鞍点" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "渐变极值" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "能量面" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "放射性过渡力矩" #~ msgid "Spin Orbit" #~ msgstr "自旋轨道" #~ msgid "Finite Electric Field" #~ msgstr "有限电场" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "全局优化" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO 优化" #~ msgid "Raman Intensities" #~ msgstr "Raman强度" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "构建 EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "无 (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF 类型:" #~ msgid "Localization Method:" #~ msgstr "本地化方式:" #~ msgid "Exec Type:" #~ msgstr "执行类型:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinant" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "被限制占据的多重活动空间" #~ msgid "CI Singles" #~ msgstr "CI 单体" #~ msgid "Full Second Order CI" #~ msgstr "完全二级 CI" #~ msgid "General CI" #~ msgstr "通用 CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: 线性化CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: 含有Doubles的CC" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: 含有Singles和Doubles的CC" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "正常运行" #~ msgid "Check" #~ msgstr "检查" #~ msgid "Debug" #~ msgstr "调试" #~ msgid "Molecule Charge:" #~ msgstr "分子电荷:" #~ msgid "Run Type:" #~ msgstr "运行模式:" #~ msgid "Use MP2" #~ msgstr "使用 MP2" #~ msgid "Use DFT" #~ msgstr "使用 DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# 个Z-矩阵变量" #~ msgid "Ǻngstrom" #~ msgstr "埃" #~ msgid "Order of Principal Axis:" #~ msgstr "主轴级数:" #~ msgid "Coordinate Type:" #~ msgstr "坐标类型:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "独立笛卡尔坐标." #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrant internals" #~ msgid "Use Symmetry During Calculation" #~ msgstr "计算中使用对称性" #~ msgid "Point Group:" #~ msgstr "点群:" #~ msgid "Minutes" #~ msgstr "分" #~ msgid "Hours" #~ msgstr "时" #~ msgid "Days" #~ msgstr "日" #~ msgid "Weeks" #~ msgstr "周" #~ msgid "Years" #~ msgstr "年" #~ msgid "Millenia" #~ msgstr "千年" #~ msgid "MegaWords" #~ msgstr "百万词" #~ msgid "MegaBytes" #~ msgstr "兆字节" #~ msgid "Force Parallel Methods" #~ msgstr "力平行方式" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "当取消时创建\"核心\"文件" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "内存:" #~ msgid "Diagonalization Method:" #~ msgstr "可对角化方式:" #~ msgid "Parallel Load Balance Type" #~ msgstr "平行载入平衡类型" #~ msgid "Use External Data Representation for Messages" #~ msgstr "使用外部数据来表示信息" #~ msgid "Initial Guess:" #~ msgstr "初始猜测:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "H核" #~ msgid "MO Read ($VEC)" #~ msgstr "MO 读取 ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO 已保存 (DICTNRY)" #~ msgid "Skip" #~ msgstr "跳过" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "旋转Alpha和Beta轨道" #~ msgid "Print the Initial Guess" #~ msgstr "打印初始猜测" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "GAMESS界面到其它编码" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "强制检查运行类型" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (UK版)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "使用水进行溶剂化" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "Generate UHF 自然轨道" #~ msgid "Direct SCF" #~ msgstr "直接 SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "在Fock矩阵中仅计算改变项" #~ msgid "Slater exchange" #~ msgstr "Slater交换" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 交换" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) 相关" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr 相关" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater交换 + VWN相关" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE 交换 + VWN5 相关" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE 交换 + LYP 相关" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 交换" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) 交换" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: One-parameter Progressive 相关" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) 相关" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP 相关" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE 交换 + OP 相关" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL 交换 + VWN5 相关" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL 交换 + LYP 相关" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE 交换 + VWN6 相关" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE 交换 +LYP 相关" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE 交换 + OP 相关" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF and BECKE 交换 + LYP 相关" #~ msgid "Grid-Free" #~ msgstr "无网格" #~ msgid "DFT Functional:" #~ msgstr "DFT 功能性:" #~ msgid "Method:" #~ msgstr "方式:" #~ msgid "AO Integral Storage" #~ msgstr "AO 整合存储" #~ msgid "Duplicated on Each Node" #~ msgstr "在每个节点上复制" #~ msgid "Distributed Across All Nodes" #~ msgstr "穿过所有节点进行分布" #~ msgid "words" #~ msgstr "词" #~ msgid "Compute MP2 Properties" #~ msgstr "计算MP2属性" #~ msgid "Integral Retention Cutoff:" #~ msgstr "整合阻拦切断" #~ msgid "Use Localized Orbitals" #~ msgstr "使用定域轨道" #~ msgid "# of Core Electrons:" #~ msgstr "# 个核心电子:" #~ msgid "Transformation Method" #~ msgstr "变形方式" #~ msgid "Two Phase Bin Sort" #~ msgstr "两相贮存分类" #~ msgid "Segmented Transformation" #~ msgstr "片段化变形" #~ msgid "Analytic" #~ msgstr "分析" #~ msgid "Numeric" #~ msgstr "数值" #~ msgid "Double Differenced Hessian" #~ msgstr "双微分Hessian" #~ msgid "Print Internal Force Constants" #~ msgstr "打印内部力常数" #~ msgid "Displacement Size:" #~ msgstr "置换尺寸" #~ msgid "Purify Hessian" #~ msgstr "纯Hessian" #~ msgid "bohrs" #~ msgstr "玻尔" #~ msgid "Initial Hessian" #~ msgstr "初始Hessian" #~ msgid "Guess (+ define)" #~ msgstr "猜测 (+ 定义)" #~ msgid "Read (from $HESS)" #~ msgstr "读取 (从 $HESS)" #~ msgid "Update Step Size" #~ msgstr "更新步长" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "每次迭代后打印轨道" #~ msgid "Jump Size:" #~ msgstr "跳转尺度:" #~ msgid "Stationary Point" #~ msgstr "不动点" #~ msgid "Step Size" #~ msgstr "步长" #~ msgid "Maximum:" #~ msgstr "最大值:" #~ msgid "Minimum:" #~ msgstr "最小值:" #~ msgid "Initial:" #~ msgstr "初始" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "有理函数优化" #~ msgid "Quadratic Approximation" #~ msgstr "二次近似" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (类-NR)" #~ msgid "Constrained Optimization" #~ msgstr "限制性优化" #~ msgid "Recalculate Hessian Every:" #~ msgstr "重新计算Hessian在每:" #~ msgid "Follow Mode:" #~ msgstr "跟随模式:" #~ msgid "Maximum Steps:" #~ msgstr "最大步数:" #~ msgid "Basis:" #~ msgstr "基准:" #~ msgid "Z-matrix" #~ msgstr "Z-矩阵" #~ msgid "Gaussian Input" #~ msgstr "Gaussian输入" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "标准" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "检查点:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-矩阵 (致密的)" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO输入" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "MOPAC Input" #~ msgstr "MOPAC输入" #~ msgid "Quartet" #~ msgstr "四重" #~ msgid "Quintet" #~ msgstr "五重" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem输入" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem导入" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "载入着色器" #~ msgid "Shader Name:" #~ msgstr "着色器名称:" #~ msgid "Vertex Shader:" #~ msgstr "顶点着色器:" #~ msgid "Fragment Shader:" #~ msgstr "片段着色器:" #~ msgid "Assign Shader" #~ msgstr "指定着色器" #~ msgid "Display Type:" #~ msgstr "显示模式:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "控制:\n" #~ "双击左键: 恢复默认坐标轴范围\n" #~ "右击+拖动: 移动绘图\n" #~ "中击+拖动: 缩放到区域\n" #~ "滚轮: 按光标缩放" #~ msgid "&Load data..." #~ msgstr "载入数据(&L)..." #~ msgid "&Close" #~ msgstr "关闭(&C)" #~ msgid "Calculated Spectra:" #~ msgstr "计算光谱:" #~ msgid "Set Color..." #~ msgstr "设置颜色..." #~ msgid "Imported Spectra:" #~ msgstr "导入光谱:" #~ msgid "Font:" #~ msgstr "字体:" #~ msgid "Change Font..." #~ msgstr "更换字体..." #~ msgid "Show" #~ msgstr "显示" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "导入一个实验光谱的tsv文件以覆盖当前绘图。" #~ msgid "&Import..." #~ msgstr "导入(&I)..." #~ msgid "Background:" #~ msgstr "背景:" #~ msgid "Foreground:" #~ msgstr "前景:" #~ msgid "New..." #~ msgstr "新建..." #~ msgid "Rename..." #~ msgstr "改名..." #~ msgid "&Schemes:" #~ msgstr "原理图(&S):" #~ msgid "&Export..." #~ msgstr "导出(&E)..." #~ msgid "&DPI:" #~ msgstr "&DPI:" #~ msgid "&Width:" #~ msgstr "宽度(&W):" #~ msgid "&Height" #~ msgstr "高度(&H)" #~ msgid "cm" #~ msgstr "厘米" #~ msgid "mm" #~ msgstr "毫米" #~ msgid "in" #~ msgstr "英寸" #~ msgid "px" #~ msgstr "点" #~ msgid "&Save Image..." #~ msgstr "保存图像(&S)..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "" #~ "使用优化的字体大小而非原理图定义的值(屏幕与图像点大小将不能很好地转换!)" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "自动调整字体大小(&O)" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "导出数据" #~ msgid "&Gaussian Width:" #~ msgstr "高斯宽度(&G):" #~ msgid "&Label peaks" #~ msgstr "标记谱峰(&L)" #~ msgid "&Y Axis Units:" #~ msgstr "&Y轴单位:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "原子核:" #~ msgid "&Reference:" #~ msgstr "参考(&R):" #~ msgid "Gaussian &Width:" #~ msgstr "高斯宽度(&W):" #~ msgid "Reset &Plot Axes" #~ msgstr "重设坐标轴(&P)" #~ msgid "Label Peaks:" #~ msgstr "标记谱峰:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "分子振动" #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "高振动频率会显示更快的运动" #~ msgid "Animation speed set by frequency" #~ msgstr "动画速度为频率所设置" #~ msgid "Display force &vectors" #~ msgstr "显示力矢量(&V)" #~ msgid "Generate Cell" #~ msgstr "生成晶胞" #~ msgid "Create Surfaces" #~ msgstr "创建表面" #~ msgid "Surface Type:" #~ msgstr "表面类型:" #~ msgid "Color By:" #~ msgstr "着色按:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "低" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "中" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "高" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "非常高" #~ msgid "Iso Value:" #~ msgstr "Iso值:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "在显示模式:" #~ msgid "New Display" #~ msgstr "新建显示" #~ msgid "Advanced..." #~ msgstr "高级..." #~ msgid "X (Å)" #~ msgstr "X (Å)" #~ msgid "Y (Å)" #~ msgstr "Y (Å)" #~ msgid "Z (Å)" #~ msgstr "Z (Å)" #~ msgid "Python Settings" #~ msgstr "Python设置" #~ msgid "Z Matrix Editor" #~ msgstr "Z矩阵编辑器" #~ msgid "Import Selected Atoms" #~ msgstr "导入选择的原子" avogadrolibs-1.93.0/i18n/zh_TW.po000066400000000000000000005630321360735163600164550ustar00rootroot00000000000000# Traditional Chinese translation for avogadro # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the avogadro package. # FIRST AUTHOR , 2008. # msgid "" msgstr "" "Project-Id-Version: avogadro\n" "Report-Msgid-Bugs-To: avogadro-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2018-04-13 12:05-0400\n" "PO-Revision-Date: 2016-06-10 06:36+0000\n" "Last-Translator: iychiang \n" "Language-Team: Traditional Chinese \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2018-04-13 16:02+0000\n" "X-Generator: Launchpad (build 18609)\n" #: molequeue/batchjob.cpp:84 #, qt-format msgid "Batch Job #%L1 (%2)" msgstr "" #: molequeue/inputgenerator.cpp:81 qtgui/interfacescript.cpp:85 #, qt-format msgid "" "script --print-options output must be an JSON object at top level. " "Received:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:187 qtgui/interfacescript.cpp:204 #: qtgui/interfacescript.cpp:277 msgid "Non-string warning returned." msgstr "" #: molequeue/inputgenerator.cpp:190 qtgui/interfacescript.cpp:207 #: qtgui/interfacescript.cpp:280 msgid "'warnings' member is not an array." msgstr "" #: molequeue/inputgenerator.cpp:210 qtgui/interfacescript.cpp:300 #, qt-format msgid "Reference file '%1' does not exist." msgstr "" #: molequeue/inputgenerator.cpp:212 qtgui/interfacescript.cpp:302 #, qt-format msgid "Error populating file %1: %2" msgstr "" #: molequeue/inputgenerator.cpp:216 qtgui/interfacescript.cpp:306 #, qt-format msgid "" "File '%1' poorly formed. Missing string 'contents' or 'filePath' members." msgstr "" #: molequeue/inputgenerator.cpp:248 qtgui/interfacescript.cpp:338 #, qt-format msgid "" "Malformed file entry: filename/contents missing or not strings:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:254 qtgui/interfacescript.cpp:344 #, qt-format msgid "Malformed file entry at index %1: Not an object." msgstr "" #: molequeue/inputgenerator.cpp:260 qtgui/interfacescript.cpp:350 msgid "'files' member not an array." msgstr "" #: molequeue/inputgenerator.cpp:264 qtgui/interfacescript.cpp:354 msgid "'files' member missing." msgstr "" #: molequeue/inputgenerator.cpp:275 qtgui/interfacescript.cpp:365 msgid "'mainFile' member does not refer to an entry in 'files'." msgstr "" #: molequeue/inputgenerator.cpp:280 qtgui/interfacescript.cpp:370 msgid "'mainFile' member must be a string." msgstr "" #: molequeue/inputgenerator.cpp:291 qtgui/interfacescript.cpp:381 msgid "Response must be a JSON object at top-level." msgstr "" #: molequeue/inputgenerator.cpp:295 qtgui/interfacescript.cpp:385 #, qt-format msgid "" "Script output:\n" "%1" msgstr "" #: molequeue/inputgenerator.cpp:338 qtgui/interfacescript.cpp:429 #, qt-format msgid "" "Parse error at offset %L1: '%2'\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:362 qtgui/interfacescript.cpp:453 #, qt-format msgid "" "Error writing molecule representation to string: Unrecognized file format: %1" msgstr "" #: molequeue/inputgenerator.cpp:370 qtgui/interfacescript.cpp:461 #, qt-format msgid "Error writing molecule representation to string: %1" msgstr "" #: molequeue/inputgenerator.cpp:382 qtgui/interfacescript.cpp:473 #, qt-format msgid "" "Error generating cjson object: Parse error at offset %1: %2\n" "Raw JSON:\n" "\n" "%3" msgstr "" #: molequeue/inputgenerator.cpp:391 qtgui/interfacescript.cpp:482 #, qt-format msgid "" "Error generator cjson object: Parsed JSON is not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratordialog.cpp:53 #, fuzzy msgid "Input Generator (error)" msgstr "匯入產生器..." #: molequeue/inputgeneratordialog.cpp:55 #, fuzzy, qt-format msgid "%1 Input Generator" msgstr "匯入產生器..." #: molequeue/inputgeneratorwidget.cpp:129 msgid "Continue" msgstr "繼續" #. i18n: file: molequeue/inputgeneratorwidget.ui:127 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:184 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:302 #. i18n: ectx: property (text), widget (QPushButton, closeButton) #: molequeue/inputgeneratorwidget.cpp:129 qtgui/containerwidget.cpp:45 msgid "Close" msgstr "關閉" #: molequeue/inputgeneratorwidget.cpp:170 qtgui/elementtranslator.cpp:387 msgid "Unknown" msgstr "未知" #: molequeue/inputgeneratorwidget.cpp:171 #, qt-format, qt-plural-format msgctxt "" msgid "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgid_plural "" "The following file(s) have been modified:\n" "\n" "%1\n" "\n" "Would you like to overwrite your changes to reflect the new geometry or job " "options?" msgstr[0] "" msgstr[1] "" #: molequeue/inputgeneratorwidget.cpp:177 msgid "Overwrite modified input files?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:203 msgid "Problems occured during input generation:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:292 msgid "No input files to save!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:300 #: molequeue/inputgeneratorwidget.cpp:618 molequeue/molequeuewidget.cpp:84 #: qtplugins/gamessinput/gamessinputdialog.cpp:697 msgid "Cannot connect to MoleQueue" msgstr "" #: molequeue/inputgeneratorwidget.cpp:301 #: molequeue/inputgeneratorwidget.cpp:619 molequeue/molequeuewidget.cpp:85 #: qtplugins/gamessinput/gamessinputdialog.cpp:698 msgid "" "Cannot connect to MoleQueue server. Please ensure that it is running and try " "again." msgstr "" #: molequeue/inputgeneratorwidget.cpp:333 #, fuzzy, qt-format msgid "Submit %1 Calculation" msgstr "停止計算" #: molequeue/inputgeneratorwidget.cpp:349 #: qtplugins/gamessinput/gamessinputdialog.cpp:734 msgid "Job Failed" msgstr "" #: molequeue/inputgeneratorwidget.cpp:350 #: qtplugins/gamessinput/gamessinputdialog.cpp:735 msgid "The job did not complete successfully." msgstr "" #: molequeue/inputgeneratorwidget.cpp:367 qtgui/interfacewidget.cpp:80 msgid "Script returns warnings:\n" msgstr "" #: molequeue/inputgeneratorwidget.cpp:384 #, fuzzy msgid "Hide &Warnings" msgstr "警告" #: molequeue/inputgeneratorwidget.cpp:390 #, fuzzy msgid "Show &Warnings" msgstr "警告" #: molequeue/inputgeneratorwidget.cpp:407 qtgui/interfacewidget.cpp:96 msgid "An error has occurred:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:458 #, fuzzy msgid "Select output filename" msgstr "選擇溶劑" #: molequeue/inputgeneratorwidget.cpp:473 #, qt-format msgid "%1: File exists and is not writable." msgstr "" #: molequeue/inputgeneratorwidget.cpp:479 #, qt-format msgid "Internal error: could not find text widget for filename '%1'" msgstr "" #: molequeue/inputgeneratorwidget.cpp:495 #: molequeue/inputgeneratorwidget.cpp:606 #: qtplugins/gamessinput/gamessinputdialog.cpp:687 #, fuzzy msgid "Output Error" msgstr "輸出:" #: molequeue/inputgeneratorwidget.cpp:496 #: molequeue/inputgeneratorwidget.cpp:607 #: qtplugins/gamessinput/gamessinputdialog.cpp:688 #, fuzzy, qt-format msgid "Failed to write to file %1." msgstr "無法寫到檔案." #: molequeue/inputgeneratorwidget.cpp:507 msgid "Select output directory" msgstr "" #: molequeue/inputgeneratorwidget.cpp:524 #, qt-format msgid "%1: Directory does not exist!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:530 #, qt-format msgid "%1: Directory cannot be read!" msgstr "" #: molequeue/inputgeneratorwidget.cpp:540 #, fuzzy, qt-format msgid "%1: File will be overwritten." msgstr "沒有寫入影片檔" #: molequeue/inputgeneratorwidget.cpp:545 #, fuzzy, qt-format msgid "%1: File is not writable." msgstr "沒有寫入影片檔" #: molequeue/inputgeneratorwidget.cpp:558 msgid "The input files cannot be written due to an unknown error." msgstr "" #: molequeue/inputgeneratorwidget.cpp:562 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:571 #, qt-format msgid "" "The input files cannot be written:\n" "\n" "%1\n" "\n" "Warnings:\n" "\n" "%2" msgstr "" #: molequeue/inputgeneratorwidget.cpp:582 #, qt-format msgid "" "Warning:\n" "\n" "%1\n" "\n" "Would you like to continue?" msgstr "" #: molequeue/inputgeneratorwidget.cpp:586 msgid "Write input files" msgstr "" #: molequeue/inputgeneratorwidget.cpp:633 #, fuzzy msgid "Configure Job" msgstr "設定" #: molequeue/inputgeneratorwidget.cpp:658 qtgui/interfacewidget.cpp:125 msgid "'userOptions' missing, or not an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:665 qtgui/interfacewidget.cpp:132 #, qt-format msgid "Option '%1' not found in userOptions." msgstr "" #: molequeue/inputgeneratorwidget.cpp:670 qtgui/interfacewidget.cpp:137 #, qt-format msgid "Option '%1' does not refer to an object." msgstr "" #: molequeue/inputgeneratorwidget.cpp:677 qtgui/interfacewidget.cpp:144 #, qt-format msgid "'type' is not a string for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:708 #: molequeue/inputgeneratorwidget.cpp:935 qtgui/interfacewidget.cpp:168 #: qtgui/interfacewidget.cpp:413 #, qt-format msgid "" "'userOptions' missing, or not an object:\n" "%1" msgstr "" #: molequeue/inputgeneratorwidget.cpp:717 qtgui/interfacewidget.cpp:177 msgid "Title" msgstr "標題" #: molequeue/inputgeneratorwidget.cpp:721 qtgui/interfacewidget.cpp:181 #, fuzzy msgid "Filename Base" msgstr "檔名:" #: molequeue/inputgeneratorwidget.cpp:725 qtgui/interfacewidget.cpp:185 #, fuzzy msgid "Processor Cores" msgstr "處理器:" #: molequeue/inputgeneratorwidget.cpp:729 qtgui/interfacewidget.cpp:189 #, fuzzy msgid "Calculation Type" msgstr "計算:" #: molequeue/inputgeneratorwidget.cpp:750 qtgui/interfacewidget.cpp:210 msgid "Theory:" msgstr "理論:" #: molequeue/inputgeneratorwidget.cpp:753 qtgui/interfacewidget.cpp:213 #, fuzzy msgid "Theory" msgstr "理論:" #: molequeue/inputgeneratorwidget.cpp:755 qtgui/interfacewidget.cpp:215 msgid "Basis" msgstr "Basis" #: molequeue/inputgeneratorwidget.cpp:760 qtgui/interfacewidget.cpp:220 msgid "Charge" msgstr "" #: molequeue/inputgeneratorwidget.cpp:762 qtgui/interfacewidget.cpp:222 msgid "Multiplicity" msgstr "" #: molequeue/inputgeneratorwidget.cpp:949 qtgui/interfacewidget.cpp:427 #, qt-format msgid "Error: value must be object for key '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:957 qtgui/interfacewidget.cpp:435 #, qt-format msgid "Default value missing for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:978 qtgui/interfacewidget.cpp:458 #, qt-format msgid "Unrecognized option type '%1' for option '%2'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:987 #: molequeue/inputgeneratorwidget.cpp:1024 #: molequeue/inputgeneratorwidget.cpp:1047 #: molequeue/inputgeneratorwidget.cpp:1069 #: molequeue/inputgeneratorwidget.cpp:1093 qtgui/interfacewidget.cpp:467 #: qtgui/interfacewidget.cpp:504 qtgui/interfacewidget.cpp:527 #: qtgui/interfacewidget.cpp:549 qtgui/interfacewidget.cpp:573 #: qtgui/interfacewidget.cpp:596 #, qt-format msgid "Error setting default for option '%1'. Bad widget type." msgstr "" #: molequeue/inputgeneratorwidget.cpp:994 #: molequeue/inputgeneratorwidget.cpp:1031 #: molequeue/inputgeneratorwidget.cpp:1054 #: molequeue/inputgeneratorwidget.cpp:1076 #: molequeue/inputgeneratorwidget.cpp:1100 qtgui/interfacewidget.cpp:474 #: qtgui/interfacewidget.cpp:511 qtgui/interfacewidget.cpp:534 #: qtgui/interfacewidget.cpp:556 qtgui/interfacewidget.cpp:580 #: qtgui/interfacewidget.cpp:603 #, qt-format msgid "Error setting default for option '%1'. Bad default value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1008 qtgui/interfacewidget.cpp:488 #, qt-format msgid "" "Error setting default for option '%1'. Could not find valid combo entry " "index from value:" msgstr "" #: molequeue/inputgeneratorwidget.cpp:1160 qtgui/interfacewidget.cpp:665 #, qt-format msgid "Unhandled widget in collectOptions for option '%1'." msgstr "" #: molequeue/inputgeneratorwidget.cpp:1202 qtgui/interfacewidget.cpp:699 #: qtplugins/gamessinput/gamessinputdialog.cpp:407 #, fuzzy msgid "[no molecule]" msgstr "沒有設定分子" #: molequeue/molequeuedialog.cpp:73 msgid "Submitting job to MoleQueue..." msgstr "" #: molequeue/molequeuedialog.cpp:82 msgid "Job Submission Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:83 msgid "Avogadro timed out waiting for a reply from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:99 #, qt-format msgid "Waiting for job %1 '%2' to finish..." msgstr "" #: molequeue/molequeuedialog.cpp:102 #, fuzzy msgid "Stop waiting" msgstr "停止動畫" #: molequeue/molequeuedialog.cpp:121 msgid "Fetching completed job information..." msgstr "" #: molequeue/molequeuedialog.cpp:133 msgid "Job Retrieval Timeout" msgstr "" #: molequeue/molequeuedialog.cpp:134 msgid "Avogadro timed out waiting for the finished job details from MoleQueue." msgstr "" #: molequeue/molequeuedialog.cpp:143 msgid "Error Submitting Job" msgstr "" #: molequeue/molequeuedialog.cpp:144 #, qt-format msgid "The job has been rejected by MoleQueue: %1" msgstr "" #: molequeue/molequeuedialog.cpp:211 molequeue/molequeuewidget.cpp:156 #, fuzzy msgid "No program selected." msgstr "沒有選擇原子:" #: molequeue/molequeuedialog.cpp:212 molequeue/molequeuewidget.cpp:157 msgid "Please select the target program from the \"Queue and Program\" list." msgstr "" #: molequeue/molequeuewidget.cpp:112 msgid "Client failed to submit job to MoleQueue." msgstr "" #: molequeue/molequeuewidget.cpp:165 msgid "Internal error." msgstr "" #: molequeue/molequeuewidget.cpp:166 msgid "Unable to resolve program selection. This is a bug." msgstr "" #: qtgui/containerwidget.cpp:39 msgid "Split Horizontal" msgstr "" #: qtgui/containerwidget.cpp:42 msgid "Split Vertical" msgstr "" #: qtgui/elementtranslator.cpp:32 msgid "Hydrogen" msgstr "Hydrogen (氫)" #: qtgui/elementtranslator.cpp:35 msgid "Helium" msgstr "Helium (氦)" #: qtgui/elementtranslator.cpp:38 msgid "Lithium" msgstr "Lithium (鋰)" #: qtgui/elementtranslator.cpp:41 msgid "Beryllium" msgstr "Beryllium (鈹)" #: qtgui/elementtranslator.cpp:44 msgid "Boron" msgstr "Boron (硼)" #: qtgui/elementtranslator.cpp:47 msgid "Carbon" msgstr "Carbon (碳)" #: qtgui/elementtranslator.cpp:50 msgid "Nitrogen" msgstr "Nitrogen (氮)" #: qtgui/elementtranslator.cpp:53 msgid "Oxygen" msgstr "Oxygen (氧)" #: qtgui/elementtranslator.cpp:56 msgid "Fluorine" msgstr "Fluorine (氟)" #: qtgui/elementtranslator.cpp:59 msgid "Neon" msgstr "Neon (氖)" #: qtgui/elementtranslator.cpp:62 msgid "Sodium" msgstr "Sodium (鈉)" #: qtgui/elementtranslator.cpp:65 msgid "Magnesium" msgstr "Magnesium (鎂)" #: qtgui/elementtranslator.cpp:68 msgid "Aluminum" msgstr "Aluminum (鋁)" #: qtgui/elementtranslator.cpp:71 msgid "Silicon" msgstr "Silicon (矽)" #: qtgui/elementtranslator.cpp:74 msgid "Phosphorus" msgstr "Phosphorus (磷)" #: qtgui/elementtranslator.cpp:77 msgid "Sulfur" msgstr "Sulfur (硫)" #: qtgui/elementtranslator.cpp:80 msgid "Chlorine" msgstr "Chlorine (氯)" #: qtgui/elementtranslator.cpp:83 msgid "Argon" msgstr "Argon (氬)" #: qtgui/elementtranslator.cpp:86 msgid "Potassium" msgstr "Potassium (鉀)" #: qtgui/elementtranslator.cpp:89 msgid "Calcium" msgstr "Calcium (鈣)" #: qtgui/elementtranslator.cpp:92 msgid "Scandium" msgstr "Scandium (鈧)" #: qtgui/elementtranslator.cpp:95 msgid "Titanium" msgstr "Titanium (鈦)" #: qtgui/elementtranslator.cpp:98 msgid "Vanadium" msgstr "Vanadium (釩)" #: qtgui/elementtranslator.cpp:101 msgid "Chromium" msgstr "Chromium (鉻)" #: qtgui/elementtranslator.cpp:104 msgid "Manganese" msgstr "Manganese (錳)" #: qtgui/elementtranslator.cpp:107 msgid "Iron" msgstr "Iron (鐵)" #: qtgui/elementtranslator.cpp:110 msgid "Cobalt" msgstr "Cobalt (鈷)" #: qtgui/elementtranslator.cpp:113 msgid "Nickel" msgstr "Nickel (鎳)" #: qtgui/elementtranslator.cpp:116 msgid "Copper" msgstr "Copper (銅)" #: qtgui/elementtranslator.cpp:119 msgid "Zinc" msgstr "Zinc (鋅)" #: qtgui/elementtranslator.cpp:122 msgid "Gallium" msgstr "Gallium (鎵)" #: qtgui/elementtranslator.cpp:125 msgid "Germanium" msgstr "Germanium (鍺)" #: qtgui/elementtranslator.cpp:128 msgid "Arsenic" msgstr "Arsenic (砷)" #: qtgui/elementtranslator.cpp:131 msgid "Selenium" msgstr "Selenium (硒)" #: qtgui/elementtranslator.cpp:134 msgid "Bromine" msgstr "Bromine (溴)" #: qtgui/elementtranslator.cpp:137 msgid "Krypton" msgstr "Krypton (氪)" #: qtgui/elementtranslator.cpp:140 msgid "Rubidium" msgstr "Rubidium (銣)" #: qtgui/elementtranslator.cpp:143 msgid "Strontium" msgstr "Strontium (鍶)" #: qtgui/elementtranslator.cpp:146 msgid "Yttrium" msgstr "Yttrium (釔)" #: qtgui/elementtranslator.cpp:149 msgid "Zirconium" msgstr "Zirconium (鋯)" #: qtgui/elementtranslator.cpp:152 msgid "Niobium" msgstr "Niobium (鈮)" #: qtgui/elementtranslator.cpp:155 msgid "Molybdenum" msgstr "Molybdenum (鉬)" #: qtgui/elementtranslator.cpp:158 msgid "Technetium" msgstr "Technetium (鎝)" #: qtgui/elementtranslator.cpp:161 msgid "Ruthenium" msgstr "Ruthenium (釕)" #: qtgui/elementtranslator.cpp:164 msgid "Rhodium" msgstr "Rhodium (銠)" #: qtgui/elementtranslator.cpp:167 msgid "Palladium" msgstr "Palladium (鈀)" #: qtgui/elementtranslator.cpp:170 msgid "Silver" msgstr "Silver (銀)" #: qtgui/elementtranslator.cpp:173 msgid "Cadmium" msgstr "Cadmium (鎘)" #: qtgui/elementtranslator.cpp:176 msgid "Indium" msgstr "Indium (銦)" #: qtgui/elementtranslator.cpp:179 msgid "Tin" msgstr "Tin (錫)" #: qtgui/elementtranslator.cpp:182 msgid "Antimony" msgstr "(銻)" #: qtgui/elementtranslator.cpp:185 msgid "Tellurium" msgstr "Tellurium (碲)" #: qtgui/elementtranslator.cpp:188 msgid "Iodine" msgstr "Iodine (碘)" #: qtgui/elementtranslator.cpp:191 msgid "Xenon" msgstr "Xenon (氙)" #: qtgui/elementtranslator.cpp:194 msgid "Cesium" msgstr "Cesium 銫" #: qtgui/elementtranslator.cpp:197 msgid "Barium" msgstr "Barium (鋇)" #: qtgui/elementtranslator.cpp:200 msgid "Lanthanum" msgstr "Lantanum (鑭)" #: qtgui/elementtranslator.cpp:203 msgid "Cerium" msgstr "Cerium (鈰)" #: qtgui/elementtranslator.cpp:206 msgid "Praseodymium" msgstr "Praseodymium (鐠)" #: qtgui/elementtranslator.cpp:209 msgid "Neodymium" msgstr "Neodymium (釹)" #: qtgui/elementtranslator.cpp:212 msgid "Promethium" msgstr "Promethium (鉕)" #: qtgui/elementtranslator.cpp:215 msgid "Samarium" msgstr "Samarium (釤)" #: qtgui/elementtranslator.cpp:218 msgid "Europium" msgstr "Europium (銪)" #: qtgui/elementtranslator.cpp:221 msgid "Gadolinium" msgstr "Gadolinium (釓)" #: qtgui/elementtranslator.cpp:224 msgid "Terbium" msgstr "Terbium (鋱)" #: qtgui/elementtranslator.cpp:227 msgid "Dysprosium" msgstr "Dysprosium (鏑)" #: qtgui/elementtranslator.cpp:230 msgid "Holmium" msgstr "Holmium (鈥)" #: qtgui/elementtranslator.cpp:233 msgid "Erbium" msgstr "Erbium (鉺)" #: qtgui/elementtranslator.cpp:236 msgid "Thulium" msgstr "Thulium (銩)" #: qtgui/elementtranslator.cpp:239 msgid "Ytterbium" msgstr "Ytterbium (鐿)" #: qtgui/elementtranslator.cpp:242 msgid "Lutetium" msgstr "Lutetium (鎦)" #: qtgui/elementtranslator.cpp:245 msgid "Hafnium" msgstr "Hafnium (鉿)" #: qtgui/elementtranslator.cpp:248 msgid "Tantalum" msgstr "Tantalum (鉭)" #: qtgui/elementtranslator.cpp:251 msgid "Tungsten" msgstr "Tungsten (鎢)" #: qtgui/elementtranslator.cpp:254 msgid "Rhenium" msgstr "Rhenium (錸)" #: qtgui/elementtranslator.cpp:257 msgid "Osmium" msgstr "Osmium (鋨)" #: qtgui/elementtranslator.cpp:260 msgid "Iridium" msgstr "Iridium (銥)" #: qtgui/elementtranslator.cpp:263 msgid "Platinum" msgstr "Platinum (鉑)" #: qtgui/elementtranslator.cpp:266 msgid "Gold" msgstr "Gold (金)" #: qtgui/elementtranslator.cpp:269 msgid "Mercury" msgstr "Mercury (汞)" #: qtgui/elementtranslator.cpp:272 msgid "Thallium" msgstr "Thallium (鉈)" #: qtgui/elementtranslator.cpp:275 msgid "Lead" msgstr "Lead (鉛)" #: qtgui/elementtranslator.cpp:278 msgid "Bismuth" msgstr "Bismuth (鉍)" #: qtgui/elementtranslator.cpp:281 msgid "Polonium" msgstr "Polonium (釙)" #: qtgui/elementtranslator.cpp:284 msgid "Astatine" msgstr "Astatine (砈)" #: qtgui/elementtranslator.cpp:287 msgid "Radon" msgstr "Radon (氡)" #: qtgui/elementtranslator.cpp:290 msgid "Francium" msgstr "Francium (鍅)" #: qtgui/elementtranslator.cpp:293 msgid "Radium" msgstr "Radium (鐳)" #: qtgui/elementtranslator.cpp:296 msgid "Actinium" msgstr "Actinium (錒)" #: qtgui/elementtranslator.cpp:299 msgid "Thorium" msgstr "Thorium (釷)" #: qtgui/elementtranslator.cpp:302 msgid "Protactinium" msgstr "Protactinium (鏷)" #: qtgui/elementtranslator.cpp:305 msgid "Uranium" msgstr "Uranium (鈾)" #: qtgui/elementtranslator.cpp:308 msgid "Neptunium" msgstr "Neptunium (錼)" #: qtgui/elementtranslator.cpp:311 msgid "Plutonium" msgstr "Plutonium (鈽)" #: qtgui/elementtranslator.cpp:314 msgid "Americium" msgstr "Americium (鋂)" #: qtgui/elementtranslator.cpp:317 msgid "Curium" msgstr "Curium (鋦)" #: qtgui/elementtranslator.cpp:320 msgid "Berkelium" msgstr "Berkelium (鉳)" #: qtgui/elementtranslator.cpp:323 msgid "Californium" msgstr "Californium (鉲)" #: qtgui/elementtranslator.cpp:326 msgid "Einsteinium" msgstr "Eisteinium (鑀)" #: qtgui/elementtranslator.cpp:329 msgid "Fermium" msgstr "Fermium (鐨)" #: qtgui/elementtranslator.cpp:332 msgid "Mendelevium" msgstr "Mendelevium (鍆)" #: qtgui/elementtranslator.cpp:335 msgid "Nobelium" msgstr "Nobelium (鍩)" #: qtgui/elementtranslator.cpp:338 msgid "Lawrencium" msgstr "Lawrencium (鐒)" #: qtgui/elementtranslator.cpp:341 msgid "Rutherfordium" msgstr "Rutherfordium (鑪)" #: qtgui/elementtranslator.cpp:344 msgid "Dubnium" msgstr "Dubnium (𨧀)" #: qtgui/elementtranslator.cpp:347 msgid "Seaborgium" msgstr "Seaborgium (金希)" #: qtgui/elementtranslator.cpp:350 msgid "Bohrium" msgstr "bohrium (𨨏)" #: qtgui/elementtranslator.cpp:353 msgid "Hassium" msgstr "Hassium (𨭆)" #: qtgui/elementtranslator.cpp:356 msgid "Meitnerium" msgstr "Meitnerium (䥑)" #: qtgui/elementtranslator.cpp:359 msgid "Darmstadtium" msgstr "Darmstadtium (鐽)" #: qtgui/elementtranslator.cpp:362 msgid "Roentgenium" msgstr "Roentgenium (錀)" #: qtgui/elementtranslator.cpp:365 msgid "Copernicium" msgstr "Copernicium 鎶" #: qtgui/elementtranslator.cpp:368 #, fuzzy msgid "Nihonium" msgstr "Zirconium (鋯)" #: qtgui/elementtranslator.cpp:371 msgid "Flerovium" msgstr "" #: qtgui/elementtranslator.cpp:374 msgid "Moscovium" msgstr "" #: qtgui/elementtranslator.cpp:377 msgid "Livermorium" msgstr "" #: qtgui/elementtranslator.cpp:380 msgid "Tennessine" msgstr "" #: qtgui/elementtranslator.cpp:383 msgid "Oganesson" msgstr "" #: qtgui/filebrowsewidget.cpp:36 #, fuzzy msgid "Browse" msgstr "瀏覽..." #: qtgui/filebrowsewidget.cpp:111 #, fuzzy msgid "Select file:" msgstr "選擇溶劑" #: qtgui/filebrowsewidget.cpp:114 #, fuzzy msgid "Select executable:" msgstr "刪除所選取項目" #: qtgui/fileformatdialog.cpp:66 msgid "Unable to find a suitable file reader for the selected file." msgstr "" #: qtgui/fileformatdialog.cpp:108 msgid "Unable to find a suitable file writer for the selected format." msgstr "" #: qtgui/fileformatdialog.cpp:155 #, fuzzy msgctxt "File handlers" msgid "handlers" msgstr "McLean/Chandler" #: qtgui/fileformatdialog.cpp:156 msgctxt "e.g. file handlers that can 'handle' this file." msgid "handle" msgstr "" #: qtgui/fileformatdialog.cpp:160 msgctxt "File readers" msgid "readers" msgstr "" #: qtgui/fileformatdialog.cpp:161 msgctxt "e.g. file readers that can 'read' this file." msgid "read" msgstr "" #: qtgui/fileformatdialog.cpp:165 msgctxt "File writers" msgid "writers" msgstr "" #: qtgui/fileformatdialog.cpp:166 msgctxt "e.g. file writers that can 'write' this file." msgid "write" msgstr "" #: qtgui/fileformatdialog.cpp:171 #, qt-format msgid "Multiple %1 found that can %2 this format. Which should be used?" msgstr "" #: qtgui/fileformatdialog.cpp:257 #, fuzzy msgid "All files (*);;" msgstr "所有檔案" #: qtgui/fileformatdialog.cpp:261 #, qt-format msgid "All supported formats (%1);;" msgstr "" #: qtgui/moleculemodel.cpp:105 #, fuzzy msgid "Untitled" msgstr "未命名" #: qtgui/multiviewwidget.cpp:199 msgid "Create a new view" msgstr "" #: qtgui/periodictableview.cpp:44 msgid "Periodic Table" msgstr "週期表" #: qtgui/pythonscript.cpp:85 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for start (%3)." msgstr "" #: qtgui/pythonscript.cpp:94 #, qt-format msgid "" "Error running script '%1 %2': failed to write to stdin (len=%3, wrote %4 " "bytes, QProcess error: %5)." msgstr "" #: qtgui/pythonscript.cpp:107 #, qt-format msgid "Error running script '%1 %2': Timed out waiting for finish (%3)." msgstr "" #: qtgui/pythonscript.cpp:115 #, qt-format msgid "" "Error running script '%1 %2': Abnormal exit status %3 (%4: %5)\n" "\n" "Output:\n" "%6" msgstr "" #: qtgui/pythonscript.cpp:139 #, fuzzy msgid "Script failed to start." msgstr "無法啟動 G03" #: qtgui/pythonscript.cpp:142 #, fuzzy msgid "Script crashed." msgstr "程式語法" #: qtgui/pythonscript.cpp:145 msgid "Script timed out." msgstr "" #: qtgui/pythonscript.cpp:148 #, fuzzy msgid "Read error." msgstr "OpenGL 錯誤" #: qtgui/pythonscript.cpp:151 msgid "Write error." msgstr "" #: qtgui/pythonscript.cpp:155 #, fuzzy msgid "Unknown error." msgstr "未知" #: qtgui/rwmolecule.cpp:48 #, fuzzy msgid "Modify Molecule" msgstr "分子" #: qtgui/rwmolecule.cpp:154 qtgui/rwmolecule.cpp:163 msgid "Add Atom" msgstr "新增原子" #: qtgui/rwmolecule.cpp:276 qtgui/rwmolecule.cpp:291 #: qtplugins/editor/editor.cpp:131 msgid "Remove Atom" msgstr "移除原子" #: qtgui/rwmolecule.cpp:301 #, fuzzy msgid "Clear Atoms" msgstr "全部清除" #. i18n: file: qtplugins/editor/editortoolwidget.ui:43 #. i18n: ectx: property (text), widget (QCheckBox, adjustHydrogens) #: qtgui/rwmolecule.cpp:313 qtgui/rwmolecule.cpp:321:345 msgid "Adjust Hydrogens" msgstr "自動加上氫原子" #: qtgui/rwmolecule.cpp:356 #, fuzzy msgid "Change Elements" msgstr "變更元素" #: qtgui/rwmolecule.cpp:390 msgid "Change Element" msgstr "變更元素" #: qtgui/rwmolecule.cpp:567 msgid "Change Atom Hybridization" msgstr "" #: qtgui/rwmolecule.cpp:600 #, fuzzy msgid "Change Atom Formal Charge" msgstr "形式電荷" #: qtgui/rwmolecule.cpp:663 msgid "Add Bond" msgstr "新增鍵" #: qtgui/rwmolecule.cpp:751 #, fuzzy msgid "Removed Bond" msgstr "移除原子" #: qtgui/rwmolecule.cpp:758 #, fuzzy msgid "Clear Bonds" msgstr "刪除鍵" #: qtgui/rwmolecule.cpp:793 #, fuzzy msgid "Set Bond Orders" msgstr "鍵的級數" #: qtgui/rwmolecule.cpp:838 msgid "Change Bond Order" msgstr "改變鍵級" #: qtgui/rwmolecule.cpp:882 #, fuzzy msgid "Update Bonds" msgstr " 貼近鍵" #: qtgui/rwmolecule.cpp:922 #, fuzzy msgid "Update Bond" msgstr "刪除鍵" #: qtgui/rwmolecule.cpp:962 #, fuzzy msgid "Add Unit Cell" msgstr "加入單位晶格 (&U)" #: qtgui/rwmolecule.cpp:995 #, fuzzy msgid "Remove Unit Cell" msgstr "移除單位晶格 (&U)" #: qtgui/rwmolecule.cpp:1077 #, fuzzy msgid "Edit Unit Cell" msgstr "填入單位晶胞" #: qtgui/rwmolecule.cpp:1094 msgid "Wrap Atoms to Cell" msgstr "" #: qtgui/rwmolecule.cpp:1117 msgid "Scale Cell Volume" msgstr "" #: qtgui/rwmolecule.cpp:1137 #, fuzzy msgid "Build Super Cell" msgstr "超級晶格" #: qtgui/rwmolecule.cpp:1161 msgid "Niggli Reduction" msgstr "" #: qtgui/rwmolecule.cpp:1183 msgid "Rotate to Standard Orientation" msgstr "" #: qtgui/rwmolecule.cpp:1208 qtplugins/spacegroup/spacegroup.cpp:69 msgid "Reduce to Primitive" msgstr "" #: qtgui/rwmolecule.cpp:1233 qtplugins/spacegroup/spacegroup.cpp:75 #: qtplugins/spacegroup/spacegroup.cpp:233 msgid "Conventionalize Cell" msgstr "" #: qtgui/rwmolecule.cpp:1258 qtplugins/spacegroup/spacegroup.cpp:258 #, fuzzy msgid "Symmetrize Cell" msgstr "超級晶格" #: qtgui/rwmolecule.cpp:1277 qtplugins/spacegroup/spacegroup.cpp:86 msgid "Fill Unit Cell" msgstr "填入單位晶胞" #: qtgui/rwmolecule.cpp:1297 msgid "Reduce Cell to Asymmetric Unit" msgstr "" #: qtplugins/3dmol/3dmol.cpp:43 msgid "ThreeDMol HTML Block." msgstr "" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #: qtplugins/povray/povray.cpp:58 qtplugins/vrml/vrml.cpp:58 msgid "&File" msgstr "檔案" #: qtplugins/3dmol/3dmol.cpp:53 qtplugins/povray/povray.cpp:58 #: qtplugins/vrml/vrml.cpp:58 #, fuzzy msgid "&Export" msgstr "匯出" #: qtplugins/3dmol/3dmol.h:42 #, fuzzy msgid "ThreeDMol" msgstr "臨界值" #. i18n: file: qtplugins/apbs/apbsdialog.ui:177 #. i18n: ectx: property (text), widget (QPushButton, runApbsButton) #: qtplugins/apbs/apbs.cpp:43:141 msgid "Run APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:48 qtplugins/apbs/apbs.cpp:73 #: qtplugins/gamessinput/gamessinput.cpp:82 #: qtplugins/quantuminput/quantuminput.cpp:96 #, fuzzy msgid "Open Output File" msgstr "開啟 WFN 檔" #: qtplugins/apbs/apbs.cpp:61 qtplugins/clientserver/clientserver.cpp:83 #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/mongochem/mongochem.cpp:63 qtplugins/openbabel/openbabel.cpp:113 #: qtplugins/plugindownloader/plugindownloader.cpp:52 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "&Extensions" msgstr "延伸功能" #: qtplugins/apbs/apbs.cpp:61 msgid "&APBS" msgstr "" #: qtplugins/apbs/apbs.cpp:74 msgid "OpenDX File (*.dx)" msgstr "" #: qtplugins/apbs/apbs.cpp:127 #, fuzzy msgid "IO Error" msgstr "錯誤" #: qtplugins/apbs/apbs.cpp:128 #, fuzzy, qt-format msgid "Error reading structure file (%1)." msgstr "無法讀取軌跡檔 %1" #: qtplugins/apbs/apbs.cpp:148 qtplugins/apbs/apbs.cpp:155 #, fuzzy msgid "OpenDX Error" msgstr "OpenGL 錯誤" #: qtplugins/apbs/apbs.cpp:149 #, fuzzy, qt-format msgid "Error reading OpenDX file: %1" msgstr "無法讀取軌跡檔 %1" #: qtplugins/apbs/apbs.cpp:156 msgid "Error reading OpenDX file: No cube found" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsDialog) #: qtplugins/apbs/apbs.h:42:87 msgid "APBS" msgstr "" #: qtplugins/apbs/apbs.h:45 msgid "Interact with APBS utilities." msgstr "" #: qtplugins/apbs/apbsdialog.cpp:91 #, fuzzy msgid "Open PDB File" msgstr "開啟 WFN 檔" #: qtplugins/apbs/apbsdialog.cpp:92 msgid "PDB Files (*.pdb)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:102 #, fuzzy msgid "Open PQR File" msgstr "開啟 WFN 檔" #: qtplugins/apbs/apbsdialog.cpp:103 msgid "PQR Files (*.pqr)" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:143 qtplugins/apbs/apbsdialog.cpp:153 #: qtplugins/forcefields/workflow.cpp:106 #: qtplugins/gamessinput/gamessinput.cpp:98 #: qtplugins/openbabel/openbabel.cpp:201 qtplugins/openbabel/openbabel.cpp:210 #: qtplugins/openbabel/openbabel.cpp:220 qtplugins/openbabel/openbabel.cpp:313 #: qtplugins/openbabel/openbabel.cpp:339 qtplugins/openbabel/openbabel.cpp:348 #: qtplugins/openbabel/openbabel.cpp:400 qtplugins/openbabel/openbabel.cpp:449 #: qtplugins/openbabel/openbabel.cpp:462 qtplugins/openbabel/openbabel.cpp:487 #: qtplugins/openbabel/openbabel.cpp:501 qtplugins/openbabel/openbabel.cpp:529 #: qtplugins/openbabel/openbabel.cpp:541 qtplugins/openbabel/openbabel.cpp:586 #: qtplugins/openbabel/openbabel.cpp:633 qtplugins/openbabel/openbabel.cpp:672 #: qtplugins/openbabel/openbabel.cpp:702 #: qtplugins/quantuminput/quantuminput.cpp:112 #: qtplugins/workflows/workflow.cpp:106 msgid "Error" msgstr "錯誤" #: qtplugins/apbs/apbsdialog.cpp:144 #, qt-format msgid "Error running APBS: %1" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:153 msgid "Please specify PDB file" msgstr "" #: qtplugins/apbs/apbsdialog.cpp:186 #, fuzzy msgid "Save APBS Input File" msgstr "儲存輸入面板" #: qtplugins/apbs/apbsdialog.cpp:186 msgid "ABPS Input (*.in)" msgstr "" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, ApbsOutputDialog) #: qtplugins/apbs/apbsdialog.cpp:190 #: qtplugins/clientserver/connectionsettingsdialog.cpp:75:147 #, fuzzy msgid "Success" msgstr "成功了!" #: qtplugins/apbs/apbsdialog.cpp:191 #, fuzzy, qt-format msgid "Input file written to '%1'" msgstr "圖形成功地寫入 %1" #: qtplugins/ballandstick/ballandstick.cpp:203 #: qtplugins/wireframe/wireframe.cpp:100 #, fuzzy msgid "Show multiple bonds?" msgstr "顯示多個鍵" #: qtplugins/ballandstick/ballandstick.cpp:207 #: qtplugins/wireframe/wireframe.cpp:104 #, fuzzy msgid "Show hydrogens?" msgstr "氫" #: qtplugins/ballandstick/ballandstick.h:43 msgid "Ball and Stick" msgstr "球與棒 (原子與鍵)" #: qtplugins/ballandstick/ballandstick.h:47 #, fuzzy msgid "Render atoms as spheres and bonds as cylinders." msgstr "呈現原子及鍵的標示" #: qtplugins/bondcentrictool/bondcentrictool.cpp:312 #, fuzzy msgid "Bond-centric manipulation" msgstr "鍵中心調整" #: qtplugins/bondcentrictool/bondcentrictool.h:188 #, fuzzy msgid "Bond centric manipulation tool." msgstr "鍵中心調整" #: qtplugins/bondcentrictool/bondcentrictool.h:193 msgid "" "Tool used to edit molecular geometry by changing bond lengths and angles." msgstr "" #: qtplugins/bonding/bonding.cpp:42 #, fuzzy msgid "Bond Atoms" msgstr "終止原子" #: qtplugins/bonding/bonding.cpp:43 #, fuzzy msgid "Remove Bonds" msgstr "移除氫" #: qtplugins/bonding/bonding.cpp:62 #: qtplugins/coordinateeditor/coordinateeditor.cpp:45 #: qtplugins/customelements/customelements.cpp:54 #: qtplugins/hydrogens/hydrogens.cpp:67 #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Build" msgstr "建立" #: qtplugins/bonding/bonding.h:36 #, fuzzy msgid "Bonding" msgstr "鍵" #: qtplugins/bonding/bonding.h:40 msgid "Perform bonding operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:73 msgid "Client server operations." msgstr "" #: qtplugins/clientserver/clientserver.cpp:83 msgid "S&erver" msgstr "" #: qtplugins/clientserver/clientserver.cpp:159 msgid "Connection failed" msgstr "" #: qtplugins/clientserver/clientserver.cpp:160 #: qtplugins/clientserver/connectionsettingsdialog.cpp:68 #, qt-format msgid "The connection to %2:%3 failed: connection refused." msgstr "" #: qtplugins/clientserver/clientserver.cpp:218 #: qtplugins/clientserver/clientserver.cpp:229 msgid "Remote service error" msgstr "" #: qtplugins/clientserver/clientserver.cpp:230 #, qt-format msgid "Connection failed with: %1" msgstr "" #: qtplugins/clientserver/clientserver.cpp:252 #, qt-format msgid "clientServer/%1:%2/lastOpenDir" msgstr "" #: qtplugins/clientserver/clientserver.cpp:264 #, qt-format msgid "%1 (" msgstr "" #: qtplugins/clientserver/clientserver.cpp:266 #, qt-format msgid "*.%1" msgstr "" #: qtplugins/clientserver/clientserver.h:56 msgid "Client server" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:67 msgid "Connection refused" msgstr "" #: qtplugins/clientserver/connectionsettingsdialog.cpp:76 #, qt-format msgid "Connection to %2:%3 succeeded!" msgstr "" #: qtplugins/clientserver/filedialogmodel.cpp:666 #, fuzzy msgid "Filename" msgstr "檔名:" #: qtplugins/coordinateeditor/coordinateeditor.cpp:29 #, fuzzy msgid "Atomic &Coordinate Editor..." msgstr "直角坐標編輯器" #: qtplugins/coordinateeditor/coordinateeditor.h:39 #, fuzzy msgid "Coordinate editor" msgstr "直角坐標編輯器" #: qtplugins/coordinateeditor/coordinateeditor.h:43 msgid "Text editing of atomic coordinates." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:237 #, fuzzy msgid "Overwrite changes?" msgstr "恢復改變" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:238 msgid "" "The text document has been modified. Would you like to discard your changes " "and revert to the current molecule?" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:365 msgid "Too few entries on line." msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:381 #, fuzzy msgid "Invalid element name." msgstr "無效的檔名" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:383 #, fuzzy msgid "Element name." msgstr "元素名稱" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:395 #, fuzzy msgid "Invalid element symbol." msgstr "元素符號" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:397 #, fuzzy msgid "Element symbol." msgstr "元素符號" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:407 #, fuzzy msgid "Invalid atomic number." msgstr "無效的檔名" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:409 #, fuzzy msgid "Atomic number." msgstr "原子數" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:418 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:429 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:440 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:451 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:462 #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:473 #, fuzzy msgid "Invalid coordinate." msgstr "無效的檔名" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:420 #, fuzzy msgid "X coordinate." msgstr "笛卡兒坐標/直角坐標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:431 #, fuzzy msgid "Y coordinate." msgstr "笛卡兒坐標/直角坐標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:442 #, fuzzy msgid "Z coordinate." msgstr "笛卡兒坐標/直角坐標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:453 #, fuzzy msgid "'a' lattice coordinate." msgstr "笛卡兒坐標/直角坐標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:464 #, fuzzy msgid "'b' lattice coordinate." msgstr "笛卡兒坐標/直角坐標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:475 #, fuzzy msgid "'c' coordinate." msgstr "笛卡兒坐標/直角坐標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:559 msgid "Error applying geometry" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:560 msgid "" "Could not parse geometry specification. Fix the highlighted errors and try " "again.\n" "\n" "(Hint: Hold the mouse over red text for a description of the error.)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:594 msgid "Edit Atomic Coordinates" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:607:615 msgid "Custom" msgstr "自訂" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:608 msgid "XYZ format (symbols)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:609 #, fuzzy msgid "XYZ format (names)" msgstr "" ",Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:610 #, fuzzy msgid "XYZ format (atomic numbers)" msgstr "XYZ 及數字" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:611 #, fuzzy msgid "Lattice coordinates (symbols)" msgstr "笛卡兒坐標/直角坐標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:612 #, fuzzy msgid "Lattice coordinates (names)" msgstr "笛卡兒坐標/直角坐標" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:613 msgid "Lattice coordinates (atomic numbers)" msgstr "" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:615 #, fuzzy msgid "GAMESS format (symbols)" msgstr "GAMESS EFP 訊息" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:616 #, fuzzy msgid "GAMESS format (names)" msgstr "GAMESS EFP 訊息" #: qtplugins/coordinateeditor/coordinateeditordialog.cpp:617 #, fuzzy msgid "Turbomole format" msgstr "Turbomole 輸入" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:104 #. i18n: ectx: property (text), widget (QToolButton, copy) #: qtplugins/copypaste/copypaste.cpp:42:225 #, fuzzy msgid "Copy" msgstr "全部複製" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:97 #. i18n: ectx: property (text), widget (QToolButton, cut) #: qtplugins/copypaste/copypaste.cpp:43:222 #, fuzzy msgid "Cut" msgstr "自訂" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:138 #. i18n: ectx: property (text), widget (QPushButton, clear) #: qtplugins/copypaste/copypaste.cpp:44:234 #, fuzzy msgid "Clear" msgstr "全部清除" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:111 #. i18n: ectx: property (text), widget (QToolButton, paste) #: qtplugins/copypaste/copypaste.cpp:45:228 msgid "Paste" msgstr "" #: qtplugins/copypaste/copypaste.cpp:78 msgid "&Edit" msgstr "" #: qtplugins/copypaste/copypaste.cpp:96 msgid "Error Clipping Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:97 msgid "Error generating clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:98 #, fuzzy, qt-format msgctxt "file format" msgid "" "Output format: %1\n" "%2" msgstr "無法設定格式: %1" #: qtplugins/copypaste/copypaste.cpp:102 qtplugins/copypaste/copypaste.cpp:192 #, qt-format msgid "" "Reader error:\n" "%1" msgstr "" #: qtplugins/copypaste/copypaste.cpp:153 qtplugins/copypaste/copypaste.cpp:186 msgid "Error Pasting Molecule" msgstr "" #: qtplugins/copypaste/copypaste.cpp:154 msgid "Cannot paste molecule: Clipboard empty!" msgstr "" #: qtplugins/copypaste/copypaste.cpp:187 msgid "Error reading clipboard data." msgstr "" #: qtplugins/copypaste/copypaste.cpp:188 #, fuzzy, qt-format msgctxt "file format description" msgid "" "Detected format: %1\n" "%2" msgstr "無法設定格式: %1" #: qtplugins/copypaste/copypaste.h:42 msgid "Copy and paste" msgstr "" #: qtplugins/copypaste/copypaste.h:46 msgid "Interact with the clipboard." msgstr "" #: qtplugins/crystal/crystal.cpp:54 qtplugins/crystal/crystal.cpp:182 msgid "Import Crystal from Clipboard" msgstr "" #: qtplugins/crystal/crystal.cpp:61 #, fuzzy msgid "Toggle Unit Cell" msgstr "填入單位晶胞" #: qtplugins/crystal/crystal.cpp:66 #, fuzzy msgid "Edit Unit Cell..." msgstr "填入單位晶胞" #: qtplugins/crystal/crystal.cpp:71 msgid "&Wrap Atoms to Unit Cell" msgstr "" #: qtplugins/crystal/crystal.cpp:77 msgid "Rotate to Standard &Orientation" msgstr "" #: qtplugins/crystal/crystal.cpp:83 msgid "Scale Cell &Volume" msgstr "" #: qtplugins/crystal/crystal.cpp:88 #, fuzzy msgid "Build &Supercell" msgstr "超級晶格" #: qtplugins/crystal/crystal.cpp:93 msgid "Reduce Cell (&Niggli)" msgstr "" #: qtplugins/crystal/crystal.cpp:117 qtplugins/plotxrd/plotxrd.cpp:63 #: qtplugins/spacegroup/spacegroup.cpp:118 #, fuzzy msgid "&Crystal" msgstr "貼上結晶" #: qtplugins/crystal/crystal.cpp:163 msgid "Remove &Unit Cell" msgstr "移除單位晶格 (&U)" #: qtplugins/crystal/crystal.cpp:170 msgid "Add &Unit Cell" msgstr "加入單位晶格 (&U)" #: qtplugins/crystal/crystal.cpp:207 msgid "Niggli Reduce Crystal" msgstr "" #: qtplugins/crystal/crystal.cpp:208 msgid "The unit cell is already reduced." msgstr "" #: qtplugins/crystal/crystal.h:36 #, fuzzy msgid "Crystal" msgstr "貼上結晶" #: qtplugins/crystal/crystal.h:75 msgid "Tools for crystal-specific editing/analysis." msgstr "" #: qtplugins/crystal/crystalscene.h:39 msgid "Crystal Lattice" msgstr "" #: qtplugins/crystal/crystalscene.h:41 #, fuzzy msgid "Render the unit cell boundaries." msgstr "呈現原子及鍵的標示" #: qtplugins/crystal/importcrystaldialog.cpp:81 msgid "Cannot Parse Text" msgstr "" #: qtplugins/crystal/importcrystaldialog.cpp:82 msgid "Failed to read the data with the supplied format." msgstr "" #: qtplugins/crystal/unitcelldialog.cpp:262 #: qtplugins/crystal/unitcelldialog.cpp:275 msgid "No unit cell present." msgstr "" #: qtplugins/customelements/customelements.cpp:31 msgid "Reassign &Custom Elements..." msgstr "" #: qtplugins/customelements/customelements.cpp:44 msgid "Manipulate custom element types in the current molecule." msgstr "" #: qtplugins/customelements/customelements.h:35 #, fuzzy msgid "Custom Elements" msgstr "自訂軸" #: qtplugins/editor/editor.cpp:84 qtplugins/editor/editor.cpp:118 msgid "Draw" msgstr "繪圖" #: qtplugins/editor/editor.cpp:112 msgid "Draw Atom" msgstr "繪製原子" #: qtplugins/editor/editor.cpp:122 #, fuzzy msgid "Change Bond Type" msgstr "改變鍵級" #: qtplugins/editor/editor.cpp:135 #, fuzzy msgid "Remove Bond" msgstr "移除原子" #: qtplugins/editor/editor.cpp:232 qtplugins/measuretool/measuretool.cpp:194 #: qtplugins/measuretool/measuretool.cpp:222 #, fuzzy msgid "Distance:" msgstr "距離" #: qtplugins/editor/editor.cpp:235 #, fuzzy, qt-format msgid "Distance: %L1 Å" msgstr "距離 (1->2): %L1 %2" #: qtplugins/editor/editor.h:44 qtplugins/editor/editor.h:45 msgid "Editor tool" msgstr "" #: qtplugins/editor/editortoolwidget.cpp:138 msgid "Other..." msgstr "其他..." #: qtplugins/editor/editortoolwidget.cpp:217 #, fuzzy msgid "Automatic" msgstr "自動構型最適化" #: qtplugins/editor/editortoolwidget.cpp:218 msgid "Single" msgstr "單鍵" #: qtplugins/editor/editortoolwidget.cpp:219 msgid "Double" msgstr "雙鍵" #: qtplugins/editor/editortoolwidget.cpp:220 msgid "Triple" msgstr "三鍵" #: qtplugins/forcefields/workflow.cpp:73 qtplugins/forcefields/workflow.cpp:81 #: qtplugins/workflows/workflow.cpp:73 qtplugins/workflows/workflow.cpp:81 #, fuzzy msgid "Scripts" msgstr "程式語法" #: qtplugins/forcefields/workflow.cpp:107 #: qtplugins/gamessinput/gamessinput.cpp:99 #: qtplugins/quantuminput/quantuminput.cpp:113 #: qtplugins/workflows/workflow.cpp:107 #, fuzzy, qt-format msgid "" "Error reading output file '%1':\n" "%2" msgstr "無法讀取軌跡檔 %1" #: qtplugins/forcefields/workflow.cpp:204 #: qtplugins/quantuminput/quantuminput.cpp:179 #: qtplugins/workflows/workflow.cpp:204 msgid "Set path to Python interpreter:" msgstr "" #: qtplugins/forcefields/workflow.cpp:206 qtplugins/workflows/workflow.cpp:206 msgid "" "Select the python interpreter to run external scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/forcefields/workflow.cpp:270 #: qtplugins/quantuminput/quantuminput.cpp:239 #: qtplugins/workflows/workflow.cpp:270 msgid "Set Python Path..." msgstr "" #: qtplugins/forcefields/workflow.h:53 qtplugins/workflows/workflow.h:53 msgid "Workflow scripts" msgstr "" #: qtplugins/forcefields/workflow.h:55 qtplugins/workflows/workflow.h:55 msgid "Run external workflow commands" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:44 msgid "&GAMESS" msgstr "GAMESS (原子分子之電子結構系統)" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #: qtplugins/quantumoutput/quantumoutput.cpp:100 #: qtplugins/spectra/spectra.cpp:57 msgid "&Quantum" msgstr "" #: qtplugins/gamessinput/gamessinput.cpp:62 #: qtplugins/quantuminput/quantuminput.cpp:72 #, fuzzy msgid "Input Generators" msgstr "匯入產生器..." #: qtplugins/gamessinput/gamessinput.h:46 #, fuzzy msgid "GAMESS input" msgstr "GAMESS (原子分子之電子結構系統) 輸入" #: qtplugins/gamessinput/gamessinput.h:48 msgid "Generate input for GAMESS." msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:237 #, fuzzy msgid "Single Point" msgstr "單點能量" #: qtplugins/gamessinput/gamessinputdialog.cpp:240 msgid "Equilibrium Geometry" msgstr "Equilibrium Geometry" #: qtplugins/gamessinput/gamessinputdialog.cpp:243 msgid "Transition State" msgstr "過渡狀態" #: qtplugins/gamessinput/gamessinputdialog.cpp:246 msgid "Frequencies" msgstr "頻率" #: qtplugins/gamessinput/gamessinputdialog.cpp:315 msgid "Core Potential" msgstr "Core Potential" #: qtplugins/gamessinput/gamessinputdialog.cpp:330 msgid "Gas" msgstr "氣體" #: qtplugins/gamessinput/gamessinputdialog.cpp:333 msgid "Water" msgstr "水" #: qtplugins/gamessinput/gamessinputdialog.cpp:348 msgid "Singlet" msgstr "Singlet" #: qtplugins/gamessinput/gamessinputdialog.cpp:351 msgid "Doublet" msgstr "Doublet" #: qtplugins/gamessinput/gamessinputdialog.cpp:354 msgid "Triplet" msgstr "Triplet" #: qtplugins/gamessinput/gamessinputdialog.cpp:369 msgid "Dication" msgstr "Dication" #: qtplugins/gamessinput/gamessinputdialog.cpp:372 msgid "Cation" msgstr "陽離子" #: qtplugins/gamessinput/gamessinputdialog.cpp:375 msgid "Neutral" msgstr "中性" #: qtplugins/gamessinput/gamessinputdialog.cpp:378 msgid "Anion" msgstr "陰離子" #: qtplugins/gamessinput/gamessinputdialog.cpp:381 msgid "Dianion" msgstr "Dianion" #: qtplugins/gamessinput/gamessinputdialog.cpp:430 msgid "" "The input file has been modified. Would you like to overwrite your changes " "to reflect the new geometry or job options?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:434 msgid "Overwrite modified input file?" msgstr "" #: qtplugins/gamessinput/gamessinputdialog.cpp:668 #, fuzzy msgid "Save GAMESS input file" msgstr "GAMESS 輸入面板" #: qtplugins/gamessinput/gamessinputdialog.cpp:718 #, fuzzy msgid "Submit GAMESS Calculation" msgstr "停止計算" #: qtplugins/hydrogens/hydrogens.cpp:33 #, fuzzy msgid "&Adjust Hydrogens" msgstr "自動加上氫原子" #: qtplugins/hydrogens/hydrogens.cpp:38 msgid "Add Hydrogens" msgstr "加上氫" #: qtplugins/hydrogens/hydrogens.cpp:42 #, fuzzy msgid "Remove E&xtra Hydrogens" msgstr "移除氫" #: qtplugins/hydrogens/hydrogens.cpp:46 #, fuzzy msgid "&Remove All Hydrogens" msgstr "移除氫" #: qtplugins/hydrogens/hydrogens.cpp:57 msgid "Add/remove hydrogens from the current molecule." msgstr "" #: qtplugins/hydrogens/hydrogens.cpp:67 #, fuzzy msgid "&Hydrogens" msgstr "氫" #: qtplugins/hydrogens/hydrogens.h:35 msgid "Hydrogens" msgstr "氫" #: qtplugins/importpqr/importpqr.cpp:38 msgid "&Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.cpp:59 #: qtplugins/networkdatabases/networkdatabases.cpp:53 #, fuzzy msgid "&Import" msgstr "匯入" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:20 #. i18n: ectx: property (windowTitle), widget (QWidget, PQRWidget) #: qtplugins/importpqr/importpqr.h:45:393 msgid "Import From PQR" msgstr "" #: qtplugins/importpqr/importpqr.h:49 msgid "Download a molecule from PQR." msgstr "" #: qtplugins/licorice/licorice.h:40 msgid "Licorice" msgstr "" #: qtplugins/licorice/licorice.h:42 #, fuzzy msgid "Render atoms as licorice." msgstr "呈現原子及鍵的標示" #: qtplugins/lineformatinput/lineformatinput.cpp:43 msgid "SMILES..." msgstr "SMILES 文字化學式..." #: qtplugins/lineformatinput/lineformatinput.cpp:48 msgid "InChI..." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:55 msgid "InChI" msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:56 #, fuzzy msgid "SMILES" msgstr "SMILES 文字化學式..." #: qtplugins/lineformatinput/lineformatinput.cpp:71 msgid "&Insert" msgstr "插入" #: qtplugins/lineformatinput/lineformatinput.cpp:98 #: qtplugins/lineformatinput/lineformatinput.cpp:122 #, fuzzy msgid "No descriptors found!" msgstr "沒有描述" #: qtplugins/lineformatinput/lineformatinput.cpp:99 msgid "No line format readers found!" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::LineFormatInputDialog) #: qtplugins/lineformatinput/lineformatinput.cpp:118 #: qtplugins/lineformatinput/lineformatinput.cpp:133:426 #, fuzzy msgid "Insert Molecule..." msgstr "分子" #: qtplugins/lineformatinput/lineformatinput.cpp:123 msgid "Unable to load requested format reader." msgstr "" #: qtplugins/lineformatinput/lineformatinput.cpp:134 #, fuzzy msgid "Generating 3D molecule..." msgstr "產生..." #: qtplugins/lineformatinput/lineformatinput.h:42 msgid "LineFormatInput" msgstr "" #: qtplugins/lineformatinput/lineformatinput.h:65 msgid "Load single-line molecule descriptors through an input dialog." msgstr "" #: qtplugins/manipulator/manipulator.cpp:52 msgid "Manipulate" msgstr "調整" #: qtplugins/manipulator/manipulator.h:44 #: qtplugins/manipulator/manipulator.h:45 #, fuzzy msgid "Manipulate tool" msgstr "調整原子" #: qtplugins/measuretool/measuretool.cpp:63 msgid "Measure" msgstr "測量" #: qtplugins/measuretool/measuretool.cpp:192 #: qtplugins/measuretool/measuretool.cpp:202 msgid "Dihedral:" msgstr "二面體" #: qtplugins/measuretool/measuretool.cpp:193 msgid "Angle:" msgstr "角度:" #: qtplugins/measuretool/measuretool.cpp:214 #, fuzzy msgid "Angles:" msgstr "角度:" #: qtplugins/measuretool/measuretool.h:48 #: qtplugins/measuretool/measuretool.h:49 #, fuzzy msgid "Measure tool" msgstr "測量" #: qtplugins/meshes/meshes.h:40 msgid "Meshes" msgstr "" #: qtplugins/meshes/meshes.h:42 #, fuzzy msgid "Render triangle meshes." msgstr "呈現分子網狀等值面" #: qtplugins/molecularproperties/molecularproperties.cpp:43 #: qtplugins/mongochem/mongochem.cpp:45 msgid "View general properties of a molecule." msgstr "" #: qtplugins/molecularproperties/molecularproperties.cpp:53 #: qtplugins/resetview/resetview.cpp:48 qtplugins/symmetry/symmetry.cpp:92 msgid "&View" msgstr "檢視" #: qtplugins/molecularproperties/molecularproperties.h:42 #: qtplugins/mongochem/mongochem.h:40 msgid "Molecular Properties" msgstr "分子性質" #: qtplugins/navigator/navigator.cpp:45 msgid "Navigate" msgstr "導覽" #: qtplugins/navigator/navigator.h:42 qtplugins/navigator/navigator.h:43 #, fuzzy msgid "Navigate tool" msgstr "導覽" #: qtplugins/networkdatabases/networkdatabases.cpp:87 msgid "Chemical Name" msgstr "化合物名稱" #: qtplugins/networkdatabases/networkdatabases.cpp:88 msgid "Chemical structure to download." msgstr "下載化學結構." #: qtplugins/networkdatabases/networkdatabases.cpp:102 #, qt-format msgid "Querying for %1" msgstr "" #: qtplugins/networkdatabases/networkdatabases.cpp:113 #: qtplugins/networkdatabases/networkdatabases.cpp:124 msgid "Network Download Failed" msgstr "網路下載失敗" #: qtplugins/networkdatabases/networkdatabases.cpp:114 msgid "Network timeout or other error." msgstr "連線逾時或是其他錯誤" #: qtplugins/networkdatabases/networkdatabases.cpp:125 #, qt-format msgid "Specified molecule could not be found: %1" msgstr "找不到指定的分子: %1" #: qtplugins/networkdatabases/networkdatabases.h:47 #, fuzzy msgid "Network Databases" msgstr "網路下載失敗" #: qtplugins/networkdatabases/networkdatabases.h:51 msgid "Interact with online databases, query structures etc." msgstr "" #: qtplugins/openbabel/obforcefielddialog.cpp:331 #, qt-format msgid "Autodetect (%1)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:52 #, fuzzy msgid "Optimize geometry" msgstr "最佳化幾何結構" #: qtplugins/openbabel/openbabel.cpp:59 #, fuzzy msgid "Configure geometry optimization..." msgstr "幾何構形最適化" #: qtplugins/openbabel/openbabel.cpp:65 #, fuzzy msgid "Perceive bonds" msgstr "理解鍵嗎?" #: qtplugins/openbabel/openbabel.cpp:71 #, fuzzy msgid "Add hydrogens" msgstr "加上氫" #: qtplugins/openbabel/openbabel.cpp:77 #, fuzzy msgid "Add hydrogens for pH..." msgstr "配合 pH 加上氫" #: qtplugins/openbabel/openbabel.cpp:83 #, fuzzy msgid "Remove hydrogens" msgstr "移除氫" #: qtplugins/openbabel/openbabel.cpp:93 #, qt-format msgid "%1 not found! Disabling Open Babel plugin actions." msgstr "" #: qtplugins/openbabel/openbabel.cpp:113 msgid "&Open Babel" msgstr "" #: qtplugins/openbabel/openbabel.cpp:120 msgid "The obabel file formats are not ready to be added." msgstr "" #: qtplugins/openbabel/openbabel.cpp:196 #, fuzzy msgid "Loading molecule from CML..." msgstr "從檔案 '%1' 讀取分子失敗" #: qtplugins/openbabel/openbabel.cpp:202 msgid "" "An internal error occurred: OpenBabel::readMolecule called, but no obabel " "output is available to parse!" msgstr "" #: qtplugins/openbabel/openbabel.cpp:211 #, fuzzy, qt-format msgid "An error occurred while running OpenBabel (%1)." msgstr "寫入檔案 %1 出錯" #: qtplugins/openbabel/openbabel.cpp:221 msgid "Error parsing openbabel output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:314 qtplugins/openbabel/openbabel.cpp:349 #, qt-format msgid "" "An error occurred while retrieving the list of supported forcefields. (using " "'%1')." msgstr "" #: qtplugins/openbabel/openbabel.cpp:340 msgid "Molecule invalid. Cannot optimize geometry." msgstr "" #: qtplugins/openbabel/openbabel.cpp:358 msgid "Cannot optimize geometry with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:383 #, fuzzy msgid "Optimizing Geometry (OpenBabel)" msgstr "最佳化幾何結構" #: qtplugins/openbabel/openbabel.cpp:384 #, fuzzy msgid "Generating MDL..." msgstr "產生..." #: qtplugins/openbabel/openbabel.cpp:401 msgid "" "An internal error occurred while generating an MDL representation of the " "current molecule." msgstr "" #: qtplugins/openbabel/openbabel.cpp:407 #, qt-format msgctxt "arg is an executable file." msgid "Starting %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:420 qtplugins/openbabel/openbabel.cpp:428 #, qt-format msgid "" "Step %1 of %2\n" "Current energy: %3\n" "dE: %4" msgstr "" #: qtplugins/openbabel/openbabel.cpp:442 msgid "Updating molecule..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:450 qtplugins/openbabel/openbabel.cpp:703 msgid "Error interpreting obabel MDL output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:463 qtplugins/openbabel/openbabel.cpp:542 #, fuzzy, qt-format msgid "" "Number of atoms in obabel output (%1) does not match the number of atoms in " "the original molecule (%2)." msgstr "軌跡檔 %1 的原子數目與現在的分子不符合" #: qtplugins/openbabel/openbabel.cpp:473 #, fuzzy msgid "Optimize Geometry" msgstr "最佳化幾何結構" #: qtplugins/openbabel/openbabel.cpp:482 msgid "Cannot open file with OpenBabel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:488 msgid "Invalid molecule: Cannot perceive bonds." msgstr "" #: qtplugins/openbabel/openbabel.cpp:494 msgid "Perceiving Bonds (OpenBabel)" msgstr "" #: qtplugins/openbabel/openbabel.cpp:495 msgid "Generating XYZ representation..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:502 msgid "Error generating XYZ string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:514 #, qt-format msgid "Converting XYZ to CML with %1..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:522 msgid "Updating molecule from CML..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:530 msgid "Error interpreting obabel CML output." msgstr "" #: qtplugins/openbabel/openbabel.cpp:574 qtplugins/openbabel/openbabel.cpp:613 msgid "Cannot add hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:579 qtplugins/openbabel/openbabel.cpp:626 #, fuzzy msgid "Adding Hydrogens (OpenBabel)" msgstr "加上氫" #: qtplugins/openbabel/openbabel.cpp:580 qtplugins/openbabel/openbabel.cpp:627 #: qtplugins/openbabel/openbabel.cpp:666 msgid "Generating obabel input..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:587 qtplugins/openbabel/openbabel.cpp:634 #: qtplugins/openbabel/openbabel.cpp:673 msgid "Error generating MDL string." msgstr "" #: qtplugins/openbabel/openbabel.cpp:599 qtplugins/openbabel/openbabel.cpp:646 #: qtplugins/openbabel/openbabel.cpp:685 #, fuzzy, qt-format msgid "Running %1..." msgstr "Dunning" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "Add hydrogens for pH" msgstr "依照 pH 加上氫" #: qtplugins/openbabel/openbabel.cpp:620 #, fuzzy msgid "pH:" msgstr "pH" #: qtplugins/openbabel/openbabel.cpp:660 msgid "Cannot remove hydrogens with Open Babel." msgstr "" #: qtplugins/openbabel/openbabel.cpp:665 #, fuzzy msgid "Removing Hydrogens (OpenBabel)" msgstr "移除氫" #: qtplugins/openbabel/openbabel.cpp:694 msgid "Reading obabel output..." msgstr "" #: qtplugins/openbabel/openbabel.cpp:757 msgid "" "Already running OpenBabel. Wait for the other operation to complete and try " "again." msgstr "" #: qtplugins/openbabel/openbabel.h:47 msgid "OpenBabel" msgstr "" #: qtplugins/openbabel/openbabel.h:51 msgid "Interact with OpenBabel utilities." msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:41 msgid "Reference Axes Overlay" msgstr "" #: qtplugins/overlayaxes/overlayaxes.h:45 msgid "Render reference axes in the corner of the display." msgstr "" #: qtplugins/playertool/playertool.cpp:51 msgid "Player" msgstr "" #: qtplugins/playertool/playertool.cpp:69 msgid "Play" msgstr "" #: qtplugins/playertool/playertool.cpp:72 msgid "Stop" msgstr "停止" #: qtplugins/playertool/playertool.cpp:82 #, fuzzy msgid "Frame rate:" msgstr "參數:" #: qtplugins/playertool/playertool.cpp:88 msgctxt "frames per second" msgid " FPS" msgstr "" #: qtplugins/playertool/playertool.cpp:94 #, fuzzy msgid "Dynamic bonding?" msgstr "Dynamic Bonds (動態的鍵)" #: qtplugins/playertool/playertool.cpp:102 #, fuzzy msgid "Record Movie..." msgstr "移除..." #: qtplugins/playertool/playertool.cpp:108 #: qtplugins/playertool/playertool.cpp:161 #, fuzzy msgid "Stopped" msgstr "停止" #: qtplugins/playertool/playertool.cpp:180 #, qt-format msgid "Frame %0 of %1" msgstr "" #: qtplugins/playertool/playertool.cpp:197 #, fuzzy msgid "Export Bitmap Graphics" msgstr "匯出向量圖形" #: qtplugins/playertool/playertool.cpp:233 msgid "Avogadro" msgstr "Avogadro 亞佛加厥" #: qtplugins/playertool/playertool.cpp:234 #, fuzzy, qt-format msgid "Cannot save file %1." msgstr "無法讀取檔案 %1。" #: qtplugins/playertool/playertool.h:44 msgid "Player tool" msgstr "" #: qtplugins/playertool/playertool.h:45 msgid "Play back trajectories" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:45 msgid "Plot Theoretical XRD Pattern..." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:130 msgid "Failed to generate XRD pattern" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:131 msgid "Error message: " msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:147 msgid "Failed to convert molecule to CIF format." msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:182 msgid "Data read from genXrdPattern appears to be corrupt!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:220 msgid "Error: could not find genXrdPattern executable!" msgstr "" #: qtplugins/plotxrd/plotxrd.cpp:230 qtplugins/plotxrd/plotxrd.cpp:242 #: qtplugins/plotxrd/plotxrd.cpp:253 qtplugins/plotxrd/plotxrd.cpp:260 #, fuzzy msgid "Error: " msgstr "錯誤" #: qtplugins/plotxrd/plotxrd.h:46 msgid "PlotXrd" msgstr "" #: qtplugins/plotxrd/plotxrd.h:93 msgid "Generate and plot a theoretical XRD pattern using ObjCryst++." msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, DownloaderWidget) #: qtplugins/plugindownloader/plugindownloader.h:46:570 msgid "Plugin Downloader" msgstr "" #: qtplugins/plugindownloader/plugindownloader.h:50 msgid "Downloader plugins from Github repositories." msgstr "" #: qtplugins/povray/povray.cpp:41 #, fuzzy msgid "POV-Ray Render" msgstr "POV-Ray" #: qtplugins/povray/povray.cpp:82 qtplugins/vrml/vrml.cpp:82 #, fuzzy msgid "Save File" msgstr "儲存影片檔" #: qtplugins/povray/povray.cpp:83 msgid "POV-Ray (*.pov);;Text file (*.txt)" msgstr "" #: qtplugins/povray/povray.h:36 msgid "POVRay" msgstr "" #: qtplugins/povray/povray.h:40 #, fuzzy msgid "Render the scene using POV-Ray." msgstr "使用 POV-Ray 呈現" #: qtplugins/qtaim/qtaimengine.h:39 qtplugins/qtaim/qtaimextension.cpp:90 #: qtplugins/qtaim/qtaimextension.h:35 msgid "QTAIM" msgstr "QTAIM" #: qtplugins/qtaim/qtaimengine.h:43 msgid "Renders primitives using QTAIM properties" msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:59 msgid "Molecular Graph..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:66 msgid "Molecular Graph with Lone Pairs..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:73 msgid "Atomic Charge..." msgstr "" #: qtplugins/qtaim/qtaimextension.cpp:90 msgid "E&xtensions" msgstr "延伸功能" #: qtplugins/qtaim/qtaimextension.cpp:122 msgid "Open WFN File" msgstr "開啟 WFN 檔" #: qtplugins/qtaim/qtaimextension.cpp:123 msgid "WFN files (*.wfn);;All files (*.*)" msgstr "WFN 檔 (*.wfn);;所有檔案 (*.*)" #: qtplugins/qtaim/qtaimextension.h:36 msgid "QTAIM extension" msgstr "QTAIM 延伸" #: qtplugins/quantuminput/quantuminput.cpp:180 msgid "" "Select the python interpreter used to run input generator scripts.\n" "Avogadro must be restarted for any changes to take effect." msgstr "" #: qtplugins/quantuminput/quantuminput.h:56 msgid "Quantum input" msgstr "" #: qtplugins/quantuminput/quantuminput.h:60 #, fuzzy msgid "Generate input for quantum codes." msgstr "為量子化學套件產生輸入檔案" #: qtplugins/quantumoutput/quantumoutput.cpp:60 #, fuzzy msgid "Calculate electronic surfaces..." msgstr "計算電子密度" #: qtplugins/quantumoutput/quantumoutput.cpp:155 #, fuzzy msgid "Calculating electron density" msgstr "計算電子密度" #: qtplugins/quantumoutput/quantumoutput.cpp:162 #, fuzzy, qt-format msgid "Calculating molecular orbital %L1" msgstr "計算及顯示分子軌域" #: qtplugins/quantumoutput/quantumoutput.h:57 msgid "Quantum output" msgstr "" #: qtplugins/quantumoutput/quantumoutput.h:59 msgid "Read output from quantum codes." msgstr "" #: qtplugins/quantumoutput/surfacedialog.cpp:83 #, fuzzy, qt-format msgctxt "Molecular orbital" msgid "MO %L1" msgstr "MO %L1" #: qtplugins/quantumoutput/surfacedialog.cpp:85 #, fuzzy msgctxt "Highest occupied molecular orbital" msgid "(HOMO)" msgstr "(HOMO, 最高被佔有軌域)" #: qtplugins/quantumoutput/surfacedialog.cpp:87 #, fuzzy msgctxt "Lowest unoccupied molecular orbital" msgid "(LUMO)" msgstr "(LUMO, 最低未被佔有軌域)" #: qtplugins/quantumoutput/surfacedialog.cpp:105 #, qt-format msgctxt "Cube File" msgid "Cube %L1" msgstr "" #: qtplugins/resetview/resetview.cpp:29 msgid "Center" msgstr "" #: qtplugins/resetview/resetview.cpp:30 msgid "Align View to Axes" msgstr "" #: qtplugins/resetview/resetview.h:40 #, fuzzy msgid "ResetView" msgstr "重設" #: qtplugins/resetview/resetview.h:44 msgid "Adjust the camera and view" msgstr "" #: qtplugins/scriptfileformats/scriptfileformats.h:39 #, fuzzy msgid "Script File Formats" msgstr "輸入檔案產生器" #: qtplugins/scriptfileformats/scriptfileformats.h:43 msgid "Load file reader/writers from external scripts." msgstr "" #: qtplugins/select/select.cpp:34 #, fuzzy msgid "Select All" msgstr "全部刪除" #: qtplugins/select/select.cpp:39 #, fuzzy msgid "Select None" msgstr "選擇" #: qtplugins/select/select.cpp:48 #, fuzzy msgid "Invert Selection" msgstr "反向選擇" #: qtplugins/select/select.cpp:59 #, fuzzy msgid "Change selections" msgstr " 價電子" #: qtplugins/select/select.cpp:69 msgid "&Select" msgstr "選取" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:183 #. i18n: ectx: property (text), widget (QPushButton, selectSubgroupButton) #: qtplugins/select/select.h:35:678 #, fuzzy msgid "Select" msgstr "選取" #: qtplugins/selectiontool/selectiontool.cpp:55 msgid "Selection" msgstr "選擇" #: qtplugins/selectiontool/selectiontool.h:45 #: qtplugins/selectiontool/selectiontool.h:46 #, fuzzy msgid "Selection tool" msgstr "選擇" #: qtplugins/spacegroup/spacegroup.cpp:63 msgid "Perceive Space Group" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:99 #. i18n: ectx: property (text), widget (QPushButton, symmetrizeMoleculeButton) #: qtplugins/spacegroup/spacegroup.cpp:81:663 msgid "Symmetrize" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:91 #: qtplugins/spacegroup/spacegroup.cpp:305 msgid "Reduce to Asymmetric Unit" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:97 msgid "Set Tolerance" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:118 msgid "Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:192 msgid "Failure" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:193 msgid "" "Space group perception failed.\n" "Would you like to try again with a different tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:208 msgid "Primitive Reduction" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:209 #: qtplugins/spacegroup/spacegroup.cpp:234 #: qtplugins/spacegroup/spacegroup.cpp:259 #, qt-format msgid "" "The tolerance is currently set to: %1.\n" "Proceed with this tolerance?" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:222 msgid "" "Primitive reduction failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:247 msgid "" "Conventionalize cell failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:271 msgid "" "Symmetrization failed.\n" "Please check your crystal and try again with a different tolerance." msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:326 #, fuzzy msgid "Avogadro2" msgstr "Avogadro 亞佛加厥" #: qtplugins/spacegroup/spacegroup.cpp:327 msgid "Select tolerance in Å:" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "International" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hall" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:343 msgid "Hermann-Mauguin" msgstr "" #: qtplugins/spacegroup/spacegroup.cpp:356 msgid "Select Space Group" msgstr "" #: qtplugins/spacegroup/spacegroup.h:35 msgid "SpaceGroup" msgstr "" #: qtplugins/spacegroup/spacegroup.h:76 msgid "Space group features for crystals." msgstr "" #: qtplugins/spectra/spectra.cpp:40 #, fuzzy msgid "Vibrational modes..." msgstr "Vibrations 振動" #: qtplugins/spectra/spectra.h:43 #, fuzzy msgid "Spectra and Vibrations" msgstr "呈現光譜" #: qtplugins/spectra/spectra.h:47 #, fuzzy msgid "Display spectra and vibrational modes." msgstr "顯示 &fractional 坐標" #: qtplugins/symmetry/operationstablemodel.cpp:60 msgid "Type" msgstr "種類" #: qtplugins/symmetry/operationstablemodel.cpp:62 msgid "Class" msgstr "" #: qtplugins/symmetry/operationstablemodel.cpp:64 msgid "Element" msgstr "元素" #: qtplugins/symmetry/symmetry.cpp:51 msgid "Symmetry Properties..." msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::SymmetryWidget) #: qtplugins/symmetry/symmetry.h:44:648 msgid "Symmetry" msgstr "" #: qtplugins/symmetry/symmetry.h:77 msgid "Provide symmetry functionality." msgstr "" #: qtplugins/symmetry/symmetryscene.h:44 #, fuzzy msgid "Symmetry Elements" msgstr "依照元素來選擇" #: qtplugins/symmetry/symmetryscene.h:46 #, fuzzy msgid "Render symmetry elements." msgstr "呈現分子的偶極矩" #: qtplugins/symmetry/symmetryutil.cpp:32 msgid "∞" msgstr "" #: qtplugins/vanderwaals/vanderwaals.h:40 msgid "Van der Waals" msgstr "凡得瓦" #: qtplugins/vanderwaals/vanderwaals.h:42 msgid "Simple display of VdW spheres." msgstr "" #: qtplugins/vanderwaalsao/vanderwaalsao.h:41 #, fuzzy msgid "Van der Waals (AO)" msgstr "凡得瓦" #: qtplugins/vanderwaalsao/vanderwaalsao.h:45 msgid "Simple display of VdW spheres with ambient occlusion." msgstr "" #: qtplugins/vrml/vrml.cpp:41 #, fuzzy msgid "VRML Render" msgstr "呈現" #: qtplugins/vrml/vrml.cpp:83 msgid "VRML (*.wrl);;Text file (*.txt)" msgstr "" #: qtplugins/vrml/vrml.h:36 msgid "VRML" msgstr "" #: qtplugins/vrml/vrml.h:40 #, fuzzy msgid "Render the scene using VRML." msgstr "使用 POV-Ray 呈現" #: qtplugins/wireframe/wireframe.h:39 msgid "Wireframe" msgstr "網架" #: qtplugins/wireframe/wireframe.h:43 #, fuzzy msgid "Render the molecule as a wireframe." msgstr "以棒狀呈現分子" #. i18n: file: molequeue/inputgeneratordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::InputGeneratorDialog) #. i18n: file: molequeue/molequeuedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::MoleQueue::MoleQueueDialog) #. i18n: file: qtplugins/clientserver/filedialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, FileDialog) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::MolecularPropertiesDialog) msgid "Dialog" msgstr "對話框" #. i18n: file: molequeue/inputgeneratorwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::InputGeneratorWidget) #. i18n: file: molequeue/molequeuewidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::MoleQueue::MoleQueueWidget) #. i18n: file: qtplugins/editor/editortoolwidget.ui:14 #. i18n: ectx: property (windowTitle), widget (QWidget, Avogadro::QtPlugins::EditorToolWidget) msgid "Form" msgstr "Form (表格/形成)" #. i18n: file: molequeue/inputgeneratorwidget.ui:26 #. i18n: ectx: property (title), widget (QGroupBox, groupBox2) #, fuzzy msgid "Calculation Settings" msgstr "選取功能設定" #. i18n: file: molequeue/inputgeneratorwidget.ui:69 #. i18n: ectx: property (text), widget (QPushButton, warningTextButton) msgid "Placeholder text..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:83 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Reset to Default Values" msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:90 #. i18n: ectx: property (text), widget (QCheckBox, debugCheckBox) msgid "Debug script..." msgstr "" #. i18n: file: molequeue/inputgeneratorwidget.ui:113 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:288 #. i18n: ectx: property (text), widget (QPushButton, computeButton) #, fuzzy msgid "Submit Calculation..." msgstr "停止計算" #. i18n: file: molequeue/inputgeneratorwidget.ui:120 #. i18n: ectx: property (text), widget (QPushButton, generateButton) msgid "Write files to disk..." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:30 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Queue and Program:" msgstr "Shader 程式:" #. i18n: file: molequeue/molequeuewidget.ui:50 #. i18n: ectx: property (text), widget (QToolButton, refreshProgramsButton) msgid "Refresh" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:85 #. i18n: ectx: property (toolTip), widget (QLabel, label_7) msgid "" "

Number of processor cores to reserve for this job." msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:88 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Processor cores:" msgstr "處理器:" #. i18n: file: molequeue/molequeuewidget.ui:125 #. i18n: ectx: property (toolTip), widget (QLabel, label) msgid "" "

Delete remote working files upon job completion. " "Results will still be copied to the local MoleQueue job cache first.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:128 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Delete remote files when finished:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:145 #. i18n: ectx: property (toolTip), widget (QLabel, label_2) msgid "" "

Check to prevent this job from showing up in the " "MoleQueue GUI by default.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:148 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Hide job in MoleQueue:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:158 #. i18n: ectx: property (toolTip), widget (QLabel, label_3) msgid "" "

Show a system popup notification when the job's status " "changes.

" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:161 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Show progress notifications:" msgstr "" #. i18n: file: molequeue/molequeuewidget.ui:192 #. i18n: ectx: property (text), widget (QLabel, openOutputLabel) msgid "Open output when finished:" msgstr "" #. i18n: file: qtgui/customelementdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtGui::CustomElementDialog) #, fuzzy msgid "Rename Elements" msgstr "變更元素" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:17 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ThreeDMolDialog) msgid "3DMol HTML Snippet" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:34 #. i18n: ectx: property (text), widget (QPushButton, copyButton) msgid "&Copy to Clipboard" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:37 #. i18n: ectx: property (shortcut), widget (QPushButton, copyButton) #, fuzzy msgid "Ctrl+C" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:44 #. i18n: ectx: property (text), widget (QPushButton, exitButton) msgid "&Exit" msgstr "" #. i18n: file: qtplugins/3dmol/3dmoldialog.ui:47 #. i18n: ectx: property (shortcut), widget (QPushButton, exitButton) #, fuzzy msgid "Ctrl+E" msgstr "Ctrl+Alt+O" #. i18n: file: qtplugins/apbs/apbsdialog.ui:20 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) #, fuzzy msgid "Structure Input File" msgstr "Dalton 輸入檔" #. i18n: file: qtplugins/apbs/apbsdialog.ui:28 #. i18n: ectx: property (text), widget (QRadioButton, generateFromPdbButton) msgid "Generate Input From PDB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:40 #. i18n: ectx: property (text), widget (QLabel, pdbFileLabel) #, fuzzy msgid "PDB File:" msgstr "par file (標準檔案):" #. i18n: file: qtplugins/apbs/apbsdialog.ui:50 #. i18n: ectx: property (text), widget (QPushButton, openPdbFileButton) #. i18n: file: qtplugins/apbs/apbsdialog.ui:142 #. i18n: ectx: property (text), widget (QPushButton, openPqrFileButton) msgid "..." msgstr "..." #. i18n: file: qtplugins/apbs/apbsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Force Field:" msgstr "力場" #. i18n: file: qtplugins/apbs/apbsdialog.ui:75 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "AMBER" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:80 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "CHARMM" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:85 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PARSE" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:90 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "TYL06" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:95 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "PEOEPB" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:100 #. i18n: ectx: property (text), item, widget (QComboBox, forceFieldComboBox) msgid "SWANSON" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:114 #. i18n: ectx: property (text), widget (QPushButton, runPdb2PqrButton) msgid "Run PDB2PQR" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:123 #. i18n: ectx: property (text), widget (QRadioButton, loadFromPqrButton) msgid "Load Existing PQR File" msgstr "" #. i18n: file: qtplugins/apbs/apbsdialog.ui:132 #. i18n: ectx: property (text), widget (QLabel, pqrFileLabel) #, fuzzy msgid "PQR File:" msgstr "par file (標準檔案):" #. i18n: file: qtplugins/apbs/apbsdialog.ui:156 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "APBS Input File" msgstr "Dalton 輸入檔" #. i18n: file: qtplugins/apbs/apbsdialog.ui:170 #. i18n: ectx: property (text), widget (QPushButton, saveInputFileButton) #, fuzzy msgid "Save Input File" msgstr "儲存輸入面板" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Success!" msgstr "成功了!" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:27 #. i18n: ectx: property (text), widget (QCheckBox, loadStructureCheckBox) #, fuzzy msgid "Load Structure File" msgstr "結構" #. i18n: file: qtplugins/apbs/apbsoutputdialog.ui:37 #. i18n: ectx: property (text), widget (QCheckBox, loadCubeCheckBox) #, fuzzy msgid "Load Cube File" msgstr "載入檔案..." #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ConnectionSettingsDialog) #, fuzzy msgid "Server settings" msgstr "測量功能設定" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label7) #, fuzzy msgid "&Hostname:" msgstr "檔名:" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:64 #. i18n: ectx: property (text), widget (QLabel, label8) msgid "Port" msgstr "" #. i18n: file: qtplugins/clientserver/connectionsettingsdialog.ui:86 #. i18n: ectx: property (text), widget (QPushButton, pushTestConnection) msgid "Test C&onnection..." msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Look in:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:66 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateBack) #, fuzzy msgid "Navigate Back" msgstr "導覽" #. i18n: file: qtplugins/clientserver/filedialog.ui:79 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateForward) #, fuzzy msgid "Navigate Forward" msgstr "導覽" #. i18n: file: qtplugins/clientserver/filedialog.ui:92 #. i18n: ectx: property (toolTip), widget (QToolButton, NavigateUp) #, fuzzy msgid "Navigate Up" msgstr "導覽" #. i18n: file: qtplugins/clientserver/filedialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "File name:" msgstr "檔名:" #. i18n: file: qtplugins/clientserver/filedialog.ui:153 #. i18n: ectx: property (text), widget (QPushButton, OK) msgid "OK" msgstr "確定" #. i18n: file: qtplugins/clientserver/filedialog.ui:160 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Files of type:" msgstr "" #. i18n: file: qtplugins/clientserver/filedialog.ui:174 #. i18n: ectx: property (text), widget (QPushButton, Cancel) msgid "Cancel" msgstr "取消" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::CoordinateEditorDialog) #, fuzzy msgid "Coordinate Editor" msgstr "直角坐標編輯器" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Preset:" msgstr "重設" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:35 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Distance Unit:" msgstr "距離" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:46 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) #, fuzzy msgid "Angstrom" msgstr "埃" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, distanceUnit) msgid "Bohr" msgstr "Bohr" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_2) #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:31 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Format:" msgstr "格式:" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:71 #. i18n: ectx: property (toolTip), widget (QLineEdit, spec) msgid "" "

Specification of format. Each character indicates a " "value to write per atom:

# - " "Atom index (1, 2, ..., numAtoms)
Z - Atomic number (e.g. \"6\" for carbon)
G - GAMESS-style atomic number (e.g. \"6.0\" for " "carbon)
N - Element name (e.g. " "\"Carbon\")
S - Element symbol " "(e.g. \"C\" for carbon)
x - X " "position coordinate
y - Y " "position coordinate
z - Z " "position coordinate
a - 'a' " "lattice coordinate (crystals only)
b - 'b' lattice coordinate (crystals only)
c - 'c' lattice coordinate (crystals only)
_ - A literal space (\" \"), useful for " "alignment
0 - A literal 0 " "(\"0\"), useful for optimization flags
1 - A literal 1 (\"1\"), useful for optimization flags

" msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:78 #. i18n: ectx: property (text), widget (QToolButton, help) msgid "Help..." msgstr "" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:131 #. i18n: ectx: property (text), widget (QPushButton, revert) #, fuzzy msgid "Revert" msgstr "恢復改變" #. i18n: file: qtplugins/coordinateeditor/coordinateeditordialog.ui:145 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "Apply" msgstr "套用" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::ImportCrystalDialog) msgid "Import Crystal" msgstr "" #. i18n: file: qtplugins/crystal/importcrystaldialog.ui:20 #. i18n: ectx: property (text), widget (QLabel, label) msgid "File extension for Open Babel conversion (default - Avogadro::POSCAR):" msgstr "" #. i18n: file: qtplugins/crystal/supercelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::SupercellDialog) #, fuzzy msgid "Supercell Parameters" msgstr "超級晶格參數" #. i18n: file: qtplugins/crystal/supercelldialog.ui:22 #. i18n: ectx: property (title), widget (QGroupBox, groupBox) msgid "Super Cell Options" msgstr "超級晶格選項" #. i18n: file: qtplugins/crystal/supercelldialog.ui:28 #. i18n: ectx: property (text), widget (QLabel, aRepeatLabel) msgid "A repeat:" msgstr "A 重複:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:42 #. i18n: ectx: property (text), widget (QLabel, bRepeatLabel) msgid "B repeat:" msgstr "B 重複:" #. i18n: file: qtplugins/crystal/supercelldialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, cRepeatLabel) msgid "C repeat:" msgstr "C 重複:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::UnitCellDialog) #, fuzzy msgid "Unit Cell Editor" msgstr "隱藏編輯者(&E)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:27 #. i18n: ectx: property (text), widget (QLabel, label) msgid "A:" msgstr "A:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:40 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, a) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:72 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, b) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:104 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, c) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:100 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_wavelength) msgid " Å" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:62 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "B:" msgstr "B:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:94 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "C:" msgstr "C:" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "α:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:143 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "β:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:153 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "γ:" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:163 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, alpha) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:182 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, gamma) #. i18n: file: qtplugins/crystal/unitcelldialog.ui:201 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, beta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:26 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_max2Theta) #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:48 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, spin_peakWidth) msgid "°" msgstr "°" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:231 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Cell Matrix:" msgstr "MOPAC Z-Matrix" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:248 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "Fractional Matrix:" msgstr "分數 (fractional)" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:278 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:114 #. i18n: ectx: property (text), widget (QCheckBox, transformAtoms) #, fuzzy msgid "&Transform Atoms" msgstr "Transformation Method" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:300 #. i18n: ectx: property (text), widget (QPushButton, apply) msgid "&Apply" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:307 #. i18n: ectx: property (text), widget (QPushButton, revert) msgid "&Revert" msgstr "" #. i18n: file: qtplugins/crystal/unitcelldialog.ui:314 #. i18n: ectx: property (text), widget (QPushButton, pushButton) msgid "&Hide" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::VolumeScalingDialog) msgid "Scale Unit Cell Volume" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label) msgid "New &Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:38 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "&Scaling Factor:" msgstr "縮放因子" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:51 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Current Volume:" msgstr "" #. i18n: file: qtplugins/crystal/volumescalingdialog.ui:58 #. i18n: ectx: property (text), widget (QLabel, currentVolume) msgid "TextLabel" msgstr "文字標籤" #. i18n: file: qtplugins/editor/editortoolwidget.ui:23 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Element:" msgstr "元素:" #. i18n: file: qtplugins/editor/editortoolwidget.ui:33 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Bond Order:" msgstr "鍵的級數:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, GamessInputDialog) msgid "GAMESS Input" msgstr "GAMESS (原子分子之電子結構系統) 輸入" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:34 #. i18n: ectx: attribute (title), widget (QWidget, basicWidget) msgid "&Basic Setup" msgstr "建立" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "In:" msgstr "In:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:73 #. i18n: ectx: property (text), widget (QLabel, label_5) msgid "Multiplicity:" msgstr "多重性" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:86 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "With:" msgstr "With:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:99 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Title:" msgstr "標題:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:176 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Charge:" msgstr "電荷:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:209 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Calculate:" msgstr "計算:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:235 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Filename Base:" msgstr "檔名:" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:245 #. i18n: ectx: property (placeholderText), widget (QLineEdit, baseNameEdit) msgid "job" msgstr "" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:258 #. i18n: ectx: property (text), widget (QPushButton, resetAllButton) msgid "Reset All" msgstr "恢復預設值" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:265 #. i18n: ectx: property (text), widget (QPushButton, defaultsButton) msgid "Defaults" msgstr "預設值" #. i18n: file: qtplugins/gamessinput/gamessinputdialog.ui:295 #. i18n: ectx: property (text), widget (QPushButton, generateButton) #, fuzzy msgid "Save File..." msgstr "載入檔案..." #. i18n: file: qtplugins/importpqr/pqrwidget.ui:34 #. i18n: ectx: property (text), widget (QPushButton, searchButton) msgid "Search" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:51 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "name" msgstr "名稱" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:56 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "tag" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "synonym" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "formula" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, searchTypeBox) msgid "inchi" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:85 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Search By: " msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:106 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Formula:" msgstr "格式:" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:132 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) msgid "Download" msgstr "" #. i18n: file: qtplugins/importpqr/pqrwidget.ui:139 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Name:" msgstr "" #. i18n: file: qtplugins/lineformatinput/lineformatinputdialog.ui:41 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Descriptor:" msgstr "沒有描述" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:25 #. i18n: ectx: property (text), widget (QLabel, label_4) #, fuzzy msgid "Molecular Mass (g/mol):" msgstr "分子量 (g/mol):" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:32 #. i18n: ectx: property (text), widget (QLabel, molMassLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:46 #. i18n: ectx: property (text), widget (QLabel, formulaLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:60 #. i18n: ectx: property (text), widget (QLabel, atomCountLabel) #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:74 #. i18n: ectx: property (text), widget (QLabel, bondCountLabel) msgid "TODO" msgstr "TODO" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:39 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Chemical Formula:" msgstr "化學式:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:53 #. i18n: ectx: property (text), widget (QLabel, label_7) msgid "Number of Atoms:" msgstr "原子的數目:" #. i18n: file: qtplugins/molecularproperties/molecularpropertiesdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_8) msgid "Number of Bonds:" msgstr "鍵的數目:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:20 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::OBForceFieldDialog) #, fuzzy msgid "Geometry Optimization Parameters" msgstr "幾何構形最適化" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:39 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_2) #, fuzzy msgid "Optimization Method" msgstr "最適化方法" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:45 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Force field:" msgstr "力場" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:52 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Optimization algorithm:" msgstr "最適化方法" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:59 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Line search technique:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:67 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) msgid "Steepest Descent" msgstr "Steepest Descent (最陡下降)" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:72 #. i18n: ectx: property (text), item, widget (QComboBox, algorithm) #, fuzzy msgid "Conjugate Gradient" msgstr "共軛梯度" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Simple" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:86 #. i18n: ectx: property (text), item, widget (QComboBox, lineSearch) msgid "Newton's Method" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:97 #. i18n: ectx: property (text), widget (QCheckBox, useRecommended) #, fuzzy msgid "Autodetect" msgstr "自動旋轉 (可以設定的旋轉軸, 選轉方向及速度)" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:114 #. i18n: ectx: property (title), widget (QGroupBox, enableCutoffs) msgid "Limit Non-Bonded Interactions" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:126 #. i18n: ectx: property (text), widget (QLabel, label_7) #, fuzzy msgid "Van der Waals cutoff distance:" msgstr "凡得瓦, 等值面 =%L1" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:133 #. i18n: ectx: property (text), widget (QLabel, label_6) msgid "Pair update frequency:" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:140 #. i18n: ectx: property (text), widget (QLabel, label_8) #, fuzzy msgid "electrostatic cutoff distance:" msgstr "靜電位能" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:147 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, vdwCutoff) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:166 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, eleCutoff) msgid "Å" msgstr "" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:185 #. i18n: ectx: property (suffix), widget (QSpinBox, pairFreq) #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:246 #. i18n: ectx: property (suffix), widget (QSpinBox, stepLimit) #, fuzzy msgid " steps" msgstr "steps" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:207 #. i18n: ectx: property (title), widget (QGroupBox, groupBox_3) #, fuzzy msgid "Convergence Criteria" msgstr "梯度收斂的標準" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:213 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "\"Energy\" convergence:" msgstr "收斂" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:220 #. i18n: ectx: property (text), widget (QLabel, label_5) #, fuzzy msgid "Step limit:" msgstr "時間限制:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:227 #. i18n: ectx: property (suffix), widget (QSpinBox, energyConv) #, fuzzy msgid " units" msgstr "單位:" #. i18n: file: qtplugins/openbabel/obforcefielddialog.ui:230 #. i18n: ectx: property (prefix), widget (QSpinBox, energyConv) msgid "10^" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "Theoretical XRD Pattern Options" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:17 #. i18n: ectx: property (toolTip), widget (QDialog, Avogadro::QtPlugins::XrdOptionsDialog) msgid "" "

The broadening of the peak at the base (in degrees)." msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:23 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_max2Theta) msgid "" "

The max 2theta value in degrees.

Default: " "162.00°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:45 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_peakWidth) msgid "" "

The broadening of the peaks at the base in degrees.

Default: 0.52958°

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:67 #. i18n: ectx: property (text), widget (QLabel, label_3) #, fuzzy msgid "Number of points:" msgstr "鍵的數目:" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:77 #. i18n: ectx: property (text), widget (QLabel, label_2) msgid "Peak width:" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:87 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Wavelength:" msgstr "波長 (nm)" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:97 #. i18n: ectx: property (toolTip), widget (QDoubleSpinBox, spin_wavelength) msgid "" "

The wavelength of the x-ray in Angstroms.

Default: 1.50560 Å

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:122 #. i18n: ectx: property (toolTip), widget (QSpinBox, spin_numDataPoints) msgid "" "

The number of 2theta points to generate.

Default: 1000

" msgstr "" #. i18n: file: qtplugins/plotxrd/xrdoptionsdialog.ui:141 #. i18n: ectx: property (text), widget (QLabel, label_4) msgid "Max 2*theta:" msgstr "" #. i18n: file: qtplugins/plugindownloader/downloaderwidget.ui:20 #. i18n: ectx: property (text), widget (QPushButton, downloadButton) #, fuzzy msgid "Download Selected" msgstr "刪除所選取項目" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:19 #. i18n: ectx: property (text), widget (QLabel, atomRadiusLabel) msgid "Critical Point Radius:" msgstr "臨界點半徑:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, bondRadiusLabel) msgid "Bond Path Radius:" msgstr "鍵路徑之半徑:" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:130 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Covalent" msgstr "共價" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:135 #. i18n: ectx: property (text), item, widget (QComboBox, combo_radius) msgid "Constant Size" msgstr "固定大小" #. i18n: file: qtplugins/qtaim/qtaimsettingswidget.ui:157 #. i18n: ectx: property (text), widget (QLabel, opacitySliderLabel) msgid "Opacity:" msgstr "不透明度:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:23 #. i18n: ectx: property (windowTitle), widget (QDialog, SurfaceDialog) #, fuzzy msgid "Surface Dialog" msgstr "表面/曲面" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:41 #. i18n: ectx: attribute (title), widget (QWidget, surfaceTab) msgid "Surfaces" msgstr "表面/曲面" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:54 #. i18n: ectx: property (currentText), widget (QComboBox, resolutionCombo) #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:71 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Medium" msgstr "中等" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:61 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) #, fuzzy msgid "Very Low" msgstr "非常低" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:66 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Low" msgstr "低" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:76 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "High" msgstr "高" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:81 #. i18n: ectx: property (text), item, widget (QComboBox, resolutionCombo) msgid "Very High" msgstr "很高" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:97 #. i18n: ectx: property (suffix), widget (QDoubleSpinBox, resolutionDoubleSpinBox) msgid " Ang." msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:166 #. i18n: ectx: property (text), widget (QLineEdit, isosurfaceLineEdit) msgid "0.03" msgstr "" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:191 #. i18n: ectx: property (text), widget (QLabel, label_2) #, fuzzy msgid "Isosurface Val.:" msgstr "等曲面值" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:201 #. i18n: ectx: property (text), widget (QLabel, label_3) msgid "Resolution:" msgstr "解析度:" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:211 #. i18n: ectx: property (text), widget (QLabel, label) #, fuzzy msgid "Surface:" msgstr "表面/曲面" #. i18n: file: qtplugins/quantumoutput/surfacedialog.ui:228 #. i18n: ectx: property (text), widget (QPushButton, calculateButton) msgid "Calculate" msgstr "計算" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:14 #. i18n: ectx: property (windowTitle), widget (QDialog, VibrationDialog) #, fuzzy msgid "Vibrational Modes" msgstr "Vibrations 振動" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:56 #. i18n: ectx: property (text), widget (QLabel, label) msgid "Amplitude:" msgstr "振幅:" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:96 #. i18n: ectx: property (text), widget (QPushButton, startButton) #, fuzzy msgid "Start Animation" msgstr "啟動動畫" #. i18n: file: qtplugins/spectra/vibrationdialog.ui:103 #. i18n: ectx: property (text), widget (QPushButton, stopButton) #, fuzzy msgid "Stop Animation" msgstr "停止動畫" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:28 #. i18n: ectx: property (text), widget (QLabel, pointGroupLabel) msgid "C1" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:42 #. i18n: ectx: attribute (title), widget (QWidget, esTab) msgid "Molecule" msgstr "分子" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:48 #. i18n: ectx: property (text), widget (QLabel, esLabel) msgid "Symmetrically equivalent atoms:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:79 #. i18n: ectx: property (text), widget (QCheckBox, lockSymmetryCheckBox) msgid "Lock Symmetry" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:109 #. i18n: ectx: attribute (title), widget (QWidget, operationsTab) #, fuzzy msgid "Operations" msgstr "選項" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:115 #. i18n: ectx: property (text), widget (QLabel, operationsLabel) msgid "Symmetry elements:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:145 #. i18n: ectx: attribute (title), widget (QWidget, subgroupsTab) msgid "Subgroups" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:151 #. i18n: ectx: property (text), widget (QLabel, subgroupsLabel) msgid "Subgroups:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:211 #. i18n: ectx: property (text), widget (QLabel, toleranceLabel) msgid "Tolerance:" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:222 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Tight" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:227 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Normal" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:232 #. i18n: ectx: property (text), item, widget (QComboBox, toleranceCombo) msgid "Loose" msgstr "" #. i18n: file: qtplugins/symmetry/symmetrywidget.ui:240 #. i18n: ectx: property (text), widget (QPushButton, detectSymmetryButton) msgid "Detect Symmetry" msgstr "" msgctxt "NAME OF TRANSLATORS" msgid "Your names" msgstr "" ",Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang, ," "Launchpad Contributions:,iychiang, ,Launchpad Contributions:,iychiang" msgctxt "EMAIL OF TRANSLATORS" msgid "Your emails" msgstr "" ",,iychiang1809@gmail.com,,,iychiang1809@gmail.com,,,iychiang1809@gmail.com,,," "iychiang1809@gmail.com,,,iychiang1809@gmail.com,,,iychiang1809@gmail.com,,," "iychiang1809@gmail.com,,,iychiang1809@gmail.com,,,iychiang1809@gmail.com,,," "iychiang1809@gmail.com,,,iychiang1809@gmail.com,,,iychiang1809@gmail.com,,," "iychiang1809@gmail.com,,,iychiang1809@gmail.com" #~ msgid "Color by Index" #~ msgstr "依照 index 上顏色" #~ msgid "Color by Index (red, orange, yellow, green, blue, violet)." #~ msgstr "依照 index 上顏色 (紅, 橘, 黃, 綠, 藍, 紫)" #~ msgid "Color by Partial Charge" #~ msgstr "依照部分電荷上顏色" #~ msgid "Color by atomic partial charge (blue = positive, red = negative." #~ msgstr "以不同顏色顯示原子的電荷分佈 (藍色表示正電, 紅色表示負電)" #~ msgid "Custom Color:" #~ msgstr "自訂顏色:" #~ msgid "Custom Color" #~ msgstr "自訂顏色" #~ msgid "Set custom colors for objects" #~ msgstr "為物件設定顏色" #~ msgid "Color by Distance" #~ msgstr "以不同顏色表示距離" #~ msgid "Color by distance from the first atom." #~ msgstr "以不同顏色表示與第一個原子的距離" #~ msgid "Color by Element" #~ msgstr "依元素標示顏色" #~ msgid "Color by Element (carbon = grey, oxygen = red, ...)." #~ msgstr "依元素標示顏色 (碳=灰色, 氧=紅色, ...)" #~ msgid "Color by Residue" #~ msgstr "依照殘基上顏色" #~ msgid "Color by Residue (amino acid type, hydrophobicity, ..." #~ msgstr "依照殘基上顏色 (胺基酸種類, 疏水性等)" #~ msgid "SMARTS Pattern:" #~ msgstr "SMARTS 樣式:" #~ msgid "Highlight Color:" #~ msgstr "重要標示之顏色:" #~ msgid "Color by SMARTS Pattern" #~ msgstr "依照 SMARTS 樣式呈色" #~ msgid "Highlight particular features which match a SMARTS pattern." #~ msgstr "標示出符合 SMARTS 樣式之特色" #~ msgid "Ununtrium" #~ msgstr "Ununtrium" #~ msgid "Ununpentium" #~ msgstr "Ununpentium" #~ msgid "Ununseptium" #~ msgstr "Ununseptium" #~ msgid "Ununoctium" #~ msgstr "Ununoctium" #~ msgid "Engines" #~ msgstr "引擎" #~ msgid "Axes" #~ msgstr "軸" #~ msgid "Renders the x, y, and z axes at the origin" #~ msgstr "在開始就呈現 x, y, z 軸" #~ msgid "Renders primitives using Balls (atoms) and Sticks (bonds)" #~ msgstr "使用球 (原子) 及棒 (鍵) 呈現 primitives" #~ msgid "Cartoon" #~ msgstr "卡通" #~ msgid "Renders protein secondary structure" #~ msgstr "呈現蛋白質的二級結構" #~ msgid "Dipole" #~ msgstr "雙極" #~ msgid "Force" #~ msgstr "力" #~ msgid "Renders force displacements on atoms" #~ msgstr "呈現原子上的 force displacements" #~ msgid "Hydrogen Bond" #~ msgstr "氫鍵" #~ msgid "Renders hydrogen bonds" #~ msgstr "繪出氫的結合鍵" #~ msgid "Select Atom Labels Color" #~ msgstr "選擇原子標示之顏色" #~ msgid "Select Bond Labels Color" #~ msgstr "選擇鍵標示之顏色" #~ msgid "Select Atom Labels Font" #~ msgstr "選擇原子標示之字型" #~ msgid "Select Bond Labels Font" #~ msgstr "選擇鍵標示之字型" #~ msgid "Label" #~ msgstr "標記" #~ msgid "Polygon" #~ msgstr "多邊形" #~ msgid "Renders atoms as tetrahedra, octahedra, and other polygons" #~ msgstr "以四面體八面體或其他呈現原子團的形狀" #~ msgid "Ribbon" #~ msgstr "帶狀" #~ msgid "Renders protein backbones as ribbons" #~ msgstr "以彩帶呈現蛋白質的骨架" #~ msgid "Ring" #~ msgstr "環" #~ msgid "Renders rings with colored planes" #~ msgstr "以彩色平面呈現環狀結構" #~ msgid "Simple Wireframe" #~ msgstr "簡單的框線" #~ msgid "Renders bonds as wires (lines), ideal for large molecules" #~ msgstr "以細線呈現化學鍵, 可用來表達大分子" #~ msgid "Van der Waals Spheres" #~ msgstr "凡得瓦球形" #~ msgid "Renders atoms as Van der Waals spheres" #~ msgstr "將原子繪成凡得瓦球形" #~ msgid "Stick" #~ msgstr "棒狀" #~ msgctxt "Electron density isosurface with a cutoff of %1" #~ msgid "Electron density, isosurface = %L1" #~ msgstr "電子密度, 等值面 = %L1" #~ msgctxt "%1 is mesh name, %2 is the isosurface cutoff" #~ msgid "%1, isosurface = %L2" #~ msgstr "%1, 等值面 = %L2" #~ msgid "Renders bonds as wires (lines), ideal for very large (bio)molecules" #~ msgstr "以細線呈現化學鍵, 可用來表達大分子或生物大分子" #~ msgid "Trajectory files" #~ msgstr "軌跡檔" #~ msgid "DL-POLY HISTORY files" #~ msgstr "DL-POLY HISTORY 檔" #~ msgid "Open Trajectory File" #~ msgstr "開啟軌跡檔" #~ msgid "%1/%2" #~ msgstr "%1/%2" #~ msgid "video files (*.avi)" #~ msgstr "影片檔 (*.avi)" #~ msgid "Adding .avi extension" #~ msgstr "加上附檔名 .avi" #~ msgid "Animation..." #~ msgstr "動畫" #~ msgid "Cannot read file format of file %1." #~ msgstr "無法讀取檔案 %1 的格式。" #~ msgid "Read trajectory file %1 failed." #~ msgstr "無法讀取軌跡檔 %1" #~ msgid "Must specify a valid .avi file name" #~ msgstr "必須要給定有效的 .avi 檔名" #~ msgid "GL widget was not correctly initialized in order to save video" #~ msgstr "無法正確啟動 GL widget 所以無法儲存影片" #~ msgid "Invalid video filename. Must include full directory path" #~ msgstr "無效的影片檔名. 必須包含完整的路徑" #~ msgid "" #~ "Invalid video filename. Must include full directory path and name, " #~ "ending with .avi" #~ msgstr "無效的影片檔名. 必須包含完整的子目錄名稱與檔名, 結尾是 .avi" #~ msgid "Could not determine format from filename: %1" #~ msgstr "無法從檔名 %1 決定檔案的格式" #~ msgid "Animation" #~ msgstr "動畫" #~ msgid "Animate trajectories, reactions, and vibrations." #~ msgstr "使軌跡, 反應與振動變成動畫" #~ msgid "Cartesian Editor" #~ msgstr "直角坐標編輯器" #~ msgid "" #~ "No unit cell defined for molecule -- cannot use fractional coordinates." #~ msgstr "尚未為分子定義單位晶格--無法使用比列坐標 (fractional coordinates)" #~ msgid "Cartesian Editor..." #~ msgstr "直角坐標 (笛卡兒坐標) 編輯" #~ msgid "Cartesian editor" #~ msgstr "直角坐標編輯器" #~ msgid "Number of atoms: %1" #~ msgstr "原子的數目: %1" #~ msgid "Number of rotatable bonds: %1" #~ msgstr "可旋轉的鍵的數目: %1" #~ msgid "Add constraint" #~ msgstr "加入限制條件" #~ msgid "Your molecule must contain at least one atom to add a constraint" #~ msgstr "您的分子至少要有一個原子才能加入一限制條件" #~ msgid "" #~ "Your molecule must contain at least two atoms to add a bond constraint" #~ msgstr "您的分子至少要有兩個原子才能加入一化學鍵結的限制條件" #~ msgid "" #~ "Your molecule must contain at least three atoms to add an angle constraint" #~ msgstr "您的分子至少要三個原子才能加入鍵角的限制條件" #~ msgid "" #~ "Your molecule must contain at least four atoms to add a torsion constraint" #~ msgstr "您的分子至少要有四個原子才能加扭曲的限制條件" #~ msgid "&Settings" #~ msgstr "設定(&S)" #~ msgid "&Length Unit" #~ msgstr "長度單位(&L)" #~ msgid "&Angle Unit" #~ msgstr "角度單位(&A)" #~ msgid "&Coordinate Display" #~ msgstr "顯示坐標" #~ msgid "Show &Editors" #~ msgstr "顯示編輯者(&E)" #~ msgctxt "Unit cell lattice" #~ msgid "Lattice Type: %1" #~ msgstr "晶格種類: %1" #~ msgid "Unit cell volume: %L1%2" #~ msgstr "單位晶格體積: %L1%2" #~ msgid "Undefined" #~ msgstr "未定義" #~ msgctxt "Lattice type" #~ msgid "Triclinic" #~ msgstr "三斜晶系" #~ msgctxt "Lattice type" #~ msgid "Monoclinic" #~ msgstr "單斜晶系" #~ msgctxt "Lattice type" #~ msgid "Orthorhombic" #~ msgstr "斜方晶系" #~ msgctxt "Lattice type" #~ msgid "Tetragonal" #~ msgstr "四方晶系" #~ msgctxt "Lattice type" #~ msgid "Rhombohedral" #~ msgstr "菱形晶系" #~ msgctxt "Lattice type" #~ msgid "Hexagonal" #~ msgstr "六方晶系" #~ msgctxt "Lattice type" #~ msgid "Cubic" #~ msgstr "立方晶格" #~ msgid "&Nanometer" #~ msgstr "奈米 (&N)" #~ msgid "&Picometer" #~ msgstr "皮米 (picometer)(&P)" #~ msgid "&Degree" #~ msgstr "角度 (&D)" #~ msgid "&Radian" #~ msgstr "弧度 (&R)" #~ msgid "Display &cartesian coordinates" #~ msgstr "顯示直角坐標系 (&c)" #~ msgid "Trajectory..." #~ msgstr "軌跡..." #~ msgid "Open chemical file format" #~ msgstr "開起化學檔案格式" #~ msgid "Chemical files (*.xyz)" #~ msgstr "化學檔案 (*.xyz)" #~ msgid "Open parameter file" #~ msgstr "開啟參數檔案" #~ msgid "Chemical files (*.parm7)" #~ msgstr "化學檔案 (*.parm7)" #~ msgid "Import Trajectory" #~ msgstr "匯入軌跡" #~ msgid "Import trajectory files" #~ msgstr "匯入軌跡檔" #~ msgid "Setup Force Field..." #~ msgstr "設定力場..." #~ msgid "Calculate Energy" #~ msgstr "計算能量" #~ msgid "Conformer Search..." #~ msgstr "尋找構形異構物" #~ msgid "Constraints..." #~ msgstr "限制條件..." #~ msgid "Ignore Selection" #~ msgstr "忽略選項" #~ msgid "Fix Selected Atoms" #~ msgstr "固定所選的原子" #~ msgid "&Molecular Mechanics" #~ msgstr "分子力學" #~ msgid "" #~ "Cannot set up the currently selected force field for this molecule. " #~ "Switching to UFF." #~ msgstr "無法在這分子上設定所選的力場. 切換到 UFF." #~ msgid "Energy = %L1 %2" #~ msgstr "能量 = %L1 %2" #~ msgid "Geometric Optimization" #~ msgstr "幾何最佳化" #~ msgid "Forcefield Optimization" #~ msgstr "力埸最佳化" #~ msgid "Systematic Rotor Search" #~ msgstr "Systematic Rotor Search" #~ msgid "Random Rotor Search" #~ msgstr "Random Rotor Search" #~ msgid "Weighted Rotor Search" #~ msgstr "Weighted Rotor Search" #~ msgid "ForceField" #~ msgstr "力場" #~ msgid "" #~ "Optimize molecules and generate conformers using molecular mechanics " #~ "force fields" #~ msgstr "" #~ "使用分子力學力場 (molecular mechanics force fields) 以最適化分子及產生構形" #~ "異構物" #~ msgid "&Vector Graphics..." #~ msgstr "向量圖形..." #~ msgid "PDF" #~ msgstr "PDF" #~ msgid "Common vector image formats" #~ msgstr "一般向量圖形格式" #~ msgid "SVG" #~ msgstr "SVG" #~ msgid "EPS" #~ msgstr "EPS" #~ msgid "Vector graphics export" #~ msgstr "向量圖形匯出" #~ msgid "Change H to Methyl" #~ msgstr "把氫原子換成甲基" #~ msgid "H to Methyl" #~ msgstr "氫到甲基" #~ msgid "H2Methyl" #~ msgstr "H2Methyl" #~ msgid "Transform hydrogens to methyl groups" #~ msgstr "把氫原子轉成甲基" #~ msgid "Add or remove hydrogens" #~ msgstr "加入或移除氫" #~ msgid "Fragment..." #~ msgstr "片斷..." #~ msgid "Insert SMILES" #~ msgstr "插入 SMILES 文字化學式" #~ msgid "Insert SMILES fragment:" #~ msgstr "插入 SMILES 文字化學式片斷" #~ msgid "Insert Fragment" #~ msgstr "插入片斷" #~ msgid "Insert molecular fragments for building larger molecules" #~ msgstr "插入片斷以建立更大的分子" #~ msgid "Peptide..." #~ msgstr "胜肽..." #~ msgid "Insert Peptide" #~ msgstr "插入胜肽" #~ msgid "Insert oligopeptide sequences" #~ msgstr "插入短胜肽序列" #~ msgid "Invert Chirality" #~ msgstr "反轉掌性" #~ msgid "InvertChiral" #~ msgstr "反轉掌性" #~ msgid "Invert chiral centers" #~ msgstr "反轉掌性中心" #~ msgid "Molecule Properties..." #~ msgstr "分子性質..." #~ msgid "&Properties" #~ msgstr "性質" #~ msgctxt "Unknown molecule name" #~ msgid "unknown" #~ msgstr "未知" #~ msgid "Estimated Dipole Moment (D):" #~ msgstr "估計的偶極矩 (D):" #~ msgctxt "asking server for molecule name" #~ msgid "(pending)" #~ msgstr "(未決)" #~ msgid "Display standard molecular properties." #~ msgstr "顯示標準分子性質" #~ msgid "Fetch from PDB..." #~ msgstr "取自 PDB (蛋白質資料庫)..." #~ msgid "Fetch by chemical name..." #~ msgstr "依化學名提取..." #~ msgid "Fetch from URL..." #~ msgstr "取自 URL..." #~ msgid "PDB Entry" #~ msgstr "PDB 項目" #~ msgid "PDB entry to download." #~ msgstr "可供下載 PDB 的項目" #~ msgid "URL" #~ msgstr "URL" #~ msgid "URL of molecule to download." #~ msgstr "可供下載分子的 URL" #~ msgid "Specified molecule could not be loaded: %1" #~ msgstr "無法載入指定的分子: %1" #~ msgid "Network Fetch" #~ msgstr "從網路讀取" #~ msgid "Fetch molecule files over the network." #~ msgstr "從網路讀取分子檔" #~ msgid "All Files" #~ msgstr "所以的檔案" #~ msgid "Show Preview" #~ msgstr "顯示預覽" #~ msgid "Hide Preview" #~ msgstr "取消預覽" #~ msgid "Intensities" #~ msgstr "強度" #~ msgid "Save POV-Ray rendered image" #~ msgstr "儲存 POV-Ray 呈現影像" #~ msgid "Image files (*.png *.pbm)" #~ msgstr "圖片檔案 (*.png *.pbm)" #~ msgid "POV-Ray..." #~ msgstr "POV-Ray..." #~ msgid "No filename supplied." #~ msgstr "未提供檔名." #~ msgid "No valid filename was supplied." #~ msgstr "未提供有效檔名檔名." #~ msgid "Does not compute." #~ msgstr "無法計算" #~ msgid "" #~ "You requested no direct rendering using POV-Ray and not to keep the POV-" #~ "Ray file. This will result in no output being saved. Are you sure that is " #~ "what you want?" #~ msgstr "" #~ "您要求非直接 POV-Ray 呈現及無要保存 POV-Ray 檔案. 這將導致無法儲存輸出的檔" #~ "案. 您確定要這樣做嗎?" #~ msgid "" #~ "Cannot write to file %1. Do you have permissions to write to that " #~ "location?" #~ msgstr "無法寫入檔案 %1. 您有寫入該處的權限嗎?" #~ msgid "POV-Ray failed to start." #~ msgstr "無法啟動 POV-Ray." #~ msgid "" #~ "POV-Ray failed to start. May be the path to the executable is not set " #~ "correctly." #~ msgstr "無法啟動 POV-Ray. 可能是沒有正確設定可執行檔的路徑." #~ msgid "" #~ "Create POV-Ray files and render them using the command line POV-Ray " #~ "program." #~ msgstr "產生及使用 POV-Ray 指令模式來呈現 POV-Ray 檔案" #~ msgid "Atom Properties..." #~ msgstr "原子的特性" #~ msgid "Bond Properties..." #~ msgstr "鍵的特性" #~ msgid "Angle Properties..." #~ msgstr "鍵角性質..." #~ msgid "Torsion Properties..." #~ msgstr "扭轉的特性..." #~ msgid "Conformer Properties..." #~ msgstr "構形異構物的性質..." #~ msgid "Atom Properties" #~ msgstr "原子的性質" #~ msgid "Bond Properties" #~ msgstr "鍵的性質" #~ msgid "Angle Properties" #~ msgstr "鍵角的性質" #~ msgid "Torsion Properties" #~ msgstr "扭力的性質" #~ msgid "Conformer Properties" #~ msgstr "異構物性質" #~ msgid "Properties" #~ msgstr "性質" #~ msgid "" #~ "Windows for displaying atom, bond, angle and torsion properties. It also " #~ "includes a cartesian coordinate editor." #~ msgstr "" #~ "這些視窗可以用來顯示原子, 鍵, 鍵角,及扭力性質等. 也包含直角座標編輯器." #~ msgid "Valence" #~ msgstr "價" #~ msgid "Partial Charge" #~ msgstr "部份電荷" #~ msgid "Atom" #~ msgstr "原子" #~ msgid "Start Atom" #~ msgstr "起始原子" #~ msgid "Rotatable" #~ msgstr "可旋轉" #~ msgctxt "in Angstrom" #~ msgid "Length %1" #~ msgstr "長度 %1" #~ msgid "Vertex" #~ msgstr "頂點" #~ msgctxt "Degree symbol" #~ msgid "Angle %1" #~ msgstr "角度 %1" #~ msgid "Angle" #~ msgstr "角度" #~ msgid "Atom %1" #~ msgstr "原子 %1" #~ msgctxt "Degree symbol" #~ msgid "Torsion %1" #~ msgstr "扭力 %1" #~ msgid "Torsion" #~ msgstr "扭轉" #~ msgid "Conformer" #~ msgstr "構形異構物" #~ msgid "Yes" #~ msgstr "Yes" #~ msgid "No" #~ msgstr "No" #~ msgid "Python Terminal" #~ msgstr "Python 終端機" #~ msgid "pythonTerminalDock" #~ msgstr "python 程式的小視窗" #~ msgid "Interactive python scripting terminal" #~ msgstr "互動式 python 指令終端機" #~ msgid "Dalton Input File Generator Warning" #~ msgstr "道耳頓輸入檔產生器之警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Dalton input file preview pane?" #~ msgstr "您要更新預覽文字嗎?將會失去在道耳頓輸入檔預覽處所做的改變。" #~ msgid "QM Matches" #~ msgstr "QM 配對" #~ msgctxt "" #~ "Selection to be used as an Effective Fragment Potential in calculations" #~ msgid "EFP Selection..." #~ msgstr "EFP 選項..." #~ msgctxt "Selection to be used for Quantum Mechanical calculations" #~ msgid "QM Selection..." #~ msgstr "QM 選項..." #~ msgid "Delete" #~ msgstr "刪除" #~ msgid "You must make a selection!" #~ msgstr "您必須先選取" #~ msgid "SMILES Conversion Unavailable" #~ msgstr "無法轉換成 SMILES 化學式" #~ msgid "SMILES Format Conversion Not Available!" #~ msgstr "無法使用轉換 SMILES 化學式" #~ msgid "Group Name" #~ msgstr "群組名稱" #~ msgid " (" #~ msgstr " (" #~ msgid "qm" #~ msgstr "qm" #~ msgid "efp" #~ msgstr "efp" #~ msgid ")" #~ msgstr ")" #~ msgid "GAMESS" #~ msgstr "GAMESS (原子分子之電子結構系統)" #~ msgid "Create input files for the GAMESS quantum chemistry package" #~ msgstr "產生匯入檔給 GAMESS 量子化學套件" #~ msgid "Advanced Settings Changed" #~ msgstr "進階設定已變更" #~ msgid "" #~ "Advanced settings have changed.\n" #~ "Discard?" #~ msgstr "" #~ "進階設定已變更\n" #~ "要忽略嗎?" #~ msgid "Advanced Settings Reset" #~ msgstr "重設進階設定" #~ msgid "" #~ "Are you sure you wish to reset advanced settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "您確定要重設進階設定嗎?\n" #~ "將失去原先的變更!" #~ msgid "Basic Settings Reset" #~ msgstr "重設基本設定" #~ msgid "" #~ "Are you sure you wish to reset basic settings?\n" #~ "All changes will be lost!" #~ msgstr "" #~ "您確定要重新設定所有的基本設定?\n" #~ "將會失去原先的變更!" #~ msgid "GAMESS-UK Input Deck Generator Warning" #~ msgstr "GAMESS-UK 輸入面板產生器警告" #~ msgid "GAMESS-UK Input Deck" #~ msgstr "GAMESS-UK 輸入面板" #~ msgid "Gaussian Input Deck Generator Warning" #~ msgstr "Gaussian 輸入平台產生器警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Gaussian input deck preview pane?" #~ msgstr "" #~ "您希望更新預覽的文字嗎? 將會失去所有在 Gaussian 輸入工作區預覽框中的變更" #~ msgid "Gaussian Input Deck" #~ msgstr "Gaussian 輸入平台" #~ msgid "Gaussian Running." #~ msgstr "Gaussian 執行中." #~ msgid "" #~ "Gaussian is already running. Wait until the previous calculation is " #~ "finished." #~ msgstr "Gaussian 正在執行中. 請耐心等候到前一個運算結束." #~ msgid "Gaussian Not Installed." #~ msgstr "尚未安裝 Gaussian." #~ msgid "The G03 executable, cannot be found." #~ msgstr "找不到可執行檔的 G03." #~ msgid "G03 did not start. Perhaps it is not installed correctly." #~ msgstr "無法啟動 G03. 可能是安裝不正確." #~ msgid "Running Gaussian calculation..." #~ msgstr "Running Gaussian calculation..." #~ msgid "G03 Crashed." #~ msgstr "G03 當機." #~ msgid "" #~ "Gaussian did not run correctly. Perhaps it is not installed correctly." #~ msgstr "無法順利執行 Gaussian. 可能是安裝不正確." #~ msgid "&Dalton..." #~ msgstr "道耳頓..." #~ msgid "&GAMESS-UK..." #~ msgstr "&GAMESS-UK..." #~ msgid "&Gaussian..." #~ msgstr "高斯(&G)..." #~ msgid "&MOLPRO..." #~ msgstr "&MOLPRO..." #~ msgid "M&OPAC..." #~ msgstr "M&OPAC..." #~ msgid "&NWChem..." #~ msgstr "&NWChem..." #~ msgid "&Q-Chem..." #~ msgstr "&Q-Chem..." #~ msgid "Molpro Input Deck Generator Warning" #~ msgstr "Moloro 輸入面板產生器警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Molpro input deck preview pane?" #~ msgstr "您想要更新預覽文字嗎, 將會失去在 Molpro 輸入面板預覽方格所作的變更?" #~ msgid "Molpro Input Deck" #~ msgstr "Molpro 輸入面板" #~ msgid "MOPAC Input Warning" #~ msgstr "MOPAC 輸入警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "MOPAC input deck preview pane?" #~ msgstr "您要更新預覽的文字嗎? 將會失去所有在 MOPAC 工具列 作的變更." #~ msgid "MOPAC Input Deck" #~ msgstr "MOPAC 輸入面板" #~ msgid "MOPAC Running." #~ msgstr "MOPAC 執行中." #~ msgid "" #~ "MOPAC is already running. Wait until the previous calculation is finished." #~ msgstr "MOPAC 執行中. 請耐心等候到完成前一個計算." #~ msgid "MOPAC Not Installed." #~ msgstr "尚未安裝 MOPAC." #~ msgid "The MOPAC executable, cannot be found." #~ msgstr "找不到可執行的 MOPAC." #~ msgid "MOPAC failed to start." #~ msgstr "無法啟動 MOPAC" #~ msgid "MOPAC did not start. Perhaps it is not installed correctly." #~ msgstr "無法啟動 MOPAC, 可能是安裝不正確" #~ msgid "Running MOPAC calculation..." #~ msgstr "執行 MOPAC 計算..." #~ msgid "MOPAC Crashed." #~ msgstr "MOPAC 當機" #~ msgid "MOPAC did not run correctly. Perhaps it is not installed correctly." #~ msgstr "無法正確執行 MOPAC, 可能是安裝不正確." #~ msgid "NWChem Input Deck Generator Warning" #~ msgstr "NWChem 輸入工作區產生器警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "NWChem input deck preview pane?" #~ msgstr "" #~ "您希望更新預覽的文字嗎? 將會失去所有在 NWChem 輸入工作區預覽框中的變更" #~ msgid "NWChem Input Deck" #~ msgstr "NWChem 輸入面板" #~ msgid "Q-Chem Input Deck Generator Warning" #~ msgstr "Q-Chem 輸入產生器警告" #~ msgid "" #~ "Would you like to update the preview text, losing all changes made in the " #~ "Q-Chem input deck preview pane?" #~ msgstr "您要更新預覽的文字嗎? 將會失去所有在 Q-Chem 工具列所作的變更." #~ msgid "QChem Input Deck" #~ msgstr "QChem 輸入面板" #~ msgid "Select SMARTS..." #~ msgstr "選擇 SMARTS 化學式..." #~ msgid "Select by Residue..." #~ msgstr "依照殘基來選擇" #~ msgid "Add Named Selection..." #~ msgstr "新增命名的選項" #~ msgid "SMARTS Selection" #~ msgstr "SMARTS 化學式選項" #~ msgid "SMARTS pattern to select" #~ msgstr "請輸入需要的 SMARTS 樣式" #~ msgid "Select by residue" #~ msgstr "依照殘基來選擇" #~ msgid "Residue name" #~ msgstr "殘基名稱" #~ msgid "There is no current selection." #~ msgstr "目前沒有選項" #~ msgid "Add Named Selection" #~ msgstr "新增命名的選項" #~ msgid "Name cannot be empty." #~ msgstr "名稱不能留空白" #~ msgid "There is already a selection with this name." #~ msgstr "已存在一個同名的選項" #~ msgid "Selections" #~ msgstr "選項" #~ msgid "Select atoms, bonds, residues..." #~ msgstr "選取原子, 鍵,殘基..." #~ msgid "GLSL Shaders..." #~ msgstr "GLSL Shaders (GLSL 幕後工程師)..." #~ msgid "Open a vertex shader source file" #~ msgstr "開啟 vertex shader 來源檔" #~ msgid "Vertex shader files (*.vert)" #~ msgstr "Vertex shader 檔案 (*.vert)" #~ msgid "Open a fragment shader source file" #~ msgstr "開啟 fragment shader 來源檔" #~ msgid "Fragment shader files (*.frag)" #~ msgstr "Fragment shader 檔案 (*.frag)" #~ msgid "Open a shader parameters file" #~ msgstr "Open a shader parameters 檔案" #~ msgid "Shader parameters files (*.params)" #~ msgstr "Shader 參數檔案 (*.params)" #~ msgid "GLSL Shaders" #~ msgstr "GLSL Shaders" #~ msgid "Load and use OpenGL 2.0 GLSL shaders" #~ msgstr "載入及使用 OpenGL 2.0 GLSL shaders" #~ msgid "Intensity (arb. units)" #~ msgstr "強度 (arb. 單位)" #~ msgid "Energy (eV)" #~ msgstr "能量 (eV)" #~ msgid "Density of States (states/cell)" #~ msgstr "態密度 (態/晶格)" #~ msgid "Density of States (states/atom)" #~ msgstr "態密度 (態/原子)" #~ msgid "Density of States (states/valence electron)" #~ msgstr "態密度 (態/價電子)" #~ msgid "Transmittance (%)" #~ msgstr "透光度 (%)" #~ msgid "Absorbance (%)" #~ msgstr "吸光度 (%)" #~ msgid "No intensities" #~ msgstr "沒有強度" #~ msgid "" #~ "The vibration data in the molecule you have loaded does not have any " #~ "intensity data. Intensities have been set to an arbitrary value for " #~ "visualization." #~ msgstr "" #~ "您所載入的分子振動資料沒有任何強度的訊息. 為呈現圖形, 強度將設為任意的值." #~ msgid "Wavenumber (cm-1)" #~ msgstr "波數 (cm-1)" #~ msgid "Shift (ppm)" #~ msgstr "化學位移 (ppm)" #~ msgid "Activity" #~ msgstr "活性" #~ msgid "Intensity" #~ msgstr "強度" #~ msgid "X Axis" #~ msgstr "X 軸" #~ msgid "Y Axis" #~ msgstr "Y 軸" #~ msgid "&Appearance" #~ msgstr "外觀" #~ msgid "E&xport Image" #~ msgstr "匯出圖形" #~ msgctxt "Infrared spectra option" #~ msgid "Infrared" #~ msgstr "紅外線" #~ msgid "&Infrared Spectra Settings" #~ msgstr "紅外線光譜設定" #~ msgctxt "NMR spectra option" #~ msgid "NMR" #~ msgstr "NMR (核磁共振)" #~ msgid "&NMR Spectra Settings" #~ msgstr "NMR (核磁共振) 光譜設定" #~ msgctxt "Density of States" #~ msgid "DOS" #~ msgstr "DOS" #~ msgid "&Density Of States Settings" #~ msgstr "態密度設定" #~ msgctxt "Ultra-Violet spectrum" #~ msgid "UV" #~ msgstr "UV" #~ msgid "&UV Settings" #~ msgstr "&UV 設定" #~ msgctxt "Circular Dichromism spectrum" #~ msgid "CD" #~ msgstr "CD" #~ msgid "&CD Settings" #~ msgstr "&CD 設定" #~ msgctxt "Raman spectrum" #~ msgid "Raman" #~ msgstr "拉曼" #~ msgid "&Raman Settings" #~ msgstr "拉曼設定" #~ msgid "No data" #~ msgstr "沒有資料" #~ msgid "Dark" #~ msgstr "暗" #~ msgid "Light" #~ msgstr "亮" #~ msgid "Publication" #~ msgstr "出版" #~ msgid "Handdrawn" #~ msgstr "手繪" #~ msgid "New Scheme" #~ msgstr "新方案" #~ msgid "Confirm Scheme Removal" #~ msgstr "確認方案移除" #~ msgid "Really remove current scheme?" #~ msgstr "真的要移除目前的方案?" #~ msgid "Change Scheme Name" #~ msgstr "改變方案名稱" #~ msgid "Enter new name for current scheme:" #~ msgstr "為目前的方案輸入新名稱" #~ msgid "Select Background Color" #~ msgstr "選擇背景顏色" #~ msgid "Select Foreground Color" #~ msgstr "選擇前景顏色" #~ msgid "Select Calculated Spectra Color" #~ msgstr "選擇計算的光譜之顏色" #~ msgid "Select Imported Spectra Color" #~ msgstr "選擇匯入的光譜之顏色" #~ msgid "Export Calculated Spectrum" #~ msgstr "匯出計算出來的光譜" #~ msgid "Tab Separated Values (*.tsv)" #~ msgstr "標上分開的數值 (*.tsv)" #~ msgid "Tab Separated Values" #~ msgstr "標上分開的數值" #~ msgid "Comma Separated Values" #~ msgstr "逗號分開的數值" #~ msgid "JCAMP-DX" #~ msgstr "JCAMP-DX" #~ msgid "Import Spectra" #~ msgstr "匯入光譜" #~ msgid "Spectra Import" #~ msgstr "光譜匯入" #~ msgid "Unknown extension: %1" #~ msgstr "未知的附檔名: %1" #~ msgctxt "Do not remove 'IR' or '(*.out)' -- needed for parsing later" #~ msgid "PWscf IR data (*.out)" #~ msgstr "PWscf 紅外線資料 (*.out)" #~ msgctxt "Do not remove 'IR' or '(control)' -- needed for parsing later" #~ msgid "Turbomole IR data (control)" #~ msgstr "Turbomole 紅外線資料 (控制)" #~ msgctxt "Do not remove 'UV' or '(spectrum)' -- needed for parsing later" #~ msgid "Turbomole UV data (spectrum)" #~ msgstr "Turbomole UV 數據 (光譜)" #~ msgctxt "Do not remove 'CD' or '(cdspectrum)' -- needed for parsing later" #~ msgid "Turbomole CD data (cdspectrum)" #~ msgstr "Turbomole CD 數據 (cdspectrum)" #~ msgid "Data Format" #~ msgstr "資料格式" #~ msgctxt "noun, not verb" #~ msgid "Format:" #~ msgstr "格式:" #~ msgid "Load Spectral Data" #~ msgstr "載入光譜資料" #~ msgid "Turbomole CD file is improperly formatted : %1" #~ msgstr "Turbomole CD 檔不是適當的檔案格式: %1" #~ msgid "Portable Network Graphics" #~ msgstr "Portable Network Graphics (PNG 檔)" #~ msgid "jpeg" #~ msgstr "jpeg (jpeg 檔)" #~ msgid "Tagged Image File Format" #~ msgstr "Tagged Image File Format (TIFF 檔)" #~ msgid "Windows Bitmap" #~ msgstr "Windows Bitmap (位元影像圖形)" #~ msgid "Portable Pixmap" #~ msgstr "Portable Pixmap (可攜像素圖格式;PPM格式)" #~ msgid "X11 Bitmap" #~ msgstr "X11 Bitmap (X11 位元影像圖格式)" #~ msgid "X11 Pixmap" #~ msgstr "X11 Pixmap (X11 像素圖格式)" #~ msgid "Save Spectra Image" #~ msgstr "儲存光譜圖形" #~ msgid "&Advanced <<" #~ msgstr "進階 <<" #~ msgid "&Advanced >>" #~ msgstr "進階 >>" #~ msgid "&Spectra..." #~ msgstr "光譜..." #~ msgid "Spectra" #~ msgstr "光譜" #~ msgid "Visualize spectral data from quantum chemistry calculations" #~ msgstr "從量子化學計算顯示光譜的資料" #~ msgid "ε (cm2/mmol)" #~ msgstr "ε (cm2/mmol)" #~ msgid "Vibrational Analysis" #~ msgstr "振動分析" #~ msgid "No vibrational displacements exist." #~ msgstr "振動置換 (vibrational displacements) 不存在" #~ msgid "Vibration" #~ msgstr "振動" #~ msgid "Visualize vibrational modes from quantum chemistry calculations" #~ msgstr "依照量子化學計算的結果呈現振動的模式" #~ msgid "Sorting %1 vibrations by frequency..." #~ msgstr "依照頻率將 %1 的振動加以分類排序..." #~ msgid "Pause" #~ msgstr "暫停" #~ msgid "Super Cell Builder..." #~ msgstr "超級晶格產生器..." #~ msgid "" #~ "This document is currently an isolated molecule. You need to create a " #~ "unit cell." #~ msgstr "此文件有個單獨的分子. 您需要新增一個單位晶格." #~ msgid "Build and display crystallographic super cells" #~ msgstr "建立及呈現結晶學上的超級晶格" #~ msgid "Molecular Orbitals..." #~ msgstr "分子軌域..." #~ msgid "Orbitals" #~ msgstr "軌域" #~ msgctxt "Highest Occupied MO" #~ msgid "HOMO" #~ msgstr "HOMO" #~ msgctxt "Lowest Unoccupied MO" #~ msgid "LUMO" #~ msgstr "LUMO" #~ msgid "Orbital" #~ msgstr "軌域" #~ msgid "Status" #~ msgstr "狀態" #~ msgctxt "A cube type of nothing - empty cube" #~ msgid "Nothing" #~ msgstr "無" #~ msgctxt "Van der Waals surface type" #~ msgid "Van der Waals" #~ msgstr "凡得瓦" #~ msgctxt "Electrostatic potential surface type" #~ msgid "Electrostatic Potential" #~ msgstr "靜電位能" #~ msgctxt "Electron density surface type" #~ msgid "Electron Density" #~ msgstr "電子密度" #~ msgctxt "Molecular orbital surface type" #~ msgid "Molecular Orbital" #~ msgstr "分子軌域" #~ msgctxt "Undefined cube type" #~ msgid "Error - undefined type" #~ msgstr "錯誤-未定義之種類" #~ msgid "Create Surfaces..." #~ msgstr "產生外觀..." #~ msgid "Calculating VdW Cube" #~ msgstr "計算 VdW 立方" #~ msgctxt "Molecular Orbital" #~ msgid "Calculating MO %L1" #~ msgstr "計算 MO %L1" #~ msgid "VdW" #~ msgstr "VdW" #~ msgid "Electron Density" #~ msgstr "電子密度" #~ msgid "Calculate molecular orbitals and other surfaces" #~ msgstr "計算分子的軌域及其他表面" #~ msgid "GL widget was not correctly initialized in order to make a video" #~ msgstr "GL widget 沒有被正確的啟動以至無法產生影片" #~ msgid "GL widget has no molecule" #~ msgstr "GL widget 沒有分子" #~ msgid "Building video " #~ msgstr "產生影片中 " #~ msgid "Could not run povray." #~ msgstr "無法執行 povray" #~ msgid "Could not run mencoder." #~ msgstr "無法執行 memcoder" #~ msgid "Set Aspect Ratio" #~ msgstr "Set Aspect Ratio" #~ msgid "" #~ "The current Avogadro scene is %1x%2 pixels large, and therefore has " #~ "aspect ratio %3.\n" #~ "You may keep this value, for example if you intend to use POV-Ray\n" #~ "to produce an image of %4x1000 pixels, or you may enter any other " #~ "positive value,\n" #~ "for example 1 if you intend to use POV-Ray to produce a square image, " #~ "like 1000x1000 pixels." #~ msgstr "" #~ "目前 Avogadro 的工作視窗是 %1x%2 畫素, 而畫面比例是 %3.\n" #~ "您可以保留這設定, 例如, 如果您想要使用 POV-Ray\n" #~ "以產生 %4x1000 畫素的影像, 或者您可以自行設定畫面的大小,\n" #~ "例如範本 1 , 您可以設定成正方形的影像, 大小是 1000x1000 畫素." #~ msgid "Connect" #~ msgstr "連接" #~ msgid "Disconnect" #~ msgstr "斷線" #~ msgid "&WiiTrack" #~ msgstr "WiiTrack" #~ msgid "Wii Tracking" #~ msgstr "Wii 追蹤" #~ msgid "Track motion using Wii remotes" #~ msgstr "使用 Wii 遙控器作追蹤" #~ msgid "" #~ "Invalid OpenGL context.\n" #~ "Either something is completely broken in your OpenGL setup (can you run " #~ "any OpenGL application?), or you found a bug." #~ msgstr "無效的 OpenGL 上下文" #~ msgid "Debug Information" #~ msgstr "除錯訊息" #~ msgid "FPS: %L1" #~ msgstr "FPS: %L1" #~ msgid "View Size: %L1 x %L2" #~ msgstr "可視大小: %L1 x %L2" #~ msgid "Atoms: %L1" #~ msgstr "原子: %L1" #~ msgid "Bonds: %L1" #~ msgstr "鍵: %L1" #~ msgid "OBMol: index %1 out of reach." #~ msgstr "OBMol: index %1 超出範圍." #~ msgid "File type '%1' is not supported for reading." #~ msgstr "無法讀取 '%1' 這種不支援的檔案格式" #~ msgid "File type for file '%1' is not supported for reading." #~ msgstr "無法讀取 '%1' 這種不支援的檔案" #~ msgid "Reading molecule with index %1 from file '%2' failed." #~ msgstr "從檔案 '%2'使用 index %1 讀取分子失敗." #~ msgid "replaceMolecule: index %1 out of reach." #~ msgstr "取代分子: index %1 超出範圍." #~ msgid "File type '%1' is not supported for writing." #~ msgstr "不支援檔案 '%1'寫入功能" #~ msgid "File type for file '%1' is not supported for writing." #~ msgstr "不支援寫數 '%1' 這種檔案格式" #~ msgid "Could not open file '%1' for writing." #~ msgstr "無法開啟檔案 '%1' 以進行寫入" #~ msgid "Could not open file '%1' for reading." #~ msgstr "無法開啟檔案 '%1' 以讀取" #~ msgid "Replacing molecule with index %1 in file '%2' failed." #~ msgstr "在檔案 '%2' 使用 index %1 置換分子失敗." #~ msgid "File %1 cannot be opened for reading." #~ msgstr "無法開啟檔案 '%1' 以讀取" #~ msgid "File %1 can not be opened for writing." #~ msgstr "無法開啟檔案 '%1' 以進行寫入" #~ msgid "Saving molecular file failed - could not rename original file." #~ msgstr "儲存分子檔失敗--無法寫入原始檔." #~ msgid "Saving molecular file failed - could not rename new file." #~ msgstr "儲存分子檔失敗--無法重新命名新檔." #~ msgid "Saving molecular file failed - could not remove old file." #~ msgstr "儲存分子檔失敗--無法移除舊檔." #~ msgid "Writing a molecule to file '%1' failed. OpenBabel function failed." #~ msgstr "寫入分子檔 '%1' 失敗. OpenBabel 功能失效" #~ msgid "File %1 cannot be opened for writing." #~ msgstr "無法開啟檔案 %1 以寫入." #~ msgid "Writing conformers to file '%1' failed." #~ msgstr "寫入構形異構物到檔案 '%1' 失敗." #~ msgid "Molecule %1" #~ msgstr "分子 %1" #~ msgctxt "Default license for all Avogadro plugins" #~ msgid "GPL2+" #~ msgstr "GPL2+" #~ msgid "Unknown Python Engine" #~ msgstr "未知到 Python 引擎" #~ msgid "N/A" #~ msgstr "無法使用" #~ msgid "PythonEngine: checking " #~ msgstr "PythonEngine: 檢查中 " #~ msgid " - script has no 'Engine' class defined" #~ msgstr " - 沒有為腳本 (script) 定義 '引擎' class" #~ msgid " - no module" #~ msgstr " 沒有模組" #~ msgid "Unknown Python Extension" #~ msgstr "未知的 Python 延伸" #~ msgid "PythonExtension: checking " #~ msgstr "PythonExtension: 檢查中 " #~ msgid " - script has no 'Extension' class defined" #~ msgstr " - 沒有為腳本 (script) 定義 '延伸' class" #~ msgid "Unknown Python Tool" #~ msgstr "未知的 Python 工具" #~ msgid "PythonTool: checking " #~ msgstr "PythonTool: 檢查中 " #~ msgid " - script has no 'Tool' class defined" #~ msgstr " - 沒有為腳本 (script) 定義 '工具' class" #~ msgid "Conformer %1" #~ msgstr "構形異構物 %1" #~ msgid "Tools" #~ msgstr "工具" #~ msgid "Axis:" #~ msgstr "軸:" #~ msgid "Align:" #~ msgstr "排列:" #~ msgid "Everything" #~ msgstr "任何東西" #~ msgid "Align" #~ msgstr "排列" #~ msgid "Align molecules to a Cartesian axis" #~ msgstr "將分子排到直角座標的軸" #~ msgid "Align Settings" #~ msgstr "排列設定" #~ msgid "AutoOpt: Could not setup force field...." #~ msgstr "自動最佳化: 無法設定力場... (請檢查所繪製的分子是否正確)" #~ msgid "AutoOpt: E = %1 %2 (dE = %3)" #~ msgstr "AutoOpt: E = %1 %2 (dE = %3)" #~ msgid "Num Constraints: %1" #~ msgstr "Num Constraints: %1" #~ msgid "Steps per Update:" #~ msgstr "每次更新步數:" #~ msgid "Algorithm:" #~ msgstr "演算法:" #~ msgid "Molecular Dynamics (300K)" #~ msgstr "分子動力學 (300 K)" #~ msgid "Molecular Dynamics (600K)" #~ msgstr "分子動力學 (600 K)" #~ msgid "Molecular Dynamics (900K)" #~ msgstr "分子動力學 (900 K)" #~ msgid "Start" #~ msgstr "開始" #~ msgid "Fixed atoms are movable" #~ msgstr "固定原子可移動" #~ msgid "Ignored atoms are movable" #~ msgstr "被忽略的原子可移動" #~ msgid "AutoOpt Molecule" #~ msgstr "自動最佳化分子" #~ msgid "Automatic optimization of molecular geometry" #~ msgstr "自動最適化分子的幾何構形" #~ msgid "AutoOptimization Settings" #~ msgstr "自動最適化設定" #~ msgid "Auto Rotation Tool" #~ msgstr "自動旋轉工具" #~ msgid "x rotation:" #~ msgstr "繞 X 軸旋轉:" #~ msgid "x rotation" #~ msgstr "繞 X 軸旋轉" #~ msgid "y rotation:" #~ msgstr "繞 Y 軸旋轉:" #~ msgid "y rotation" #~ msgstr "繞 Y 軸旋轉:" #~ msgid "z rotation:" #~ msgstr "繞 Z 軸旋轉:" #~ msgid "z rotation" #~ msgstr "繞 Z 軸旋轉" #~ msgid "Automatic rotation of molecules" #~ msgstr "自動旋轉分子" #~ msgid "AutoRotate Settings" #~ msgstr "自動旋轉設定" #~ msgctxt "%L1 is the length of the bond" #~ msgid "Bond Length: %L1" #~ msgstr "鍵長: %L1" #~ msgid " Show Angles" #~ msgstr " 顯示角度" #~ msgid "Snap-to Threshold: " #~ msgstr "貼近下限: " #~ msgid "Bond Centric Manipulate" #~ msgstr "鍵中心調整" #~ msgid "Manipulation of bond lengths, angles, and torsions" #~ msgstr "調整鍵長, 鍵角及扭力" #~ msgid "Bond Centric Manipulate Settings" #~ msgstr "鍵中心調整設定" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (2->3): %L1 %2" #~ msgstr "距離 (2->3): %L1 %2" #~ msgid "Angle: %L1 °" #~ msgstr "角度: %L1 °" #~ msgctxt "%L1 is distance, %2 is Angstrom symbol" #~ msgid "Distance (3->4): %L1 %2" #~ msgstr "距離 (3->4): %L1 %2" #~ msgid "Dihedral Angle: %1 °" #~ msgstr "二平面角度: %1 °" #~ msgctxt "*1 is a number. You most likely do not need to translate this" #~ msgid "*1" #~ msgstr "*1" #~ msgctxt "*2 is a number. You most likely do not need to translate this" #~ msgid "*2" #~ msgstr "*2" #~ msgctxt "*3 is a number. You most likely do not need to translate this" #~ msgid "*3" #~ msgstr "*3" #~ msgctxt "*4 is a number. You most likely do not need to translate this" #~ msgid "*4" #~ msgstr "*4" #~ msgid "Distance(s):" #~ msgstr "距離:" #~ msgid "Measure bond lengths, angles, and dihedrals" #~ msgstr "測量鍵長, 角度及二平面" #~ msgid "Delete Atom" #~ msgstr "刪除原子" #~ msgid "Draw Bond" #~ msgstr "繪製鍵" #~ msgid "Draw and edit atoms and bonds" #~ msgstr "繪製及編輯原子與鍵" #~ msgid "Draw Settings" #~ msgstr "繪製功能設定" #~ msgid "Translate, rotate, and adjust atoms and fragments" #~ msgstr "轉化, 旋轉, 和調整原子及片斷" #~ msgid "Manipulate Settings" #~ msgstr "調整功能設定" #~ msgid "Translate, rotate, and zoom around the current view" #~ msgstr "轉化, 旋轉及縮放目前的視景" #~ msgid "Navigate Settings" #~ msgstr "導引功能設定" #~ msgid "Selection Mode:" #~ msgstr "選擇模式:" #~ msgid "Atom/Bond" #~ msgstr "原子/鍵" #~ msgid "Residue" #~ msgstr "殘基" #~ msgid "Change color of the atom" #~ msgstr "改變該原子的顏色" #~ msgid "Change label of the atom" #~ msgstr "改變該原子的標籤" #~ msgid "New Label:" #~ msgstr "新的標籤:" #~ msgid "Change label of the bond" #~ msgstr "改變該鍵的標籤" #~ msgid "Change radius of the atom" #~ msgstr "改變該原子的半徑" #~ msgctxt "in Angstrom" #~ msgid "New Radius, %1:" #~ msgstr "新的半徑, %1:" #~ msgid "Select atoms, residues, and molecules" #~ msgstr "選取原子, 殘基與分子" #~ msgid "Symbol" #~ msgstr "符號" #~ msgid "Bond Length" #~ msgstr "鍵長" #~ msgid "Bond Angle" #~ msgstr "鍵角" #~ msgid "Dihedral Angle" #~ msgstr "二平面角" #~ msgid "Z Matrix Editor..." #~ msgstr "Z Matrix 編輯器..." #~ msgid "Z-Matrix" #~ msgstr "Z-Matrix" #~ msgid "Create/edit a z-matrix" #~ msgstr "新增/編輯 z-matrix" #~ msgid "Z-Matrix Settings" #~ msgstr "Z-Matrix 設定" #~ msgid "Residue Color Settings" #~ msgstr "殘基顏色設定" #~ msgid "Color residues by:" #~ msgstr "殘基上色依照:" #~ msgid "Amino Colors" #~ msgstr "胺基顏色" #~ msgid "Shapely Colors" #~ msgstr "定形的顏色" #~ msgid "Hydrophobicity" #~ msgstr "疏水性" #~ msgid "Axes:" #~ msgstr "軸:" #~ msgid "Cartesian Axes" #~ msgstr "直角坐標軸" #~ msgid "Orthogonal Axes" #~ msgstr "正交軸" #~ msgid "Axis 1:" #~ msgstr "軸 1:" #~ msgid "Axis 2:" #~ msgstr "軸 2:" #~ msgid "Axis 3:" #~ msgstr "軸 3:" #~ msgid "X" #~ msgstr "X" #~ msgid "Origin:" #~ msgstr "原點:" #~ msgid "Y" #~ msgstr "Y" #~ msgid "Z" #~ msgstr "Z" #~ msgid "Norm" #~ msgstr "Norm" #~ msgid "Preserve vector norms" #~ msgstr "保留向量範數" #~ msgid "Atom Radius:" #~ msgstr "原子半徑:" #~ msgid "Bond Radius:" #~ msgstr "鍵的半徑:" #~ msgid "Shape" #~ msgstr "形狀" #~ msgid "Helix" #~ msgstr "螺旋" #~ msgid "a" #~ msgstr "a" #~ msgid "b" #~ msgstr "b" #~ msgid "c" #~ msgstr "c" #~ msgid "Sheet" #~ msgstr "平板" #~ msgid "Loop" #~ msgstr "圈" #~ msgid "Colors" #~ msgstr "顏色" #~ msgid "Dipole:" #~ msgstr "偶極:" #~ msgid "Dipole Moment" #~ msgstr "偶極距" #~ msgid "Custom Vector" #~ msgstr "自訂向量" #~ msgid "Custom:" #~ msgstr "自訂:" #~ msgid "Width:" #~ msgstr "寬度:" #~ msgid "Cut-off radius:" #~ msgstr "截止半徑" #~ msgid "A" #~ msgstr "A" #~ msgid "Cut-off angle:" #~ msgstr "截斷角度:" #~ msgid "Rendering Engine:" #~ msgstr "描述之引擎:" #~ msgid "TextRenderer" #~ msgstr "文字描述器" #~ msgid "QPainter" #~ msgstr "QPainter" #~ msgid "Atom Labels" #~ msgstr "原子標示" #~ msgid "Text:" #~ msgstr "文字:" #~ msgid "Color:" #~ msgstr "顏色:" #~ msgid "None" #~ msgstr "無" #~ msgid "Symbol & Number in Group" #~ msgstr "在一群原子中,符號與編號" #~ msgid "Symbol & Atom number" #~ msgstr "原子符號與原子序" #~ msgid "Formal charge" #~ msgstr "形式電荷" #~ msgid "Partial charge" #~ msgstr "部份電荷" #~ msgid "Residue number" #~ msgstr "殘基編號" #~ msgid "Unique ID" #~ msgstr "單一的 ID" #~ msgid "Custom data" #~ msgstr "客製資料" #~ msgid "Change Font" #~ msgstr "改變字型" #~ msgid "x : " #~ msgstr "x : " #~ msgid "y : " #~ msgstr "y : " #~ msgid "z : " #~ msgstr "z : " #~ msgid "Label Shift:" #~ msgstr "Label Shift:" #~ msgid "Bond Labels" #~ msgstr "鍵的標示" #~ msgid "Bond length" #~ msgstr "鍵的長度" #~ msgid "Bond number" #~ msgstr "鍵的編號" #~ msgid "Bond order" #~ msgstr "鍵的級數" #~ msgid "Rendering:" #~ msgstr "繪製:" #~ msgid "Backbone" #~ msgstr "骨幹" #~ msgid "Lines" #~ msgstr "線" #~ msgid "Radius:" #~ msgstr "半徑:" #~ msgid "Include Nitrogens" #~ msgstr "包含氮" #~ msgid "VdW Opacity:" #~ msgstr "VdW 不透明度:" #~ msgid "Orbital:" #~ msgstr "軌域:" #~ msgid "Render:" #~ msgstr "呈現:" #~ msgid "Fill" #~ msgstr "填入" #~ msgid "Points" #~ msgstr "點" #~ msgid "Draw Box:" #~ msgstr "繪製盒:" #~ msgid "Style:" #~ msgstr "樣式:" #~ msgid "Selected Colors" #~ msgstr "所選取的顏色" #~ msgid "Mapped Colors" #~ msgstr "繪製地圖的顏色" #~ msgid "Colors:" #~ msgstr "顏色:" #~ msgid "Positive" #~ msgstr "正" #~ msgid "Negative" #~ msgstr "負" #~ msgid "Show Atoms" #~ msgstr "Show Atoms" #~ msgid "Animate Trajectory" #~ msgstr "動畫軌跡" #~ msgid "0/0" #~ msgstr "0/0" #~ msgctxt "Continually re-run the animation in a loop" #~ msgid "Loop" #~ msgstr "迴圈 (重複播放動畫)" #~ msgid "fps" #~ msgstr "fps" #~ msgid "Save as .avi..." #~ msgstr "存成 .avi..." #~ msgid "Bohrs" #~ msgstr "波爾" #~ msgid "XYZ" #~ msgstr "XYZ" #~ msgid "XYZ, coords only" #~ msgstr "XYZ, 只有坐標" #~ msgid "GAMESS Input #2" #~ msgstr "GAMESS 輸入 #2" #~ msgid "Priroda Input" #~ msgstr "Priroda 輸入" #~ msgid "Apply Changes" #~ msgstr "套用變更" #~ msgid "Cut All" #~ msgstr "剪下所有" #~ msgid "Paste to the End" #~ msgstr "貼到末端" #~ msgid "" #~ "\n" #~ "\n" #~ "

Paste or edit atomic " #~ "coordinates here. You may paste almost any fragment of text, containing " #~ "coordinates

" #~ msgstr "" #~ "\n" #~ "\n" #~ "

在此貼上或是編輯原子的坐" #~ "標. 您可以貼上文字的任何片段, 含有坐標

" #~ msgid "(None)" #~ msgstr "(無)" #~ msgid "Sort by " #~ msgstr "分類是根據 " #~ msgid "Conformer Search" #~ msgstr "找尋構形異構物" #~ msgid "Method" #~ msgstr "方法" #~ msgid "Number of atoms:" #~ msgstr "原子的數目:" #~ msgid "Number of rotatable bonds:" #~ msgstr "可旋轉鍵的數目" #~ msgid "Number of conformers" #~ msgstr "構形異構物的數目" #~ msgid "Systematic rotor search" #~ msgstr "Systematic rotor search" #~ msgid "Random rotor search" #~ msgstr "Random rotor search" #~ msgid "Weighted rotor search" #~ msgstr "Weighted rotor search" #~ msgid "Energy" #~ msgstr "能量" #~ msgid "Constraints" #~ msgstr "約束" #~ msgid "Add Constraints" #~ msgstr "加入限制條件" #~ msgid "Ignore Atom" #~ msgstr "忽略原子" #~ msgid "Fix Atom" #~ msgstr "固定原子" #~ msgid "Fix Atom X" #~ msgstr "固定原子 X" #~ msgid "Fix Atom Y" #~ msgstr "固定原子 Y" #~ msgid "Fix Atom Z" #~ msgstr "固定原子 Z" #~ msgid "Torsion angle" #~ msgstr "扭轉角度" #~ msgid "Constraint Value" #~ msgstr "約束值" #~ msgid "Atom Indices" #~ msgstr "原子指數" #~ msgid "Add" #~ msgstr "新增" #~ msgid "Save" #~ msgstr "儲存" #~ msgid "Load" #~ msgstr "載入" #~ msgid "Cartesian" #~ msgstr "笛卡耳 (直角座標)" #~ msgid "All" #~ msgstr "全部" #~ msgid "File Import..." #~ msgstr "匯入檔案..." #~ msgid "Attempt to perceive bonds?" #~ msgstr "嘗試著去理解鍵嗎?" #~ msgid "Setup Force Field" #~ msgstr "建立力場" #~ msgid "Force Field" #~ msgstr "力場" #~ msgid "Ghemical" #~ msgstr "Ghemical" #~ msgid "Number of steps" #~ msgstr "步驟數" #~ msgid "Algorithm" #~ msgstr "演算法" #~ msgid "10e-" #~ msgstr "10e-" #~ msgid "C" #~ msgstr "C" #~ msgid "G" #~ msgstr "G" #~ msgid "T" #~ msgstr "T" #~ msgid "B" #~ msgstr "B" #~ msgid "Other" #~ msgstr "其他" #~ msgid "Insert Fragment..." #~ msgstr "插入片段..." #~ msgid "Peptide Builder" #~ msgstr "胜肽產生器" #~ msgid "Alanine" #~ msgstr "Alanine 丙胺酸" #~ msgid "Ala" #~ msgstr "Ala 丙胺酸" #~ msgid "Arginine" #~ msgstr "Arginine 精胺酸" #~ msgid "Arg" #~ msgstr "Arg 精胺酸" #~ msgid "Asparagine" #~ msgstr "Asparagine 天門冬醯胺" #~ msgid "Asn" #~ msgstr "Asn 天門冬醯胺" #~ msgid "Aspartic acid" #~ msgstr "Aspartic acid 天門冬酸" #~ msgid "Asp" #~ msgstr "Asp 天門冬酸" #~ msgid "Cysteine" #~ msgstr "Cysteine 半胱胺酸" #~ msgid "Cys" #~ msgstr "Cys 半胱胺酸" #~ msgid "Glutamic acid" #~ msgstr "Glutamic acid 麩胺酸" #~ msgid "Glu" #~ msgstr "Glu 麩胺酸" #~ msgid "Glutamine" #~ msgstr "Glutamine 麩醯胺" #~ msgid "Gln" #~ msgstr "Gln 麩醯胺" #~ msgid "Glycine" #~ msgstr "Glycine 甘胺酸" #~ msgid "Gly" #~ msgstr "Gly 甘胺酸" #~ msgid "Histidine" #~ msgstr "Histidine 組胺酸" #~ msgid "His" #~ msgstr "His 組胺酸" #~ msgid "Isoleucine" #~ msgstr "Isoleucine 異白胺酸" #~ msgid "Ile" #~ msgstr "Ile 異白胺酸" #~ msgid "Valine" #~ msgstr "Valine 纈胺酸" #~ msgid "Val" #~ msgstr "Val 纈胺酸" #~ msgid "Tyrosine" #~ msgstr "Tyrosine 酪胺酸" #~ msgid "Tyr" #~ msgstr "Tyr 酪胺酸" #~ msgid "Tryptophan" #~ msgstr "Tryptophan 色胺酸" #~ msgid "Trp" #~ msgstr "Trp 色胺酸" #~ msgid "Threonine" #~ msgstr "Threonine 蘇胺酸" #~ msgid "Thr" #~ msgstr "Thr 蘇胺酸" #~ msgid "Serine" #~ msgstr "Serine 絲胺酸" #~ msgid "Ser" #~ msgstr "Ser 絲胺酸" #~ msgid "Proline" #~ msgstr "Proline 脯胺酸" #~ msgid "Pro" #~ msgstr "Pro 脯胺酸" #~ msgid "Phenylalanine" #~ msgstr "Phenylalanine 苯丙胺酸" #~ msgid "Phe" #~ msgstr "Phe 苯丙胺酸" #~ msgid "Methionine" #~ msgstr "Methionine 甲硫胺酸" #~ msgid "Met" #~ msgstr "Met 甲硫胺酸" #~ msgid "Lysine" #~ msgstr "Lysine 離胺酸" #~ msgid "Lys" #~ msgstr "Lys 離胺酸" #~ msgid "Leucine" #~ msgstr "Leucine 白胺酸" #~ msgid "Leu" #~ msgstr "Leu 白胺酸" #~ msgid "Amino Acids:" #~ msgstr "胺基酸" #~ msgid "Sequence (N to C):" #~ msgstr "序列 (由 N 到 C):" #~ msgid "Stereochemistry:" #~ msgstr "立體化學" #~ msgid "L" #~ msgstr "L" #~ msgid "D" #~ msgstr "D" #~ msgid "N Terminus:" #~ msgstr "N 端:" #~ msgid "C Terminus:" #~ msgstr "C 端:" #~ msgid "NH₂" #~ msgstr "NH₂" #~ msgid "NH₃⁺" #~ msgstr "NH₃⁺" #~ msgid "CO₂H" #~ msgstr "CO₂H" #~ msgid "CO₂⁻" #~ msgstr "CO₂⁻" #~ msgid "Straight Chain" #~ msgstr "直鍊" #~ msgid "Alpha Helix" #~ msgstr "Alpha Helix (alpha 螺旋)" #~ msgid "Beta Sheet" #~ msgstr "Beta Sheet (beta 平版)" #~ msgid "3-10 Helix" #~ msgstr "3-10 螺旋" #~ msgid "Pi Helix" #~ msgstr "Pi 螺旋" #~ msgid "Phi:" #~ msgstr "Phi:" #~ msgid "Psi:" #~ msgstr "Psi:" #~ msgid "Chain Number:" #~ msgstr "鍊的數目:" #~ msgid "The chain number for the new peptide" #~ msgstr "新胜肽的鍊數" #~ msgid "E" #~ msgstr "E" #~ msgid "F" #~ msgstr "F" #~ msgid "Molecule Properties" #~ msgstr "分子性質" #~ msgid "Number of Residues:" #~ msgstr "殘基的數目:" #~ msgid "Energy (kJ/mol):" #~ msgstr "能量 (kJ/mol):" #~ msgid "Dipole Moment (D):" #~ msgstr "偶極距 (D):" #~ msgid "IUPAC Molecule Name:" #~ msgstr "IUPAC 分子名稱:" #~ msgid "RHF" #~ msgstr "RHF" #~ msgid "DFT" #~ msgstr "DFT" #~ msgid "MP2" #~ msgstr "MP2" #~ msgid "CCSD" #~ msgstr "CCSD" #~ msgid "Advanced" #~ msgstr "進階" #~ msgid "Control" #~ msgstr "控制" #~ msgid "SCF" #~ msgstr "SCF" #~ msgid "Data" #~ msgstr "資料" #~ msgid "Nothing" #~ msgstr "無" #~ msgid "Grid" #~ msgstr "Grid" #~ msgid "POV-Ray Export" #~ msgstr "POV-Ray 匯出" #~ msgid "Select..." #~ msgstr "選取..." #~ msgid "povray" #~ msgstr "povray" #~ msgid "Use full scene antialiasing" #~ msgstr "使用全景抗鋸齒化" #~ msgid "Antialias" #~ msgstr "平滑化/反鋸齒" #~ msgid "Set the background color to be transparent" #~ msgstr "將背景顏色設為透明" #~ msgid "Alpha transparency" #~ msgstr "Alpha 透明" #~ msgid "Command:" #~ msgstr "指令:" #~ msgid "Render the molecule directly using command line POV-Ray" #~ msgstr "直接使用 POV-Ray 命令列呈現此分子" #~ msgid "Keep the POV-Ray source after rendering has completed" #~ msgstr "在完成呈現後, 保持 POV-Ray 的來源" #~ msgid "Keep POV-Ray source after rendering" #~ msgstr "呈現後, 保持 POV-Ray 的來源" #~ msgid "Path:" #~ msgstr "路徑\"" #~ msgid "0.0" #~ msgstr "0.0" #~ msgid "Use Form" #~ msgstr "捨用表格" #~ msgid "Compute..." #~ msgstr "計算..." #~ msgid "Dalton Input" #~ msgstr "Dalton 輸入" #~ msgid "Basics" #~ msgstr "基本" #~ msgid "" #~ "Adds what you type in the title line of the input file for your own\n" #~ "informative purposes." #~ msgstr "為了您資訊上的目的,將加入您在輸入檔案的標題行所鍵入的文字." #~ msgid "HF" #~ msgstr "HF" #~ msgid "KS-DFT" #~ msgstr "KS-DFT" #~ msgid "Basis Set:" #~ msgstr "Basis Set:" #~ msgid "cc-pVDZ" #~ msgstr "cc-pVDZ" #~ msgid "cc-pVTZ" #~ msgstr "cc-pVTZ" #~ msgid "cc-pVQZ" #~ msgstr "cc-pVQZ" #~ msgid "cc-pV5Z" #~ msgstr "cc-pV5Z" #~ msgid "cc-pV6Z" #~ msgstr "cc-pV6Z" #~ msgid "STO-nG" #~ msgstr "STO-nG" #~ msgid "Pople-style" #~ msgstr "Pople-style" #~ msgid "Jensen's polarization consistent" #~ msgstr "Jensen's polarization consistent" #~ msgid "Dunning's correlation consistent" #~ msgstr "Dunning's correlation consistent" #~ msgid "aug-cc-pVDZ" #~ msgstr "aug-cc-pVDZ" #~ msgid "aug-cc-pVTZ" #~ msgstr "aug-cc-pVTZ" #~ msgid "aug-cc-pVQZ" #~ msgstr "aug-cc-pVQZ" #~ msgid "aug-cc-pV5Z" #~ msgstr "aug-cc-pV5Z" #~ msgid "aug-cc-pV6Z" #~ msgstr "aug-cc-pV6Z" #~ msgid "cc-pCVDZ" #~ msgstr "cc-pCVDZ" #~ msgid "cc-pCVTZ" #~ msgstr "cc-pCVTZ" #~ msgid "cc-pCVQZ" #~ msgstr "cc-pCVQZ" #~ msgid "cc-pCV5Z" #~ msgstr "cc-pCV5Z" #~ msgid "cc-pwCVDZ" #~ msgstr "cc-pwCVDZ" #~ msgid "cc-pwCVTZ" #~ msgstr "cc-pwCVTZ" #~ msgid "cc-pwCVQZ" #~ msgstr "cc-pwCVQZ" #~ msgid "cc-pwCV5Z" #~ msgstr "cc-pwCV5Z" #~ msgid "Core correlating functions" #~ msgstr "Core correlating functions" #~ msgid "Diffuse functions" #~ msgstr "擴散函數" #~ msgid "STO-2G" #~ msgstr "STO-2G" #~ msgid "STO-3G" #~ msgstr "STO-3G" #~ msgid "STO-6G" #~ msgstr "STO-6G" #~ msgid "3-21G" #~ msgstr "3-21G" #~ msgid "4-31G" #~ msgstr "4-31G" #~ msgid "6-31G" #~ msgstr "6-31G" #~ msgid "6-311G" #~ msgstr "6-311G" #~ msgid "Polarization functions" #~ msgstr "極化函數" #~ msgid "3-21++G" #~ msgstr "3-21++G" #~ msgid "6-31+G" #~ msgstr "6-31+G" #~ msgid "6-31++G" #~ msgstr "6-31++G" #~ msgid "3-21G*" #~ msgstr "3-21G*" #~ msgid "6-31G*" #~ msgstr "6-31G*" #~ msgid "6-31G**" #~ msgstr "6-31G**" #~ msgid "6-31G(3df,3pd)" #~ msgstr "6-31G(3df,3pd)" #~ msgid "6-311G*" #~ msgstr "6-311G*" #~ msgid "6-311G**" #~ msgstr "6-311G**" #~ msgid "6-311G(2df,2pd)" #~ msgstr "6-311G(2df,2pd)" #~ msgid "3-21++G*" #~ msgstr "3-21++G*" #~ msgid "6-31+G*" #~ msgstr "6-31+G*" #~ msgid "6-31++G*" #~ msgstr "6-31++G*" #~ msgid "6-31++G**" #~ msgstr "6-31++G**" #~ msgid "6-311+G*" #~ msgstr "6-311+G*" #~ msgid "6-311++G**" #~ msgstr "6-311++G**" #~ msgid "6-311++G(2d,2p)" #~ msgstr "6-311++G(2d,2p)" #~ msgid "6-311++G(3df,3pd)" #~ msgstr "6-311++G(3df,3pd)" #~ msgid "pc-0" #~ msgstr "pc-0" #~ msgid "pc-1" #~ msgstr "pc-1" #~ msgid "pc-2" #~ msgstr "pc-2" #~ msgid "pc-3" #~ msgstr "pc-3" #~ msgid "pc-4" #~ msgstr "pc-4" #~ msgid "apc-0" #~ msgstr "apc-0" #~ msgid "apc-1" #~ msgstr "apc-1" #~ msgid "apc-2" #~ msgstr "apc-2" #~ msgid "apc-3" #~ msgstr "apc-3" #~ msgid "apc-4" #~ msgstr "apc-4" #~ msgid "aug-cc-pCVDZ" #~ msgstr "aug-cc-pCVDZ" #~ msgid "aug-cc-pCVTZ" #~ msgstr "aug-cc-pCVTZ" #~ msgid "aug-cc-pCVQZ" #~ msgstr "aug-cc-pCVQZ" #~ msgid "aug-cc-pCV5Z" #~ msgstr "aug-cc-pCV5Z" #~ msgid "Direct" #~ msgstr "Direct" #~ msgid "" #~ "Run in parallel where possible. This is only possible for SCF\n" #~ "wavefunctions and DFT calculations. Dalton only supports MPI\n" #~ "in the current release and must be compiled and installed\n" #~ "correctly. The number of nodes are set by using the \"-N #\" option when " #~ "executing the \"dalton\" script." #~ msgstr "" #~ "請盡可能同時執行. 這只可能對 SCF\n" #~ "波函數以及 DFT 的計算. Dalton 只支援目前版本的 MPI\n" #~ ", 而且務必正確的編譯及安裝.\n" #~ "當執行 \"dalton\" 腳本時, 節點的數目將被設 \"-N#\" 選項." #~ msgid "Parallel" #~ msgstr "平行" #~ msgid "d-" #~ msgstr "d-" #~ msgid "t-" #~ msgstr "t-" #~ msgid "q-" #~ msgstr "q-" #~ msgid "Functional:" #~ msgstr "Functional:" #~ msgid "B2PLYP" #~ msgstr "B2PLYP" #~ msgid "B3LYP" #~ msgstr "B3LYP" #~ msgid "B3LYPg" #~ msgstr "B3LYPg" #~ msgid "B3P86" #~ msgstr "B3P86" #~ msgid "B3P86g" #~ msgstr "B3P86g" #~ msgid "B3PW91" #~ msgstr "B3PW91" #~ msgid "B1LYP" #~ msgstr "B1LYP" #~ msgid "B1PW91" #~ msgstr "B1PW91" #~ msgid "BHandH" #~ msgstr "BHandH" #~ msgid "BHandHLYP" #~ msgstr "BHandHLYP" #~ msgid "B86VWN" #~ msgstr "B86VWN" #~ msgid "B86LYP" #~ msgstr "B86LYP" #~ msgid "B86P86" #~ msgstr "B86P86" #~ msgid "B86PW91" #~ msgstr "B86PW91" #~ msgid "BVWN" #~ msgstr "BVWN" #~ msgid "BLYP" #~ msgstr "BLYP" #~ msgid "BP86" #~ msgstr "BP86" #~ msgid "BPW91" #~ msgstr "BPW91" #~ msgid "BW" #~ msgstr "BW" #~ msgid "BFW" #~ msgstr "BFW" #~ msgid "CAMB3LYP" #~ msgstr "CAMB3LYP" #~ msgid "DBLYP" #~ msgstr "DBLYP" #~ msgid "DBP86" #~ msgstr "DBP86" #~ msgid "DBPW91" #~ msgstr "DBPW91" #~ msgid "EDF1" #~ msgstr "EDF1" #~ msgid "EDF2" #~ msgstr "EDF2" #~ msgid "G96VWN" #~ msgstr "G96VWN" #~ msgid "G96LYP" #~ msgstr "G96LYP" #~ msgid "G96P86" #~ msgstr "G96P86" #~ msgid "G96PW91" #~ msgstr "G96PW91" #~ msgid "G961LYP" #~ msgstr "G961LYP" #~ msgid "KMLYP" #~ msgstr "KMLYP" #~ msgid "KT1" #~ msgstr "KT1" #~ msgid "KT2" #~ msgstr "KT2" #~ msgid "KT3" #~ msgstr "KT3" #~ msgid "LDA" #~ msgstr "LDA" #~ msgid "LG1LYP" #~ msgstr "LG1LYP" #~ msgid "OVWN" #~ msgstr "OVWN" #~ msgid "OLYP" #~ msgstr "OLYP" #~ msgid "OP86" #~ msgstr "OP86" #~ msgid "OPW91" #~ msgstr "OPW91" #~ msgid "mPWVWN" #~ msgstr "mPWVWN" #~ msgid "mPWLYP" #~ msgstr "mPWLYP" #~ msgid "mPWP86" #~ msgstr "mPWP86" #~ msgid "mPWPW91" #~ msgstr "mPWPW91" #~ msgid "mPW91" #~ msgstr "mPW91" #~ msgid "mPW1PW91" #~ msgstr "mPW1PW91" #~ msgid "mPW3PW91" #~ msgstr "mPW3PW91" #~ msgid "mPW1K" #~ msgstr "mPW1K" #~ msgid "mPW1N" #~ msgstr "mPW1N" #~ msgid "mPW1S" #~ msgstr "mPW1S" #~ msgid "PBE0" #~ msgstr "PBE0" #~ msgid "PBE0PBE" #~ msgstr "PBE0PBE" #~ msgid "PBE1PBE" #~ msgstr "PBE1PBE" #~ msgid "PBE" #~ msgstr "PBE" #~ msgid "PBEPBE" #~ msgstr "PBEPBE" #~ msgid "RPBE" #~ msgstr "RPBE" #~ msgid "revPBE" #~ msgstr "revPBE" #~ msgid "mPBE" #~ msgstr "mPBE" #~ msgid "PW91" #~ msgstr "PW91" #~ msgid "PW91VWN" #~ msgstr "PW91VWN" #~ msgid "PW91LYP" #~ msgstr "PW91LYP" #~ msgid "PW91P86" #~ msgstr "PW91P86" #~ msgid "PW91PW91" #~ msgstr "PW91PW91" #~ msgid "SVWN3" #~ msgstr "SVWN3" #~ msgid "SVWN5" #~ msgstr "SVWN5" #~ msgid "XLYP" #~ msgstr "XLYP" #~ msgid "X3LYP" #~ msgstr "X3LYP" #~ msgid "Density:" #~ msgstr "密度:" #~ msgid "1.0D-" #~ msgstr "1.0D-" #~ msgid "Charge Integration:" #~ msgstr "Charge Integration:" #~ msgid "Grid Specification" #~ msgstr "Grid 規格" #~ msgid "Partitioning Scheme:" #~ msgstr "分割圖:" #~ msgid "Becke" #~ msgstr "Becke" #~ msgid "Becke (original)" #~ msgstr "Becke (原始的)" #~ msgid "SSF" #~ msgstr "SSF" #~ msgid "Grid Quality:" #~ msgstr "Grid 品質" #~ msgid "coarse" #~ msgstr "粗糙的" #~ msgid "normal" #~ msgstr "一般" #~ msgid "fine" #~ msgstr "精細" #~ msgid "ultrafine" #~ msgstr "極精細" #~ msgid "Radial Scheme:" #~ msgstr "放射狀圖:" #~ msgid "LMG" #~ msgstr "LMG" #~ msgid "GC2" #~ msgstr "GC2" #~ msgid "Show all functionals" #~ msgstr "顯示所有的作用" #~ msgid "Property:" #~ msgstr "性質" #~ msgid "Polarizability" #~ msgstr "極化性" #~ msgid "Excitation Energy" #~ msgstr "激發能" #~ msgid "Frequency Dependent" #~ msgstr "頻率相依性" #~ msgid "No. excitations:" #~ msgstr "激發數:" #~ msgid "EFP Matches" #~ msgstr "EFP Matches" #~ msgid "Group Label:" #~ msgstr "Group Label:" #~ msgid "AM1" #~ msgstr "AM1" #~ msgid "PM3" #~ msgstr "PM3" #~ msgid "CCSD(T)" #~ msgstr "CCSD(T)" #~ msgid "MINI" #~ msgstr "MINI" #~ msgid "6-31G(d)" #~ msgstr "6-31G(d)" #~ msgid "6-31G(d,p)" #~ msgstr "6-31G(d,p)" #~ msgid "6-31+G(d,p)" #~ msgstr "6-31+G(d,p)" #~ msgid "6-31+G(2d,p)" #~ msgstr "6-31+G(2d,p)" #~ msgid "6-311++G(2d,p)" #~ msgstr "6-311++G(2d,p)" #~ msgid "&Advanced Setup" #~ msgstr "進階設定" #~ msgid "Hessian" #~ msgstr "Hessian" #~ msgid "Stat Point" #~ msgstr "Stat Point" #~ msgid "System" #~ msgstr "系統" #~ msgid "MO Guess" #~ msgstr "MO Guess" #~ msgid "Misc" #~ msgstr "其他" #~ msgid "#D Heavy Atom Polarization Functions:" #~ msgstr "#D 重原子極化函數:" #~ msgid "Read" #~ msgstr "讀取" #~ msgid "SBKJC" #~ msgstr "SBKJC" #~ msgid "Hay-Wadt" #~ msgstr "Hay-Wadt" #~ msgid "Diffuse S-Shell on Heavy Atoms" #~ msgstr "Diffuse S-Shell on Heavy Atoms" #~ msgid "Diffuse L-Shell on Heavy Atoms" #~ msgstr "Diffuse L-Shell on Heavy Atoms" #~ msgid "MIDI" #~ msgstr "MIDI" #~ msgid "STO-4G" #~ msgstr "STO-4G" #~ msgid "STO-5G" #~ msgstr "STO-5G" #~ msgid "6-21G" #~ msgstr "6-21G" #~ msgid "5-31G" #~ msgstr "5-31G" #~ msgid "Double Zeta Valence" #~ msgstr "Double Zeta Valence" #~ msgid "Dunning/Hay DZ" #~ msgstr "Dunning/Hay DZ" #~ msgid "Triple Zeta Valence" #~ msgstr "Triple Zeta Valence" #~ msgid "SBKJA Valence" #~ msgstr "SBKJA Valence" #~ msgid "Hay/Wadt Valence" #~ msgstr "Hay/Wadt Valence" #~ msgid "MNDO" #~ msgstr "MNDO" #~ msgid "ECP Type:" #~ msgstr "ECP 種類:" #~ msgid "Default" #~ msgstr "預設" #~ msgid "Pople" #~ msgstr "Pople" #~ msgid "Pople N311" #~ msgstr "Pople N311" #~ msgid "Huzinaga" #~ msgstr "Huzinaga" #~ msgid "Hondo7" #~ msgstr "Hondo7" #~ msgid "#F Heavy Atom Polarization Functions:" #~ msgstr "#F Heavy Atom Polarization Functions:" #~ msgid "#light Atom Polarization Functions:" #~ msgstr "#light Atom Polarization Functions:" #~ msgid "Polar:" #~ msgstr "Polar:" #~ msgid "Max SCF Iterations:" #~ msgstr "Max SCF Iterations:" #~ msgid "Gradient" #~ msgstr "Gradient" #~ msgid "Optimization" #~ msgstr "最適化" #~ msgid "Trudge" #~ msgstr "Trudge" #~ msgid "Saddle Point" #~ msgstr "鞍點" #~ msgid "IRC" #~ msgstr "IRC" #~ msgid "Gradient Extremal" #~ msgstr "Gradient Extremal" #~ msgid "DRC" #~ msgstr "DRC" #~ msgid "Energy Surface" #~ msgstr "能量表面" #~ msgid "Morokuma" #~ msgstr "Morokuma" #~ msgid "Radiative Transition mom." #~ msgstr "放射過度 mom" #~ msgid "Spin Orbit" #~ msgstr "自旋軌道" #~ msgid "Finite Electric Field" #~ msgstr "有限電場" #~ msgid "TDHF" #~ msgstr "TDHF" #~ msgid "Global Optimization" #~ msgstr "全局最佳化" #~ msgid "VSCF" #~ msgstr "VSCF" #~ msgid "FMO Optimization" #~ msgstr "FMO 最佳化" #~ msgid "Raman Intensities" #~ msgstr "拉曼強度" #~ msgid "NMR" #~ msgstr "NMR" #~ msgid "Make EFP" #~ msgstr "產生 EFP" #~ msgid "UHF" #~ msgstr "UHF" #~ msgid "ROHF" #~ msgstr "ROHF" #~ msgid "GVB" #~ msgstr "GVB" #~ msgid "MCSCF" #~ msgstr "MCSCF" #~ msgid "None (CI)" #~ msgstr "None (CI)" #~ msgid "Foster-Boys" #~ msgstr "Foster-Boys" #~ msgid "Edmistron-Ruedenberg" #~ msgstr "Edmistron-Ruedenberg" #~ msgid "Pipek-Mezey" #~ msgstr "Pipek-Mezey" #~ msgid "SCF Type:" #~ msgstr "SCF 種類:" #~ msgid "Localization Method:" #~ msgstr "Localization Method:" #~ msgid "Exec Type:" #~ msgstr "Exec 種類:" #~ msgid "CI:" #~ msgstr "CI:" #~ msgid "GUGA" #~ msgstr "GUGA" #~ msgid "Ames Lab. Determinant" #~ msgstr "Ames Lab. Determinant" #~ msgid "Occupation Restricted Multiple Active Space" #~ msgstr "Occupation Restricted Multiple Active Space" #~ msgid "CI Singles" #~ msgstr "CI Singles" #~ msgid "Full Second Order CI" #~ msgstr "Full Second Order CI" #~ msgid "General CI" #~ msgstr "General CI" #~ msgid "CC:" #~ msgstr "CC:" #~ msgid "LCCD: Linearized CC" #~ msgstr "LCCD: 線性化的 CC" #~ msgid "CCD: CC with Doubles" #~ msgstr "CCD: CC with Doubles" #~ msgid "CCSD: CC with Singles and Doubles" #~ msgstr "CCSD: CC with Singles and Doubles" #~ msgid "R-CC" #~ msgstr "R-CC" #~ msgid "CR-CC" #~ msgstr "CR-CC" #~ msgid "EOM-CCSD" #~ msgstr "EOM-CCSD" #~ msgid "CR-EOM" #~ msgstr "CR-EOM" #~ msgid "Normal Run" #~ msgstr "Normal Run" #~ msgid "Check" #~ msgstr "Check" #~ msgid "Debug" #~ msgstr "除錯" #~ msgid "Molecule Charge:" #~ msgstr "分子電荷:" #~ msgid "Run Type:" #~ msgstr "Run 種類:" #~ msgid "Use MP2" #~ msgstr "Use MP2" #~ msgid "Use DFT" #~ msgstr "Use DFT" #~ msgid "# of Z-Matrix Variables" #~ msgstr "# of Z-Matrix Variables" #~ msgid "Ǻngstrom" #~ msgstr "Ǻngstrom" #~ msgid "Order of Principal Axis:" #~ msgstr "Order of Principal Axis:" #~ msgid "Coordinate Type:" #~ msgstr "坐標軸種類:" #~ msgid "C1" #~ msgstr "C1" #~ msgid "CS" #~ msgstr "CS" #~ msgid "CI" #~ msgstr "CI" #~ msgid "CnH" #~ msgstr "CnH" #~ msgid "CnV" #~ msgstr "CnV" #~ msgid "Cn" #~ msgstr "Cn" #~ msgid "S2n" #~ msgstr "S2n" #~ msgid "DnD" #~ msgstr "DnD" #~ msgid "DnH" #~ msgstr "DnH" #~ msgid "Dn" #~ msgstr "Dn" #~ msgid "TD" #~ msgstr "TD" #~ msgid "TH" #~ msgstr "TH" #~ msgid "OH" #~ msgstr "OH" #~ msgid "O" #~ msgstr "O" #~ msgid "Unique cartesian Coords." #~ msgstr "Unique cartesian Coords." #~ msgid "Hilderbrant internals" #~ msgstr "Hilderbrant internals" #~ msgid "Use Symmetry During Calculation" #~ msgstr "Use Symmetry During Calculation" #~ msgid "Point Group:" #~ msgstr "Point Group:" #~ msgid "Minutes" #~ msgstr "分鐘" #~ msgid "Hours" #~ msgstr "小時" #~ msgid "Days" #~ msgstr "天" #~ msgid "Weeks" #~ msgstr "週" #~ msgid "Years" #~ msgstr "年" #~ msgid "Millenia" #~ msgstr "千年" #~ msgid "MegaWords" #~ msgstr "MegaWords" #~ msgid "MegaBytes" #~ msgstr "MegaBytes" #~ msgid "GigaWords" #~ msgstr "GigaWords" #~ msgid "GigaBytes" #~ msgstr "GigaBytes" #~ msgid "Force Parallel Methods" #~ msgstr "Force Parallel Methods" #~ msgid "Produce \"core\" file upon abort" #~ msgstr "Produce \"core\" file upon abort" #~ msgid "EVVRSP" #~ msgstr "EVVRSP" #~ msgid "GIVEIS" #~ msgstr "GIVEIS" #~ msgid "JACOBI" #~ msgstr "JACOBI" #~ msgid "MemDDI:" #~ msgstr "MemDDI:" #~ msgid "Memory:" #~ msgstr "記憶體:" #~ msgid "Diagonalization Method:" #~ msgstr "Diagonalization Method:" #~ msgid "Parallel Load Balance Type" #~ msgstr "Parallel Load Balance Type" #~ msgctxt "\"Loop\" load balancing - set static node assignments" #~ msgid "Loop" #~ msgstr "迴圈" #~ msgctxt "\"Next Value\" load balancing - dynamically assign nodes work" #~ msgid "Next Value" #~ msgstr "下一個值" #~ msgid "Use External Data Representation for Messages" #~ msgstr "Use External Data Representation for Messages" #~ msgid "Initial Guess:" #~ msgstr "Initial Guess:" #~ msgid "Hückel" #~ msgstr "Hückel" #~ msgid "HCore" #~ msgstr "HCore" #~ msgid "MO Read ($VEC)" #~ msgstr "MO Read ($VEC)" #~ msgid "MO Saved (DICTNRY)" #~ msgstr "MO 已存檔 (DICTNRY)" #~ msgid "Skip" #~ msgstr "略過" #~ msgid "Rotate Alpha and Beta Orbitals" #~ msgstr "選轉 Alpha 及 Beta 軌域" #~ msgid "Print the Initial Guess" #~ msgstr "Print the Initial Guess" #~ msgid "GAMESS Interface to Other Codes" #~ msgstr "GAMESS Interface to Other Codes" #~ msgid "MolPlt" #~ msgstr "MolPlt" #~ msgid "PltOrb" #~ msgstr "PltOrb" #~ msgid "AIMPAC" #~ msgstr "AIMPAC" #~ msgid "RPAC" #~ msgstr "RPAC" #~ msgid "Force a Check Run Type" #~ msgstr "Force a Check Run Type" #~ msgid "Hondo 8.2" #~ msgstr "Hondo 8.2" #~ msgid "MELDF" #~ msgstr "MELDF" #~ msgid "GAMESS (UK Version)" #~ msgstr "GAMESS (英國版本)" #~ msgid "Gaussian 9x" #~ msgstr "Gaussian 9x" #~ msgid "Solvate with Water" #~ msgstr "與進行溶媒合作用" #~ msgid "Generate UHF Natural Orbitals" #~ msgstr "產生 UHF 自然軌域" #~ msgid "Direct SCF" #~ msgstr "Direct SCF" #~ msgid "Compute Only Changed in Fock Matrix" #~ msgstr "Compute Only Changed in Fock Matrix" #~ msgid "Slater exchange" #~ msgstr "Slater exchange" #~ msgid "Becke 1988 exchange" #~ msgstr "Becke 1988 exchange" #~ msgid "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgstr "VWN: Vosko-Wilk-Nusair (VWN5) correlation" #~ msgid "LYP: Lee-Yang-Parr correlation" #~ msgstr "LYP: Lee-Yang-Parr correlation" #~ msgid "SVWN: Slater exchange + VWN correlation" #~ msgstr "SVWN: Slater 交換 + VWN 相關性" #~ msgid "BVWN: BECKE exchange + VWN5 correlation" #~ msgstr "BVWN: BECKE exchange + VWN5 correlation" #~ msgid "BLYP: BECKE exchange + LYP correlation" #~ msgstr "BLYP: BECKE exchange + LYP correlation" #~ msgid "Gill 1996 exchange" #~ msgstr "Gill 1996 exchange" #~ msgid "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgstr "Perdew-Burke-Ernzerhof (PBE) exchange" #~ msgid "OP: One-parameter Progressive correlation" #~ msgstr "OP: One-parameter Progressive correlation" #~ msgid "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgstr "SLYP: SLATER + Lee-Yang-Parr (LYP) correlation" #~ msgid "SOP: SLATER + OP correlation" #~ msgstr "SOP: SLATER + OP correlation" #~ msgid "BOP: BECKE exchange + OP correlation" #~ msgstr "BOP: BECKE exchange + OP correlation" #~ msgid "BVWN: GILL exchange + VWN5 correlation" #~ msgstr "BVWN: GILL exchange + VWN5 correlation" #~ msgid "GLYP: GILL exchange + LYP correlation" #~ msgstr "GLYP: GILL exchange + LYP correlation" #~ msgid "PBEVWN: PBE exchange + VWN6 correlation" #~ msgstr "PBEVWN: PBE exchange + VWN6 correlation" #~ msgid "PBELYP: PBE exchange +LYP correlation" #~ msgstr "PBELYP: PBE exchange +LYP correlation" #~ msgid "PBEOP: PBE exchange + OP correlation" #~ msgstr "PBEOP: PBE exchange + OP correlation" #~ msgid "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgstr "BHHLYP: HF and BECKE exchange + LYP correlation" #~ msgid "Grid-Free" #~ msgstr "Grid-Free" #~ msgid "DFT Functional:" #~ msgstr "DFT Functional:" #~ msgid "Method:" #~ msgstr "方式:" #~ msgid "AO Integral Storage" #~ msgstr "AO Integral Storage" #~ msgid "Duplicated on Each Node" #~ msgstr "Duplicated on Each Node" #~ msgid "Distributed Across All Nodes" #~ msgstr "Distributed Across All Nodes" #~ msgid "words" #~ msgstr "words" #~ msgid "Compute MP2 Properties" #~ msgstr "計算 MP2 的特性" #~ msgid "Integral Retention Cutoff:" #~ msgstr "Integral Retention Cutoff:" #~ msgid "Use Localized Orbitals" #~ msgstr "使用定域軌域" #~ msgid "# of Core Electrons:" #~ msgstr "內層電子數:" #~ msgid "Two Phase Bin Sort" #~ msgstr "Two Phase Bin Sort" #~ msgid "Segmented Transformation" #~ msgstr "Segmented Transformation" #~ msgid "Analytic" #~ msgstr "分析" #~ msgid "Numeric" #~ msgstr "數字" #~ msgid "Double Differenced Hessian" #~ msgstr "Double Differenced Hessian" #~ msgid "Print Internal Force Constants" #~ msgstr "Print Internal Force Constants" #~ msgid "Displacement Size:" #~ msgstr "置換大小" #~ msgid "Purify Hessian" #~ msgstr "Purify Hessian" #~ msgid "Frequency Scale Factor:" #~ msgstr "Frequency Scale Factor:" #~ msgid "bohrs" #~ msgstr "bohrs" #~ msgid "Initial Hessian" #~ msgstr "Initial Hessian" #~ msgid "Guess (+ define)" #~ msgstr "Guess (+ define)" #~ msgid "Read (from $HESS)" #~ msgstr "Read (from $HESS)" #~ msgid "Update Step Size" #~ msgstr "Update Step Size" #~ msgid "Print Orbs at Each Iteration" #~ msgstr "Print Orbs at Each Iteration" #~ msgid "Jump Size:" #~ msgstr "Jump Size:" #~ msgid "Stationary Point" #~ msgstr "Stationary Point" #~ msgid "Step Size" #~ msgstr "Step Size" #~ msgid "Maximum:" #~ msgstr "最大值:" #~ msgid "Minimum:" #~ msgstr "最小值:" #~ msgid "Initial:" #~ msgstr "Initial:" #~ msgid "Newton-Raphson" #~ msgstr "Newton-Raphson" #~ msgid "Rational Function Optimization" #~ msgstr "Rational Function Optimization" #~ msgid "Quadratic Approximation" #~ msgstr "二次逼近" #~ msgid "Schlegel (quasi-NR)" #~ msgstr "Schlegel (quasi-NR)" #~ msgid "Constrained Optimization" #~ msgstr "Constrained Optimization" #~ msgid "Recalculate Hessian Every:" #~ msgstr "Recalculate Hessian Every:" #~ msgid "Follow Mode:" #~ msgstr "Follow Mode:" #~ msgid "Maximum Steps:" #~ msgstr "Maximum Steps:" #~ msgid "GAMESS-UK Input" #~ msgstr "GAMESS-UK 輸入" #~ msgid "GAMESS-UK input generated by Avogadro" #~ msgstr "由 Avogadro 產生 GAMESS-UK 輸入" #~ msgid "Transition State Search" #~ msgstr "過渡狀態搜尋" #~ msgid "Basis:" #~ msgstr "基礎:" #~ msgid "SVWN" #~ msgstr "SVWN" #~ msgid "B97" #~ msgstr "B97" #~ msgid "HCTH" #~ msgstr "HCTH" #~ msgid "FT97" #~ msgstr "FT97" #~ msgid "Z-matrix" #~ msgstr "Z-matrix" #~ msgid "Gaussian Input" #~ msgstr "輸入 Gaussian" #~ msgid "LANL2DZ" #~ msgstr "LANL2DZ" #~ msgid "Standard" #~ msgstr "標準" #~ msgid "Molden" #~ msgstr "Molden" #~ msgid "Molekel" #~ msgstr "Molekel" #~ msgid "Checkpoint:" #~ msgstr "檢查點:" #~ msgid "Z-matrix (compact)" #~ msgstr "Z-matrix (簡潔的)" #~ msgid "MOLPRO Input" #~ msgstr "MOLPRO 輸入" #~ msgid "6-31+G(d)" #~ msgstr "6-31+G(d)" #~ msgid "6-311G(d)" #~ msgstr "6-311G(d)" #~ msgid "AUG-cc-pVDZ" #~ msgstr "AUG-cc-pVDZ" #~ msgid "AUG-cc-pVTZ" #~ msgstr "AUG-cc-pVTZ" #~ msgid "Molpro Version:" #~ msgstr "Molpro 版本:" #~ msgid "< 2009.1" #~ msgstr "< 2009.1" #~ msgid "2009.1" #~ msgstr "2009.1" #~ msgid "MOPAC Input" #~ msgstr "MOPAC 輸入" #~ msgid "Quartet" #~ msgstr "Quartet 四重" #~ msgid "Quintet" #~ msgstr "Quintet 五重" #~ msgid "MNDO-d" #~ msgstr "MNDO-d" #~ msgid "PM6" #~ msgstr "PM6" #~ msgid "RM1" #~ msgstr "RM1" #~ msgid "NWChem Input" #~ msgstr "NWChem 輸入" #~ msgid "Q-Chem Input" #~ msgstr "Q-Chem 輸入" #~ msgid "B3LYP5" #~ msgstr "B3LYP5" #~ msgid "M06-2X" #~ msgstr "M06-2X" #~ msgid "LACVP" #~ msgstr "LACVP" #~ msgid "Load Shaders" #~ msgstr "載入 Shaders (幕後工程師)" #~ msgid "Shader Name:" #~ msgstr "Shader 名稱:" #~ msgid "Vertex Shader:" #~ msgstr "Vertex Shader (頂點著色器):" #~ msgid "Fragment Shader:" #~ msgstr "片段 Shader:" #~ msgid "Assign Shader" #~ msgstr "指定 Shader" #~ msgid "Display Type:" #~ msgstr "展示種類:" #~ msgid "" #~ "Controls:\n" #~ "Double left click: Restore default axis limits\n" #~ "Right click + drag: Move plot\n" #~ "Middle click + drag: Zoom to region\n" #~ "Scroll wheel: Zoom to cursor" #~ msgstr "" #~ "控制:\n" #~ "滑鼠左鍵雙擊: 回覆預設的軸限制\n" #~ "右鍵 + 拖曳: 移動圖形\n" #~ "中鍵 + 拖曳: 縮放到區域\n" #~ "滾輪: 縮放到游標" #~ msgid "&Load data..." #~ msgstr "載入資料" #~ msgid "&Close" #~ msgstr "關閉" #~ msgid "Calculated Spectra:" #~ msgstr "計算的光譜:" #~ msgid "Set Color..." #~ msgstr "設定顏色..." #~ msgid "Imported Spectra:" #~ msgstr "匯入的光譜:" #~ msgid "Font:" #~ msgstr "字形:" #~ msgid "Change Font..." #~ msgstr "改變字形:" #~ msgid "Show" #~ msgstr "顯示" #~ msgid "Imports a tsv of experimental spectra to overlay on the plot." #~ msgstr "匯入實驗性光譜的 tsv 以覆蓋圖形" #~ msgid "&Import..." #~ msgstr "匯入" #~ msgid "Background:" #~ msgstr "背景:" #~ msgid "Foreground:" #~ msgstr "前景:" #~ msgid "New..." #~ msgstr "新增..." #~ msgid "Rename..." #~ msgstr "重新命名..." #~ msgid "&Schemes:" #~ msgstr "方案:" #~ msgid "&Export..." #~ msgstr "匯出:" #~ msgid "&DPI:" #~ msgstr "DPI:" #~ msgid "&Width:" #~ msgstr "寬度:" #~ msgid "&Height" #~ msgstr "高" #~ msgid "cm" #~ msgstr "cm" #~ msgid "mm" #~ msgstr "mm" #~ msgid "in" #~ msgstr "in" #~ msgid "px" #~ msgstr "px" #~ msgid "&Save Image..." #~ msgstr "儲存圖片..." #~ msgid "" #~ "Use an optimized value for the font size instead of the scheme-specified " #~ "value (screen to image point sizes don't translate well!)" #~ msgstr "將字形大小最適化, 以取代特定值" #~ msgid "Auto-adjust F&ont Size" #~ msgstr "自動調整字型大小" #~ msgid "x" #~ msgstr "x" #~ msgid "y" #~ msgstr "y" #~ msgid "Export Data" #~ msgstr "匯出資料" #~ msgid "Spectra Tab" #~ msgstr "光譜標記" #~ msgid "&Gaussian Width:" #~ msgstr "Gaussian 寬度:" #~ msgid "&Label peaks" #~ msgstr "標示 peaks (訊號峰)" #~ msgid "Rotatory Strength type:" #~ msgstr "Rotatory Strength 種類:" #~ msgid "Energy units:" #~ msgstr "能量單位:" #~ msgid "Density units" #~ msgstr "密度單位" #~ msgid "Fermi Energy: " #~ msgstr "費米能: " #~ msgid "States / Cell" #~ msgstr "狀態 / 晶格" #~ msgid "States / Atom" #~ msgstr "狀態 / 原子" #~ msgid "States / Valence electron" #~ msgstr "狀態 / 價電子" #~ msgid "eV" #~ msgstr "eV" #~ msgid "Fermi energy at zero" #~ msgstr "費米能為零" #~ msgid "Scale integrated DOS" #~ msgstr "Scale integrated DOS" #~ msgid "Show integrated DOS" #~ msgstr "顯示 integrated DOS" #~ msgid "tab_IR_Raman" #~ msgstr "tab_IR_Raman" #~ msgid "&Y Axis Units:" #~ msgstr "Y 軸單位:" #~ msgid "Scaling Type:" #~ msgstr "縮放種類:" #~ msgid "Linear" #~ msgstr "線性" #~ msgid "Relative" #~ msgstr "相對" #~ msgid "Temperature:" #~ msgstr "溫度:" #~ msgid " K" #~ msgstr " K" #~ msgid "Laser Wavenumber:" #~ msgstr "雷射波數:" #~ msgid " cm⁻¹" #~ msgstr " cm⁻¹" #~ msgid "Threshold:" #~ msgstr "臨界值:" #~ msgid "tab_NMR" #~ msgstr "tab_NMR" #~ msgid "Nucleus:" #~ msgstr "核:" #~ msgid "&Reference:" #~ msgstr "參考:" #~ msgid "Gaussian &Width:" #~ msgstr "Gaussian 寬度:" #~ msgid "Reset &Plot Axes" #~ msgstr "重設圖形的軸" #~ msgid "Label Peaks:" #~ msgstr "標示 peaks:" #~ msgid "ppm" #~ msgstr "ppm" #~ msgid "Molecular Vibrations" #~ msgstr "分子振動" #~ msgid "Filter: " #~ msgstr "過濾器: " #~ msgid "km/mol" #~ msgstr "km/mol" #~ msgid "ν (cm⁻¹)" #~ msgstr "ν (cm⁻¹)" #~ msgid "I (km/mol)" #~ msgstr "I (km/mol)" #~ msgid "Activity (A^4/amu)" #~ msgstr "活性 (A^4/amu)" #~ msgid "&Show Spectra..." #~ msgstr "顯示光譜..." #~ msgid "higher frequency vibrations will show faster movement" #~ msgstr "較高的頻率將呈現較快的活動" #~ msgid "Animation speed set by frequency" #~ msgstr "依頻率設定動畫速度" #~ msgid "Display force &vectors" #~ msgstr "顯示力與向量" #~ msgid "&Normalize displacements" #~ msgstr "位移標準化" #~ msgid "Generate Cell" #~ msgstr "產生晶格" #~ msgid "&Recalculate All" #~ msgstr "全部重新計算" #~ msgid "Default &Quality:" #~ msgstr "預設品質:" #~ msgid "Show occupied orbitals first" #~ msgstr "優先顯示已填入的軌域" #~ msgid "Quality: " #~ msgstr "品質: " #~ msgid "Create Surfaces" #~ msgstr "產生外觀" #~ msgid "Surface Type:" #~ msgstr "Surface 種類:" #~ msgid "Color By:" #~ msgstr "上色是依照:" #~ msgctxt "low resolution" #~ msgid "Low" #~ msgstr "低" #~ msgctxt "medium resolution" #~ msgid "Medium" #~ msgstr "中" #~ msgctxt "high resolution" #~ msgid "High" #~ msgstr "高" #~ msgctxt "very high resolution" #~ msgid "Very High" #~ msgstr "極高" #~ msgid "Isosurface cutoff value" #~ msgstr "Isosurface cutoff value (等曲面截斷值)" #~ msgid "Iso Value:" #~ msgstr "Iso 值:" #~ msgctxt "" #~ "Add the new surface to this particular display type (i.e., orbital or " #~ "surface)" #~ msgid "In Display Type:" #~ msgstr "顯示的種類" #~ msgid "New Display" #~ msgstr "新的顯示" #~ msgid "Advanced..." #~ msgstr "進階..." #~ msgid "Display visual cues" #~ msgstr "顯示視覺提示" #~ msgid "Python Settings" #~ msgstr "Python 設定" #~ msgid "Z Matrix Editor" #~ msgstr "Z Matrix 編輯器" #~ msgid "Import Selected Atoms" #~ msgstr "匯入所選的原子" avogadrolibs-1.93.0/python/000077500000000000000000000000001360735163600156135ustar00rootroot00000000000000avogadrolibs-1.93.0/python/CMakeLists.txt000066400000000000000000000041311360735163600203520ustar00rootroot00000000000000find_package(PythonInterp 3 REQUIRED) find_package(PythonLibs 3 REQUIRED) set(PYBIND11_PYTHON_VERSION "3" CACHE STRING "") set(PYBIND11_CPP_STANDARD "-std=c++11" CACHE STRING "") find_package(pybind11 REQUIRED) find_package(Eigen3 REQUIRED) include_directories(SYSTEM ${AvogadroLibs_SOURCE_DIR} ${AvogadroLibs_BINARY_DIR}/avogadro/core ${AvogadroLibs_BINARY_DIR}/avogadro/io ${AvogadroLibs_BINARY_DIR}/avogadro/quantumio ${PYTHON_INCLUDE_PATH} ${EIGEN3_INCLUDE_DIR} ${pybind11_INCLUDE_DIRS} ) set(wrapper_SRCS main.cpp core.cpp io.cpp ) set(_python_module_install_dir "avogadro") # SKBUILD is set for binary wheel if (NOT SKBUILD) set(_python_module_install_dir "${INSTALL_LIBRARY_DIR}/avogadro") endif() set(CMAKE_MODULE_LINKER_FLAGS "") # Core pybind11_add_module(avogadrocorepython core.cpp) set_target_properties(avogadrocorepython PROPERTIES OUTPUT_NAME core) target_link_libraries(avogadrocorepython PRIVATE AvogadroCore pybind11::module ) install(TARGETS avogadrocorepython LIBRARY COMPONENT python DESTINATION "${_python_module_install_dir}") # IO pybind11_add_module(avogadroiopython io.cpp) set_target_properties(avogadroiopython PROPERTIES OUTPUT_NAME io) target_link_libraries(avogadroiopython PRIVATE AvogadroIO AvogadroQuantumIO pybind11::module ) install(TARGETS avogadroiopython LIBRARY COMPONENT python DESTINATION "${_python_module_install_dir}") # Set the RPATH so the dependent libraries can be found in the wheel. if(APPLE) set(_rpath_value "@loader_path") elseif(UNIX) set(_rpath_value "$ORIGIN") endif() if (NOT WIN32) set_target_properties(avogadrocorepython avogadroiopython PROPERTIES INSTALL_RPATH ${_rpath_value}) endif() install(FILES avogadro/__init__.py COMPONENT python DESTINATION "${_python_module_install_dir}") # Set the output directory so the python modules can be used from the build # tree. set_target_properties(avogadrocorepython avogadroiopython PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/avogadro" LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib/avogadro" ) avogadrolibs-1.93.0/python/avogadro/000077500000000000000000000000001360735163600174155ustar00rootroot00000000000000avogadrolibs-1.93.0/python/avogadro/__init__.py000066400000000000000000000000441360735163600215240ustar00rootroot00000000000000from . import core from . import io avogadrolibs-1.93.0/python/core.cpp000066400000000000000000000070451360735163600172550ustar00rootroot00000000000000#include #include #include #include namespace py = pybind11; using namespace Avogadro; using namespace Avogadro::Core; PYBIND11_MODULE(core, m) { m.doc() = "AvogadroCore Python binding"; using atomBase = AtomTemplate; py::class_(m, "atomBase"); py::class_(m, "Atom") .def_property_readonly("index", &Atom::index, "Index in the molecule") .def_property("atomic_number", &Atom::atomicNumber, &Atom::setAtomicNumber, "The atomic number") .def("is_valid", &Atom::isValid, "Check if the object is valid"); using bondBase = BondTemplate; py::class_(m, "bondBase"); py::class_(m, "Bond") .def_property_readonly("index", &Bond::index, "Index in the molecule") .def_property("order", &Bond::order, &Bond::setOrder, "The order of the bond (single = 1, double = 2, etc") .def("is_valid", &Bond::isValid, "Check if the object is valid") .def("atom1", &Bond::atom1, "The first atom") .def("atom2", &Bond::atom2, "The second atom"); bool (Cube::*setLimits0)(const Molecule&, double, double) = &Cube::setLimits; py::class_(m, "Cube").def( "set_limits", setLimits0, "Set the limits based on the molecule geometry"); Index (Molecule::*atomCount0)() const = &Molecule::atomCount; Index (Molecule::*atomCount1)(unsigned char) const = &Molecule::atomCount; Bond (Molecule::*addBond1)(Index, Index, unsigned char) = &Molecule::addBond; Bond (Molecule::*addBond2)(const Atom&, const Atom&, unsigned char) = &Molecule::addBond; py::class_(m, "Molecule") .def(py::init<>()) .def("add_atom", &Molecule::addAtom, "Add an atom") .def("atom_count", atomCount0, "The number of atoms") .def("atom_count", atomCount1, "The number of atoms with the supplied atomic number") .def("add_bond", addBond1, "Add a new bond", py::arg("a1"), py::arg("a2"), py::arg("order") = 1) .def("add_bond", addBond2, "Add a new bond", py::arg("a1"), py::arg("a2"), py::arg("order") = 1) .def("bond_count", &Molecule::bondCount, "The number of bonds") .def("add_cube", &Molecule::addCube, py::return_value_policy::reference, "Add a new cube") .def("cube_count", &Molecule::cubeCount, "The number of cubes") .def("has_custom_elements", &Molecule::hasCustomElements, "Returns true if the molecule contains any custom elements") .def("formula", &Molecule::formula, "The chemical formula of the molecule", py::arg("delimiter") = "", py::arg("show_counts_over") = 1) .def("mass", &Molecule::mass, "The mass of the molecule"); bool (GaussianSetTools::*calculateMolecularOrbital0)(Cube&, int) const = &GaussianSetTools::calculateMolecularOrbital; bool (GaussianSetTools::*calculateElectronDensity0)(Cube&) const = &GaussianSetTools::calculateElectronDensity; bool (GaussianSetTools::*calculateSpinDensity0)(Cube&) const = &GaussianSetTools::calculateSpinDensity; py::class_(m, "GaussianSetTools") .def(py::init()) .def("calculate_molecular_orbital", calculateMolecularOrbital0, "Calculate the molecular orbital and set values in the cube") .def("calculate_electron_density", calculateElectronDensity0, "Calculate the electron density and set values in the cube") .def("calculate_spin_density", calculateSpinDensity0, "Calculate the spin density and set values in the cube"); } avogadrolibs-1.93.0/python/io.cpp000066400000000000000000000066671360735163600167450ustar00rootroot00000000000000#include #include #include #include #include #include #include #include #include #include namespace py = pybind11; using namespace Avogadro; using namespace Avogadro::Core; using namespace Avogadro::Io; using namespace Avogadro::QuantumIO; namespace { // Add a proxy class for Python that exposes the file format manager singleton. class ffm { public: ffm() : m_ffm(FileFormatManager::instance()) {} bool readFile(Core::Molecule& molecule, const std::string& fileName, const std::string& fileExtension = std::string(), const std::string& options = std::string()) const { return m_ffm.readFile(molecule, fileName, fileExtension, options); } bool writeFile(const Core::Molecule& molecule, const std::string& fileName, const std::string& fileExtension = std::string(), const std::string& options = std::string()) const { return m_ffm.writeFile(molecule, fileName, fileExtension, options); } bool readString(Core::Molecule& molecule, const std::string& string, const std::string& fileExtension, const std::string& options = std::string()) const { return m_ffm.readString(molecule, string, fileExtension, options); } std::string writeString(const Molecule& mol, const std::string& ext, const std::string& options = std::string()) { std::string fileStr; bool ok = m_ffm.writeString(mol, fileStr, ext, options); if (!ok) fileStr = "Error: " + FileFormatManager::instance().error(); return fileStr; } private: FileFormatManager& m_ffm; }; } // namespace PYBIND11_MODULE(io, m) { m.doc() = "AvogadroIo Python binding"; /// Add the quantum IO formats, we should probably move them over soon, but /// get things working for now... Io::FileFormatManager::registerFormat(new GaussianFchk); Io::FileFormatManager::registerFormat(new GaussianCube); Io::FileFormatManager::registerFormat(new MoldenFile); Io::FileFormatManager::registerFormat(new MopacAux); Io::FileFormatManager::registerFormat(new NWChemJson); Io::FileFormatManager::registerFormat(new NWChemLog); /// This class uses a singleton pattern, make it accessible through Python. py::class_(m, "FileFormatManager") .def(py::init<>()) .def("read_file", &ffm::readFile, "Read in a molecule from the supplied file path", py::arg("molecule"), py::arg("file_name"), py::arg("file_extension") = std::string(), py::arg("options") = std::string()) .def("write_file", &ffm::writeFile, "Write the molecule to the supplied file path", py::arg("molecule"), py::arg("file_name"), py::arg("file_extension") = std::string(), py::arg("options") = std::string()) .def("read_string", &ffm::readString, "Read in a molecule from the supplied string", py::arg("molecule"), py::arg("string"), py::arg("file_extension"), py::arg("options") = std::string()) .def("write_string", &ffm::writeString, "Write a molecule to the supplied string", py::arg("mol"), py::arg("file_extension"), py::arg("options") = std::string()); } avogadrolibs-1.93.0/requirements-dev.txt000066400000000000000000000000711360735163600203300ustar00rootroot00000000000000scikit-build>=0.5.1 setuptools_scm>=v3.1.0 wheel==0.31.1 avogadrolibs-1.93.0/scripts/000077500000000000000000000000001360735163600157615ustar00rootroot00000000000000avogadrolibs-1.93.0/scripts/appveyor/000077500000000000000000000000001360735163600176265ustar00rootroot00000000000000avogadrolibs-1.93.0/scripts/appveyor/build-wheels.ps1000066400000000000000000000007111360735163600226360ustar00rootroot00000000000000trap { Write-Error $_; Exit 1 } set-alias sz "$env:ProgramFiles\7-Zip\7z.exe" Invoke-WebRequest -Uri "https://github.com/pybind/pybind11/archive/v2.2.4.zip" -OutFile "v2.2.4.zip" sz x v2.2.4.zip -oC:\openchemistry -aoa -r Invoke-WebRequest -Uri "http://bitbucket.org/eigen/eigen/get/3.3.5.zip" -OutFile "3.3.5.zip" sz x 3.3.5.zip -oC:\openchemistry -aoa -r C:\Python35-x64\python.exe C:\openchemistry\avogadrolibs\scripts\appveyor\windows_build_wheels.py avogadrolibs-1.93.0/scripts/appveyor/build.bat000066400000000000000000000007771360735163600214300ustar00rootroot00000000000000echo Building avogadrolibs cd .. git init . git remote add origin git://github.com/OpenChemistry/openchemistry.git git pull origin master git -c submodule.avogadrolibs.update=none submodule update --init --depth 100 cd ../ mkdir openchemistry-build cd openchemistry-build choco install ninja call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 cmake -G %CMAKE_GENERATOR% ../openchemistry cmake --build . --target avogadrolibs --config Release avogadrolibs-1.93.0/scripts/appveyor/upload-pypi.ps1000066400000000000000000000002011360735163600225070ustar00rootroot00000000000000trap { Write-Error $_; Exit 1 } python -m pip install --disable-pip-version-check twine python -m twine upload --verbose dist/* avogadrolibs-1.93.0/scripts/appveyor/wheel_builder_utils.py000066400000000000000000000050441360735163600242350ustar00rootroot00000000000000 """This module provides convenient function facilitating scripting. These functions have been copied from scikit-build project. See https://github.com/scikit-build/scikit-build """ import errno import os from contextlib import contextmanager from functools import wraps def mkdir_p(path): """Ensure directory ``path`` exists. If needed, parent directories are created. Adapted from http://stackoverflow.com/a/600612/1539918 """ try: os.makedirs(path) except OSError as exc: # Python >2.5 if exc.errno == errno.EEXIST and os.path.isdir(path): pass else: # pragma: no cover raise @contextmanager def push_env(**kwargs): """This context manager allow to set/unset environment variables. """ saved_env = dict(os.environ) for var, value in kwargs.items(): if value is not None: os.environ[var] = value elif var in os.environ: del os.environ[var] yield os.environ.clear() for (saved_var, saved_value) in saved_env.items(): os.environ[saved_var] = saved_value class ContextDecorator(object): """A base class or mixin that enables context managers to work as decorators.""" def __init__(self, **kwargs): self.__dict__.update(kwargs) def __enter__(self): # Note: Returning self means that in "with ... as x", x will be self return self def __exit__(self, typ, val, traceback): pass def __call__(self, func): @wraps(func) def inner(*args, **kwds): # pylint:disable=missing-docstring with self: return func(*args, **kwds) return inner class push_dir(ContextDecorator): """Context manager to change current directory. """ def __init__(self, directory=None, make_directory=False): """ :param directory: Path to set as current working directory. If ``None`` is passed, ``os.getcwd()`` is used instead. :param make_directory: If True, ``directory`` is created. """ self.directory = None self.make_directory = None self.old_cwd = None super(push_dir, self).__init__( directory=directory, make_directory=make_directory) def __enter__(self): self.old_cwd = os.getcwd() if self.directory: if self.make_directory: mkdir_p(self.directory) os.chdir(self.directory) return self def __exit__(self, typ, val, traceback): os.chdir(self.old_cwd) avogadrolibs-1.93.0/scripts/appveyor/windows_build_common.py000066400000000000000000000026521360735163600244260ustar00rootroot00000000000000__all__ = ['DEFAULT_PY_ENVS', 'venv_paths'] from subprocess import check_call import os DEFAULT_PY_ENVS = ['35-x64', '36-x64', '37-x64'] SCRIPT_DIR = os.path.dirname(__file__) ROOT_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, '..', '..', '..')) def venv_paths(python_version): # Create venv venv_executable = 'C:/Python%s/Scripts/virtualenv.exe' % (python_version) venv_dir = os.path.join(ROOT_DIR, 'venv-%s' % python_version) check_call([venv_executable, venv_dir]) python_executable = os.path.join(venv_dir, 'Scripts', 'python.exe') python_include_dir = os.path.join(venv_dir, 'Include') # XXX It should be possible to query skbuild for the library dir associated # with a given interpreter. xy_ver = python_version.split('-')[0] python_library = 'C:/Python%s/libs/python%s.lib' % (python_version, xy_ver) print('') print('PYTHON_EXECUTABLE: %s' % python_executable) print('PYTHON_INCLUDE_DIR: %s' % python_include_dir) print('PYTHON_LIBRARY: %s' % python_library) pip = os.path.join(venv_dir, 'Scripts', 'pip.exe') ninja_executable = os.path.join( ROOT_DIR, 'venv-35-x64', 'Scripts', 'ninja.exe') print('NINJA_EXECUTABLE:%s' % ninja_executable) # Update PATH path = os.path.join(venv_dir, 'Scripts') return python_executable, \ python_include_dir, \ python_library, \ pip, \ ninja_executable, \ path avogadrolibs-1.93.0/scripts/appveyor/windows_build_wheels.py000066400000000000000000000063621360735163600244270ustar00rootroot00000000000000from subprocess import check_call import os import sys import shutil SCRIPT_DIR = os.path.dirname(__file__) REPO_DIR = os.path.abspath(os.getcwd()) ROOT_DIR = os.path.abspath(os.path.join(REPO_DIR, '..')) print('ROOT_DIR: %s' % ROOT_DIR) print('REPO_DIR: %s' % REPO_DIR) from wheel_builder_utils import push_dir, push_env from windows_build_common import DEFAULT_PY_ENVS, venv_paths def build_wheels(py_envs=DEFAULT_PY_ENVS): # Install Eigen eigen_build_dir = os.path.join(ROOT_DIR, 'eigen-build') os.mkdir(eigen_build_dir) eigen_install_dir = os.path.join(ROOT_DIR, 'eigen') check_call([ 'cmake', '-DCMAKE_INSTALL_PREFIX:PATH=%s' % eigen_install_dir, '../eigen-eigen-b3f3d4950030/'], cwd=eigen_build_dir) check_call(['cmake', '--build', '.', '--target', 'install'], cwd=eigen_build_dir) for py_env in py_envs: python_executable, \ python_include_dir, \ python_library, \ pip, \ ninja_executable, \ path = venv_paths(py_env) with push_env(PATH='%s%s%s' % (path, os.pathsep, os.environ['PATH'])): # Install dependencies requirements_file = os.path.join(REPO_DIR, 'requirements-dev.txt') if os.path.exists(requirements_file): check_call([pip, 'install', '--upgrade', '-r', requirements_file]) check_call([pip, 'install', 'cmake']) check_call([pip, 'install', 'scikit_build']) check_call([pip, 'install', 'ninja']) build_type = 'Release' # Install pybind source_dir = os.path.join(ROOT_DIR, 'pybind11-2.2.4') build_dir = os.path.join(ROOT_DIR, 'pybind11-build') shutil.rmtree(build_dir, ignore_errors=True) os.mkdir(build_dir) install_dir = os.path.join(ROOT_DIR, 'pybind11-install') shutil.rmtree(install_dir, ignore_errors=True) os.mkdir(install_dir) check_call(['cmake', '-GVisual Studio 14 2015 Win64', '-DPYTHON_EXECUTABLE:PATH=%s' % python_executable, '-DPYBIND11_TEST:BOOL=FALSE', '-DCMAKE_INSTALL_PREFIX:PATH=%s' % install_dir, source_dir], cwd=build_dir) check_call(['cmake', '--build', '.', '--target', 'install'], cwd=build_dir) # Generate wheel check_call([ python_executable, 'setup.py', 'bdist_wheel', '--build-type', build_type, '-G', 'Ninja', '--', '-DCMAKE_MAKE_PROGRAM:FILEPATH=%s' % ninja_executable, '-DBUILD_TESTING:BOOL=OFF', '-DPYTHON_EXECUTABLE:FILEPATH=%s' % python_executable, '-DPYTHON_INCLUDE_DIR:PATH=%s' % python_include_dir, '-DPYTHON_LIBRARY:FILEPATH=%s' % python_library, '-Dpybind11_DIR:PATH=%s' % os.path.join(install_dir, 'share', 'cmake', 'pybind11'), '-DEIGEN3_INCLUDE_DIR:PATH=%s' % os.path.join(eigen_install_dir, 'include','eigen3') ]) # Cleanup check_call([python_executable, 'setup.py', 'clean']) if __name__ == '__main__': build_wheels() avogadrolibs-1.93.0/scripts/circleci/000077500000000000000000000000001360735163600175365ustar00rootroot00000000000000avogadrolibs-1.93.0/scripts/circleci/dockcross-manylinux-build-wheels.sh000077500000000000000000000014571360735163600265020ustar00rootroot00000000000000#!/bin/bash set -e # Pull dockcross manylinux images docker pull dockcross/manylinux-x64 # Generate dockcross scripts docker run dockcross/manylinux-x64 > /tmp/dockcross-manylinux-x64 chmod u+x /tmp/dockcross-manylinux-x64 pushd . mkdir deps cd deps curl -L https://github.com/pybind/pybind11/archive/v2.2.4.tar.gz -O tar zxvf v2.2.4.tar.gz curl -L http://bitbucket.org/eigen/eigen/get/3.3.5.tar.bz2 -O bzip2 -d 3.3.5.tar.bz2 tar xvf 3.3.5.tar mkdir eigen-build cd eigen-build/ cmake -DCMAKE_INSTALL_PREFIX:PATH=$(pwd)/../eigen ../eigen-eigen-b3f3d4950030/ cmake --build . --target install popd # Build wheels mkdir -p dist cd avogadrolibs DOCKER_ARGS="-v $HOME/dist:/work/dist/ -v $HOME/deps:/deps" /tmp/dockcross-manylinux-x64 \ -a "$DOCKER_ARGS" \ "/work/scripts/circleci/manylinux-build-wheels.sh" "$@" avogadrolibs-1.93.0/scripts/circleci/manylinux-build-wheels.sh000077500000000000000000000065621360735163600245140ustar00rootroot00000000000000#!/usr/bin/env bash # ----------------------------------------------------------------------- # These variables are set in common script: # ARCH="" PYBINARIES="" PYTHON_LIBRARY="" # Versions can be restricted by passing them in as arguments to the script # For example, # manylinux-build-wheels.sh cp27mu cp35 if [[ $# -eq 0 ]]; then PYBIN=(/opt/python/*/bin) PYBINARIES=() for version in "${PYBIN[@]}"; do if [[ ${version} == *"cp27"* || ${version} == *"cp35"* || ${version} == *"cp36"* || ${version} == *"cp37"* ]]; then PYBINARIES+=(${version}) fi done else PYBINARIES=() for version in "$@"; do PYBINARIES+=(/opt/python/*${version}*/bin) done fi # i686 or x86_64 ? case $(uname -p) in i686) ARCH=x86 ;; x86_64) ARCH=x64 ;; *) die "Unknown architecture $(uname -p)" ;; esac echo "Building wheels for $ARCH" # Since the python interpreter exports its symbol (see [1]), python # modules should not link against any python libraries. # To ensure it is not the case, we configure the project using an empty # file as python library. # # [1] "Note that libpythonX.Y.so.1 is not on the list of libraries that # a manylinux1 extension is allowed to link to. Explicitly linking to # libpythonX.Y.so.1 is unnecessary in almost all cases: the way ELF linking # works, extension modules that are loaded into the interpreter automatically # get access to all of the interpreter's symbols, regardless of whether or # not the extension itself is explicitly linked against libpython. [...]" # # Source: https://www.python.org/dev/peps/pep-0513/#libpythonx-y-so-1 PYTHON_LIBRARY=$(cd $(dirname $0); pwd)/libpython-not-needed-symbols-exported-by-interpreter touch ${PYTHON_LIBRARY} script_dir=$(cd $(dirname $0) || exit 1; pwd) # ----------------------------------------------------------------------- # Compile wheels re-using standalone project and archive cache for PYBIN in "${PYBINARIES[@]}"; do PYTHON_EXECUTABLE=${PYBIN}/python PYTHON_INCLUDE_DIR=$( find -L ${PYBIN}/../include/ -name Python.h -exec dirname {} \; ) echo "" echo "PYTHON_EXECUTABLE:${PYTHON_EXECUTABLE}" echo "PYTHON_INCLUDE_DIR:${PYTHON_INCLUDE_DIR}" echo "PYTHON_LIBRARY:${PYTHON_LIBRARY}" rm -rf /deps/pybind11 mkdir -p /deps/pybind11/build mkdir -p /deps/pybind11/install cd /deps/pybind11/build cmake -DPYTHON_EXECUTABLE:PATH=$PYTHON_EXECUTABLE -DPYBIND11_TEST:BOOL=FALSE -DCMAKE_INSTALL_PREFIX:PATH=/deps/pybind11/install ../../pybind11-2.2.4 cmake --build . --target install cd /work if [[ -e /work/requirements-dev.txt ]]; then ${PYBIN}/pip install --upgrade -r /work/requirements-dev.txt fi ${PYBIN}/python setup.py bdist_wheel --build-type MinSizeRel -G Ninja -- \ -Dpybind11_DIR:PATH=/deps/pybind11/install/share/cmake/pybind11 \ -DEIGEN3_INCLUDE_DIR:PATH=/deps/eigen/include/eigen3 \ -DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE} \ -DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR} \ -DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY} \ || exit 1 ${PYBIN}/python setup.py clean done # Update wheel to switching from 'linux' to 'manylinux1' tag # We need to install click /opt/_internal/cpython-3.6.6/bin/pip install click for whl in dist/*linux_$(uname -p).whl; do /opt/_internal/cpython-3.6.6/bin/python /work/scripts/tag_manylinux.py ${whl} rm ${whl} done avogadrolibs-1.93.0/scripts/circleci/upload_pypi.sh000077500000000000000000000002011360735163600224130ustar00rootroot00000000000000#!/bin/bash sudo pip install twine SCRIPT_DIR=$(cd $(dirname $0) || exit 1; pwd) source "${SCRIPT_DIR}/../common/upload_pypi.sh" avogadrolibs-1.93.0/scripts/common/000077500000000000000000000000001360735163600172515ustar00rootroot00000000000000avogadrolibs-1.93.0/scripts/common/upload_pypi.sh000077500000000000000000000000401360735163600221270ustar00rootroot00000000000000#!/bin/bash twine upload dist/* avogadrolibs-1.93.0/scripts/extract-messages.sh000077500000000000000000000061241360735163600216020ustar00rootroot00000000000000#!/bin/sh BASEDIR="avogadro/" # root of translatable sources PROJECT="avogadrolibs" # project name PACKAGE="Avogadro" # user-readable package name # user-readable version MAJORVERSION=`grep 'set(AvogadroLibs_VERSION_MAJOR' CMakeLists.txt | cut -f 2 -d '"'` MINORVERSION=`grep 'set(AvogadroLibs_VERSION_MINOR' CMakeLists.txt | cut -f 2 -d '"'` PATCHVERSION=`grep 'set(AvogadroLibs_VERSION_PATCH' CMakeLists.txt | cut -f 2 -d '"'` VERSION="${MAJORVERSION}.${MINORVERSION}.${PATCHVERSION}" BUGADDR="avogadro-devel@lists.sourceforge.net" # MSGID-Bugs WDIR=`pwd` # working dir I18NDIR="i18n/" # i18n dir echo "Preparing rc files" cd ${BASEDIR} # we use simple sorting to make sure the lines do not jump around too much from system to system find . -name '*.rc' -o -name '*.ui' -o -name '*.kcfg' | grep -v 'test' | grep -v 'example' | sort > ${WDIR}/rcfiles.list cat ${WDIR}/rcfiles.list | xargs ${WDIR}/scripts/extractrc.sh > ${WDIR}/rc.cpp # additional string for KAboutData echo 'i18nc("NAME OF TRANSLATORS","Your names");' >> ${WDIR}/rc.cpp echo 'i18nc("EMAIL OF TRANSLATORS","Your emails");' >> ${WDIR}/rc.cpp cd ${WDIR} echo "Done preparing rc files" echo "Extracting messages" cd ${BASEDIR} # see above on sorting find . -name '*.cpp' -o -name '*.h' -o -name '*.c' | grep -v 'test' | grep -v "example" | sort > ${WDIR}/infiles.list echo "rc.cpp" >> ${WDIR}/infiles.list cd ${WDIR} xgettext --from-code=UTF-8 -C -T --qt -kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 -ktr2i18n:1 \ -kI18N_NOOP:1 -kI18N_NOOP2:1c,2 -kaliasLocale -kki18n:1 -kki18nc:1c,2 -kki18np:1,2 -kki18ncp:1c,2,3 \ -ktrUtf8:1,2c -ktr:1,1t -ktr:1,2c,2t -ktr:1,1,2c,3t -ktrUtf8:1 \ --package-name=${PACKAGE} --package-version=${VERSION} \ --msgid-bugs-address="${BUGADDR}" --foreign-user --copyright-holder="The Avogadro Project" \ --files-from=infiles.list -D ${BASEDIR} -D ${WDIR} -o ${PROJECT}.pot || { echo "error while calling xgettext. aborting."; exit 1; } echo "Done extracting messages" # Replace some boilerplate strings sed -e "s/SOME DESCRIPTIVE TITLE/Translations for the Avogadro molecular builder/" <${PROJECT}.pot >${PROJECT}.new mv ${PROJECT}.new ${PROJECT}.pot year=`date "+%Y"` sed -e "s/Copyright (C) YEAR/Copyright (C) 2006-$year/" <${PROJECT}.pot >${PROJECT}.new mv ${PROJECT}.new ${PROJECT}.pot sed -e 's/as the PACKAGE package/as the Avogadro package/' <${PROJECT}.pot >${PROJECT}.new mv ${PROJECT}.new ${PROJECT}.pot sed -e 's/^#. i18n: .\//#: /' <${PROJECT}.pot >${PROJECT}.new mv ${PROJECT}.new ${PROJECT}.pot sed -e '/^#: rc.cpp/ d' <${PROJECT}.pot >${PROJECT}.new mv ${PROJECT}.new ${PROJECT}.pot sed -e 's/rc\.cpp//' <${PROJECT}.pot >${PROJECT}.new mv ${PROJECT}.new ${PROJECT}.pot mv ${PROJECT}.pot ${I18NDIR} cd ${I18NDIR} echo "Merging translations" catalogs=`find . -name '*.po'` for cat in $catalogs; do # remove any \r escapes sed -e 's/\\r//' <$cat >$cat.new mv $cat.new $cat echo $cat msgmerge -o $cat.new $cat ${PROJECT}.pot mv $cat.new $cat msgmerge -U $cat ${PROJECT}.pot done echo "Done merging translations" echo "Cleaning up" cd ${WDIR} rm rcfiles.list rm infiles.list rm rc.cpp echo "Done" avogadrolibs-1.93.0/scripts/extractrc.sh000077500000000000000000000314121360735163600203200ustar00rootroot00000000000000#! /usr/bin/env perl ### TODO: other copyrights, license? # Copyright (c) 2004 Richard Evans sub usage { warn <<"EOF"; extractrc [flags] filenames This script extracts messages from designer (.ui) and XMLGUI (.rc) files and writes on standard output (usually redirected to rc.cpp) the equivalent i18n() calls so that xgettext can parse them. --tag=name : Also extract the tag name(s). Repeat the flag to specify multiple names: --tag=tag_one --tag=tag_two --tag-group=group : Use a group of tags - uses 'default' if omitted. Valid groups are: @{[TAG_GROUPS()]} --context=name : Give i18n calls a context name: i18nc("name", ...) --lines : Include source line numbers in comments (deprecated, it is switched on by default now) --cstart=chars : Start of to-EOL style comments in output, defaults to // --language=lang : Create i18n calls appropriate for KDE bindings in the given language. Currently known languages: C++ (default), Python --ignore-no-input : Do not warn if there were no filenames specified --help|? : Display this summary EOF exit; } ########################################################################################### use strict; use warnings; use Getopt::Long; use Data::Dumper; use constant TAG_GROUP => { default => "[tT][eE][xX][tT]|title|string|whatsthis|tooltip|label", koffice => "Example|GroupName|Text|Comment|Syntax|TypeName", none => "", }; use constant TAG_GROUPS => join ", ", map "'$_'", sort keys %{&TAG_GROUP}; # Specification to extract nice element-context for strings. use constant ECTX_SPEC => { # Data structure: extension => {tag => [ctxlevel, [attribute, ...]], ...} # Order of attributes determines their order in the extracted comment. "ui" => { "widget" => [10, ["class", "name"]], "item" => [15, []], "property" => [20, ["name"]], "attribute" => [20, ["name"]], }, "rc" => { "Menu" => [10, ["name"]], "ToolBar" => [10, ["name"]], }, "kcfg" => { "group" => [10, ["name"]], "entry" => [20, ["name"]], "whatsthis" => [30, []], "tooltip" => [30, []], "label" => [30, []], }, }; # Specification to exclude strings by trailing section of element-context. use constant ECTX_EXCLUDE => [ # Data structure: [[tag, attribute, attrvalue], [...]] # Empty ("") attribute means all elements with given tag, # empty attrvalue means element with given tag and attribute of any value. [["widget", "class", "KFontComboBox"], ["item", "", ""], ["property", "", ""]], [["widget", "class", "KPushButton"], ["attribute", "name", "buttonGroup"]], [["widget", "class", "QRadioButton"], ["attribute", "name", "buttonGroup"]], ]; # The parts between the tags of the extensions will be copied # verbatim my %EXTENSION_VERBATIM_TAGS = ( "kcfg" => [ "code" ], ); # Add attribute lists as hashes, for membership checks. for my $ext ( keys %{&ECTX_SPEC} ) { for my $tag ( keys %{ECTX_SPEC->{$ext}} ) { my $arr = ECTX_SPEC->{$ext}{$tag}[1]; ECTX_SPEC->{$ext}{$tag}[2] = {map {$_ => 1} @{$arr}}; } } ########################################################################################### # Add options here as necessary - perldoc Getopt::Long for details on GetOptions GetOptions ( "tag=s" => \my @opt_extra_tags, "tag-group=s" => \my $opt_tag_group, "context=s" => \my $opt_context, # I18N context "lines" => \my $opt_lines, "cstart=s" => \my $opt_cstart, "language=s" => \my $opt_language, "ignore-no-input" => \my $opt_ignore_no_input, "help|?" => \&usage ); unless( @ARGV ) { warn "No filename specified" unless $opt_ignore_no_input; exit; } $opt_tag_group ||= "default"; die "Unknown tag group: '$opt_tag_group', should be one of " . TAG_GROUPS unless exists TAG_GROUP->{$opt_tag_group}; my $tags = TAG_GROUP->{$opt_tag_group}; my $extra_tags = join "", map "|" . quotemeta, @opt_extra_tags; my $text_string = qr/($tags$extra_tags)( [^>]*)?>/; # Precompile regexp my $cstart = $opt_cstart; # no default, selected by language if not given my $language = $opt_language || "C++"; my $ectx_known_exts = join "|", keys %{&ECTX_SPEC}; ########################################################################################### # Escape characters in string exactly like uic does. sub escape_like_uic ($) { my $text = shift; $text =~ s/<//g; $text =~ s/&/&/g; $text =~ s/"/"/g; $text =~ s/\\/\\\\/g; # escape \ $text =~ s/\"/\\\"/g; # escape " $text =~ s/\r//g; # remove CR (Carriage Return) $text =~ s/\n/\\n\"\n\"/g; # escape LF (Line Feed). uic also change the code line at a LF, we do not do that. return $text; } ########################################################################################### sub dummy_call_infix { my ($cstart, $stend, $ctxt, $text, @cmnts) = @_; for my $cmnt (@cmnts) { print qq|$cstart $cmnt\n|; } if (defined $text) { $text = escape_like_uic($text); if (defined $ctxt) { $ctxt = escape_like_uic($ctxt); print qq|i18nc("$ctxt", "$text")$stend\n|; } else { print qq|i18n("$text")$stend\n|; } } } my %dummy_calls = ( "C++" => sub { dummy_call_infix($cstart || "//", ";", @_); }, "Python" => sub { dummy_call_infix($cstart || "#", "", @_); }, ); die "unknown language '$language'" if not defined $dummy_calls{$language}; my $dummy_call = $dummy_calls{$language}; # Program start proper - NB $. is the current line number for my $file_name ( @ARGV ) { my $fh; unless ( open $fh, "<", $file_name ) { # warn "Failed to open: '$file_name': $!"; next; } # Ready element-context extraction. my $ectx_ext; my $ectx_string; if ( $file_name =~ /\.($ectx_known_exts)(\.(in|cmake))?$/ ) { $ectx_ext = $1; my $ectx_tag_gr = join "|", keys %{ECTX_SPEC->{$ectx_ext}}; $ectx_string = qr/($ectx_tag_gr)( [^>]*)?>/; # precompile regexp } my $string = ""; my $in_text = 0; my $start_line_no = 0; my $in_skipped_prop = 0; my $tag = ""; my $attr = ""; my $context = ""; my $notr = ""; # Element-context data: [[level, tag, [[attribute, value], ...]], ...] # such that subarrays are ordered increasing by level. my @ectx = (); # All comments to pending dummy call. my @comments = (); while ( <$fh> ) { last if $. == 1 and $_ !~ /^(?:{$ectx_ext}{$tag} ) { my @atts; for my $ectx_att ( @{ECTX_SPEC->{$ectx_ext}{$tag}[1]} ) { if ( $attr and $attr =~ /\b$ectx_att\s*=\s*(["'])([^"']*?)\1/ ) { my $aval = $2; push @atts, [$ectx_att, $aval]; } } # Kill all tags in element-context with level higer or equal to this, # and add it to the end. my $clevel = ECTX_SPEC->{$ectx_ext}{$tag}[0]; for ( my $i = 0; $i < @ectx; ++$i ) { if ( $clevel <= $ectx[$i][0] ) { @ectx = @ectx[0 .. ($i - 1)]; last; } } push @ectx, [$clevel, $tag, [@atts]]; } if ( ($tag, $attr) = $string =~ /<$text_string/o ) { my ($attr_comment) = $attr =~ /\w*comment=\"([^\"]*)\"/ if $attr; $context = $attr_comment if $attr_comment; my ($attr_context) = $attr =~ /\w*context=\"([^\"]*)\"/ if $attr; $context = $attr_context if $attr_context; # It is unlikely that both attributes 'context' and 'comment' # will be present, but if so happens, 'context' has priority. my ($attr_notr) = $attr =~ /\bnotr=\"([^\"]*)\"/ if $attr; $notr = $attr_notr if $attr_notr; $string =~ s/^.*<$text_string//so; if ( not $attr or $attr !~ /\/ *$/ ) { $in_text = 1; $start_line_no = $.; } } else { $string = ""; } } next unless $in_text; next unless $string =~ /<\/$text_string/o; my $text = $string; $text =~ s/<\/$text_string.*$//o; if ( $text cmp "" ) { # See if the string should be excluded by trailing element-context. my $exclude_by_ectx = 0; my @rev_ectx = reverse @ectx; for my $ectx_tail (@{&ECTX_EXCLUDE}) { my @rev_ectx_tail = reverse @{$ectx_tail}; my $i = 0; $exclude_by_ectx = (@rev_ectx > 0 and @rev_ectx_tail > 0); while ($i < @rev_ectx and $i < @rev_ectx_tail) { my ($tag, $attr, $aval) = @{$rev_ectx_tail[$i]}; $exclude_by_ectx = (not $tag or ($tag eq $rev_ectx[$i][1])); if ($exclude_by_ectx and $attr) { $exclude_by_ectx = 0; for my $ectx_attr_aval (@{$rev_ectx[$i][2]}) { if ($attr eq $ectx_attr_aval->[0]) { $exclude_by_ectx = $aval ? $aval eq $ectx_attr_aval->[1] : 1; last; } } } last if not $exclude_by_ectx; ++$i; } last if $exclude_by_ectx; } if (($context and $context eq "KDE::DoNotExtract") or ($notr eq "true")) { push @comments, "Manually excluded message at $file_name line $."; } elsif ( $exclude_by_ectx ) { push @comments, "Automatically excluded message at $file_name line $."; } else { (my $norm_fname = $file_name) =~ s/^\.\///; push @comments, "i18n: file: $norm_fname:$."; if ( @ectx ) { # Format element-context. my @tag_gr; for my $tgr (reverse @ectx) { my @attr_gr; for my $agr ( @{$tgr->[2]} ) { #push @attr_gr, "$agr->[0]=$agr->[1]"; push @attr_gr, "$agr->[1]"; # no real nead for attribute name } my $attr = join(", ", @attr_gr); push @tag_gr, "$tgr->[1] ($attr)" if $attr; push @tag_gr, "$tgr->[1]" if not $attr; } my $ectx_str = join ", ", @tag_gr; push @comments, "i18n: ectx: $ectx_str"; } push @comments, "xgettext: no-c-format" if $text =~ /%/o; $dummy_call->($context, $text, @comments); @comments = (); } } else { push @comments, "Skipped empty message at $file_name line $."; } $string =~ s/^.*<\/$text_string//o; $in_text = 0; # Text can be multiline in .ui files (possibly), but we warn about it in XMLGUI .rc files. warn "there is floating in: '$file_name'" if $. != $start_line_no and $file_name =~ /\.rc$/i; } close $fh or warn "Failed to close: '$file_name': $!"; die "parsing error in $file_name" if $in_text; if ($ectx_ext && exists $EXTENSION_VERBATIM_TAGS{$ectx_ext}) { unless ( open $fh, "<", $file_name ) { # warn "Failed to open: '$file_name': $!"; next; } while ( <$fh> ) { chomp; $string .= "\n" . $_; foreach $tag (@{ $EXTENSION_VERBATIM_TAGS{$ectx_ext} }) { if ($string =~ /<$tag>(.*)<\/$tag>/s) { # Add comment before any line that has an i18n substring in it. my @matched = split /\n/, $1; my $mlno = $.; (my $norm_fname = $file_name) =~ s/^\.\///; for my $mline (@matched) { # Assume verbatim code is in language given by --language. # Therefore format only comment, and write code line as-is. if ($mline =~ /i18n/) { $dummy_call->(undef, undef, ("i18n: file: $norm_fname:$mlno")); } print "$mline\n"; ++$mlno; } $string = ""; } } } close $fh or warn "Failed to close: '$file_name': $!"; } } avogadrolibs-1.93.0/scripts/getresdata.py000066400000000000000000000126211360735163600204600ustar00rootroot00000000000000#!/usr/bin/env python from __future__ import print_function import requests import pybel import openbabel as ob import os import sys # TODO: process Open Babel resdata.txt # if we can find certain non-standard residues mdLigands = [ "ASH", # Neutral ASP "CYX", # SS-bonded CYS "CYM", # Negative CYS "GLH", # Neutral GLU "HIP", # Positive HIS "HID", # Neutral HIS, proton HD1 present "HIE", # Neutral HIS, proton HE2 present "LYN", # Neutral LYS "TYM", # Negative TYR ] # the location of the LigandExpo list by count ligandURL = "http://ligand-expo.rcsb.org/dictionaries/cc-counts.tdd" # URL for the ideal geometry # e.g http://ligand-expo.rcsb.org/reports/H/HEM/HEM_ideal.pdb sdfTemplate = "http://ligand-expo.rcsb.org/reports/{}/{}/{}_ideal.sdf" # URL for the ideal geometry (PDB) pdbTemplate = "http://ligand-expo.rcsb.org/reports/{}/{}/{}_ideal.pdb" # save ligands with at least this # of occurrences ligandThresh = 1000 # default ligand list ligands = [ # amino acids "ALA", "CYS", "ASP", "GLU", "PHE", "GLY", "HIS", "ILE", "LYS", "LEU", "MET", "ASN", "PRO", "GLN", "ARG", "SER", "THR", "VAL", "TRP", "TYR", # DNA nucleic "DA", "DC", "DG", "DT", "DI", # RNA nucleic "A", "C", "G", "U", "I", # misc "HEM", "HOH" ] # okay, we build up the list of ligands to fetch r = requests.get(ligandURL, stream=True) for line in r.iter_lines(decode_unicode=True): if 'count' in str(line): continue # skip first line name, count = line.split() if (int(count) < ligandThresh): # too rare, we'll skip the rest of the list break if str(name) not in ligands: ligands.append(str(name)) print( ''' #ifndef AVOGADRO_CORE_RESIDUE_DATA #define AVOGADRO_CORE_RESIDUE_DATA #include #include #include namespace Avogadro { namespace Core { class ResidueData { private: std::string m_residueName; std::map m_residueAtomNames; std::vector> m_residueSingleBonds; std::vector> m_residueDoubleBonds; public: ResidueData() {} ResidueData(std::string name, std::map atomNames, std::vector> singleBonds, std::vector> doubleBonds) { m_residueName = name; m_residueAtomNames = atomNames; m_residueSingleBonds = singleBonds; m_residueDoubleBonds = doubleBonds; } ResidueData(const ResidueData& other) { m_residueName = other.m_residueName; m_residueAtomNames = other.m_residueAtomNames; m_residueSingleBonds = other.m_residueSingleBonds; m_residueDoubleBonds = other.m_residueDoubleBonds; } ResidueData& operator=(ResidueData other) { using std::swap; swap(*this, other); return *this; } std::map residueAtoms() { return m_residueAtomNames; } std::vector> residueSingleBonds() { return m_residueSingleBonds; } std::vector> residueDoubleBonds() { return m_residueDoubleBonds; } }; ''' ) final_ligands = [] for ligand in ligands: sdf = requests.get(sdfTemplate.format(ligand[0], ligand, ligand)) # there *must* be a way to do this from a requests buffer, but this works with open('temp.sdf', 'wb') as handle: for block in sdf.iter_content(1024): handle.write(block) mol_sdf = next(pybel.readfile("sdf", 'temp.sdf')) if len(mol_sdf.atoms) < 2: continue final_ligands.append(ligand) pdb = requests.get(pdbTemplate.format(ligand[0], ligand, ligand)) with open('temp.pdb', 'wb') as handle: for block in pdb.iter_content(1024): handle.write(block) mol_pdb = next(pybel.readfile("pdb", 'temp.pdb')) atom_map = {} for i in range(len(mol_sdf.atoms)): idx = mol_sdf.atoms[i].idx atom = mol_pdb.atoms[i].OBAtom res = atom.GetResidue() # build up a map between atom index and atom ID atom_map[idx] = res.GetAtomID(atom).strip().rstrip(), atom.GetAtomicNum() # go through bonds single_bonds = [] double_bonds = [] for bond in ob.OBMolBondIter(mol_sdf.OBMol): begin = bond.GetBeginAtomIdx() end = bond.GetEndAtomIdx() if bond.GetBO() == 2: double_bonds.append((atom_map[begin][0], atom_map[end][0])) elif bond.GetBO() == 1: single_bonds.append((atom_map[begin][0], atom_map[end][0])) # print out the residue data print('ResidueData %sData("%s",' % (ligand, ligand)) print('// Atoms') print('{') for atom in atom_map.values()[:-1]: print('{ "%s", %d },' % (atom[0], atom[1]), end='') print('{"%s", %d }' % (atom[0], atom[1])) print('},') print('// Single Bonds') print('{') for bond in single_bonds[:-1]: print('{ "%s", "%s" },' % bond, end='') print('{ "%s", "%s" }' % single_bonds[-1]) print('},') print('// Double Bonds') print('{') if len(double_bonds): for bond in double_bonds[:-1]: print('{ "%s", "%s" },' % bond, end='') print('{ "%s", "%s" }' % double_bonds[-1]) print('}') print(');') print('''std::map residueDict = {''') # print the list of ligands for ligand in final_ligands: print('{ "%s", %sData },' % (ligand, ligand)) print(''' }; } } #endif ''' ) os.remove("temp.sdf") os.remove('temp.pdb') avogadrolibs-1.93.0/scripts/printSpgTransforms.py000077500000000000000000000217041360735163600222270ustar00rootroot00000000000000#!/usr/bin/env python3 # Written by Patrick Avery - 2017 # Description: Searches through Open Babel's space-groups.txt file for a list # of hall symbols and prints out the transforms of each hall symbol (in order) # in a C++-friendly format. You can then run clang-format on it to fix lines # longer than 80 characters. # To use: copy the Open Babel space-groups.txt to the current directory and # run this script. You can also uncomment out the block-commented section # if you also wish to look up hall symbols from Avogadro2's spacegroupdata.h # file. # Uncomment this next section to generate hall symbols from 'spacegroupdata.h' # located in avogadro/core if the current ones need updating """ import sys with open('spacegroupdata.h', 'r') as rf: spgData = rf.read().split('\n') hallSymbols = [] for i, line in enumerate(spgData): if 'space_group_hall_symbol' in line: while spgData[i].strip(): hallSymbols.append(spgData[i].split('"')[1].replace('=', '"')) i += 1 break for hallSymbol in hallSymbols: print(" '" + hallSymbol + "',") sys.exit() """ # These are cached hall symbols we use for Avogadro2 hallSymbols = [ \ '', 'P 1', '-P 1', 'P 2y', 'P 2', 'P 2x', 'P 2yb', 'P 2c', 'P 2xa', 'C 2y', 'A 2y', 'I 2y', 'A 2', 'B 2', 'I 2', 'B 2x', 'C 2x', 'I 2x', 'P -2y', 'P -2', 'P -2x', 'P -2yc', 'P -2yac', 'P -2ya', 'P -2a', 'P -2ab', 'P -2b', 'P -2xb', 'P -2xbc', 'P -2xc', 'C -2y', 'A -2y', 'I -2y', 'A -2', 'B -2', 'I -2', 'B -2x', 'C -2x', 'I -2x', 'C -2yc', 'A -2yac', 'I -2ya', 'A -2ya', 'C -2ybc', 'I -2yc', 'A -2a', 'B -2bc', 'I -2b', 'B -2b', 'A -2ac', 'I -2a', 'B -2xb', 'C -2xbc', 'I -2xc', 'C -2xc', 'B -2xbc', 'I -2xb', '-P 2y', '-P 2', '-P 2x', '-P 2yb', '-P 2c', '-P 2xa', '-C 2y', '-A 2y', '-I 2y', '-A 2', '-B 2', '-I 2', '-B 2x', '-C 2x', '-I 2x', '-P 2yc', '-P 2yac', '-P 2ya', '-P 2a', '-P 2ab', '-P 2b', '-P 2xb', '-P 2xbc', '-P 2xc', '-P 2ybc', '-P 2yn', '-P 2yab', '-P 2ac', '-P 2n', '-P 2bc', '-P 2xab', '-P 2xn', '-P 2xac', '-C 2yc', '-A 2yac', '-I 2ya', '-A 2ya', '-C 2ybc', '-I 2yc', '-A 2a', '-B 2bc', '-I 2b', '-B 2b', '-A 2ac', '-I 2a', '-B 2xb', '-C 2xbc', '-I 2xc', '-C 2xc', '-B 2xbc', '-I 2xb', 'P 2 2', 'P 2c 2', 'P 2a 2a', 'P 2 2b', 'P 2 2ab', 'P 2bc 2', 'P 2ac 2ac', 'P 2ac 2ab', 'C 2c 2', 'A 2a 2a', 'B 2 2b', 'C 2 2', 'A 2 2', 'B 2 2', 'F 2 2', 'I 2 2', 'I 2b 2c', 'P 2 -2', 'P -2 2', 'P -2 -2', 'P 2c -2', 'P 2c -2c', 'P -2a 2a', 'P -2 2a', 'P -2 -2b', 'P -2b -2', 'P 2 -2c', 'P -2a 2', 'P -2b -2b', 'P 2 -2a', 'P 2 -2b', 'P -2b 2', 'P -2c 2', 'P -2c -2c', 'P -2a -2a', 'P 2c -2ac', 'P 2c -2b', 'P -2b 2a', 'P -2ac 2a', 'P -2bc -2c', 'P -2a -2ab', 'P 2 -2bc', 'P 2 -2ac', 'P -2ac 2', 'P -2ab 2', 'P -2ab -2ab', 'P -2bc -2bc', 'P 2ac -2', 'P 2bc -2bc', 'P -2ab 2ab', 'P -2 2ac', 'P -2 -2bc', 'P -2ab -2', 'P 2 -2ab', 'P -2bc 2', 'P -2ac -2ac', 'P 2c -2n', 'P 2c -2ab', 'P -2bc 2a', 'P -2n 2a', 'P -2n -2ac', 'P -2ac -2n', 'P 2 -2n', 'P -2n 2', 'P -2n -2n', 'C 2 -2', 'A -2 2', 'B -2 -2', 'C 2c -2', 'C 2c -2c', 'A -2a 2a', 'A -2 2a', 'B -2 -2b', 'B -2b -2', 'C 2 -2c', 'A -2a 2', 'B -2b -2b', 'A 2 -2', 'B 2 -2', 'B -2 2', 'C -2 2', 'C -2 -2', 'A -2 -2', 'A 2 -2c', 'B 2 -2c', 'B -2c 2', 'C -2b 2', 'C -2b -2b', 'A -2c -2c', 'A 2 -2a', 'B 2 -2b', 'B -2b 2', 'C -2c 2', 'C -2c -2c', 'A -2a -2a', 'A 2 -2ac', 'B 2 -2bc', 'B -2bc 2', 'C -2bc 2', 'C -2bc -2bc', 'A -2ac -2ac', 'F 2 -2', 'F -2 2', 'F -2 -2', 'F 2 -2d', 'F -2d 2', 'F -2d -2d', 'I 2 -2', 'I -2 2', 'I -2 -2', 'I 2 -2c', 'I -2a 2', 'I -2b -2b', 'I 2 -2a', 'I 2 -2b', 'I -2b 2', 'I -2c 2', 'I -2c -2c', 'I -2a -2a', '-P 2 2', 'P 2 2 -1n', '-P 2ab 2bc', '-P 2 2c', '-P 2a 2', '-P 2b 2b', 'P 2 2 -1ab', '-P 2ab 2b', 'P 2 2 -1bc', '-P 2b 2bc', 'P 2 2 -1ac', '-P 2a 2c', '-P 2a 2a', '-P 2b 2', '-P 2 2b', '-P 2c 2c', '-P 2c 2', '-P 2 2a', '-P 2a 2bc', '-P 2b 2n', '-P 2n 2b', '-P 2ab 2c', '-P 2ab 2n', '-P 2n 2bc', '-P 2ac 2', '-P 2bc 2bc', '-P 2ab 2ab', '-P 2 2ac', '-P 2 2bc', '-P 2ab 2', '-P 2a 2ac', '-P 2b 2c', '-P 2a 2b', '-P 2ac 2c', '-P 2bc 2b', '-P 2b 2ab', '-P 2 2ab', '-P 2bc 2', '-P 2ac 2ac', '-P 2ab 2ac', '-P 2ac 2bc', '-P 2bc 2ab', '-P 2c 2b', '-P 2c 2ac', '-P 2ac 2a', '-P 2b 2a', '-P 2a 2ab', '-P 2bc 2c', '-P 2 2n', '-P 2n 2', '-P 2n 2n', 'P 2 2ab -1ab', '-P 2ab 2a', 'P 2bc 2 -1bc', '-P 2c 2bc', 'P 2ac 2ac -1ac', '-P 2c 2a', '-P 2n 2ab', '-P 2n 2c', '-P 2a 2n', '-P 2bc 2n', '-P 2ac 2b', '-P 2b 2ac', '-P 2ac 2ab', '-P 2bc 2ac', '-P 2ac 2n', '-P 2bc 2a', '-P 2c 2ab', '-P 2n 2ac', '-P 2n 2a', '-P 2c 2n', '-C 2c 2', '-C 2c 2c', '-A 2a 2a', '-A 2 2a', '-B 2 2b', '-B 2b 2', '-C 2bc 2', '-C 2bc 2bc', '-A 2ac 2ac', '-A 2 2ac', '-B 2 2bc', '-B 2bc 2', '-C 2 2', '-A 2 2', '-B 2 2', '-C 2 2c', '-A 2a 2', '-B 2b 2b', '-C 2b 2', '-C 2b 2b', '-A 2c 2c', '-A 2 2c', '-B 2 2c', '-B 2c 2', 'C 2 2 -1bc', '-C 2b 2bc', 'C 2 2 -1bc', '-C 2b 2c', 'A 2 2 -1ac', '-A 2a 2c', 'A 2 2 -1ac', '-A 2ac 2c', 'B 2 2 -1bc', '-B 2bc 2b', 'B 2 2 -1bc', '-B 2b 2bc', '-F 2 2', 'F 2 2 -1d', '-F 2uv 2vw', '-I 2 2', '-I 2 2c', '-I 2a 2', '-I 2b 2b', '-I 2b 2c', '-I 2a 2b', '-I 2b 2', '-I 2a 2a', '-I 2c 2c', '-I 2 2b', '-I 2 2a', '-I 2c 2', 'P 4', 'P 4w', 'P 4c', 'P 4cw', 'I 4', 'I 4bw', 'P -4', 'I -4', '-P 4', '-P 4c', 'P 4ab -1ab', '-P 4a', 'P 4n -1n', '-P 4bc', '-I 4', 'I 4bw -1bw', '-I 4ad', 'P 4 2', 'P 4ab 2ab', 'P 4w 2c', 'P 4abw 2nw', 'P 4c 2', 'P 4n 2n', 'P 4cw 2c', 'P 4nw 2abw', 'I 4 2', 'I 4bw 2bw', 'P 4 -2', 'P 4 -2ab', 'P 4c -2c', 'P 4n -2n', 'P 4 -2c', 'P 4 -2n', 'P 4c -2', 'P 4c -2ab', 'I 4 -2', 'I 4 -2c', 'I 4bw -2', 'I 4bw -2c', 'P -4 2', 'P -4 2c', 'P -4 2ab', 'P -4 2n', 'P -4 -2', 'P -4 -2c', 'P -4 -2ab', 'P -4 -2n', 'I -4 -2', 'I -4 -2c', 'I -4 2', 'I -4 2bw', '-P 4 2', '-P 4 2c', 'P 4 2 -1ab', '-P 4a 2b', 'P 4 2 -1n', '-P 4a 2bc', '-P 4 2ab', '-P 4 2n', 'P 4ab 2ab -1ab', '-P 4a 2a', 'P 4ab 2n -1ab', '-P 4a 2ac', '-P 4c 2', '-P 4c 2c', 'P 4n 2c -1n', '-P 4ac 2b', 'P 4n 2 -1n', '-P 4ac 2bc', '-P 4c 2ab', '-P 4n 2n', 'P 4n 2n -1n', '-P 4ac 2a', 'P 4n 2ab -1n', '-P 4ac 2ac', '-I 4 2', '-I 4 2c', 'I 4bw 2bw -1bw', '-I 4bd 2', 'I 4bw 2aw -1bw', '-I 4bd 2c', 'P 3', 'P 31', 'P 32', 'R 3', 'P 3*', '-P 3', '-R 3', '-P 3*', 'P 3 2', 'P 3 2"', 'P 31 2c (0 0 1)', 'P 31 2"', 'P 32 2c (0 0 -1)', 'P 32 2"', 'R 3 2"', 'P 3* 2', 'P 3 -2"', 'P 3 -2', 'P 3 -2"c', 'P 3 -2c', 'R 3 -2"', 'P 3* -2', 'R 3 -2"c', 'P 3* -2n', '-P 3 2', '-P 3 2c', '-P 3 2"', '-P 3 2"c', '-R 3 2"', '-P 3* 2', '-R 3 2"c', '-P 3* 2n', 'P 6', 'P 61', 'P 65', 'P 62', 'P 64', 'P 6c', 'P -6', '-P 6', '-P 6c', 'P 6 2', 'P 61 2 (0 0 -1)', 'P 65 2 (0 0 1)', 'P 62 2c (0 0 1)', 'P 64 2c (0 0 -1)', 'P 6c 2c', 'P 6 -2', 'P 6 -2c', 'P 6c -2', 'P 6c -2c', 'P -6 2', 'P -6c 2', 'P -6 -2', 'P -6c -2c', '-P 6 2', '-P 6 2c', '-P 6c 2', '-P 6c 2c', 'P 2 2 3', 'F 2 2 3', 'I 2 2 3', 'P 2ac 2ab 3', 'I 2b 2c 3', '-P 2 2 3', 'P 2 2 3 -1n', '-P 2ab 2bc 3', '-F 2 2 3', 'F 2 2 3 -1d', '-F 2uv 2vw 3', '-I 2 2 3', '-P 2ac 2ab 3', '-I 2b 2c 3', 'P 4 2 3', 'P 4n 2 3', 'F 4 2 3', 'F 4d 2 3', 'I 4 2 3', 'P 4acd 2ab 3', 'P 4bd 2ab 3', 'I 4bd 2c 3', 'P -4 2 3', 'F -4 2 3', 'I -4 2 3', 'P -4n 2 3', 'F -4c 2 3', 'I -4bd 2c 3', '-P 4 2 3', 'P 4 2 3 -1n', '-P 4a 2bc 3', '-P 4n 2 3', 'P 4n 2 3 -1n', '-P 4bc 2bc 3', '-F 4 2 3', '-F 4c 2 3', 'F 4d 2 3 -1d', '-F 4vw 2vw 3', 'F 4d 2 3 -1cd', '-F 4cvw 2vw 3', '-I 4 2 3', '-I 4bd 2c 3' ] # Open the space groups file from Open Babel with open('space-groups.txt', 'r') as rf: obSpgData = rf.read().split('\n') # Loop through the hall symbols and find each of them in the Open Babel data transforms = [] for i, symbol in enumerate(hallSymbols): transforms.append('not found') if i == 0: transforms[i] = '' continue for j, line in enumerate(obSpgData): if symbol.strip() == line.strip(): while 'x,y,z' not in obSpgData[j]: j += 1 string = '' while obSpgData[j]: string += (obSpgData[j] + ' ') j += 1 string = string[:-1] transforms[i] = string break if j == len(obSpgData) - 1: print("not found:", symbol) # Print them out for transform in transforms: string = ' "' + transform + '"' if transform is not transforms[-1]: string += ',' print(string) avogadrolibs-1.93.0/scripts/tag_manylinux.py000066400000000000000000000011661360735163600212160ustar00rootroot00000000000000from auditwheel.wheeltools import InWheelCtx, add_platforms import click import os @click.command() @click.argument('wheel', type=click.Path(exists=True)) def main(wheel): dir = os.path.dirname(os.path.abspath(wheel)) with InWheelCtx(wheel) as ctx: try: new_wheel = add_platforms(ctx, ['manylinux1_x86_64'], remove_platforms=('linux_x86_64',)) except WheelToolsError as e: click.echo(str(e), err=True) raise if new_wheel: ctx.out_wheel = os.path.normpath(os.path.join(dir, new_wheel)) click.echo('Updated wheel written to %s' % ctx.out_wheel) if __name__ == "__main__": main() avogadrolibs-1.93.0/scripts/travis/000077500000000000000000000000001360735163600172715ustar00rootroot00000000000000avogadrolibs-1.93.0/scripts/travis/build.sh000077500000000000000000000027041360735163600207320ustar00rootroot00000000000000#!/bin/bash # Don't build on tag if [ ! -z "$TRAVIS_TAG" ]; then exit 0; fi if [[ $TASKS == "clang-format" ]]; then cd $TRAVIS_BUILD_DIR ./scripts/travis/run_clang_format_diff.sh master $TRAVIS_COMMIT else # First, get the super module dir cd .. export ROOT=`pwd` git clone https://github.com/openchemistry/openchemistry cd openchemistry git submodule init avogadroapp avogadrodata molequeue thirdparty/qttesting git submodule update # Move the trial avogadrolibs into the open chemistry dir mv ../avogadrolibs . mkdir build cd build if [[ $TRAVIS_OS_NAME == "linux" ]]; then source /opt/qt54/bin/qt54-env.sh CMAKE_EXE="${ROOT}/cmake/bin/cmake" ${CMAKE_EXE} -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DENABLE_TESTING=ON \ -DUSE_SYSTEM_EIGEN=ON \ -DUSE_SYSTEM_GLEW=ON \ -DUSE_SYSTEM_GTEST=OFF \ -DUSE_SYSTEM_HDF5=ON \ -DUSE_SYSTEM_LIBXML2=ON \ -DUSE_SYSTEM_OPENBABEL=ON \ -DUSE_SYSTEM_PCRE=OFF \ -DUSE_SYSTEM_ZLIB=ON \ .. else # osx export CC=clang export CXX=clang++ export CMAKE_PREFIX_PATH=/usr/local/Cellar/qt/5.11.1/lib/cmake cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DENABLE_TESTING=ON \ -DUSE_SYSTEM_EIGEN=ON \ -DUSE_SYSTEM_GLEW=ON \ -DUSE_SYSTEM_LIBXML2=ON \ -DUSE_SYSTEM_OPENBABEL=ON \ -DUSE_SYSTEM_ZLIB=ON \ .. fi make -j$(nproc) cd avogadrolibs if [[ $TRAVIS_OS_NAME == "linux" ]]; then xvfb-run ctest --output-on-failure fi fi avogadrolibs-1.93.0/scripts/travis/install.sh000077500000000000000000000014161360735163600213000ustar00rootroot00000000000000#!/bin/bash # Don't build on tag if [ ! -z "$TRAVIS_TAG" ]; then exit 0; fi if [[ $TASKS != "clang-format" && $TRAVIS_OS_NAME == "linux" ]]; then eval "${MATRIX_EVAL}" sudo add-apt-repository ppa:beineri/opt-qt542-trusty -y sudo apt-get update -qq sudo apt-get install -qq qt54base sudo apt-get install libeigen3-dev libglew-dev libhdf5-dev \ libxml2-dev zlib1g-dev # We have to use cmake > 3.3, which cannot be easily installed with # apt-get... cd .. CMAKE_NAME="cmake-3.10.0-Linux-x86_64" wget https://cmake.org/files/v3.10/${CMAKE_NAME}.tar.gz tar -xzf ${CMAKE_NAME}.tar.gz mv ${CMAKE_NAME} cmake cd avogadrolibs elif [[ $TASKS != "clang-format" && $TRAVIS_OS_NAME == "osx" ]]; then brew install qt eigen glew open-babel fi avogadrolibs-1.93.0/scripts/travis/macpython-build-wheels.sh000077500000000000000000000114751360735163600242240ustar00rootroot00000000000000#!/usr/bin/env bash set -e SCRIPT_DIR=$(cd $(dirname $0) || exit 1; pwd) # Install python versions source "${SCRIPT_DIR}/macpython-install-python.sh" MACPYTHON_PY_PREFIX=/Library/Frameworks/Python.framework/Versions # Versions can be restricted by passing them in as arguments to the script # For example, # macpython-build-wheels.sh 2.7 3.5 if [[ $# -eq 0 ]]; then PYBINARIES=(${MACPYTHON_PY_PREFIX}/*) else PYBINARIES=() for version in "$@"; do PYBINARIES+=(${MACPYTHON_PY_PREFIX}/*${version}*) done fi VENVS=() mkdir -p ${SCRIPT_DIR}/../venvs for PYBIN in "${PYBINARIES[@]}"; do if [[ $(basename $PYBIN) = "Current" ]]; then continue fi py_mm=$(basename ${PYBIN}) VENV=${SCRIPT_DIR}/../venvs/${py_mm} VENVS+=(${VENV}) done # Since the python interpreter exports its symbol (see [1]), python # modules should not link against any python libraries. # To ensure it is not the case, we configure the project using an empty # file as python library. # # [1] "Note that libpythonX.Y.so.1 is not on the list of libraries that # a manylinux1 extension is allowed to link to. Explicitly linking to # libpythonX.Y.so.1 is unnecessary in almost all cases: the way ELF linking # works, extension modules that are loaded into the interpreter automatically # get access to all of the interpreter's symbols, regardless of whether or # not the extension itself is explicitly linked against libpython. [...]" # # Source: https://www.python.org/dev/peps/pep-0513/#libpythonx-y-so-1 PYTHON_LIBRARY=$(cd $(dirname $0); pwd)/libpython-not-needed-symbols-exported-by-interpreter touch ${PYTHON_LIBRARY} # ----------------------------------------------------------------------- # Remove previous virtualenv's rm -rf ${SCRIPT_DIR}/../venvs # Create virtualenv's VENVS=() mkdir -p ${SCRIPT_DIR}/../venvs for PYBIN in "${PYBINARIES[@]}"; do if [[ $(basename $PYBIN) = "Current" ]]; then continue fi py_mm=$(basename ${PYBIN}) VENV=${SCRIPT_DIR}/../venvs/${py_mm} VIRTUALENV_EXECUTABLE=${PYBIN}/bin/virtualenv ${VIRTUALENV_EXECUTABLE} ${VENV} VENVS+=(${VENV}) done VENV="${VENVS[0]}" PYTHON_EXECUTABLE=${VENV}/bin/python ${PYTHON_EXECUTABLE} -m pip install --no-cache cmake CMAKE_EXECUTABLE=${VENV}/bin/cmake ${PYTHON_EXECUTABLE} -m pip install --no-cache ninja NINJA_EXECUTABLE=${VENV}/bin/ninja ${PYTHON_EXECUTABLE} -m pip install --no-cache delocate DELOCATE_LISTDEPS=${VENV}/bin/delocate-listdeps DELOCATE_WHEEL=${VENV}/bin/delocate-wheel # Include deps pushd . cd $TRAVIS_BUILD_DIR/../ mkdir deps cd deps curl -L https://github.com/pybind/pybind11/archive/v2.2.4.tar.gz -O tar zxvf v2.2.4.tar.gz curl -L http://bitbucket.org/eigen/eigen/get/3.3.5.tar.bz2 -O bzip2 -d 3.3.5.tar.bz2 tar xvf 3.3.5.tar mkdir eigen-build cd eigen-build/ cmake -DCMAKE_INSTALL_PREFIX:PATH=$TRAVIS_BUILD_DIR/../deps/eigen ../eigen-eigen-b3f3d4950030/ cmake --build . --target install popd for VENV in "${VENVS[@]}"; do py_mm=$(basename ${VENV}) export PYTHON_EXECUTABLE=${VENV}/bin/python PYTHON_INCLUDE_DIR=$( find -L ${MACPYTHON_PY_PREFIX}/${py_mm}/include -name Python.h -exec dirname {} \; ) echo "" echo "PYTHON_EXECUTABLE:${PYTHON_EXECUTABLE}" echo "PYTHON_INCLUDE_DIR:${PYTHON_INCLUDE_DIR}" echo "PYTHON_LIBRARY:${PYTHON_LIBRARY}" # Install dependencies ${PYTHON_EXECUTABLE} -m pip install --upgrade -r ${SCRIPT_DIR}/../../requirements-dev.txt build_type="MinSizeRel" plat_name="macosx-10.9-x86_64" osx_target="10.9" # Clean up previous invocations rm -rf _skbuild # Install pybind11 pushd . rm -rf $TRAVIS_BUILD_DIR/../deps/pybind11 mkdir -p $TRAVIS_BUILD_DIR/../deps/pybind11/build mkdir -p $TRAVIS_BUILD_DIR/../deps/pybind11/install cd $TRAVIS_BUILD_DIR/../deps/pybind11/build cmake -DPYTHON_EXECUTABLE:PATH=$PYTHON_EXECUTABLE -DPYBIND11_TEST:BOOL=FALSE -DCMAKE_INSTALL_PREFIX:PATH=$TRAVIS_BUILD_DIR/../deps/pybind11/install $TRAVIS_BUILD_DIR/../deps/pybind11-2.2.4 cmake --build . --target install popd # Generate wheel ${PYTHON_EXECUTABLE} setup.py bdist_wheel --build-type ${build_type} --plat-name ${plat_name} -G Ninja -- \ -DCMAKE_MAKE_PROGRAM:FILEPATH=${NINJA_EXECUTABLE} \ -Dpybind11_DIR:PATH=${TRAVIS_BUILD_DIR}/../deps/pybind11/install/share/cmake/pybind11 \ -DEIGEN3_INCLUDE_DIR:PATH=${TRAVIS_BUILD_DIR}/../deps/eigen/include/eigen3 \ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${osx_target} \ -DCMAKE_OSX_ARCHITECTURES:STRING=x86_64 \ -DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE} \ -DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIR} \ -DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARY} # Cleanup ${PYTHON_EXECUTABLE} setup.py clean done #${DELOCATE_LISTDEPS} ${SCRIPT_DIR}/../dist/*.whl # lists library dependencies #${DELOCATE_WHEEL} ${SCRIPT_DIR}/../dist/*.whl # copies library dependencies into wheel avogadrolibs-1.93.0/scripts/travis/macpython-install-python.sh000077500000000000000000000150401360735163600246150ustar00rootroot00000000000000#!/usr/bin/env bash # Download and install Python.org's MacPython and install Pip # Adapted from https://github.com/matthew-brett/multibuild # osx_utils.sh #The multibuild package, including all examples, code snippets and attached #documentation is covered by the 2-clause BSD license. #Copyright (c) 2013-2016, Matt Terry and Matthew Brett; all rights #reserved. #Redistribution and use in source and binary forms, with or without #modification, are permitted provided that the following conditions are #met: #1. Redistributions of source code must retain the above copyright notice, #this list of conditions and the following disclaimer. #2. Redistributions in binary form must reproduce the above copyright #notice, this list of conditions and the following disclaimer in the #documentation and/or other materials provided with the distribution. #THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS #IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, #THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR #PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR #CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, #EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, #PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR #PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF #LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING #NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS #SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. set -x MACPYTHON_URL=https://www.python.org/ftp/python MACPYTHON_FRAMEWORK=/Library/Frameworks/Python.framework MACPYTHON_PY_PREFIX=${MACPYTHON_FRAMEWORK}/Versions GET_PIP_URL=https://bootstrap.pypa.io/get-pip.py DOWNLOADS_SDIR=downloads function check_python { if [ -z "$PYTHON_EXE" ]; then echo "PYTHON_EXE variable not defined" exit 1 fi } function get_py_mm { check_python $PYTHON_EXE -c "import sys; print('{0}.{1}'.format(*sys.version_info[0:2]))" } function lex_ver { # Echoes dot-separated version string padded with zeros # Thus: # 3.2.1 -> 003002001 # 3 -> 003000000 echo $1 | awk -F "." '{printf "%03d%03d%03d", $1, $2, $3}' } function unlex_ver { # Reverses lex_ver to produce major.minor.micro # Thus: # 003002001 -> 3.2.1 # 003000000 -> 3.0.0 echo "$((10#${1:0:3}+0)).$((10#${1:3:3}+0)).$((10#${1:6:3}+0))" } function strip_ver_suffix { unlex_ver $(lex_ver $1) } function check_var { if [ -z "$1" ]; then echo "required variable not defined" exit 1 fi } function fill_pyver { # Convert major or major.minor format to major.minor.micro # # Hence: # 2 -> 2.7.11 (depending on LATEST_27 value) # 2.7 -> 2.7.11 (depending on LATEST_27 value) local ver ver=$1 check_var $ver if [[ $ver =~ [0-9]+\.[0-9]+\.[0-9]+ ]]; then # Major.minor.micro format already echo $ver elif [ $ver == 2 ] || [ $ver == "2.7" ]; then echo $LATEST_27 elif [ $ver == 3 ] || [ $ver == "3.6" ]; then echo $LATEST_36 elif [ $ver == 3 ] || [ $ver == "3.7" ]; then echo $LATEST_37 elif [ $ver == "3.5" ]; then echo $LATEST_35 elif [ $ver == "3.4" ]; then echo $LATEST_34 else echo "Can't fill version $ver" exit 1 fi } function pyinst_ext_for_version { # echo "pkg" or "dmg" depending on the passed Python version # Parameters # $py_version (python version in major.minor.extra format) # # Earlier Python installers are .dmg, later are .pkg. local py_version py_version=$1 check_var $py_version py_version=$(fill_pyver $py_version) local py_0 py_0=${py_version:0:1} if [ $py_0 -eq 2 ]; then if [ "$(lex_ver $py_version)" -ge "$(lex_ver 2.7.9)" ]; then echo "pkg" else echo "dmg" fi elif [ $py_0 -ge 3 ]; then if [ "$(lex_ver $py_version)" -ge "$(lex_ver 3.4.2)" ]; then echo "pkg" else echo "dmg" fi fi } function install_macpython { # Installs Python.org Python # Parameter $version # Version given in major or major.minor or major.minor.micro e.g # "3" or "3.4" or "3.4.1". # sets $PYTHON_EXE variable to python executable local py_version py_version=$(fill_pyver $1) local py_stripped py_stripped=$(strip_ver_suffix $py_version) local inst_ext inst_ext=$(pyinst_ext_for_version $py_version) local py_inst py_inst=python-$py_version-macosx10.6.$inst_ext local inst_path inst_path=$DOWNLOADS_SDIR/$py_inst mkdir -p $DOWNLOADS_SDIR curl $MACPYTHON_URL/$py_stripped/${py_inst} > $inst_path if [ "$inst_ext" == "dmg" ]; then hdiutil attach $inst_path -mountpoint /Volumes/Python inst_path=/Volumes/Python/Python.mpkg fi sudo installer -pkg $inst_path -target / local py_mm py_mm=${py_version:0:3} local py_m py_m=${py_version:0:1} PYTHON_EXE=$MACPYTHON_PY_PREFIX/$py_mm/bin/python$py_m export PYTHON_EXE } function install_pip { # Generic install pip # Gets needed version from version implied by $PYTHON_EXE # Installs pip into python given by $PYTHON_EXE # Assumes pip will be installed into same directory as $PYTHON_EXE check_python mkdir -p $DOWNLOADS_SDIR curl $GET_PIP_URL > $DOWNLOADS_SDIR/get-pip.py # Travis VMS now install pip for system python by default - force install # even if installed already sudo $PYTHON_EXE $DOWNLOADS_SDIR/get-pip.py --ignore-installed local py_mm py_mm=$(get_py_mm) PIP_CMD="sudo $(dirname $PYTHON_EXE)/pip$py_mm" export PIP_CMD } function install_virtualenv { # Generic install of virtualenv # Installs virtualenv into python given by $PYTHON_EXE # Assumes virtualenv will be installed into same directory as $PYTHON_EXE #check_pip # Travis VMS install virtualenv for system python by default - force # install even if installed already $PYTHON_EXE -m pip install virtualenv --ignore-installed check_python VIRTUALENV_CMD="$(dirname $PYTHON_EXE)/virtualenv" export VIRTUALENV_CMD } # Remove previous versions sudo rm -rf ${MACPYTHON_FRAMEWORK} LATEST_34=3.4.7 LATEST_35=3.5.4 LATEST_36=3.6.6 LATEST_37=3.7.0 for pyversion in $LATEST_35 $LATEST_36 $LATEST_37; do install_macpython $pyversion install_pip install_virtualenv done avogadrolibs-1.93.0/scripts/travis/run_clang_format_diff.sh000077500000000000000000000004561360735163600241450ustar00rootroot00000000000000#!/bin/bash DIFF=`git diff -U0 $1...$2 -- '*.h' '*.cpp' | clang-format-diff-6.0 -p1` if [ -z "$DIFF" ]; then exit 0 else printf "ERROR: clang-format-diff detected formatting issues. Please run clang-format on your branch.\nThe following formatting changes are suggested:\n\n%s" "$DIFF" exit 1 fi avogadrolibs-1.93.0/scripts/travis/upload_pypi.sh000077500000000000000000000002011360735163600221460ustar00rootroot00000000000000#!/bin/bash sudo pip install twine SCRIPT_DIR=$(cd $(dirname $0) || exit 1; pwd) source "${SCRIPT_DIR}/../common/upload_pypi.sh" avogadrolibs-1.93.0/setup.py000066400000000000000000000025471360735163600160140ustar00rootroot00000000000000from skbuild import setup setup( name='avogadro', use_scm_version=True, setup_requires=['setuptools_scm'], description='Avogadro provides analysis and data processing useful in computational chemistry, molecular modeling, bioinformatics, materials science, and related areas.', author='Kitware', license='BSD', url='https://github.com/OpenChemistry/avogadrolibs', classifiers=[ 'License :: OSI Approved :: BSD License', 'Programming Language :: Python', 'Programming Language :: C++', 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: Education', 'Intended Audience :: Science/Research', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: Information Analysis', 'Topic :: Software Development :: Libraries', 'Operating System :: Microsoft :: Windows', 'Operating System :: Unix', 'Operating System :: MacOS' ], packages=['avogadro'], cmake_args=[ '-DUSE_SPGLIB:BOOL=FALSE', '-DUSE_OPENGL:BOOL=FALSE', '-DUSE_QT:BOOL=FALSE', '-DUSE_MMTF:BOOL=FALSE', '-DUSE_PYTHON:BOOL=TRUE', '-DUSE_MOLEQUEUE:BOOL=FALSE', '-DUSE_HDF5:BOOL=FALSE', '-DUSE_LIBARCHIVE:BOOL=FALSE', '-DUSE_LIBMSYM:BOOL=FALSE' ] ) avogadrolibs-1.93.0/tests/000077500000000000000000000000001360735163600154345ustar00rootroot00000000000000avogadrolibs-1.93.0/tests/CMakeLists.txt000066400000000000000000000025041360735163600201750ustar00rootroot00000000000000include_directories("${AvogadroLibs_BINARY_DIR}/avogadro/core") # find google test find_package(GTest REQUIRED) find_package(Eigen3 REQUIRED) # Add both as "system headers" to avoid warnings generated by them with # compilers that support that notion. include_directories(SYSTEM ${GTEST_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIR}) include(CheckIncludeFileCXX) include(CheckCXXSymbolExists) check_include_file_cxx("gtest/gtest.h" HAVE_GTEST_HPP) if(HAVE_GTEST_HPP) check_cxx_symbol_exists(GTEST_HAS_PTHREAD "gtest/gtest.h" GTEST_HAS_PTHREAD) check_cxx_symbol_exists(GTEST_IS_THREADSAFE "gtest/gtest.h" GTEST_IS_THREADSAFE) endif() if(GTEST_HAS_PTHREAD) message(STATUS "GTest claims it has pthreads, we need to link to it.") find_package(Threads) set(EXTRA_LINK_LIB ${CMAKE_THREAD_LIBS_INIT}) else() set(EXTRA_LINK_LIB "") endif() find_path(AVOGADRO_DATA_ROOT .avogadro.data ${AvogadroLibs_SOURCE_DIR}/../avogadrodata $ENV{AVOGADRO_DATA_ROOT} DOC "The repository for data used for testing." ) mark_as_advanced(AVOGADRO_DATA_ROOT) # Add the tests for each module. add_subdirectory(core) add_subdirectory(io) if(USE_QT) add_subdirectory(qtgui) endif() if(USE_OPENGL) add_subdirectory(rendering) if(USE_QT AND USE_VTK) add_subdirectory(qtopengl) endif() endif() if(USE_PROTOCALL) add_subdirectory(protocall) endif() avogadrolibs-1.93.0/tests/core/000077500000000000000000000000001360735163600163645ustar00rootroot00000000000000avogadrolibs-1.93.0/tests/core/CMakeLists.txt000066400000000000000000000017761360735163600211370ustar00rootroot00000000000000# Specify the name of each test (the Test will be appended where needed). set(tests Array Atom AtomTyper BasisSet Bond CoordinateBlockGenerator CoordinateSet Cube Eigen Element Graph Mesh Molecule Mutex RingPerceiver Spacegroup Utilities UnitCell Variant VariantMap ) # Build up the source file names. set(testSrcs "") foreach(TestName ${tests}) message(STATUS "Adding ${TestName} test.") string(TOLOWER ${TestName} testname) list(APPEND testSrcs ${testname}test.cpp) endforeach() message(STATUS "Test source files: ${testSrcs}") # Add a single executable for all of our tests. add_executable(AvogadroTests ${testSrcs}) target_link_libraries(AvogadroTests AvogadroCore ${GTEST_BOTH_LIBRARIES} ${EXTRA_LINK_LIB}) # Now add all of the tests, using the gtest_filter argument so that only those # cases are run in each test invocation. foreach(TestName ${tests}) add_test(NAME "Core-${TestName}" COMMAND AvogadroTests "--gtest_filter=${TestName}Test.*") endforeach() avogadrolibs-1.93.0/tests/core/arraytest.cpp000066400000000000000000000052401360735163600211070ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include using Avogadro::Core::Array; TEST(ArrayTest, setSize) { Array array; EXPECT_EQ(array.size(), static_cast(0)); array.resize(2); EXPECT_EQ(array.size(), static_cast(2)); } TEST(ArrayTest, isEmpty) { Array array; EXPECT_TRUE(array.empty()); } TEST(ArrayTest, push_back) { Array array; array.push_back(6); EXPECT_EQ(array.size(), static_cast(1)); array.push_back(9); EXPECT_EQ(array.size(), static_cast(2)); } TEST(ArrayTest, clear) { Array array; array.push_back(6); EXPECT_EQ(array.size(), static_cast(1)); array.push_back(9); EXPECT_EQ(array.size(), static_cast(2)); array.clear(); EXPECT_EQ(array.size(), static_cast(0)); } TEST(ArrayTest, detach) { // Verify the data pointers match for the two arrays. Array array(5); Array array2 = array; EXPECT_EQ(array.constData(), array2.constData()); // After detaching the data pointers should differ. array2.detach(); EXPECT_NE(array.constData(), array2.constData()); } TEST(ArrayTest, implicitDetach) { Array array(5, 3); array[2] = 666; Array array2 = array; EXPECT_EQ(array.constData(), array2.constData()); EXPECT_EQ(array.at(0), 3); EXPECT_EQ(array2.at(0), 3); EXPECT_EQ(array.at(2), 666); EXPECT_EQ(array2.at(2), 666); // Now change some values, these should not be visible to the other instance. array[0] = 1; array2[2] = 42; EXPECT_NE(array.constData(), array2.constData()); EXPECT_EQ(array.at(0), 1); EXPECT_EQ(array2.at(0), 3); EXPECT_EQ(array.at(2), 666); EXPECT_EQ(array2.at(2), 42); } TEST(ArrayTest, operators) { Array a1; Array a2; for (int i = 0; i < 10; ++i) { a1.push_back(i); a2.push_back(i * 10); } Array a1c(a1); EXPECT_TRUE(a1 == a1c); EXPECT_TRUE(a1 != a2); EXPECT_TRUE(a1 < a2); EXPECT_TRUE(a1 <= a1c); EXPECT_TRUE(a2 > a1); EXPECT_TRUE(a1 >= a1c); using std::swap; swap(a1, a2); EXPECT_TRUE(a2 == a1c); } avogadrolibs-1.93.0/tests/core/atomtest.cpp000066400000000000000000000060151360735163600207320ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include using Avogadro::Core::Molecule; using Avogadro::Core::Atom; using Avogadro::Vector2; using Avogadro::Vector3; TEST(AtomTest, setAtomicNumber) { Molecule molecule; Atom atom = molecule.addAtom(1); EXPECT_TRUE(atom.isValid()); EXPECT_EQ(atom.atomicNumber(), 1); // change the atom's atomic number atom.setAtomicNumber(6); EXPECT_EQ(atom.atomicNumber(), 6); } TEST(AtomTest, setAtomPosition2d) { Molecule molecule; Atom atom = molecule.addAtom(1); // Should return a zero vector if the position has not been set. EXPECT_EQ(atom.position2d().x(), 0.0); EXPECT_EQ(atom.position2d().y(), 0.0); // Now set the position and verify it was stored correctly. atom.setPosition2d(Vector2(0.5, 1.0)); EXPECT_EQ(atom.position2d().x(), 0.5); EXPECT_EQ(atom.position2d().y(), 1.0); // Try with a second atom, confirm no cross over with the first too. Atom atom2 = molecule.addAtom(6); atom2.setPosition2d(Vector2(0.42, 3.14)); EXPECT_EQ(atom.position2d().x(), 0.5); EXPECT_EQ(atom.position2d().y(), 1.0); EXPECT_EQ(atom2.position2d().x(), 0.42); EXPECT_EQ(atom2.position2d().y(), 3.14); } TEST(AtomTest, setAtomPosition3d) { Molecule molecule; Atom atom = molecule.addAtom(1); // Should return a zero vector if the position has not been set. EXPECT_EQ(atom.position3d().x(), 0.0); EXPECT_EQ(atom.position3d().y(), 0.0); EXPECT_EQ(atom.position3d().z(), 0.0); // Now set the position and verify it was stored correctly. atom.setPosition3d(Vector3(0.5, 1.0, 1.5)); EXPECT_EQ(atom.position3d().x(), 0.5); EXPECT_EQ(atom.position3d().y(), 1.0); EXPECT_EQ(atom.position3d().z(), 1.5); // Try with a second atom, confirm no cross over with the first too. Atom atom2 = molecule.addAtom(6); atom2.setPosition3d(Vector3(0.42, 3.14, 6.66)); EXPECT_EQ(atom.position3d().x(), 0.5); EXPECT_EQ(atom.position3d().y(), 1.0); EXPECT_EQ(atom.position3d().z(), 1.5); EXPECT_EQ(atom2.position3d().x(), 0.42); EXPECT_EQ(atom2.position3d().y(), 3.14); EXPECT_EQ(atom2.position3d().z(), 6.66); } TEST(AtomTest, operators) { Molecule molecule; Atom atom1 = molecule.addAtom(1); Atom atom2 = molecule.addAtom(2); EXPECT_TRUE(atom1 == molecule.atom(0)); EXPECT_FALSE(atom1 != molecule.atom(0)); EXPECT_TRUE(atom1 != molecule.atom(1)); EXPECT_FALSE(atom1 == molecule.atom(1)); EXPECT_TRUE(atom1 != atom2); } avogadrolibs-1.93.0/tests/core/atomtypertest.cpp000066400000000000000000000066621360735163600220260ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include using namespace Avogadro::Core; TEST(AtomTyper, singleAtomTyping) { Molecule molecule; Array ref; for (unsigned char i = 0; i < Elements::elementCount(); ++i) { molecule.addAtom(i); ref.push_back(Elements::mass(i)); } class MassTyper : public AtomTyper { public: MassTyper() : AtomTyper(nullptr) {} Array& typesRef() { return m_types; } protected: double type(const Atom& atom) { return Elements::mass(atom.atomicNumber()); } } typer; typer.setMolecule(&molecule); // Check that the single atom typing method works as expected for (Avogadro::Index i = 0; i < molecule.atomCount(); ++i) { EXPECT_EQ(ref[i], typer.atomType(molecule.atom(i))) << "run(Atom): Mismatch at index " << i; } // Verify that we haven't populated the internal array EXPECT_TRUE(typer.types().empty()); // Fill the internal array. typer.run(); Array output(typer.types()); // Verify the internal array ASSERT_EQ(ref.size(), output.size()); for (size_t i = 0; i < ref.size(); ++i) EXPECT_EQ(ref[i], output[i]) << "run(): Mismatch at index " << i; // Change a type and verify that we get the cached result from run(Atom). const double testVal = -192.34; typer.typesRef()[4] = testVal; EXPECT_EQ(testVal, typer.atomType(molecule.atom(4))) << "Failed getting cached result."; } TEST(AtomTyper, resetOnMoleculeChange) { Molecule molecule1; Molecule molecule2; molecule1.addAtom(1); molecule2.addAtom(1); NameAtomTyper typer(&molecule1); typer.run(); EXPECT_EQ(1, typer.types().size()); typer.setMolecule(&molecule2); EXPECT_EQ(0, typer.types().size()); } TEST(AtomTyper, nameAtomTyper) { Molecule molecule; Array ref; for (unsigned char i = 0; i < Elements::elementCount(); ++i) { molecule.addAtom(i); ref.push_back(Elements::name(i)); } NameAtomTyper typer(&molecule); typer.run(); Array output(typer.types()); ASSERT_EQ(ref.size(), output.size()); for (size_t i = 0; i < ref.size(); ++i) { EXPECT_EQ(ref[i], output[i]) << "Mismatch at index " << i; } } TEST(AtomTyper, symbolAtomTyper) { Molecule molecule; Array ref; for (unsigned char i = 0; i < Elements::elementCount(); ++i) { molecule.addAtom(i); ref.push_back(Elements::symbol(i)); } SymbolAtomTyper typer(&molecule); typer.run(); Array output(typer.types()); ASSERT_EQ(ref.size(), output.size()); for (size_t i = 0; i < ref.size(); ++i) EXPECT_EQ(ref[i], output[i]) << "Mismatch at index " << i; } avogadrolibs-1.93.0/tests/core/basissettest.cpp000066400000000000000000000026461360735163600216150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include using Avogadro::Core::BasisSet; using Avogadro::Core::SlaterSet; TEST(BasisSetTest, homo) { SlaterSet basis; basis.setElectronCount(2, BasisSet::Paired); EXPECT_EQ(basis.homo(), 1); EXPECT_TRUE(basis.homo(basis.homo())); EXPECT_EQ(basis.lumo(), 2); EXPECT_TRUE(basis.lumo(basis.lumo())); basis = SlaterSet(); basis.setElectronCount(2, BasisSet::Alpha); basis.setElectronCount(1, BasisSet::Beta); EXPECT_EQ(basis.homo(), 1); EXPECT_TRUE(basis.homo(basis.homo())); // This is broken: the lumo could be either the // next alpha or the next beta depending on the // energetics of the system // EXPECT_EQ(basis.lumo(), 2); // EXPECT_TRUE(basis.lumo(basis.lumo())); } avogadrolibs-1.93.0/tests/core/bondtest.cpp000066400000000000000000000027621360735163600207210ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include using Avogadro::Core::Molecule; using Avogadro::Core::Atom; using Avogadro::Core::Bond; TEST(BondTest, setOrder) { Molecule molecule; Atom a = molecule.addAtom(1); Atom b = molecule.addAtom(1); Bond bond = molecule.addBond(a, b); EXPECT_EQ(bond.order(), 1); // change the bonds's order bond.setOrder(2); EXPECT_EQ(bond.order(), 2); } TEST(BondTest, operators) { Molecule molecule; Atom atom1 = molecule.addAtom(1); Atom atom2 = molecule.addAtom(2); Atom atom3 = molecule.addAtom(3); Bond bond1 = molecule.addBond(atom1, atom2, 1); Bond bond2 = molecule.addBond(atom2, atom3, 2); EXPECT_TRUE(bond1 == molecule.bond(0)); EXPECT_FALSE(bond1 != molecule.bond(0)); EXPECT_TRUE(bond1 != molecule.bond(1)); EXPECT_FALSE(bond1 == molecule.bond(1)); EXPECT_TRUE(bond1 != bond2); } avogadrolibs-1.93.0/tests/core/coordinateblockgeneratortest.cpp000066400000000000000000000270071360735163600250470ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include using Avogadro::Core::CoordinateBlockGenerator; using Avogadro::Core::Elements; using Avogadro::Core::Molecule; using Avogadro::Vector3; namespace { const std::string refCoordBlock( "1 0 0.0 Xx Dummy 2.776264 5.085929 7.395591 0 1 0 1\n" "2 1 1.0 H Hydrogen 3.219533 5.739168 8.258798 0 1 0 1\n" "3 2 2.0 He Helium 3.662802 6.392406 9.122004 0 1 0 1\n" "4 3 3.0 Li Lithium 4.106072 7.045645 9.985210 0 1 0 1\n" "5 4 4.0 Be Beryllium 4.549341 7.698883 10.848417 0 1 0 1\n" "6 5 5.0 B Boron 4.992610 8.352122 11.711623 0 1 0 1\n" "7 6 6.0 C Carbon 5.435879 9.005360 12.574829 0 1 0 1\n" "8 7 7.0 N Nitrogen 5.879148 9.658599 13.438036 0 1 0 1\n" "9 8 8.0 O Oxygen 6.322417 10.311837 14.301242 0 1 0 1\n" "10 9 9.0 F Fluorine 6.765686 10.965076 15.164448 0 1 0 1\n" "11 10 10.0 Ne Neon 7.208955 11.618314 16.027655 0 1 0 1\n" "12 11 11.0 Na Sodium 7.652224 12.271553 16.890861 0 1 0 1\n" "13 12 12.0 Mg Magnesium 8.095493 12.924791 17.754067 0 1 0 1\n" "14 13 13.0 Al Aluminium 8.538762 13.578030 18.617274 0 1 0 1\n" "15 14 14.0 Si Silicon 8.982031 14.231268 19.480480 0 1 0 1\n" "16 15 15.0 P Phosphorus 9.425300 14.884506 20.343687 0 1 0 1\n" "17 16 16.0 S Sulfur 9.868570 15.537745 21.206893 0 1 0 1\n" "18 17 17.0 Cl Chlorine 10.311839 16.190983 22.070099 0 1 0 1\n" "19 18 18.0 Ar Argon 10.755108 16.844222 22.933306 0 1 0 1\n" "20 19 19.0 K Potassium 11.198377 17.497460 23.796512 0 1 0 1\n" "21 20 20.0 Ca Calcium 11.641646 18.150699 24.659718 0 1 0 1\n" "22 21 21.0 Sc Scandium 12.084915 18.803937 25.522925 0 1 0 1\n" "23 22 22.0 Ti Titanium 12.528184 19.457176 26.386131 0 1 0 1\n" "24 23 23.0 V Vanadium 12.971453 20.110414 27.249337 0 1 0 1\n" "25 24 24.0 Cr Chromium 13.414722 20.763653 28.112544 0 1 0 1\n" "26 25 25.0 Mn Manganese 13.857991 21.416891 28.975750 0 1 0 1\n" "27 26 26.0 Fe Iron 14.301260 22.070130 29.838956 0 1 0 1\n" "28 27 27.0 Co Cobalt 14.744529 22.723368 30.702163 0 1 0 1\n" "29 28 28.0 Ni Nickel 15.187799 23.376607 31.565369 0 1 0 1\n" "30 29 29.0 Cu Copper 15.631068 24.029845 32.428576 0 1 0 1\n" "31 30 30.0 Zn Zinc 16.074337 24.683084 33.291782 0 1 0 1\n" "32 31 31.0 Ga Gallium 16.517606 25.336322 34.154988 0 1 0 1\n" "33 32 32.0 Ge Germanium 16.960875 25.989561 35.018195 0 1 0 1\n" "34 33 33.0 As Arsenic 17.404144 26.642799 35.881401 0 1 0 1\n" "35 34 34.0 Se Selenium 17.847413 27.296038 36.744607 0 1 0 1\n" "36 35 35.0 Br Bromine 18.290682 27.949276 37.607814 0 1 0 1\n" "37 36 36.0 Kr Krypton 18.733951 28.602515 38.471020 0 1 0 1\n" "38 37 37.0 Rb Rubidium 19.177220 29.255753 39.334226 0 1 0 1\n" "39 38 38.0 Sr Strontium 19.620489 29.908992 40.197433 0 1 0 1\n" "40 39 39.0 Y Yttrium 20.063758 30.562230 41.060639 0 1 0 1\n" "41 40 40.0 Zr Zirconium 20.507027 31.215468 41.923845 0 1 0 1\n" "42 41 41.0 Nb Niobium 20.950297 31.868707 42.787052 0 1 0 1\n" "43 42 42.0 Mo Molybdenum 21.393566 32.521945 43.650258 0 1 0 1\n" "44 43 43.0 Tc Technetium 21.836835 33.175184 44.513465 0 1 0 1\n" "45 44 44.0 Ru Ruthenium 22.280104 33.828422 45.376671 0 1 0 1\n" "46 45 45.0 Rh Rhodium 22.723373 34.481661 46.239877 0 1 0 1\n" "47 46 46.0 Pd Palladium 23.166642 35.134899 47.103084 0 1 0 1\n" "48 47 47.0 Ag Silver 23.609911 35.788138 47.966290 0 1 0 1\n" "49 48 48.0 Cd Cadmium 24.053180 36.441376 48.829496 0 1 0 1\n" "50 49 49.0 In Indium 24.496449 37.094615 49.692703 0 1 0 1\n" "51 50 50.0 Sn Tin 24.939718 37.747853 50.555909 0 1 0 1\n" "52 51 51.0 Sb Antimony 25.382987 38.401092 51.419115 0 1 0 1\n" "53 52 52.0 Te Tellurium 25.826256 39.054330 52.282322 0 1 0 1\n" "54 53 53.0 I Iodine 26.269525 39.707569 53.145528 0 1 0 1\n" "55 54 54.0 Xe Xenon 26.712795 40.360807 54.008734 0 1 0 1\n" "56 55 55.0 Cs Caesium 27.156064 41.014046 54.871941 0 1 0 1\n" "57 56 56.0 Ba Barium 27.599333 41.667284 55.735147 0 1 0 1\n" "58 57 57.0 La Lanthanum 28.042602 42.320523 56.598354 0 1 0 1\n" "59 58 58.0 Ce Cerium 28.485871 42.973761 57.461560 0 1 0 1\n" "60 59 59.0 Pr Praseodymium 28.929140 43.627000 58.324766 0 1 0 1\n" "61 60 60.0 Nd Neodymium 29.372409 44.280238 59.187973 0 1 0 1\n" "62 61 61.0 Pm Promethium 29.815678 44.933477 60.051179 0 1 0 1\n" "63 62 62.0 Sm Samarium 30.258947 45.586715 60.914385 0 1 0 1\n" "64 63 63.0 Eu Europium 30.702216 46.239954 61.777592 0 1 0 1\n" "65 64 64.0 Gd Gadolinium 31.145485 46.893192 62.640798 0 1 0 1\n" "66 65 65.0 Tb Terbium 31.588754 47.546430 63.504004 0 1 0 1\n" "67 66 66.0 Dy Dysprosium 32.032023 48.199669 64.367211 0 1 0 1\n" "68 67 67.0 Ho Holmium 32.475293 48.852907 65.230417 0 1 0 1\n" "69 68 68.0 Er Erbium 32.918562 49.506146 66.093623 0 1 0 1\n" "70 69 69.0 Tm Thulium 33.361831 50.159384 66.956830 0 1 0 1\n" "71 70 70.0 Yb Ytterbium 33.805100 50.812623 67.820036 0 1 0 1\n" "72 71 71.0 Lu Lutetium 34.248369 51.465861 68.683242 0 1 0 1\n" "73 72 72.0 Hf Hafnium 34.691638 52.119100 69.546449 0 1 0 1\n" "74 73 73.0 Ta Tantalum 35.134907 52.772338 70.409655 0 1 0 1\n" "75 74 74.0 W Tungsten 35.578176 53.425577 71.272862 0 1 0 1\n" "76 75 75.0 Re Rhenium 36.021445 54.078815 72.136068 0 1 0 1\n" "77 76 76.0 Os Osmium 36.464714 54.732054 72.999274 0 1 0 1\n" "78 77 77.0 Ir Iridium 36.907983 55.385292 73.862481 0 1 0 1\n" "79 78 78.0 Pt Platinum 37.351252 56.038531 74.725687 0 1 0 1\n" "80 79 79.0 Au Gold 37.794522 56.691769 75.588893 0 1 0 1\n" "81 80 80.0 Hg Mercury 38.237791 57.345008 76.452100 0 1 0 1\n" "82 81 81.0 Tl Thallium 38.681060 57.998246 77.315306 0 1 0 1\n" "83 82 82.0 Pb Lead 39.124329 58.651485 78.178512 0 1 0 1\n" "84 83 83.0 Bi Bismuth 39.567598 59.304723 79.041719 0 1 0 1\n" "85 84 84.0 Po Polonium 40.010867 59.957962 79.904925 0 1 0 1\n" "86 85 85.0 At Astatine 40.454136 60.611200 80.768131 0 1 0 1\n" "87 86 86.0 Rn Radon 40.897405 61.264439 81.631338 0 1 0 1\n" "88 87 87.0 Fr Francium 41.340674 61.917677 82.494544 0 1 0 1\n" "89 88 88.0 Ra Radium 41.783943 62.570916 83.357751 0 1 0 1\n" "90 89 89.0 Ac Actinium 42.227212 63.224154 84.220957 0 1 0 1\n" "91 90 90.0 Th Thorium 42.670481 63.877392 85.084163 0 1 0 1\n" "92 91 91.0 Pa Protactinium 43.113750 64.530631 85.947370 0 1 0 1\n" "93 92 92.0 U Uranium 43.557020 65.183869 86.810576 0 1 0 1\n" "94 93 93.0 Np Neptunium 44.000289 65.837108 87.673782 0 1 0 1\n" "95 94 94.0 Pu Plutonium 44.443558 66.490346 88.536989 0 1 0 1\n" "96 95 95.0 Am Americium 44.886827 67.143585 89.400195 0 1 0 1\n" "97 96 96.0 Cm Curium 45.330096 67.796823 90.263401 0 1 0 1\n" "98 97 97.0 Bk Berkelium 45.773365 68.450062 91.126608 0 1 0 1\n" "99 98 98.0 Cf Californium 46.216634 69.103300 91.989814 0 1 0 1\n" "100 99 99.0 Es Einsteinium 46.659903 69.756539 92.853020 0 1 0 1\n" "101 100 100.0 Fm Fermium 47.103172 70.409777 93.716227 0 1 0 1\n" "102 101 101.0 Md Mendelevium 47.546441 71.063016 94.579433 0 1 0 1\n" "103 102 102.0 No Nobelium 47.989710 71.716254 95.442640 0 1 0 1\n" "104 103 103.0 Lr Lawrencium 48.432979 72.369493 96.305846 0 1 0 1\n" "105 104 104.0 Rf Rutherfordium 48.876248 73.022731 97.169052 0 1 0 1\n" "106 105 105.0 Db Dubnium 49.319518 73.675970 98.032259 0 1 0 1\n" "107 106 106.0 Sg Seaborgium 49.762787 74.329208 98.895465 0 1 0 1\n" "108 107 107.0 Bh Bohrium 50.206056 74.982447 99.758671 0 1 0 1\n" "109 108 108.0 Hs Hassium 50.649325 75.635685 100.621878 0 1 0 1\n" "110 109 109.0 Mt Meitnerium 51.092594 76.288924 101.485084 0 1 0 1\n" "111 110 110.0 Ds Darmstadtium 51.535863 76.942162 102.348290 0 1 0 1\n" "112 111 111.0 Rg Roentgenium 51.979132 77.595401 103.211497 0 1 0 1\n" "113 112 112.0 Cn Copernicium 52.422401 78.248639 104.074703 0 1 0 1\n" "114 113 113.0 Nh Nihonium 52.865670 78.901878 104.937909 0 1 0 1\n" "115 114 114.0 Fl Flerovium 53.308939 79.555116 105.801116 0 1 0 1\n" "116 115 115.0 Mc Moscovium 53.752208 80.208354 106.664322 0 1 0 1\n" "117 116 116.0 Lv Livermorium 54.195477 80.861593 107.527529 0 1 0 1\n" "118 117 117.0 Ts Tennessine 54.638747 81.514831 108.390735 0 1 0 1\n" "119 118 118.0 Og Oganesson 55.082016 82.168070 109.253941 0 1 0 1\n" ); } // end anon namespace TEST(CoordinateBlockGeneratorTest, generateCoordinateBlock) { Molecule molecule; Vector3 pos(1.23456789, 2.34567891, 3.456789123); Vector3 inc(0.23456789, 0.34567891, 0.456789123); for (unsigned char i = 0; i < Elements::elementCount(); ++i) molecule.addAtom(i).setPosition3d(pos += inc); CoordinateBlockGenerator gen; gen.setMolecule(&molecule); gen.setDistanceUnit(CoordinateBlockGenerator::Bohr); gen.setSpecification("#ZGSNxyz01__01"); EXPECT_EQ(refCoordBlock, gen.generateCoordinateBlock()); } avogadrolibs-1.93.0/tests/core/coordinatesettest.cpp000066400000000000000000000035021360735163600226330ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include using Avogadro::Core::ArraySet; using Avogadro::Core::CoordinateSet; using Avogadro::Vector3; TEST(CoordinateSetTest, StoreType) { ArraySet* array = new CoordinateSet; EXPECT_TRUE(array->isType(Vector3())); delete array; array = 0; array = new CoordinateSet; EXPECT_TRUE(array->isType(float())); delete array; array = 0; } TEST(CoordinateSetTest, Resize) { CoordinateSet data; data.resize(5); EXPECT_EQ(data.size(), static_cast(5)); data.resize(3); EXPECT_EQ(data.size(), static_cast(3)); } TEST(CoordinateSetTest, Store) { CoordinateSet data; data.resize(5); data[0] = Vector3(0.0, 1.0, 2.0); EXPECT_EQ(data[0].x(), 0.0); EXPECT_EQ(data[0].y(), 1.0); EXPECT_EQ(data[0].z(), 2.0); } TEST(CoordinateSetTest, StoreTypeRetrieve) { CoordinateSet data; data.resize(5); data[0] = Vector3(0.0, 1.0, 2.0); ArraySet* array = &data; CoordinateSet& ref = *reinterpret_cast*>(array); EXPECT_EQ(ref[0].x(), 0.0); EXPECT_EQ(ref[0].y(), 1.0); EXPECT_EQ(ref[0].z(), 2.0); } avogadrolibs-1.93.0/tests/core/cubetest.cpp000066400000000000000000000055351360735163600207160ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include using Avogadro::Core::Cube; using Avogadro::Vector3; using Avogadro::Vector3i; TEST(CubeTest, initialize) { Cube cube; EXPECT_EQ(cube.dimensions(), Vector3i::Zero()); } TEST(CubeTest, name) { Cube cube; cube.setName("test"); EXPECT_EQ(cube.name(), "test"); } TEST(CubeTest, limits) { Cube cube; cube.setLimits(Vector3(0.0, 0.0, 0.0), Vector3(1.0, 1.0, 1.0), Vector3i(10, 10, 10)); EXPECT_EQ(cube.data()->size(), 1000); for (int i = 0; i < 3; ++i) { EXPECT_DOUBLE_EQ(cube.min()[i], 0.0); EXPECT_DOUBLE_EQ(cube.max()[i], 1.0); EXPECT_EQ(cube.dimensions()[i], 10); } Cube cube2; cube2.setLimits(cube); for (int i = 0; i < 3; ++i) { EXPECT_DOUBLE_EQ(cube2.min()[i], 0.0); EXPECT_DOUBLE_EQ(cube2.max()[i], 1.0); EXPECT_EQ(cube2.dimensions()[i], 10); } EXPECT_EQ(cube.data()->size(), 1000); } TEST(CubeTest, value) { Cube cube; cube.setLimits(Vector3(0.0, 0.0, 0.0), Vector3(1.0, 1.0, 1.0), Vector3i(10, 10, 10)); cube.setValue(0, 0, 0, 5.0); cube.setValue(0, 0, 1, 50.0); EXPECT_DOUBLE_EQ(cube.value(0, 0, 0), 5.0); EXPECT_DOUBLE_EQ(cube.value(0, 0, 1), 50.0); } TEST(CubeTest, minmax) { Cube cube; cube.setLimits(Vector3(0.0, 0.0, 0.0), Vector3(1.0, 1.0, 1.0), Vector3i(10, 10, 10)); cube.setValue(0, 0, 0, 5.0); cube.setValue(0, 0, 1, 50.0); EXPECT_DOUBLE_EQ(cube.minValue(), 0.0); EXPECT_DOUBLE_EQ(cube.maxValue(), 50.0); } TEST(CubeTest, index) { Cube cube; cube.setLimits(Vector3(0.0, 0.0, 0.0), Vector3(1.0, 1.0, 1.0), Vector3i(10, 10, 10)); EXPECT_EQ(cube.closestIndex(Vector3(0.0, 0.0, 0.0)), 0); EXPECT_EQ(cube.closestIndex(Vector3(1.0, 0.0, 0.0)), 900); EXPECT_EQ(cube.closestIndex(Vector3(0.0, 1.0, 0.0)), 90); EXPECT_EQ(cube.closestIndex(Vector3(0.0, 0.0, 1.0)), 9); EXPECT_EQ(cube.closestIndex(Vector3(1.0, 1.0, 1.0)), 999); } TEST(CubeTest, position) { Cube cube; cube.setLimits(Vector3(0.0, 0.0, 0.0), Vector3(1.0, 1.0, 1.0), Vector3i(10, 10, 10)); for (int i = 0; i < 3; ++i) EXPECT_DOUBLE_EQ(cube.position(0)[i], 0.0); for (int i = 0; i < 3; ++i) EXPECT_DOUBLE_EQ(cube.position(999)[i], 1.0); } avogadrolibs-1.93.0/tests/core/eigentest.cpp000066400000000000000000000015071360735163600210620ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include TEST(EigenTest, vector3d) { Eigen::Vector3d vec; vec.setZero(); EXPECT_EQ(vec.x(), 0); EXPECT_EQ(vec.y(), 0); EXPECT_EQ(vec.z(), 0); } avogadrolibs-1.93.0/tests/core/elementtest.cpp000066400000000000000000000067601360735163600214320ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include using Avogadro::Core::Elements; TEST(ElementTest, symbolSingles) { EXPECT_EQ(Elements::atomicNumberFromSymbol("H"), 1); EXPECT_EQ(Elements::atomicNumberFromSymbol("C"), 6); EXPECT_EQ(Elements::atomicNumberFromSymbol("S"), 16); EXPECT_EQ(Elements::atomicNumberFromSymbol("U"), 92); EXPECT_EQ(Elements::atomicNumberFromSymbol("X"), Avogadro::InvalidElement); } TEST(ElementTest, symbolDoubles) { EXPECT_EQ(Elements::atomicNumberFromSymbol("He"), 2); EXPECT_EQ(Elements::atomicNumberFromSymbol("Fe"), 26); EXPECT_EQ(Elements::atomicNumberFromSymbol("Lv"), 116); EXPECT_EQ(Elements::atomicNumberFromSymbol("Xe"), 54); EXPECT_EQ(Elements::atomicNumberFromSymbol("Xeee"), Avogadro::InvalidElement); } TEST(ElementTest, names) { EXPECT_STREQ(Elements::name(1), "Hydrogen"); EXPECT_STREQ(Elements::name(6), "Carbon"); EXPECT_STREQ(Elements::name(Elements::atomicNumberFromSymbol("Fe")), "Iron"); } TEST(ElementTest, masses) { EXPECT_EQ(Elements::mass(1), 1.00784); EXPECT_EQ(Elements::mass(6), 12.011); } TEST(ElementTest, radiusVDW) { EXPECT_EQ(Elements::radiusVDW(1), 1.2); EXPECT_EQ(Elements::radiusVDW(6), 1.77); } TEST(ElementTest, radiusCovalent) { EXPECT_EQ(Elements::radiusCovalent(1), 0.32); EXPECT_EQ(Elements::radiusCovalent(6), 0.75); } TEST(ElementTest, colors) { // hydrogen EXPECT_EQ(Elements::color(1)[0], 240); EXPECT_EQ(Elements::color(1)[1], 240); EXPECT_EQ(Elements::color(1)[2], 240); // boron EXPECT_EQ(Elements::color(5)[0], 255); EXPECT_EQ(Elements::color(5)[1], 181); EXPECT_EQ(Elements::color(5)[2], 181); // carbon EXPECT_EQ(Elements::color(6)[0], 127); EXPECT_EQ(Elements::color(6)[1], 127); EXPECT_EQ(Elements::color(6)[2], 127); EXPECT_EQ(Elements::color(7)[0], 48); EXPECT_EQ(Elements::color(7)[1], 80); EXPECT_EQ(Elements::color(7)[2], 255); // Oxygen EXPECT_EQ(Elements::color(8)[0], 255); EXPECT_EQ(Elements::color(8)[1], 13); EXPECT_EQ(Elements::color(8)[2], 13); } TEST(ElementTest, dummyElement) { EXPECT_EQ(Elements::radiusVDW(0), 0.69); EXPECT_EQ(Elements::radiusCovalent(0), 0.18); } TEST(ElementTest, customElements) { for (unsigned char i = Avogadro::CustomElementMin; i <= Avogadro::CustomElementMax; ++i) { std::string name = Elements::name(i); std::string symbol = Elements::symbol(i); // These should not return the dummy labels EXPECT_TRUE(Avogadro::Core::isCustomElement(i)); EXPECT_STRNE(name.c_str(), Elements::name(0)); EXPECT_STRNE(symbol.c_str(), Elements::symbol(0)); // The last two characters must match: EXPECT_EQ(name.substr(name.size() - 2), symbol.substr(symbol.size() - 2)); // Round trip: EXPECT_EQ((int)Elements::atomicNumberFromName(name), (int)i); EXPECT_EQ((int)Elements::atomicNumberFromSymbol(symbol), (int)i); } } avogadrolibs-1.93.0/tests/core/graphtest.cpp000066400000000000000000000071631360735163600211000ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include using Avogadro::Core::Graph; TEST(GraphTest, size) { Graph graph; EXPECT_EQ(graph.size(), static_cast(0)); Graph graph2(12); EXPECT_EQ(graph2.size(), static_cast(12)); } TEST(GraphTest, setSize) { Graph graph; EXPECT_EQ(graph.size(), static_cast(0)); graph.setSize(100); EXPECT_EQ(graph.size(), static_cast(100)); graph.setSize(50); EXPECT_EQ(graph.size(), static_cast(50)); } TEST(GraphTest, isEmpty) { Graph graph; EXPECT_EQ(graph.isEmpty(), true); graph.addVertex(); EXPECT_EQ(graph.isEmpty(), false); graph.clear(); EXPECT_EQ(graph.isEmpty(), true); } TEST(GraphTest, clear) { } TEST(GraphTest, addVertex) { Graph graph; size_t index = graph.addVertex(); EXPECT_EQ(index, 0); EXPECT_EQ(graph.size(), static_cast(1)); index = graph.addVertex(); EXPECT_EQ(index, 1); index = graph.addVertex(); EXPECT_EQ(index, 2); } TEST(GraphTest, removeVertex) { Graph graph(4); EXPECT_EQ(graph.size(), static_cast(4)); graph.removeVertex(0); EXPECT_EQ(graph.size(), static_cast(3)); graph.removeVertex(2); EXPECT_EQ(graph.size(), static_cast(2)); } TEST(GraphTest, vertexCount) { Graph graph; EXPECT_EQ(graph.vertexCount(), static_cast(0)); graph.addVertex(); EXPECT_EQ(graph.vertexCount(), static_cast(1)); graph.addVertex(); EXPECT_EQ(graph.vertexCount(), static_cast(2)); graph.removeVertex(1); EXPECT_EQ(graph.vertexCount(), static_cast(1)); graph.clear(); EXPECT_EQ(graph.vertexCount(), static_cast(0)); } TEST(GraphTest, addEdge) { Graph graph(5); EXPECT_EQ(graph.edgeCount(), static_cast(0)); graph.addEdge(0, 1); EXPECT_EQ(graph.edgeCount(), 1); EXPECT_EQ(graph.containsEdge(0, 1), true); graph.addEdge(1, 4); EXPECT_EQ(graph.edgeCount(), 2); EXPECT_EQ(graph.containsEdge(1, 4), true); } TEST(GraphTest, removeEdge) { Graph graph(5); graph.addEdge(0, 1); graph.addEdge(1, 4); } TEST(GraphTest, edgeCount) { Graph graph(3); EXPECT_EQ(graph.edgeCount(), static_cast(0)); graph.addEdge(0, 1); EXPECT_EQ(graph.edgeCount(), static_cast(1)); graph.addEdge(0, 2); EXPECT_EQ(graph.edgeCount(), static_cast(2)); graph.addEdge(1, 2); EXPECT_EQ(graph.edgeCount(), static_cast(3)); graph.removeEdge(0, 1); EXPECT_EQ(graph.edgeCount(), static_cast(2)); graph.clear(); EXPECT_EQ(graph.edgeCount(), static_cast(0)); } TEST(GraphTest, connectedComponents) { Graph graph(6); EXPECT_EQ(graph.connectedComponents().size(), static_cast(6)); graph.addEdge(0, 1); graph.addEdge(1, 2); graph.addEdge(3, 4); EXPECT_EQ(graph.connectedComponents().size(), static_cast(3)); graph.addEdge(4, 5); EXPECT_EQ(graph.connectedComponents().size(), static_cast(2)); graph.addEdge(3, 2); EXPECT_EQ(graph.connectedComponents().size(), static_cast(1)); } avogadrolibs-1.93.0/tests/core/meshtest.cpp000066400000000000000000000047561360735163600207400ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include using Avogadro::Vector3f; using Avogadro::Core::Array; using Avogadro::Core::Color3f; using Avogadro::Core::Mesh; class MeshTest : public testing::Test { public: MeshTest(); void assertEquals(const Mesh& m1, const Mesh& m2); protected: Mesh m_testMesh; }; MeshTest::MeshTest() { Array vertices; Array normals; Array colors; Color3f color = Color3f(23, 23, 23); colors.push_back(color); Vector3f vec(1.2f, 1.3f, 1.4f); vertices.push_back(vec); normals.push_back(vec); m_testMesh.setColors(colors); m_testMesh.setNormals(normals); m_testMesh.setVertices(vertices); m_testMesh.setIsoValue(1.2f); m_testMesh.setName("testmesh"); m_testMesh.setOtherMesh(1); } void MeshTest::assertEquals(const Mesh& m1, const Mesh& m2) { EXPECT_EQ(m1.otherMesh(), m2.otherMesh()); EXPECT_EQ(m1.name(), m2.name()); EXPECT_EQ(m1.isoValue(), m2.isoValue()); EXPECT_TRUE(m1.vertices() == m2.vertices()); const Array colors1 = m1.colors(); const Array colors2 = m1.colors(); EXPECT_EQ(colors1.size(), colors2.size()); int i = 0; for (Array::const_iterator it = colors1.begin(), itEnd = colors1.end(); it != itEnd; ++it) { EXPECT_EQ(it->red(), colors2[i].red()); EXPECT_EQ(it->green(), colors2[i].green()); EXPECT_EQ(it->blue(), colors2[i].blue()); ++i; } EXPECT_TRUE(m1.normals() == m2.normals()); } TEST_F(MeshTest, copy) { Mesh copy(m_testMesh); assertEquals(m_testMesh, copy); EXPECT_NE(m_testMesh.lock(), copy.lock()); } TEST_F(MeshTest, assigment) { Mesh assign = m_testMesh; assertEquals(m_testMesh, assign); EXPECT_NE(m_testMesh.lock(), assign.lock()); } avogadrolibs-1.93.0/tests/core/moleculetest.cpp000066400000000000000000000172151360735163600216030ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "utils.h" #include #include #include #include #include #include using Avogadro::Index; using Avogadro::Vector2; using Avogadro::Vector3; using Avogadro::Vector3f; using Avogadro::Core::Array; using Avogadro::Core::Atom; using Avogadro::Core::Bond; using Avogadro::Core::Color3f; using Avogadro::Core::Mesh; using Avogadro::Core::Molecule; using Avogadro::Core::Variant; using Avogadro::Core::VariantMap; class MoleculeTest : public testing::Test { public: MoleculeTest(); protected: Molecule m_testMolecule; }; MoleculeTest::MoleculeTest() { Atom o1 = m_testMolecule.addAtom(8); Atom h2 = m_testMolecule.addAtom(1); Atom h3 = m_testMolecule.addAtom(1); o1.setPosition3d(Vector3(0, 0, 0)); h2.setPosition3d(Vector3(0.6, -0.5, 0)); h3.setPosition3d(Vector3(-0.6, -0.5, 0)); o1.setPosition2d(Vector2(0, 0)); h2.setPosition2d(Vector2(0.6, -0.5)); h3.setPosition2d(Vector2(-0.6, -0.5)); // Add some data VariantMap data; data.setValue("test", Variant("test")); m_testMolecule.setDataMap(data); // Add some bonds m_testMolecule.perceiveBondsSimple(); Mesh* mesh = m_testMolecule.addMesh(); Array vertices; Array normals; Array colors; Color3f color = Color3f(23, 23, 23); colors.push_back(color); Vector3f vec(1.2f, 1.3f, 1.4f); vertices.push_back(vec); normals.push_back(vec); mesh->setColors(colors); mesh->setNormals(normals); mesh->setVertices(vertices); mesh->setIsoValue(1.2f); mesh->setName("testmesh"); mesh->setOtherMesh(1); mesh->setStable(false); } TEST_F(MoleculeTest, addAtom) { Molecule molecule; EXPECT_EQ(molecule.atomCount(), static_cast(0)); Avogadro::Core::Atom atom = molecule.addAtom(6); EXPECT_EQ(atom.isValid(), true); EXPECT_EQ(molecule.atomCount(), static_cast(1)); EXPECT_EQ(atom.index(), 0); EXPECT_EQ(atom.atomicNumber(), static_cast(6)); Avogadro::Core::Atom atom2 = molecule.addAtom(1); EXPECT_EQ(atom2.isValid(), true); EXPECT_EQ(molecule.atomCount(), static_cast(2)); EXPECT_EQ(atom2.index(), 1); EXPECT_EQ(atom2.atomicNumber(), static_cast(1)); } TEST_F(MoleculeTest, removeAtom) { Molecule molecule; Atom atom0 = molecule.addAtom(6); Atom atom1 = molecule.addAtom(1); Atom atom2 = molecule.addAtom(1); Atom atom3 = molecule.addAtom(1); Atom atom4 = molecule.addAtom(1); molecule.addBond(atom0, atom1, 1); molecule.addBond(atom0, atom2, 1); molecule.addBond(atom0, atom3, 1); molecule.addBond(atom0, atom4, 1); EXPECT_EQ(5, molecule.atomCount()); EXPECT_EQ(4, molecule.bondCount()); molecule.removeAtom(atom0); EXPECT_EQ(4, molecule.atomCount()); EXPECT_EQ(0, molecule.bondCount()); molecule.clearAtoms(); EXPECT_EQ(0, molecule.atomCount()); } TEST_F(MoleculeTest, addBond) { Molecule molecule; EXPECT_EQ(molecule.bondCount(), static_cast(0)); Atom a = molecule.addAtom(1); Atom b = molecule.addAtom(1); Bond bondAB = molecule.addBond(a, b); EXPECT_TRUE(bondAB.isValid()); EXPECT_EQ(bondAB.molecule(), &molecule); EXPECT_EQ(molecule.bondCount(), static_cast(1)); EXPECT_EQ(bondAB.index(), static_cast(0)); EXPECT_EQ(bondAB.atom1().index(), a.index()); EXPECT_EQ(bondAB.atom2().index(), b.index()); EXPECT_EQ(bondAB.order(), static_cast(1)); Atom c = molecule.addAtom(1); Bond bondBC = molecule.addBond(b, c, 2); EXPECT_TRUE(bondBC.isValid()); EXPECT_EQ(molecule.bondCount(), static_cast(2)); EXPECT_EQ(bondBC.index(), static_cast(1)); EXPECT_EQ(bondBC.order(), static_cast(2)); // try to lookup nonexistant bond Bond bond = molecule.bond(a, c); EXPECT_FALSE(bond.isValid()); // try to lookup bond between a and b bond = molecule.bond(a, b); EXPECT_TRUE(bond.isValid()); EXPECT_EQ(bond.molecule(), &molecule); EXPECT_EQ(bond.atom1().index(), a.index()); EXPECT_EQ(bond.atom2().index(), b.index()); // try to lookup bond between b and c by index bond = molecule.bond(1); EXPECT_TRUE(bond.isValid()); EXPECT_EQ(bond.molecule(), &molecule); EXPECT_EQ(bond.atom1().index(), b.index()); EXPECT_EQ(bond.atom2().index(), c.index()); } TEST_F(MoleculeTest, removeBond) { Molecule molecule; Atom a = molecule.addAtom(1); Atom b = molecule.addAtom(1); Bond bondAB = molecule.addBond(a, b); Atom c = molecule.addAtom(1); molecule.addBond(b, c, 2); EXPECT_EQ(3, molecule.atomCount()); EXPECT_EQ(2, molecule.bondCount()); EXPECT_TRUE(molecule.bond(a, b).isValid()); EXPECT_TRUE(molecule.bond(b, c).isValid()); molecule.removeBond(bondAB); EXPECT_EQ(3, molecule.atomCount()); EXPECT_EQ(1, molecule.bondCount()); EXPECT_FALSE(molecule.bond(a, b).isValid()); EXPECT_TRUE(molecule.bond(b, c).isValid()); molecule.clearBonds(); EXPECT_EQ(0, molecule.bondCount()); } TEST_F(MoleculeTest, findBond) { Molecule molecule; Atom a1 = molecule.addAtom(5); Atom a2 = molecule.addAtom(6); Bond b = molecule.addBond(a1, a2, 1); EXPECT_EQ(molecule.bond(a1, a2).index(), b.index()); EXPECT_EQ(molecule.bond(a2, a1).index(), b.index()); Array bonds = molecule.bonds(a1); EXPECT_EQ(bonds.size(), 1); Atom a3 = molecule.addAtom(7); molecule.addBond(a1, a3, 1); EXPECT_EQ(molecule.bonds(a1).size(), 2); EXPECT_EQ(molecule.bonds(a3).size(), 1); } TEST_F(MoleculeTest, setData) { Molecule molecule; molecule.setData("name", "ethanol"); EXPECT_EQ(molecule.data("name").toString(), "ethanol"); } TEST_F(MoleculeTest, dataMap) { Molecule molecule; molecule.setData("name", "ethanol"); molecule.setData("formula", "C2H6O"); VariantMap varMap = molecule.dataMap(); varMap.setValue("SMILES", "CCO"); molecule.setDataMap(varMap); molecule.dataMap().setValue("CAS", "64-17-5"); std::vector dataNames = molecule.dataMap().names(); EXPECT_EQ(dataNames.size(), 4); EXPECT_EQ(molecule.hasData("name"), true); EXPECT_EQ(molecule.hasData("invalid"), false); EXPECT_EQ(molecule.data("name").toString(), "ethanol"); EXPECT_EQ(molecule.data("formula").toString(), "C2H6O"); EXPECT_EQ(molecule.data("SMILES").toString(), "CCO"); EXPECT_EQ(molecule.data("CAS").toString(), "64-17-5"); } TEST_F(MoleculeTest, perceiveBondsSimple) { Molecule molecule; Atom o1 = molecule.addAtom(8); Atom h2 = molecule.addAtom(1); Atom h3 = molecule.addAtom(1); o1.setPosition3d(Vector3(0, 0, 0)); h2.setPosition3d(Vector3(0.6, -0.5, 0)); h3.setPosition3d(Vector3(-0.6, -0.5, 0)); EXPECT_EQ(molecule.bondCount(), 0); molecule.perceiveBondsSimple(); EXPECT_EQ(molecule.bondCount(), 2); EXPECT_TRUE(molecule.bond(o1, h2).isValid()); EXPECT_TRUE(molecule.bond(o1, h3).isValid()); EXPECT_FALSE(molecule.bond(h2, h3).isValid()); } TEST_F(MoleculeTest, copy) { Molecule copy(m_testMolecule); assertEqual(m_testMolecule, copy); } TEST_F(MoleculeTest, assignment) { Molecule assign; assign = m_testMolecule; assertEqual(m_testMolecule, assign); } avogadrolibs-1.93.0/tests/core/mutextest.cpp000066400000000000000000000021021360735163600211250ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include using Avogadro::Core::Mutex; TEST(MutexTest, lock) { Mutex mutex; mutex.lock(); int array[15]; array[4] = 1; mutex.unlock(); EXPECT_EQ(array[4], 1); } TEST(MutexText, tryLock) { Mutex mutex; mutex.lock(); EXPECT_FALSE(mutex.tryLock()); int array[15]; array[4] = 2; mutex.unlock(); EXPECT_TRUE(mutex.tryLock()); mutex.unlock(); EXPECT_EQ(array[4], 2); } avogadrolibs-1.93.0/tests/core/ringperceivertest.cpp000066400000000000000000000036651360735163600226460ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include using Avogadro::Core::Molecule; using Avogadro::Core::RingPerceiver; TEST(RingPerceiverTest, benzene) { Molecule molecule; molecule.addAtom(6); molecule.addAtom(6); molecule.addAtom(6); molecule.addAtom(6); molecule.addAtom(6); molecule.addAtom(6); molecule.addBond(molecule.atom(0), molecule.atom(1), 1); molecule.addBond(molecule.atom(1), molecule.atom(2), 2); molecule.addBond(molecule.atom(2), molecule.atom(3), 1); molecule.addBond(molecule.atom(3), molecule.atom(4), 2); molecule.addBond(molecule.atom(4), molecule.atom(5), 1); molecule.addBond(molecule.atom(5), molecule.atom(0), 2); RingPerceiver perceiver(&molecule); std::vector> rings = perceiver.rings(); EXPECT_EQ(rings.size(), static_cast(1)); EXPECT_EQ(rings[0].size(), static_cast(6)); } TEST(RingPerceiverTest, ethanol) { Molecule molecule; molecule.addAtom(6); molecule.addAtom(6); molecule.addAtom(8); molecule.addBond(molecule.atom(0), molecule.atom(1), 1); molecule.addBond(molecule.atom(1), molecule.atom(2), 1); RingPerceiver perceiver(&molecule); std::vector> rings = perceiver.rings(); EXPECT_EQ(rings.size(), static_cast(0)); } avogadrolibs-1.93.0/tests/core/spacegrouptest.cpp000066400000000000000000000511661360735163600221510ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include using Avogadro::Matrix3; using Avogadro::Vector3; using Avogadro::Core::AvoSpglib; using Avogadro::Core::Molecule; using Avogadro::Core::SpaceGroups; using Avogadro::Core::UnitCell; TEST(SpaceGroupTest, getSpaceGroup) { Molecule mol; // First, let's build rutile mol.setData("name", "TiO2 rutile"); Matrix3 mat; mat.col(0) = Vector3(2.95812, 0.00000, 0.00000); // A mat.col(1) = Vector3(0.00000, 4.59373, 0.00000); // B mat.col(2) = Vector3(0.00000, 0.00000, 4.59373); // C UnitCell* uc = new UnitCell(mat); mol.setUnitCell(uc); mol.addAtom(8).setPosition3d(uc->toCartesian(Vector3(0.0, 0.3053, 0.3053))); mol.addAtom(8).setPosition3d(uc->toCartesian(Vector3(0.0, 0.6947, 0.6947))); mol.addAtom(8).setPosition3d(uc->toCartesian(Vector3(0.5, 0.1947, 0.8053))); mol.addAtom(8).setPosition3d(uc->toCartesian(Vector3(0.5, 0.8053, 0.1947))); mol.addAtom(22).setPosition3d(uc->toCartesian(Vector3(0.0, 0.0, 0.0))); mol.addAtom(22).setPosition3d(uc->toCartesian(Vector3(0.5, 0.5, 0.5))); // Now let's find the space group of this crystal! double cartTol = 0.05; unsigned short hallNumber = AvoSpglib::getHallNumber(mol, cartTol); EXPECT_EQ(hallNumber, 419); unsigned short intNumber = SpaceGroups::internationalNumber(hallNumber); std::string schoenflies = SpaceGroups::schoenflies(hallNumber); std::string hallSymbol = SpaceGroups::hallSymbol(hallNumber); std::string intSymbol = SpaceGroups::internationalFull(hallNumber); EXPECT_EQ(intNumber, 136); EXPECT_EQ(schoenflies, std::string("D4h^14")); EXPECT_EQ(hallSymbol, std::string("-P 4n 2n")); EXPECT_EQ(intSymbol, std::string("P 4_2/m 2_1/n 2/m")); } // We're going to take a conventional cell, reduce it to the primitive form, // and check our results TEST(SpaceGroupTest, reduceToPrimitive) { // Let's build a primitive cell of corundum! Molecule primMol; Matrix3 primMat; primMat.col(0) = Vector3(5.12980369, 0.00000000, 0.00000000); // A primMat.col(1) = Vector3(2.92081932, 4.21707249, 0.00000000); // B primMat.col(2) = Vector3(2.92081932, 1.52998182, 3.92973995); // C UnitCell* primUC = new UnitCell(primMat); primMol.setUnitCell(primUC); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.94365, 0.55635, 0.25))); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.25000, 0.94365, 0.55635))); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.55635, 0.25000, 0.94365))); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.05635, 0.44365, 0.75000))); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.75000, 0.05635, 0.44365))); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.44365, 0.75000, 0.05635))); primMol.addAtom(13).setPosition3d( primUC->toCartesian(Vector3(0.35217, 0.35217, 0.35217))); primMol.addAtom(13).setPosition3d( primUC->toCartesian(Vector3(0.14783, 0.14783, 0.14783))); primMol.addAtom(13).setPosition3d( primUC->toCartesian(Vector3(0.64783, 0.64783, 0.64783))); primMol.addAtom(13).setPosition3d( primUC->toCartesian(Vector3(0.85217, 0.85217, 0.85217))); // Now, let's build a conventional cell of corundum Molecule convMol; Matrix3 convMat; convMat.col(0) = Vector3(4.76060000, 0.00000000, 0.00000000); // A convMat.col(1) = Vector3(-2.3803000, 4.12280054, 0.00000000); // B convMat.col(2) = Vector3(0.00000000, 0.00000000, 12.99400000); // C UnitCell* convUC = new UnitCell(convMat); convMol.setUnitCell(convUC); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.69365000, 0.00000000, 0.25000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.69365000, 0.25000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.30635000, 0.30635000, 0.25000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.30635000, 0.00000000, 0.75000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.30635000, 0.75000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.69365000, 0.69365000, 0.75000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.36031667, 0.33333333, 0.58333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.02698333, 0.58333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.97301667, 0.63968333, 0.58333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.97301667, 0.33333333, 0.08333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.63968333, 0.08333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.36031667, 0.02698333, 0.08333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.02698333, 0.66666667, 0.91666667))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.36031667, 0.91666667))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.63968333, 0.97301667, 0.91666667))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.63968333, 0.66666667, 0.41666667))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.97301667, 0.41666667))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.02698333, 0.36031667, 0.41666667))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.00000000, 0.35217000))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.00000000, 0.14783000))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.00000000, 0.64783000))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.00000000, 0.85217000))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.33333333, 0.68550333))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.33333333, 0.48116333))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.33333333, 0.98116333))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.33333333, 0.18550333))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.66666667, 0.01883667))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.66666667, 0.81449667))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.66666667, 0.31449667))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.66666667, 0.51883667))); // This should reduce the number of atoms in convMol to be // equivalent to that of the primitive corundum EXPECT_TRUE(AvoSpglib::reduceToPrimitive(convMol, 1e-5)); // Numbers of atoms and volumes should be equal ASSERT_EQ(convMol.atomCount(), primMol.atomCount()); // We compare volumes as floats instead of doubles to allow for a little bit // of a difference between them. ASSERT_FLOAT_EQ(convMol.unitCell()->volume(), primMol.unitCell()->volume()); } // We're going to take a primitive cell, conventionalize it, // and check our results TEST(SpaceGroupTest, conventionalizeCell) { // Let's build a primitive cell of corundum! Molecule primMol; Matrix3 primMat; primMat.col(0) = Vector3(5.12980369, 0.00000000, 0.00000000); // A primMat.col(1) = Vector3(2.92081932, 4.21707249, 0.00000000); // B primMat.col(2) = Vector3(2.92081932, 1.52998182, 3.92973995); // C UnitCell* primUC = new UnitCell(primMat); primMol.setUnitCell(primUC); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.94365, 0.55635, 0.25000))); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.25000, 0.94365, 0.55635))); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.55635, 0.25000, 0.94365))); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.05635, 0.44365, 0.75000))); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.75000, 0.05635, 0.44365))); primMol.addAtom(8).setPosition3d( primUC->toCartesian(Vector3(0.44365, 0.75000, 0.05635))); primMol.addAtom(13).setPosition3d( primUC->toCartesian(Vector3(0.35217, 0.35217, 0.35217))); primMol.addAtom(13).setPosition3d( primUC->toCartesian(Vector3(0.14783, 0.14783, 0.14783))); primMol.addAtom(13).setPosition3d( primUC->toCartesian(Vector3(0.64783, 0.64783, 0.64783))); primMol.addAtom(13).setPosition3d( primUC->toCartesian(Vector3(0.85217, 0.85217, 0.85217))); // Now, let's build a conventional cell of corundum Molecule convMol; Matrix3 convMat; convMat.col(0) = Vector3(4.76060000, 0.00000000, 0.00000000); // A convMat.col(1) = Vector3(-2.3803000, 4.12280054, 0.00000000); // B convMat.col(2) = Vector3(0.00000000, 0.00000000, 12.99400000); // C UnitCell* convUC = new UnitCell(convMat); convMol.setUnitCell(convUC); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.69365000, 0.00000000, 0.25000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.69365000, 0.25000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.30635000, 0.30635000, 0.25000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.30635000, 0.00000000, 0.75000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.30635000, 0.75000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.69365000, 0.69365000, 0.75000000))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.36031667, 0.33333333, 0.58333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.02698333, 0.58333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.97301667, 0.63968333, 0.58333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.97301667, 0.33333333, 0.08333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.63968333, 0.08333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.36031667, 0.02698333, 0.08333333))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.02698333, 0.66666667, 0.91666667))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.36031667, 0.91666667))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.63968333, 0.97301667, 0.91666667))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.63968333, 0.66666667, 0.41666667))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.97301667, 0.41666667))); convMol.addAtom(8).setPosition3d( convUC->toCartesian(Vector3(0.02698333, 0.36031667, 0.41666667))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.00000000, 0.35217000))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.00000000, 0.14783000))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.00000000, 0.64783000))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.00000000, 0.00000000, 0.85217000))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.33333333, 0.68550333))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.33333333, 0.48116333))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.33333333, 0.98116333))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.66666667, 0.33333333, 0.18550333))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.66666667, 0.01883667))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.66666667, 0.81449667))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.66666667, 0.31449667))); convMol.addAtom(13).setPosition3d( convUC->toCartesian(Vector3(0.33333333, 0.66666667, 0.51883667))); // This should increase the number of atoms in primMol to match // that of convMol EXPECT_TRUE(AvoSpglib::conventionalizeCell(primMol, 1e-5)); // Numbers of atoms and volumes should be identical ASSERT_EQ(convMol.atomCount(), primMol.atomCount()); // We compare volumes as floats instead of doubles to allow for a little bit // of a difference between them. ASSERT_FLOAT_EQ(convMol.unitCell()->volume(), primMol.unitCell()->volume()); } TEST(SpaceGroupTest, fillUnitCell) { double cartTol = 1e-5; // MgSiO3 - post-perovskite. Space group: Cmcm. Found in the mantle of the // earth. // http://crystallography.net/cod/9009217.html Molecule mol1; Matrix3 mat1; mat1.col(0) = Vector3(2.456, 0.000, 0.000); // A mat1.col(1) = Vector3(0.000, 8.042, 0.000); // B mat1.col(2) = Vector3(0.000, 0.000, 6.093); // C UnitCell* uc1 = new UnitCell(mat1); mol1.setUnitCell(uc1); mol1.addAtom(12).setPosition3d( uc1->toCartesian(Vector3(0.000, 0.253, 0.250))); mol1.addAtom(14).setPosition3d( uc1->toCartesian(Vector3(0.000, 0.000, 0.000))); mol1.addAtom(8).setPosition3d(uc1->toCartesian(Vector3(0.000, 0.923, 0.250))); mol1.addAtom(8).setPosition3d(uc1->toCartesian(Vector3(0.000, 0.631, 0.436))); // Now, let's perform a fillUnitCell. hallNumber 298 is Cmcm // International: 63 SpaceGroups::fillUnitCell(mol1, 298, cartTol); // It should now have a hall number of 298 unsigned short hallNumber1 = AvoSpglib::getHallNumber(mol1, cartTol); ASSERT_EQ(hallNumber1, 298); // It should now have 20 atoms ASSERT_EQ(mol1.atomCount(), 20); // CaMg(CO3)2 - dolomite. Space group: hexagonal R -3. It is a brittle // mineral found in limestones and other common places. // http://crystallography.net/cod/1517795.html Molecule mol2; Matrix3 mat2; mat2.col(0) = Vector3(4.808, 0.00000, 0.000); // A mat2.col(1) = Vector3(-2.404, 4.16385, 0.000); // B mat2.col(2) = Vector3(0.000, 0.00000, 16.022); // C UnitCell* uc2 = new UnitCell(mat2); mol2.setUnitCell(uc2); mol2.addAtom(20).setPosition3d( uc2->toCartesian(Vector3(0.0000, 0.0000, 0.0000))); mol2.addAtom(12).setPosition3d( uc2->toCartesian(Vector3(0.0000, 0.0000, 0.5000))); mol2.addAtom(6).setPosition3d( uc2->toCartesian(Vector3(0.0000, 0.0000, 0.24287))); mol2.addAtom(8).setPosition3d( uc2->toCartesian(Vector3(0.24796, 0.9653, 0.24402))); // Now, let's perform a fillUnitCell. hallNumber 436 is hexagonal R -3 // International: 148 SpaceGroups::fillUnitCell(mol2, 436, cartTol); // It should now have a hall number of 436 unsigned short hallNumber2 = AvoSpglib::getHallNumber(mol2, cartTol); ASSERT_EQ(hallNumber2, 436); // It should now have 30 atoms ASSERT_EQ(mol2.atomCount(), 30); // CaSiO3 - wollastonite. Space group: P -1. It is found in limestones // and other common minerals. Used in ceramics, brakes, clutches, // metalmaking, paint filler, and plastics. // http://crystallography.net/cod/9005777.html Molecule mol3; Matrix3 mat3; mat3.col(0) = Vector3(7.92580, 0.00000, 0.00000); // A mat3.col(1) = Vector3(-1.69967, 7.12014, 0.00000); // B mat3.col(2) = Vector3(-0.64243, -0.16033, 7.03420); // C UnitCell* uc3 = new UnitCell(mat3); mol3.setUnitCell(uc3); mol3.addAtom(20).setPosition3d( uc3->toCartesian(Vector3(0.198310, 0.42266, 0.76060))); mol3.addAtom(20).setPosition3d( uc3->toCartesian(Vector3(0.202410, 0.92919, 0.76401))); mol3.addAtom(20).setPosition3d( uc3->toCartesian(Vector3(0.503330, 0.75040, 0.52691))); mol3.addAtom(14).setPosition3d( uc3->toCartesian(Vector3(0.185100, 0.38750, 0.26840))); mol3.addAtom(14).setPosition3d( uc3->toCartesian(Vector3(0.184900, 0.95420, 0.26910))); mol3.addAtom(14).setPosition3d( uc3->toCartesian(Vector3(0.397300, 0.72360, 0.05610))); mol3.addAtom(8).setPosition3d( uc3->toCartesian(Vector3(0.303400, 0.46160, 0.46280))); mol3.addAtom(8).setPosition3d( uc3->toCartesian(Vector3(0.301400, 0.93850, 0.46410))); mol3.addAtom(8).setPosition3d( uc3->toCartesian(Vector3(0.570500, 0.76880, 0.19880))); mol3.addAtom(8).setPosition3d( uc3->toCartesian(Vector3(0.983200, 0.37390, 0.26550))); mol3.addAtom(8).setPosition3d( uc3->toCartesian(Vector3(0.981900, 0.86770, 0.26480))); mol3.addAtom(8).setPosition3d( uc3->toCartesian(Vector3(0.401800, 0.72660, 0.82960))); mol3.addAtom(8).setPosition3d( uc3->toCartesian(Vector3(0.218300, 0.17850, 0.22540))); mol3.addAtom(8).setPosition3d( uc3->toCartesian(Vector3(0.271300, 0.87040, 0.09380))); mol3.addAtom(8).setPosition3d( uc3->toCartesian(Vector3(0.273500, 0.51260, 0.09310))); // Now, let's perform a fillUnitCell. hallNumber 2 is hexagonal P -1 // International: 2 SpaceGroups::fillUnitCell(mol3, 2, cartTol); // It should now have a hall number of 2 unsigned short hallNumber3 = AvoSpglib::getHallNumber(mol3, cartTol); ASSERT_EQ(hallNumber3, 2); // It should now have 30 atoms ASSERT_EQ(mol3.atomCount(), 30); } TEST(SpaceGroupTest, reduceToAsymmetricUnit) { double cartTol = 1e-5; // Let's build rutile for the first test Molecule mol1; mol1.setData("name", "TiO2 rutile"); Matrix3 mat1; mat1.col(0) = Vector3(2.95812, 0.00000, 0.00000); // A mat1.col(1) = Vector3(0.00000, 4.59373, 0.00000); // B mat1.col(2) = Vector3(0.00000, 0.00000, 4.59373); // C UnitCell* uc1 = new UnitCell(mat1); mol1.setUnitCell(uc1); mol1.addAtom(8).setPosition3d(uc1->toCartesian(Vector3(0.0, 0.3053, 0.3053))); mol1.addAtom(8).setPosition3d(uc1->toCartesian(Vector3(0.0, 0.6947, 0.6947))); mol1.addAtom(8).setPosition3d(uc1->toCartesian(Vector3(0.5, 0.1947, 0.8053))); mol1.addAtom(8).setPosition3d(uc1->toCartesian(Vector3(0.5, 0.8053, 0.1947))); mol1.addAtom(22).setPosition3d(uc1->toCartesian(Vector3(0.0, 0.0, 0.0))); mol1.addAtom(22).setPosition3d(uc1->toCartesian(Vector3(0.5, 0.5, 0.5))); // This is space group international number 136 - the space group of rutile unsigned short hallNumber1 = 419; SpaceGroups::reduceToAsymmetricUnit(mol1, hallNumber1, cartTol); // There should now only be two atoms and two types: O and Ti ASSERT_EQ(mol1.atomCount(), 2); ASSERT_EQ(mol1.atomicNumbers().size(), 2); // Reducing a cell to its asymmetric unit is essentially the reverse of // filling a unit cell. So let's fill a unit cell, reduce it to its // asymmetric unit, and then check to see if it is back to its original state // CaMg(CO3)2 - dolomite. Space group: hexagonal R -3. It is a brittle // mineral found in limestones and other common places. // http://crystallography.net/cod/1517795.html Molecule mol2; Matrix3 mat2; mat2.col(0) = Vector3(4.808, 0.00000, 0.000); // A mat2.col(1) = Vector3(-2.404, 4.16385, 0.000); // B mat2.col(2) = Vector3(0.000, 0.00000, 16.022); // C UnitCell* uc2 = new UnitCell(mat2); mol2.setUnitCell(uc2); mol2.addAtom(20).setPosition3d( uc2->toCartesian(Vector3(0.0000, 0.0000, 0.0000))); mol2.addAtom(12).setPosition3d( uc2->toCartesian(Vector3(0.0000, 0.0000, 0.5000))); mol2.addAtom(6).setPosition3d( uc2->toCartesian(Vector3(0.0000, 0.0000, 0.24287))); mol2.addAtom(8).setPosition3d( uc2->toCartesian(Vector3(0.24796, 0.9653, 0.24402))); // Now, let's perform a fillUnitCell. hallNumber 436 is hexagonal R -3 // International: 148 SpaceGroups::fillUnitCell(mol2, 436, cartTol); // It should now have a hall number of 436 unsigned short hallNumber2 = AvoSpglib::getHallNumber(mol2, cartTol); ASSERT_EQ(hallNumber2, 436); // It should now have 30 atoms ASSERT_EQ(mol2.atomCount(), 30); // Now let's revert it back to its original state SpaceGroups::reduceToAsymmetricUnit(mol2, 436, cartTol); // It should have 4 atoms again and 4 atom types ASSERT_EQ(mol2.atomCount(), 4); ASSERT_EQ(mol2.atomicNumbers().size(), 4); } avogadrolibs-1.93.0/tests/core/unitcelltest.cpp000066400000000000000000000310201360735163600216030ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include using namespace Avogadro; using namespace Avogadro::Core; namespace { // use alpha, beta, gamma in degrees Molecule createCrystal(Real a, Real b, Real c, Real alpha, Real beta, Real gamma) { Molecule mol; mol.setUnitCell(new UnitCell); mol.unitCell()->setCellParameters(a, b, c, alpha * DEG_TO_RAD, beta * DEG_TO_RAD, gamma * DEG_TO_RAD); return mol; } // use alpha, beta, gamma in degrees bool checkParams(const UnitCell& cell, Real a, Real b, Real c, Real alpha, Real beta, Real gamma) { Real aRad = alpha * DEG_TO_RAD; Real bRad = beta * DEG_TO_RAD; Real gRad = gamma * DEG_TO_RAD; if (std::fabs(cell.a() - a) > 1e-3 || std::fabs(cell.b() - b) > 1e-3 || std::fabs(cell.c() - c) > 1e-3 || std::fabs(cell.alpha() - aRad) > 1e-3 || std::fabs(cell.beta() - bRad) > 1e-3 || std::fabs(cell.gamma() - gRad) > 1e-3) { std::cerr << "Actual cell: " << "a=" << cell.a() << " " << "b=" << cell.b() << " " << "c=" << cell.c() << " " << "alpha=" << cell.alpha() * RAD_TO_DEG << " " << "beta=" << cell.beta() * RAD_TO_DEG << " " << "gamma=" << cell.gamma() * RAD_TO_DEG << std::endl; return false; } return true; } } TEST(UnitCellTest, cellParameters) { Real a = static_cast(2.0); Real b = static_cast(3.0); Real c = static_cast(4.0); Real alpha = static_cast(70 * DEG_TO_RAD); Real beta = static_cast(120 * DEG_TO_RAD); Real gamma = static_cast(85 * DEG_TO_RAD); UnitCell unitCell; unitCell.setCellParameters(a, b, c, alpha, beta, gamma); EXPECT_FLOAT_EQ(static_cast(a), static_cast(unitCell.a())); EXPECT_FLOAT_EQ(static_cast(b), static_cast(unitCell.b())); EXPECT_FLOAT_EQ(static_cast(c), static_cast(unitCell.c())); EXPECT_FLOAT_EQ(static_cast(alpha), static_cast(unitCell.alpha())); EXPECT_FLOAT_EQ(static_cast(beta), static_cast(unitCell.beta())); EXPECT_FLOAT_EQ(static_cast(gamma), static_cast(unitCell.gamma())); } TEST(UnitCellTest, niggliReduce_G1973) { // Test from Gruber 1973 Molecule mol = createCrystal(static_cast(2.0), static_cast(11.661904), static_cast(8.7177979), static_cast(139.66731), static_cast(152.74610), static_cast(19.396626)); EXPECT_FALSE(CrystalTools::isNiggliReduced(mol)); EXPECT_TRUE(CrystalTools::niggliReduce(mol)); EXPECT_TRUE(CrystalTools::isNiggliReduced(mol)); EXPECT_TRUE( checkParams(*mol.unitCell(), static_cast(2.0), static_cast(4.0), static_cast(4.0), static_cast(60.0000), static_cast(79.1931), static_cast(75.5225))); } TEST(UnitCellTest, niggliReduce_GK1976) { // Test from Gruber-Krivy 1976 Molecule mol = createCrystal(static_cast(3.0), static_cast(5.1961524), static_cast(2.0), static_cast(103.91975), static_cast(109.47122), static_cast(134.88211)); EXPECT_FALSE(CrystalTools::isNiggliReduced(mol)); EXPECT_TRUE(CrystalTools::niggliReduce(mol)); EXPECT_TRUE(CrystalTools::isNiggliReduced(mol)); EXPECT_TRUE( checkParams(*mol.unitCell(), static_cast(2.0), static_cast(3.0), static_cast(3.0), static_cast(60.0000), static_cast(75.5225), static_cast(70.5288))); } // For the rotate test, just make sure that the cell parameters are the same // before and after the rotation. #define RTSO_INIT \ Real a, b, c, alpha, beta, gamma; \ Matrix3 mat; \ Molecule mol #define RTSO_DO_TEST \ a = mol.unitCell()->a(); \ b = mol.unitCell()->b(); \ c = mol.unitCell()->c(); \ alpha = mol.unitCell()->alpha(); \ beta = mol.unitCell()->beta(); \ gamma = mol.unitCell()->gamma(); \ EXPECT_TRUE(CrystalTools::rotateToStandardOrientation(mol)); \ EXPECT_FLOAT_EQ(static_cast(a), \ static_cast(mol.unitCell()->a())); \ EXPECT_FLOAT_EQ(static_cast(b), \ static_cast(mol.unitCell()->b())); \ EXPECT_FLOAT_EQ(static_cast(c), \ static_cast(mol.unitCell()->c())); \ EXPECT_FLOAT_EQ(static_cast(alpha), \ static_cast(mol.unitCell()->alpha())); \ EXPECT_FLOAT_EQ(static_cast(beta), \ static_cast(mol.unitCell()->beta())); \ EXPECT_FLOAT_EQ(static_cast(gamma), \ static_cast(mol.unitCell()->gamma())) #define RTSO_TEST_PARAMS(a_, b_, c_, alpha_, beta_, gamma_) \ mol = createCrystal(static_cast(a_), static_cast(b_), \ static_cast(c_), static_cast(alpha_), \ static_cast(beta_), static_cast(gamma_)); \ RTSO_DO_TEST #define RTSO_TEST_MATRIX(v1x, v1y, v1z, v2x, v2y, v2z, v3x, v3y, v3z) \ mat.col(0) = Vector3(static_cast(v1x), static_cast(v1y), \ static_cast(v1z)); \ mat.col(1) = Vector3(static_cast(v2x), static_cast(v2y), \ static_cast(v2z)); \ mat.col(2) = Vector3(static_cast(v3x), static_cast(v3y), \ static_cast(v3z)); \ CrystalTools::setCellMatrix(mol, mat); \ RTSO_DO_TEST TEST(UnitCellTest, rotateToStandardOrientation) { RTSO_INIT; RTSO_TEST_PARAMS(3, 3, 3, 90, 90, 90); RTSO_TEST_PARAMS(3, 3, 3, 70, 90, 80); RTSO_TEST_PARAMS(3, 3, 3, 120, 123, 100); RTSO_TEST_PARAMS(4, 3, 1, 75.44444, 68.33333, 123.15682); RTSO_TEST_MATRIX(1, -4, 3, 0, 5, -8, 0, 0, -3); RTSO_TEST_MATRIX(1, 3, 6, -4, 5, -1, 3, -8, -3); } TEST(UnitCellTest, setVolume) { Molecule mol = createCrystal( static_cast(3.0), static_cast(3.0), static_cast(3.0), static_cast(90.0), static_cast(120.0), static_cast(77.0)); EXPECT_TRUE(CrystalTools::setVolume(mol, static_cast(1.0))); EXPECT_FLOAT_EQ(1.f, static_cast(mol.unitCell()->volume())); EXPECT_FLOAT_EQ(90.f, static_cast(mol.unitCell()->alpha() * RAD_TO_DEG)); EXPECT_FLOAT_EQ(120.f, static_cast(mol.unitCell()->beta() * RAD_TO_DEG)); EXPECT_FLOAT_EQ(77.f, static_cast(mol.unitCell()->gamma() * RAD_TO_DEG)); } TEST(UnitCellTest, fractionalCoordinates) { Molecule mol = createCrystal( static_cast(3.0), static_cast(4.0), static_cast(5.0), static_cast(90.0), static_cast(120.0), static_cast(77.0)); mol.addAtom(1).setPosition3d( Vector3(static_cast(0), static_cast(0), static_cast(0))); mol.addAtom(1).setPosition3d(Vector3(static_cast(0.7), static_cast(2.23733), static_cast(2.14574))); mol.addAtom(1).setPosition3d(Vector3(static_cast(2.07490), static_cast(2.09303), static_cast(1.07287))); mol.addAtom(1).setPosition3d( Vector3(static_cast(3), static_cast(0), static_cast(0))); mol.addAtom(1).setPosition3d(Vector3(static_cast(0.89980), static_cast(3.89748), static_cast(0))); mol.addAtom(1).setPosition3d(Vector3(static_cast(-2.5), static_cast(0.57717), static_cast(4.29149))); Array ccoords_ref = mol.atomPositions3d(); Array fcoords; EXPECT_TRUE(CrystalTools::fractionalCoordinates(mol, fcoords)); EXPECT_EQ(mol.atomCount(), fcoords.size()); EXPECT_TRUE(std::fabs(fcoords[0][0] - static_cast(0)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[0][1] - static_cast(0)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[0][2] - static_cast(0)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[1][0] - static_cast(0.5)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[1][1] - static_cast(0.5)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[1][2] - static_cast(0.5)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[2][0] - static_cast(0.75)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[2][1] - static_cast(0.5)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[2][2] - static_cast(0.25)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[3][0] - static_cast(1)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[3][1] - static_cast(0)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[3][2] - static_cast(0)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[4][0] - static_cast(0)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[4][1] - static_cast(1)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[4][2] - static_cast(0)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[5][0] - static_cast(0)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[5][1] - static_cast(0)) < 1e-4); EXPECT_TRUE(std::fabs(fcoords[5][2] - static_cast(1)) < 1e-4); mol.atomPositions3d().clear(); EXPECT_TRUE(CrystalTools::setFractionalCoordinates(mol, fcoords)); Array ccoords = mol.atomPositions3d(); for (int i = 0; i < 6; ++i) { for (int j = 0; j < 3; ++j) { EXPECT_FLOAT_EQ(static_cast(ccoords_ref[i][j]), static_cast(ccoords[i][j])) << " (i=" << i << "j=" << j << ")"; } } } TEST(UnitCellTest, wrapAtomsToUnitCell) { Molecule mol = createCrystal( static_cast(3.0), static_cast(4.0), static_cast(5.0), static_cast(90.0), static_cast(120.0), static_cast(77.0)); for (int i = 0; i < 10; ++i) mol.addAtom(1).setPosition3d(Vector3::Zero()); Array fcoords; for (int i = 0; i < 10; ++i) { fcoords.push_back(Vector3(static_cast(i + i / 10.), static_cast(i + 2 * i / 10.), static_cast(i + 3 * i / 10.))); } EXPECT_TRUE(CrystalTools::setFractionalCoordinates(mol, fcoords)); EXPECT_TRUE(CrystalTools::wrapAtomsToUnitCell(mol)); fcoords.clear(); EXPECT_TRUE(CrystalTools::fractionalCoordinates(mol, fcoords)); for (std::vector::const_iterator it = fcoords.begin(), itEnd = fcoords.end(); it != itEnd; ++it) { EXPECT_GE(it->x(), static_cast(0.0)); EXPECT_LE(it->x(), static_cast(1.0)); EXPECT_GE(it->y(), static_cast(0.0)); EXPECT_LE(it->y(), static_cast(1.0)); EXPECT_GE(it->z(), static_cast(0.0)); EXPECT_LE(it->z(), static_cast(1.0)); } } avogadrolibs-1.93.0/tests/core/utilitiestest.cpp000066400000000000000000000042051360735163600220040ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include using std::string; using Avogadro::Core::contains; using Avogadro::Core::lexicalCast; using Avogadro::Core::split; using Avogadro::Core::startsWith; using Avogadro::Core::trimmed; TEST(UtilitiesTest, split) { string test(" trim white space "); EXPECT_EQ(split(test, ' ').size(), 3); } TEST(UtilitiesTest, splitEmpty) { string test(" trim white space "); EXPECT_EQ(split(test, ' ', false).size(), 7); } TEST(UtilitiesTest, trimmed) { string test(" trim white space \n\t\r"); EXPECT_EQ(trimmed(test), "trim white space"); EXPECT_EQ(trimmed("test"), "test"); EXPECT_EQ(trimmed("H"), "H"); EXPECT_EQ(trimmed(" H"), "H"); EXPECT_EQ(trimmed("H "), "H"); EXPECT_EQ(trimmed(" H "), "H"); } TEST(UtilitiesTest, lexicalCast) { EXPECT_EQ(lexicalCast("5"), 5); EXPECT_EQ(lexicalCast("5.3"), 5.3); EXPECT_EQ(lexicalCast("5.3E-10"), 5.3e-10); } TEST(UtilitiesTest, lexicalCastCheck) { // Something simple that should pass. bool ok(false); lexicalCast("5", ok); EXPECT_EQ(ok, true); // Pass something in that should fail. lexicalCast("five", ok); EXPECT_EQ(ok, false); } TEST(UtilitiesTest, contains) { EXPECT_TRUE(contains("hasFoo", "has")); EXPECT_TRUE(contains("hasFoo", "Foo")); EXPECT_FALSE(contains("hasFoo", "bar")); } TEST(UtilitiesTest, startsWith) { EXPECT_TRUE(startsWith("hasFoo", "has")); EXPECT_FALSE(startsWith("hasFoo", "Foo")); EXPECT_FALSE(startsWith("hasFoo", "bar")); } avogadrolibs-1.93.0/tests/core/utils.h000066400000000000000000000032711360735163600177000ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include void assertEqual(const Avogadro::Core::Molecule& m1, const Avogadro::Core::Molecule& m2) { EXPECT_EQ(m1.atomCount(), m2.atomCount()); EXPECT_TRUE(m1.atomicNumbers() == m2.atomicNumbers()); EXPECT_TRUE(m1.atomPositions2d() == m2.atomPositions2d()); EXPECT_TRUE(m1.atomPositions3d() == m2.atomPositions3d()); EXPECT_EQ(m1.data("test").toString(), m2.data("test").toString()); EXPECT_TRUE(m1.bondPairs() == m2.bondPairs()); EXPECT_TRUE(m1.bondOrders() == m2.bondOrders()); EXPECT_EQ(m1.meshCount(), m2.meshCount()); for (size_t i = 0; i < m1.meshCount(); i++) { const Avogadro::Core::Mesh* mesh1 = m1.mesh(i); const Avogadro::Core::Mesh* mesh2 = m2.mesh(i); EXPECT_TRUE(mesh1->vertices() == mesh2->vertices()); EXPECT_TRUE(mesh1->normals() == mesh2->vertices()); EXPECT_EQ(mesh1->name(), mesh2->name()); EXPECT_EQ(mesh1->isoValue(), mesh2->isoValue()); } } avogadrolibs-1.93.0/tests/core/variantmaptest.cpp000066400000000000000000000021471360735163600221360ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include using Avogadro::Core::VariantMap; TEST(VariantMapTest, size) { VariantMap map; EXPECT_EQ(map.size(), static_cast(0)); } TEST(VariantMapTest, isEmpty) { VariantMap map; EXPECT_EQ(map.isEmpty(), true); map.setValue("value1", 1); EXPECT_EQ(map.isEmpty(), false); EXPECT_EQ(map.hasValue("value1"), true); EXPECT_EQ(map.hasValue("value2"), false); EXPECT_EQ(map.value("value1").toInt(), 1); } avogadrolibs-1.93.0/tests/core/varianttest.cpp000066400000000000000000000073011360735163600214350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2011-2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include using Avogadro::MatrixX; using Avogadro::Core::Variant; TEST(VariantTest, isNull) { Variant variant; EXPECT_EQ(variant.isNull(), true); variant.setValue(7); EXPECT_EQ(variant.isNull(), false); } TEST(VariantTest, clear) { Variant variant(62); EXPECT_EQ(variant.isNull(), false); variant.clear(); EXPECT_EQ(variant.isNull(), true); variant.setValue('f'); EXPECT_EQ(variant.isNull(), false); variant.clear(); EXPECT_EQ(variant.isNull(), true); } TEST(VariantTest, toBool) { Variant variant(false); EXPECT_EQ(variant.toBool(), false); variant.setValue(true); EXPECT_EQ(variant.toBool(), true); variant.setValue(0); EXPECT_EQ(variant.toBool(), false); variant.setValue(1); EXPECT_EQ(variant.toBool(), true); variant.setValue(-5); EXPECT_EQ(variant.toBool(), true); } TEST(VariantTest, toChar) { Variant variant('c'); EXPECT_EQ(variant.toChar(), 'c'); variant.setValue("hello"); EXPECT_EQ(variant.toChar(), 'h'); } TEST(VariantTest, toShort) { Variant variant(short(4)); EXPECT_EQ(variant.toShort(), short(4)); } TEST(VariantTest, toInt) { Variant variant(12); EXPECT_EQ(variant.toInt(), int(12)); variant.setValue(-23); EXPECT_EQ(variant.toInt(), int(-23)); variant.setValue("42"); EXPECT_EQ(variant.toInt(), int(42)); variant.setValue(true); EXPECT_EQ(variant.toInt(), int(1)); variant.setValue(false); EXPECT_EQ(variant.toInt(), int(0)); } TEST(VariantTest, toLong) { Variant variant(192L); EXPECT_EQ(variant.toLong(), 192L); variant.setValue(7); EXPECT_EQ(variant.toLong(), 7L); variant.setValue("562"); EXPECT_EQ(variant.toLong(), 562L); } TEST(VariantTest, toFloat) { Variant variant(12.3f); EXPECT_EQ(variant.toFloat(), 12.3f); } TEST(VariantTest, toDouble) { Variant variant(3.14); EXPECT_EQ(variant.toDouble(), 3.14); } TEST(VariantTest, toPointer) { int value; void* pointer = &value; Variant variant(pointer); EXPECT_EQ(variant.toPointer(), pointer); } TEST(VariantTest, toString) { Variant variant("hello"); EXPECT_EQ(variant.toString(), std::string("hello")); variant.setValue(12); EXPECT_EQ(variant.toString(), std::string("12")); variant.setValue(std::string("hello2")); EXPECT_EQ(variant.toString(), std::string("hello2")); } TEST(VariantTest, toMatrix) { MatrixX matrix(6, 7); for (int row = 0; row < matrix.rows(); ++row) { for (int col = 0; col < matrix.cols(); ++col) { matrix(row, col) = 2 * row + col / static_cast(matrix.cols()); } } Variant variant(matrix); const MatrixX& varMatrix = variant.toMatrixRef(); ASSERT_EQ(matrix.rows(), varMatrix.rows()) << "Number of rows don't match after variant-matrix conversion!"; ASSERT_EQ(matrix.cols(), varMatrix.cols()) << "Number of columns don't match after variant-matrix conversion!"; for (int row = 0; row < matrix.rows(); ++row) { for (int col = 0; col < matrix.cols(); ++col) { EXPECT_EQ(matrix(row, col), varMatrix(row, col)) << "Value mismatch at " << row << ", " << col << "!"; } } } avogadrolibs-1.93.0/tests/io/000077500000000000000000000000001360735163600160435ustar00rootroot00000000000000avogadrolibs-1.93.0/tests/io/CMakeLists.txt000066400000000000000000000024451360735163600206100ustar00rootroot00000000000000# Specify the name of each test (the Test will be appended where needed). set(tests Cjson Cml FileFormatManager Lammps Mdl Vasp Xyz ) if(USE_HDF5) list(APPEND tests Hdf5) endif() if(USE_MMTF) list(APPEND tests MMTF) endif() include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${AvogadroLibs_BINARY_DIR}/avogadro/io") if(AVOGADRO_DATA_ROOT) set(AVOGADRO_DATA ${AVOGADRO_DATA_ROOT}) else() message("No data root found, please set to run the tests.") return() endif() configure_file("${CMAKE_CURRENT_SOURCE_DIR}/iotests.h.in" "${CMAKE_CURRENT_BINARY_DIR}/iotests.h" @ONLY) # Build up the source file names. set(testSrcs "") foreach(TestName ${tests}) message(STATUS "Adding ${TestName} test.") string(TOLOWER ${TestName} testname) list(APPEND testSrcs ${testname}test.cpp) endforeach() message(STATUS "Test source files: ${testSrcs}") # Add a single executable for all of our tests. add_executable(AvogadroIOTests ${testSrcs}) target_link_libraries(AvogadroIOTests AvogadroIO ${GTEST_BOTH_LIBRARIES} ${EXTRA_LINK_LIB}) # Now add all of the tests, using the gtest_filter argument so that only those # cases are run in each test invocation. foreach(TestName ${tests}) add_test(NAME "Io-${TestName}" COMMAND AvogadroIOTests "--gtest_filter=${TestName}Test.*") endforeach() avogadrolibs-1.93.0/tests/io/cjsontest.cpp000066400000000000000000000151521360735163600205670ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "iotests.h" #include #include #include #include #include using Avogadro::PI_F; using Avogadro::Real; using Avogadro::Core::Atom; using Avogadro::Core::Bond; using Avogadro::Core::Molecule; using Avogadro::Core::UnitCell; using Avogadro::Core::Variant; using Avogadro::Io::CjsonFormat; using Avogadro::MatrixX; TEST(CjsonTest, readFile) { CjsonFormat cjson; Molecule molecule; bool success = cjson.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cjson", molecule); EXPECT_TRUE(success); EXPECT_EQ(cjson.error(), ""); EXPECT_EQ(molecule.data("name").type(), Variant::String); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.data("inchi").type(), Variant::String); EXPECT_EQ(molecule.data("inchi").toString(), "1/C2H6/c1-2/h1-2H3"); } TEST(CjsonTest, atoms) { CjsonFormat cjson; Molecule molecule; bool success = cjson.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cjson", molecule); EXPECT_TRUE(success); EXPECT_EQ(cjson.error(), ""); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.atomCount(), static_cast(8)); Atom atom = molecule.atom(0); EXPECT_EQ(atom.atomicNumber(), static_cast(1)); atom = molecule.atom(1); EXPECT_EQ(atom.atomicNumber(), static_cast(6)); EXPECT_EQ(atom.position3d().x(), 0.751621); EXPECT_EQ(atom.position3d().y(), -0.022441); EXPECT_EQ(atom.position3d().z(), -0.020839); atom = molecule.atom(7); EXPECT_EQ(atom.atomicNumber(), static_cast(1)); EXPECT_EQ(atom.position3d().x(), -1.184988); EXPECT_EQ(atom.position3d().y(), 0.004424); EXPECT_EQ(atom.position3d().z(), -0.987522); } TEST(CjsonTest, bonds) { CjsonFormat cjson; Molecule molecule; bool success = cjson.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cjson", molecule); EXPECT_TRUE(success); EXPECT_EQ(cjson.error(), ""); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.atomCount(), static_cast(8)); EXPECT_EQ(molecule.bondCount(), static_cast(7)); Bond bond = molecule.bond(0); EXPECT_EQ(bond.atom1().index(), static_cast(0)); EXPECT_EQ(bond.atom2().index(), static_cast(1)); EXPECT_EQ(bond.order(), static_cast(1)); bond = molecule.bond(6); EXPECT_EQ(bond.atom1().index(), static_cast(4)); EXPECT_EQ(bond.atom2().index(), static_cast(7)); EXPECT_EQ(bond.order(), static_cast(1)); } TEST(CjsonTest, crystal) { CjsonFormat cjson; Molecule molecule; bool success = cjson.readFile(std::string(AVOGADRO_DATA) + "/data/rutile.cjson", molecule); EXPECT_TRUE(success); EXPECT_EQ(cjson.error(), ""); EXPECT_EQ(molecule.data("name").toString(), "TiO2 rutile"); EXPECT_EQ(molecule.atomCount(), static_cast(6)); EXPECT_EQ(molecule.bondCount(), static_cast(0)); const UnitCell* unitCell = molecule.unitCell(); ASSERT_NE(unitCell, (UnitCell*)nullptr); EXPECT_TRUE(std::fabs((float)unitCell->a() - 2.95812f) < 1e-5f); EXPECT_TRUE(std::fabs((float)unitCell->b() - 4.59373f) < 1e-5f); EXPECT_TRUE(std::fabs((float)unitCell->c() - 4.59373f) < 1e-5f); EXPECT_TRUE(std::fabs((float)unitCell->alpha() - (.5f * PI_F)) < 1e-5f); EXPECT_TRUE(std::fabs((float)unitCell->beta() - (.5f * PI_F)) < 1e-5f); EXPECT_TRUE(std::fabs((float)unitCell->gamma() - (.5f * PI_F)) < 1e-5f); Atom atom = molecule.atom(5); EXPECT_EQ(atom.atomicNumber(), 8); EXPECT_TRUE(std::fabs((float)atom.position3d().x() - 1.479060f) < 1e-5f); EXPECT_TRUE(std::fabs((float)atom.position3d().y() - 3.699331f) < 1e-5f); EXPECT_TRUE(std::fabs((float)atom.position3d().z() - 0.894399f) < 1e-5f); std::string cjsonStr; cjson.writeString(cjsonStr, molecule); Molecule otherMolecule; cjson.readString(cjsonStr, otherMolecule); const UnitCell* otherUnitCell = otherMolecule.unitCell(); ASSERT_NE(otherUnitCell, (UnitCell*)nullptr); EXPECT_FLOAT_EQ((float)otherUnitCell->a(), (float)unitCell->a()); EXPECT_FLOAT_EQ((float)otherUnitCell->b(), (float)unitCell->b()); EXPECT_FLOAT_EQ((float)otherUnitCell->c(), (float)unitCell->c()); EXPECT_FLOAT_EQ((float)otherUnitCell->alpha(), (float)unitCell->alpha()); EXPECT_FLOAT_EQ((float)otherUnitCell->beta(), (float)unitCell->beta()); EXPECT_FLOAT_EQ((float)otherUnitCell->gamma(), (float)unitCell->gamma()); Atom otherAtom = otherMolecule.atom(5); EXPECT_EQ(otherAtom.atomicNumber(), atom.atomicNumber()); EXPECT_FLOAT_EQ((float)otherAtom.position3d().x(), (float)atom.position3d().x()); EXPECT_FLOAT_EQ((float)otherAtom.position3d().y(), (float)atom.position3d().y()); EXPECT_FLOAT_EQ((float)otherAtom.position3d().z(), (float)atom.position3d().z()); } TEST(CjsonTest, saveFile) { CjsonFormat cjson; Molecule savedMolecule, molecule; bool success = cjson.readFile( std::string(AVOGADRO_DATA) + "/data/ethane.cjson", savedMolecule); EXPECT_TRUE(success); EXPECT_EQ(cjson.error(), ""); success = cjson.writeFile("ethanetmp.cjson", savedMolecule); EXPECT_TRUE(success); EXPECT_EQ(cjson.error(), ""); // Now read the file back in and check a few key values are still present. success = cjson.readFile("ethanetmp.cjson", molecule); EXPECT_TRUE(success); EXPECT_EQ(cjson.error(), ""); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.atomCount(), static_cast(8)); EXPECT_EQ(molecule.bondCount(), static_cast(7)); Atom atom = molecule.atom(7); EXPECT_EQ(atom.atomicNumber(), static_cast(1)); EXPECT_EQ(atom.position3d().x(), -1.184988); EXPECT_EQ(atom.position3d().y(), 0.004424); EXPECT_EQ(atom.position3d().z(), -0.987522); Bond bond = molecule.bond(0); EXPECT_EQ(bond.atom1().index(), static_cast(0)); EXPECT_EQ(bond.atom2().index(), static_cast(1)); EXPECT_EQ(bond.order(), static_cast(1)); } avogadrolibs-1.93.0/tests/io/cmltest.cpp000066400000000000000000000171371360735163600202330ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "iotests.h" #include #include #include #include #include using Avogadro::Core::Molecule; using Avogadro::Core::Atom; using Avogadro::Core::Bond; using Avogadro::Core::Variant; using Avogadro::Io::CmlFormat; using Avogadro::MatrixX; using Avogadro::Real; using Avogadro::Vector3; TEST(CmlTest, readFile) { CmlFormat cml; Molecule molecule; cml.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cml", molecule); EXPECT_EQ(molecule.data("name").type(), Variant::String); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.data("inchi").type(), Variant::String); EXPECT_EQ(molecule.data("inchi").toString(), "1/C2H6/c1-2/h1-2H3"); } TEST(CmlTest, atoms) { CmlFormat cml; Molecule molecule; cml.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cml", molecule); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.atomCount(), static_cast(8)); Atom atom = molecule.atom(0); EXPECT_EQ(atom.atomicNumber(), static_cast(1)); atom = molecule.atom(1); EXPECT_EQ(atom.atomicNumber(), static_cast(6)); EXPECT_EQ(atom.position3d().x(), 0.751621); EXPECT_EQ(atom.position3d().y(), -0.022441); EXPECT_EQ(atom.position3d().z(), -0.020839); atom = molecule.atom(7); EXPECT_EQ(atom.atomicNumber(), static_cast(1)); EXPECT_EQ(atom.position3d().x(), -1.184988); EXPECT_EQ(atom.position3d().y(), 0.004424); EXPECT_EQ(atom.position3d().z(), -0.987522); } TEST(CmlTest, bonds) { CmlFormat cml; Molecule molecule; cml.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cml", molecule); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.atomCount(), static_cast(8)); EXPECT_EQ(molecule.bondCount(), static_cast(7)); Bond bond = molecule.bond(0); EXPECT_EQ(bond.atom1().index(), static_cast(0)); EXPECT_EQ(bond.atom2().index(), static_cast(1)); EXPECT_EQ(bond.order(), static_cast(1)); bond = molecule.bond(6); EXPECT_EQ(bond.atom1().index(), static_cast(4)); EXPECT_EQ(bond.atom2().index(), static_cast(7)); EXPECT_EQ(bond.order(), static_cast(1)); } TEST(CmlTest, fractionalCoords) { std::string cmlStr( "" "" "" "5.3" "2.4" "1.8" "85.000000" "90.000000" "105.000000" "" "" "" "" ""); CmlFormat cml; Molecule molecule; cml.readString(cmlStr, molecule); ASSERT_EQ(1, molecule.atomCount()); Atom atom = molecule.atom(0); EXPECT_EQ(1, atom.atomicNumber()); EXPECT_TRUE(atom.position3d().isApprox(Vector3(static_cast(2.33942), static_cast(1.24032), static_cast(0.89633)), 1e-5)); cmlStr.clear(); cml.writeString(cmlStr, molecule); std::cout << cmlStr << std::endl; EXPECT_TRUE(cmlStr.find("5.3" "") != std::string::npos); EXPECT_TRUE(cmlStr.find("2.4" "") != std::string::npos); EXPECT_TRUE(cmlStr.find("1.8" "") != std::string::npos); EXPECT_TRUE(cmlStr.find("85" "") != std::string::npos); EXPECT_TRUE(cmlStr.find("90" "") != std::string::npos); EXPECT_TRUE(cmlStr.find("105" "") != std::string::npos); EXPECT_TRUE(cmlStr.find("xFract=\"0.5\"") != std::string::npos); EXPECT_TRUE(cmlStr.find("yFract=\"0.5\"") != std::string::npos); EXPECT_TRUE(cmlStr.find("zFract=\"0.5\"") != std::string::npos); } TEST(CmlTest, saveFile) { CmlFormat cml; Molecule readMol, writeMol; cml.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cml", readMol); cml.writeFile("ethanetmp.cml", readMol); // Now read the file back in and check a few key values are still present. cml.readFile("ethanetmp.cml", writeMol); EXPECT_EQ(writeMol.data("name").toString(), "Ethane"); EXPECT_EQ(writeMol.atomCount(), static_cast(8)); EXPECT_EQ(writeMol.bondCount(), static_cast(7)); Atom atom = writeMol.atom(7); EXPECT_EQ(atom.atomicNumber(), static_cast(1)); EXPECT_EQ(atom.position3d().x(), -1.18499); EXPECT_EQ(atom.position3d().y(), 0.004424); EXPECT_EQ(atom.position3d().z(), -0.987522); Bond bond = writeMol.bond(0); EXPECT_EQ(bond.atom1().index(), static_cast(0)); EXPECT_EQ(bond.atom2().index(), static_cast(1)); EXPECT_EQ(bond.order(), static_cast(1)); } TEST(CmlTest, hdf5Matrix) { CmlFormat cml; Molecule molecule; cml.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cml", molecule); molecule.setData("name", "ethanol"); MatrixX matrix(10, 12); for (int row = 0; row < matrix.rows(); ++row) for (int col = 0; col < matrix.cols(); ++col) matrix(row, col) = row + col / static_cast(matrix.cols()); molecule.setData("matrix", matrix); cml.writeFile("ethane.cml", molecule); Molecule readMolecule; cml.readFile("ethane.cml", readMolecule); if (readMolecule.data("matrix").type() == Variant::Matrix) EXPECT_TRUE(readMolecule.data("matrix").toMatrixRef().isApprox(matrix)); EXPECT_EQ(readMolecule.data("name").toString(), std::string("ethanol")); } TEST(CmlTest, writeString) { CmlFormat cml; Molecule molecule; EXPECT_EQ( cml.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cml", molecule), true); std::string file; EXPECT_EQ(cml.writeString(file, molecule), true); } TEST(CmlTest, readString) { CmlFormat cml; Molecule molecule; EXPECT_EQ( cml.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cml", molecule), true); std::string file; EXPECT_EQ(cml.writeString(file, molecule), true); Molecule moleculeFromString; EXPECT_EQ(cml.readString(file, moleculeFromString), true); EXPECT_EQ(moleculeFromString.data("name").toString(), "Ethane"); EXPECT_EQ(moleculeFromString.atomCount(), static_cast(8)); EXPECT_EQ(moleculeFromString.bondCount(), static_cast(7)); } avogadrolibs-1.93.0/tests/io/fileformatmanagertest.cpp000066400000000000000000000221041360735163600231310ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "iotests.h" #include #include #include #include using Avogadro::Core::Molecule; using Avogadro::Core::Atom; using Avogadro::Core::Bond; using Avogadro::Core::Variant; using Avogadro::Io::FileFormat; using Avogadro::Io::FileFormatManager; TEST(FileFormatManagerTest, readFile) { FileFormat* format = FileFormatManager::instance().newFormatFromIdentifier("Avogadro: CML"); EXPECT_TRUE(format != nullptr); if (!format) return; Molecule molecule; format->readFile(std::string(AVOGADRO_DATA) + "/data/ethane.cml", molecule); delete format; format = nullptr; EXPECT_EQ(molecule.data("name").type(), Variant::String); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.data("inchi").type(), Variant::String); EXPECT_EQ(molecule.data("inchi").toString(), "1/C2H6/c1-2/h1-2H3"); } TEST(FileFormatManagerTest, identifiers) { std::vector ids = FileFormatManager::instance().identifiers(); std::cout << "FileFormatManager has loaded " << ids.size() << " formats.\n"; for (size_t i = 0; i < ids.size(); ++i) std::cout << i << ": " << ids[i] << std::endl; std::vector mimes = FileFormatManager::instance().mimeTypes(); std::cout << "\nMIME types supported:\n"; for (size_t i = 0; i < mimes.size(); ++i) std::cout << "\t" << mimes[i] << std::endl; std::vector extensions = FileFormatManager::instance().fileExtensions(); std::cout << "\nFile extensions supported:\n"; for (size_t i = 0; i < extensions.size(); ++i) std::cout << "\t" << extensions[i] << std::endl; } TEST(FileFormatManagerTest, readFileGuessCml) { Molecule molecule; FileFormatManager::instance().readFile(molecule, std::string(AVOGADRO_DATA) + "/data/ethane.cml"); EXPECT_EQ(molecule.data("name").type(), Variant::String); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.data("inchi").type(), Variant::String); EXPECT_EQ(molecule.data("inchi").toString(), "1/C2H6/c1-2/h1-2H3"); } TEST(FileFormatManagerTest, readFileGuessCjson) { Molecule molecule; FileFormatManager::instance().readFile(molecule, std::string(AVOGADRO_DATA) + "/data/ethane.cjson"); EXPECT_EQ(molecule.data("name").type(), Variant::String); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.data("inchi").type(), Variant::String); EXPECT_EQ(molecule.data("inchi").toString(), "1/C2H6/c1-2/h1-2H3"); } TEST(FileFormatManagerTest, writeFileGuessCml) { Molecule readMol, writeMol; FileFormatManager::instance().readFile(readMol, std::string(AVOGADRO_DATA) + "/data/ethane.cml"); FileFormatManager::instance().writeFile(readMol, "ethanemanagertmp.cml"); // Now read the file back in and check a few key values are still present. FileFormatManager::instance().readFile(writeMol, "ethanemanagertmp.cml"); EXPECT_EQ(writeMol.data("name").toString(), "Ethane"); EXPECT_EQ(writeMol.atomCount(), static_cast(8)); EXPECT_EQ(writeMol.bondCount(), static_cast(7)); Atom atom = writeMol.atom(7); EXPECT_EQ(atom.atomicNumber(), static_cast(1)); EXPECT_EQ(atom.position3d().x(), -1.18499); EXPECT_EQ(atom.position3d().y(), 0.004424); EXPECT_EQ(atom.position3d().z(), -0.987522); Bond bond = writeMol.bond(0); EXPECT_EQ(bond.atom1().index(), static_cast(0)); EXPECT_EQ(bond.atom2().index(), static_cast(1)); EXPECT_EQ(bond.order(), static_cast(1)); } TEST(FileFormatManagerTest, writeStringCjson) { Molecule molecule; FileFormatManager::instance().readFile(molecule, std::string(AVOGADRO_DATA) + "/data/ethane.cjson"); std::string cjson; FileFormatManager::instance().writeString(molecule, cjson, "cjson"); std::string cml; FileFormatManager::instance().writeString(molecule, cml, "cml"); std::cout << cjson << std::endl; std::cout << cml << std::endl; // See if they still have data in them now they have gone back and forth... Molecule cmlMol, cjsonMol; FileFormatManager::instance().readString(cjsonMol, cjson, "cjson"); FileFormatManager::instance().readString(cmlMol, cml, "cml"); EXPECT_EQ(cjsonMol.data("name").type(), Variant::String); EXPECT_EQ(cjsonMol.data("name").toString(), "Ethane"); EXPECT_EQ(cjsonMol.data("inchi").type(), Variant::String); EXPECT_EQ(cjsonMol.data("inchi").toString(), "1/C2H6/c1-2/h1-2H3"); EXPECT_EQ(cmlMol.data("name").type(), Variant::String); EXPECT_EQ(cmlMol.data("name").toString(), "Ethane"); EXPECT_EQ(cmlMol.data("inchi").type(), Variant::String); EXPECT_EQ(cmlMol.data("inchi").toString(), "1/C2H6/c1-2/h1-2H3"); } TEST(FileFormatManagerTest, writeStringCjsonOptions) { Molecule molecule; std::string options = "{ \"properties\": false }"; FileFormatManager::instance().readFile(molecule, std::string(AVOGADRO_DATA) + "/data/ethane.cjson"); std::string cjson; FileFormatManager::instance().writeString(molecule, cjson, "cjson", options); std::cout << cjson << std::endl; // See if they still have data in them now they have gone back and forth... Molecule cjsonMol; FileFormatManager::instance().readString(cjsonMol, cjson, "cjson"); // If the option was respected these should now be empty. EXPECT_EQ(cjsonMol.data("name").type(), Variant::Null); EXPECT_EQ(cjsonMol.data("name").toString(), ""); EXPECT_EQ(cjsonMol.data("inchi").type(), Variant::Null); EXPECT_EQ(cjsonMol.data("inchi").toString(), ""); } class Format : public FileFormat { private: Operations m_ops; std::string m_ident; public: Format(const std::string& ident, Operations ops) : FileFormat(), m_ops(ops), m_ident(ident) { } Operations supportedOperations() const override { return m_ops; } bool read(std::istream&, Molecule&) override { return false; } bool write(std::ostream&, const Molecule&) override { return false; } FileFormat* newInstance() const override { return new Format(m_ident, m_ops); } std::string identifier() const override { return m_ident; } std::string name() const override { return m_ident; } std::string description() const override { return m_ident; } std::string specificationUrl() const override { return ""; } std::vector fileExtensions() const override { std::vector result; result.push_back("asdfjkl;"); return result; } std::vector mimeTypes() const override { std::vector result; result.push_back("chemical/x-doodie"); return result; } }; TEST(FileFormatManagerTest, filtering) { // Add formats with various supported operations Format readOnly("readOnly", Format::All ^ Format::Write); Format writeOnly("writeOnly", Format::All ^ Format::Read); FileFormatManager::registerFormat(readOnly.newInstance()); FileFormatManager::registerFormat(writeOnly.newInstance()); FileFormatManager& manager = FileFormatManager::instance(); FileFormat* format = nullptr; format = manager.newFormatFromFileExtension("asdfjkl;", Format::Read); ASSERT_TRUE(format != nullptr); EXPECT_EQ(format->identifier(), std::string("readOnly")); delete format; format = manager.newFormatFromFileExtension("asdfjkl;", Format::Write); ASSERT_TRUE(format != nullptr); EXPECT_EQ(format->identifier(), std::string("writeOnly")); delete format; format = manager.newFormatFromMimeType("chemical/x-doodie", Format::Write); ASSERT_TRUE(format != nullptr); EXPECT_EQ(format->identifier(), std::string("writeOnly")); delete format; format = manager.newFormatFromMimeType("chemical/x-doodie", Format::Read); ASSERT_TRUE(format != nullptr); EXPECT_EQ(format->identifier(), std::string("readOnly")); delete format; } TEST(FileFormatManagerTest, unregister) { Format testFormat("testingFormat", FileFormat::All); FileFormatManager::registerFormat(testFormat.newInstance()); FileFormatManager& manager = FileFormatManager::instance(); FileFormat* format = manager.newFormatFromIdentifier("testingFormat"); ASSERT_TRUE(format != nullptr); EXPECT_EQ(format->identifier(), std::string("testingFormat")); delete format; EXPECT_TRUE(FileFormatManager::unregisterFormat("testingFormat")); format = manager.newFormatFromIdentifier("testingFormat"); ASSERT_TRUE(format == nullptr); } avogadrolibs-1.93.0/tests/io/hdf5test.cpp000066400000000000000000000231211360735163600202740ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "iotests.h" #include #include #include using Avogadro::Io::Hdf5DataFormat; namespace { bool fileExists(const char* filename) { FILE* handle = fopen(filename, "r"); if (handle != nullptr) { fclose(handle); return true; } return false; } } TEST(Hdf5Test, openCloseReadOnly) { Hdf5DataFormat hdf5; std::string testfile = std::string(AVOGADRO_DATA) + "/data/hdf5file.h5"; ASSERT_TRUE(fileExists(testfile.c_str())); ASSERT_TRUE(hdf5.openFile(testfile.c_str(), Hdf5DataFormat::ReadOnly)) << "Failed to open " << testfile << " in read-only mode."; std::vector refDatasets; refDatasets.resize(3); refDatasets[0] = "Data"; refDatasets[1] = "Group1/Group2/Data"; refDatasets[2] = "Test/MoleculeData/Matrix1"; std::vector datasets = hdf5.datasets(); EXPECT_EQ(refDatasets.size(), datasets.size()) << "Unexpected list of datasets: Bad size."; if (refDatasets.size() == datasets.size()) { for (size_t i = 0; i < datasets.size(); ++i) { EXPECT_EQ(refDatasets[i], datasets[i]) << "Unexpected list of datasets: Mismatch at index " << i << "."; } } ASSERT_TRUE(hdf5.closeFile()) << "Failed to close read-only file " << testfile << "."; } TEST(Hdf5Test, openCloseReadWriteAppend) { Hdf5DataFormat hdf5; std::string testfile = std::string(AVOGADRO_DATA) + "/data/hdf5file.h5"; ASSERT_TRUE(fileExists(testfile.c_str())); ASSERT_TRUE(hdf5.openFile(testfile.c_str(), Hdf5DataFormat::ReadWriteAppend)) << "Failed to open " << testfile << " in read-write (append) mode."; std::vector refDatasets; refDatasets.resize(3); refDatasets[0] = "Data"; refDatasets[1] = "Group1/Group2/Data"; refDatasets[2] = "Test/MoleculeData/Matrix1"; std::vector datasets = hdf5.datasets(); EXPECT_EQ(refDatasets.size(), datasets.size()) << "Unexpected list of datasets: Bad size."; if (refDatasets.size() == datasets.size()) { for (size_t i = 0; i < datasets.size(); ++i) { EXPECT_EQ(refDatasets[i], datasets[i]) << "Unexpected list of datasets: Mismatch at index " << i << "."; } } ASSERT_TRUE(hdf5.closeFile()) << "Failed to close read-only file " << testfile << "."; } TEST(Hdf5Test, readWriteEigenMatrixXd) { std::string tmpFileName("Hdf5Test_readWriteEigenMatrixXd.hdf"); Hdf5DataFormat hdf5; ASSERT_TRUE(hdf5.openFile(tmpFileName, Hdf5DataFormat::ReadWriteTruncate)) << "Opening test file '" << tmpFileName << "' failed."; Eigen::MatrixXd mat(10, 10); for (int row = 0; row < 10; ++row) { for (int col = 0; col < 10; ++col) { mat(row, col) = row * col * col + row + col; } } EXPECT_TRUE(hdf5.writeDataset("/Group1/Group2/Data", mat)) << "Writing Eigen::MatrixXd failed."; Eigen::MatrixXd matRead; EXPECT_TRUE(hdf5.readDataset("/Group1/Group2/Data", matRead)) << "Reading Eigen::MatrixXd failed."; EXPECT_TRUE(mat.isApprox(matRead)) << "Matrix read does not match matrix written.\nWritten:\n" << mat << "\nRead:\n" << matRead; ASSERT_TRUE(hdf5.closeFile()) << "Closing test file '" << tmpFileName << "' failed."; remove(tmpFileName.c_str()); } TEST(Hdf5Test, readWriteDoubleVector) { std::string tmpFileName("Hdf5Test_readWriteDoubleVector.hdf"); Hdf5DataFormat hdf5; ASSERT_TRUE(hdf5.openFile(tmpFileName, Hdf5DataFormat::ReadWriteTruncate)) << "Opening test file '" << tmpFileName << "' failed."; std::vector vec(100); size_t dims[2] = { 10, 10 }; for (int i = 0; i < 100; ++i) vec[i] = i / 10.0 + i / 5.0; EXPECT_TRUE(hdf5.writeDataset("/Group1/Group2/Data", vec, 2, dims)) << "Writing std::vector failed."; std::vector vecRead; std::vector readDims = hdf5.readDataset("/Group1/Group2/Data", vecRead); EXPECT_EQ(readDims.size(), static_cast(2)) << "Reading std::vector failed: Invalid number of dimensions."; EXPECT_EQ(readDims.at(0), static_cast(10)) << "Reading std::vector failed: First dimension invalid."; EXPECT_EQ(readDims.at(1), static_cast(10)) << "Reading std::vector failed: Second dimension invalid."; for (size_t i = 0; i < 100; ++i) { EXPECT_EQ(vec[i], vecRead[i]) << "std::vector read/write mismatch at index " << i << "."; } ASSERT_TRUE(hdf5.closeFile()) << "Closing test file '" << tmpFileName << "' failed."; remove(tmpFileName.c_str()); } TEST(Hdf5Test, thresholds) { Hdf5DataFormat hdf5; size_t threshold = 12; hdf5.setThreshold(threshold); EXPECT_EQ(hdf5.threshold(), threshold); EXPECT_FALSE(hdf5.exceedsThreshold(threshold - 1)) << "Bad threshold check result for small data."; EXPECT_FALSE(hdf5.exceedsThreshold(threshold)) << "Bad threshold check result for data at threshold limit."; EXPECT_TRUE(hdf5.exceedsThreshold(threshold + 1)) << "Bad threshold check result for large data."; int numDoubles = static_cast(threshold / sizeof(double)); EXPECT_FALSE(hdf5.exceedsThreshold(Eigen::MatrixXd(1, numDoubles - 1))) << "Bad threshold check result for small data."; EXPECT_FALSE(hdf5.exceedsThreshold(Eigen::MatrixXd(1, numDoubles))) << "Bad threshold check result for data at threshold limit."; EXPECT_TRUE(hdf5.exceedsThreshold(Eigen::MatrixXd(1, numDoubles + 1))) << "Bad threshold check result for large data."; EXPECT_FALSE(hdf5.exceedsThreshold(std::vector(numDoubles - 1))) << "Bad threshold check result for small data."; EXPECT_FALSE(hdf5.exceedsThreshold(std::vector(numDoubles))) << "Bad threshold check result for data at threshold limit."; EXPECT_TRUE(hdf5.exceedsThreshold(std::vector(numDoubles + 1))) << "Bad threshold check result for large data."; } TEST(Hdf5Test, datasetInteraction) { std::string tmpFileName("Hdf5Test_datasetInteraction.hdf"); Hdf5DataFormat hdf5; ASSERT_TRUE(hdf5.openFile(tmpFileName, Hdf5DataFormat::ReadWriteTruncate)) << "Opening test file '" << tmpFileName << "' failed."; Eigen::MatrixXd mat(1, 1); mat(0, 0) = 0.0; std::vector vec(27); int ndim_vec = 3; size_t dims_vec[3] = { 3, 3, 3 }; EXPECT_TRUE(hdf5.writeDataset("/TLDData", vec, ndim_vec, dims_vec)) << "Writing Eigen::MatrixXd failed."; EXPECT_TRUE(hdf5.writeDataset("/Group1/DeeperData", mat)) << "Writing Eigen::MatrixXd failed."; EXPECT_TRUE(hdf5.writeDataset("/Group1/Group2/EvenDeeperData", mat)) << "Writing Eigen::MatrixXd failed."; EXPECT_TRUE(hdf5.writeDataset("/Group1/DeeperDataSibling", mat)) << "Writing Eigen::MatrixXd failed."; EXPECT_TRUE(hdf5.writeDataset("/Group1/Group2a/Grandchild", mat)) << "Writing Eigen::MatrixXd failed."; EXPECT_TRUE( hdf5.writeDataset("/Group1/Group2a/Group3/Group4/Group5/Deeeep", mat)) << "Writing Eigen::MatrixXd failed."; EXPECT_TRUE(hdf5.writeDataset("/TLDataSibling", mat)) << "Writing Eigen::MatrixXd failed."; std::vector refDatasets; refDatasets.resize(7); refDatasets[0] = "Group1/DeeperData"; refDatasets[1] = "Group1/DeeperDataSibling"; refDatasets[2] = "Group1/Group2/EvenDeeperData"; refDatasets[3] = "Group1/Group2a/Grandchild"; refDatasets[4] = "Group1/Group2a/Group3/Group4/Group5/Deeeep"; refDatasets[5] = "TLDData"; refDatasets[6] = "TLDataSibling"; std::vector datasets = hdf5.datasets(); EXPECT_EQ(refDatasets.size(), datasets.size()) << "Unexpected list of datasets: Bad size."; if (refDatasets.size() == datasets.size()) { for (size_t i = 0; i < datasets.size(); ++i) { EXPECT_EQ(refDatasets[i], datasets[i]) << "Unexpected list of datasets: Mismatch at index " << i << "."; } } EXPECT_FALSE(hdf5.datasetExists("/IShouldNotExist")) << "Non-existing dataset reported as found."; std::vector dim = hdf5.datasetDimensions("/Group1/DeeperData"); EXPECT_EQ(dim.size(), static_cast(2)) << "Wrong dimensionality returned."; EXPECT_EQ(dim[0], static_cast(1)) << "Wrong dimensionality returned."; EXPECT_EQ(dim[1], static_cast(1)) << "Wrong dimensionality returned."; dim = hdf5.datasetDimensions("/TLDData"); EXPECT_EQ(dim.size(), static_cast(ndim_vec)) << "Wrong dimensionality returned."; for (int i = 0; i < ndim_vec; ++i) { EXPECT_EQ(dim[i], dims_vec[i]) << "Wrong dimensionality returned at " << i; } for (size_t i = 0; i < refDatasets.size(); ++i) { const std::string& str = refDatasets[i]; EXPECT_TRUE(hdf5.datasetExists(str)) << "Data set should exist, but isn't found: " << str; EXPECT_TRUE(hdf5.removeDataset(str)) << "Error removing dataset " << str; EXPECT_FALSE(hdf5.datasetExists(str)) << "Removed dataset still exists: " << str; } ASSERT_TRUE(hdf5.closeFile()) << "Closing test file '" << tmpFileName << "' failed."; remove(tmpFileName.c_str()); } avogadrolibs-1.93.0/tests/io/iotests.h.in000066400000000000000000000001751360735163600203160ustar00rootroot00000000000000#ifndef AVOGADRO_IOTESTS_H #define AVOGADRO_IOTESTS_H #define AVOGADRO_DATA "@AVOGADRO_DATA@" #endif // AVOGADRO_IOTESTS_H avogadrolibs-1.93.0/tests/io/lammpstest.cpp000066400000000000000000000102141360735163600207360ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "iotests.h" #include #include #include #include #include #include #include #include #include using Avogadro::Vector3; using Avogadro::Core::Atom; using Avogadro::Core::Molecule; using Avogadro::Core::UnitCell; using Avogadro::Io::FileFormat; using Avogadro::Io::LammpsTrajectoryFormat; TEST(LammpsTest, read) { LammpsTrajectoryFormat multi; multi.open(AVOGADRO_DATA "/data/silicon_bulk.dump", FileFormat::Read | FileFormat::MultiMolecule); Molecule molecule, molecule2; // Read in the structure. EXPECT_TRUE(multi.readMolecule(molecule)); ASSERT_EQ(multi.error(), ""); // First, let's check the unit cell UnitCell* uc = molecule.unitCell(); bool status = true; EXPECT_EQ(uc->aVector(), Vector3(2.7155000000000001e+01, 0.00000000, 0.00000000)); EXPECT_EQ(uc->bVector(), Vector3(0.00000000, 2.7155000000000001e+01, 0.00000000)); EXPECT_EQ(uc->cVector(), Vector3(0.00000000, 0.00000000, 2.7155000000000001e+01)); // Check that the number of atoms per step and number of steps in the // trajectory were read correctly EXPECT_EQ(molecule.atomCount(), 1000); EXPECT_EQ(molecule.coordinate3dCount(), 11); // First frame EXPECT_EQ(molecule.timeStep(0, status), 0); // Check a couple of positions to make sure they were read correctly EXPECT_EQ(molecule.atom(1).position3d().x(), 1.35775); EXPECT_EQ(molecule.atom(1).position3d().y(), 1.35775); EXPECT_EQ(molecule.atom(1).position3d().z(), 1.35775); EXPECT_EQ(molecule.atom(4).position3d().x(), 10.862); EXPECT_EQ(molecule.atom(4).position3d().y(), 0); EXPECT_EQ(molecule.atom(4).position3d().z(), 0); // Switching to second frame EXPECT_TRUE(molecule.setCoordinate3d(1)); EXPECT_EQ(molecule.timeStep(1, status), 10); // Check a couple of positions to make sure they were read correctly EXPECT_EQ(molecule.atom(1).position3d().x(), 1.34317); EXPECT_EQ(molecule.atom(1).position3d().y(), 1.30464); EXPECT_EQ(molecule.atom(1).position3d().z(), 1.42722); EXPECT_EQ(molecule.atom(4).position3d().x(), 10.7867); EXPECT_EQ(molecule.atom(4).position3d().y(), -0.0484348); EXPECT_EQ(molecule.atom(4).position3d().z(), -0.0809766); // Switching to last frame EXPECT_TRUE(molecule.setCoordinate3d(10)); EXPECT_EQ(molecule.timeStep(10, status), 100); // Check a couple of positions to make sure they were read correctly EXPECT_EQ(molecule.atom(1).position3d().x(), 1.37614); EXPECT_EQ(molecule.atom(1).position3d().y(), 1.34302); EXPECT_EQ(molecule.atom(1).position3d().z(), 1.39375); EXPECT_EQ(molecule.atom(4).position3d().x(), 10.6846); EXPECT_EQ(molecule.atom(4).position3d().y(), -0.0479311); EXPECT_EQ(molecule.atom(4).position3d().z(), -0.0770097); } TEST(LammpsTest, modes) { // This tests some of the mode setting/checking code LammpsTrajectoryFormat format; format.open(AVOGADRO_DATA "/data/silicon_bulk.dump", FileFormat::Read); EXPECT_TRUE(format.isMode(FileFormat::Read)); EXPECT_TRUE(format.mode() & FileFormat::Read); EXPECT_FALSE(format.isMode(FileFormat::Write)); // Try some combinations now. format.open(AVOGADRO_DATA "/data/silicon_bulk.dump", FileFormat::Read | FileFormat::MultiMolecule); EXPECT_TRUE(format.isMode(FileFormat::Read)); EXPECT_TRUE(format.isMode(FileFormat::Read | FileFormat::MultiMolecule)); EXPECT_TRUE(format.isMode(FileFormat::MultiMolecule)); } avogadrolibs-1.93.0/tests/io/mdltest.cpp000066400000000000000000000164351360735163600202340ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "iotests.h" #include #include #include using Avogadro::Core::Molecule; using Avogadro::Core::Atom; using Avogadro::Core::Bond; using Avogadro::Core::Variant; using Avogadro::Io::FileFormat; using Avogadro::Io::MdlFormat; TEST(MdlTest, readFile) { MdlFormat mdl; Molecule molecule; bool success = mdl.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.mol", molecule); EXPECT_TRUE(success); EXPECT_EQ(mdl.error(), ""); EXPECT_EQ(molecule.data("name").type(), Variant::String); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); } TEST(MdlTest, atoms) { MdlFormat mdl; Molecule molecule; bool success = mdl.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.mol", molecule); EXPECT_TRUE(success); EXPECT_EQ(mdl.error(), ""); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.atomCount(), static_cast(8)); Atom atom = molecule.atom(0); EXPECT_EQ(atom.atomicNumber(), static_cast(1)); atom = molecule.atom(1); EXPECT_EQ(atom.atomicNumber(), static_cast(6)); EXPECT_DOUBLE_EQ(atom.position3d().x(), 0.7516); EXPECT_DOUBLE_EQ(atom.position3d().y(), -0.0224); EXPECT_DOUBLE_EQ(atom.position3d().z(), -0.0208); atom = molecule.atom(7); EXPECT_EQ(atom.atomicNumber(), static_cast(1)); EXPECT_DOUBLE_EQ(atom.position3d().x(), -1.1850); EXPECT_DOUBLE_EQ(atom.position3d().y(), 0.0044); EXPECT_DOUBLE_EQ(atom.position3d().z(), -0.9875); } TEST(MdlTest, bonds) { MdlFormat mdl; Molecule molecule; bool success = mdl.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.mol", molecule); EXPECT_TRUE(success); EXPECT_EQ(mdl.error(), ""); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.atomCount(), static_cast(8)); EXPECT_EQ(molecule.bondCount(), static_cast(7)); Bond bond = molecule.bond(0); EXPECT_EQ(bond.atom1().index(), static_cast(0)); EXPECT_EQ(bond.atom2().index(), static_cast(1)); EXPECT_EQ(bond.order(), static_cast(1)); bond = molecule.bond(6); EXPECT_EQ(bond.atom1().index(), static_cast(4)); EXPECT_EQ(bond.atom2().index(), static_cast(7)); EXPECT_EQ(bond.order(), static_cast(1)); } TEST(MdlTest, saveFile) { MdlFormat mdl; Molecule savedMolecule, molecule; bool success = mdl.readFile(std::string(AVOGADRO_DATA) + "/data/ethane.mol", savedMolecule); EXPECT_TRUE(success); EXPECT_EQ(mdl.error(), ""); success = mdl.writeFile("ethanetmp.mol", savedMolecule); EXPECT_TRUE(success); EXPECT_EQ(mdl.error(), ""); // Now read the file back in and check a few key values are still present. success = mdl.readFile("ethanetmp.mol", molecule); EXPECT_TRUE(success); EXPECT_EQ(mdl.error(), ""); EXPECT_EQ(molecule.data("name").toString(), "Ethane"); EXPECT_EQ(molecule.atomCount(), static_cast(8)); EXPECT_EQ(molecule.bondCount(), static_cast(7)); Atom atom = molecule.atom(7); EXPECT_EQ(atom.atomicNumber(), static_cast(1)); EXPECT_DOUBLE_EQ(atom.position3d().x(), -1.1850); EXPECT_DOUBLE_EQ(atom.position3d().y(), 0.0044); EXPECT_DOUBLE_EQ(atom.position3d().z(), -0.9875); Bond bond = molecule.bond(0); EXPECT_EQ(bond.atom1().index(), static_cast(0)); EXPECT_EQ(bond.atom2().index(), static_cast(1)); EXPECT_EQ(bond.order(), static_cast(1)); } TEST(MdlTest, readMulti) { MdlFormat multi; multi.open(AVOGADRO_DATA "/data/multi.sdf", FileFormat::Read | FileFormat::MultiMolecule); Molecule molecule; // Read in the first structure. EXPECT_TRUE(multi.readMolecule(molecule)); ASSERT_EQ(multi.error(), ""); EXPECT_EQ(molecule.data("name").toString(), "Methane"); EXPECT_EQ(molecule.atomCount(), 5); EXPECT_EQ(molecule.bondCount(), 4); EXPECT_EQ(molecule.atom(0).atomicNumber(), 6); EXPECT_EQ(molecule.atom(1).atomicNumber(), 1); EXPECT_EQ(molecule.atom(2).atomicNumber(), 1); EXPECT_EQ(molecule.atom(3).atomicNumber(), 1); EXPECT_EQ(molecule.atom(4).atomicNumber(), 1); EXPECT_DOUBLE_EQ(molecule.atom(4).position3d().x(), -0.5134); EXPECT_DOUBLE_EQ(molecule.atom(4).position3d().y(), 0.8892); EXPECT_DOUBLE_EQ(molecule.atom(4).position3d().z(), -0.3630); // Now read in the second structure. Molecule molecule2; EXPECT_TRUE(multi.readMolecule(molecule2)); ASSERT_EQ(multi.error(), ""); EXPECT_EQ(molecule2.data("name").toString(), "Caffeine"); EXPECT_EQ(molecule2.atomCount(), 24); EXPECT_EQ(molecule2.bondCount(), 25); // Should return false when there are no more molecules to be read in. EXPECT_FALSE(multi.readMolecule(molecule)); } TEST(MdlTest, writeMulti) { MdlFormat multi; multi.open(AVOGADRO_DATA "/data/multi.sdf", FileFormat::Read | FileFormat::MultiMolecule); Molecule mol[2]; // Read in the two structures in the file. EXPECT_TRUE(multi.readMolecule(mol[0])); ASSERT_EQ(multi.error(), ""); EXPECT_TRUE(multi.readMolecule(mol[1])); ASSERT_EQ(multi.error(), ""); multi.close(); // Now attempt to write out a multi-molecule file. multi.open("multitmp.sdf", FileFormat::Write | FileFormat::MultiMolecule); multi.writeMolecule(mol[0]); multi.writeMolecule(mol[1]); multi.close(); // Finally, let's read them back in and check the basic properties match. multi.open("multitmp.sdf", FileFormat::Read | FileFormat::MultiMolecule); Molecule ref[2]; EXPECT_TRUE(multi.readMolecule(ref[0])); EXPECT_TRUE(multi.readMolecule(ref[1])); // Compare some properties and see if they made it all the way back to us. for (int i = 0; i < 2; ++i) { EXPECT_EQ(mol[i].data("name").toString(), ref[i].data("name").toString()); EXPECT_EQ(mol[i].atomCount(), ref[i].atomCount()); EXPECT_EQ(mol[i].bondCount(), ref[i].bondCount()); } } TEST(MdlTest, readSdfData) { MdlFormat multi; multi.open(AVOGADRO_DATA "/data/pubchem3.sdf", FileFormat::Read | FileFormat::MultiMolecule); Molecule mol[2]; EXPECT_TRUE(multi.readMolecule(mol[0])); EXPECT_TRUE(multi.readMolecule(mol[1])); // Check a few of the data parameters in the first few molecules. EXPECT_EQ( mol[0].data("PUBCHEM_IUPAC_INCHI").toString(), "InChI=1S/C9H17NO4/c1-7(11)14-8(5-9(12)13)6-10(2,3)4/h8H,5-6H2,1-4H3"); EXPECT_EQ(mol[0].data("PUBCHEM_OPENEYE_CAN_SMILES").toString(), "CC(=O)OC(CC(=O)[O-])C[N+](C)(C)C"); EXPECT_EQ( mol[1].data("PUBCHEM_IUPAC_INCHI").toString(), "InChI=1S/C9H17NO4/c1-7(11)14-8(5-9(12)13)6-10(2,3)4/h8H,5-6H2,1-4H3/p+1"); EXPECT_EQ(mol[1].data("PUBCHEM_OPENEYE_CAN_SMILES").toString(), "CC(=O)OC(CC(=O)O)C[N+](C)(C)C"); } avogadrolibs-1.93.0/tests/io/mmtftest.cpp000066400000000000000000000105531360735163600204160ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "iotests.h" #include #include #include #include #include #include #include using Avogadro::DEG_TO_RAD; using Avogadro::MatrixX; using Avogadro::Real; using Avogadro::Vector3; using Avogadro::Core::Atom; using Avogadro::Core::Bond; using Avogadro::Core::Molecule; using Avogadro::Core::Residue; using Avogadro::Core::Variant; using Avogadro::Io::MMTFFormat; TEST(MMTFTest, readFile) { MMTFFormat mmtf; Molecule molecule; mmtf.readFile(std::string(AVOGADRO_DATA) + "/data/4HHB.mmtf", molecule); EXPECT_EQ(molecule.data("name").type(), Variant::String); EXPECT_EQ(molecule.data("name").toString(), "THE CRYSTAL STRUCTURE OF HUMAN DEOXYHAEMOGLOBIN AT 1.74 ANGSTROMS " "RESOLUTION"); } TEST(MMTFTEST, unitCell) { MMTFFormat mmtf; Molecule molecule; mmtf.readFile(std::string(AVOGADRO_DATA) + "/data/4HHB.mmtf", molecule); auto cell = molecule.unitCell(); EXPECT_NEAR(cell->a(), 63.150, 1e-3); EXPECT_NEAR(cell->b(), 83.590, 1e-3); EXPECT_NEAR(cell->c(), 53.800, 1e-3); EXPECT_NEAR(cell->alpha(), 90.00 * DEG_TO_RAD, 1e-3); EXPECT_NEAR(cell->beta(), 99.34 * DEG_TO_RAD, 1e-3); EXPECT_NEAR(cell->gamma(), 90.00 * DEG_TO_RAD, 1e-3); } TEST(MMTFTest, atoms) { MMTFFormat mmtf; Molecule molecule; mmtf.readFile(std::string(AVOGADRO_DATA) + "/data/4HHB.mmtf", molecule); EXPECT_EQ(molecule.atomCount(), static_cast(4779)); Atom atom = molecule.atom(0); EXPECT_EQ(atom.atomicNumber(), static_cast(7)); EXPECT_NEAR(atom.position3d().x(), 6.204, 1e-3); EXPECT_NEAR(atom.position3d().y(), 16.869, 1e-3); EXPECT_NEAR(atom.position3d().z(), 4.854, 1e-3); // Random alpha carbon atom = molecule.atom(296); EXPECT_EQ(atom.atomicNumber(), static_cast(6)); EXPECT_NEAR(atom.position3d().x(), 10.167, 1e-3); EXPECT_NEAR(atom.position3d().y(), -7.889, 1e-3); EXPECT_NEAR(atom.position3d().z(), -16.138, 1e-3); // Final water atom = molecule.atom(4778); EXPECT_EQ(atom.atomicNumber(), static_cast(8)); EXPECT_NEAR(atom.position3d().x(), -1.263, 1e-3); EXPECT_NEAR(atom.position3d().y(), -2.837, 1e-3); EXPECT_NEAR(atom.position3d().z(), -21.251, 1e-3); } TEST(MMTFTest, bonds) { MMTFFormat mmtf; Molecule molecule; mmtf.readFile(std::string(AVOGADRO_DATA) + "/data/4HHB.mmtf", molecule); EXPECT_EQ(molecule.bondCount(), static_cast(4700)); // First nitrogen to alpha carbon Bond bond = molecule.bond(0); EXPECT_EQ(bond.atom1().index(), static_cast(0)); EXPECT_EQ(bond.atom2().index(), static_cast(1)); EXPECT_EQ(bond.order(), static_cast(1)); bond = molecule.bond(6); EXPECT_EQ(bond.atom1().index(), static_cast(7)); EXPECT_EQ(bond.atom2().index(), static_cast(8)); EXPECT_EQ(bond.order(), static_cast(1)); } TEST(MMTFTest, residues) { MMTFFormat mmtf; Molecule molecule; mmtf.readFile(std::string(AVOGADRO_DATA) + "/data/4HHB.mmtf", molecule); Residue& res = molecule.residue(0); EXPECT_EQ(res.residueId(), static_cast(1)); EXPECT_EQ(res.residueName(), "VAL"); EXPECT_EQ(res.residueAtoms().size(), static_cast(7)); // The last Heme Residue& res2 = molecule.residue(579); EXPECT_EQ(res2.residueId(), static_cast(148)); EXPECT_EQ(res2.residueName(), "HEM"); EXPECT_EQ(res2.residueAtoms().size(), static_cast(43)); // The first water Residue& res3 = molecule.residue(580); EXPECT_EQ(res3.residueId(), static_cast(143)); EXPECT_EQ(res3.residueName(), "HOH"); EXPECT_EQ(res3.residueAtoms().size(), static_cast(1)); } avogadrolibs-1.93.0/tests/io/vasptest.cpp000066400000000000000000000163101360735163600204210ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2016 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "iotests.h" #include #include #include #include #include #include #include #include #include #include using Avogadro::Matrix3; using Avogadro::Vector3; using Avogadro::Core::Atom; using Avogadro::Core::Molecule; using Avogadro::Core::UnitCell; using Avogadro::Io::FileFormat; using Avogadro::Io::OutcarFormat; using Avogadro::Io::PoscarFormat; TEST(VaspTest, readPoscar) { PoscarFormat poscar; Molecule molecule; EXPECT_TRUE(poscar.readFile(AVOGADRO_DATA "/data/rutile.POSCAR", molecule)); ASSERT_EQ(poscar.error(), std::string()); // First, let's check the unit cell UnitCell* uc = molecule.unitCell(); EXPECT_EQ(uc->aVector(), Vector3(2.95812000, 0.00000000, 0.00000000)); EXPECT_EQ(uc->bVector(), Vector3(0.00000000, 4.59373000, 0.00000000)); EXPECT_EQ(uc->cVector(), Vector3(0.00000000, 0.00000000, 4.59373000)); // Check that the number of atoms and number of bonds were read correctly EXPECT_EQ(molecule.atomCount(), 6); EXPECT_EQ(molecule.bondCount(), 0); // Check that the symbols were read correctly EXPECT_EQ(molecule.atom(0).atomicNumber(), 8); EXPECT_EQ(molecule.atom(1).atomicNumber(), 8); EXPECT_EQ(molecule.atom(2).atomicNumber(), 8); EXPECT_EQ(molecule.atom(3).atomicNumber(), 8); EXPECT_EQ(molecule.atom(4).atomicNumber(), 22); EXPECT_EQ(molecule.atom(5).atomicNumber(), 22); // Check a couple of positions to make sure they were read correctly // Need to convert to Fractional Vector3 pos1 = uc->toFractional(molecule.atom(1).position3d()); Vector3 pos5 = uc->toFractional(molecule.atom(5).position3d()); EXPECT_DOUBLE_EQ(pos1.x(), 0.0); EXPECT_DOUBLE_EQ(pos1.y(), 0.6947); EXPECT_DOUBLE_EQ(pos1.z(), 0.6947); EXPECT_DOUBLE_EQ(pos5.x(), 0.5); EXPECT_DOUBLE_EQ(pos5.y(), 0.5); EXPECT_DOUBLE_EQ(pos5.z(), 0.5); } TEST(VaspTest, writePoscar) { PoscarFormat poscar; Molecule molecule; molecule.setData("name", "TiO2 rutile"); Matrix3 mat; mat.col(0) = Vector3(2.95812, 0.00000, 0.00000); // A mat.col(1) = Vector3(0.00000, 4.59373, 0.00000); // B mat.col(2) = Vector3(0.00000, 0.00000, 4.59373); // C UnitCell* uc = new UnitCell(mat); molecule.setUnitCell(uc); molecule.addAtom(8).setPosition3d( uc->toCartesian(Vector3(0.0, 0.3053, 0.3053))); molecule.addAtom(8).setPosition3d( uc->toCartesian(Vector3(0.0, 0.6947, 0.6947))); molecule.addAtom(8).setPosition3d( uc->toCartesian(Vector3(0.5, 0.1947, 0.8053))); molecule.addAtom(8).setPosition3d( uc->toCartesian(Vector3(0.5, 0.8053, 0.1947))); molecule.addAtom(22).setPosition3d(uc->toCartesian(Vector3(0.0, 0.0, 0.0))); molecule.addAtom(22).setPosition3d(uc->toCartesian(Vector3(0.5, 0.5, 0.5))); std::string output; EXPECT_TRUE(poscar.writeString(output, molecule)); // The output should be an exact match with the sample file. std::istringstream outputStream(output); std::ifstream refStream(AVOGADRO_DATA "/data/rutile.POSCAR"); char outputChar = '\0'; char refChar = '\0'; outputStream >> std::noskipws; refStream >> std::noskipws; bool checkedSomething = false; while ((outputStream >> outputChar) && (refStream >> refChar)) { ASSERT_EQ(refChar, outputChar); checkedSomething = true; } EXPECT_TRUE(checkedSomething); } TEST(VaspTest, PoscarModes) { // This tests some of the mode setting/checking code, not explicitly Poscar // but // a concrete implementation is required in order to test. PoscarFormat format; format.open(AVOGADRO_DATA "/data/rutile.POSCAR", FileFormat::Read); EXPECT_TRUE(format.isMode(FileFormat::Read)); EXPECT_TRUE(format.mode() & FileFormat::Read); EXPECT_FALSE(format.isMode(FileFormat::Write)); } TEST(VaspTest, readOutcar) { OutcarFormat multi; multi.open(AVOGADRO_DATA "/data/ti_bulk.OUTCAR", FileFormat::Read | FileFormat::MultiMolecule); Molecule molecule; // Read in the structure. EXPECT_TRUE(multi.readMolecule(molecule)); ASSERT_EQ(multi.error(), ""); // First, let's check the unit cell UnitCell* uc = molecule.unitCell(); EXPECT_EQ(uc->aVector(), Vector3(5.8783178329, 0.0000000000, 0.0000000000)); EXPECT_EQ(uc->bVector(), Vector3(-2.9391589165, 5.0907725749, 0.0000000000)); EXPECT_EQ(uc->cVector(), Vector3(0.0000000000, 0.0000000000, 9.2823419571)); // Check that the number of atoms per step and number of steps in the // trajectory were read correctly EXPECT_EQ(molecule.atomCount(), 16); EXPECT_EQ(molecule.coordinate3dCount(), 10); // Check a couple of positions to make sure they were read correctly EXPECT_EQ(molecule.atom(1).position3d().x(), -0.00000); EXPECT_EQ(molecule.atom(1).position3d().y(), 1.69693); EXPECT_EQ(molecule.atom(1).position3d().z(), 5.80146); EXPECT_EQ(molecule.atom(4).position3d().x(), 2.93916); EXPECT_EQ(molecule.atom(4).position3d().y(), 1.69693); EXPECT_EQ(molecule.atom(4).position3d().z(), 1.16029); // Switching to second frame EXPECT_TRUE(molecule.setCoordinate3d(1)); // Check a couple of positions to make sure they were read correctly EXPECT_EQ(molecule.atom(1).position3d().x(), -0.00091); EXPECT_EQ(molecule.atom(1).position3d().y(), 1.70362); EXPECT_EQ(molecule.atom(1).position3d().z(), 5.80402); EXPECT_EQ(molecule.atom(4).position3d().x(), 2.93439); EXPECT_EQ(molecule.atom(4).position3d().y(), 1.69969); EXPECT_EQ(molecule.atom(4).position3d().z(), 1.16202); // Switching to last frame EXPECT_TRUE(molecule.setCoordinate3d(9)); // Check a couple of positions to make sure they were read correctly EXPECT_EQ(molecule.atom(1).position3d().x(), -0.00813); EXPECT_EQ(molecule.atom(1).position3d().y(), 1.75426); EXPECT_EQ(molecule.atom(1).position3d().z(), 5.82452); EXPECT_EQ(molecule.atom(4).position3d().x(), 2.89744); EXPECT_EQ(molecule.atom(4).position3d().y(), 1.72157); EXPECT_EQ(molecule.atom(4).position3d().z(), 1.17499); } TEST(VaspTest, OutcarModes) { // This tests some of the mode setting/checking code OutcarFormat format; format.open(AVOGADRO_DATA "/data/ti_bulk.OUTCAR", FileFormat::Read); EXPECT_TRUE(format.isMode(FileFormat::Read)); EXPECT_TRUE(format.mode() & FileFormat::Read); EXPECT_FALSE(format.isMode(FileFormat::Write)); // Try some combinations now. format.open(AVOGADRO_DATA "/data/ti_bulk.OUTCAR", FileFormat::Read | FileFormat::MultiMolecule); EXPECT_TRUE(format.isMode(FileFormat::Read)); EXPECT_TRUE(format.isMode(FileFormat::Read | FileFormat::MultiMolecule)); EXPECT_TRUE(format.isMode(FileFormat::MultiMolecule)); } avogadrolibs-1.93.0/tests/io/xyztest.cpp000066400000000000000000000166361360735163600203150ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "iotests.h" #include #include #include #include #include #include #include #include using Avogadro::Core::Atom; using Avogadro::Core::Molecule; using Avogadro::Io::FileFormat; using Avogadro::Io::XyzFormat; using Avogadro::Vector3; // methane.xyz uses atomic symbols to identify atoms TEST(XyzTest, readAtomicSymbols) { XyzFormat xyz; Molecule molecule; EXPECT_TRUE(xyz.readFile(AVOGADRO_DATA "/data/methane.xyz", molecule)); ASSERT_EQ(xyz.error(), std::string()); EXPECT_EQ(molecule.atomCount(), 5); // Bond perception will result in 4 bonds EXPECT_EQ(molecule.bondCount(), 4); EXPECT_EQ(molecule.atom(0).atomicNumber(), 6); EXPECT_EQ(molecule.atom(1).atomicNumber(), 1); EXPECT_EQ(molecule.atom(2).atomicNumber(), 1); EXPECT_EQ(molecule.atom(3).atomicNumber(), 1); EXPECT_EQ(molecule.atom(4).atomicNumber(), 1); EXPECT_EQ(molecule.atom(4).position3d().x(), -0.51336); EXPECT_EQ(molecule.atom(4).position3d().y(), 0.88916); EXPECT_EQ(molecule.atom(4).position3d().z(), -0.36300); } // Turn off the option to perceive bonds TEST(XyzTest, readAtomicSymbolsNoBonds) { XyzFormat xyz; xyz.setOptions("{ \"perceiveBonds\": false }"); Molecule molecule; EXPECT_TRUE(xyz.readFile(AVOGADRO_DATA "/data/methane.xyz", molecule)); ASSERT_EQ(xyz.error(), std::string()); EXPECT_EQ(molecule.atomCount(), 5); // We turned off bond perception, so there should be zero bonds EXPECT_EQ(molecule.bondCount(), 0); EXPECT_EQ(molecule.atom(0).atomicNumber(), 6); EXPECT_EQ(molecule.atom(1).atomicNumber(), 1); EXPECT_EQ(molecule.atom(2).atomicNumber(), 1); EXPECT_EQ(molecule.atom(3).atomicNumber(), 1); EXPECT_EQ(molecule.atom(4).atomicNumber(), 1); EXPECT_EQ(molecule.atom(4).position3d().x(), -0.51336); EXPECT_EQ(molecule.atom(4).position3d().y(), 0.88916); EXPECT_EQ(molecule.atom(4).position3d().z(), -0.36300); } // methane-num.xyz uses atomic numbers to identify atoms TEST(XyzTest, readAtomicNumbers) { XyzFormat xyz; Molecule molecule; xyz.readFile(AVOGADRO_DATA "/data/methane-num.xyz", molecule); EXPECT_EQ(molecule.atomCount(), 5); // Bond perception will result in 4 bonds EXPECT_EQ(molecule.bondCount(), 4); EXPECT_EQ(molecule.atom(0).atomicNumber(), 6); EXPECT_EQ(molecule.atom(1).atomicNumber(), 1); EXPECT_EQ(molecule.atom(2).atomicNumber(), 1); EXPECT_EQ(molecule.atom(3).atomicNumber(), 1); EXPECT_EQ(molecule.atom(4).atomicNumber(), 1); EXPECT_EQ(molecule.atom(4).position3d().x(), -0.51336); EXPECT_EQ(molecule.atom(4).position3d().y(), 0.88916); EXPECT_EQ(molecule.atom(4).position3d().z(), -0.36300); } TEST(XyzTest, write) { XyzFormat xyz; Molecule molecule; molecule.addAtom(6).setPosition3d(Vector3(0.0, 0.0, 0.0)); molecule.addAtom(1).setPosition3d(Vector3(0.0, 0.0, 1.089)); molecule.addAtom(1).setPosition3d(Vector3(1.026719, 0.0, -0.363)); molecule.addAtom(1).setPosition3d(Vector3(-0.51336, -0.889165, -0.363)); molecule.addAtom(1).setPosition3d(Vector3(-0.51336, 0.889165, -0.363)); std::string output; EXPECT_EQ(xyz.writeString(output, molecule), true); // The output should be an exact match with the sample file. std::istringstream outputStream(output); std::ifstream refStream(AVOGADRO_DATA "/data/methane.xyz"); char outputChar = '\0'; char refChar = '\0'; outputStream >> std::noskipws; refStream >> std::noskipws; bool checkedSomething = false; while ((outputStream >> outputChar) && (refStream >> refChar)) { ASSERT_EQ(refChar, outputChar); checkedSomething = true; } EXPECT_TRUE(checkedSomething); } TEST(XyzTest, modes) { // This tests some of the mode setting/checking code, not explicitly Xyz but // a concrete implementation is required in order to test. XyzFormat format; format.open(AVOGADRO_DATA "/data/multi.xyz", FileFormat::Read); EXPECT_TRUE(format.isMode(FileFormat::Read)); EXPECT_TRUE(format.mode() & FileFormat::Read); EXPECT_FALSE(format.isMode(FileFormat::Write)); // Try some combinations now. format.open(AVOGADRO_DATA "/data/multi.xyz", FileFormat::Read | FileFormat::MultiMolecule); EXPECT_TRUE(format.isMode(FileFormat::Read)); EXPECT_TRUE(format.isMode(FileFormat::Read | FileFormat::MultiMolecule)); EXPECT_TRUE(format.isMode(FileFormat::MultiMolecule)); } TEST(DISABLED_XyzTest, readMulti) { XyzFormat multi; multi.open(AVOGADRO_DATA "/data/multi.xyz", FileFormat::Read | FileFormat::MultiMolecule); Molecule molecule; // Read in the first structure. EXPECT_TRUE(multi.readMolecule(molecule)); ASSERT_EQ(multi.error(), ""); EXPECT_EQ(molecule.data("name").toString(), "Methane"); EXPECT_EQ(molecule.atomCount(), 5); // Bond perception will result in 4 bonds EXPECT_EQ(molecule.bondCount(), 4); EXPECT_EQ(molecule.atom(0).atomicNumber(), 6); EXPECT_EQ(molecule.atom(1).atomicNumber(), 1); EXPECT_EQ(molecule.atom(2).atomicNumber(), 1); EXPECT_EQ(molecule.atom(3).atomicNumber(), 1); EXPECT_EQ(molecule.atom(4).atomicNumber(), 1); EXPECT_DOUBLE_EQ(molecule.atom(4).position3d().x(), -0.51336); EXPECT_DOUBLE_EQ(molecule.atom(4).position3d().y(), 0.88916); EXPECT_DOUBLE_EQ(molecule.atom(4).position3d().z(), -0.36300); // Now read in the second structure. Molecule molecule2; EXPECT_TRUE(multi.readMolecule(molecule2)); ASSERT_EQ(multi.error(), ""); EXPECT_EQ(molecule2.data("name").toString(), "Caffeine"); EXPECT_EQ(molecule2.atomCount(), 24); EXPECT_EQ(molecule2.bondCount(), 0); // Should return false when there are no more molecules to be read in. EXPECT_FALSE(multi.readMolecule(molecule)); } TEST(DISABLED_XyzTest, writeMulti) { XyzFormat multi; multi.open(AVOGADRO_DATA "/data/multi.xyz", FileFormat::Read | FileFormat::MultiMolecule); Molecule mol[2]; // Read in the two structures in the file. EXPECT_TRUE(multi.readMolecule(mol[0])); ASSERT_EQ(multi.error(), ""); EXPECT_TRUE(multi.readMolecule(mol[1])); ASSERT_EQ(multi.error(), ""); multi.close(); // Now attempt to write out a multi-molecule file. multi.open("multitmp.xyz", FileFormat::Write | FileFormat::MultiMolecule); multi.writeMolecule(mol[0]); multi.writeMolecule(mol[1]); multi.close(); // Finally, let's read them back in and check the basic properties match. multi.open("multitmp.xyz", FileFormat::Read | FileFormat::MultiMolecule); Molecule ref[2]; EXPECT_TRUE(multi.readMolecule(ref[0])); EXPECT_TRUE(multi.readMolecule(ref[1])); // Compare some properties and see if they made it all the way back to us. for (int i = 0; i < 2; ++i) { EXPECT_EQ(mol[i].data("name").toString(), ref[i].data("name").toString()); EXPECT_EQ(mol[i].atomCount(), ref[i].atomCount()); EXPECT_EQ(mol[i].bondCount(), ref[i].bondCount()); } } avogadrolibs-1.93.0/tests/protocall/000077500000000000000000000000001360735163600174335ustar00rootroot00000000000000avogadrolibs-1.93.0/tests/protocall/CMakeLists.txt000066400000000000000000000027101360735163600221730ustar00rootroot00000000000000find_package(GTest REQUIRED) include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${AvogadroLibs_BINARY_DIR}/avogadro/io" "${AvogadroLibs_BINARY_DIR}/avogadro/protocall" "${AvogadroLibs_SOURCE_DIR}/avogadro/protocall" ) find_package(protobuf REQUIRED NO_MODULE) include_directories(SYSTEM ${protobuf_INCLUDE_DIRS}) find_package(ProtoCall REQUIRED NO_MODULE) include_directories(SYSTEM ${ProtoCall_INCLUDE_DIRS}) if(AVOGADRO_DATA_ROOT) set(AVOGADRO_DATA ${AVOGADRO_DATA_ROOT}) else() message("No data root found, please set to run the tests.") return() endif() configure_file("${CMAKE_CURRENT_SOURCE_DIR}/protocalltests.h.in" "${CMAKE_CURRENT_BINARY_DIR}/protocalltests.h" @ONLY) set(tests MoleculeSerialization MatrixSerialization ) # Build up the source file names. set(_test_srcs "") foreach(_test ${tests}) message(STATUS "Adding ${_test} test.") string(TOLOWER ${_test} testname) list(APPEND test_srcs ${testname}.cpp) endforeach() message(STATUS "Test source files: ${_test_srcs}") # Add a single executable for all of our tests. add_executable(AvogadroProtoCallTests ${test_srcs}) target_link_libraries(AvogadroProtoCallTests AvogadroProtoCall ${GTEST_BOTH_LIBRARIES} ${EXTRA_LINK_LIB}) # Now add all of the tests, using the gtest_filter argument so that only those # cases are run in each test invocation. foreach(_test ${tests}) add_test(NAME "${_test}" COMMAND AvogadroProtoCallTests "--gtest_filter=${_test}Test.*") endforeach() avogadrolibs-1.93.0/tests/protocall/matrixserialization.cpp000066400000000000000000000052461360735163600242500ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "matrixserialization.h" #include #include TEST(MatrixSerializationTest, vector2) { Avogadro::Vector2 vec2; vec2[0] = 1; vec2[1] = 2; size_t size = Avogadro::ProtoCall::MatrixSerialization::sizeOf(vec2); unsigned char* data = new unsigned char[size]; bool success = Avogadro::ProtoCall::MatrixSerialization::serialize(vec2, data, size); EXPECT_TRUE(success); Avogadro::Vector2 afterRoundTrip; success = Avogadro::ProtoCall::MatrixSerialization::deserialize(afterRoundTrip, data); EXPECT_TRUE(success); delete[] data; for (int row = 0; row < 2; row++) EXPECT_EQ(vec2[row], afterRoundTrip[row]); } TEST(MatrixSerializationTest, vector3) { Avogadro::Vector3 vec3; vec3[0] = 1; vec3[1] = 2; vec3[2] = 3; size_t size = Avogadro::ProtoCall::MatrixSerialization::sizeOf(vec3); unsigned char* data = new unsigned char[size]; bool success = Avogadro::ProtoCall::MatrixSerialization::serialize(vec3, data, size); EXPECT_TRUE(success); Avogadro::Vector3 afterRoundTrip; success = Avogadro::ProtoCall::MatrixSerialization::deserialize(afterRoundTrip, data); EXPECT_TRUE(success); delete[] data; for (int row = 0; row < 3; row++) EXPECT_EQ(vec3[row], afterRoundTrip[row]); } TEST(MatrixSerializationTest, matrixX) { Avogadro::MatrixX matrix(100, 100); for (int row = 0; row < 100; row++) { for (int col = 0; col < 100; col++) { matrix(row, col) = row * col; } } size_t size = Avogadro::ProtoCall::MatrixSerialization::sizeOf(matrix); unsigned char* data = new unsigned char[size]; bool success = Avogadro::ProtoCall::MatrixSerialization::serialize(matrix, data, size); EXPECT_TRUE(success); Avogadro::MatrixX afterRoundTrip(100, 100); success = Avogadro::ProtoCall::MatrixSerialization::deserialize( afterRoundTrip, data, size); EXPECT_TRUE(success); delete[] data; for (int row = 0; row < 100; row++) { for (int col = 0; col < 100; col++) EXPECT_EQ(matrix(row, col), afterRoundTrip(row, col)); } } avogadrolibs-1.93.0/tests/protocall/moleculeserialization.cpp000066400000000000000000000072401360735163600245450ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include "moleculedeserializer.h" #include "moleculeserializer.h" #include "protocalltests.h" using Avogadro::Core::Molecule; using Avogadro::Io::FileFormat; using Avogadro::Io::FileFormatManager; using Avogadro::Core::MoleculeDeserializer; using Avogadro::Core::MoleculeSerializer; using google::protobuf::io::ArrayOutputStream; using google::protobuf::io::CodedOutputStream; using google::protobuf::io::ArrayInputStream; using google::protobuf::io::CodedInputStream; using google::protobuf::uint32; using google::protobuf::uint8; class MoleculeSerializationTest : public testing::Test { protected: virtual void SetUp() { FileFormatManager::instance().readFile( ethane, AVOGADRO_DATA "/data/ethane.cml", "cml"); } bool equal(const Avogadro::MatrixX& mat1, const Avogadro::MatrixX& mat2) { if (mat1.rows() != mat2.rows() || mat1.cols() != mat2.cols()) return false; for (int row = 0; row < mat1.rows(); row++) { for (int col = 0; col < mat1.cols(); col++) { if (mat1(row, col) != mat2(row, col)) return false; } } return true; } Molecule ethane; }; TEST_F(MoleculeSerializationTest, roundTrip) { MoleculeSerializer serializer(&this->ethane); size_t size = serializer.size(); uint8* data = new uint8[size]; bool success = serializer.serialize(data, size); EXPECT_TRUE(success); Molecule after; MoleculeDeserializer deserializer(&after); success = deserializer.deserialize(data, size); EXPECT_TRUE(success); delete[] data; EXPECT_EQ(this->ethane.atomicNumbers(), after.atomicNumbers()); std::vector expected2d = this->ethane.atomPositions2d(); std::vector actual2d = after.atomPositions2d(); EXPECT_EQ(expected2d.size(), actual2d.size()); for (size_t i = 0; i < expected2d.size(); i++) EXPECT_TRUE(this->equal(expected2d[i], actual2d[i])); std::vector expected3d = this->ethane.atomPositions3d(); std::vector actual3d = after.atomPositions3d(); EXPECT_EQ(expected3d.size(), actual3d.size()); for (size_t i = 0; i < expected3d.size(); i++) EXPECT_TRUE(this->equal(expected3d[i], actual3d[i])); const std::vector> expectedBondPairs = this->ethane.bondPairs(); const std::vector> actualBondPairs = after.bondPairs(); EXPECT_EQ(expectedBondPairs.size(), actualBondPairs.size()); for (size_t i = 0; i < expectedBondPairs.size(); i++) { EXPECT_EQ(expectedBondPairs[i].first, actualBondPairs[i].first); EXPECT_EQ(expectedBondPairs[i].second, actualBondPairs[i].second); } const std::vector expectedBondOrder = this->ethane.bondOrders(); const std::vector actualBondOrder = after.bondOrders(); for (size_t i = 0; i < expectedBondOrder.size(); i++) EXPECT_EQ(expectedBondOrder[i], actualBondOrder[i]); } avogadrolibs-1.93.0/tests/protocall/protocalltests.h.in000066400000000000000000000002221360735163600232670ustar00rootroot00000000000000#ifndef AVOGADRO_PROTOCALLTESTS_H #define AVOGADRO_PROTOCALLTESTS_H #define AVOGADRO_DATA "@AVOGADRO_DATA@" #endif // AVOGADRO_PROTOCALLTESTS_H avogadrolibs-1.93.0/tests/qtgui/000077500000000000000000000000001360735163600165655ustar00rootroot00000000000000avogadrolibs-1.93.0/tests/qtgui/CMakeLists.txt000066400000000000000000000034671360735163600213370ustar00rootroot00000000000000include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${AvogadroLibs_BINARY_DIR}/avogadro/qtgui" "${AvogadroLibs_BINARY_DIR}/avogadro/molequeue" "${AvogadroLibs_SOURCE_DIR}/tests/core") find_package(Qt5 COMPONENTS Widgets Network Test REQUIRED) # Pull in MoleQueue for QtJson find_package(MoleQueue REQUIRED NO_MODULE) include_directories(${MoleQueue_INCLUDE_DIRS}) # Find python 2.x interpreter for input generator find_package(PythonInterp 2) if(PYTHON_EXECUTABLE) set(PYTHON2_EXECUTABLE "${PYTHON_EXECUTABLE}") endif() # Setup config file with data location if(AVOGADRO_DATA_ROOT) set(AVOGADRO_DATA ${AVOGADRO_DATA_ROOT}) endif() configure_file("${CMAKE_CURRENT_SOURCE_DIR}/qtguitests.h.in" "${CMAKE_CURRENT_BINARY_DIR}/qtguitests.h" @ONLY) # Specify the name of each test (the Test will be appended where needed). set(tests GenericHighlighter HydrogenTools Molecule MoleQueueQueueListModel RWMolecule ) if(PYTHON2_EXECUTABLE AND AVOGADRO_DATA) list(APPEND tests FileBrowseWidget # FIXME: These two tests are broken # InputGenerator # InputGeneratorWidget ) endif() # Build up the source file names. set(testSrcs "") foreach(TestName ${tests}) message(STATUS "Adding ${TestName} test.") string(TOLOWER ${TestName} testname) list(APPEND testSrcs ${testname}test.cpp) endforeach() # Add a single executable for all of our tests. add_executable(AvogadroQtGuiTests ${testSrcs}) target_link_libraries(AvogadroQtGuiTests AvogadroQtGui AvogadroMoleQueue MoleQueueClient ${GTEST_BOTH_LIBRARIES} ${EXTRA_LINK_LIB} Qt5::Widgets Qt5::Test) # Now add all of the tests, using the gtest_filter argument so that only those # cases are run in each test invocation. foreach(TestName ${tests}) add_test(NAME "QtGui-${TestName}" COMMAND AvogadroQtGuiTests "--gtest_filter=${TestName}Test.*") endforeach() avogadrolibs-1.93.0/tests/qtgui/filebrowsewidgettest.cpp000066400000000000000000000053401360735163600235400ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "qtguitests.h" #include #include #include #include #include #include using Avogadro::QtGui::FileBrowseWidget; // Need a QApplication to instantiate widget #define START_QAPP \ int argc = 1; \ char argName[] = "FakeApp.exe"; \ char* argv[2] = { argName, nullptr }; \ QApplication app(argc, argv); \ Q_UNUSED(app) TEST(FileBrowseWidgetTest, setFileName) { START_QAPP; FileBrowseWidget widget; QSignalSpy spy(&widget, SIGNAL(fileNameChanged(QString))); widget.setFileName("some file"); EXPECT_EQ(1, spy.count()); EXPECT_STREQ("some file", qPrintable(spy.front().front().toString())); EXPECT_STREQ("some file", qPrintable(widget.fileName())); EXPECT_STREQ("some file", qPrintable(widget.lineEdit()->text())); } TEST(FileBrowseWidgetTest, validExistingFile) { START_QAPP; FileBrowseWidget widget; widget.setMode(FileBrowseWidget::ExistingFile); widget.setFileName(AVOGADRO_DATA "/data/ethane.cml"); EXPECT_TRUE(widget.validFileName()); widget.setFileName(AVOGADRO_DATA "/data/nonexisting.file"); EXPECT_FALSE(widget.validFileName()); } TEST(FileBrowseWidgetTest, validExecutableFile) { START_QAPP; FileBrowseWidget widget; widget.setMode(FileBrowseWidget::ExecutableFile); #ifndef Q_OS_WIN32 // Qt doesn't identify python files as exec on windows: widget.setFileName(AVOGADRO_DATA "/tests/avogadro/scripts/inputgeneratortest.py"); #else // Q_OS_WIN32 widget.setFileName("C:/Windows/System32/cmd.exe"); #endif // Q_OS_WIN32 EXPECT_TRUE(widget.validFileName()); widget.setFileName(AVOGADRO_DATA "/data/ethane.cml"); EXPECT_FALSE(widget.validFileName()); widget.setFileName(AVOGADRO_DATA "/data/nonexisting.file"); EXPECT_FALSE(widget.validFileName()); } avogadrolibs-1.93.0/tests/qtgui/generichighlightertest.cpp000066400000000000000000000152211360735163600240250ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include #include using Avogadro::QtGui::GenericHighlighter; namespace { // Extended GenericHighlighter that can export to html. Taken from // http://stackoverflow.com/questions/15280452 // This is used to verify that the rules properly highlight the correct portions // of text. // (You'd think QTextDocument::toHtml() would do this. It doesn't. :-/ ) class GenericHighlighterHtml : public GenericHighlighter { public: void asHtml(QString& html) { // Create a new document from all the selected text document. QTextCursor cursor(document()); cursor.select(QTextCursor::Document); QTextDocument* tempDocument(new QTextDocument); Q_ASSERT(tempDocument); QTextCursor tempCursor(tempDocument); tempCursor.insertFragment(cursor.selection()); tempCursor.select(QTextCursor::Document); // Set the default foreground for the inserted characters. QTextCharFormat textfmt = tempCursor.charFormat(); textfmt.setForeground(Qt::gray); tempCursor.setCharFormat(textfmt); // Apply the additional formats set by the syntax highlighter QTextBlock start = document()->findBlock(cursor.selectionStart()); QTextBlock end = document()->findBlock(cursor.selectionEnd()); end = end.next(); const int selectionStart = cursor.selectionStart(); const int endOfDocument = tempDocument->characterCount() - 1; for (QTextBlock current = start; current.isValid() && current != end; current = current.next()) { const QTextLayout* layout(current.layout()); foreach (const QTextLayout::FormatRange& range, layout->additionalFormats()) { const int startIdx = current.position() + range.start - selectionStart; const int endIdx = startIdx + range.length; if (endIdx <= 0 || startIdx >= endOfDocument) continue; tempCursor.setPosition(qMax(startIdx, 0)); tempCursor.setPosition(qMin(endIdx, endOfDocument), QTextCursor::KeepAnchor); tempCursor.setCharFormat(range.format); } } // Reset the user states since they are not interesting for (QTextBlock block = tempDocument->begin(); block.isValid(); block = block.next()) { block.setUserState(-1); } // Make sure the text appears pre-formatted, and set the background we want. tempCursor.select(QTextCursor::Document); QTextBlockFormat blockFormat = tempCursor.blockFormat(); blockFormat.setNonBreakableLines(true); // blockFormat.setBackground(Qt::black); tempCursor.setBlockFormat(blockFormat); // Finally retrieve the syntax highlighted and formatted html. html = tempCursor.selection().toHtml(); delete tempDocument; } }; } // end anon namespace // This currently seg faults... TEST(DISABLED_GenericHighlighterTest, exercise) { QTextDocument doc("A regexp will turn this blue.\n" "Only this and that will be yellow.\n" "A wildcard expression will turn this red.\n" "This string will be green.\n"); GenericHighlighterHtml highlighter; QTextCharFormat format; GenericHighlighter::Rule& regexpRule = highlighter.addRule(); regexpRule.addPattern( QRegExp("^.*regexp.*$", Qt::CaseSensitive, QRegExp::RegExp)); format.setForeground(Qt::blue); regexpRule.setFormat(format); GenericHighlighter::Rule& regexpCapRule = highlighter.addRule(); regexpCapRule.addPattern( QRegExp("^.*(this)[^\n]*(that).*$", Qt::CaseSensitive, QRegExp::RegExp)); format.setForeground(Qt::yellow); regexpCapRule.setFormat(format); GenericHighlighter::Rule& wildcardRule = highlighter.addRule(); wildcardRule.addPattern( QRegExp("A w*red.", Qt::CaseSensitive, QRegExp::Wildcard)); format.setForeground(Qt::red); wildcardRule.setFormat(format); GenericHighlighter::Rule& stringRule = highlighter.addRule(); stringRule.addPattern(QRegExp("This string will be green.", Qt::CaseSensitive, QRegExp::FixedString)); format.setForeground(Qt::green); stringRule.setFormat(format); highlighter.setDocument(&doc); highlighter.rehighlight(); QString html; highlighter.asHtml(html); QString refHtml( "\n" "" "\n" "
"
    ""
    "A regexp will turn this blue.
\n" "
"
    ""
    "Only "
    "this "
    "and "
    "that "
    "will be yellow.
\n" "
"
    ""
    "A wildcard expression will turn this red.
\n" "
"
    ""
    "This string will be green.
\n" "
"
    "
"); EXPECT_STREQ(qPrintable(refHtml), qPrintable(html)); } avogadrolibs-1.93.0/tests/qtgui/hydrogentoolstest.cpp000066400000000000000000000121301360735163600230660ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include using Avogadro::QtGui::RWAtom; using Avogadro::QtGui::HydrogenTools; using Avogadro::QtGui::Molecule; using Avogadro::QtGui::RWMolecule; TEST(HydrogenToolsTest, removeAllHydrogens) { Molecule m; RWMolecule mol(m); mol.addAtom(1); HydrogenTools::removeAllHydrogens(mol); EXPECT_EQ(mol.atomCount(), 0); RWAtom C1 = mol.addAtom(6); RWAtom C2 = mol.addAtom(6); RWAtom C3 = mol.addAtom(6); mol.addBond(C1, C2, 1); mol.addBond(C2, C3, 1); RWAtom H = mol.addAtom(1); mol.addBond(C1, H); H = mol.addAtom(1); mol.addBond(C1, H); H = mol.addAtom(1); mol.addBond(C1, H); H = mol.addAtom(1); mol.addBond(C2, H); H = mol.addAtom(1); mol.addBond(C2, H); H = mol.addAtom(1); mol.addBond(C3, H); H = mol.addAtom(1); mol.addBond(C3, H); H = mol.addAtom(1); mol.addBond(C3, H); HydrogenTools::removeAllHydrogens(mol); EXPECT_EQ(std::string("C3"), mol.molecule().formula()); } TEST(HydrogenToolsTest, adjustHydrogens_C3H8) { Molecule m; RWMolecule mol(m); RWAtom C1 = mol.addAtom(6); RWAtom C2 = mol.addAtom(6); RWAtom C3 = mol.addAtom(6); mol.addBond(C1, C2, 1); mol.addBond(C2, C3, 1); HydrogenTools::adjustHydrogens(mol); EXPECT_EQ(11, mol.atomCount()); EXPECT_EQ(10, mol.bondCount()); EXPECT_EQ(std::string("C3H8"), mol.molecule().formula()); } TEST(HydrogenToolsTest, adjustHydrogens_C2H7NO) { Molecule m; RWMolecule mol(m); RWAtom C1 = mol.addAtom(6); RWAtom C2 = mol.addAtom(6); RWAtom O1 = mol.addAtom(8); RWAtom N1 = mol.addAtom(7); mol.addBond(C1, C2, 1); mol.addBond(C2, O1, 1); mol.addBond(O1, N1, 1); HydrogenTools::adjustHydrogens(mol); EXPECT_EQ(11, mol.atomCount()); EXPECT_EQ(10, mol.bondCount()); EXPECT_EQ(std::string("C2H7NO"), mol.molecule().formula()); } TEST(HydrogenToolsTest, adjustHydrogens_C2H4O) { Molecule m; RWMolecule mol(m); RWAtom C1 = mol.addAtom(6); RWAtom C2 = mol.addAtom(6); RWAtom O1 = mol.addAtom(8); mol.addBond(C1, C2, 1); mol.addBond(C2, O1, 2); HydrogenTools::adjustHydrogens(mol); EXPECT_EQ(7, mol.atomCount()); EXPECT_EQ(6, mol.bondCount()); EXPECT_EQ(std::string("C2H4O"), mol.molecule().formula()); } TEST(HydrogenToolsTest, adjustHydrogens_adjustments) { for (int i = 0; i < 3; ++i) { HydrogenTools::Adjustment adjustment; std::string expectedFormula; switch (i) { case 0: adjustment = HydrogenTools::Add; expectedFormula = "C2H14"; break; case 1: adjustment = HydrogenTools::Remove; expectedFormula = "C2H5"; break; case 2: adjustment = HydrogenTools::AddAndRemove; expectedFormula = "C2H8"; break; } Molecule m; RWMolecule mol(m); RWAtom C1 = mol.addAtom(6); // Overbond this atom mol.addBond(C1, mol.addAtom(1)); mol.addBond(C1, mol.addAtom(1)); mol.addBond(C1, mol.addAtom(1)); mol.addBond(C1, mol.addAtom(1)); mol.addBond(C1, mol.addAtom(1)); mol.addBond(C1, mol.addAtom(1)); mol.addBond(C1, mol.addAtom(1)); mol.addBond(C1, mol.addAtom(1)); mol.addBond(C1, mol.addAtom(1)); mol.addBond(C1, mol.addAtom(1)); RWAtom C2 = mol.addAtom(6); // Underbond this atom mol.addBond(C2, mol.addAtom(1)); EXPECT_EQ(std::string("C2H11"), mol.molecule().formula()); HydrogenTools::adjustHydrogens(mol, adjustment); EXPECT_EQ(expectedFormula, mol.molecule().formula()); } } TEST(HydrogenToolsTest, valencyAdjustment_C) { Molecule m; RWMolecule mol(m); RWAtom C = mol.addAtom(6); int expectedAdjustment = 4; for (int i = 0; i < 8; ++i, --expectedAdjustment) { EXPECT_EQ(expectedAdjustment, HydrogenTools::valencyAdjustment(C)); mol.addBond(mol.addAtom(1), C, 1); } } TEST(HydrogenToolsTest, valencyAdjustment_N) { Molecule m; RWMolecule mol(m); RWAtom N = mol.addAtom(7); int expectedAdjustment = 3; for (int i = 0; i < 8; ++i, --expectedAdjustment) { if (i == 4) // neutral N can have 3 or 5 bonds in our valence model. expectedAdjustment += 2; EXPECT_EQ(expectedAdjustment, HydrogenTools::valencyAdjustment(N)); mol.addBond(mol.addAtom(1), N, 1); } } TEST(HydrogenToolsTest, valencyAdjustment_O) { Molecule m; RWMolecule mol(m); RWAtom O = mol.addAtom(8); int expectedAdjustment = 2; for (int i = 0; i < 8; ++i, --expectedAdjustment) { EXPECT_EQ(expectedAdjustment, HydrogenTools::valencyAdjustment(O)); mol.addBond(mol.addAtom(1), O, 1); } } avogadrolibs-1.93.0/tests/qtgui/inputgeneratortest.cpp000066400000000000000000000106071360735163600232430ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include "qtguitests.h" #include #include #include #include #include #include #include using Avogadro::QtGui::GenericHighlighter; using Avogadro::MoleQueue::InputGenerator; TEST(InputGeneratorTest, exercise) { QString scriptFilePath(AVOGADRO_DATA "/tests/avogadro/scripts/inputgeneratortest.py"); InputGenerator gen(scriptFilePath); EXPECT_TRUE(gen.scriptFilePath() == scriptFilePath); EXPECT_TRUE(gen.displayName() == QLatin1String("Input Generator Test")) << gen.errorList().join("\n").toStdString(); // catch syntax errors const QJsonObject genOptions(gen.options()); EXPECT_TRUE(genOptions["userOptions"].isObject()); QJsonObject userOptions(genOptions["userOptions"].toObject()); EXPECT_TRUE(userOptions["Basis"].isObject()); // Create a set of input options by setting defaults QJsonObject inputOptions; QJsonObject options; foreach (const QString& optionName, userOptions.keys()) { EXPECT_TRUE(userOptions[optionName].isObject()); QJsonObject option(userOptions[optionName].toObject()); QString optionType(option["type"].toString()); if (optionType == QLatin1String("stringList")) { QJsonArray strings(option["values"].toArray()); int index = static_cast(options["default"].toDouble()); options.insert(optionName, strings.at(index)); } else { options.insert(optionName, option["default"]); } } // Use a cml file from the test data to test file path handling. QString testFilePath(AVOGADRO_DATA "/data/ethane.cml"); options["Test FilePath"] = testFilePath; // And a fake molecule... Avogadro::Core::Molecule mol; mol.addAtom(6).setPosition3d(Avogadro::Vector3(1, 1, 1)); mol.addAtom(1).setPosition3d(Avogadro::Vector3(2, 3, 4)); mol.addAtom(8).setPosition3d(Avogadro::Vector3(-2, 3, -4)); inputOptions.insert("options", options); // Adding debugging should add another file: gen.setDebug(false); EXPECT_TRUE(gen.generateInput(inputOptions, mol)); int numFilesNoDebug(gen.numberOfInputFiles()); gen.setDebug(true); EXPECT_TRUE(gen.debug()); EXPECT_TRUE(gen.generateInput(inputOptions, mol)); EXPECT_EQ(numFilesNoDebug + 1, gen.numberOfInputFiles()); // Check that all expected files are produced EXPECT_EQ(4, gen.numberOfInputFiles()); EXPECT_TRUE(gen.fileNames().contains("job.opts")); EXPECT_TRUE(gen.fileNames().contains("job.coords")); EXPECT_TRUE(gen.fileNames().contains("job.testFilePath")); EXPECT_TRUE(gen.fileNames().contains("debug_info")); EXPECT_EQ(gen.mainFileName().toStdString(), std::string("job.opts")); // Validate the coordinates QString coords(gen.fileContents("job.coords")); EXPECT_TRUE( coords.contains("C 1.000000 0 1.000000 1 1.000000 1 Carbon")); EXPECT_TRUE( coords.contains("H 2.000000 0 3.000000 1 4.000000 1 Hydrogen")); EXPECT_TRUE( coords.contains("O -2.000000 0 3.000000 1 -4.000000 1 Oxygen")); // Validate the file returned by path QFile testFile(testFilePath); EXPECT_TRUE(testFile.open(QFile::ReadOnly)); QByteArray refData(testFile.readAll()); EXPECT_EQ(std::string(refData.constData()), gen.fileContents("job.testFilePath").toStdString()); // Check warnings/errors EXPECT_FALSE(gen.hasErrors()); EXPECT_EQ(0, gen.errorList().size()); EXPECT_EQ(5, gen.warningList().size()); // Highlight styles: GenericHighlighter* highlighter(gen.createFileHighlighter("job.opts")); EXPECT_TRUE(highlighter != nullptr); delete highlighter; highlighter = gen.createFileHighlighter("debug_info"); EXPECT_TRUE(highlighter == nullptr); delete highlighter; } avogadrolibs-1.93.0/tests/qtgui/inputgeneratorwidgettest.cpp000066400000000000000000000107451360735163600244520ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include "qtguitests.h" #include #include #include #include #include #include #include #include #include #include #include #include using Avogadro::QtGui::FileBrowseWidget; using Avogadro::MoleQueue::InputGeneratorWidget; using Avogadro::QtGui::Molecule; namespace { void flushEvents() { // Post a quit event at the end of the event queue QTimer::singleShot(0, qApp, SLOT(quit())); // Process events in the queue qApp->exec(); } } // end anon namespace TEST(InputGeneratorWidgetTest, exercise) { // Fake a QApplication -- needed to instantiate widgets. int argc = 1; char argName[] = "FakeApp.exe"; char* argv[2] = { argName, nullptr }; QApplication app(argc, argv); Q_UNUSED(app); // Setup the widget InputGeneratorWidget widget; QString scriptFilePath(AVOGADRO_DATA "/tests/avogadro/scripts/inputgeneratortest.py"); widget.setInputGeneratorScript(scriptFilePath); Molecule mol; mol.addAtom(6).setPosition3d(Avogadro::Vector3(1, 1, 1)); mol.addAtom(1).setPosition3d(Avogadro::Vector3(2, 3, 4)); mol.addAtom(8).setPosition3d(Avogadro::Vector3(-2, 3, -4)); widget.setMolecule(&mol); // Check that the generator is configured properly. EXPECT_EQ(widget.inputGenerator().displayName().toStdString(), std::string("Input Generator Test")); // Verify that appropriate widgets are produced for each parameter type: EXPECT_TRUE(widget.findChild("Test StringList") != nullptr); EXPECT_TRUE(widget.findChild("Test String") != nullptr); EXPECT_TRUE(widget.findChild("Test Integer") != nullptr); EXPECT_TRUE(widget.findChild("Test Boolean") != nullptr); EXPECT_TRUE(widget.findChild("Test FilePath") != nullptr); // Set a test filepath FileBrowseWidget* testFilePathWidget( widget.findChild("Test FilePath")); QString testFilePath(AVOGADRO_DATA "/data/ethane.cml"); testFilePathWidget->setFileName(testFilePath); // Show the widget so that events are processed widget.show(); // Clear out the event queue so that the text edits are updated: flushEvents(); // Check the contents of the filepath file: QTextEdit* filePathEdit = widget.findChild("job.testFilePath"); QFile testFile(testFilePath); EXPECT_TRUE(testFile.open(QFile::ReadOnly | QFile::Text)); QByteArray refData(testFile.readAll()); EXPECT_EQ(std::string(refData.constData()), filePathEdit->document()->toPlainText().toStdString()); // Check the coords: QTextEdit* coordsEdit = widget.findChild("job.coords"); QString coords(coordsEdit->document()->toPlainText()); EXPECT_TRUE( coords.contains("C 1.000000 0 1.000000 1 1.000000 1 Carbon")); EXPECT_TRUE( coords.contains("H 2.000000 0 3.000000 1 4.000000 1 Hydrogen")); EXPECT_TRUE( coords.contains("O -2.000000 0 3.000000 1 -4.000000 1 Oxygen")); // Test the default reset -- trigger a reset, then verify that testFilePath // is cleared (we set it earlier) QPushButton* defaultsButton(widget.findChild("defaultsButton")); defaultsButton->click(); flushEvents(); EXPECT_TRUE(testFilePathWidget->fileName().isEmpty()); EXPECT_EQ(filePathEdit->document()->toPlainText().toStdString(), std::string("Reference file '' does not exist.")); // Test the autogenerated title: QLineEdit* titleEdit = widget.findChild("Title"); EXPECT_EQ(titleEdit->placeholderText().toStdString(), std::string("CHO | Equilibrium Geometry | B3LYP/6-31G(d)")); } avogadrolibs-1.93.0/tests/qtgui/moleculetest.cpp000066400000000000000000000447351360735163600220130ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include #include #include "utils.h" using Avogadro::QtGui::Molecule; using Avogadro::QtGui::PersistentAtom; using Avogadro::QtGui::PersistentBond; using Avogadro::Core::Array; using Avogadro::Core::Atom; using Avogadro::Core::Bond; using Avogadro::Core::Color3f; using Avogadro::Core::Mesh; using Avogadro::Index; class MoleculeTest : public testing::Test { public: MoleculeTest(); protected: Molecule m_testMolecule; }; MoleculeTest::MoleculeTest() { Atom o1 = m_testMolecule.addAtom(8); Atom h2 = m_testMolecule.addAtom(1); Atom h3 = m_testMolecule.addAtom(1); Bond b[2]; b[0] = m_testMolecule.addBond(o1, h2, 1); b[1] = m_testMolecule.addBond(o1, h3, 2); o1.setPosition3d(Avogadro::Vector3(0, 0, 0)); h2.setPosition3d(Avogadro::Vector3(0.6, -0.5, 0)); h3.setPosition3d(Avogadro::Vector3(-0.6, -0.5, 0)); o1.setPosition2d(Avogadro::Vector2(0, 0)); h2.setPosition2d(Avogadro::Vector2(0.6, -0.5)); h3.setPosition2d(Avogadro::Vector2(-0.6, -0.5)); // Add some data Avogadro::Core::VariantMap data; data.setValue("test", Avogadro::Core::Variant("test")); m_testMolecule.setDataMap(data); Mesh* mesh = m_testMolecule.addMesh(); Array vertices; Array normals; Array colors; Color3f color = Color3f(23, 23, 23); colors.push_back(color); Avogadro::Vector3f vec(1.2f, 1.3f, 1.4f); vertices.push_back(vec); normals.push_back(vec); mesh->setColors(colors); mesh->setNormals(normals); mesh->setVertices(vertices); mesh->setIsoValue(1.2f); mesh->setName("testmesh"); mesh->setOtherMesh(1); mesh->setStable(false); } TEST_F(MoleculeTest, addAtom) { Molecule molecule; EXPECT_EQ(molecule.atomCount(), static_cast(0)); Atom atom = molecule.addAtom(6); EXPECT_EQ(atom.isValid(), true); EXPECT_EQ(molecule.atomCount(), static_cast(1)); EXPECT_EQ(atom.index(), 0); EXPECT_EQ(atom.atomicNumber(), static_cast(6)); Atom atom2 = molecule.addAtom(1); EXPECT_EQ(atom2.isValid(), true); EXPECT_EQ(molecule.atomCount(), static_cast(2)); EXPECT_EQ(atom2.index(), 1); EXPECT_EQ(atom2.atomicNumber(), static_cast(1)); } TEST_F(MoleculeTest, removeAtom) { Molecule molecule; Atom atom0 = molecule.addAtom(6); Atom atom1 = molecule.addAtom(1); Atom atom2 = molecule.addAtom(1); Atom atom3 = molecule.addAtom(1); Atom atom4 = molecule.addAtom(1); molecule.addBond(atom0, atom1, 1); molecule.addBond(atom0, atom2, 1); molecule.addBond(atom0, atom3, 1); molecule.addBond(atom0, atom4, 1); EXPECT_EQ(5, molecule.atomCount()); EXPECT_EQ(4, molecule.bondCount()); molecule.removeAtom(atom0); EXPECT_EQ(4, molecule.atomCount()); EXPECT_EQ(0, molecule.bondCount()); molecule.clearAtoms(); EXPECT_EQ(0, molecule.atomCount()); } TEST_F(MoleculeTest, addBond) { Molecule molecule; EXPECT_EQ(molecule.bondCount(), static_cast(0)); Atom a = molecule.addAtom(1); Atom b = molecule.addAtom(1); Bond bondAB = molecule.addBond(a, b); EXPECT_TRUE(bondAB.isValid()); EXPECT_EQ(bondAB.molecule(), &molecule); EXPECT_EQ(molecule.bondCount(), static_cast(1)); EXPECT_EQ(bondAB.index(), static_cast(0)); EXPECT_EQ(bondAB.atom1().index(), a.index()); EXPECT_EQ(bondAB.atom2().index(), b.index()); EXPECT_EQ(bondAB.order(), static_cast(1)); Atom c = molecule.addAtom(1); Bond bondBC = molecule.addBond(b, c, 2); EXPECT_TRUE(bondBC.isValid()); EXPECT_EQ(molecule.bondCount(), static_cast(2)); EXPECT_EQ(bondBC.index(), static_cast(1)); EXPECT_EQ(bondBC.order(), static_cast(2)); // try to lookup nonexistant bond Bond bond = molecule.bond(a, c); EXPECT_FALSE(bond.isValid()); // try to lookup bond between a and b bond = molecule.bond(a, b); EXPECT_TRUE(bond.isValid()); EXPECT_EQ(bond.molecule(), &molecule); EXPECT_EQ(bond.atom1().index(), a.index()); EXPECT_EQ(bond.atom2().index(), b.index()); // try to lookup bond between b and c by index bond = molecule.bond(1); EXPECT_TRUE(bond.isValid()); EXPECT_EQ(bond.molecule(), &molecule); EXPECT_EQ(bond.atom1().index(), b.index()); EXPECT_EQ(bond.atom2().index(), c.index()); } TEST_F(MoleculeTest, removeBond) { Molecule molecule; Atom a = molecule.addAtom(1); Atom b = molecule.addAtom(1); Bond bondAB = molecule.addBond(a, b); Atom c = molecule.addAtom(1); molecule.addBond(b, c, 2); EXPECT_EQ(3, molecule.atomCount()); EXPECT_EQ(2, molecule.bondCount()); EXPECT_TRUE(molecule.bond(a, b).isValid()); EXPECT_TRUE(molecule.bond(b, c).isValid()); molecule.removeBond(bondAB); EXPECT_EQ(3, molecule.atomCount()); EXPECT_EQ(1, molecule.bondCount()); EXPECT_FALSE(molecule.bond(a, b).isValid()); EXPECT_TRUE(molecule.bond(b, c).isValid()); molecule.clearBonds(); EXPECT_EQ(0, molecule.bondCount()); } TEST_F(MoleculeTest, findBond) { Molecule molecule; Atom a1 = molecule.addAtom(5); Atom a2 = molecule.addAtom(6); Bond b = molecule.addBond(a1, a2, 1); EXPECT_EQ(molecule.bond(a1, a2).index(), b.index()); EXPECT_EQ(molecule.bond(a2, a1).index(), b.index()); Array bonds = molecule.bonds(a1); EXPECT_EQ(bonds.size(), 1); Atom a3 = molecule.addAtom(7); molecule.addBond(a1, a3, 1); EXPECT_EQ(molecule.bonds(a1).size(), 2); EXPECT_EQ(molecule.bonds(a3).size(), 1); } TEST_F(MoleculeTest, uniqueAtom) { Molecule molecule; Atom a1 = molecule.addAtom(5); Atom a2 = molecule.addAtom(6); Atom a3 = molecule.addAtom(7); Bond b1 = molecule.addBond(a1, a2, 1); Bond b2 = molecule.addBond(a1, a3, 2); Index uid1 = molecule.atomUniqueId(a1); Index uid2 = molecule.atomUniqueId(a2); Index uid3 = molecule.atomUniqueId(a3); EXPECT_EQ(uid1, 0); EXPECT_EQ(uid2, 1); EXPECT_EQ(uid3, 2); EXPECT_EQ(molecule.bond(a1, a2).index(), b1.index()); EXPECT_EQ(molecule.bond(a2, a1).index(), b1.index()); EXPECT_EQ(molecule.bond(a3, a1).index(), b2.index()); Array bonds = molecule.bonds(a1); EXPECT_EQ(bonds.size(), 2); molecule.removeAtom(a2); bonds = molecule.bonds(a1); EXPECT_EQ(bonds.size(), 1); Atom a4 = molecule.addAtom(8); Index uid4 = molecule.atomUniqueId(a4); EXPECT_EQ(uid4, 3); molecule.addBond(a1, a4, 1); EXPECT_EQ(molecule.bonds(a1).size(), 2); EXPECT_EQ(molecule.bonds(a3).size(), 1); // Check we can get the invalid atom, and also resolve the unique IDs to the // correct atom objects. Atom test = molecule.atomByUniqueId(uid1); EXPECT_TRUE(a1 == test); test = molecule.atomByUniqueId(uid2); EXPECT_FALSE(test.isValid()); test = molecule.atomByUniqueId(uid4); EXPECT_FALSE(a1 == test); EXPECT_TRUE(a4 == test); EXPECT_TRUE(a2 != test); EXPECT_EQ(test.atomicNumber(), 8); } TEST_F(MoleculeTest, uniqueAtomRestore) { Molecule molecule; Atom a1 = molecule.addAtom(5); Atom a2 = molecule.addAtom(6); Atom a3 = molecule.addAtom(7); molecule.addBond(a1, a2, 1); molecule.addBond(a1, a3, 2); Index uid1 = molecule.atomUniqueId(a1); Index uid2 = molecule.atomUniqueId(a2); molecule.removeAtom(a2); Atom a4 = molecule.addAtom(8); molecule.addBond(a1, a4, 1); // Check we can get the invalid atom, and also resolve the unique IDs to the // correct atom objects. Atom test = molecule.atomByUniqueId(uid1); EXPECT_TRUE(a1 == test); test = molecule.atomByUniqueId(uid2); EXPECT_FALSE(test.isValid()); test = molecule.addAtom(8, uid2); EXPECT_TRUE(test.isValid()); EXPECT_TRUE(molecule.atomByUniqueId(uid2).isValid()); } TEST_F(MoleculeTest, persistentAtom) { Molecule molecule; Atom a1 = molecule.addAtom(5); Atom a2 = molecule.addAtom(6); Atom a3 = molecule.addAtom(7); molecule.addBond(a1, a2, 1); molecule.addBond(a1, a3, 2); Molecule::PersistentAtomType pa1(a1); Molecule::PersistentAtomType pa2(&molecule, molecule.atomUniqueId(a2)); Molecule::PersistentAtomType pa3(&molecule, molecule.atomUniqueId(a3)); EXPECT_EQ(pa1.uniqueIdentifier(), 0); EXPECT_EQ(pa2.uniqueIdentifier(), 1); EXPECT_EQ(pa3.uniqueIdentifier(), 2); molecule.removeAtom(a2); Atom a4 = molecule.addAtom(8); Molecule::PersistentAtomType pa4(&molecule, molecule.atomUniqueId(a4)); EXPECT_EQ(pa4.uniqueIdentifier(), 3); molecule.addBond(a1, a4, 1); // Check we can get the invalid atom, and also resolve the unique IDs to the // correct atom objects from their persistent atom containers. Atom test = pa1.atom(); EXPECT_TRUE(a1 == test); test = pa2.atom(); EXPECT_FALSE(pa2.isValid()); EXPECT_FALSE(test.isValid()); test = pa4.atom(); EXPECT_FALSE(a1 == test); EXPECT_TRUE(a4 == test); EXPECT_TRUE(a2 != test); EXPECT_EQ(test.atomicNumber(), 8); } TEST_F(MoleculeTest, persistentAtomRestore) { Molecule molecule; Atom a1 = molecule.addAtom(5); Atom a2 = molecule.addAtom(6); Atom a3 = molecule.addAtom(7); molecule.addBond(a1, a2, 1); molecule.addBond(a1, a3, 2); Molecule::PersistentAtomType pa1(a1); Molecule::PersistentAtomType pa2(&molecule, molecule.atomUniqueId(a2)); molecule.removeAtom(pa2.atom()); Atom a4 = molecule.addAtom(8); molecule.addBond(a1, a4, 1); // Check we can get the invalid atom, and also resolve the unique IDs to the // correct atom objects from their persistent atom containers. Atom test = pa1.atom(); EXPECT_TRUE(a1 == test); test = pa2.atom(); EXPECT_FALSE(test.isValid()); test = molecule.addAtom(8, pa2.uniqueIdentifier()); EXPECT_TRUE(test.isValid()); EXPECT_TRUE(pa2.isValid()); } TEST_F(MoleculeTest, uniqueBond) { Molecule molecule; Atom a1 = molecule.addAtom(5); Atom a2 = molecule.addAtom(6); Atom a3 = molecule.addAtom(7); Atom a4 = molecule.addAtom(8); Bond b[5]; b[0] = molecule.addBond(a1, a2, 1); b[1] = molecule.addBond(a1, a3, 2); b[2] = molecule.addBond(a1, a4, 3); b[3] = molecule.addBond(a4, a3, 2); b[4] = molecule.addBond(a2, a3, 1); Index uid[5]; for (int i = 0; i < 5; ++i) uid[i] = molecule.bondUniqueId(b[i]); EXPECT_EQ(molecule.bondByUniqueId(uid[0]).order(), 1); EXPECT_EQ(molecule.bondByUniqueId(uid[1]).order(), 2); EXPECT_EQ(molecule.bondByUniqueId(uid[2]).order(), 3); EXPECT_EQ(molecule.bondByUniqueId(uid[3]).order(), 2); EXPECT_EQ(molecule.bondByUniqueId(uid[4]).order(), 1); molecule.removeBond(b[2]); EXPECT_EQ(molecule.bondByUniqueId(uid[0]).order(), 1); EXPECT_EQ(molecule.bondByUniqueId(uid[1]).order(), 2); EXPECT_TRUE(molecule.bondByUniqueId(uid[4]).isValid()); EXPECT_FALSE(molecule.bondByUniqueId(uid[2]).isValid()); EXPECT_EQ(molecule.bondByUniqueId(uid[3]).order(), 2); EXPECT_EQ(molecule.bondByUniqueId(uid[4]).order(), 1); EXPECT_EQ(molecule.bondByUniqueId(uid[3]), b[3]); } TEST_F(MoleculeTest, uniqueBondRestore) { Molecule molecule; Atom a1 = molecule.addAtom(5); Atom a2 = molecule.addAtom(6); Atom a3 = molecule.addAtom(7); Atom a4 = molecule.addAtom(8); Bond b[5]; b[0] = molecule.addBond(a1, a2, 1); b[1] = molecule.addBond(a1, a3, 2); b[2] = molecule.addBond(a1, a4, 3); b[3] = molecule.addBond(a4, a3, 2); b[4] = molecule.addBond(a2, a3, 1); Index uid[5]; for (int i = 0; i < 5; ++i) uid[i] = molecule.bondUniqueId(b[i]); molecule.removeBond(b[2]); EXPECT_EQ(molecule.bondByUniqueId(uid[0]).order(), 1); EXPECT_EQ(molecule.bondByUniqueId(uid[1]).order(), 2); EXPECT_TRUE(molecule.bondByUniqueId(uid[4]).isValid()); EXPECT_FALSE(molecule.bondByUniqueId(uid[2]).isValid()); EXPECT_EQ(molecule.bondByUniqueId(uid[3]).order(), 2); EXPECT_EQ(molecule.bondByUniqueId(uid[4]).order(), 1); EXPECT_EQ(molecule.bondByUniqueId(uid[3]), b[3]); molecule.addBond(a1, a4, 3, uid[2]); EXPECT_TRUE(molecule.bondByUniqueId(uid[2]).isValid()); EXPECT_EQ(molecule.bondByUniqueId(uid[2]).order(), 3); } TEST_F(MoleculeTest, atomCount) { Molecule mol; mol.addAtom(8); mol.addAtom(1); mol.addAtom(1); // Check the total count, and the counts of specific elements. EXPECT_EQ(mol.atomCount(), 3); EXPECT_EQ(mol.atomCount(1), 2); EXPECT_EQ(mol.atomCount(8), 1); EXPECT_EQ(mol.atomCount(42), 0); } TEST_F(MoleculeTest, mass) { Molecule mol; EXPECT_DOUBLE_EQ(mol.mass(), 0.0); Atom a = mol.addAtom(8); mol.addAtom(1); mol.addAtom(1); EXPECT_DOUBLE_EQ(mol.mass(), 18.01508); a.setAtomicNumber(9); EXPECT_DOUBLE_EQ(mol.mass(), 21.01408); } TEST_F(MoleculeTest, persistentBond) { Molecule molecule; Atom a1 = molecule.addAtom(5); Atom a2 = molecule.addAtom(6); Atom a3 = molecule.addAtom(7); Atom a4 = molecule.addAtom(8); Bond b[5]; b[0] = molecule.addBond(a1, a2, 1); b[1] = molecule.addBond(a1, a3, 2); b[2] = molecule.addBond(a1, a4, 3); b[3] = molecule.addBond(a4, a3, 2); b[4] = molecule.addBond(a2, a3, 1); Molecule::PersistentBondType pbond[5]; for (int i = 0; i < 4; ++i) pbond[i].set(b[i]); pbond[4].set(&molecule, molecule.bondUniqueId(b[4])); EXPECT_EQ(pbond[0].bond().order(), 1); EXPECT_EQ(pbond[1].bond().order(), 2); EXPECT_EQ(pbond[2].bond().order(), 3); EXPECT_EQ(pbond[3].bond().order(), 2); EXPECT_EQ(pbond[4].bond().order(), 1); molecule.removeBond(b[2]); EXPECT_EQ(pbond[0].bond().order(), 1); EXPECT_EQ(pbond[1].bond().order(), 2); EXPECT_TRUE(pbond[4].isValid()); EXPECT_FALSE(pbond[2].isValid()); EXPECT_EQ(pbond[3].bond().order(), 2); EXPECT_EQ(pbond[4].bond().order(), 1); EXPECT_EQ(pbond[3].bond(), b[3]); } TEST_F(MoleculeTest, persistentBondRestore) { Molecule molecule; Atom a1 = molecule.addAtom(5); Atom a2 = molecule.addAtom(6); Atom a3 = molecule.addAtom(7); Atom a4 = molecule.addAtom(8); Bond b[5]; b[0] = molecule.addBond(a1, a2, 1); b[1] = molecule.addBond(a1, a3, 2); b[2] = molecule.addBond(a1, a4, 3); b[3] = molecule.addBond(a4, a3, 2); b[4] = molecule.addBond(a2, a3, 1); Molecule::PersistentBondType pbond[5]; for (int i = 0; i < 5; ++i) pbond[i].set(&molecule, molecule.bondUniqueId(b[i])); molecule.removeBond(b[2]); EXPECT_EQ(pbond[0].bond().order(), 1); EXPECT_EQ(pbond[1].bond().order(), 2); EXPECT_TRUE(pbond[4].isValid()); EXPECT_FALSE(pbond[2].isValid()); EXPECT_EQ(pbond[3].bond().order(), 2); EXPECT_EQ(pbond[4].bond().order(), 1); EXPECT_EQ(pbond[3].bond(), b[3]); molecule.addBond(a1, a4, 3, pbond[2].uniqueIdentifier()); EXPECT_TRUE(pbond[2].isValid()); EXPECT_EQ(pbond[2].bond().order(), 3); } TEST_F(MoleculeTest, copy) { Molecule copy(m_testMolecule); assertEqual(m_testMolecule, copy); EXPECT_EQ(copy.atomByUniqueId(0).atomicNumber(), 8); EXPECT_EQ(copy.atomByUniqueId(1).atomicNumber(), 1); EXPECT_EQ(copy.atomByUniqueId(2).atomicNumber(), 1); EXPECT_FALSE(copy.atomByUniqueId(3).isValid()); EXPECT_EQ(copy.bondByUniqueId(0).atom1().atomicNumber(), 8); EXPECT_EQ(copy.bondByUniqueId(0).atom2().atomicNumber(), 1); EXPECT_EQ(copy.bondByUniqueId(1).atom1().atomicNumber(), 8); EXPECT_EQ(copy.bondByUniqueId(1).atom2().atomicNumber(), 1); EXPECT_FALSE(copy.bondByUniqueId(2).isValid()); } TEST_F(MoleculeTest, assignment) { Molecule assign; assign = m_testMolecule; assertEqual(m_testMolecule, assign); EXPECT_EQ(assign.atomByUniqueId(0).atomicNumber(), 8); EXPECT_EQ(assign.atomByUniqueId(1).atomicNumber(), 1); EXPECT_EQ(assign.atomByUniqueId(2).atomicNumber(), 1); EXPECT_FALSE(assign.atomByUniqueId(3).isValid()); EXPECT_EQ(assign.bondByUniqueId(0).atom1().atomicNumber(), 8); EXPECT_EQ(assign.bondByUniqueId(0).atom2().atomicNumber(), 1); EXPECT_EQ(assign.bondByUniqueId(1).atom1().atomicNumber(), 8); EXPECT_EQ(assign.bondByUniqueId(1).atom2().atomicNumber(), 1); EXPECT_FALSE(assign.bondByUniqueId(2).isValid()); } TEST_F(MoleculeTest, baseAssignment) { // Create a base molecule Avogadro::Core::Molecule baseMolecule; Atom o1 = baseMolecule.addAtom(8); Atom h2 = baseMolecule.addAtom(1); Atom h3 = baseMolecule.addAtom(1); Bond b[2]; b[0] = baseMolecule.addBond(o1, h2, 1); b[1] = baseMolecule.addBond(o1, h3, 2); o1.setPosition3d(Avogadro::Vector3(0, 0, 0)); h2.setPosition3d(Avogadro::Vector3(0.6, -0.5, 0)); h3.setPosition3d(Avogadro::Vector3(-0.6, -0.5, 0)); o1.setPosition2d(Avogadro::Vector2(0, 0)); h2.setPosition2d(Avogadro::Vector2(0.6, -0.5)); h3.setPosition2d(Avogadro::Vector2(-0.6, -0.5)); // Add some data Avogadro::Core::VariantMap data; data.setValue("test", Avogadro::Core::Variant("test")); baseMolecule.setDataMap(data); Mesh* mesh = baseMolecule.addMesh(); Array vertices; Array normals; Array colors; Color3f color = Color3f(23, 23, 23); colors.push_back(color); Avogadro::Vector3f vec(1.2f, 1.3f, 1.4f); vertices.push_back(vec); normals.push_back(vec); mesh->setColors(colors); mesh->setNormals(normals); mesh->setVertices(vertices); mesh->setIsoValue(1.2f); mesh->setName("testmesh"); mesh->setOtherMesh(1); mesh->setStable(false); Avogadro::QtGui::Molecule qtMolecule; qtMolecule.addAtom(6); Atom a1 = qtMolecule.addAtom(4); Atom a2 = qtMolecule.addAtom(5); qtMolecule.addBond(a1, a2); qtMolecule = baseMolecule; assertEqual(baseMolecule, qtMolecule); // Check the ids have reset EXPECT_EQ(qtMolecule.atomByUniqueId(0).atomicNumber(), o1.atomicNumber()); EXPECT_EQ(qtMolecule.atomByUniqueId(1).atomicNumber(), h2.atomicNumber()); EXPECT_EQ(qtMolecule.atomByUniqueId(2).atomicNumber(), h3.atomicNumber()); EXPECT_FALSE(qtMolecule.atomByUniqueId(3).isValid()); EXPECT_EQ(qtMolecule.bondByUniqueId(0).atom1().atomicNumber(), b[0].atom1().atomicNumber()); EXPECT_EQ(qtMolecule.bondByUniqueId(0).atom2().atomicNumber(), b[0].atom2().atomicNumber()); EXPECT_EQ(qtMolecule.bondByUniqueId(1).atom1().atomicNumber(), b[1].atom1().atomicNumber()); EXPECT_EQ(qtMolecule.bondByUniqueId(1).atom2().atomicNumber(), b[1].atom2().atomicNumber()); EXPECT_FALSE(qtMolecule.bondByUniqueId(2).isValid()); } avogadrolibs-1.93.0/tests/qtgui/molequeuequeuelistmodeltest.cpp000066400000000000000000000113471360735163600251620ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include using Avogadro::MoleQueue::MoleQueueQueueListModel; // Allow access to protected members (like ctor, setQueueList) class MoleQueueQueueListModelTestBridge { private: MoleQueueQueueListModel m_model; public: MoleQueueQueueListModel& model() { return m_model; } void setQueueList(QList queueList, QList programList) { m_model.setQueueList(queueList, programList); } }; namespace { // Populate the model with a testing set of queues and programs. The queues and // programs arguments will be overwritten by the data set in the model. // Queues are named "Queue M", where M is in the range (0, numQueues]. // Programs are named "QMPN", where M is the queue id, and N is the program id. // The number of programs is determined by N = ((M+3) * (M+2)) % 5 + 2. void populateModel(MoleQueueQueueListModelTestBridge& model, int numQueues, QStringList& queues, QList& programs) { queues.clear(); programs.clear(); for (int queueId = 1; queueId <= numQueues; ++queueId) { queues.append(QString("Queue %1").arg(queueId)); programs.append(QStringList()); QStringList& programList = programs.back(); const int numPrograms = ((queueId + 3) * (queueId + 2)) % 5 + 2; for (int programId = 1; programId <= numPrograms; ++programId) programList.append(QString("Q%1P%2").arg(queueId).arg(programId)); } model.setQueueList(queues, programs); } } // end anon namespace TEST(MoleQueueQueueListModelTest, setQueues) { MoleQueueQueueListModelTestBridge modelBridge; MoleQueueQueueListModel& model = modelBridge.model(); QStringList refQueues; QList refPrograms; populateModel(modelBridge, 10, refQueues, refPrograms); EXPECT_EQ(10, model.queues().size()); EXPECT_EQ(refQueues, model.queues()); QListIterator queueIter(refQueues); QListIterator programIter(refPrograms); while (queueIter.hasNext() && programIter.hasNext()) EXPECT_EQ(programIter.next(), model.programs(queueIter.next())); EXPECT_FALSE(programIter.hasNext() || queueIter.hasNext()) << "queue/program size mismatch."; } TEST(MoleQueueQueueListModelTest, findQueueIndices) { MoleQueueQueueListModelTestBridge modelBridge; MoleQueueQueueListModel& model = modelBridge.model(); QStringList refQueues; QList refPrograms; populateModel(modelBridge, 10, refQueues, refPrograms); QModelIndexList matches = model.findQueueIndices("Queue 7"); EXPECT_EQ(1, matches.size()); EXPECT_EQ( model.data(matches.front(), Qt::DisplayRole).toString().toStdString(), std::string("Queue 7")); } TEST(MoleQueueQueueListModelTest, findProgramIndices) { MoleQueueQueueListModelTestBridge modelBridge; MoleQueueQueueListModel& model = modelBridge.model(); QStringList refQueues; QList refPrograms; populateModel(modelBridge, 10, refQueues, refPrograms); QModelIndexList matches = model.findProgramIndices("Q7P2"); EXPECT_EQ(1, matches.size()); EXPECT_EQ( model.data(matches.front(), Qt::DisplayRole).toString().toStdString(), std::string("Q7P2")); // All 10 queues should have a program #2: matches = model.findProgramIndices("P2"); EXPECT_EQ(10, matches.size()); // Should match programs from queue 1 and 10: matches = model.findProgramIndices("P2", "Queue 1"); EXPECT_EQ(2, matches.size()); // nothing should match this matches = model.findProgramIndices("No match"); EXPECT_EQ(0, matches.size()); } TEST(MoleQueueQueueListModelTest, lookupProgram) { MoleQueueQueueListModelTestBridge modelBridge; MoleQueueQueueListModel& model = modelBridge.model(); QStringList refQueues; QList refPrograms; populateModel(modelBridge, 10, refQueues, refPrograms); QModelIndexList matches = model.findProgramIndices("Q7P2"); EXPECT_EQ(1, matches.size()); QString queue; QString program; EXPECT_TRUE(model.lookupProgram(matches.front(), queue, program)); EXPECT_EQ(std::string("Queue 7"), queue.toStdString()); EXPECT_EQ(std::string("Q7P2"), program.toStdString()); } avogadrolibs-1.93.0/tests/qtgui/qtguitests.h.in000066400000000000000000000002061360735163600215550ustar00rootroot00000000000000#ifndef AVOGADRO_QTGUITESTS_H #define AVOGADRO_QTGUITESTS_H #define AVOGADRO_DATA "@AVOGADRO_DATA@" #endif // AVOGADRO_QTGUITESTS_H avogadrolibs-1.93.0/tests/qtgui/rwmoleculetest.cpp000066400000000000000000000600641360735163600223550ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include using Avogadro::Core::Array; using Avogadro::QtGui::RWMolecule; using Avogadro::QtGui::Molecule; using Avogadro::Index; using Avogadro::Real; using Avogadro::Vector3; // TODO move this to an algorithms header #include #include #include #include template std::string formula(const MoleculeType& mol) { // Adapted from chemkit: // A map of atomic symbols to their quantity. std::map composition; for (Array::const_iterator it = mol.atomicNumbers().begin(), itEnd = mol.atomicNumbers().end(); it != itEnd; ++it) { composition[*it]++; } std::stringstream result; std::map::iterator iter; // Carbons first iter = composition.find(6); if (iter != composition.end()) { result << "C"; if (iter->second > 1) result << iter->second; composition.erase(iter); // If carbon is present, hydrogens are next. iter = composition.find(1); if (iter != composition.end()) { result << "H"; if (iter->second > 1) result << iter->second; composition.erase(iter); } } // The rest: iter = composition.begin(); while (iter != composition.end()) { result << Avogadro::Core::Elements::symbol(iter->first); if (iter->second > 1) result << iter->second; ++iter; } return result.str(); } TEST(RWMoleculeTest, addAtom) { Molecule m; RWMolecule mol(m); mol.addAtom(1); // H mol.addAtom(5); // B mol.addAtom(6); // C mol.addAtom(7); // N mol.addAtom(8); // O EXPECT_EQ(5, mol.atomCount()); EXPECT_EQ(std::string("CHBNO"), formula(mol)); mol.undoStack().undo(); EXPECT_EQ(4, mol.atomCount()); EXPECT_EQ(std::string("CHBN"), formula(mol)); mol.undoStack().undo(); EXPECT_EQ(3, mol.atomCount()); EXPECT_EQ(std::string("CHB"), formula(mol)); mol.undoStack().undo(); EXPECT_EQ(2, mol.atomCount()); EXPECT_EQ(std::string("HB"), formula(mol)); mol.undoStack().undo(); EXPECT_EQ(1, mol.atomCount()); EXPECT_EQ(std::string("H"), formula(mol)); mol.undoStack().undo(); EXPECT_EQ(0, mol.atomCount()); EXPECT_FALSE(mol.undoStack().canUndo()); mol.undoStack().redo(); EXPECT_EQ(1, mol.atomCount()); EXPECT_EQ(std::string("H"), formula(mol)); mol.undoStack().redo(); EXPECT_EQ(2, mol.atomCount()); EXPECT_EQ(std::string("HB"), formula(mol)); mol.undoStack().redo(); EXPECT_EQ(3, mol.atomCount()); EXPECT_EQ(std::string("CHB"), formula(mol)); mol.undoStack().redo(); EXPECT_EQ(4, mol.atomCount()); EXPECT_EQ(std::string("CHBN"), formula(mol)); mol.undoStack().redo(); EXPECT_EQ(5, mol.atomCount()); EXPECT_EQ(std::string("CHBNO"), formula(mol)); EXPECT_FALSE(mol.undoStack().canRedo()); // Are the uids what we expect? for (Index i = 0; i < 5; ++i) EXPECT_EQ(i, mol.atomUniqueId(i)); } TEST(RWMoleculeTest, removeAtom) { Molecule m; RWMolecule mol(m); typedef RWMolecule::AtomType Atom; Atom a0 = mol.addAtom(1); // H Atom a1 = mol.addAtom(2); // He Atom a2 = mol.addAtom(3); // Li Atom a3 = mol.addAtom(4); // Be Atom a4 = mol.addAtom(5); // B const Vector3 pos(Real(1), Real(2), Real(3)); mol.setAtomPosition3d(0, pos); ASSERT_EQ(5, mol.atomCount()); ASSERT_EQ(std::string("HHeLiBeB"), formula(mol)); // Add some bonds to ensure that they are properly added/removed when a bonded // atom is removed. ASSERT_TRUE(mol.addBond(a0, a1, 0).isValid()); ASSERT_TRUE(mol.addBond(a1, a2, 1).isValid()); ASSERT_TRUE(mol.addBond(a2, a3, 2).isValid()); ASSERT_TRUE(mol.addBond(a3, a4, 3).isValid()); ASSERT_TRUE(mol.addBond(a0, a2, 4).isValid()); ASSERT_TRUE(mol.addBond(a1, a3, 5).isValid()); ASSERT_TRUE(mol.addBond(a2, a4, 6).isValid()); ASSERT_TRUE(mol.addBond(a0, a3, 7).isValid()); ASSERT_TRUE(mol.addBond(a1, a4, 8).isValid()); ASSERT_TRUE(mol.addBond(a0, a4, 9).isValid()); ASSERT_EQ(10, mol.bondCount()); EXPECT_TRUE(mol.removeAtom(2)); EXPECT_EQ(4, mol.atomCount()); EXPECT_EQ(6, mol.bondCount()); EXPECT_EQ(std::string("HHeBeB"), formula(mol)); EXPECT_FALSE(mol.atomByUniqueId(2).isValid()); EXPECT_FALSE(mol.bondByUniqueId(1).isValid()); EXPECT_FALSE(mol.bondByUniqueId(2).isValid()); EXPECT_FALSE(mol.bondByUniqueId(4).isValid()); EXPECT_FALSE(mol.bondByUniqueId(6).isValid()); EXPECT_TRUE(mol.removeAtom(0)); EXPECT_EQ(3, mol.atomCount()); EXPECT_EQ(3, mol.bondCount()); EXPECT_EQ(std::string("HeBeB"), formula(mol)); EXPECT_FALSE(mol.atomByUniqueId(0).isValid()); EXPECT_FALSE(mol.bondByUniqueId(0).isValid()); EXPECT_FALSE(mol.bondByUniqueId(7).isValid()); EXPECT_FALSE(mol.bondByUniqueId(9).isValid()); // atom 0 was the only one with a position, so all positions should be 0,0,0: for (Index i = 0; i < mol.atomCount(); ++i) { EXPECT_EQ(Real(0), mol.atomPosition3d(i).x()) << " for atom index " << i; EXPECT_EQ(Real(0), mol.atomPosition3d(i).y()) << " for atom index " << i; EXPECT_EQ(Real(0), mol.atomPosition3d(i).z()) << " for atom index " << i; } mol.undoStack().undo(); EXPECT_EQ(4, mol.atomCount()); EXPECT_EQ(6, mol.bondCount()); EXPECT_EQ(std::string("HHeBeB"), formula(mol)); EXPECT_FALSE(mol.atomByUniqueId(2).isValid()); EXPECT_FALSE(mol.bondByUniqueId(1).isValid()); EXPECT_FALSE(mol.bondByUniqueId(2).isValid()); EXPECT_FALSE(mol.bondByUniqueId(4).isValid()); EXPECT_FALSE(mol.bondByUniqueId(6).isValid()); EXPECT_TRUE(mol.atomByUniqueId(0).isValid()); EXPECT_TRUE(mol.bondByUniqueId(0).isValid()); EXPECT_TRUE(mol.bondByUniqueId(7).isValid()); EXPECT_TRUE(mol.bondByUniqueId(9).isValid()); EXPECT_EQ(pos.x(), mol.atomPosition3d(0).x()); EXPECT_EQ(pos.y(), mol.atomPosition3d(0).y()); EXPECT_EQ(pos.z(), mol.atomPosition3d(0).z()); mol.undoStack().undo(); ASSERT_EQ(5, mol.atomCount()); ASSERT_EQ(10, mol.bondCount()); ASSERT_EQ(std::string("HHeLiBeB"), formula(mol)); for (Index i = 0; i < mol.atomCount(); ++i) { EXPECT_EQ(static_cast(i + 1), mol.atomicNumber(i)); EXPECT_EQ(i, mol.atomUniqueId(i)); } #define VALIDATE_BOND(ind, atom1, atom2, order, uid) \ EXPECT_EQ(std::make_pair(Index(atom1), Index(atom2)), mol.bondPair(ind)); \ EXPECT_EQ(static_cast(order), mol.bondOrder(ind)); \ EXPECT_EQ(uid, mol.bondUniqueId(ind)) VALIDATE_BOND(0, 0, 1, 0, 0); VALIDATE_BOND(1, 1, 2, 1, 1); VALIDATE_BOND(2, 2, 3, 2, 2); VALIDATE_BOND(3, 3, 4, 3, 3); VALIDATE_BOND(4, 0, 2, 4, 4); VALIDATE_BOND(5, 1, 3, 5, 5); VALIDATE_BOND(6, 2, 4, 6, 6); VALIDATE_BOND(7, 0, 3, 7, 7); VALIDATE_BOND(8, 1, 4, 8, 8); VALIDATE_BOND(9, 0, 4, 9, 9); #undef VALIDATE_BOND } TEST(RWMoleculeTest, clearAtoms) { Molecule m; RWMolecule mol(m); typedef RWMolecule::AtomType Atom; Atom a0 = mol.addAtom(1); // H Atom a1 = mol.addAtom(2); // He Atom a2 = mol.addAtom(3); // Li Atom a3 = mol.addAtom(4); // Be Atom a4 = mol.addAtom(5); // B const Vector3 pos(Real(1), Real(2), Real(3)); mol.setAtomPosition3d(0, pos); ASSERT_EQ(5, mol.atomCount()); ASSERT_EQ(std::string("HHeLiBeB"), formula(mol)); // Add some bonds to ensure that they are properly added/removed when a bonded // atom is removed. ASSERT_TRUE(mol.addBond(a0, a1, 0).isValid()); ASSERT_TRUE(mol.addBond(a1, a2, 1).isValid()); ASSERT_TRUE(mol.addBond(a2, a3, 2).isValid()); ASSERT_TRUE(mol.addBond(a3, a4, 3).isValid()); ASSERT_TRUE(mol.addBond(a0, a2, 4).isValid()); ASSERT_TRUE(mol.addBond(a1, a3, 5).isValid()); ASSERT_TRUE(mol.addBond(a2, a4, 6).isValid()); ASSERT_TRUE(mol.addBond(a0, a3, 7).isValid()); ASSERT_TRUE(mol.addBond(a1, a4, 8).isValid()); ASSERT_TRUE(mol.addBond(a0, a4, 9).isValid()); ASSERT_EQ(10, mol.bondCount()); mol.clearAtoms(); EXPECT_EQ(0, mol.atomCount()); EXPECT_EQ(0, mol.bondCount()); mol.undoStack().undo(); ASSERT_EQ(5, mol.atomCount()); ASSERT_EQ(10, mol.bondCount()); ASSERT_EQ(std::string("HHeLiBeB"), formula(mol)); for (Index i = 0; i < mol.atomCount(); ++i) { EXPECT_EQ(static_cast(i + 1), mol.atomicNumber(i)); EXPECT_EQ(i, mol.atomUniqueId(i)); } #define VALIDATE_BOND(ind, atom1, atom2, order, uid) \ EXPECT_EQ(std::make_pair(Index(atom1), Index(atom2)), mol.bondPair(ind)); \ EXPECT_EQ(static_cast(order), mol.bondOrder(ind)); \ EXPECT_EQ(uid, mol.bondUniqueId(ind)) VALIDATE_BOND(0, 0, 1, 0, 0); VALIDATE_BOND(1, 1, 2, 1, 1); VALIDATE_BOND(2, 2, 3, 2, 2); VALIDATE_BOND(3, 3, 4, 3, 3); VALIDATE_BOND(4, 0, 2, 4, 4); VALIDATE_BOND(5, 1, 3, 5, 5); VALIDATE_BOND(6, 2, 4, 6, 6); VALIDATE_BOND(7, 0, 3, 7, 7); VALIDATE_BOND(8, 1, 4, 8, 8); VALIDATE_BOND(9, 0, 4, 9, 9); #undef VALIDATE_BOND } TEST(RWMoleculeTest, setAtomicNumbers) { Molecule m; RWMolecule mol(m); mol.addAtom(1); mol.addAtom(2); mol.addAtom(3); mol.addAtom(4); mol.addAtom(5); Array orig(mol.atomicNumbers()); Array rep(5); rep[0] = 6; rep[0] = 7; rep[0] = 8; rep[0] = 9; rep[0] = 10; mol.setAtomicNumbers(rep); ASSERT_TRUE(std::equal(mol.atomicNumbers().begin(), mol.atomicNumbers().end(), rep.begin())); mol.undoStack().undo(); EXPECT_TRUE(std::equal(mol.atomicNumbers().begin(), mol.atomicNumbers().end(), orig.begin())); } TEST(RWMoleculeTest, setAtomicNumber) { Molecule m; RWMolecule mol(m); mol.addAtom(1); mol.addAtom(2); mol.addAtom(3); mol.addAtom(4); mol.addAtom(5); mol.setAtomicNumber(0, 6); mol.setAtomicNumber(2, 7); mol.setAtomicNumber(4, 8); EXPECT_EQ(6, mol.atomicNumber(0)); EXPECT_EQ(2, mol.atomicNumber(1)); EXPECT_EQ(7, mol.atomicNumber(2)); EXPECT_EQ(4, mol.atomicNumber(3)); EXPECT_EQ(8, mol.atomicNumber(4)); mol.undoStack().undo(); EXPECT_EQ(5, mol.atomicNumber(4)); mol.undoStack().undo(); EXPECT_EQ(3, mol.atomicNumber(2)); mol.undoStack().undo(); EXPECT_EQ(1, mol.atomicNumber(0)); } TEST(RWMoleculeTest, setAtomPositions3d) { Molecule m; RWMolecule mol(m); mol.addAtom(1); mol.addAtom(2); mol.addAtom(3); mol.addAtom(4); mol.addAtom(5); // These will all be (0, 0, 0) auto oldPositions = mol.atomPositions3d(); mol.undoStack().clear(); Array pos; Real gen = 1; pos.push_back(Vector3(gen, gen, gen)); gen++; pos.push_back(Vector3(gen, gen, gen)); gen++; pos.push_back(Vector3(gen, gen, gen)); gen++; pos.push_back(Vector3(gen, gen, gen)); gen++; pos.push_back(Vector3(gen, gen, gen)); gen++; mol.setAtomPositions3d(pos); EXPECT_TRUE(std::equal(mol.atomPositions3d().begin(), mol.atomPositions3d().end(), pos.begin())); mol.undoStack().undo(); EXPECT_TRUE(std::equal(mol.atomPositions3d().begin(), mol.atomPositions3d().end(), oldPositions.begin())); mol.undoStack().redo(); EXPECT_TRUE(std::equal(mol.atomPositions3d().begin(), mol.atomPositions3d().end(), pos.begin())); mol.undoStack().undo(); // Test merging for interactive edits: mol.setInteractive(true); mol.setAtomPositions3d(pos); for (Array::iterator it = pos.begin(), itEnd = pos.end(); it != itEnd; ++it) { it->x() += static_cast(pos.size()); it->y() += static_cast(pos.size()); it->z() += static_cast(pos.size()); } mol.setAtomPositions3d(pos); mol.setInteractive(false); EXPECT_TRUE(std::equal(mol.atomPositions3d().begin(), mol.atomPositions3d().end(), pos.begin())); EXPECT_EQ(1, mol.undoStack().count()); mol.undoStack().undo(); EXPECT_TRUE(std::equal(mol.atomPositions3d().begin(), mol.atomPositions3d().end(), oldPositions.begin())); mol.undoStack().redo(); EXPECT_TRUE(std::equal(mol.atomPositions3d().begin(), mol.atomPositions3d().end(), pos.begin())); } TEST(RWMoleculeTest, setAtomPosition3d) { Molecule m; RWMolecule mol(m); mol.addAtom(1); mol.addAtom(2); mol.addAtom(3); mol.addAtom(4); mol.addAtom(5); mol.undoStack().clear(); // The positions will not be empty here because they are added when // atoms are added. mol.setAtomPosition3d(0, Vector3(Real(1), Real(2), Real(3))); EXPECT_EQ(mol.atomicNumbers().size(), mol.atomPositions3d().size()); EXPECT_EQ(Real(1), mol.atomPosition3d(0).x()); EXPECT_EQ(Real(2), mol.atomPosition3d(0).y()); EXPECT_EQ(Real(3), mol.atomPosition3d(0).z()); for (Index i = 1; i < 5; ++i) EXPECT_EQ(Vector3::Zero(), mol.atomPosition3d(i)); mol.undoStack().undo(); for (Index i = 0; i < 5; ++i) EXPECT_EQ(Vector3::Zero(), mol.atomPosition3d(i)); mol.undoStack().redo(); EXPECT_EQ(Real(1), mol.atomPosition3d(0).x()); EXPECT_EQ(Real(2), mol.atomPosition3d(0).y()); EXPECT_EQ(Real(3), mol.atomPosition3d(0).z()); for (Index i = 1; i < 5; ++i) EXPECT_EQ(Vector3::Zero(), mol.atomPosition3d(i)); mol.undoStack().undo(); mol.undoStack().clear(); // Test command merging for interactive editing: mol.setInteractive(true); mol.setAtomPosition3d(0, Vector3(Real(1), Real(2), Real(3))); mol.setAtomPosition3d(3, Vector3(Real(4), Real(5), Real(6))); mol.setAtomPosition3d(0, Vector3(Real(7), Real(8), Real(9))); mol.setAtomPosition3d(1, Vector3(Real(6), Real(4), Real(2))); mol.setInteractive(false); Array pos(mol.atomPositions3d()); EXPECT_EQ(Vector3(Real(7), Real(8), Real(9)), pos[0]); EXPECT_EQ(Vector3(Real(6), Real(4), Real(2)), pos[1]); EXPECT_EQ(Vector3::Zero(), pos[2]); EXPECT_EQ(Vector3(Real(4), Real(5), Real(6)), pos[3]); EXPECT_EQ(Vector3::Zero(), pos[4]); EXPECT_EQ(1, mol.undoStack().count()); mol.undoStack().undo(); for (Index i = 1; i < 5; ++i) EXPECT_EQ(Vector3::Zero(), mol.atomPosition3d(i)); mol.undoStack().redo(); EXPECT_TRUE( std::equal(pos.begin(), pos.end(), mol.atomPositions3d().begin())); } TEST(RWMoleculeTest, addBond) { Molecule m; RWMolecule mol(m); RWMolecule::AtomType a0 = mol.addAtom(1); RWMolecule::AtomType a1 = mol.addAtom(2); mol.addAtom(3); mol.undoStack().clear(); ASSERT_EQ(0, mol.bondCount()); EXPECT_TRUE(mol.addBond(a0, a1).isValid()); EXPECT_TRUE(mol.addBond(1, 2, 2).isValid()); EXPECT_FALSE(mol.addBond(1, 8, 2).isValid()); EXPECT_EQ(2, mol.bondCount()); mol.undoStack().undo(); EXPECT_EQ(1, mol.bondCount()); EXPECT_TRUE(mol.bond(a0, a1).isValid()); EXPECT_TRUE(mol.bond(a1, a0).isValid()); EXPECT_TRUE(mol.bond(1, 0).isValid()); EXPECT_FALSE(mol.bond(1, 2).isValid()); mol.undoStack().redo(); EXPECT_EQ(2, mol.bondCount()); EXPECT_TRUE(mol.bond(1, 0).isValid()); EXPECT_TRUE(mol.bond(1, 2).isValid()); EXPECT_EQ(1, mol.bondOrder(0)); EXPECT_EQ(2, mol.bondOrder(1)); } TEST(RWMoleculeTest, removeBond) { Molecule m; RWMolecule mol(m); mol.addAtom(1); mol.addAtom(2); mol.addAtom(3); mol.addAtom(4); mol.addBond(0, 1); mol.addBond(1, 2, 2); mol.addBond(2, 3, 3); ASSERT_EQ(3, mol.bondCount()); mol.undoStack().clear(); #define VALIDATE_BOND(ind, atom1, atom2, order, uid) \ EXPECT_EQ(std::make_pair(Index(atom1), Index(atom2)), mol.bondPair(ind)); \ EXPECT_EQ(static_cast(order), mol.bondOrder(ind)); \ EXPECT_EQ(uid, mol.bondUniqueId(ind)) VALIDATE_BOND(0, 0, 1, 1, 0); VALIDATE_BOND(1, 1, 2, 2, 1); VALIDATE_BOND(2, 2, 3, 3, 2); mol.removeBond(mol.atom(1), mol.atom(2)); VALIDATE_BOND(0, 0, 1, 1, 0); VALIDATE_BOND(1, 2, 3, 3, 2); mol.removeBond(1); VALIDATE_BOND(0, 0, 1, 1, 0); mol.undoStack().undo(); VALIDATE_BOND(0, 0, 1, 1, 0); VALIDATE_BOND(1, 2, 3, 3, 2); mol.removeBond(mol.bond(0)); VALIDATE_BOND(0, 2, 3, 3, 2); mol.undoStack().undo(); mol.undoStack().undo(); VALIDATE_BOND(0, 0, 1, 1, 0); VALIDATE_BOND(1, 1, 2, 2, 1); VALIDATE_BOND(2, 2, 3, 3, 2); #undef VALIDATE_BOND } TEST(RWMoleculeTest, clearBonds) { Molecule m; RWMolecule mol(m); mol.addAtom(1); mol.addAtom(2); mol.addAtom(3); mol.addAtom(4); mol.addBond(0, 1); mol.addBond(1, 2, 2); mol.addBond(2, 3, 3); ASSERT_EQ(3, mol.bondCount()); mol.undoStack().clear(); Array> pairs(mol.bondPairs()); Array ords(mol.bondOrders()); mol.clearBonds(); EXPECT_EQ(0, mol.bondCount()); mol.undoStack().undo(); EXPECT_EQ(3, mol.bondCount()); EXPECT_TRUE(std::equal(pairs.begin(), pairs.end(), mol.bondPairs().begin())); EXPECT_TRUE(std::equal(ords.begin(), ords.end(), mol.bondOrders().begin())); } TEST(RWMoleculeTest, setBondOrders) { Molecule m; RWMolecule mol(m); mol.addAtom(1); mol.addAtom(2); mol.addAtom(3); mol.addAtom(4); mol.addBond(0, 1); mol.addBond(1, 2, 2); mol.addBond(2, 3, 3); ASSERT_EQ(3, mol.bondCount()); ASSERT_EQ(1, mol.bondOrder(0)); ASSERT_EQ(2, mol.bondOrder(1)); ASSERT_EQ(3, mol.bondOrder(2)); mol.undoStack().clear(); Array old(mol.bondOrders()); Array rep(old); for (Array::iterator it = rep.begin(), itEnd = rep.end(); it != itEnd; ++it) { *it += rep.size(); } mol.setBondOrders(rep); EXPECT_TRUE(std::equal(rep.begin(), rep.end(), mol.bondOrders().begin())); mol.undoStack().undo(); EXPECT_TRUE(std::equal(old.begin(), old.end(), mol.bondOrders().begin())); mol.undoStack().redo(); EXPECT_TRUE(std::equal(rep.begin(), rep.end(), mol.bondOrders().begin())); } TEST(RWMoleculeTest, setBondOrder) { Molecule m; RWMolecule mol(m); mol.addAtom(1); mol.addAtom(2); mol.addAtom(3); mol.addAtom(4); mol.addBond(0, 1); mol.addBond(1, 2, 2); mol.addBond(2, 3, 3); ASSERT_EQ(3, mol.bondCount()); ASSERT_EQ(1, mol.bondOrder(0)); ASSERT_EQ(2, mol.bondOrder(1)); ASSERT_EQ(3, mol.bondOrder(2)); mol.undoStack().clear(); // This undo behavior is a little different -- sequential changes to the // same bond's bond order are always merged. mol.setBondOrder(0, 2); mol.setBondOrder(0, 3); EXPECT_EQ(1, mol.undoStack().count()); mol.setBondOrder(2, 2); mol.setBondOrder(2, 1); EXPECT_EQ(2, mol.undoStack().count()); #define VALIDATE_BOND(ind, atom1, atom2, order, uid) \ EXPECT_EQ(std::make_pair(Index(atom1), Index(atom2)), mol.bondPair(ind)); \ EXPECT_EQ(static_cast(order), mol.bondOrder(ind)); \ EXPECT_EQ(uid, mol.bondUniqueId(ind)) VALIDATE_BOND(0, 0, 1, 3, 0); VALIDATE_BOND(1, 1, 2, 2, 1); VALIDATE_BOND(2, 2, 3, 1, 2); mol.undoStack().undo(); VALIDATE_BOND(0, 0, 1, 3, 0); VALIDATE_BOND(1, 1, 2, 2, 1); VALIDATE_BOND(2, 2, 3, 3, 2); mol.undoStack().undo(); VALIDATE_BOND(0, 0, 1, 1, 0); VALIDATE_BOND(1, 1, 2, 2, 1); VALIDATE_BOND(2, 2, 3, 3, 2); mol.undoStack().redo(); mol.undoStack().redo(); VALIDATE_BOND(0, 0, 1, 3, 0); VALIDATE_BOND(1, 1, 2, 2, 1); VALIDATE_BOND(2, 2, 3, 1, 2); #undef VALIDATE_BOND } namespace { inline std::pair makeBondPair(Index a, Index b) { return a < b ? std::make_pair(a, b) : std::make_pair(b, a); } } // end anon namespace TEST(RWMoleculeTest, setBondPairs) { Molecule m; RWMolecule mol(m); mol.addAtom(1); mol.addAtom(2); mol.addAtom(3); mol.addAtom(4); mol.addAtom(5); mol.addBond(0, 1); mol.addBond(1, 2, 2); mol.addBond(2, 3, 3); ASSERT_EQ(3, mol.bondCount()); ASSERT_EQ(makeBondPair(0, 1), mol.bondPair(0)); ASSERT_EQ(makeBondPair(1, 2), mol.bondPair(1)); ASSERT_EQ(makeBondPair(2, 3), mol.bondPair(2)); mol.undoStack().clear(); typedef std::pair BondPair; Array old(mol.bondPairs()); Array rep(old); for (Array::iterator it = rep.begin(), itEnd = rep.end(); it != itEnd; ++it) { ++it->second; } mol.setBondPairs(rep); EXPECT_TRUE(std::equal(rep.begin(), rep.end(), mol.bondPairs().begin())); mol.undoStack().undo(); EXPECT_TRUE(std::equal(old.begin(), old.end(), mol.bondPairs().begin())); mol.undoStack().redo(); EXPECT_TRUE(std::equal(rep.begin(), rep.end(), mol.bondPairs().begin())); } TEST(RWMoleculeTest, setBondPair) { Molecule m; RWMolecule mol(m); mol.addAtom(1); mol.addAtom(2); mol.addAtom(3); mol.addAtom(4); mol.addAtom(5); mol.addBond(0, 1); mol.addBond(1, 2, 2); mol.addBond(2, 3, 3); ASSERT_EQ(3, mol.bondCount()); ASSERT_EQ(makeBondPair(0, 1), mol.bondPair(0)); ASSERT_EQ(makeBondPair(1, 2), mol.bondPair(1)); ASSERT_EQ(makeBondPair(2, 3), mol.bondPair(2)); mol.undoStack().clear(); mol.setBondPair(0, makeBondPair(0, 2)); mol.setBondPair(2, makeBondPair(2, 4)); #define VALIDATE_BOND(ind, atom1, atom2, order, uid) \ EXPECT_EQ(std::make_pair(Index(atom1), Index(atom2)), mol.bondPair(ind)); \ EXPECT_EQ(static_cast(order), mol.bondOrder(ind)); \ EXPECT_EQ(uid, mol.bondUniqueId(ind)) VALIDATE_BOND(0, 0, 2, 1, 0); VALIDATE_BOND(1, 1, 2, 2, 1); VALIDATE_BOND(2, 2, 4, 3, 2); mol.undoStack().undo(); VALIDATE_BOND(0, 0, 2, 1, 0); VALIDATE_BOND(1, 1, 2, 2, 1); VALIDATE_BOND(2, 2, 3, 3, 2); mol.undoStack().undo(); VALIDATE_BOND(0, 0, 1, 1, 0); VALIDATE_BOND(1, 1, 2, 2, 1); VALIDATE_BOND(2, 2, 3, 3, 2); mol.undoStack().redo(); mol.undoStack().redo(); VALIDATE_BOND(0, 0, 2, 1, 0); VALIDATE_BOND(1, 1, 2, 2, 1); VALIDATE_BOND(2, 2, 4, 3, 2); #undef VALIDATE_BOND } TEST(RWMoleculeTest, AtomType) { Molecule m; RWMolecule mol(m); typedef RWMolecule::AtomType Atom; Atom a0 = mol.addAtom(1); Atom a1 = mol.addAtom(2); EXPECT_TRUE(a0.isValid()); EXPECT_FALSE(Atom().isValid()); EXPECT_FALSE(Atom(&mol, 2).isValid()); EXPECT_EQ(&mol, a0.molecule()); EXPECT_EQ(0, a0.index()); EXPECT_EQ(1, a0.atomicNumber()); EXPECT_EQ(1, mol.atomicNumber(0)); EXPECT_EQ(2, a1.atomicNumber()); EXPECT_EQ(2, mol.atomicNumber(1)); a0.setPosition3d(Vector3(Real(3), Real(4), Real(5))); a1.setPosition3d(Vector3(Real(6), Real(7), Real(8))); EXPECT_EQ(Vector3(Real(3), Real(4), Real(5)), a0.position3d()); EXPECT_EQ(Vector3(Real(3), Real(4), Real(5)), mol.atomPosition3d(0)); EXPECT_EQ(Vector3(Real(6), Real(7), Real(8)), a1.position3d()); EXPECT_EQ(Vector3(Real(6), Real(7), Real(8)), mol.atomPosition3d(1)); Atom other(&mol, 0); EXPECT_EQ(a0, other); EXPECT_NE(a1, other); } TEST(RWMoleculeTest, BondType) { Molecule m; RWMolecule mol(m); typedef RWMolecule::AtomType Atom; typedef RWMolecule::BondType Bond; Atom a0 = mol.addAtom(1); Atom a1 = mol.addAtom(2); Atom a2 = mol.addAtom(3); Bond b0 = mol.addBond(a0, a1); Bond b1 = mol.addBond(1, 2); Bond invalid = mol.addBond(0, 9); EXPECT_TRUE(b0.isValid()); EXPECT_FALSE(invalid.isValid()); EXPECT_FALSE(Bond().isValid()); EXPECT_FALSE(Bond(&mol, 3).isValid()); EXPECT_EQ(&mol, b0.molecule()); EXPECT_EQ(0, b0.index()); EXPECT_EQ(a0, b0.atom1()); EXPECT_EQ(a2, b1.atom2()); b1.setOrder(2); EXPECT_EQ(2, b1.order()); EXPECT_EQ(2, mol.bondOrder(1)); Bond other(&mol, 0); EXPECT_EQ(b0, other); EXPECT_NE(b1, other); } TEST(RWMoleculeTest, MoleculeToRWMolecule) { Molecule mol; typedef Molecule::AtomType Atom; typedef Molecule::BondType Bond; Atom a0 = mol.addAtom(1); Atom a1 = mol.addAtom(6); Atom a2 = mol.addAtom(9); Bond b0 = mol.addBond(a0, a2); a1.setPosition3d(Vector3(0, 6, 9)); b0.setOrder(3); RWMolecule rwmol(mol, 0); EXPECT_EQ(rwmol.atomCount(), mol.atomCount()); EXPECT_EQ(rwmol.bondCount(), mol.bondCount()); EXPECT_EQ(rwmol.atom(2).atomicNumber(), mol.atom(2).atomicNumber()); EXPECT_EQ(rwmol.bond(0).order(), mol.bond(0).order()); } avogadrolibs-1.93.0/tests/qtopengl/000077500000000000000000000000001360735163600172655ustar00rootroot00000000000000avogadrolibs-1.93.0/tests/qtopengl/CMakeLists.txt000066400000000000000000000035161360735163600220320ustar00rootroot00000000000000include_directories("${AvogadroLibs_BINARY_DIR}/avogadro/qtgui" "${AvogadroLibs_BINARY_DIR}/avogadro/rendering" "${AvogadroLibs_BINARY_DIR}/avogadro/qtopengl" "${CMAKE_CURRENT_BINARY_DIR}") find_package(OpenGL REQUIRED) include_directories(SYSTEM ${OPENGL_INCLUDE_DIR}) find_package(Qt5 COMPONENTS Widgets REQUIRED) include_directories(SYSTEM ${Qt5Widgets_INCLUDE_DIRS}) add_definitions(${Qt5Widgets_DEFINITIONS}) # We want to find some parts of VTK in order to do image comparisons. find_package(VTK COMPONENTS vtkImagingCore vtkRenderingQt vtkIOImage NO_MODULE REQUIRED) include_directories(SYSTEM ${VTK_INCLUDE_DIRS}) if(AVOGADRO_DATA_ROOT) set(AVOGADRO_DATA ${AVOGADRO_DATA_ROOT}) else() message("No data root found, please set to run the tests.") return() endif() # Setup config file with data location configure_file("${CMAKE_CURRENT_SOURCE_DIR}/qtopengltests.h.in" "${CMAKE_CURRENT_BINARY_DIR}/qtopengltests.h" @ONLY) # List of tests to be added, the name will be changed to lower case with # test.cpp appended. The main function of each test is expected to be lower # cased version with test appended, e.g. GLWidget -> glwidgettest. set(tests GLWidget QtTextLabel QtTextRenderStrategy ) foreach(test ${tests}) string(TOLOWER ${test} testname) list(APPEND testSrcs ${testname}test.cpp) endforeach() create_test_sourcelist(testDriver qtopengltests.cpp ${testSrcs}) add_executable(AvogadroQtOpenGLTests ${testDriver}) target_link_libraries(AvogadroQtOpenGLTests AvogadroQtOpenGL vtkImagingCore vtkIOImage vtkRenderingQt) foreach(test ${tests}) string(TOLOWER ${test} testname) add_test(NAME "QtOpenGL-${test}" COMMAND AvogadroQtOpenGLTests "${testname}test" "--baseline" "${AVOGADRO_DATA_ROOT}/baselines/avogadro/qtopengl" "--temporary" "${PROJECT_BINARY_DIR}/Testing/Temporary") endforeach() avogadrolibs-1.93.0/tests/qtopengl/glwidgettest.cpp000066400000000000000000000050701360735163600225010ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012-2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include #include #include #include using Avogadro::Vector3f; using Avogadro::Vector3ub; using Avogadro::Rendering::GeometryNode; using Avogadro::Rendering::SphereGeometry; using Avogadro::QtOpenGL::GLWidget; using Avogadro::VtkTesting::ImageRegressionTest; int glwidgettest(int argc, char* argv[]) { // Set up the default format for our GL contexts. QSurfaceFormat defaultFormat = QSurfaceFormat::defaultFormat(); defaultFormat.setSamples(4); QSurfaceFormat::setDefaultFormat(defaultFormat); QApplication app(argc, argv); GLWidget widget; widget.setGeometry(10, 10, 250, 250); widget.show(); GeometryNode* geometry = new GeometryNode; SphereGeometry* spheres = new SphereGeometry; geometry->addDrawable(spheres); spheres->addSphere(Vector3f(0, 0, 0), Vector3ub(255, 0, 0), 0.5); spheres->addSphere(Vector3f(2, 0, 0), Vector3ub(0, 255, 0), 1.5); spheres->addSphere(Vector3f(0, 2, 1), Vector3ub(0, 0, 255), 1.0); widget.renderer().scene().rootNode().addChild(geometry); // Make sure the widget renders the scene, and store it in a QImage. widget.raise(); widget.repaint(); // Run the application for a while, and then quit so we can save an image. QTimer timer; timer.setSingleShot(true); app.connect(&timer, SIGNAL(timeout()), SLOT(quit())); timer.start(200); app.exec(); // Grab the frame buffer of the GLWidget and save it to a QImage. QImage image = widget.grabFramebuffer(); // Set up the image regression test. ImageRegressionTest test(argc, argv); // Do the image threshold test, printing output to the std::cout for ctest. return test.imageThresholdTest(image, std::cout); } avogadrolibs-1.93.0/tests/qtopengl/qtopengltests.h.in000066400000000000000000000002171360735163600227570ustar00rootroot00000000000000#ifndef AVOGADRO_QTOPENGLTESTS_H #define AVOGADRO_QTOPENGLTESTS_H #define AVOGADRO_DATA "@AVOGADRO_DATA@" #endif // AVOGADRO_QTOPENGLTESTS_H avogadrolibs-1.93.0/tests/qtopengl/qttextlabeltest.cpp000066400000000000000000000145521360735163600232310ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include using Avogadro::Vector2f; using Avogadro::Vector3f; using Avogadro::Vector2i; using Avogadro::Vector3ub; using Avogadro::Rendering::GeometryNode; using Avogadro::Rendering::TextLabel2D; using Avogadro::Rendering::TextLabel3D; using Avogadro::Rendering::TextProperties; using Avogadro::Rendering::SphereGeometry; using Avogadro::QtOpenGL::GLWidget; using Avogadro::VtkTesting::ImageRegressionTest; int qttextlabeltest(int argc, char* argv[]) { // Set up the default format for our GL contexts. QSurfaceFormat defaultFormat = QSurfaceFormat::defaultFormat(); defaultFormat.setSamples(4); QSurfaceFormat::setDefaultFormat(defaultFormat); // Create and show widget QApplication app(argc, argv); GLWidget widget; widget.setGeometry(10, 10, 500, 500); widget.show(); // Create scene GeometryNode* geometry = new GeometryNode; widget.renderer().scene().rootNode().addChild(geometry); // Add a small sphere at the origin for reference: SphereGeometry* spheres = new SphereGeometry; spheres->addSphere(Vector3f::Zero(), Vector3ub(128, 128, 128), 0.1f); geometry->addDrawable(spheres); // Default text property: TextProperties tprop; // Test alignment: TextLabel3D* l3 = nullptr; TextLabel2D* l2 = nullptr; // 3D: tprop.setColorRgb(255, 0, 0); tprop.setAlign(TextProperties::HLeft, TextProperties::VTop); l3 = new TextLabel3D; l3->setText("Upper Left Anchor"); l3->setAnchor(Vector3f::Zero()); l3->setTextProperties(tprop); geometry->addDrawable(l3); tprop.setColorRgb(0, 255, 0); tprop.setAlign(TextProperties::HLeft, TextProperties::VBottom); l3 = new TextLabel3D; l3->setText("Bottom Left Anchor"); l3->setAnchor(Vector3f::Zero()); l3->setTextProperties(tprop); geometry->addDrawable(l3); tprop.setColorRgb(0, 0, 255); tprop.setAlign(TextProperties::HRight, TextProperties::VTop); l3 = new TextLabel3D; l3->setText("Upper Right Anchor"); l3->setAnchor(Vector3f::Zero()); l3->setTextProperties(tprop); geometry->addDrawable(l3); tprop.setColorRgb(255, 255, 0); tprop.setAlign(TextProperties::HRight, TextProperties::VBottom); l3 = new TextLabel3D; l3->setText("Bottom Right Anchor"); l3->setAnchor(Vector3f::Zero()); l3->setTextProperties(tprop); geometry->addDrawable(l3); tprop.setColorRgba(255, 255, 255, 220); tprop.setRotationDegreesCW(90.f); tprop.setAlign(TextProperties::HCenter, TextProperties::VCenter); l3 = new TextLabel3D; l3->setText("Centered Anchor (3D)"); l3->setAnchor(Vector3f::Zero()); l3->setTextProperties(tprop); l3->setRenderPass(Avogadro::Rendering::TranslucentPass); geometry->addDrawable(l3); tprop.setRotationDegreesCW(0.f); tprop.setAlpha(255); // 2D: tprop.setColorRgb(255, 0, 0); tprop.setAlign(TextProperties::HLeft, TextProperties::VTop); l2 = new TextLabel2D; l2->setText("Upper Left Corner"); l2->setAnchor(Vector2i(0, widget.height())); l2->setTextProperties(tprop); geometry->addDrawable(l2); tprop.setColorRgb(0, 255, 0); tprop.setAlign(TextProperties::HLeft, TextProperties::VBottom); l2 = new TextLabel2D; l2->setText("Bottom Left Corner"); l2->setAnchor(Vector2i(0, 0)); l2->setTextProperties(tprop); geometry->addDrawable(l2); tprop.setColorRgb(0, 0, 255); tprop.setAlign(TextProperties::HRight, TextProperties::VTop); l2 = new TextLabel2D; l2->setText("Upper Right Corner"); l2->setAnchor(Vector2i(widget.width(), widget.height())); l2->setTextProperties(tprop); geometry->addDrawable(l2); tprop.setColorRgb(255, 255, 0); tprop.setAlign(TextProperties::HRight, TextProperties::VBottom); l2 = new TextLabel2D; l2->setText("Bottom Right Corner"); l2->setAnchor(Vector2i(widget.width(), 0)); l2->setTextProperties(tprop); geometry->addDrawable(l2); tprop.setColorRgba(255, 255, 255, 220); tprop.setAlign(TextProperties::HCenter, TextProperties::VCenter); l2 = new TextLabel2D; l2->setText("Centered Anchor (2D)"); l2->setAnchor(Vector2i(widget.width() / 2, widget.height() / 2)); l2->setTextProperties(tprop); geometry->addDrawable(l2); // Test the TextLabel3D's radius feature: spheres->addSphere(Vector3f(0.f, 6.f, 0.f), Vector3ub(255, 255, 255), 1.f); tprop.setColorRgba(255, 128, 64, 255); tprop.setRotationDegreesCW(90.f); l3 = new TextLabel3D; l3->setText("Clipped"); l3->setAnchor(Vector3f(0.f, 6.f, 0.f)); l3->setTextProperties(tprop); geometry->addDrawable(l3); tprop.setColorRgba(64, 128, 255, 255); tprop.setRotationDegreesCW(45.f); l3 = new TextLabel3D; l3->setText("Projected"); l3->setAnchor(Vector3f(0.f, 6.f, 0.f)); l3->setTextProperties(tprop); l3->setRadius(1.f); geometry->addDrawable(l3); // Make sure the widget renders the scene, and store it in a QImage. widget.raise(); widget.repaint(); // Run the application for a while, and then quit so we can save an image. QTimer timer; timer.setSingleShot(true); app.connect(&timer, SIGNAL(timeout()), SLOT(quit())); timer.start(200); app.exec(); // Grab the frame buffer of the GLWidget and save it to a QImage. QImage image = widget.grabFramebuffer(); // Set up the image regression test. ImageRegressionTest test(argc, argv); // Do the image threshold test, printing output to the std::cout for ctest. return test.imageThresholdTest(image, std::cout); } avogadrolibs-1.93.0/tests/qtopengl/qttextrenderstrategytest.cpp000066400000000000000000000135051360735163600252110ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include "qtopengltests.h" #include #include #include #include #include #include #include typedef Avogadro::QtOpenGL::QtTextRenderStrategy Strategy; typedef Avogadro::Rendering::TextRenderStrategy Interface; using Avogadro::Rendering::TextProperties; using Avogadro::Vector2i; // Need to start an app to load fonts #define START_QAPP \ int argc = 1; \ char argName[] = "FakeApp.exe"; \ char* argv[2] = { argName, nullptr }; \ QApplication app(argc, argv); \ Q_UNUSED(app) namespace { bool newInstance() { bool result = true; Strategy orig; Interface* clone = orig.newInstance(); if (dynamic_cast(clone) == nullptr) result = false; delete clone; return result; } bool boundingBox() { bool result = true; START_QAPP; Strategy strategy; TextProperties tprop; std::string testString("Testing string\nwith newlines!"); tprop.setFontFamily(TextProperties::SansSerif); tprop.setPixelHeight(27); tprop.setHAlign(TextProperties::HCenter); tprop.setVAlign(TextProperties::VCenter); int bbox[4]; // Valid sizes: int refbbox_1[4] = { -86, 85, -28, 27 }; int refbbox_2[4] = { -69, 68, -27, 26 }; strategy.boundingBox(testString, tprop, bbox); if (!std::equal(bbox, bbox + 4, refbbox_1) && !std::equal(bbox, bbox + 4, refbbox_2)) { qCritical() << "boundingBox() failed: " << bbox[0] << bbox[1] << bbox[2] << bbox[3]; result = false; } return result; } // Helpers for rendering tests: bool compareComponents(unsigned char a, unsigned char b) { // Allow small differences in component values. return std::abs(a - b) <= 2; } float validateBaseline(unsigned char* buffer, size_t numPixels, const std::string& fileName) { static const std::string baselineDir( AVOGADRO_DATA "/baselines/avogadro/qtgui/qttextrenderstrategy/"); QImage refImage; if (!refImage.load(QString::fromStdString(baselineDir + fileName))) qWarning() << "Error loading file" << QString::fromStdString(fileName); refImage = refImage.convertToFormat(QImage::Format_ARGB32_Premultiplied); return std::equal(buffer, buffer + (numPixels * 4), refImage.constBits(), compareComponents); } bool testRenderedString(Strategy& strategy, const std::string& str, const TextProperties& tprop, const std::string& refFilename) { int bbox[4]; strategy.boundingBox(str, tprop, bbox); const Vector2i dims(bbox[1] - bbox[0] + 1, bbox[3] - bbox[2] + 1); std::vector buffer(dims[0] * dims[1] * 4); if (buffer.empty()) return false; strategy.render(str, tprop, &buffer[0], dims); return validateBaseline(&buffer[0], dims[0] * dims[1], refFilename); } // Useful for making new baselines: void saveRenderedString(Strategy& strategy, const std::string& str, const TextProperties& tprop, const std::string& filename) { int bbox[4]; strategy.boundingBox(str, tprop, bbox); const Vector2i dims(bbox[1] - bbox[0] + 1, bbox[3] - bbox[2] + 1); std::vector buffer(dims[0] * dims[1] * 4); if (buffer.empty()) return; strategy.render(str, tprop, &buffer[0], dims); QImage img(&buffer[0], dims[0], dims[1], QImage::Format_ARGB32_Premultiplied); img.save(QString::fromStdString(filename)); } bool render() { bool result = true; START_QAPP; Strategy strategy; // Keep the buffer in a format that we can save with a QImage: strategy.setPreserveArgb(true); std::string str("Testing string\nwith newlines!\nSome lines are longer..."); TextProperties tprop; tprop.setFontFamily(TextProperties::SansSerif); tprop.setPixelHeight(27); tprop.setColorRgb(63, 127, 255); tprop.setVAlign(TextProperties::VTop); tprop.setHAlign(TextProperties::HLeft); if (!testRenderedString(strategy, str, tprop, "renderedString1.png")) result = false; tprop.setRotationDegreesCW(25); tprop.setRed(255); tprop.setBlue(63); tprop.setAlpha(200); tprop.setVAlign(TextProperties::VCenter); tprop.setHAlign(TextProperties::HCenter); tprop.setItalic(true); tprop.setBold(true); if (!testRenderedString(strategy, str, tprop, "renderedString2.png")) result = false; tprop.setRotationDegreesCW(300); tprop.setRed(255); tprop.setBlue(255); tprop.setAlpha(127); tprop.setVAlign(TextProperties::VBottom); tprop.setHAlign(TextProperties::HRight); tprop.setFontStyles(TextProperties::Underline); if (!testRenderedString(strategy, str, tprop, "renderedString3.png")) result = false; return result; } } // end anon namespace // Driver function: int qttextrenderstrategytest(int, char** const) { bool result = true; if (!newInstance()) result = false; if (!boundingBox()) result = false; if (!render()) result = false; return result ? EXIT_SUCCESS : EXIT_FAILURE; } avogadrolibs-1.93.0/tests/rendering/000077500000000000000000000000001360735163600174115ustar00rootroot00000000000000avogadrolibs-1.93.0/tests/rendering/CMakeLists.txt000066400000000000000000000020351360735163600221510ustar00rootroot00000000000000# Specify the name of each test (the Test will be appended where needed). set(tests Camera Node SphereGeometry ) find_package(OpenGL REQUIRED) include_directories(SYSTEM ${OPENGL_INCLUDE_DIR}) include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${AvogadroLibs_BINARY_DIR}/avogadro/rendering") # Build up the source file names. set(testSrcs "") foreach(TestName ${tests}) message(STATUS "Adding ${TestName} test.") string(TOLOWER ${TestName} testname) list(APPEND testSrcs ${testname}test.cpp) endforeach() message(STATUS "Test source files: ${testSrcs}") # Add a single executable for all of our tests. add_executable(AvogadroRenderingTests ${testSrcs}) target_link_libraries(AvogadroRenderingTests AvogadroRendering ${GTEST_BOTH_LIBRARIES} ${EXTRA_LINK_LIB}) # Now add all of the tests, using the gtest_filter argument so that only those # cases are run in each test invocation. foreach(TestName ${tests}) add_test(NAME "Rendering-${TestName}" COMMAND AvogadroRenderingTests "--gtest_filter=${TestName}Test.*") endforeach() avogadrolibs-1.93.0/tests/rendering/absoluteoverlayquadstrategytest.cpp000066400000000000000000000041211360735163600266710ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include typedef Avogadro::Rendering::AbsoluteOverlayQuadStrategy Strategy; using Avogadro::Core::Array; using Avogadro::Rendering::Camera; using Avogadro::Vector2f; using Avogadro::Vector3f; using Avogadro::Vector2i; TEST(AbsoluteOverlayQuadStrategyTest, exercise) { Strategy s; Vector2i anchor(15, 25); s.setAnchor(anchor); EXPECT_EQ(anchor, s.anchor()); Vector2f dims(50.f, 61.f); s.setDimensions(dims); EXPECT_EQ(dims, s.dimensions()); Strategy::HAlign hAlign(Strategy::HLeft); Strategy::VAlign vAlign(Strategy::VBottom); s.setAlign(hAlign, vAlign); EXPECT_EQ(hAlign, s.hAlign()); EXPECT_EQ(vAlign, s.vAlign()); Camera camera; // Configure for overlay: camera.setIdentity(); camera.setViewport(400, 400); camera.calculateOrthographic(0.f, 400.f, 0.f, 400.f, -1.f, 1.f); Array quad(s.quad(camera)); ASSERT_EQ(4, quad.size()); EXPECT_FLOAT_EQ(15, quad[0][0]); EXPECT_FLOAT_EQ(86, quad[0][1]); EXPECT_FLOAT_EQ(0, quad[0][2]); EXPECT_FLOAT_EQ(65, quad[1][0]); EXPECT_FLOAT_EQ(86, quad[1][1]); EXPECT_FLOAT_EQ(0, quad[1][2]); EXPECT_FLOAT_EQ(15, quad[2][0]); EXPECT_FLOAT_EQ(25, quad[2][1]); EXPECT_FLOAT_EQ(0, quad[2][2]); EXPECT_FLOAT_EQ(65, quad[3][0]); EXPECT_FLOAT_EQ(25, quad[3][1]); EXPECT_FLOAT_EQ(0, quad[3][2]); } avogadrolibs-1.93.0/tests/rendering/absolutequadstrategytest.cpp000066400000000000000000000044201360735163600252710ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include typedef Avogadro::Rendering::AbsoluteQuadStrategy Strategy; using Avogadro::Core::Array; using Avogadro::Rendering::Camera; using Avogadro::Vector2f; using Avogadro::Vector3f; TEST(AbsoluteQuadStrategyTest, exercise) { Strategy s; Vector2f dims(501.2f, 612.5f); s.setDimensions(dims); EXPECT_EQ(dims, s.dimensions()); Strategy::HAlign hAlign(Strategy::HRight); s.setHAlign(hAlign); EXPECT_EQ(hAlign, s.hAlign()); Strategy::VAlign vAlign(Strategy::VBottom); s.setVAlign(vAlign); EXPECT_EQ(vAlign, s.vAlign()); Vector3f normal(Vector3f(3.f, 4.f, 5.f).normalized()); s.setNormal(normal); EXPECT_EQ(normal, s.normal()); Vector3f up(Vector3f(1.f, 5.f, 7.f).normalized()); s.setUp(up); EXPECT_EQ(up, s.up()); Vector3f anchor(9.3f, 2.1f, -1.8f); s.setAnchor(anchor); EXPECT_EQ(anchor, s.anchor()); Camera camera; // dummy, doesn't affect resulting quad. Array quad(s.quad(camera)); ASSERT_EQ(4, quad.size()); EXPECT_FLOAT_EQ(-460.86874f, quad[0][0]); EXPECT_FLOAT_EQ(-326.70682f, quad[0][1]); EXPECT_FLOAT_EQ(543.34692f, quad[0][2]); EXPECT_FLOAT_EQ(-537.40002f, quad[1][0]); EXPECT_FLOAT_EQ(81.459717f, quad[1][1]); EXPECT_FLOAT_EQ(262.73242f, quad[1][2]); EXPECT_FLOAT_EQ(85.831268f, quad[2][0]); EXPECT_FLOAT_EQ(-406.06653f, quad[2][1]); EXPECT_FLOAT_EQ(278.81454f, quad[2][2]); EXPECT_FLOAT_EQ(9.2999878f, quad[3][0]); EXPECT_FLOAT_EQ(2.1000061f, quad[3][1]); EXPECT_FLOAT_EQ(-1.7999573f, quad[3][2]); } avogadrolibs-1.93.0/tests/rendering/billboardquadstrategytest.cpp000066400000000000000000000074571360735163600254220ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include typedef Avogadro::Rendering::BillboardQuadStrategy Strategy; using Avogadro::Core::Array; using Avogadro::Rendering::Camera; using Avogadro::Vector2f; using Avogadro::Vector3f; TEST(BillboardQuadStrategyTest, exercise) { Strategy s; Vector3f anchor(9.3f, 2.1f, -1.8f); s.setAnchor(anchor); EXPECT_EQ(anchor, s.anchor()); float radius = 3.4f; s.setRadius(radius); EXPECT_EQ(radius, s.radius()); bool useCameraUp = false; s.setUseCameraUp(useCameraUp); EXPECT_EQ(useCameraUp, s.useCameraUp()); Vector3f up(Vector3f(1.f, 5.f, 7.f).normalized()); s.setUp(up); EXPECT_EQ(up, s.up()); Vector2f dims(501.2f, 612.5f); s.setDimensions(dims); EXPECT_EQ(dims, s.dimensions()); Strategy::HAlign hAlign(Strategy::HRight); s.setHAlign(hAlign); EXPECT_EQ(hAlign, s.hAlign()); Strategy::VAlign vAlign(Strategy::VBottom); s.setVAlign(vAlign); EXPECT_EQ(vAlign, s.vAlign()); Camera camera; camera.setIdentity(); camera.rotate(136.2f, Vector3f(205.f, 603.f, -141.f).normalized()); camera.translate(Vector3f(-13.2f, 15.6f, 102.f)); Array quad(s.quad(camera)); ASSERT_EQ(4, quad.size()); EXPECT_FLOAT_EQ(243.83968f, quad[0][0]); EXPECT_FLOAT_EQ(-185.99776f, quad[0][1]); EXPECT_FLOAT_EQ(730.30627f, quad[0][2]); EXPECT_FLOAT_EQ(389.97992f, quad[1][0]); EXPECT_FLOAT_EQ(194.00380f, quad[1][1]); EXPECT_FLOAT_EQ(437.99942f, quad[1][2]); EXPECT_FLOAT_EQ(-134.35634f, quad[2][0]); EXPECT_FLOAT_EQ(-379.83984f, quad[2][1]); EXPECT_FLOAT_EQ(289.22885f, quad[2][2]); EXPECT_FLOAT_EQ(11.783905f, quad[3][0]); EXPECT_FLOAT_EQ(0.16171265f, quad[3][1]); EXPECT_FLOAT_EQ(-3.0780029f, quad[3][2]); // Test the useCameraUp options: useCameraUp = true; s.setUseCameraUp(useCameraUp); EXPECT_EQ(useCameraUp, s.useCameraUp()); quad = s.quad(camera); ASSERT_EQ(4, quad.size()); EXPECT_FLOAT_EQ(538.01459f, quad[0][0]); EXPECT_FLOAT_EQ(371.01038f, quad[0][1]); EXPECT_FLOAT_EQ(457.25916f, quad[0][2]); EXPECT_FLOAT_EQ(387.27307f, quad[1][0]); EXPECT_FLOAT_EQ(484.04947f, quad[1][1]); EXPECT_FLOAT_EQ(-7.1766663f, quad[1][2]); EXPECT_FLOAT_EQ(162.52542f, quad[2][0]); EXPECT_FLOAT_EQ(-112.87738f, quad[2][1]); EXPECT_FLOAT_EQ(461.35785f, quad[2][2]); EXPECT_FLOAT_EQ(11.783905f, quad[3][0]); EXPECT_FLOAT_EQ(0.16171265f, quad[3][1]); EXPECT_FLOAT_EQ(-3.0779662f, quad[3][2]); // Rotating the camera should update the quad: camera.preRotate(36.f, Vector3f::UnitY()); quad = s.quad(camera); ASSERT_EQ(4, quad.size()); EXPECT_FLOAT_EQ(727.31494f, quad[0][0]); EXPECT_FLOAT_EQ(218.08212f, quad[0][1]); EXPECT_FLOAT_EQ(-255.12888f, quad[0][2]); EXPECT_FLOAT_EQ(383.45709f, quad[1][0]); EXPECT_FLOAT_EQ(486.99631f, quad[1][1]); EXPECT_FLOAT_EQ(-8.8598633f, quad[1][2]); EXPECT_FLOAT_EQ(351.82578f, quad[2][0]); EXPECT_FLOAT_EQ(-265.80563f, quad[2][1]); EXPECT_FLOAT_EQ(-251.03018f, quad[2][2]); EXPECT_FLOAT_EQ(7.967926f, quad[3][0]); EXPECT_FLOAT_EQ(3.108551f, quad[3][1]); EXPECT_FLOAT_EQ(-4.7611632f, quad[3][2]); } avogadrolibs-1.93.0/tests/rendering/cameratest.cpp000066400000000000000000000074131360735163600222520ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2012 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include using Avogadro::Rendering::Camera; using Avogadro::Vector3f; void setUpOrthographic(Camera& camera) { camera.calculateOrthographic(0, 10, 0, 10, 0, 1); } TEST(CameraTest, perspective) { Camera camera; camera.calculatePerspective(40, 1.5, 1, 10); // Load in a known value for the result of this matrix. Eigen::Matrix4f expected; expected << 1.83165f, 0.0f, 0.0f, 0.0f, 0.0f, 2.74748f, 0.0f, 0.0f, 0.0f, 0.0f, -1.22222f, -2.22222f, 0.0f, 0.0f, -1.0f, 0.0f; EXPECT_TRUE(camera.projection().matrix().isApprox(expected)); // If it is incorrect then print out the result. if (!camera.projection().matrix().isApprox(expected)) { std::cout << "Error: No match\n" << camera.projection().matrix() << "\nexpected\n" << expected << std::endl; } } TEST(CameraTest, orthographic) { Camera camera; camera.calculateOrthographic(0, 10, 0, 10, 0, 1); // Load in a known value for the result of this matrix. Eigen::Matrix4f expected; expected << 0.2f, 0.0f, 0.0f, -1.0f, 0.0f, 0.2f, 0.0f, -1.0f, 0.0f, 0.0f, -2.0f, -1.0f, 0.0f, 0.0f, 0.0f, 1.0f; EXPECT_TRUE(camera.projection().matrix().isApprox(expected)); // If it is incorrect then print out the result. if (!camera.projection().matrix().isApprox(expected)) { std::cout << "Error: No match\n" << camera.projection().matrix() << "\nexpected\n" << expected << std::endl; } } TEST(CameraTest, projectOrthographic) { Camera camera; camera.calculateOrthographic(0, 10, 0, 10, 0, 1); camera.setViewport(100, 100); Vector3f position = camera.project(Vector3f(1.0, 2.0, 0.0)); Vector3f expected(10.0, 20.0, 0.0); EXPECT_TRUE(position.isApprox(expected)); if (!position.isApprox(expected)) { std::cout << "Error: No match\n" << position << std::endl; } } TEST(CameraTest, projectPerspective) { Camera camera; camera.calculatePerspective(40, 1.5, 1, 10); camera.preTranslate(Vector3f(0, 0, -10)); camera.setViewport(100, 100); Vector3f position = camera.project(Vector3f(1.0, 2.0, 0.0)); Vector3f expected(59.1583f, 77.4748f, 1.0f); EXPECT_TRUE(position.isApprox(expected)); if (!position.isApprox(expected)) { std::cout << "Error: No match\n" << position << std::endl; } } TEST(CameraTest, unProjectOrthographic) { Camera camera; camera.calculateOrthographic(0, 10, 0, 10, 0, 1); camera.setViewport(100, 100); Vector3f position = camera.unProject(Vector3f(10, 25, 0)); Vector3f expected(1.0, 7.5, 0.0); EXPECT_TRUE(position.isApprox(expected)); if (!position.isApprox(expected)) { std::cout << "Error: No match\n" << position << std::endl; } } TEST(CameraTest, unProjectPerspective) { Camera camera; camera.calculatePerspective(40, 1.5, 1, 10); camera.preTranslate(Vector3f(0, 0, -10)); camera.setViewport(100, 100); Vector3f position = camera.unProject(Vector3f(10, 25, 0)); Vector3f expected(-0.436764f, 0.181985f, 9.0f); EXPECT_TRUE(position.isApprox(expected)); if (!position.isApprox(expected)) { std::cout << "Error: No match\n" << position << std::endl; } } avogadrolibs-1.93.0/tests/rendering/nodetest.cpp000066400000000000000000000030251360735163600217420ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include using Avogadro::Rendering::Node; using Avogadro::Rendering::GroupNode; TEST(NodeTest, children) { GroupNode root; Node* child1 = new Node; Node* child2 = new Node; root.addChild(child1); root.addChild(child2); EXPECT_EQ(&root, child1->parent()); EXPECT_EQ(&root, child2->parent()); EXPECT_EQ(child1, root.child(0)); EXPECT_EQ(child2, root.child(1)); } TEST(NodeTest, removeChild) { GroupNode root; Node* child1 = new Node; Node* child2 = new Node; root.addChild(child1); root.addChild(child2); EXPECT_EQ(child1, root.child(0)); EXPECT_EQ(root.removeChild(child1), true); EXPECT_EQ(root.removeChild(child1), false); EXPECT_EQ(child2, root.child(0)); EXPECT_EQ(nullptr, child1->parent()); EXPECT_EQ(&root, child2->parent()); EXPECT_EQ(root.removeChild(child2), true); delete child1; delete child2; } avogadrolibs-1.93.0/tests/rendering/overlayquadstrategytest.cpp000066400000000000000000000040701360735163600251350ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include #include typedef Avogadro::Rendering::OverlayQuadStrategy Strategy; using Avogadro::Core::Array; using Avogadro::Rendering::Camera; using Avogadro::Vector2f; using Avogadro::Vector3f; TEST(OverlayQuadStrategyTest, exercise) { Strategy s; Vector2f anchor(0.1f, 0.6f); s.setAnchor(anchor); EXPECT_EQ(anchor, s.anchor()); Vector2f dims(50.f, 61.f); s.setDimensions(dims); EXPECT_EQ(dims, s.dimensions()); Strategy::HAlign hAlign(Strategy::HLeft); s.setHAlign(hAlign); EXPECT_EQ(hAlign, s.hAlign()); Strategy::VAlign vAlign(Strategy::VBottom); s.setVAlign(vAlign); EXPECT_EQ(vAlign, s.vAlign()); Camera camera; // Configure for overlay: camera.setIdentity(); camera.setViewport(400, 400); camera.calculateOrthographic(0.f, 400.f, 0.f, 400.f, -1.f, 1.f); Array quad(s.quad(camera)); ASSERT_EQ(4, quad.size()); EXPECT_FLOAT_EQ(40, quad[0][0]); EXPECT_FLOAT_EQ(301, quad[0][1]); EXPECT_FLOAT_EQ(0, quad[0][2]); EXPECT_FLOAT_EQ(90, quad[1][0]); EXPECT_FLOAT_EQ(301, quad[1][1]); EXPECT_FLOAT_EQ(0, quad[1][2]); EXPECT_FLOAT_EQ(40, quad[2][0]); EXPECT_FLOAT_EQ(240, quad[2][1]); EXPECT_FLOAT_EQ(0, quad[2][2]); EXPECT_FLOAT_EQ(90, quad[3][0]); EXPECT_FLOAT_EQ(240, quad[3][1]); EXPECT_FLOAT_EQ(0, quad[3][2]); } avogadrolibs-1.93.0/tests/rendering/spheregeometrytest.cpp000066400000000000000000000043521360735163600240630ustar00rootroot00000000000000/****************************************************************************** This source file is part of the Avogadro project. Copyright 2013 Kitware, Inc. This source code is released under the New BSD License, (the "License"). Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ******************************************************************************/ #include #include #include #include using Avogadro::Rendering::GeometryNode; using Avogadro::Rendering::SphereGeometry; using Avogadro::Vector3f; using Avogadro::Vector3ub; TEST(SphereGeometryTest, children) { GeometryNode root; SphereGeometry* child1 = new SphereGeometry; SphereGeometry* child2 = new SphereGeometry; root.addDrawable(child1); root.addDrawable(child2); EXPECT_EQ(&root, child1->parent()); EXPECT_EQ(&root, child2->parent()); EXPECT_EQ(child1, root.drawable(0)); EXPECT_EQ(child2, root.drawable(1)); } TEST(SphereGeometryTest, removeChild) { GeometryNode root; SphereGeometry* child1 = new SphereGeometry; SphereGeometry* child2 = new SphereGeometry; root.addDrawable(child1); root.addDrawable(child2); EXPECT_EQ(child1, root.drawable(0)); EXPECT_EQ(root.removeDrawable(child1), true); EXPECT_EQ(root.removeDrawable(child1), false); EXPECT_EQ(child2, root.drawable(0)); EXPECT_EQ(nullptr, child1->parent()); EXPECT_EQ(&root, child2->parent()); EXPECT_EQ(root.removeDrawable(child2), true); delete child1; delete child2; } TEST(SphereGeometryTest, addSphere) { SphereGeometry node; node.addSphere(Vector3f(1.0, 2.0, 3.0), Vector3ub(200, 100, 50), 5.0); EXPECT_EQ(node.size(), static_cast(1)); } TEST(SphereGeometryTest, clear) { SphereGeometry node; node.addSphere(Vector3f(1.0, 2.0, 3.0), Vector3ub(200, 100, 50), 5.0); EXPECT_EQ(node.size(), static_cast(1)); node.clear(); EXPECT_EQ(node.size(), static_cast(0)); } avogadrolibs-1.93.0/thirdparty/000077500000000000000000000000001360735163600164645ustar00rootroot00000000000000avogadrolibs-1.93.0/thirdparty/CMakeLists.txt000066400000000000000000000001431360735163600212220ustar00rootroot00000000000000add_subdirectory(struct) # Only used by Qt plugin if (USE_QT) add_subdirectory(libgwavi) endif() avogadrolibs-1.93.0/thirdparty/gif-h/000077500000000000000000000000001360735163600174565ustar00rootroot00000000000000avogadrolibs-1.93.0/thirdparty/gif-h/LICENSE000066400000000000000000000022721360735163600204660ustar00rootroot00000000000000This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to avogadrolibs-1.93.0/thirdparty/gif-h/README.md000066400000000000000000000016301360735163600207350ustar00rootroot00000000000000gif-h ===== This one-header library offers a simple, very limited way to create animated GIFs directly in code. Those looking for particular cleverness are likely to be disappointed; it's pretty much a straight-ahead implementation of the GIF format with optional Floyd-Steinberg dithering. (It does at least use delta encoding - only the changed portions of each frame are saved.) So resulting files are often quite large. The hope is that it will be handy nonetheless as a quick and easily-integrated way for programs to spit out animations. Only RGBA8 is currently supported as an input format. (The alpha is ignored.) Email me : ctangora -at- gmail -dot- com Usage: ------------------- Create a GifWriter struct. Pass the struct to GifBegin() to initialize values and write the file header. Pass frames of the animation to GifWriteFrame(). Finally, call GifEnd() to close the file handle and free memory. avogadrolibs-1.93.0/thirdparty/gif-h/gif.h000066400000000000000000000620461360735163600204040ustar00rootroot00000000000000// // gif.h // by Charlie Tangora // Public domain. // Email me : ctangora -at- gmail -dot- com // // This file offers a simple, very limited way to create animated GIFs directly // in code. // // Those looking for particular cleverness are likely to be disappointed; it's // pretty much a straight-ahead implementation of the GIF format with optional // Floyd-Steinberg dithering. (It does at least use delta encoding - only the // changed portions of each frame are saved.) // // So resulting files are often quite large. The hope is that it will be handy // nonetheless as a quick and easily-integrated way for programs to spit out // animations. // // Only RGBA8 is currently supported as an input format. (The alpha is ignored.) // // USAGE: // Create a GifWriter struct. Pass it to GifBegin() to initialize and write the // header. Pass subsequent frames to GifWriteFrame(). Finally, call GifEnd() to // close the file handle and free memory. // #ifndef gif_h #define gif_h #include // for integer typedefs #include // for FILE* #include // for memcpy and bzero // Define these macros to hook into a custom memory allocator. // TEMP_MALLOC and TEMP_FREE will only be called in stack fashion - frees in the // reverse order of mallocs and any temp memory allocated by a function will be // freed before it exits. MALLOC and FREE are used only by GifBegin and GifEnd // respectively (to allocate a buffer the size of the image, which is used to // find changed pixels for delta-encoding.) #ifndef GIF_TEMP_MALLOC #include #define GIF_TEMP_MALLOC malloc #endif #ifndef GIF_TEMP_FREE #include #define GIF_TEMP_FREE free #endif #ifndef GIF_MALLOC #include #define GIF_MALLOC malloc #endif #ifndef GIF_FREE #include #define GIF_FREE free #endif const int kGifTransIndex = 0; struct GifPalette { int bitDepth; uint8_t r[256]; uint8_t g[256]; uint8_t b[256]; // k-d tree over RGB space, organized in heap fashion // i.e. left child of node i is node i*2, right child is node i*2+1 // nodes 256-511 are implicitly the leaves, containing a color uint8_t treeSplitElt[255]; uint8_t treeSplit[255]; }; // max, min, and abs functions int GifIMax(int l, int r) { return l > r ? l : r; } int GifIMin(int l, int r) { return l < r ? l : r; } int GifIAbs(int i) { return i < 0 ? -i : i; } // walks the k-d tree to pick the palette entry for a desired color. // Takes as in/out parameters the current best color and its error - // only changes them if it finds a better color in its subtree. // this is the major hotspot in the code at the moment. void GifGetClosestPaletteColor(GifPalette* pPal, int r, int g, int b, int& bestInd, int& bestDiff, int treeRoot = 1) { // base case, reached the bottom of the tree if (treeRoot > (1 << pPal->bitDepth) - 1) { int ind = treeRoot - (1 << pPal->bitDepth); if (ind == kGifTransIndex) return; // check whether this color is better than the current winner int r_err = r - ((int32_t)pPal->r[ind]); int g_err = g - ((int32_t)pPal->g[ind]); int b_err = b - ((int32_t)pPal->b[ind]); int diff = GifIAbs(r_err) + GifIAbs(g_err) + GifIAbs(b_err); if (diff < bestDiff) { bestInd = ind; bestDiff = diff; } return; } // take the appropriate color (r, g, or b) for this node of the k-d tree int comps[3]; comps[0] = r; comps[1] = g; comps[2] = b; int splitComp = comps[pPal->treeSplitElt[treeRoot]]; int splitPos = pPal->treeSplit[treeRoot]; if (splitPos > splitComp) { // check the left subtree GifGetClosestPaletteColor(pPal, r, g, b, bestInd, bestDiff, treeRoot * 2); if (bestDiff > splitPos - splitComp) { // cannot prove there's not a better value in the right subtree, check // that too GifGetClosestPaletteColor(pPal, r, g, b, bestInd, bestDiff, treeRoot * 2 + 1); } } else { GifGetClosestPaletteColor(pPal, r, g, b, bestInd, bestDiff, treeRoot * 2 + 1); if (bestDiff > splitComp - splitPos) { GifGetClosestPaletteColor(pPal, r, g, b, bestInd, bestDiff, treeRoot * 2); } } } void GifSwapPixels(uint8_t* image, int pixA, int pixB) { uint8_t rA = image[pixA * 4]; uint8_t gA = image[pixA * 4 + 1]; uint8_t bA = image[pixA * 4 + 2]; uint8_t aA = image[pixA * 4 + 3]; uint8_t rB = image[pixB * 4]; uint8_t gB = image[pixB * 4 + 1]; uint8_t bB = image[pixB * 4 + 2]; uint8_t aB = image[pixA * 4 + 3]; image[pixA * 4] = rB; image[pixA * 4 + 1] = gB; image[pixA * 4 + 2] = bB; image[pixA * 4 + 3] = aB; image[pixB * 4] = rA; image[pixB * 4 + 1] = gA; image[pixB * 4 + 2] = bA; image[pixB * 4 + 3] = aA; } // just the partition operation from quicksort int GifPartition(uint8_t* image, const int left, const int right, const int elt, int pivotIndex) { const int pivotValue = image[(pivotIndex)*4 + elt]; GifSwapPixels(image, pivotIndex, right - 1); int storeIndex = left; bool split = 0; for (int ii = left; ii < right - 1; ++ii) { int arrayVal = image[ii * 4 + elt]; if (arrayVal < pivotValue) { GifSwapPixels(image, ii, storeIndex); ++storeIndex; } else if (arrayVal == pivotValue) { if (split) { GifSwapPixels(image, ii, storeIndex); ++storeIndex; } split = !split; } } GifSwapPixels(image, storeIndex, right - 1); return storeIndex; } // Perform an incomplete sort, finding all elements above and below the desired // median void GifPartitionByMedian(uint8_t* image, int left, int right, int com, int neededCenter) { if (left < right - 1) { int pivotIndex = left + (right - left) / 2; pivotIndex = GifPartition(image, left, right, com, pivotIndex); // Only "sort" the section of the array that contains the median if (pivotIndex > neededCenter) GifPartitionByMedian(image, left, pivotIndex, com, neededCenter); if (pivotIndex < neededCenter) GifPartitionByMedian(image, pivotIndex + 1, right, com, neededCenter); } } // Builds a palette by creating a balanced k-d tree of all pixels in the image void GifSplitPalette(uint8_t* image, int numPixels, int firstElt, int lastElt, int splitElt, int splitDist, int treeNode, bool buildForDither, GifPalette* pal) { if (lastElt <= firstElt || numPixels == 0) return; // base case, bottom of the tree if (lastElt == firstElt + 1) { if (buildForDither) { // Dithering needs at least one color as dark as anything // in the image and at least one brightest color - // otherwise it builds up error and produces strange artifacts if (firstElt == 1) { // special case: the darkest color in the image uint32_t r = 255, g = 255, b = 255; for (int ii = 0; ii < numPixels; ++ii) { r = (uint32_t)GifIMin((int32_t)r, image[ii * 4 + 0]); g = (uint32_t)GifIMin((int32_t)g, image[ii * 4 + 1]); b = (uint32_t)GifIMin((int32_t)b, image[ii * 4 + 2]); } pal->r[firstElt] = (uint8_t)r; pal->g[firstElt] = (uint8_t)g; pal->b[firstElt] = (uint8_t)b; return; } if (firstElt == (1 << pal->bitDepth) - 1) { // special case: the lightest color in the image uint32_t r = 0, g = 0, b = 0; for (int ii = 0; ii < numPixels; ++ii) { r = (uint32_t)GifIMax((int32_t)r, image[ii * 4 + 0]); g = (uint32_t)GifIMax((int32_t)g, image[ii * 4 + 1]); b = (uint32_t)GifIMax((int32_t)b, image[ii * 4 + 2]); } pal->r[firstElt] = (uint8_t)r; pal->g[firstElt] = (uint8_t)g; pal->b[firstElt] = (uint8_t)b; return; } } // otherwise, take the average of all colors in this subcube uint64_t r = 0, g = 0, b = 0; for (int ii = 0; ii < numPixels; ++ii) { r += image[ii * 4 + 0]; g += image[ii * 4 + 1]; b += image[ii * 4 + 2]; } r += (uint64_t)numPixels / 2; // round to nearest g += (uint64_t)numPixels / 2; b += (uint64_t)numPixels / 2; r /= (uint64_t)numPixels; g /= (uint64_t)numPixels; b /= (uint64_t)numPixels; pal->r[firstElt] = (uint8_t)r; pal->g[firstElt] = (uint8_t)g; pal->b[firstElt] = (uint8_t)b; return; } // Find the axis with the largest range int minR = 255, maxR = 0; int minG = 255, maxG = 0; int minB = 255, maxB = 0; for (int ii = 0; ii < numPixels; ++ii) { int r = image[ii * 4 + 0]; int g = image[ii * 4 + 1]; int b = image[ii * 4 + 2]; if (r > maxR) maxR = r; if (r < minR) minR = r; if (g > maxG) maxG = g; if (g < minG) minG = g; if (b > maxB) maxB = b; if (b < minB) minB = b; } int rRange = maxR - minR; int gRange = maxG - minG; int bRange = maxB - minB; // and split along that axis. (incidentally, this means this isn't a "proper" // k-d tree but I don't know what else to call it) int splitCom = 1; if (bRange > gRange) splitCom = 2; if (rRange > bRange && rRange > gRange) splitCom = 0; int subPixelsA = numPixels * (splitElt - firstElt) / (lastElt - firstElt); int subPixelsB = numPixels - subPixelsA; GifPartitionByMedian(image, 0, numPixels, splitCom, subPixelsA); pal->treeSplitElt[treeNode] = (uint8_t)splitCom; pal->treeSplit[treeNode] = image[subPixelsA * 4 + splitCom]; GifSplitPalette(image, subPixelsA, firstElt, splitElt, splitElt - splitDist, splitDist / 2, treeNode * 2, buildForDither, pal); GifSplitPalette(image + subPixelsA * 4, subPixelsB, splitElt, lastElt, splitElt + splitDist, splitDist / 2, treeNode * 2 + 1, buildForDither, pal); } // Finds all pixels that have changed from the previous image and // moves them to the fromt of th buffer. // This allows us to build a palette optimized for the colors of the // changed pixels only. int GifPickChangedPixels(const uint8_t* lastFrame, uint8_t* frame, int numPixels) { int numChanged = 0; uint8_t* writeIter = frame; for (int ii = 0; ii < numPixels; ++ii) { if (lastFrame[0] != frame[0] || lastFrame[1] != frame[1] || lastFrame[2] != frame[2]) { writeIter[0] = frame[0]; writeIter[1] = frame[1]; writeIter[2] = frame[2]; ++numChanged; writeIter += 4; } lastFrame += 4; frame += 4; } return numChanged; } // Creates a palette by placing all the image pixels in a k-d tree and then // averaging the blocks at the bottom. This is known as the "modified median // split" technique void GifMakePalette(const uint8_t* lastFrame, const uint8_t* nextFrame, uint32_t width, uint32_t height, int bitDepth, bool buildForDither, GifPalette* pPal) { pPal->bitDepth = bitDepth; // SplitPalette is destructive (it sorts the pixels by color) so // we must create a copy of the image for it to destroy size_t imageSize = (size_t)(width * height * 4 * sizeof(uint8_t)); uint8_t* destroyableImage = (uint8_t*)GIF_TEMP_MALLOC(imageSize); memcpy(destroyableImage, nextFrame, imageSize); int numPixels = (int)(width * height); if (lastFrame) numPixels = GifPickChangedPixels(lastFrame, destroyableImage, numPixels); const int lastElt = 1 << bitDepth; const int splitElt = lastElt / 2; const int splitDist = splitElt / 2; GifSplitPalette(destroyableImage, numPixels, 1, lastElt, splitElt, splitDist, 1, buildForDither, pPal); GIF_TEMP_FREE(destroyableImage); // add the bottom node for the transparency index pPal->treeSplit[1 << (bitDepth - 1)] = 0; pPal->treeSplitElt[1 << (bitDepth - 1)] = 0; pPal->r[0] = pPal->g[0] = pPal->b[0] = 0; } // Implements Floyd-Steinberg dithering, writes palette value to alpha void GifDitherImage(const uint8_t* lastFrame, const uint8_t* nextFrame, uint8_t* outFrame, uint32_t width, uint32_t height, GifPalette* pPal) { int numPixels = (int)(width * height); // quantPixels initially holds color*256 for all pixels // The extra 8 bits of precision allow for sub-single-color error values // to be propagated int32_t* quantPixels = (int32_t*)GIF_TEMP_MALLOC(sizeof(int32_t) * (size_t)numPixels * 4); for (int ii = 0; ii < numPixels * 4; ++ii) { uint8_t pix = nextFrame[ii]; int32_t pix16 = int32_t(pix) * 256; quantPixels[ii] = pix16; } for (uint32_t yy = 0; yy < height; ++yy) { for (uint32_t xx = 0; xx < width; ++xx) { int32_t* nextPix = quantPixels + 4 * (yy * width + xx); const uint8_t* lastPix = lastFrame ? lastFrame + 4 * (yy * width + xx) : NULL; // Compute the colors we want (rounding to nearest) int32_t rr = (nextPix[0] + 127) / 256; int32_t gg = (nextPix[1] + 127) / 256; int32_t bb = (nextPix[2] + 127) / 256; // if it happens that we want the color from last frame, then just write // out a transparent pixel if (lastFrame && lastPix[0] == rr && lastPix[1] == gg && lastPix[2] == bb) { nextPix[0] = rr; nextPix[1] = gg; nextPix[2] = bb; nextPix[3] = kGifTransIndex; continue; } int32_t bestDiff = 1000000; int32_t bestInd = kGifTransIndex; // Search the palete GifGetClosestPaletteColor(pPal, rr, gg, bb, bestInd, bestDiff); // Write the result to the temp buffer int32_t r_err = nextPix[0] - int32_t(pPal->r[bestInd]) * 256; int32_t g_err = nextPix[1] - int32_t(pPal->g[bestInd]) * 256; int32_t b_err = nextPix[2] - int32_t(pPal->b[bestInd]) * 256; nextPix[0] = pPal->r[bestInd]; nextPix[1] = pPal->g[bestInd]; nextPix[2] = pPal->b[bestInd]; nextPix[3] = bestInd; // Propagate the error to the four adjacent locations // that we haven't touched yet int quantloc_7 = (int)(yy * width + xx + 1); int quantloc_3 = (int)(yy * width + width + xx - 1); int quantloc_5 = (int)(yy * width + width + xx); int quantloc_1 = (int)(yy * width + width + xx + 1); if (quantloc_7 < numPixels) { int32_t* pix7 = quantPixels + 4 * quantloc_7; pix7[0] += GifIMax(-pix7[0], r_err * 7 / 16); pix7[1] += GifIMax(-pix7[1], g_err * 7 / 16); pix7[2] += GifIMax(-pix7[2], b_err * 7 / 16); } if (quantloc_3 < numPixels) { int32_t* pix3 = quantPixels + 4 * quantloc_3; pix3[0] += GifIMax(-pix3[0], r_err * 3 / 16); pix3[1] += GifIMax(-pix3[1], g_err * 3 / 16); pix3[2] += GifIMax(-pix3[2], b_err * 3 / 16); } if (quantloc_5 < numPixels) { int32_t* pix5 = quantPixels + 4 * quantloc_5; pix5[0] += GifIMax(-pix5[0], r_err * 5 / 16); pix5[1] += GifIMax(-pix5[1], g_err * 5 / 16); pix5[2] += GifIMax(-pix5[2], b_err * 5 / 16); } if (quantloc_1 < numPixels) { int32_t* pix1 = quantPixels + 4 * quantloc_1; pix1[0] += GifIMax(-pix1[0], r_err / 16); pix1[1] += GifIMax(-pix1[1], g_err / 16); pix1[2] += GifIMax(-pix1[2], b_err / 16); } } } // Copy the palettized result to the output buffer for (int ii = 0; ii < numPixels * 4; ++ii) { outFrame[ii] = (uint8_t)quantPixels[ii]; } GIF_TEMP_FREE(quantPixels); } // Picks palette colors for the image using simple thresholding, no dithering void GifThresholdImage(const uint8_t* lastFrame, const uint8_t* nextFrame, uint8_t* outFrame, uint32_t width, uint32_t height, GifPalette* pPal) { uint32_t numPixels = width * height; for (uint32_t ii = 0; ii < numPixels; ++ii) { // if a previous color is available, and it matches the current color, // set the pixel to transparent if (lastFrame && lastFrame[0] == nextFrame[0] && lastFrame[1] == nextFrame[1] && lastFrame[2] == nextFrame[2]) { outFrame[0] = lastFrame[0]; outFrame[1] = lastFrame[1]; outFrame[2] = lastFrame[2]; outFrame[3] = kGifTransIndex; } else { // palettize the pixel int32_t bestDiff = 1000000; int32_t bestInd = 1; GifGetClosestPaletteColor(pPal, nextFrame[0], nextFrame[1], nextFrame[2], bestInd, bestDiff); // Write the resulting color to the output buffer outFrame[0] = pPal->r[bestInd]; outFrame[1] = pPal->g[bestInd]; outFrame[2] = pPal->b[bestInd]; outFrame[3] = (uint8_t)bestInd; } if (lastFrame) lastFrame += 4; outFrame += 4; nextFrame += 4; } } // Simple structure to write out the LZW-compressed portion of the image // one bit at a time struct GifBitStatus { uint8_t bitIndex; // how many bits in the partial byte written so far uint8_t byte; // current partial byte uint32_t chunkIndex; uint8_t chunk[256]; // bytes are written in here until we have 256 of them, // then written to the file }; // insert a single bit void GifWriteBit(GifBitStatus& stat, uint32_t bit) { bit = bit & 1; bit = bit << stat.bitIndex; stat.byte |= bit; ++stat.bitIndex; if (stat.bitIndex > 7) { // move the newly-finished byte to the chunk buffer stat.chunk[stat.chunkIndex++] = stat.byte; // and start a new byte stat.bitIndex = 0; stat.byte = 0; } } // write all bytes so far to the file void GifWriteChunk(FILE* f, GifBitStatus& stat) { fputc((int)stat.chunkIndex, f); fwrite(stat.chunk, 1, stat.chunkIndex, f); stat.bitIndex = 0; stat.byte = 0; stat.chunkIndex = 0; } void GifWriteCode(FILE* f, GifBitStatus& stat, uint32_t code, uint32_t length) { for (uint32_t ii = 0; ii < length; ++ii) { GifWriteBit(stat, code); code = code >> 1; if (stat.chunkIndex == 255) { GifWriteChunk(f, stat); } } } // The LZW dictionary is a 256-ary tree constructed as the file is encoded, // this is one node struct GifLzwNode { uint16_t m_next[256]; }; // write a 256-color (8-bit) image palette to the file void GifWritePalette(const GifPalette* pPal, FILE* f) { fputc(0, f); // first color: transparency fputc(0, f); fputc(0, f); for (int ii = 1; ii < (1 << pPal->bitDepth); ++ii) { uint32_t r = pPal->r[ii]; uint32_t g = pPal->g[ii]; uint32_t b = pPal->b[ii]; fputc((int)r, f); fputc((int)g, f); fputc((int)b, f); } } // write the image header, LZW-compress and write out the image void GifWriteLzwImage(FILE* f, uint8_t* image, uint32_t left, uint32_t top, uint32_t width, uint32_t height, uint32_t delay, GifPalette* pPal) { // graphics control extension fputc(0x21, f); fputc(0xf9, f); fputc(0x04, f); fputc(0x05, f); // leave prev frame in place, this frame has transparency fputc(delay & 0xff, f); fputc((delay >> 8) & 0xff, f); fputc(kGifTransIndex, f); // transparent color index fputc(0, f); fputc(0x2c, f); // image descriptor block fputc(left & 0xff, f); // corner of image in canvas space fputc((left >> 8) & 0xff, f); fputc(top & 0xff, f); fputc((top >> 8) & 0xff, f); fputc(width & 0xff, f); // width and height of image fputc((width >> 8) & 0xff, f); fputc(height & 0xff, f); fputc((height >> 8) & 0xff, f); // fputc(0, f); // no local color table, no transparency // fputc(0x80, f); // no local color table, but transparency fputc(0x80 + pPal->bitDepth - 1, f); // local color table present, 2 ^ bitDepth entries GifWritePalette(pPal, f); const int minCodeSize = pPal->bitDepth; const uint32_t clearCode = 1 << pPal->bitDepth; fputc(minCodeSize, f); // min code size 8 bits GifLzwNode* codetree = (GifLzwNode*)GIF_TEMP_MALLOC(sizeof(GifLzwNode) * 4096); memset(codetree, 0, sizeof(GifLzwNode) * 4096); int32_t curCode = -1; uint32_t codeSize = (uint32_t)minCodeSize + 1; uint32_t maxCode = clearCode + 1; GifBitStatus stat; stat.byte = 0; stat.bitIndex = 0; stat.chunkIndex = 0; GifWriteCode(f, stat, clearCode, codeSize); // start with a fresh LZW dictionary for (uint32_t yy = 0; yy < height; ++yy) { for (uint32_t xx = 0; xx < width; ++xx) { uint8_t nextValue = image[(yy * width + xx) * 4 + 3]; // "loser mode" - no compression, every single code is followed // immediately by a clear // WriteCode( f, stat, nextValue, codeSize ); // WriteCode( f, stat, 256, codeSize ); if (curCode < 0) { // first value in a new run curCode = nextValue; } else if (codetree[curCode].m_next[nextValue]) { // current run already in the dictionary curCode = codetree[curCode].m_next[nextValue]; } else { // finish the current run, write a code GifWriteCode(f, stat, (uint32_t)curCode, codeSize); // insert the new run into the dictionary codetree[curCode].m_next[nextValue] = (uint16_t)++maxCode; if (maxCode >= (1ul << codeSize)) { // dictionary entry count has broken a size barrier, // we need more bits for codes codeSize++; } if (maxCode == 4095) { // the dictionary is full, clear it out and begin anew GifWriteCode(f, stat, clearCode, codeSize); // clear tree memset(codetree, 0, sizeof(GifLzwNode) * 4096); codeSize = (uint32_t)(minCodeSize + 1); maxCode = clearCode + 1; } curCode = nextValue; } } } // compression footer GifWriteCode(f, stat, (uint32_t)curCode, codeSize); GifWriteCode(f, stat, clearCode, codeSize); GifWriteCode(f, stat, clearCode + 1, (uint32_t)minCodeSize + 1); // write out the last partial chunk while (stat.bitIndex) GifWriteBit(stat, 0); if (stat.chunkIndex) GifWriteChunk(f, stat); fputc(0, f); // image block terminator GIF_TEMP_FREE(codetree); } struct GifWriter { FILE* f; uint8_t* oldImage; bool firstFrame; }; // Creates a gif file. // The input GIFWriter is assumed to be uninitialized. // The delay value is the time between frames in hundredths of a second - note // that not all viewers pay much attention to this value. bool GifBegin(GifWriter* writer, const char* filename, uint32_t width, uint32_t height, uint32_t delay, int32_t bitDepth = 8, bool dither = false) { (void)bitDepth; (void)dither; // Mute "Unused argument" warnings #if defined(_MSC_VER) && (_MSC_VER >= 1400) writer->f = 0; fopen_s(&writer->f, filename, "wb"); #else writer->f = fopen(filename, "wb"); #endif if (!writer->f) return false; writer->firstFrame = true; // allocate writer->oldImage = (uint8_t*)GIF_MALLOC(width * height * 4); fputs("GIF89a", writer->f); // screen descriptor fputc(width & 0xff, writer->f); fputc((width >> 8) & 0xff, writer->f); fputc(height & 0xff, writer->f); fputc((height >> 8) & 0xff, writer->f); fputc(0xf0, writer->f); // there is an unsorted global color table of 2 entries fputc(0, writer->f); // background color fputc( 0, writer->f); // pixels are square (we need to specify this because it's 1989) // now the "global" palette (really just a dummy palette) // color 0: black fputc(0, writer->f); fputc(0, writer->f); fputc(0, writer->f); // color 1: also black fputc(0, writer->f); fputc(0, writer->f); fputc(0, writer->f); if (delay != 0) { // animation header fputc(0x21, writer->f); // extension fputc(0xff, writer->f); // application specific fputc(11, writer->f); // length 11 fputs("NETSCAPE2.0", writer->f); // yes, really fputc(3, writer->f); // 3 bytes of NETSCAPE2.0 data fputc(1, writer->f); // JUST BECAUSE fputc(0, writer->f); // loop infinitely (byte 0) fputc(0, writer->f); // loop infinitely (byte 1) fputc(0, writer->f); // block terminator } return true; } // Writes out a new frame to a GIF in progress. // The GIFWriter should have been created by GIFBegin. // AFAIK, it is legal to use different bit depths for different frames of an // image - this may be handy to save bits in animations that don't change much. bool GifWriteFrame(GifWriter* writer, const uint8_t* image, uint32_t width, uint32_t height, uint32_t delay, int bitDepth = 8, bool dither = false) { if (!writer->f) return false; const uint8_t* oldImage = writer->firstFrame ? NULL : writer->oldImage; writer->firstFrame = false; GifPalette pal; GifMakePalette((dither ? NULL : oldImage), image, width, height, bitDepth, dither, &pal); if (dither) GifDitherImage(oldImage, image, writer->oldImage, width, height, &pal); else GifThresholdImage(oldImage, image, writer->oldImage, width, height, &pal); GifWriteLzwImage(writer->f, writer->oldImage, 0, 0, width, height, delay, &pal); return true; } // Writes the EOF code, closes the file handle, and frees temp memory used by a // GIF. Many if not most viewers will still display a GIF properly if the EOF // code is missing, but it's still a good idea to write it out. bool GifEnd(GifWriter* writer) { if (!writer->f) return false; fputc(0x3b, writer->f); // end of file fclose(writer->f); GIF_FREE(writer->oldImage); writer->f = NULL; writer->oldImage = NULL; return true; } #endif avogadrolibs-1.93.0/thirdparty/libgwavi/000077500000000000000000000000001360735163600202705ustar00rootroot00000000000000avogadrolibs-1.93.0/thirdparty/libgwavi/AUTHORS.md000066400000000000000000000003361360735163600217410ustar00rootroot00000000000000## AUTHORS * Michael Kohn (2008-2011, original author of libkohn-avi) * Robin Hahling "Rolinh" (2013, gwavi fork of libkohn-avi) avogadrolibs-1.93.0/thirdparty/libgwavi/CMakeLists.txt000066400000000000000000000005121360735163600230260ustar00rootroot00000000000000add_library(libgwavi STATIC gwavi.c fileio.c avi-utils.c) set_target_properties(libgwavi PROPERTIES POSITION_INDEPENDENT_CODE TRUE) install(TARGETS libgwavi EXPORT "AvogadroLibsTargets" RUNTIME DESTINATION "${INSTALL_RUNTIME_DIR}" LIBRARY DESTINATION "${INSTALL_LIBRARY_DIR}" ARCHIVE DESTINATION "${INSTALL_ARCHIVE_DIR}")avogadrolibs-1.93.0/thirdparty/libgwavi/LICENSE000066400000000000000000000027771360735163600213120ustar00rootroot00000000000000Copyright (c) 2008-2011, Michael Kohn Copyright (c) 2013, Robin Hahling All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. avogadrolibs-1.93.0/thirdparty/libgwavi/README.md000066400000000000000000000052171360735163600215540ustar00rootroot00000000000000# DISCLAIMER Even though you can already generate AVI files, this library has not reached a final version yet and is still a work in progress. You've been warned... ;) # SYNOPSIS `libgwavi` is a fork of `libkohn-avi`. It is a tiny C library aimed at creating AVI files. Original credits go to Michael Kohn, who released his library under the LGPL license. He, however, allowed me to release my forked version under the less restrictive 3-clause BSD license so... Thanks to him! Anyway, why the fork you might ask? I used it in an application that needed the library to be reliable. So here is what has already changed from `libkohn-avi`: * added library documentation * removed dead code * improved error checking * added unit tests # BUILD This library has no dependencies, you only need the standard C library. To generate `libgwavi.so`, just type the following from the root's directory: make To generate the documentation of the library functions, type the following: make doc The code includes a demo application that uses `libgwavi`. You can build it using this command: make examples # HOW TO USE IT For a complete example, have a look at the demo application in the examples folder. If your in a hurry, here is a small explanation on how to use it. First, you need to include the header file. #include "gwavi.h" There is basically four main function that you will need to use: * `gwavi_open()` * `gwavi_add_frame()` * `gwavi_add_audio()` * `gwavi_close()` Please, note that error checking has been voluntarily omitted int the examples below for the sake of the clarification. So first, you should declare a `gwavi_t` structure and initialize it. You can optionally declare a `gwavi_audio_t` structure if you need to add an audio channel to your AVI file. struct gwavi_t *gwavi; struct gwavi_audio_t audio; gwavi = gwavi_open("foo.avi", 1920, 1080, "MJPG", 30, &audio); Note that the audio channel is optional and that you can pass `NULL` as the last argument of `gwavi_open()` if you don't need it. Then you add your video frames: gwavi_add_frame(gwavi, buffer, buffer_length); You can also add audio with `gwavi_add_audio()`. And at the end, you can close the output file and free the allocated memory by calling the `gwavi_close()` function. gwavi_close(gwavi); # DOCUMENTATION The library documentation can be generated with `make doc` if you have `doxygen` installed. Otherwise, you can just visit http://doc.gw-computing.net/libgwavi. avogadrolibs-1.93.0/thirdparty/libgwavi/avi-utils.c000066400000000000000000000420601360735163600223530ustar00rootroot00000000000000/* * Copyright (c) 2008-2011, Michael Kohn * Copyright (c) 2013, Robin Hahling * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * * Neither the name of the author nor the names of its contributors may be * used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* * Set of functions useful to create an AVI file. It is used to write things * such as AVI header and so on. */ #include #include #include "avi-utils.h" #include "fileio.h" int write_avi_header(FILE* out, struct gwavi_header_t* avi_header) { long marker, t; if (write_chars_bin(out, "avih", 4) == -1) { (void)fprintf(stderr, "write_avi_header: write_chars_bin() " "failed\n"); return -1; } if ((marker = ftell(out)) == -1) { perror("write_avi_header (ftell)"); return -1; } if (write_int(out, 0) == -1) goto write_int_failed; if (write_int(out, avi_header->time_delay) == -1) goto write_int_failed; if (write_int(out, avi_header->data_rate) == -1) goto write_int_failed; if (write_int(out, avi_header->reserved) == -1) goto write_int_failed; /* dwFlags */ if (write_int(out, avi_header->flags) == -1) goto write_int_failed; /* dwTotalFrames */ if (write_int(out, avi_header->number_of_frames) == -1) goto write_int_failed; if (write_int(out, avi_header->initial_frames) == -1) goto write_int_failed; if (write_int(out, avi_header->data_streams) == -1) goto write_int_failed; if (write_int(out, avi_header->buffer_size) == -1) goto write_int_failed; if (write_int(out, avi_header->width) == -1) goto write_int_failed; if (write_int(out, avi_header->height) == -1) goto write_int_failed; if (write_int(out, avi_header->time_scale) == -1) goto write_int_failed; if (write_int(out, avi_header->playback_data_rate) == -1) goto write_int_failed; if (write_int(out, avi_header->starting_time) == -1) goto write_int_failed; if (write_int(out, avi_header->data_length) == -1) goto write_int_failed; if ((t = ftell(out)) == -1) { perror("write_avi_header (ftell)"); return -1; } if (fseek(out, marker, SEEK_SET) == -1) { perror("write_avi_header (fseek)"); return -1; } if (write_int(out, (unsigned int)(t - marker - 4)) == -1) goto write_int_failed; if (fseek(out, t, SEEK_SET) == -1) { perror("write_avi_header (fseek)"); return -1; } return 0; write_int_failed: (void)fprintf(stderr, "write_avi_header: write_int() failed\n"); return -1; } int write_stream_header(FILE* out, struct gwavi_stream_header_t* stream_header) { long marker, t; if (write_chars_bin(out, "strh", 4) == -1) goto write_chars_bin_failed; if ((marker = ftell(out)) == -1) { perror("write_stream_header (ftell)"); return -1; } if (write_int(out, 0) == -1) goto write_int_failed; if (write_chars_bin(out, stream_header->data_type, 4) == -1) goto write_chars_bin_failed; if (write_chars_bin(out, stream_header->codec, 4) == -1) goto write_chars_bin_failed; if (write_int(out, stream_header->flags) == -1) goto write_int_failed; if (write_int(out, stream_header->priority) == -1) goto write_int_failed; if (write_int(out, stream_header->initial_frames) == -1) goto write_int_failed; if (write_int(out, stream_header->time_scale) == -1) goto write_int_failed; if (write_int(out, stream_header->data_rate) == -1) goto write_int_failed; if (write_int(out, stream_header->start_time) == -1) goto write_int_failed; if (write_int(out, stream_header->data_length) == -1) goto write_int_failed; if (write_int(out, stream_header->buffer_size) == -1) goto write_int_failed; if (write_int(out, stream_header->video_quality) == -1) goto write_int_failed; if (write_int(out, stream_header->sample_size) == -1) goto write_int_failed; if (write_int(out, 0) == -1) goto write_int_failed; if (write_int(out, 0) == -1) goto write_int_failed; if ((t = ftell(out)) == -1) { perror("write_stream_header (ftell)"); return -1; } if (fseek(out, marker, SEEK_SET) == -1) { perror("write_stream_header (fseek)"); return -1; } write_int(out, (unsigned int)(t - marker - 4)); if (fseek(out, t, SEEK_SET) == -1) { perror("write_stream_header (fseek)"); return -1; } return 0; write_int_failed: (void)fprintf(stderr, "write_stream_header: write_int() failed\n"); return -1; write_chars_bin_failed: (void)fprintf(stderr, "write_stream_header: write_chars_bin() failed\n"); return -1; } int write_stream_format_v(FILE* out, struct gwavi_stream_format_v_t* stream_format_v) { long marker, t; unsigned int i; if (write_chars_bin(out, "strf", 4) == -1) { (void)fprintf(stderr, "write_stream_format_v: write_chars_bin()" " failed\n"); return -1; } if ((marker = ftell(out)) == -1) { perror("write_stream_format_v (ftell)"); return -1; } if (write_int(out, 0) == -1) goto write_int_failed; if (write_int(out, stream_format_v->header_size) == -1) goto write_int_failed; if (write_int(out, stream_format_v->width) == -1) goto write_int_failed; if (write_int(out, stream_format_v->height) == -1) goto write_int_failed; if (write_short(out, stream_format_v->num_planes) == -1) { (void)fprintf(stderr, "write_stream_format_v: write_short() " "failed\n"); return -1; } if (write_short(out, stream_format_v->bits_per_pixel) == -1) { (void)fprintf(stderr, "write_stream_format_v: write_short() " "failed\n"); return -1; } if (write_int(out, stream_format_v->compression_type) == -1) goto write_int_failed; if (write_int(out, stream_format_v->image_size) == -1) goto write_int_failed; if (write_int(out, stream_format_v->x_pels_per_meter) == -1) goto write_int_failed; if (write_int(out, stream_format_v->y_pels_per_meter) == -1) goto write_int_failed; if (write_int(out, stream_format_v->colors_used) == -1) goto write_int_failed; if (write_int(out, stream_format_v->colors_important) == -1) goto write_int_failed; if (stream_format_v->colors_used != 0) for (i = 0; i < stream_format_v->colors_used; i++) { if (fputc(stream_format_v->palette[i] & 255, out) == EOF) goto fputc_failed; if (fputc((stream_format_v->palette[i] >> 8) & 255, out) == EOF) goto fputc_failed; if (fputc((stream_format_v->palette[i] >> 16) & 255, out) == EOF) goto fputc_failed; if (fputc(0, out) == EOF) goto fputc_failed; } if ((t = ftell(out)) == -1) { perror("write_stream_format_v (ftell)"); return -1; } if (fseek(out, marker, SEEK_SET) == -1) { perror("write_stream_format_v (fseek)"); return -1; } if (write_int(out, (unsigned int)(t - marker - 4)) == -1) goto write_int_failed; if (fseek(out, t, SEEK_SET) == -1) { perror("write_stream_format_v (fseek)"); return -1; } return 0; write_int_failed: (void)fprintf(stderr, "write_stream_format_v: write_int() failed\n"); return -1; fputc_failed: (void)fprintf(stderr, "write_stream_format_v: fputc() failed\n"); return -1; } int write_stream_format_a(FILE* out, struct gwavi_stream_format_a_t* stream_format_a) { long marker, t; if (write_chars_bin(out, "strf", 4) == -1) { (void)fprintf(stderr, "write_stream_format_a: write_chars_bin()" " failed\n"); return -1; } if ((marker = ftell(out)) == -1) { perror("write_stream_format_a (ftell)"); return -1; } if (write_int(out, 0) == -1) goto write_int_failed; if (write_short(out, stream_format_a->format_type) == -1) goto write_short_failed; if (write_short(out, stream_format_a->channels) == -1) goto write_short_failed; if (write_int(out, stream_format_a->sample_rate) == -1) goto write_int_failed; if (write_int(out, stream_format_a->bytes_per_second) == -1) goto write_int_failed; if (write_short(out, stream_format_a->block_align) == -1) goto write_short_failed; if (write_short(out, stream_format_a->bits_per_sample) == -1) goto write_short_failed; if (write_short(out, stream_format_a->size) == -1) goto write_short_failed; if ((t = ftell(out)) == -1) { perror("write_stream_format_a (ftell)"); return -1; } if (fseek(out, marker, SEEK_SET) == -1) { perror("write_stream_format_a (fseek)"); return -1; } if (write_int(out, (unsigned int)(t - marker - 4)) == -1) goto write_int_failed; if (fseek(out, t, SEEK_SET) == -1) { perror("write_stream_format_a (fseek)"); return -1; } return 0; write_int_failed: (void)fprintf(stderr, "write_stream_format_a: write_int() failed\n"); return -1; write_short_failed: (void)fprintf(stderr, "write_stream_format_a: write_short() failed\n"); return -1; } int write_avi_header_chunk(struct gwavi_t* gwavi) { long marker, t; long sub_marker; FILE* out = gwavi->out; if (write_chars_bin(out, "LIST", 4) == -1) goto write_chars_bin_failed; if ((marker = ftell(out)) == -1) goto ftell_failed; if (write_int(out, 0) == -1) goto write_int_failed; if (write_chars_bin(out, "hdrl", 4) == -1) goto write_chars_bin_failed; if (write_avi_header(out, &gwavi->avi_header) == -1) { (void)fprintf(stderr, "write_avi_header_chunk: " "write_avi_header() failed\n"); return -1; } if (write_chars_bin(out, "LIST", 4) == -1) goto write_chars_bin_failed; if ((sub_marker = ftell(out)) == -1) goto ftell_failed; if (write_int(out, 0) == -1) goto write_int_failed; if (write_chars_bin(out, "strl", 4) == -1) goto write_chars_bin_failed; if (write_stream_header(out, &gwavi->stream_header_v) == -1) { (void)fprintf(stderr, "write_avi_header_chunk: " "write_stream_header failed\n"); return -1; } if (write_stream_format_v(out, &gwavi->stream_format_v) == -1) { (void)fprintf(stderr, "write_avi_header_chunk: " "write_stream_format_v failed\n"); return -1; } if ((t = ftell(out)) == -1) goto ftell_failed; if (fseek(out, sub_marker, SEEK_SET) == -1) goto fseek_failed; if (write_int(out, (unsigned int)(t - sub_marker - 4)) == -1) goto write_int_failed; if (fseek(out, t, SEEK_SET) == -1) goto fseek_failed; if (gwavi->avi_header.data_streams == 2) { if (write_chars_bin(out, "LIST", 4) == -1) goto write_chars_bin_failed; if ((sub_marker = ftell(out)) == -1) goto ftell_failed; if (write_int(out, 0) == -1) goto write_int_failed; if (write_chars_bin(out, "strl", 4) == -1) goto write_chars_bin_failed; if (write_stream_header(out, &gwavi->stream_header_a) == -1) { (void)fprintf(stderr, "write_avi_header_chunk: " "write_stream_header failed\n"); return -1; } if (write_stream_format_a(out, &gwavi->stream_format_a) == -1) { (void)fprintf(stderr, "write_avi_header_chunk: " "write_stream_format_a failed\n"); return -1; } if ((t = ftell(out)) == -1) goto ftell_failed; if (fseek(out, sub_marker, SEEK_SET) == -1) goto fseek_failed; if (write_int(out, (unsigned int)(t - sub_marker - 4)) == -1) goto write_int_failed; if (fseek(out, t, SEEK_SET) == -1) goto fseek_failed; } if ((t = ftell(out)) == -1) goto ftell_failed; if (fseek(out, marker, SEEK_SET) == -1) goto fseek_failed; if (write_int(out, (unsigned int)(t - marker - 4)) == -1) goto write_int_failed; if (fseek(out, t, SEEK_SET) == -1) goto fseek_failed; return 0; ftell_failed: perror("write_avi_header_chunk (ftell)"); return -1; fseek_failed: perror("write_avi_header_chunk (fseek)"); return -1; write_int_failed: (void)fprintf(stderr, "write_avi_header_chunk: write_int() failed\n"); return -1; write_chars_bin_failed: (void)fprintf(stderr, "write_avi_header_chunk: write_chars_bin() failed\n"); return -1; } int write_index(FILE* out, int count, unsigned int* offsets) { long marker, t; unsigned int offset = 4; if (offsets == 0) return -1; if (write_chars_bin(out, "idx1", 4) == -1) { (void)fprintf(stderr, "write_index: write_chars_bin) failed\n"); return -1; } if ((marker = ftell(out)) == -1) { perror("write_index (ftell)"); return -1; } if (write_int(out, 0) == -1) goto write_int_failed; for (t = 0; t < count; t++) { if ((offsets[t] & 0x80000000) == 0) write_chars(out, "00dc"); else { write_chars(out, "01wb"); offsets[t] &= 0x7fffffff; } if (write_int(out, 0x10) == -1) goto write_int_failed; if (write_int(out, offset) == -1) goto write_int_failed; if (write_int(out, offsets[t]) == -1) goto write_int_failed; offset = offset + offsets[t] + 8; } if ((t = ftell(out)) == -1) { perror("write_index (ftell)"); return -1; } if (fseek(out, marker, SEEK_SET) == -1) { perror("write_index (fseek)"); return -1; } if (write_int(out, (unsigned int)(t - marker - 4)) == -1) goto write_int_failed; if (fseek(out, t, SEEK_SET) == -1) { perror("write_index (fseek)"); return -1; } return 0; write_int_failed: (void)fprintf(stderr, "write_index: write_int() failed\n"); return -1; } /** * Return 0 if fourcc is valid, 1 non-valid or -1 in case of errors. */ int check_fourcc(const char* fourcc) { int ret = 0; /* list of fourccs from http://fourcc.org/codecs.php */ const char valid_fourcc[] = "3IV1 3IV2 8BPS" "AASC ABYR ADV1 ADVJ AEMI AFLC AFLI AJPG AMPG ANIM AP41 ASLC" "ASV1 ASV2 ASVX AUR2 AURA AVC1 AVRN" "BA81 BINK BLZ0 BT20 BTCV BW10 BYR1 BYR2" "CC12 CDVC CFCC CGDI CHAM CJPG CMYK CPLA CRAM CSCD CTRX CVID" "CWLT CXY1 CXY2 CYUV CYUY" "D261 D263 DAVC DCL1 DCL2 DCL3 DCL4 DCL5 DIV3 DIV4 DIV5 DIVX" "DM4V DMB1 DMB2 DMK2 DSVD DUCK DV25 DV50 DVAN DVCS DVE2 DVH1" "DVHD DVSD DVSL DVX1 DVX2 DVX3 DX50 DXGM DXTC DXTN" "EKQ0 ELK0 EM2V ES07 ESCP ETV1 ETV2 ETVC" "FFV1 FLJP FMP4 FMVC FPS1 FRWA FRWD FVF1" "GEOX GJPG GLZW GPEG GWLT" "H260 H261 H262 H263 H264 H265 H266 H267 H268 H269" "HDYC HFYU HMCR HMRR" "I263 ICLB IGOR IJPG ILVC ILVR IPDV IR21 IRAW ISME" "IV30 IV31 IV32 IV33 IV34 IV35 IV36 IV37 IV38 IV39 IV40 IV41" "IV41 IV43 IV44 IV45 IV46 IV47 IV48 IV49 IV50" "JBYR JPEG JPGL" "KMVC" "L261 L263 LBYR LCMW LCW2 LEAD LGRY LJ11 LJ22 LJ2K LJ44 LJPG" "LMP2 LMP4 LSVC LSVM LSVX LZO1" "M261 M263 M4CC M4S2 MC12 MCAM MJ2C MJPG MMES MP2A MP2T MP2V" "MP42 MP43 MP4A MP4S MP4T MP4V MPEG MPG4 MPGI MR16 MRCA MRLE" "MSVC MSZH" "MTX1 MTX2 MTX3 MTX4 MTX5 MTX6 MTX7 MTX8 MTX9" "MVI1 MVI2 MWV1" "NAVI NDSC NDSM NDSP NDSS NDXC NDXH NDXP NDXS NHVU NTN1 NTN2" "NVDS NVHS" "NVS0 NVS1 NVS2 NVS3 NVS4 NVS5" "NVT0 NVT1 NVT2 NVT3 NVT4 NVT5" "PDVC PGVV PHMO PIM1 PIM2 PIMJ PIXL PJPG PVEZ PVMM PVW2" "QPEG QPEQ" "RGBT RLE RLE4 RLE8 RMP4 RPZA RT21 RV20 RV30 RV40 S422 SAN3" "SDCC SEDG SFMC SMP4 SMSC SMSD SMSV SP40 SP44 SP54 SPIG SQZ2" "STVA STVB STVC STVX STVY SV10 SVQ1 SVQ3" "TLMS TLST TM20 TM2X TMIC TMOT TR20 TSCC TV10 TVJP TVMJ TY0N" "TY2C TY2N" "UCOD ULTI" "V210 V261 V655 VCR1 VCR2 VCR3 VCR4 VCR5 VCR6 VCR7 VCR8 VCR9" "VDCT VDOM VDTZ VGPX VIDS VIFP VIVO VIXL VLV1 VP30 VP31 VP40" "VP50 VP60 VP61 VP62 VP70 VP80 VQC1 VQC2 VQJC VSSV VUUU VX1K" "VX2K VXSP VYU9 VYUY" "WBVC WHAM WINX WJPG WMV1 WMV2 WMV3 WMVA WNV1 WVC1" "X263 X264 XLV0 XMPG XVID" "XWV0 XWV1 XWV2 XWV3 XWV4 XWV5 XWV6 XWV7 XWV8 XWV9" "XXAN" "Y16 Y411 Y41P Y444 Y8 YC12 YUV8 YUV9 YUVP YUY2 YUYV YV12 YV16" "YV92" "ZLIB ZMBV ZPEG ZYGO ZYYY"; if (!fourcc) { (void)fputs("fourcc cannot be NULL", stderr); return -1; } if (strchr(fourcc, ' ') || !strstr(valid_fourcc, fourcc)) ret = 1; return ret; } avogadrolibs-1.93.0/thirdparty/libgwavi/avi-utils.h000066400000000000000000000046231360735163600223630ustar00rootroot00000000000000/* * Copyright (c) 2008-2011, Michael Kohn * Copyright (c) 2013, Robin Hahling * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * * Neither the name of the author nor the names of its contributors may be * used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef H_GWAVI_UTILS #define H_GWAVI_UTILS #include "gwavi.h" #include "gwavi_private.h" /* * Utility functions for gwavi library. */ #ifdef __cplusplus extern "C" { #endif /* Functions declaration */ int write_avi_header(FILE* out, struct gwavi_header_t* avi_header); int write_stream_header(FILE* out, struct gwavi_stream_header_t* stream_header); int write_stream_format_v(FILE* out, struct gwavi_stream_format_v_t* stream_format_v); int write_stream_format_a(FILE* out, struct gwavi_stream_format_a_t* stream_format_a); int write_avi_header_chunk(struct gwavi_t* gwavi); int write_index(FILE* out, int count, unsigned int* offsets); int check_fourcc(const char* fourcc); #ifdef __cplusplus } #endif #endif /* ndef GWAVI_UTILS_H */ avogadrolibs-1.93.0/thirdparty/libgwavi/fileio.c000066400000000000000000000045731360735163600217140ustar00rootroot00000000000000/* * Copyright (c) 2008-2011, Michael Kohn * Copyright (c) 2013, Robin Hahling * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * * Neither the name of the author nor the names of its contributors may be * used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* * Usefull IO functions. */ #include int write_int(FILE* out, unsigned int n) { if (fputc((n & 255), out) == EOF) return -1; if (fputc(((n >> 8) & 255), out) == EOF) return -1; if (fputc(((n >> 16) & 255), out) == EOF) return -1; if (fputc(((n >> 24) & 255), out) == EOF) return -1; return 0; } int write_short(FILE* out, unsigned int n) { if (fputc((n & 255), out) == EOF) return -1; if (fputc(((n >> 8) & 255), out) == EOF) return -1; return 0; } int write_chars(FILE* out, char* s) { int t = 0; while (s[t] != 0 && t < 255) if (fputc(s[t++], out) == EOF) return -1; return 0; } int write_chars_bin(FILE* out, char* s, int count) { int t; for (t = 0; t < count; t++) if (fputc(s[t], out) == EOF) return -1; return 0; } avogadrolibs-1.93.0/thirdparty/libgwavi/fileio.h000066400000000000000000000037021360735163600217120ustar00rootroot00000000000000/* * Copyright (c) 2008-2011, Michael Kohn * Copyright (c) 2013, Robin Hahling * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * * Neither the name of the author nor the names of its contributors may be * used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* * Header file for fileio.c */ #ifndef H_FILEIO #define H_FILEIO #ifdef __cplusplus extern "C" { #endif /* Function prototypes */ int write_int(FILE* out, unsigned int n); int write_short(FILE* out, unsigned int n); int write_chars(FILE* out, char* s); int write_chars_bin(FILE* out, char* s, int count); #ifdef __cplusplus } #endif #endif /* ndef H_FILEIO */ avogadrolibs-1.93.0/thirdparty/libgwavi/gwavi.c000066400000000000000000000376541360735163600215700ustar00rootroot00000000000000/* * Copyright (c) 2008-2011, Michael Kohn * Copyright (c) 2013, Robin Hahling * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * * Neither the name of the author nor the names of its contributors may be * used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* * This is the file containing gwavi library functions. */ #include #include #include #include "avi-utils.h" #include "fileio.h" #include "gwavi.h" #include "gwavi_private.h" /** * This is the first function you should call when using gwavi library. * It allocates memory for a gwavi_t structure and returns it and takes care of * initializing the AVI header with the provided information. * * When you're done creating your AVI file, you should call gwavi_close() * function to free memory allocated for the gwavi_t structure and properly * close the output file. * * @param filename This is the name of the AVI file which will be generated by * this library. * @param width Width of a frame. * @param height Height of a frame. * @param fourcc FourCC representing the codec of the video encoded stream. a * FourCC is a sequence of four chars used to uniquely identify data formats. * For more information, you can visit www.fourcc.org. * @param fps Number of frames per second of your video. It needs to be > 0. * @param audio This parameter is optionnal. It is used for the audio track. If * you do not want to add an audio track to your AVI file, simply pass NULL for * this argument. * * @return Structure containing required information in order to create the AVI * file. If an error occured, NULL is returned. */ struct gwavi_t* gwavi_open(const char* filename, unsigned int width, unsigned int height, const char* fourcc, unsigned int fps, struct gwavi_audio_t* audio) { struct gwavi_t* gwavi; FILE* out; if (check_fourcc(fourcc) != 0) (void)fprintf(stderr, "WARNING: given fourcc does not seem to " "be valid: %s\n", fourcc); if (fps < 1) return NULL; if ((out = fopen(filename, "wb+")) == NULL) { perror("gwavi_open: failed to open file for writing"); return NULL; } if ((gwavi = malloc(sizeof(struct gwavi_t))) == NULL) { (void)fprintf(stderr, "gwavi_open: could not allocate memoryi " "for gwavi structure\n"); return NULL; } memset(gwavi, 0, sizeof(struct gwavi_t)); gwavi->out = out; /* set avi header */ gwavi->avi_header.time_delay = 1000000 / fps; gwavi->avi_header.data_rate = width * height * 3; gwavi->avi_header.flags = 0x10; if (audio) gwavi->avi_header.data_streams = 2; else gwavi->avi_header.data_streams = 1; /* this field gets updated when calling gwavi_close() */ gwavi->avi_header.number_of_frames = 0; gwavi->avi_header.width = width; gwavi->avi_header.height = height; gwavi->avi_header.buffer_size = (width * height * 3); /* set stream header */ (void)strcpy(gwavi->stream_header_v.data_type, "vids"); (void)memcpy(gwavi->stream_header_v.codec, fourcc, 4); gwavi->stream_header_v.time_scale = 1; gwavi->stream_header_v.data_rate = fps; gwavi->stream_header_v.buffer_size = (width * height * 3); gwavi->stream_header_v.data_length = 0; /* set stream format */ gwavi->stream_format_v.header_size = 40; gwavi->stream_format_v.width = width; gwavi->stream_format_v.height = height; gwavi->stream_format_v.num_planes = 1; gwavi->stream_format_v.bits_per_pixel = 24; gwavi->stream_format_v.compression_type = ((unsigned int)fourcc[3] << 24) + ((unsigned int)fourcc[2] << 16) + ((unsigned int)fourcc[1] << 8) + ((unsigned int)fourcc[0]); gwavi->stream_format_v.image_size = width * height * 3; gwavi->stream_format_v.colors_used = 0; gwavi->stream_format_v.colors_important = 0; gwavi->stream_format_v.palette = 0; gwavi->stream_format_v.palette_count = 0; if (audio) { /* set stream header */ memcpy(gwavi->stream_header_a.data_type, "auds", 4); gwavi->stream_header_a.codec[0] = 1; gwavi->stream_header_a.codec[1] = 0; gwavi->stream_header_a.codec[2] = 0; gwavi->stream_header_a.codec[3] = 0; gwavi->stream_header_a.time_scale = 1; gwavi->stream_header_a.data_rate = audio->samples_per_second; gwavi->stream_header_a.buffer_size = audio->channels * (audio->bits / 8) * audio->samples_per_second; /* when set to -1, drivers use default quality value */ gwavi->stream_header_a.audio_quality = -1; gwavi->stream_header_a.sample_size = (audio->bits / 8) * audio->channels; /* set stream format */ gwavi->stream_format_a.format_type = 1; gwavi->stream_format_a.channels = audio->channels; gwavi->stream_format_a.sample_rate = audio->samples_per_second; gwavi->stream_format_a.bytes_per_second = audio->channels * (audio->bits / 8) * audio->samples_per_second; gwavi->stream_format_a.block_align = audio->channels * (audio->bits / 8); gwavi->stream_format_a.bits_per_sample = audio->bits; gwavi->stream_format_a.size = 0; } if (write_chars_bin(out, "RIFF", 4) == -1) goto write_chars_bin_failed; if (write_int(out, 0) == -1) { (void)fprintf(stderr, "gwavi_info: write_int() failed\n"); return NULL; } if (write_chars_bin(out, "AVI ", 4) == -1) goto write_chars_bin_failed; if (write_avi_header_chunk(gwavi) == -1) { (void)fprintf(stderr, "gwavi_info: write_avi_header_chunk " "failed\n"); return NULL; } if (write_chars_bin(out, "LIST", 4) == -1) goto write_chars_bin_failed; if ((gwavi->marker = ftell(out)) == -1) { perror("gwavi_info (ftell)"); return NULL; } if (write_int(out, 0) == -1) { (void)fprintf(stderr, "gwavi_info: write_int() failed\n"); return NULL; } if (write_chars_bin(out, "movi", 4) == -1) goto write_chars_bin_failed; gwavi->offsets_len = 1024; if ((gwavi->offsets = malloc((size_t)gwavi->offsets_len * sizeof(unsigned int))) == NULL) { (void)fprintf(stderr, "gwavi_info: could not allocate memory " "for gwavi offsets table\n"); return NULL; } gwavi->offsets_ptr = 0; return gwavi; write_chars_bin_failed: (void)fprintf(stderr, "gwavi_open: write_chars_bin() failed\n"); return NULL; } /** * This function allows you to add an encoded video frame to the AVI file. * * @param gwavi Main gwavi structure initialized with gwavi_open()- * @param buffer Video buffer size. * @param len Video buffer length. * * @return 0 on success, -1 on error. */ int gwavi_add_frame(struct gwavi_t* gwavi, const unsigned char* buffer, size_t len) { size_t maxi_pad; /* if your frame is raggin, give it some paddin' */ size_t t; if (!gwavi || !buffer) { (void)fputs("gwavi and/or buffer argument cannot be NULL", stderr); return -1; } if (len < 256) (void)fprintf(stderr, "WARNING: specified buffer len seems " "rather small: %d. Are you sure about this?\n", (int)len); gwavi->offset_count++; gwavi->stream_header_v.data_length++; maxi_pad = len % 4; if (maxi_pad > 0) maxi_pad = 4 - maxi_pad; if (gwavi->offset_count >= gwavi->offsets_len) { gwavi->offsets_len += 1024; gwavi->offsets = realloc(gwavi->offsets, (size_t)gwavi->offsets_len * sizeof(unsigned int)); } gwavi->offsets[gwavi->offsets_ptr++] = (unsigned int)(len + maxi_pad); if (write_chars_bin(gwavi->out, "00dc", 4) == -1) { (void)fprintf(stderr, "gwavi_add_frame: write_chars_bin() " "failed\n"); return -1; } if (write_int(gwavi->out, (unsigned int)(len + maxi_pad)) == -1) { (void)fprintf(stderr, "gwavi_add_frame: write_int() failed\n"); return -1; } if ((t = fwrite(buffer, 1, len, gwavi->out)) != len) { (void)fprintf(stderr, "gwavi_add_frame: fwrite() failed\n"); return -1; } for (t = 0; t < maxi_pad; t++) if (fputc(0, gwavi->out) == EOF) { (void)fprintf(stderr, "gwavi_add_frame: fputc() failed\n"); return -1; } return 0; } /** * This function allows you to add the audio track to your AVI file. * * @param gwavi Main gwavi structure initialized with gwavi_open()- * @param buffer Audio buffer size. * @param len Audio buffer length. * * @return 0 on success, -1 on error. */ int gwavi_add_audio(struct gwavi_t* gwavi, const unsigned char* buffer, size_t len) { size_t maxi_pad; /* in case audio bleeds over the 4 byte boundary */ size_t t; if (!gwavi || !buffer) { (void)fputs("gwavi and/or buffer argument cannot be NULL", stderr); return -1; } gwavi->offset_count++; maxi_pad = len % 4; if (maxi_pad > 0) maxi_pad = 4 - maxi_pad; if (gwavi->offset_count >= gwavi->offsets_len) { gwavi->offsets_len += 1024; gwavi->offsets = realloc(gwavi->offsets, (size_t)gwavi->offsets_len * sizeof(unsigned int)); } gwavi->offsets[gwavi->offsets_ptr++] = (unsigned int)((len + maxi_pad) | 0x80000000); if (write_chars_bin(gwavi->out, "01wb", 4) == -1) { (void)fprintf(stderr, "gwavi_add_audio: write_chars_bin() " "failed\n"); return -1; } if (write_int(gwavi->out, (unsigned int)(len + maxi_pad)) == -1) { (void)fprintf(stderr, "gwavi_add_audio: write_int() failed\n"); return -1; } if ((t = fwrite(buffer, 1, len, gwavi->out)) != len) { (void)fprintf(stderr, "gwavi_add_audio: fwrite() failed\n"); return -1; } for (t = 0; t < maxi_pad; t++) if (fputc(0, gwavi->out) == EOF) { (void)fprintf(stderr, "gwavi_add_audio: fputc() failed\n"); return -1; } gwavi->stream_header_a.data_length += (unsigned int)(len + maxi_pad); return 0; } /** * This function should be called when the program is done adding video and/or * audio frames to the AVI file. It frees memory allocated for gwavi_open() for * the main gwavi_t structure. It also properly closes the output file. * * @param gwavi Main gwavi structure initialized with gwavi_open()- * * @return 0 on success, -1 on error. */ int gwavi_close(struct gwavi_t* gwavi) { long t; if (!gwavi) { (void)fputs("gwavi argument cannot be NULL", stderr); return -1; } if ((t = ftell(gwavi->out)) == -1) goto ftell_failed; if (fseek(gwavi->out, gwavi->marker, SEEK_SET) == -1) goto fseek_failed; if (write_int(gwavi->out, (unsigned int)(t - gwavi->marker - 4)) == -1) { (void)fprintf(stderr, "gwavi_close: write_int() failed\n"); return -1; } if (fseek(gwavi->out, t, SEEK_SET) == -1) goto fseek_failed; if (write_index(gwavi->out, gwavi->offset_count, gwavi->offsets) == -1) { (void)fprintf(stderr, "gwavi_close: write_index() failed\n"); return -1; } free(gwavi->offsets); /* reset some avi header fields */ gwavi->avi_header.number_of_frames = gwavi->stream_header_v.data_length; if ((t = ftell(gwavi->out)) == -1) goto ftell_failed; if (fseek(gwavi->out, 12, SEEK_SET) == -1) goto fseek_failed; if (write_avi_header_chunk(gwavi) == -1) { (void)fprintf(stderr, "gwavi_close: write_avi_header_chunk() " "failed\n"); return -1; } if (fseek(gwavi->out, t, SEEK_SET) == -1) goto fseek_failed; if ((t = ftell(gwavi->out)) == -1) goto ftell_failed; if (fseek(gwavi->out, 4, SEEK_SET) == -1) goto fseek_failed; if (write_int(gwavi->out, (unsigned int)(t - 8)) == -1) { (void)fprintf(stderr, "gwavi_close: write_int() failed\n"); return -1; } if (fseek(gwavi->out, t, SEEK_SET) == -1) goto fseek_failed; if (gwavi->stream_format_v.palette != 0) free(gwavi->stream_format_v.palette); if (fclose(gwavi->out) == EOF) { perror("gwavi_close (fclose)"); return -1; } free(gwavi); return 0; ftell_failed: perror("gwavi_close: (ftell)"); return -1; fseek_failed: perror("gwavi_close (fseek)"); return -1; } /** * This function allows you to reset the framerate. In a standard use case, you * should not need to call it. However, if you need to, you can call it to reset * the framerate after you are done adding frames to your AVI file and before * you call gwavi_close(). * * @param gwavi Main gwavi structure initialized with gwavi_open()- * @param fps Number of frames per second of your video. * * @return 0 on success, -1 on error. */ int gwavi_set_framerate(struct gwavi_t* gwavi, unsigned int fps) { if (!gwavi) { (void)fputs("gwavi argument cannot be NULL", stderr); return -1; } gwavi->stream_header_v.data_rate = fps; gwavi->avi_header.time_delay = (10000000 / fps); return 0; } /** * This function allows you to reset the video codec. In a standard use case, * you should not need to call it. However, if you need to, you can call it to * reset the video codec after you are done adding frames to your AVI file and * before you call gwavi_close(). * * @param gwavi Main gwavi structure initialized with gwavi_open()- * @param fourcc FourCC representing the codec of the video encoded stream. a * * @return 0 on success, -1 on error. */ int gwavi_set_codec(struct gwavi_t* gwavi, char* fourcc) { if (!gwavi) { (void)fputs("gwavi argument cannot be NULL", stderr); return -1; } if (check_fourcc(fourcc) != 0) (void)fprintf(stderr, "WARNING: given fourcc does not seem to " "be valid: %s\n", fourcc); memcpy(gwavi->stream_header_v.codec, fourcc, 4); gwavi->stream_format_v.compression_type = ((unsigned int)fourcc[3] << 24) + ((unsigned int)fourcc[2] << 16) + ((unsigned int)fourcc[1] << 8) + ((unsigned int)fourcc[0]); return 0; } /** * This function allows you to reset the video size. In a standard use case, you * should not need to call it. However, if you need to, you can call it to reset * the video height and width set in the AVI file after you are done adding * frames to your AVI file and before you call gwavi_close(). * * @param gwavi Main gwavi structure initialized with gwavi_open()- * @param width Width of a frame. * @param height Height of a frame. * * @return 0 on success, -1 on error. */ int gwavi_set_size(struct gwavi_t* gwavi, unsigned int width, unsigned int height) { unsigned int size = (width * height * 3); if (!gwavi) { (void)fputs("gwavi argument cannot be NULL", stderr); return -1; } gwavi->avi_header.data_rate = size; gwavi->avi_header.width = width; gwavi->avi_header.height = height; gwavi->avi_header.buffer_size = size; gwavi->stream_header_v.buffer_size = size; gwavi->stream_format_v.width = width; gwavi->stream_format_v.height = height; gwavi->stream_format_v.image_size = size; return 0; } avogadrolibs-1.93.0/thirdparty/libgwavi/gwavi.h000066400000000000000000000054101360735163600215560ustar00rootroot00000000000000/* * Copyright (c) 2008-2011, Michael Kohn * Copyright (c) 2013, Robin Hahling * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * * Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * * Neither the name of the author nor the names of its contributors may be * used to endorse or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef H_GWAVI #define H_GWAVI #ifdef __cplusplus extern "C" { #endif /* structures */ struct gwavi_t; struct gwavi_audio_t; /* Main library functions */ struct gwavi_t* gwavi_open(const char* filename, unsigned int width, unsigned int height, const char* fourcc, unsigned int fps, struct gwavi_audio_t* audio); int gwavi_add_frame(struct gwavi_t* gwavi, const unsigned char* buffer, size_t len); int gwavi_add_audio(struct gwavi_t* gwavi, const unsigned char* buffer, size_t len); int gwavi_close(struct gwavi_t* gwavi); /* * If needed, these functions can be called before closing the file to * change the framerate, codec, size. * Note: AVI can only have a single frame rate, codec, size for the whole file * so this affects anything recorded before these functions are called. */ int gwavi_set_framerate(struct gwavi_t* gwavi, unsigned int fps); int gwavi_set_codec(struct gwavi_t* gwavi, char* fourcc); int gwavi_set_size(struct gwavi_t* gwavi, unsigned int width, unsigned int height); #ifdef __cplusplus } #endif #endif /* ndef H_GWAVI */ avogadrolibs-1.93.0/thirdparty/libgwavi/gwavi_private.h000066400000000000000000000055231360735163600233150ustar00rootroot00000000000000#ifndef GWAVI_PRIVATE_H #define GWAVI_PRIVATE_H /* * gwavi_private.h * * gwavi declarations that shall remain private :-) */ #include #ifdef __cplusplus extern "C" { #endif /* structures */ struct gwavi_header_t { unsigned int time_delay; /* dwMicroSecPerFrame */ unsigned int data_rate; /* dwMaxBytesPerSec */ unsigned int reserved; unsigned int flags; /* dwFlags */ unsigned int number_of_frames; /* dwTotalFrames */ unsigned int initial_frames; /* dwInitialFrames */ unsigned int data_streams; /* dwStreams */ unsigned int buffer_size; /* dwSuggestedBufferSize */ unsigned int width; /* dwWidth */ unsigned int height; /* dwHeight */ unsigned int time_scale; unsigned int playback_data_rate; unsigned int starting_time; unsigned int data_length; }; struct gwavi_stream_header_t { char data_type[5]; /* fccType */ char codec[5]; /* fccHandler */ unsigned int flags; /* dwFlags */ unsigned int priority; unsigned int initial_frames; /* dwInitialFrames */ unsigned int time_scale; /* dwScale */ unsigned int data_rate; /* dwRate */ unsigned int start_time; /* dwStart */ unsigned int data_length; /* dwLength */ unsigned int buffer_size; /* dwSuggestedBufferSize */ unsigned int video_quality; /* dwQuality */ /** * Value between 0-10000. If set to -1, drivers use default quality * value. */ int audio_quality; unsigned int sample_size; /* dwSampleSize */ }; struct gwavi_stream_format_v_t { unsigned int header_size; unsigned int width; unsigned int height; unsigned short int num_planes; unsigned short int bits_per_pixel; unsigned int compression_type; unsigned int image_size; unsigned int x_pels_per_meter; unsigned int y_pels_per_meter; unsigned int colors_used; unsigned int colors_important; unsigned int* palette; unsigned int palette_count; }; struct gwavi_stream_format_a_t { unsigned short format_type; unsigned int channels; unsigned int sample_rate; unsigned int bytes_per_second; unsigned int block_align; unsigned int bits_per_sample; unsigned short size; }; struct gwavi_t { FILE* out; struct gwavi_header_t avi_header; struct gwavi_stream_header_t stream_header_v; struct gwavi_stream_format_v_t stream_format_v; struct gwavi_stream_header_t stream_header_a; struct gwavi_stream_format_a_t stream_format_a; long marker; int offsets_ptr; int offsets_len; long offsets_start; unsigned int* offsets; int offset_count; }; struct gwavi_audio_t { unsigned int channels; unsigned int bits; unsigned int samples_per_second; }; #ifdef __cplusplus } #endif #endif /* ndef GWAVI_PRIVATE_H */ avogadrolibs-1.93.0/thirdparty/nlohmann/000077500000000000000000000000001360735163600202765ustar00rootroot00000000000000avogadrolibs-1.93.0/thirdparty/nlohmann/adl_serializer.hpp000066400000000000000000000027541360735163600240100ustar00rootroot00000000000000#pragma once #include #include #include namespace nlohmann { template struct adl_serializer { /*! @brief convert a JSON value to any value type This function is usually called by the `get()` function of the @ref basic_json class (either explicit or via conversion operators). @param[in] j JSON value to read from @param[in,out] val value to write to */ template static auto from_json(BasicJsonType&& j, ValueType& val) noexcept( noexcept(::nlohmann::from_json(std::forward(j), val))) -> decltype( ::nlohmann::from_json(std::forward(j), val), void() ) { ::nlohmann::from_json(std::forward(j), val); } /*! @brief convert any value type to a JSON value This function is usually called by the constructors of the @ref basic_json class. @param[in,out] j JSON value to write to @param[in] val value to read from */ template static auto to_json(BasicJsonType& j, ValueType&& val) noexcept( noexcept(::nlohmann::to_json(j, std::forward(val)))) -> decltype(::nlohmann::to_json(j, std::forward(val)), void()) { ::nlohmann::to_json(j, std::forward(val)); } }; } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/000077500000000000000000000000001360735163600215405ustar00rootroot00000000000000avogadrolibs-1.93.0/thirdparty/nlohmann/detail/conversions/000077500000000000000000000000001360735163600241105ustar00rootroot00000000000000avogadrolibs-1.93.0/thirdparty/nlohmann/detail/conversions/from_json.hpp000066400000000000000000000322161360735163600266210ustar00rootroot00000000000000#pragma once #include // transform #include // array #include // and, not #include // forward_list #include // inserter, front_inserter, end #include // map #include // string #include // tuple, make_tuple #include // is_arithmetic, is_same, is_enum, underlying_type, is_convertible #include // unordered_map #include // pair, declval #include // valarray #include #include #include #include #include namespace nlohmann { namespace detail { template void from_json(const BasicJsonType& j, typename std::nullptr_t& n) { if (JSON_UNLIKELY(not j.is_null())) { JSON_THROW(type_error::create(302, "type must be null, but is " + std::string(j.type_name()))); } n = nullptr; } // overloads for basic_json template parameters template::value and not std::is_same::value, int> = 0> void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val) { switch (static_cast(j)) { case value_t::number_unsigned: { val = static_cast(*j.template get_ptr()); break; } case value_t::number_integer: { val = static_cast(*j.template get_ptr()); break; } case value_t::number_float: { val = static_cast(*j.template get_ptr()); break; } default: JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name()))); } } template void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b) { if (JSON_UNLIKELY(not j.is_boolean())) { JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(j.type_name()))); } b = *j.template get_ptr(); } template void from_json(const BasicJsonType& j, typename BasicJsonType::string_t& s) { if (JSON_UNLIKELY(not j.is_string())) { JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()))); } s = *j.template get_ptr(); } template < typename BasicJsonType, typename CompatibleStringType, enable_if_t < is_compatible_string_type::value and not std::is_same::value, int > = 0 > void from_json(const BasicJsonType& j, CompatibleStringType& s) { if (JSON_UNLIKELY(not j.is_string())) { JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()))); } s = *j.template get_ptr(); } template void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t& val) { get_arithmetic_value(j, val); } template void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t& val) { get_arithmetic_value(j, val); } template void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t& val) { get_arithmetic_value(j, val); } template::value, int> = 0> void from_json(const BasicJsonType& j, EnumType& e) { typename std::underlying_type::type val; get_arithmetic_value(j, val); e = static_cast(val); } // forward_list doesn't have an insert method template::value, int> = 0> void from_json(const BasicJsonType& j, std::forward_list& l) { if (JSON_UNLIKELY(not j.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); } std::transform(j.rbegin(), j.rend(), std::front_inserter(l), [](const BasicJsonType & i) { return i.template get(); }); } // valarray doesn't have an insert method template::value, int> = 0> void from_json(const BasicJsonType& j, std::valarray& l) { if (JSON_UNLIKELY(not j.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); } l.resize(j.size()); std::copy(j.m_value.array->begin(), j.m_value.array->end(), std::begin(l)); } template void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t& arr, priority_tag<3> /*unused*/) { arr = *j.template get_ptr(); } template auto from_json_array_impl(const BasicJsonType& j, std::array& arr, priority_tag<2> /*unused*/) -> decltype(j.template get(), void()) { for (std::size_t i = 0; i < N; ++i) { arr[i] = j.at(i).template get(); } } template auto from_json_array_impl(const BasicJsonType& j, CompatibleArrayType& arr, priority_tag<1> /*unused*/) -> decltype( arr.reserve(std::declval()), j.template get(), void()) { using std::end; arr.reserve(j.size()); std::transform(j.begin(), j.end(), std::inserter(arr, end(arr)), [](const BasicJsonType & i) { // get() returns *this, this won't call a from_json // method when value_type is BasicJsonType return i.template get(); }); } template void from_json_array_impl(const BasicJsonType& j, CompatibleArrayType& arr, priority_tag<0> /*unused*/) { using std::end; std::transform( j.begin(), j.end(), std::inserter(arr, end(arr)), [](const BasicJsonType & i) { // get() returns *this, this won't call a from_json // method when value_type is BasicJsonType return i.template get(); }); } template ::value and not is_compatible_object_type::value and not is_compatible_string_type::value and not is_basic_json::value, int > = 0 > auto from_json(const BasicJsonType& j, CompatibleArrayType& arr) -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}), j.template get(), void()) { if (JSON_UNLIKELY(not j.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); } from_json_array_impl(j, arr, priority_tag<3> {}); } template::value, int> = 0> void from_json(const BasicJsonType& j, CompatibleObjectType& obj) { if (JSON_UNLIKELY(not j.is_object())) { JSON_THROW(type_error::create(302, "type must be object, but is " + std::string(j.type_name()))); } auto inner_object = j.template get_ptr(); using value_type = typename CompatibleObjectType::value_type; std::transform( inner_object->begin(), inner_object->end(), std::inserter(obj, obj.begin()), [](typename BasicJsonType::object_t::value_type const & p) { return value_type(p.first, p.second.template get()); }); } // overload for arithmetic types, not chosen for basic_json template arguments // (BooleanType, etc..); note: Is it really necessary to provide explicit // overloads for boolean_t etc. in case of a custom BooleanType which is not // an arithmetic type? template::value and not std::is_same::value and not std::is_same::value and not std::is_same::value and not std::is_same::value, int> = 0> void from_json(const BasicJsonType& j, ArithmeticType& val) { switch (static_cast(j)) { case value_t::number_unsigned: { val = static_cast(*j.template get_ptr()); break; } case value_t::number_integer: { val = static_cast(*j.template get_ptr()); break; } case value_t::number_float: { val = static_cast(*j.template get_ptr()); break; } case value_t::boolean: { val = static_cast(*j.template get_ptr()); break; } default: JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name()))); } } template void from_json(const BasicJsonType& j, std::pair& p) { p = {j.at(0).template get(), j.at(1).template get()}; } template void from_json_tuple_impl(const BasicJsonType& j, Tuple& t, index_sequence) { t = std::make_tuple(j.at(Idx).template get::type>()...); } template void from_json(const BasicJsonType& j, std::tuple& t) { from_json_tuple_impl(j, t, index_sequence_for {}); } template ::value>> void from_json(const BasicJsonType& j, std::map& m) { if (JSON_UNLIKELY(not j.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); } for (const auto& p : j) { if (JSON_UNLIKELY(not p.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name()))); } m.emplace(p.at(0).template get(), p.at(1).template get()); } } template ::value>> void from_json(const BasicJsonType& j, std::unordered_map& m) { if (JSON_UNLIKELY(not j.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()))); } for (const auto& p : j) { if (JSON_UNLIKELY(not p.is_array())) { JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name()))); } m.emplace(p.at(0).template get(), p.at(1).template get()); } } struct from_json_fn { template auto operator()(const BasicJsonType& j, T& val) const noexcept(noexcept(from_json(j, val))) -> decltype(from_json(j, val), void()) { return from_json(j, val); } }; } /// namespace to hold default `from_json` function /// to see why this is required: /// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4381.html namespace { constexpr const auto& from_json = detail::static_const::value; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/conversions/to_chars.hpp000066400000000000000000001076761360735163600264440ustar00rootroot00000000000000#pragma once #include // assert #include // or, and, not #include // signbit, isfinite #include // intN_t, uintN_t #include // memcpy, memmove namespace nlohmann { namespace detail { /*! @brief implements the Grisu2 algorithm for binary to decimal floating-point conversion. This implementation is a slightly modified version of the reference implementation which may be obtained from http://florian.loitsch.com/publications (bench.tar.gz). The code is distributed under the MIT license, Copyright (c) 2009 Florian Loitsch. For a detailed description of the algorithm see: [1] Loitsch, "Printing Floating-Point Numbers Quickly and Accurately with Integers", Proceedings of the ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation, PLDI 2010 [2] Burger, Dybvig, "Printing Floating-Point Numbers Quickly and Accurately", Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation, PLDI 1996 */ namespace dtoa_impl { template Target reinterpret_bits(const Source source) { static_assert(sizeof(Target) == sizeof(Source), "size mismatch"); Target target; std::memcpy(&target, &source, sizeof(Source)); return target; } struct diyfp // f * 2^e { static constexpr int kPrecision = 64; // = q uint64_t f; int e; constexpr diyfp() noexcept : f(0), e(0) {} constexpr diyfp(uint64_t f_, int e_) noexcept : f(f_), e(e_) {} /*! @brief returns x - y @pre x.e == y.e and x.f >= y.f */ static diyfp sub(const diyfp& x, const diyfp& y) noexcept { assert(x.e == y.e); assert(x.f >= y.f); return diyfp(x.f - y.f, x.e); } /*! @brief returns x * y @note The result is rounded. (Only the upper q bits are returned.) */ static diyfp mul(const diyfp& x, const diyfp& y) noexcept { static_assert(kPrecision == 64, "internal error"); // Computes: // f = round((x.f * y.f) / 2^q) // e = x.e + y.e + q // Emulate the 64-bit * 64-bit multiplication: // // p = u * v // = (u_lo + 2^32 u_hi) (v_lo + 2^32 v_hi) // = (u_lo v_lo ) + 2^32 ((u_lo v_hi ) + (u_hi v_lo )) + 2^64 (u_hi v_hi ) // = (p0 ) + 2^32 ((p1 ) + (p2 )) + 2^64 (p3 ) // = (p0_lo + 2^32 p0_hi) + 2^32 ((p1_lo + 2^32 p1_hi) + (p2_lo + 2^32 p2_hi)) + 2^64 (p3 ) // = (p0_lo ) + 2^32 (p0_hi + p1_lo + p2_lo ) + 2^64 (p1_hi + p2_hi + p3) // = (p0_lo ) + 2^32 (Q ) + 2^64 (H ) // = (p0_lo ) + 2^32 (Q_lo + 2^32 Q_hi ) + 2^64 (H ) // // (Since Q might be larger than 2^32 - 1) // // = (p0_lo + 2^32 Q_lo) + 2^64 (Q_hi + H) // // (Q_hi + H does not overflow a 64-bit int) // // = p_lo + 2^64 p_hi const uint64_t u_lo = x.f & 0xFFFFFFFF; const uint64_t u_hi = x.f >> 32; const uint64_t v_lo = y.f & 0xFFFFFFFF; const uint64_t v_hi = y.f >> 32; const uint64_t p0 = u_lo * v_lo; const uint64_t p1 = u_lo * v_hi; const uint64_t p2 = u_hi * v_lo; const uint64_t p3 = u_hi * v_hi; const uint64_t p0_hi = p0 >> 32; const uint64_t p1_lo = p1 & 0xFFFFFFFF; const uint64_t p1_hi = p1 >> 32; const uint64_t p2_lo = p2 & 0xFFFFFFFF; const uint64_t p2_hi = p2 >> 32; uint64_t Q = p0_hi + p1_lo + p2_lo; // The full product might now be computed as // // p_hi = p3 + p2_hi + p1_hi + (Q >> 32) // p_lo = p0_lo + (Q << 32) // // But in this particular case here, the full p_lo is not required. // Effectively we only need to add the highest bit in p_lo to p_hi (and // Q_hi + 1 does not overflow). Q += uint64_t{1} << (64 - 32 - 1); // round, ties up const uint64_t h = p3 + p2_hi + p1_hi + (Q >> 32); return diyfp(h, x.e + y.e + 64); } /*! @brief normalize x such that the significand is >= 2^(q-1) @pre x.f != 0 */ static diyfp normalize(diyfp x) noexcept { assert(x.f != 0); while ((x.f >> 63) == 0) { x.f <<= 1; x.e--; } return x; } /*! @brief normalize x such that the result has the exponent E @pre e >= x.e and the upper e - x.e bits of x.f must be zero. */ static diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept { const int delta = x.e - target_exponent; assert(delta >= 0); assert(((x.f << delta) >> delta) == x.f); return diyfp(x.f << delta, target_exponent); } }; struct boundaries { diyfp w; diyfp minus; diyfp plus; }; /*! Compute the (normalized) diyfp representing the input number 'value' and its boundaries. @pre value must be finite and positive */ template boundaries compute_boundaries(FloatType value) { assert(std::isfinite(value)); assert(value > 0); // Convert the IEEE representation into a diyfp. // // If v is denormal: // value = 0.F * 2^(1 - bias) = ( F) * 2^(1 - bias - (p-1)) // If v is normalized: // value = 1.F * 2^(E - bias) = (2^(p-1) + F) * 2^(E - bias - (p-1)) static_assert(std::numeric_limits::is_iec559, "internal error: dtoa_short requires an IEEE-754 floating-point implementation"); constexpr int kPrecision = std::numeric_limits::digits; // = p (includes the hidden bit) constexpr int kBias = std::numeric_limits::max_exponent - 1 + (kPrecision - 1); constexpr int kMinExp = 1 - kBias; constexpr uint64_t kHiddenBit = uint64_t{1} << (kPrecision - 1); // = 2^(p-1) using bits_type = typename std::conditional< kPrecision == 24, uint32_t, uint64_t >::type; const uint64_t bits = reinterpret_bits(value); const uint64_t E = bits >> (kPrecision - 1); const uint64_t F = bits & (kHiddenBit - 1); const bool is_denormal = (E == 0); const diyfp v = is_denormal ? diyfp(F, kMinExp) : diyfp(F + kHiddenBit, static_cast(E) - kBias); // Compute the boundaries m- and m+ of the floating-point value // v = f * 2^e. // // Determine v- and v+, the floating-point predecessor and successor if v, // respectively. // // v- = v - 2^e if f != 2^(p-1) or e == e_min (A) // = v - 2^(e-1) if f == 2^(p-1) and e > e_min (B) // // v+ = v + 2^e // // Let m- = (v- + v) / 2 and m+ = (v + v+) / 2. All real numbers _strictly_ // between m- and m+ round to v, regardless of how the input rounding // algorithm breaks ties. // // ---+-------------+-------------+-------------+-------------+--- (A) // v- m- v m+ v+ // // -----------------+------+------+-------------+-------------+--- (B) // v- m- v m+ v+ const bool lower_boundary_is_closer = (F == 0 and E > 1); const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1); const diyfp m_minus = lower_boundary_is_closer ? diyfp(4 * v.f - 1, v.e - 2) // (B) : diyfp(2 * v.f - 1, v.e - 1); // (A) // Determine the normalized w+ = m+. const diyfp w_plus = diyfp::normalize(m_plus); // Determine w- = m- such that e_(w-) = e_(w+). const diyfp w_minus = diyfp::normalize_to(m_minus, w_plus.e); return {diyfp::normalize(v), w_minus, w_plus}; } // Given normalized diyfp w, Grisu needs to find a (normalized) cached // power-of-ten c, such that the exponent of the product c * w = f * 2^e lies // within a certain range [alpha, gamma] (Definition 3.2 from [1]) // // alpha <= e = e_c + e_w + q <= gamma // // or // // f_c * f_w * 2^alpha <= f_c 2^(e_c) * f_w 2^(e_w) * 2^q // <= f_c * f_w * 2^gamma // // Since c and w are normalized, i.e. 2^(q-1) <= f < 2^q, this implies // // 2^(q-1) * 2^(q-1) * 2^alpha <= c * w * 2^q < 2^q * 2^q * 2^gamma // // or // // 2^(q - 2 + alpha) <= c * w < 2^(q + gamma) // // The choice of (alpha,gamma) determines the size of the table and the form of // the digit generation procedure. Using (alpha,gamma)=(-60,-32) works out well // in practice: // // The idea is to cut the number c * w = f * 2^e into two parts, which can be // processed independently: An integral part p1, and a fractional part p2: // // f * 2^e = ( (f div 2^-e) * 2^-e + (f mod 2^-e) ) * 2^e // = (f div 2^-e) + (f mod 2^-e) * 2^e // = p1 + p2 * 2^e // // The conversion of p1 into decimal form requires a series of divisions and // modulos by (a power of) 10. These operations are faster for 32-bit than for // 64-bit integers, so p1 should ideally fit into a 32-bit integer. This can be // achieved by choosing // // -e >= 32 or e <= -32 := gamma // // In order to convert the fractional part // // p2 * 2^e = p2 / 2^-e = d[-1] / 10^1 + d[-2] / 10^2 + ... // // into decimal form, the fraction is repeatedly multiplied by 10 and the digits // d[-i] are extracted in order: // // (10 * p2) div 2^-e = d[-1] // (10 * p2) mod 2^-e = d[-2] / 10^1 + ... // // The multiplication by 10 must not overflow. It is sufficient to choose // // 10 * p2 < 16 * p2 = 2^4 * p2 <= 2^64. // // Since p2 = f mod 2^-e < 2^-e, // // -e <= 60 or e >= -60 := alpha constexpr int kAlpha = -60; constexpr int kGamma = -32; struct cached_power // c = f * 2^e ~= 10^k { uint64_t f; int e; int k; }; /*! For a normalized diyfp w = f * 2^e, this function returns a (normalized) cached power-of-ten c = f_c * 2^e_c, such that the exponent of the product w * c satisfies (Definition 3.2 from [1]) alpha <= e_c + e + q <= gamma. */ inline cached_power get_cached_power_for_binary_exponent(int e) { // Now // // alpha <= e_c + e + q <= gamma (1) // ==> f_c * 2^alpha <= c * 2^e * 2^q // // and since the c's are normalized, 2^(q-1) <= f_c, // // ==> 2^(q - 1 + alpha) <= c * 2^(e + q) // ==> 2^(alpha - e - 1) <= c // // If c were an exakt power of ten, i.e. c = 10^k, one may determine k as // // k = ceil( log_10( 2^(alpha - e - 1) ) ) // = ceil( (alpha - e - 1) * log_10(2) ) // // From the paper: // "In theory the result of the procedure could be wrong since c is rounded, // and the computation itself is approximated [...]. In practice, however, // this simple function is sufficient." // // For IEEE double precision floating-point numbers converted into // normalized diyfp's w = f * 2^e, with q = 64, // // e >= -1022 (min IEEE exponent) // -52 (p - 1) // -52 (p - 1, possibly normalize denormal IEEE numbers) // -11 (normalize the diyfp) // = -1137 // // and // // e <= +1023 (max IEEE exponent) // -52 (p - 1) // -11 (normalize the diyfp) // = 960 // // This binary exponent range [-1137,960] results in a decimal exponent // range [-307,324]. One does not need to store a cached power for each // k in this range. For each such k it suffices to find a cached power // such that the exponent of the product lies in [alpha,gamma]. // This implies that the difference of the decimal exponents of adjacent // table entries must be less than or equal to // // floor( (gamma - alpha) * log_10(2) ) = 8. // // (A smaller distance gamma-alpha would require a larger table.) // NB: // Actually this function returns c, such that -60 <= e_c + e + 64 <= -34. constexpr int kCachedPowersSize = 79; constexpr int kCachedPowersMinDecExp = -300; constexpr int kCachedPowersDecStep = 8; static constexpr cached_power kCachedPowers[] = { { 0xAB70FE17C79AC6CA, -1060, -300 }, { 0xFF77B1FCBEBCDC4F, -1034, -292 }, { 0xBE5691EF416BD60C, -1007, -284 }, { 0x8DD01FAD907FFC3C, -980, -276 }, { 0xD3515C2831559A83, -954, -268 }, { 0x9D71AC8FADA6C9B5, -927, -260 }, { 0xEA9C227723EE8BCB, -901, -252 }, { 0xAECC49914078536D, -874, -244 }, { 0x823C12795DB6CE57, -847, -236 }, { 0xC21094364DFB5637, -821, -228 }, { 0x9096EA6F3848984F, -794, -220 }, { 0xD77485CB25823AC7, -768, -212 }, { 0xA086CFCD97BF97F4, -741, -204 }, { 0xEF340A98172AACE5, -715, -196 }, { 0xB23867FB2A35B28E, -688, -188 }, { 0x84C8D4DFD2C63F3B, -661, -180 }, { 0xC5DD44271AD3CDBA, -635, -172 }, { 0x936B9FCEBB25C996, -608, -164 }, { 0xDBAC6C247D62A584, -582, -156 }, { 0xA3AB66580D5FDAF6, -555, -148 }, { 0xF3E2F893DEC3F126, -529, -140 }, { 0xB5B5ADA8AAFF80B8, -502, -132 }, { 0x87625F056C7C4A8B, -475, -124 }, { 0xC9BCFF6034C13053, -449, -116 }, { 0x964E858C91BA2655, -422, -108 }, { 0xDFF9772470297EBD, -396, -100 }, { 0xA6DFBD9FB8E5B88F, -369, -92 }, { 0xF8A95FCF88747D94, -343, -84 }, { 0xB94470938FA89BCF, -316, -76 }, { 0x8A08F0F8BF0F156B, -289, -68 }, { 0xCDB02555653131B6, -263, -60 }, { 0x993FE2C6D07B7FAC, -236, -52 }, { 0xE45C10C42A2B3B06, -210, -44 }, { 0xAA242499697392D3, -183, -36 }, { 0xFD87B5F28300CA0E, -157, -28 }, { 0xBCE5086492111AEB, -130, -20 }, { 0x8CBCCC096F5088CC, -103, -12 }, { 0xD1B71758E219652C, -77, -4 }, { 0x9C40000000000000, -50, 4 }, { 0xE8D4A51000000000, -24, 12 }, { 0xAD78EBC5AC620000, 3, 20 }, { 0x813F3978F8940984, 30, 28 }, { 0xC097CE7BC90715B3, 56, 36 }, { 0x8F7E32CE7BEA5C70, 83, 44 }, { 0xD5D238A4ABE98068, 109, 52 }, { 0x9F4F2726179A2245, 136, 60 }, { 0xED63A231D4C4FB27, 162, 68 }, { 0xB0DE65388CC8ADA8, 189, 76 }, { 0x83C7088E1AAB65DB, 216, 84 }, { 0xC45D1DF942711D9A, 242, 92 }, { 0x924D692CA61BE758, 269, 100 }, { 0xDA01EE641A708DEA, 295, 108 }, { 0xA26DA3999AEF774A, 322, 116 }, { 0xF209787BB47D6B85, 348, 124 }, { 0xB454E4A179DD1877, 375, 132 }, { 0x865B86925B9BC5C2, 402, 140 }, { 0xC83553C5C8965D3D, 428, 148 }, { 0x952AB45CFA97A0B3, 455, 156 }, { 0xDE469FBD99A05FE3, 481, 164 }, { 0xA59BC234DB398C25, 508, 172 }, { 0xF6C69A72A3989F5C, 534, 180 }, { 0xB7DCBF5354E9BECE, 561, 188 }, { 0x88FCF317F22241E2, 588, 196 }, { 0xCC20CE9BD35C78A5, 614, 204 }, { 0x98165AF37B2153DF, 641, 212 }, { 0xE2A0B5DC971F303A, 667, 220 }, { 0xA8D9D1535CE3B396, 694, 228 }, { 0xFB9B7CD9A4A7443C, 720, 236 }, { 0xBB764C4CA7A44410, 747, 244 }, { 0x8BAB8EEFB6409C1A, 774, 252 }, { 0xD01FEF10A657842C, 800, 260 }, { 0x9B10A4E5E9913129, 827, 268 }, { 0xE7109BFBA19C0C9D, 853, 276 }, { 0xAC2820D9623BF429, 880, 284 }, { 0x80444B5E7AA7CF85, 907, 292 }, { 0xBF21E44003ACDD2D, 933, 300 }, { 0x8E679C2F5E44FF8F, 960, 308 }, { 0xD433179D9C8CB841, 986, 316 }, { 0x9E19DB92B4E31BA9, 1013, 324 }, }; // This computation gives exactly the same results for k as // k = ceil((kAlpha - e - 1) * 0.30102999566398114) // for |e| <= 1500, but doesn't require floating-point operations. // NB: log_10(2) ~= 78913 / 2^18 assert(e >= -1500); assert(e <= 1500); const int f = kAlpha - e - 1; const int k = (f * 78913) / (1 << 18) + (f > 0); const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep; assert(index >= 0); assert(index < kCachedPowersSize); static_cast(kCachedPowersSize); // Fix warning. const cached_power cached = kCachedPowers[index]; assert(kAlpha <= cached.e + e + 64); assert(kGamma >= cached.e + e + 64); return cached; } /*! For n != 0, returns k, such that pow10 := 10^(k-1) <= n < 10^k. For n == 0, returns 1 and sets pow10 := 1. */ inline int find_largest_pow10(const uint32_t n, uint32_t& pow10) { // LCOV_EXCL_START if (n >= 1000000000) { pow10 = 1000000000; return 10; } // LCOV_EXCL_STOP else if (n >= 100000000) { pow10 = 100000000; return 9; } else if (n >= 10000000) { pow10 = 10000000; return 8; } else if (n >= 1000000) { pow10 = 1000000; return 7; } else if (n >= 100000) { pow10 = 100000; return 6; } else if (n >= 10000) { pow10 = 10000; return 5; } else if (n >= 1000) { pow10 = 1000; return 4; } else if (n >= 100) { pow10 = 100; return 3; } else if (n >= 10) { pow10 = 10; return 2; } else { pow10 = 1; return 1; } } inline void grisu2_round(char* buf, int len, uint64_t dist, uint64_t delta, uint64_t rest, uint64_t ten_k) { assert(len >= 1); assert(dist <= delta); assert(rest <= delta); assert(ten_k > 0); // <--------------------------- delta ----> // <---- dist ---------> // --------------[------------------+-------------------]-------------- // M- w M+ // // ten_k // <------> // <---- rest ----> // --------------[------------------+----+--------------]-------------- // w V // = buf * 10^k // // ten_k represents a unit-in-the-last-place in the decimal representation // stored in buf. // Decrement buf by ten_k while this takes buf closer to w. // The tests are written in this order to avoid overflow in unsigned // integer arithmetic. while (rest < dist and delta - rest >= ten_k and (rest + ten_k < dist or dist - rest > rest + ten_k - dist)) { assert(buf[len - 1] != '0'); buf[len - 1]--; rest += ten_k; } } /*! Generates V = buffer * 10^decimal_exponent, such that M- <= V <= M+. M- and M+ must be normalized and share the same exponent -60 <= e <= -32. */ inline void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus) { static_assert(kAlpha >= -60, "internal error"); static_assert(kGamma <= -32, "internal error"); // Generates the digits (and the exponent) of a decimal floating-point // number V = buffer * 10^decimal_exponent in the range [M-, M+]. The diyfp's // w, M- and M+ share the same exponent e, which satisfies alpha <= e <= gamma. // // <--------------------------- delta ----> // <---- dist ---------> // --------------[------------------+-------------------]-------------- // M- w M+ // // Grisu2 generates the digits of M+ from left to right and stops as soon as // V is in [M-,M+]. assert(M_plus.e >= kAlpha); assert(M_plus.e <= kGamma); uint64_t delta = diyfp::sub(M_plus, M_minus).f; // (significand of (M+ - M-), implicit exponent is e) uint64_t dist = diyfp::sub(M_plus, w ).f; // (significand of (M+ - w ), implicit exponent is e) // Split M+ = f * 2^e into two parts p1 and p2 (note: e < 0): // // M+ = f * 2^e // = ((f div 2^-e) * 2^-e + (f mod 2^-e)) * 2^e // = ((p1 ) * 2^-e + (p2 )) * 2^e // = p1 + p2 * 2^e const diyfp one(uint64_t{1} << -M_plus.e, M_plus.e); uint32_t p1 = static_cast(M_plus.f >> -one.e); // p1 = f div 2^-e (Since -e >= 32, p1 fits into a 32-bit int.) uint64_t p2 = M_plus.f & (one.f - 1); // p2 = f mod 2^-e // 1) // // Generate the digits of the integral part p1 = d[n-1]...d[1]d[0] assert(p1 > 0); uint32_t pow10; const int k = find_largest_pow10(p1, pow10); // 10^(k-1) <= p1 < 10^k, pow10 = 10^(k-1) // // p1 = (p1 div 10^(k-1)) * 10^(k-1) + (p1 mod 10^(k-1)) // = (d[k-1] ) * 10^(k-1) + (p1 mod 10^(k-1)) // // M+ = p1 + p2 * 2^e // = d[k-1] * 10^(k-1) + (p1 mod 10^(k-1)) + p2 * 2^e // = d[k-1] * 10^(k-1) + ((p1 mod 10^(k-1)) * 2^-e + p2) * 2^e // = d[k-1] * 10^(k-1) + ( rest) * 2^e // // Now generate the digits d[n] of p1 from left to right (n = k-1,...,0) // // p1 = d[k-1]...d[n] * 10^n + d[n-1]...d[0] // // but stop as soon as // // rest * 2^e = (d[n-1]...d[0] * 2^-e + p2) * 2^e <= delta * 2^e int n = k; while (n > 0) { // Invariants: // M+ = buffer * 10^n + (p1 + p2 * 2^e) (buffer = 0 for n = k) // pow10 = 10^(n-1) <= p1 < 10^n // const uint32_t d = p1 / pow10; // d = p1 div 10^(n-1) const uint32_t r = p1 % pow10; // r = p1 mod 10^(n-1) // // M+ = buffer * 10^n + (d * 10^(n-1) + r) + p2 * 2^e // = (buffer * 10 + d) * 10^(n-1) + (r + p2 * 2^e) // assert(d <= 9); buffer[length++] = static_cast('0' + d); // buffer := buffer * 10 + d // // M+ = buffer * 10^(n-1) + (r + p2 * 2^e) // p1 = r; n--; // // M+ = buffer * 10^n + (p1 + p2 * 2^e) // pow10 = 10^n // // Now check if enough digits have been generated. // Compute // // p1 + p2 * 2^e = (p1 * 2^-e + p2) * 2^e = rest * 2^e // // Note: // Since rest and delta share the same exponent e, it suffices to // compare the significands. const uint64_t rest = (uint64_t{p1} << -one.e) + p2; if (rest <= delta) { // V = buffer * 10^n, with M- <= V <= M+. decimal_exponent += n; // We may now just stop. But instead look if the buffer could be // decremented to bring V closer to w. // // pow10 = 10^n is now 1 ulp in the decimal representation V. // The rounding procedure works with diyfp's with an implicit // exponent of e. // // 10^n = (10^n * 2^-e) * 2^e = ulp * 2^e // const uint64_t ten_n = uint64_t{pow10} << -one.e; grisu2_round(buffer, length, dist, delta, rest, ten_n); return; } pow10 /= 10; // // pow10 = 10^(n-1) <= p1 < 10^n // Invariants restored. } // 2) // // The digits of the integral part have been generated: // // M+ = d[k-1]...d[1]d[0] + p2 * 2^e // = buffer + p2 * 2^e // // Now generate the digits of the fractional part p2 * 2^e. // // Note: // No decimal point is generated: the exponent is adjusted instead. // // p2 actually represents the fraction // // p2 * 2^e // = p2 / 2^-e // = d[-1] / 10^1 + d[-2] / 10^2 + ... // // Now generate the digits d[-m] of p1 from left to right (m = 1,2,...) // // p2 * 2^e = d[-1]d[-2]...d[-m] * 10^-m // + 10^-m * (d[-m-1] / 10^1 + d[-m-2] / 10^2 + ...) // // using // // 10^m * p2 = ((10^m * p2) div 2^-e) * 2^-e + ((10^m * p2) mod 2^-e) // = ( d) * 2^-e + ( r) // // or // 10^m * p2 * 2^e = d + r * 2^e // // i.e. // // M+ = buffer + p2 * 2^e // = buffer + 10^-m * (d + r * 2^e) // = (buffer * 10^m + d) * 10^-m + 10^-m * r * 2^e // // and stop as soon as 10^-m * r * 2^e <= delta * 2^e assert(p2 > delta); int m = 0; for (;;) { // Invariant: // M+ = buffer * 10^-m + 10^-m * (d[-m-1] / 10 + d[-m-2] / 10^2 + ...) * 2^e // = buffer * 10^-m + 10^-m * (p2 ) * 2^e // = buffer * 10^-m + 10^-m * (1/10 * (10 * p2) ) * 2^e // = buffer * 10^-m + 10^-m * (1/10 * ((10*p2 div 2^-e) * 2^-e + (10*p2 mod 2^-e)) * 2^e // assert(p2 <= UINT64_MAX / 10); p2 *= 10; const uint64_t d = p2 >> -one.e; // d = (10 * p2) div 2^-e const uint64_t r = p2 & (one.f - 1); // r = (10 * p2) mod 2^-e // // M+ = buffer * 10^-m + 10^-m * (1/10 * (d * 2^-e + r) * 2^e // = buffer * 10^-m + 10^-m * (1/10 * (d + r * 2^e)) // = (buffer * 10 + d) * 10^(-m-1) + 10^(-m-1) * r * 2^e // assert(d <= 9); buffer[length++] = static_cast('0' + d); // buffer := buffer * 10 + d // // M+ = buffer * 10^(-m-1) + 10^(-m-1) * r * 2^e // p2 = r; m++; // // M+ = buffer * 10^-m + 10^-m * p2 * 2^e // Invariant restored. // Check if enough digits have been generated. // // 10^-m * p2 * 2^e <= delta * 2^e // p2 * 2^e <= 10^m * delta * 2^e // p2 <= 10^m * delta delta *= 10; dist *= 10; if (p2 <= delta) { break; } } // V = buffer * 10^-m, with M- <= V <= M+. decimal_exponent -= m; // 1 ulp in the decimal representation is now 10^-m. // Since delta and dist are now scaled by 10^m, we need to do the // same with ulp in order to keep the units in sync. // // 10^m * 10^-m = 1 = 2^-e * 2^e = ten_m * 2^e // const uint64_t ten_m = one.f; grisu2_round(buffer, length, dist, delta, p2, ten_m); // By construction this algorithm generates the shortest possible decimal // number (Loitsch, Theorem 6.2) which rounds back to w. // For an input number of precision p, at least // // N = 1 + ceil(p * log_10(2)) // // decimal digits are sufficient to identify all binary floating-point // numbers (Matula, "In-and-Out conversions"). // This implies that the algorithm does not produce more than N decimal // digits. // // N = 17 for p = 53 (IEEE double precision) // N = 9 for p = 24 (IEEE single precision) } /*! v = buf * 10^decimal_exponent len is the length of the buffer (number of decimal digits) The buffer must be large enough, i.e. >= max_digits10. */ inline void grisu2(char* buf, int& len, int& decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus) { assert(m_plus.e == m_minus.e); assert(m_plus.e == v.e); // --------(-----------------------+-----------------------)-------- (A) // m- v m+ // // --------------------(-----------+-----------------------)-------- (B) // m- v m+ // // First scale v (and m- and m+) such that the exponent is in the range // [alpha, gamma]. const cached_power cached = get_cached_power_for_binary_exponent(m_plus.e); const diyfp c_minus_k(cached.f, cached.e); // = c ~= 10^-k // The exponent of the products is = v.e + c_minus_k.e + q and is in the range [alpha,gamma] const diyfp w = diyfp::mul(v, c_minus_k); const diyfp w_minus = diyfp::mul(m_minus, c_minus_k); const diyfp w_plus = diyfp::mul(m_plus, c_minus_k); // ----(---+---)---------------(---+---)---------------(---+---)---- // w- w w+ // = c*m- = c*v = c*m+ // // diyfp::mul rounds its result and c_minus_k is approximated too. w, w- and // w+ are now off by a small amount. // In fact: // // w - v * 10^k < 1 ulp // // To account for this inaccuracy, add resp. subtract 1 ulp. // // --------+---[---------------(---+---)---------------]---+-------- // w- M- w M+ w+ // // Now any number in [M-, M+] (bounds included) will round to w when input, // regardless of how the input rounding algorithm breaks ties. // // And digit_gen generates the shortest possible such number in [M-, M+]. // Note that this does not mean that Grisu2 always generates the shortest // possible number in the interval (m-, m+). const diyfp M_minus(w_minus.f + 1, w_minus.e); const diyfp M_plus (w_plus.f - 1, w_plus.e ); decimal_exponent = -cached.k; // = -(-k) = k grisu2_digit_gen(buf, len, decimal_exponent, M_minus, w, M_plus); } /*! v = buf * 10^decimal_exponent len is the length of the buffer (number of decimal digits) The buffer must be large enough, i.e. >= max_digits10. */ template void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value) { static_assert(diyfp::kPrecision >= std::numeric_limits::digits + 3, "internal error: not enough precision"); assert(std::isfinite(value)); assert(value > 0); // If the neighbors (and boundaries) of 'value' are always computed for double-precision // numbers, all float's can be recovered using strtod (and strtof). However, the resulting // decimal representations are not exactly "short". // // The documentation for 'std::to_chars' (https://en.cppreference.com/w/cpp/utility/to_chars) // says "value is converted to a string as if by std::sprintf in the default ("C") locale" // and since sprintf promotes float's to double's, I think this is exactly what 'std::to_chars' // does. // On the other hand, the documentation for 'std::to_chars' requires that "parsing the // representation using the corresponding std::from_chars function recovers value exactly". That // indicates that single precision floating-point numbers should be recovered using // 'std::strtof'. // // NB: If the neighbors are computed for single-precision numbers, there is a single float // (7.0385307e-26f) which can't be recovered using strtod. The resulting double precision // value is off by 1 ulp. #if 0 const boundaries w = compute_boundaries(static_cast(value)); #else const boundaries w = compute_boundaries(value); #endif grisu2(buf, len, decimal_exponent, w.minus, w.w, w.plus); } /*! @brief appends a decimal representation of e to buf @return a pointer to the element following the exponent. @pre -1000 < e < 1000 */ inline char* append_exponent(char* buf, int e) { assert(e > -1000); assert(e < 1000); if (e < 0) { e = -e; *buf++ = '-'; } else { *buf++ = '+'; } uint32_t k = static_cast(e); if (k < 10) { // Always print at least two digits in the exponent. // This is for compatibility with printf("%g"). *buf++ = '0'; *buf++ = static_cast('0' + k); } else if (k < 100) { *buf++ = static_cast('0' + k / 10); k %= 10; *buf++ = static_cast('0' + k); } else { *buf++ = static_cast('0' + k / 100); k %= 100; *buf++ = static_cast('0' + k / 10); k %= 10; *buf++ = static_cast('0' + k); } return buf; } /*! @brief prettify v = buf * 10^decimal_exponent If v is in the range [10^min_exp, 10^max_exp) it will be printed in fixed-point notation. Otherwise it will be printed in exponential notation. @pre min_exp < 0 @pre max_exp > 0 */ inline char* format_buffer(char* buf, int len, int decimal_exponent, int min_exp, int max_exp) { assert(min_exp < 0); assert(max_exp > 0); const int k = len; const int n = len + decimal_exponent; // v = buf * 10^(n-k) // k is the length of the buffer (number of decimal digits) // n is the position of the decimal point relative to the start of the buffer. if (k <= n and n <= max_exp) { // digits[000] // len <= max_exp + 2 std::memset(buf + k, '0', static_cast(n - k)); // Make it look like a floating-point number (#362, #378) buf[n + 0] = '.'; buf[n + 1] = '0'; return buf + (n + 2); } if (0 < n and n <= max_exp) { // dig.its // len <= max_digits10 + 1 assert(k > n); std::memmove(buf + (n + 1), buf + n, static_cast(k - n)); buf[n] = '.'; return buf + (k + 1); } if (min_exp < n and n <= 0) { // 0.[000]digits // len <= 2 + (-min_exp - 1) + max_digits10 std::memmove(buf + (2 + -n), buf, static_cast(k)); buf[0] = '0'; buf[1] = '.'; std::memset(buf + 2, '0', static_cast(-n)); return buf + (2 + (-n) + k); } if (k == 1) { // dE+123 // len <= 1 + 5 buf += 1; } else { // d.igitsE+123 // len <= max_digits10 + 1 + 5 std::memmove(buf + 2, buf + 1, static_cast(k - 1)); buf[1] = '.'; buf += 1 + k; } *buf++ = 'e'; return append_exponent(buf, n - 1); } } // namespace dtoa_impl /*! @brief generates a decimal representation of the floating-point number value in [first, last). The format of the resulting decimal representation is similar to printf's %g format. Returns an iterator pointing past-the-end of the decimal representation. @note The input number must be finite, i.e. NaN's and Inf's are not supported. @note The buffer must be large enough. @note The result is NOT null-terminated. */ template char* to_chars(char* first, char* last, FloatType value) { static_cast(last); // maybe unused - fix warning assert(std::isfinite(value)); // Use signbit(value) instead of (value < 0) since signbit works for -0. if (std::signbit(value)) { value = -value; *first++ = '-'; } if (value == 0) // +-0 { *first++ = '0'; // Make it look like a floating-point number (#362, #378) *first++ = '.'; *first++ = '0'; return first; } assert(last - first >= std::numeric_limits::max_digits10); // Compute v = buffer * 10^decimal_exponent. // The decimal digits are stored in the buffer, which needs to be interpreted // as an unsigned decimal integer. // len is the length of the buffer, i.e. the number of decimal digits. int len = 0; int decimal_exponent = 0; dtoa_impl::grisu2(first, len, decimal_exponent, value); assert(len <= std::numeric_limits::max_digits10); // Format the buffer like printf("%.*g", prec, value) constexpr int kMinExp = -4; // Use digits10 here to increase compatibility with version 2. constexpr int kMaxExp = std::numeric_limits::digits10; assert(last - first >= kMaxExp + 2); assert(last - first >= 2 + (-kMinExp - 1) + std::numeric_limits::max_digits10); assert(last - first >= std::numeric_limits::max_digits10 + 6); return dtoa_impl::format_buffer(first, len, decimal_exponent, kMinExp, kMaxExp); } } // namespace detail } // namespace nlohmann avogadrolibs-1.93.0/thirdparty/nlohmann/detail/conversions/to_json.hpp000066400000000000000000000261021360735163600262750ustar00rootroot00000000000000#pragma once #include // or, and, not #include // begin, end #include // tuple, get #include // is_same, is_constructible, is_floating_point, is_enum, underlying_type #include // move, forward, declval, pair #include // valarray #include // vector #include #include #include #include namespace nlohmann { namespace detail { ////////////////// // constructors // ////////////////// template struct external_constructor; template<> struct external_constructor { template static void construct(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept { j.m_type = value_t::boolean; j.m_value = b; j.assert_invariant(); } }; template<> struct external_constructor { template static void construct(BasicJsonType& j, const typename BasicJsonType::string_t& s) { j.m_type = value_t::string; j.m_value = s; j.assert_invariant(); } template static void construct(BasicJsonType& j, typename BasicJsonType::string_t&& s) { j.m_type = value_t::string; j.m_value = std::move(s); j.assert_invariant(); } template::value, int> = 0> static void construct(BasicJsonType& j, const CompatibleStringType& str) { j.m_type = value_t::string; j.m_value.string = j.template create(str); j.assert_invariant(); } }; template<> struct external_constructor { template static void construct(BasicJsonType& j, typename BasicJsonType::number_float_t val) noexcept { j.m_type = value_t::number_float; j.m_value = val; j.assert_invariant(); } }; template<> struct external_constructor { template static void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t val) noexcept { j.m_type = value_t::number_unsigned; j.m_value = val; j.assert_invariant(); } }; template<> struct external_constructor { template static void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t val) noexcept { j.m_type = value_t::number_integer; j.m_value = val; j.assert_invariant(); } }; template<> struct external_constructor { template static void construct(BasicJsonType& j, const typename BasicJsonType::array_t& arr) { j.m_type = value_t::array; j.m_value = arr; j.assert_invariant(); } template static void construct(BasicJsonType& j, typename BasicJsonType::array_t&& arr) { j.m_type = value_t::array; j.m_value = std::move(arr); j.assert_invariant(); } template::value, int> = 0> static void construct(BasicJsonType& j, const CompatibleArrayType& arr) { using std::begin; using std::end; j.m_type = value_t::array; j.m_value.array = j.template create(begin(arr), end(arr)); j.assert_invariant(); } template static void construct(BasicJsonType& j, const std::vector& arr) { j.m_type = value_t::array; j.m_value = value_t::array; j.m_value.array->reserve(arr.size()); for (const bool x : arr) { j.m_value.array->push_back(x); } j.assert_invariant(); } template::value, int> = 0> static void construct(BasicJsonType& j, const std::valarray& arr) { j.m_type = value_t::array; j.m_value = value_t::array; j.m_value.array->resize(arr.size()); std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin()); j.assert_invariant(); } }; template<> struct external_constructor { template static void construct(BasicJsonType& j, const typename BasicJsonType::object_t& obj) { j.m_type = value_t::object; j.m_value = obj; j.assert_invariant(); } template static void construct(BasicJsonType& j, typename BasicJsonType::object_t&& obj) { j.m_type = value_t::object; j.m_value = std::move(obj); j.assert_invariant(); } template::value, int> = 0> static void construct(BasicJsonType& j, const CompatibleObjectType& obj) { using std::begin; using std::end; j.m_type = value_t::object; j.m_value.object = j.template create(begin(obj), end(obj)); j.assert_invariant(); } }; ///////////// // to_json // ///////////// template::value, int> = 0> void to_json(BasicJsonType& j, T b) noexcept { external_constructor::construct(j, b); } template::value, int> = 0> void to_json(BasicJsonType& j, const CompatibleString& s) { external_constructor::construct(j, s); } template void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s) { external_constructor::construct(j, std::move(s)); } template::value, int> = 0> void to_json(BasicJsonType& j, FloatType val) noexcept { external_constructor::construct(j, static_cast(val)); } template::value, int> = 0> void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept { external_constructor::construct(j, static_cast(val)); } template::value, int> = 0> void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept { external_constructor::construct(j, static_cast(val)); } template::value, int> = 0> void to_json(BasicJsonType& j, EnumType e) noexcept { using underlying_type = typename std::underlying_type::type; external_constructor::construct(j, static_cast(e)); } template void to_json(BasicJsonType& j, const std::vector& e) { external_constructor::construct(j, e); } template ::value and not is_compatible_object_type< BasicJsonType, CompatibleArrayType>::value and not is_compatible_string_type::value and not is_basic_json::value, int> = 0> void to_json(BasicJsonType& j, const CompatibleArrayType& arr) { external_constructor::construct(j, arr); } template::value, int> = 0> void to_json(BasicJsonType& j, const std::valarray& arr) { external_constructor::construct(j, std::move(arr)); } template void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr) { external_constructor::construct(j, std::move(arr)); } template::value and not is_basic_json::value, int> = 0> void to_json(BasicJsonType& j, const CompatibleObjectType& obj) { external_constructor::construct(j, obj); } template void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj) { external_constructor::construct(j, std::move(obj)); } template < typename BasicJsonType, typename T, std::size_t N, enable_if_t::value, int> = 0 > void to_json(BasicJsonType& j, const T (&arr)[N]) { external_constructor::construct(j, arr); } template void to_json(BasicJsonType& j, const std::pair& p) { j = {p.first, p.second}; } // for https://github.com/nlohmann/json/pull/1134 template::iteration_proxy_internal>::value, int> = 0> void to_json(BasicJsonType& j, T b) noexcept { j = {{b.key(), b.value()}}; } template void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence) { j = {std::get(t)...}; } template void to_json(BasicJsonType& j, const std::tuple& t) { to_json_tuple_impl(j, t, index_sequence_for {}); } struct to_json_fn { template auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward(val)))) -> decltype(to_json(j, std::forward(val)), void()) { return to_json(j, std::forward(val)); } }; } /// namespace to hold default `to_json` function namespace { constexpr const auto& to_json = detail::static_const::value; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/exceptions.hpp000066400000000000000000000463201360735163600244370ustar00rootroot00000000000000#pragma once #include // exception #include // runtime_error #include // to_string namespace nlohmann { namespace detail { //////////////// // exceptions // //////////////// /*! @brief general exception of the @ref basic_json class This class is an extension of `std::exception` objects with a member @a id for exception ids. It is used as the base class for all exceptions thrown by the @ref basic_json class. This class can hence be used as "wildcard" to catch exceptions. Subclasses: - @ref parse_error for exceptions indicating a parse error - @ref invalid_iterator for exceptions indicating errors with iterators - @ref type_error for exceptions indicating executing a member function with a wrong type - @ref out_of_range for exceptions indicating access out of the defined range - @ref other_error for exceptions indicating other library errors @internal @note To have nothrow-copy-constructible exceptions, we internally use `std::runtime_error` which can cope with arbitrary-length error messages. Intermediate strings are built with static functions and then passed to the actual constructor. @endinternal @liveexample{The following code shows how arbitrary library exceptions can be caught.,exception} @since version 3.0.0 */ class exception : public std::exception { public: /// returns the explanatory string const char* what() const noexcept override { return m.what(); } /// the id of the exception const int id; protected: exception(int id_, const char* what_arg) : id(id_), m(what_arg) {} static std::string name(const std::string& ename, int id_) { return "[json.exception." + ename + "." + std::to_string(id_) + "] "; } private: /// an exception object as storage for error messages std::runtime_error m; }; /*! @brief exception indicating a parse error This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch. Member @a byte holds the byte index of the last read character in the input file. Exceptions have ids 1xx. name / id | example message | description ------------------------------ | --------------- | ------------------------- json.exception.parse_error.101 | parse error at 2: unexpected end of input; expected string literal | This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member @a byte indicates the error position. json.exception.parse_error.102 | parse error at 14: missing or wrong low surrogate | JSON uses the `\uxxxx` format to describe Unicode characters. Code points above above 0xFFFF are split into two `\uxxxx` entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. json.exception.parse_error.103 | parse error: code points above 0x10FFFF are invalid | Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. json.exception.parse_error.104 | parse error: JSON patch must be an array of objects | [RFC 6902](https://tools.ietf.org/html/rfc6902) requires a JSON Patch document to be a JSON document that represents an array of objects. json.exception.parse_error.105 | parse error: operation must have string member 'op' | An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. json.exception.parse_error.106 | parse error: array index '01' must not begin with '0' | An array index in a JSON Pointer ([RFC 6901](https://tools.ietf.org/html/rfc6901)) may be `0` or any number without a leading `0`. json.exception.parse_error.107 | parse error: JSON pointer must be empty or begin with '/' - was: 'foo' | A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a `/` character. json.exception.parse_error.108 | parse error: escape character '~' must be followed with '0' or '1' | In a JSON Pointer, only `~0` and `~1` are valid escape sequences. json.exception.parse_error.109 | parse error: array index 'one' is not a number | A JSON Pointer array index must be a number. json.exception.parse_error.110 | parse error at 1: cannot read 2 bytes from vector | When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. json.exception.parse_error.112 | parse error at 1: error reading CBOR; last byte: 0xF8 | Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. json.exception.parse_error.113 | parse error at 2: expected a CBOR string; last byte: 0x98 | While parsing a map key, a value that is not a string has been read. @note For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack). @liveexample{The following code shows how a `parse_error` exception can be caught.,parse_error} @sa @ref exception for the base class of the library exceptions @sa @ref invalid_iterator for exceptions indicating errors with iterators @sa @ref type_error for exceptions indicating executing a member function with a wrong type @sa @ref out_of_range for exceptions indicating access out of the defined range @sa @ref other_error for exceptions indicating other library errors @since version 3.0.0 */ class parse_error : public exception { public: /*! @brief create a parse error exception @param[in] id_ the id of the exception @param[in] byte_ the byte index where the error occurred (or 0 if the position cannot be determined) @param[in] what_arg the explanatory string @return parse_error object */ static parse_error create(int id_, std::size_t byte_, const std::string& what_arg) { std::string w = exception::name("parse_error", id_) + "parse error" + (byte_ != 0 ? (" at " + std::to_string(byte_)) : "") + ": " + what_arg; return parse_error(id_, byte_, w.c_str()); } /*! @brief byte index of the parse error The byte index of the last read character in the input file. @note For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack). */ const std::size_t byte; private: parse_error(int id_, std::size_t byte_, const char* what_arg) : exception(id_, what_arg), byte(byte_) {} }; /*! @brief exception indicating errors with iterators This exception is thrown if iterators passed to a library function do not match the expected semantics. Exceptions have ids 2xx. name / id | example message | description ----------------------------------- | --------------- | ------------------------- json.exception.invalid_iterator.201 | iterators are not compatible | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. json.exception.invalid_iterator.202 | iterator does not fit current value | In an erase or insert function, the passed iterator @a pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. json.exception.invalid_iterator.203 | iterators do not fit current value | Either iterator passed to function @ref erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. json.exception.invalid_iterator.204 | iterators out of range | When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (@ref begin(), @ref end()), because this is the only way the single stored value is expressed. All other ranges are invalid. json.exception.invalid_iterator.205 | iterator out of range | When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the @ref begin() iterator, because it is the only way to address the stored value. All other iterators are invalid. json.exception.invalid_iterator.206 | cannot construct with iterators from null | The iterators passed to constructor @ref basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range. json.exception.invalid_iterator.207 | cannot use key() for non-object iterators | The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. json.exception.invalid_iterator.208 | cannot use operator[] for object iterators | The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. json.exception.invalid_iterator.209 | cannot use offsets with object iterators | The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. json.exception.invalid_iterator.210 | iterators do not fit | The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (@a first, @a last) is invalid. json.exception.invalid_iterator.211 | passed iterators may not belong to container | The iterator range passed to the insert function must not be a subrange of the container to insert to. json.exception.invalid_iterator.212 | cannot compare iterators of different containers | When two iterators are compared, they must belong to the same container. json.exception.invalid_iterator.213 | cannot compare order of object iterators | The order of object iterators cannot be compared, because JSON objects are unordered. json.exception.invalid_iterator.214 | cannot get value | Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to @ref begin(). @liveexample{The following code shows how an `invalid_iterator` exception can be caught.,invalid_iterator} @sa @ref exception for the base class of the library exceptions @sa @ref parse_error for exceptions indicating a parse error @sa @ref type_error for exceptions indicating executing a member function with a wrong type @sa @ref out_of_range for exceptions indicating access out of the defined range @sa @ref other_error for exceptions indicating other library errors @since version 3.0.0 */ class invalid_iterator : public exception { public: static invalid_iterator create(int id_, const std::string& what_arg) { std::string w = exception::name("invalid_iterator", id_) + what_arg; return invalid_iterator(id_, w.c_str()); } private: invalid_iterator(int id_, const char* what_arg) : exception(id_, what_arg) {} }; /*! @brief exception indicating executing a member function with a wrong type This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics. Exceptions have ids 3xx. name / id | example message | description ----------------------------- | --------------- | ------------------------- json.exception.type_error.301 | cannot create object from initializer list | To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. json.exception.type_error.302 | type must be object, but is array | During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. json.exception.type_error.303 | incompatible ReferenceType for get_ref, actual type is object | To retrieve a reference to a value stored in a @ref basic_json object with @ref get_ref, the type of the reference must match the value type. For instance, for a JSON array, the @a ReferenceType must be @ref array_t&. json.exception.type_error.304 | cannot use at() with string | The @ref at() member functions can only be executed for certain JSON types. json.exception.type_error.305 | cannot use operator[] with string | The @ref operator[] member functions can only be executed for certain JSON types. json.exception.type_error.306 | cannot use value() with string | The @ref value() member functions can only be executed for certain JSON types. json.exception.type_error.307 | cannot use erase() with string | The @ref erase() member functions can only be executed for certain JSON types. json.exception.type_error.308 | cannot use push_back() with string | The @ref push_back() and @ref operator+= member functions can only be executed for certain JSON types. json.exception.type_error.309 | cannot use insert() with | The @ref insert() member functions can only be executed for certain JSON types. json.exception.type_error.310 | cannot use swap() with number | The @ref swap() member functions can only be executed for certain JSON types. json.exception.type_error.311 | cannot use emplace_back() with string | The @ref emplace_back() member function can only be executed for certain JSON types. json.exception.type_error.312 | cannot use update() with string | The @ref update() member functions can only be executed for certain JSON types. json.exception.type_error.313 | invalid value to unflatten | The @ref unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. json.exception.type_error.314 | only objects can be unflattened | The @ref unflatten function only works for an object whose keys are JSON Pointers. json.exception.type_error.315 | values in object must be primitive | The @ref unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive. json.exception.type_error.316 | invalid UTF-8 byte at index 10: 0x7E | The @ref dump function only works with UTF-8 encoded strings; that is, if you assign a `std::string` to a JSON value, make sure it is UTF-8 encoded. | @liveexample{The following code shows how a `type_error` exception can be caught.,type_error} @sa @ref exception for the base class of the library exceptions @sa @ref parse_error for exceptions indicating a parse error @sa @ref invalid_iterator for exceptions indicating errors with iterators @sa @ref out_of_range for exceptions indicating access out of the defined range @sa @ref other_error for exceptions indicating other library errors @since version 3.0.0 */ class type_error : public exception { public: static type_error create(int id_, const std::string& what_arg) { std::string w = exception::name("type_error", id_) + what_arg; return type_error(id_, w.c_str()); } private: type_error(int id_, const char* what_arg) : exception(id_, what_arg) {} }; /*! @brief exception indicating access out of the defined range This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys. Exceptions have ids 4xx. name / id | example message | description ------------------------------- | --------------- | ------------------------- json.exception.out_of_range.401 | array index 3 is out of range | The provided array index @a i is larger than @a size-1. json.exception.out_of_range.402 | array index '-' (3) is out of range | The special array index `-` in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. json.exception.out_of_range.403 | key 'foo' not found | The provided key was not found in the JSON object. json.exception.out_of_range.404 | unresolved reference token 'foo' | A reference token in a JSON Pointer could not be resolved. json.exception.out_of_range.405 | JSON pointer has no parent | The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. json.exception.out_of_range.406 | number overflow parsing '10E1000' | A parsed number could not be stored as without changing it to NaN or INF. json.exception.out_of_range.407 | number overflow serializing '9223372036854775808' | UBJSON only supports integers numbers up to 9223372036854775807. | json.exception.out_of_range.408 | excessive array size: 8658170730974374167 | The size (following `#`) of an UBJSON array or object exceeds the maximal capacity. | @liveexample{The following code shows how an `out_of_range` exception can be caught.,out_of_range} @sa @ref exception for the base class of the library exceptions @sa @ref parse_error for exceptions indicating a parse error @sa @ref invalid_iterator for exceptions indicating errors with iterators @sa @ref type_error for exceptions indicating executing a member function with a wrong type @sa @ref other_error for exceptions indicating other library errors @since version 3.0.0 */ class out_of_range : public exception { public: static out_of_range create(int id_, const std::string& what_arg) { std::string w = exception::name("out_of_range", id_) + what_arg; return out_of_range(id_, w.c_str()); } private: out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {} }; /*! @brief exception indicating other library errors This exception is thrown in case of errors that cannot be classified with the other exception types. Exceptions have ids 5xx. name / id | example message | description ------------------------------ | --------------- | ------------------------- json.exception.other_error.501 | unsuccessful: {"op":"test","path":"/baz", "value":"bar"} | A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. @sa @ref exception for the base class of the library exceptions @sa @ref parse_error for exceptions indicating a parse error @sa @ref invalid_iterator for exceptions indicating errors with iterators @sa @ref type_error for exceptions indicating executing a member function with a wrong type @sa @ref out_of_range for exceptions indicating access out of the defined range @liveexample{The following code shows how an `other_error` exception can be caught.,other_error} @since version 3.0.0 */ class other_error : public exception { public: static other_error create(int id_, const std::string& what_arg) { std::string w = exception::name("other_error", id_) + what_arg; return other_error(id_, w.c_str()); } private: other_error(int id_, const char* what_arg) : exception(id_, what_arg) {} }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/input/000077500000000000000000000000001360735163600226775ustar00rootroot00000000000000avogadrolibs-1.93.0/thirdparty/nlohmann/detail/input/binary_reader.hpp000066400000000000000000001357551360735163600262360ustar00rootroot00000000000000#pragma once #include // generate_n #include // array #include // assert #include // ldexp #include // size_t #include // uint8_t, uint16_t, uint32_t, uint64_t #include // snprintf #include // memcpy #include // back_inserter #include // numeric_limits #include // char_traits, string #include // make_pair, move #include #include #include #include #include #include namespace nlohmann { namespace detail { /////////////////// // binary reader // /////////////////// /*! @brief deserialization of CBOR, MessagePack, and UBJSON values */ template> class binary_reader { using number_integer_t = typename BasicJsonType::number_integer_t; using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; using json_sax_t = SAX; public: /*! @brief create a binary reader @param[in] adapter input adapter to read from */ explicit binary_reader(input_adapter_t adapter) : ia(std::move(adapter)) { (void)detail::is_sax_static_asserts {}; assert(ia); } /*! @param[in] format the binary format to parse @param[in] sax_ a SAX event processor @param[in] strict whether to expect the input to be consumed completed @return */ bool sax_parse(const input_format_t format, json_sax_t* sax_, const bool strict = true) { sax = sax_; bool result = false; switch (format) { case input_format_t::cbor: result = parse_cbor_internal(); break; case input_format_t::msgpack: result = parse_msgpack_internal(); break; case input_format_t::ubjson: result = parse_ubjson_internal(); break; // LCOV_EXCL_START default: assert(false); // LCOV_EXCL_STOP } // strict mode: next byte must be EOF if (result and strict) { if (format == input_format_t::ubjson) { get_ignore_noop(); } else { get(); } if (JSON_UNLIKELY(current != std::char_traits::eof())) { return sax->parse_error(chars_read, get_token_string(), parse_error::create(110, chars_read, "expected end of input")); } } return result; } /*! @brief determine system byte order @return true if and only if system's byte order is little endian @note from http://stackoverflow.com/a/1001328/266378 */ static constexpr bool little_endianess(int num = 1) noexcept { return (*reinterpret_cast(&num) == 1); } private: /*! @param[in] get_char whether a new character should be retrieved from the input (true, default) or whether the last read character should be considered instead @return whether a valid CBOR value was passed to the SAX parser */ bool parse_cbor_internal(const bool get_char = true) { switch (get_char ? get() : current) { // EOF case std::char_traits::eof(): return unexpect_eof(); // Integer 0x00..0x17 (0..23) case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: case 0x08: case 0x09: case 0x0A: case 0x0B: case 0x0C: case 0x0D: case 0x0E: case 0x0F: case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: return sax->number_unsigned(static_cast(current)); case 0x18: // Unsigned integer (one-byte uint8_t follows) { uint8_t number; return get_number(number) and sax->number_unsigned(number); } case 0x19: // Unsigned integer (two-byte uint16_t follows) { uint16_t number; return get_number(number) and sax->number_unsigned(number); } case 0x1A: // Unsigned integer (four-byte uint32_t follows) { uint32_t number; return get_number(number) and sax->number_unsigned(number); } case 0x1B: // Unsigned integer (eight-byte uint64_t follows) { uint64_t number; return get_number(number) and sax->number_unsigned(number); } // Negative integer -1-0x00..-1-0x17 (-1..-24) case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: case 0x28: case 0x29: case 0x2A: case 0x2B: case 0x2C: case 0x2D: case 0x2E: case 0x2F: case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37: return sax->number_integer(static_cast(0x20 - 1 - current)); case 0x38: // Negative integer (one-byte uint8_t follows) { uint8_t number; return get_number(number) and sax->number_integer(static_cast(-1) - number); } case 0x39: // Negative integer -1-n (two-byte uint16_t follows) { uint16_t number; return get_number(number) and sax->number_integer(static_cast(-1) - number); } case 0x3A: // Negative integer -1-n (four-byte uint32_t follows) { uint32_t number; return get_number(number) and sax->number_integer(static_cast(-1) - number); } case 0x3B: // Negative integer -1-n (eight-byte uint64_t follows) { uint64_t number; return get_number(number) and sax->number_integer(static_cast(-1) - static_cast(number)); } // UTF-8 string (0x00..0x17 bytes follow) case 0x60: case 0x61: case 0x62: case 0x63: case 0x64: case 0x65: case 0x66: case 0x67: case 0x68: case 0x69: case 0x6A: case 0x6B: case 0x6C: case 0x6D: case 0x6E: case 0x6F: case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: case 0x78: // UTF-8 string (one-byte uint8_t for n follows) case 0x79: // UTF-8 string (two-byte uint16_t for n follow) case 0x7A: // UTF-8 string (four-byte uint32_t for n follow) case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow) case 0x7F: // UTF-8 string (indefinite length) { string_t s; return get_cbor_string(s) and sax->string(s); } // array (0x00..0x17 data items follow) case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87: case 0x88: case 0x89: case 0x8A: case 0x8B: case 0x8C: case 0x8D: case 0x8E: case 0x8F: case 0x90: case 0x91: case 0x92: case 0x93: case 0x94: case 0x95: case 0x96: case 0x97: return get_cbor_array(static_cast(current & 0x1F)); case 0x98: // array (one-byte uint8_t for n follows) { uint8_t len; return get_number(len) and get_cbor_array(static_cast(len)); } case 0x99: // array (two-byte uint16_t for n follow) { uint16_t len; return get_number(len) and get_cbor_array(static_cast(len)); } case 0x9A: // array (four-byte uint32_t for n follow) { uint32_t len; return get_number(len) and get_cbor_array(static_cast(len)); } case 0x9B: // array (eight-byte uint64_t for n follow) { uint64_t len; return get_number(len) and get_cbor_array(static_cast(len)); } case 0x9F: // array (indefinite length) return get_cbor_array(std::size_t(-1)); // map (0x00..0x17 pairs of data items follow) case 0xA0: case 0xA1: case 0xA2: case 0xA3: case 0xA4: case 0xA5: case 0xA6: case 0xA7: case 0xA8: case 0xA9: case 0xAA: case 0xAB: case 0xAC: case 0xAD: case 0xAE: case 0xAF: case 0xB0: case 0xB1: case 0xB2: case 0xB3: case 0xB4: case 0xB5: case 0xB6: case 0xB7: return get_cbor_object(static_cast(current & 0x1F)); case 0xB8: // map (one-byte uint8_t for n follows) { uint8_t len; return get_number(len) and get_cbor_object(static_cast(len)); } case 0xB9: // map (two-byte uint16_t for n follow) { uint16_t len; return get_number(len) and get_cbor_object(static_cast(len)); } case 0xBA: // map (four-byte uint32_t for n follow) { uint32_t len; return get_number(len) and get_cbor_object(static_cast(len)); } case 0xBB: // map (eight-byte uint64_t for n follow) { uint64_t len; return get_number(len) and get_cbor_object(static_cast(len)); } case 0xBF: // map (indefinite length) return get_cbor_object(std::size_t(-1)); case 0xF4: // false return sax->boolean(false); case 0xF5: // true return sax->boolean(true); case 0xF6: // null return sax->null(); case 0xF9: // Half-Precision Float (two-byte IEEE 754) { const int byte1 = get(); if (JSON_UNLIKELY(not unexpect_eof())) { return false; } const int byte2 = get(); if (JSON_UNLIKELY(not unexpect_eof())) { return false; } // code from RFC 7049, Appendix D, Figure 3: // As half-precision floating-point numbers were only added // to IEEE 754 in 2008, today's programming platforms often // still only have limited support for them. It is very // easy to include at least decoding support for them even // without such support. An example of a small decoder for // half-precision floating-point numbers in the C language // is shown in Fig. 3. const int half = (byte1 << 8) + byte2; const double val = [&half] { const int exp = (half >> 10) & 0x1F; const int mant = half & 0x3FF; assert(0 <= exp and exp <= 32); assert(0 <= mant and mant <= 1024); switch (exp) { case 0: return std::ldexp(mant, -24); case 31: return (mant == 0) ? std::numeric_limits::infinity() : std::numeric_limits::quiet_NaN(); default: return std::ldexp(mant + 1024, exp - 25); } }(); return sax->number_float((half & 0x8000) != 0 ? static_cast(-val) : static_cast(val), ""); } case 0xFA: // Single-Precision Float (four-byte IEEE 754) { float number; return get_number(number) and sax->number_float(static_cast(number), ""); } case 0xFB: // Double-Precision Float (eight-byte IEEE 754) { double number; return get_number(number) and sax->number_float(static_cast(number), ""); } default: // anything else (0xFF is handled inside the other types) { auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, "error reading CBOR; last byte: 0x" + last_token)); } } } /*! @return whether a valid MessagePack value was passed to the SAX parser */ bool parse_msgpack_internal() { switch (get()) { // EOF case std::char_traits::eof(): return unexpect_eof(); // positive fixint case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: case 0x08: case 0x09: case 0x0A: case 0x0B: case 0x0C: case 0x0D: case 0x0E: case 0x0F: case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: case 0x18: case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1E: case 0x1F: case 0x20: case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: case 0x28: case 0x29: case 0x2A: case 0x2B: case 0x2C: case 0x2D: case 0x2E: case 0x2F: case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: case 0x3A: case 0x3B: case 0x3C: case 0x3D: case 0x3E: case 0x3F: case 0x40: case 0x41: case 0x42: case 0x43: case 0x44: case 0x45: case 0x46: case 0x47: case 0x48: case 0x49: case 0x4A: case 0x4B: case 0x4C: case 0x4D: case 0x4E: case 0x4F: case 0x50: case 0x51: case 0x52: case 0x53: case 0x54: case 0x55: case 0x56: case 0x57: case 0x58: case 0x59: case 0x5A: case 0x5B: case 0x5C: case 0x5D: case 0x5E: case 0x5F: case 0x60: case 0x61: case 0x62: case 0x63: case 0x64: case 0x65: case 0x66: case 0x67: case 0x68: case 0x69: case 0x6A: case 0x6B: case 0x6C: case 0x6D: case 0x6E: case 0x6F: case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: case 0x78: case 0x79: case 0x7A: case 0x7B: case 0x7C: case 0x7D: case 0x7E: case 0x7F: return sax->number_unsigned(static_cast(current)); // fixmap case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87: case 0x88: case 0x89: case 0x8A: case 0x8B: case 0x8C: case 0x8D: case 0x8E: case 0x8F: return get_msgpack_object(static_cast(current & 0x0F)); // fixarray case 0x90: case 0x91: case 0x92: case 0x93: case 0x94: case 0x95: case 0x96: case 0x97: case 0x98: case 0x99: case 0x9A: case 0x9B: case 0x9C: case 0x9D: case 0x9E: case 0x9F: return get_msgpack_array(static_cast(current & 0x0F)); // fixstr case 0xA0: case 0xA1: case 0xA2: case 0xA3: case 0xA4: case 0xA5: case 0xA6: case 0xA7: case 0xA8: case 0xA9: case 0xAA: case 0xAB: case 0xAC: case 0xAD: case 0xAE: case 0xAF: case 0xB0: case 0xB1: case 0xB2: case 0xB3: case 0xB4: case 0xB5: case 0xB6: case 0xB7: case 0xB8: case 0xB9: case 0xBA: case 0xBB: case 0xBC: case 0xBD: case 0xBE: case 0xBF: { string_t s; return get_msgpack_string(s) and sax->string(s); } case 0xC0: // nil return sax->null(); case 0xC2: // false return sax->boolean(false); case 0xC3: // true return sax->boolean(true); case 0xCA: // float 32 { float number; return get_number(number) and sax->number_float(static_cast(number), ""); } case 0xCB: // float 64 { double number; return get_number(number) and sax->number_float(static_cast(number), ""); } case 0xCC: // uint 8 { uint8_t number; return get_number(number) and sax->number_unsigned(number); } case 0xCD: // uint 16 { uint16_t number; return get_number(number) and sax->number_unsigned(number); } case 0xCE: // uint 32 { uint32_t number; return get_number(number) and sax->number_unsigned(number); } case 0xCF: // uint 64 { uint64_t number; return get_number(number) and sax->number_unsigned(number); } case 0xD0: // int 8 { int8_t number; return get_number(number) and sax->number_integer(number); } case 0xD1: // int 16 { int16_t number; return get_number(number) and sax->number_integer(number); } case 0xD2: // int 32 { int32_t number; return get_number(number) and sax->number_integer(number); } case 0xD3: // int 64 { int64_t number; return get_number(number) and sax->number_integer(number); } case 0xD9: // str 8 case 0xDA: // str 16 case 0xDB: // str 32 { string_t s; return get_msgpack_string(s) and sax->string(s); } case 0xDC: // array 16 { uint16_t len; return get_number(len) and get_msgpack_array(static_cast(len)); } case 0xDD: // array 32 { uint32_t len; return get_number(len) and get_msgpack_array(static_cast(len)); } case 0xDE: // map 16 { uint16_t len; return get_number(len) and get_msgpack_object(static_cast(len)); } case 0xDF: // map 32 { uint32_t len; return get_number(len) and get_msgpack_object(static_cast(len)); } // negative fixint case 0xE0: case 0xE1: case 0xE2: case 0xE3: case 0xE4: case 0xE5: case 0xE6: case 0xE7: case 0xE8: case 0xE9: case 0xEA: case 0xEB: case 0xEC: case 0xED: case 0xEE: case 0xEF: case 0xF0: case 0xF1: case 0xF2: case 0xF3: case 0xF4: case 0xF5: case 0xF6: case 0xF7: case 0xF8: case 0xF9: case 0xFA: case 0xFB: case 0xFC: case 0xFD: case 0xFE: case 0xFF: return sax->number_integer(static_cast(current)); default: // anything else { auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, "error reading MessagePack; last byte: 0x" + last_token)); } } } /*! @param[in] get_char whether a new character should be retrieved from the input (true, default) or whether the last read character should be considered instead @return whether a valid UBJSON value was passed to the SAX parser */ bool parse_ubjson_internal(const bool get_char = true) { return get_ubjson_value(get_char ? get_ignore_noop() : current); } /*! @brief get next character from the input This function provides the interface to the used input adapter. It does not throw in case the input reached EOF, but returns a -'ve valued `std::char_traits::eof()` in that case. @return character read from the input */ int get() { ++chars_read; return (current = ia->get_character()); } /*! @return character read from the input after ignoring all 'N' entries */ int get_ignore_noop() { do { get(); } while (current == 'N'); return current; } /* @brief read a number from the input @tparam NumberType the type of the number @param[out] result number of type @a NumberType @return whether conversion completed @note This function needs to respect the system's endianess, because bytes in CBOR, MessagePack, and UBJSON are stored in network order (big endian) and therefore need reordering on little endian systems. */ template bool get_number(NumberType& result) { // step 1: read input into array with system's byte order std::array vec; for (std::size_t i = 0; i < sizeof(NumberType); ++i) { get(); if (JSON_UNLIKELY(not unexpect_eof())) { return false; } // reverse byte order prior to conversion if necessary if (is_little_endian) { vec[sizeof(NumberType) - i - 1] = static_cast(current); } else { vec[i] = static_cast(current); // LCOV_EXCL_LINE } } // step 2: convert array into number of type T and return std::memcpy(&result, vec.data(), sizeof(NumberType)); return true; } /*! @brief create a string by reading characters from the input @tparam NumberType the type of the number @param[in] len number of characters to read @param[out] string created by reading @a len bytes @return whether string creation completed @note We can not reserve @a len bytes for the result, because @a len may be too large. Usually, @ref unexpect_eof() detects the end of the input before we run out of string memory. */ template bool get_string(const NumberType len, string_t& result) { bool success = true; std::generate_n(std::back_inserter(result), len, [this, &success]() { get(); if (JSON_UNLIKELY(not unexpect_eof())) { success = false; } return static_cast(current); }); return success; } /*! @brief reads a CBOR string This function first reads starting bytes to determine the expected string length and then copies this number of bytes into a string. Additionally, CBOR's strings with indefinite lengths are supported. @param[out] result created string @return whether string creation completed */ bool get_cbor_string(string_t& result) { if (JSON_UNLIKELY(not unexpect_eof())) { return false; } switch (current) { // UTF-8 string (0x00..0x17 bytes follow) case 0x60: case 0x61: case 0x62: case 0x63: case 0x64: case 0x65: case 0x66: case 0x67: case 0x68: case 0x69: case 0x6A: case 0x6B: case 0x6C: case 0x6D: case 0x6E: case 0x6F: case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: { return get_string(current & 0x1F, result); } case 0x78: // UTF-8 string (one-byte uint8_t for n follows) { uint8_t len; return get_number(len) and get_string(len, result); } case 0x79: // UTF-8 string (two-byte uint16_t for n follow) { uint16_t len; return get_number(len) and get_string(len, result); } case 0x7A: // UTF-8 string (four-byte uint32_t for n follow) { uint32_t len; return get_number(len) and get_string(len, result); } case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow) { uint64_t len; return get_number(len) and get_string(len, result); } case 0x7F: // UTF-8 string (indefinite length) { while (get() != 0xFF) { string_t chunk; if (not get_cbor_string(chunk)) { return false; } result.append(chunk); } return true; } default: { auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, "expected a CBOR string; last byte: 0x" + last_token)); } } } /*! @param[in] len the length of the array or std::size_t(-1) for an array of indefinite size @return whether array creation completed */ bool get_cbor_array(const std::size_t len) { if (JSON_UNLIKELY(not sax->start_array(len))) { return false; } if (len != std::size_t(-1)) for (std::size_t i = 0; i < len; ++i) { if (JSON_UNLIKELY(not parse_cbor_internal())) { return false; } } else { while (get() != 0xFF) { if (JSON_UNLIKELY(not parse_cbor_internal(false))) { return false; } } } return sax->end_array(); } /*! @param[in] len the length of the object or std::size_t(-1) for an object of indefinite size @return whether object creation completed */ bool get_cbor_object(const std::size_t len) { if (not JSON_UNLIKELY(sax->start_object(len))) { return false; } string_t key; if (len != std::size_t(-1)) { for (std::size_t i = 0; i < len; ++i) { get(); if (JSON_UNLIKELY(not get_cbor_string(key) or not sax->key(key))) { return false; } if (JSON_UNLIKELY(not parse_cbor_internal())) { return false; } key.clear(); } } else { while (get() != 0xFF) { if (JSON_UNLIKELY(not get_cbor_string(key) or not sax->key(key))) { return false; } if (JSON_UNLIKELY(not parse_cbor_internal())) { return false; } key.clear(); } } return sax->end_object(); } /*! @brief reads a MessagePack string This function first reads starting bytes to determine the expected string length and then copies this number of bytes into a string. @param[out] result created string @return whether string creation completed */ bool get_msgpack_string(string_t& result) { if (JSON_UNLIKELY(not unexpect_eof())) { return false; } switch (current) { // fixstr case 0xA0: case 0xA1: case 0xA2: case 0xA3: case 0xA4: case 0xA5: case 0xA6: case 0xA7: case 0xA8: case 0xA9: case 0xAA: case 0xAB: case 0xAC: case 0xAD: case 0xAE: case 0xAF: case 0xB0: case 0xB1: case 0xB2: case 0xB3: case 0xB4: case 0xB5: case 0xB6: case 0xB7: case 0xB8: case 0xB9: case 0xBA: case 0xBB: case 0xBC: case 0xBD: case 0xBE: case 0xBF: { return get_string(current & 0x1F, result); } case 0xD9: // str 8 { uint8_t len; return get_number(len) and get_string(len, result); } case 0xDA: // str 16 { uint16_t len; return get_number(len) and get_string(len, result); } case 0xDB: // str 32 { uint32_t len; return get_number(len) and get_string(len, result); } default: { auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, "expected a MessagePack string; last byte: 0x" + last_token)); } } } /*! @param[in] len the length of the array @return whether array creation completed */ bool get_msgpack_array(const std::size_t len) { if (JSON_UNLIKELY(not sax->start_array(len))) { return false; } for (std::size_t i = 0; i < len; ++i) { if (JSON_UNLIKELY(not parse_msgpack_internal())) { return false; } } return sax->end_array(); } /*! @param[in] len the length of the object @return whether object creation completed */ bool get_msgpack_object(const std::size_t len) { if (JSON_UNLIKELY(not sax->start_object(len))) { return false; } string_t key; for (std::size_t i = 0; i < len; ++i) { get(); if (JSON_UNLIKELY(not get_msgpack_string(key) or not sax->key(key))) { return false; } if (JSON_UNLIKELY(not parse_msgpack_internal())) { return false; } key.clear(); } return sax->end_object(); } /*! @brief reads a UBJSON string This function is either called after reading the 'S' byte explicitly indicating a string, or in case of an object key where the 'S' byte can be left out. @param[out] result created string @param[in] get_char whether a new character should be retrieved from the input (true, default) or whether the last read character should be considered instead @return whether string creation completed */ bool get_ubjson_string(string_t& result, const bool get_char = true) { if (get_char) { get(); // TODO: may we ignore N here? } if (JSON_UNLIKELY(not unexpect_eof())) { return false; } switch (current) { case 'U': { uint8_t len; return get_number(len) and get_string(len, result); } case 'i': { int8_t len; return get_number(len) and get_string(len, result); } case 'I': { int16_t len; return get_number(len) and get_string(len, result); } case 'l': { int32_t len; return get_number(len) and get_string(len, result); } case 'L': { int64_t len; return get_number(len) and get_string(len, result); } default: auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, "expected a UBJSON string; last byte: 0x" + last_token)); } } /*! @param[out] result determined size @return whether size determination completed */ bool get_ubjson_size_value(std::size_t& result) { switch (get_ignore_noop()) { case 'U': { uint8_t number; if (JSON_UNLIKELY(not get_number(number))) { return false; } result = static_cast(number); return true; } case 'i': { int8_t number; if (JSON_UNLIKELY(not get_number(number))) { return false; } result = static_cast(number); return true; } case 'I': { int16_t number; if (JSON_UNLIKELY(not get_number(number))) { return false; } result = static_cast(number); return true; } case 'l': { int32_t number; if (JSON_UNLIKELY(not get_number(number))) { return false; } result = static_cast(number); return true; } case 'L': { int64_t number; if (JSON_UNLIKELY(not get_number(number))) { return false; } result = static_cast(number); return true; } default: { auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, "byte after '#' must denote a number type; last byte: 0x" + last_token)); } } } /*! @brief determine the type and size for a container In the optimized UBJSON format, a type and a size can be provided to allow for a more compact representation. @param[out] result pair of the size and the type @return whether pair creation completed */ bool get_ubjson_size_type(std::pair& result) { result.first = string_t::npos; // size result.second = 0; // type get_ignore_noop(); if (current == '$') { result.second = get(); // must not ignore 'N', because 'N' maybe the type if (JSON_UNLIKELY(not unexpect_eof())) { return false; } get_ignore_noop(); if (JSON_UNLIKELY(current != '#')) { if (JSON_UNLIKELY(not unexpect_eof())) { return false; } auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, "expected '#' after UBJSON type information; last byte: 0x" + last_token)); } return get_ubjson_size_value(result.first); } else if (current == '#') { return get_ubjson_size_value(result.first); } return true; } /*! @param prefix the previously read or set type prefix @return whether value creation completed */ bool get_ubjson_value(const int prefix) { switch (prefix) { case std::char_traits::eof(): // EOF return unexpect_eof(); case 'T': // true return sax->boolean(true); case 'F': // false return sax->boolean(false); case 'Z': // null return sax->null(); case 'U': { uint8_t number; return get_number(number) and sax->number_unsigned(number); } case 'i': { int8_t number; return get_number(number) and sax->number_integer(number); } case 'I': { int16_t number; return get_number(number) and sax->number_integer(number); } case 'l': { int32_t number; return get_number(number) and sax->number_integer(number); } case 'L': { int64_t number; return get_number(number) and sax->number_integer(number); } case 'd': { float number; return get_number(number) and sax->number_float(static_cast(number), ""); } case 'D': { double number; return get_number(number) and sax->number_float(static_cast(number), ""); } case 'C': // char { get(); if (JSON_UNLIKELY(not unexpect_eof())) { return false; } if (JSON_UNLIKELY(current > 127)) { auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + last_token)); } string_t s(1, static_cast(current)); return sax->string(s); } case 'S': // string { string_t s; return get_ubjson_string(s) and sax->string(s); } case '[': // array return get_ubjson_array(); case '{': // object return get_ubjson_object(); default: // anything else { auto last_token = get_token_string(); return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, "error reading UBJSON; last byte: 0x" + last_token)); } } } /*! @return whether array creation completed */ bool get_ubjson_array() { std::pair size_and_type; if (JSON_UNLIKELY(not get_ubjson_size_type(size_and_type))) { return false; } if (size_and_type.first != string_t::npos) { if (JSON_UNLIKELY(not sax->start_array(size_and_type.first))) { return false; } if (size_and_type.second != 0) { if (size_and_type.second != 'N') { for (std::size_t i = 0; i < size_and_type.first; ++i) { if (JSON_UNLIKELY(not get_ubjson_value(size_and_type.second))) { return false; } } } } else { for (std::size_t i = 0; i < size_and_type.first; ++i) { if (JSON_UNLIKELY(not parse_ubjson_internal())) { return false; } } } } else { if (JSON_UNLIKELY(not sax->start_array(std::size_t(-1)))) { return false; } while (current != ']') { if (JSON_UNLIKELY(not parse_ubjson_internal(false))) { return false; } get_ignore_noop(); } } return sax->end_array(); } /*! @return whether object creation completed */ bool get_ubjson_object() { std::pair size_and_type; if (JSON_UNLIKELY(not get_ubjson_size_type(size_and_type))) { return false; } string_t key; if (size_and_type.first != string_t::npos) { if (JSON_UNLIKELY(not sax->start_object(size_and_type.first))) { return false; } if (size_and_type.second != 0) { for (std::size_t i = 0; i < size_and_type.first; ++i) { if (JSON_UNLIKELY(not get_ubjson_string(key) or not sax->key(key))) { return false; } if (JSON_UNLIKELY(not get_ubjson_value(size_and_type.second))) { return false; } key.clear(); } } else { for (std::size_t i = 0; i < size_and_type.first; ++i) { if (JSON_UNLIKELY(not get_ubjson_string(key) or not sax->key(key))) { return false; } if (JSON_UNLIKELY(not parse_ubjson_internal())) { return false; } key.clear(); } } } else { if (JSON_UNLIKELY(not sax->start_object(std::size_t(-1)))) { return false; } while (current != '}') { if (JSON_UNLIKELY(not get_ubjson_string(key, false) or not sax->key(key))) { return false; } if (JSON_UNLIKELY(not parse_ubjson_internal())) { return false; } get_ignore_noop(); key.clear(); } } return sax->end_object(); } /*! @return whether the last read character is not EOF */ bool unexpect_eof() const { if (JSON_UNLIKELY(current == std::char_traits::eof())) { return sax->parse_error(chars_read, "", parse_error::create(110, chars_read, "unexpected end of input")); } return true; } /*! @return a string representation of the last read byte */ std::string get_token_string() const { char cr[3]; snprintf(cr, 3, "%.2hhX", static_cast(current)); return std::string{cr}; } private: /// input adapter input_adapter_t ia = nullptr; /// the current character int current = std::char_traits::eof(); /// the number of characters read std::size_t chars_read = 0; /// whether we can assume little endianess const bool is_little_endian = little_endianess(); /// the SAX parser json_sax_t* sax = nullptr; }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/input/input_adapters.hpp000066400000000000000000000317451360735163600264440ustar00rootroot00000000000000#pragma once #include // assert #include // size_t #include // strlen #include // istream #include // begin, end, iterator_traits, random_access_iterator_tag, distance, next #include // shared_ptr, make_shared, addressof #include // accumulate #include // string, char_traits #include // enable_if, is_base_of, is_pointer, is_integral, remove_pointer #include // pair, declval #include namespace nlohmann { namespace detail { /// the supported input formats enum class input_format_t { json, cbor, msgpack, ubjson }; //////////////////// // input adapters // //////////////////// /*! @brief abstract input adapter interface Produces a stream of std::char_traits::int_type characters from a std::istream, a buffer, or some other input type. Accepts the return of exactly one non-EOF character for future input. The int_type characters returned consist of all valid char values as positive values (typically unsigned char), plus an EOF value outside that range, specified by the value of the function std::char_traits::eof(). This value is typically -1, but could be any arbitrary value which is not a valid char value. */ struct input_adapter_protocol { /// get a character [0,255] or std::char_traits::eof(). virtual std::char_traits::int_type get_character() = 0; virtual ~input_adapter_protocol() = default; }; /// a type to simplify interfaces using input_adapter_t = std::shared_ptr; /*! Input adapter for a (caching) istream. Ignores a UFT Byte Order Mark at beginning of input. Does not support changing the underlying std::streambuf in mid-input. Maintains underlying std::istream and std::streambuf to support subsequent use of standard std::istream operations to process any input characters following those used in parsing the JSON input. Clears the std::istream flags; any input errors (e.g., EOF) will be detected by the first subsequent call for input from the std::istream. */ class input_stream_adapter : public input_adapter_protocol { public: ~input_stream_adapter() override { // clear stream flags; we use underlying streambuf I/O, do not // maintain ifstream flags is.clear(); } explicit input_stream_adapter(std::istream& i) : is(i), sb(*i.rdbuf()) {} // delete because of pointer members input_stream_adapter(const input_stream_adapter&) = delete; input_stream_adapter& operator=(input_stream_adapter&) = delete; // std::istream/std::streambuf use std::char_traits::to_int_type, to // ensure that std::char_traits::eof() and the character 0xFF do not // end up as the same value, eg. 0xFFFFFFFF. std::char_traits::int_type get_character() override { return sb.sbumpc(); } private: /// the associated input stream std::istream& is; std::streambuf& sb; }; /// input adapter for buffer input class input_buffer_adapter : public input_adapter_protocol { public: input_buffer_adapter(const char* b, const std::size_t l) : cursor(b), limit(b + l) {} // delete because of pointer members input_buffer_adapter(const input_buffer_adapter&) = delete; input_buffer_adapter& operator=(input_buffer_adapter&) = delete; std::char_traits::int_type get_character() noexcept override { if (JSON_LIKELY(cursor < limit)) { return std::char_traits::to_int_type(*(cursor++)); } return std::char_traits::eof(); } private: /// pointer to the current character const char* cursor; /// pointer past the last character const char* const limit; }; template struct wide_string_input_helper { // UTF-32 static void fill_buffer(const WideStringType& str, size_t& current_wchar, std::array::int_type, 4>& utf8_bytes, size_t& utf8_bytes_index, size_t& utf8_bytes_filled) { utf8_bytes_index = 0; if (current_wchar == str.size()) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; } else { // get the current character const int wc = static_cast(str[current_wchar++]); // UTF-32 to UTF-8 encoding if (wc < 0x80) { utf8_bytes[0] = wc; utf8_bytes_filled = 1; } else if (wc <= 0x7FF) { utf8_bytes[0] = 0xC0 | ((wc >> 6) & 0x1F); utf8_bytes[1] = 0x80 | (wc & 0x3F); utf8_bytes_filled = 2; } else if (wc <= 0xFFFF) { utf8_bytes[0] = 0xE0 | ((wc >> 12) & 0x0F); utf8_bytes[1] = 0x80 | ((wc >> 6) & 0x3F); utf8_bytes[2] = 0x80 | (wc & 0x3F); utf8_bytes_filled = 3; } else if (wc <= 0x10FFFF) { utf8_bytes[0] = 0xF0 | ((wc >> 18) & 0x07); utf8_bytes[1] = 0x80 | ((wc >> 12) & 0x3F); utf8_bytes[2] = 0x80 | ((wc >> 6) & 0x3F); utf8_bytes[3] = 0x80 | (wc & 0x3F); utf8_bytes_filled = 4; } else { // unknown character utf8_bytes[0] = wc; utf8_bytes_filled = 1; } } } }; template struct wide_string_input_helper { // UTF-16 static void fill_buffer(const WideStringType& str, size_t& current_wchar, std::array::int_type, 4>& utf8_bytes, size_t& utf8_bytes_index, size_t& utf8_bytes_filled) { utf8_bytes_index = 0; if (current_wchar == str.size()) { utf8_bytes[0] = std::char_traits::eof(); utf8_bytes_filled = 1; } else { // get the current character const int wc = static_cast(str[current_wchar++]); // UTF-16 to UTF-8 encoding if (wc < 0x80) { utf8_bytes[0] = wc; utf8_bytes_filled = 1; } else if (wc <= 0x7FF) { utf8_bytes[0] = 0xC0 | ((wc >> 6)); utf8_bytes[1] = 0x80 | (wc & 0x3F); utf8_bytes_filled = 2; } else if (0xD800 > wc or wc >= 0xE000) { utf8_bytes[0] = 0xE0 | ((wc >> 12)); utf8_bytes[1] = 0x80 | ((wc >> 6) & 0x3F); utf8_bytes[2] = 0x80 | (wc & 0x3F); utf8_bytes_filled = 3; } else { if (current_wchar < str.size()) { const int wc2 = static_cast(str[current_wchar++]); const int charcode = 0x10000 + (((wc & 0x3FF) << 10) | (wc2 & 0x3FF)); utf8_bytes[0] = 0xf0 | (charcode >> 18); utf8_bytes[1] = 0x80 | ((charcode >> 12) & 0x3F); utf8_bytes[2] = 0x80 | ((charcode >> 6) & 0x3F); utf8_bytes[3] = 0x80 | (charcode & 0x3F); utf8_bytes_filled = 4; } else { // unknown character ++current_wchar; utf8_bytes[0] = wc; utf8_bytes_filled = 1; } } } } }; template class wide_string_input_adapter : public input_adapter_protocol { public: explicit wide_string_input_adapter(const WideStringType& w) : str(w) {} std::char_traits::int_type get_character() noexcept override { // check if buffer needs to be filled if (utf8_bytes_index == utf8_bytes_filled) { fill_buffer(); assert(utf8_bytes_filled > 0); assert(utf8_bytes_index == 0); } // use buffer assert(utf8_bytes_filled > 0); assert(utf8_bytes_index < utf8_bytes_filled); return utf8_bytes[utf8_bytes_index++]; } private: template void fill_buffer() { wide_string_input_helper::fill_buffer(str, current_wchar, utf8_bytes, utf8_bytes_index, utf8_bytes_filled); } /// the wstring to process const WideStringType& str; /// index of the current wchar in str std::size_t current_wchar = 0; /// a buffer for UTF-8 bytes std::array::int_type, 4> utf8_bytes = {{0, 0, 0, 0}}; /// index to the utf8_codes array for the next valid byte std::size_t utf8_bytes_index = 0; /// number of valid bytes in the utf8_codes array std::size_t utf8_bytes_filled = 0; }; class input_adapter { public: // native support /// input adapter for input stream input_adapter(std::istream& i) : ia(std::make_shared(i)) {} /// input adapter for input stream input_adapter(std::istream&& i) : ia(std::make_shared(i)) {} input_adapter(const std::wstring& ws) : ia(std::make_shared>(ws)) {} input_adapter(const std::u16string& ws) : ia(std::make_shared>(ws)) {} input_adapter(const std::u32string& ws) : ia(std::make_shared>(ws)) {} /// input adapter for buffer template::value and std::is_integral::type>::value and sizeof(typename std::remove_pointer::type) == 1, int>::type = 0> input_adapter(CharT b, std::size_t l) : ia(std::make_shared(reinterpret_cast(b), l)) {} // derived support /// input adapter for string literal template::value and std::is_integral::type>::value and sizeof(typename std::remove_pointer::type) == 1, int>::type = 0> input_adapter(CharT b) : input_adapter(reinterpret_cast(b), std::strlen(reinterpret_cast(b))) {} /// input adapter for iterator range with contiguous storage template::iterator_category, std::random_access_iterator_tag>::value, int>::type = 0> input_adapter(IteratorType first, IteratorType last) { #ifndef NDEBUG // assertion to check that the iterator range is indeed contiguous, // see http://stackoverflow.com/a/35008842/266378 for more discussion const auto is_contiguous = std::accumulate( first, last, std::pair(true, 0), [&first](std::pair res, decltype(*first) val) { res.first &= (val == *(std::next(std::addressof(*first), res.second++))); return res; }).first; assert(is_contiguous); #endif // assertion to check that each element is 1 byte long static_assert( sizeof(typename std::iterator_traits::value_type) == 1, "each element in the iterator range must have the size of 1 byte"); const auto len = static_cast(std::distance(first, last)); if (JSON_LIKELY(len > 0)) { // there is at least one element: use the address of first ia = std::make_shared(reinterpret_cast(&(*first)), len); } else { // the address of first cannot be used: use nullptr ia = std::make_shared(nullptr, len); } } /// input adapter for array template input_adapter(T (&array)[N]) : input_adapter(std::begin(array), std::end(array)) {} /// input adapter for contiguous container template::value and std::is_base_of()))>::iterator_category>::value, int>::type = 0> input_adapter(const ContiguousContainer& c) : input_adapter(std::begin(c), std::end(c)) {} operator input_adapter_t() { return ia; } private: /// the actual adapter input_adapter_t ia = nullptr; }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/input/json_sax.hpp000066400000000000000000000471531360735163600252460ustar00rootroot00000000000000#pragma once #include #include #include #include #include namespace nlohmann { /*! @brief SAX interface This class describes the SAX interface used by @ref nlohmann::json::sax_parse. Each function is called in different situations while the input is parsed. The boolean return value informs the parser whether to continue processing the input. */ template struct json_sax { /// type for (signed) integers using number_integer_t = typename BasicJsonType::number_integer_t; /// type for unsigned integers using number_unsigned_t = typename BasicJsonType::number_unsigned_t; /// type for floating-point numbers using number_float_t = typename BasicJsonType::number_float_t; /// type for strings using string_t = typename BasicJsonType::string_t; /*! @brief a null value was read @return whether parsing should proceed */ virtual bool null() = 0; /*! @brief a boolean value was read @param[in] val boolean value @return whether parsing should proceed */ virtual bool boolean(bool val) = 0; /*! @brief an integer number was read @param[in] val integer value @return whether parsing should proceed */ virtual bool number_integer(number_integer_t val) = 0; /*! @brief an unsigned integer number was read @param[in] val unsigned integer value @return whether parsing should proceed */ virtual bool number_unsigned(number_unsigned_t val) = 0; /*! @brief an floating-point number was read @param[in] val floating-point value @param[in] s raw token value @return whether parsing should proceed */ virtual bool number_float(number_float_t val, const string_t& s) = 0; /*! @brief a string was read @param[in] val string value @return whether parsing should proceed @note It is safe to move the passed string. */ virtual bool string(string_t& val) = 0; /*! @brief the beginning of an object was read @param[in] elements number of object elements or -1 if unknown @return whether parsing should proceed @note binary formats may report the number of elements */ virtual bool start_object(std::size_t elements) = 0; /*! @brief an object key was read @param[in] val object key @return whether parsing should proceed @note It is safe to move the passed string. */ virtual bool key(string_t& val) = 0; /*! @brief the end of an object was read @return whether parsing should proceed */ virtual bool end_object() = 0; /*! @brief the beginning of an array was read @param[in] elements number of array elements or -1 if unknown @return whether parsing should proceed @note binary formats may report the number of elements */ virtual bool start_array(std::size_t elements) = 0; /*! @brief the end of an array was read @return whether parsing should proceed */ virtual bool end_array() = 0; /*! @brief a parse error occurred @param[in] position the position in the input where the error occurs @param[in] last_token the last read token @param[in] error_msg a detailed error message @return whether parsing should proceed (must return false) */ virtual bool parse_error(std::size_t position, const std::string& last_token, const detail::exception& ex) = 0; virtual ~json_sax() = default; }; namespace detail { /*! @brief SAX implementation to create a JSON value from SAX events This class implements the @ref json_sax interface and processes the SAX events to create a JSON value which makes it basically a DOM parser. The structure or hierarchy of the JSON value is managed by the stack `ref_stack` which contains a pointer to the respective array or object for each recursion depth. After successful parsing, the value that is passed by reference to the constructor contains the parsed value. @tparam BasicJsonType the JSON type */ template class json_sax_dom_parser { public: using number_integer_t = typename BasicJsonType::number_integer_t; using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; /*! @param[in, out] r reference to a JSON value that is manipulated while parsing @param[in] allow_exceptions_ whether parse errors yield exceptions */ explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true) : root(r), allow_exceptions(allow_exceptions_) {} bool null() { handle_value(nullptr); return true; } bool boolean(bool val) { handle_value(val); return true; } bool number_integer(number_integer_t val) { handle_value(val); return true; } bool number_unsigned(number_unsigned_t val) { handle_value(val); return true; } bool number_float(number_float_t val, const string_t&) { handle_value(val); return true; } bool string(string_t& val) { handle_value(val); return true; } bool start_object(std::size_t len) { ref_stack.push_back(handle_value(BasicJsonType::value_t::object)); if (JSON_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len))); } return true; } bool key(string_t& val) { // add null at given key and store the reference for later object_element = &(ref_stack.back()->m_value.object->operator[](val)); return true; } bool end_object() { ref_stack.pop_back(); return true; } bool start_array(std::size_t len) { ref_stack.push_back(handle_value(BasicJsonType::value_t::array)); if (JSON_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len))); } return true; } bool end_array() { ref_stack.pop_back(); return true; } bool parse_error(std::size_t, const std::string&, const detail::exception& ex) { errored = true; if (allow_exceptions) { // determine the proper exception type from the id switch ((ex.id / 100) % 100) { case 1: JSON_THROW(*reinterpret_cast(&ex)); case 4: JSON_THROW(*reinterpret_cast(&ex)); // LCOV_EXCL_START case 2: JSON_THROW(*reinterpret_cast(&ex)); case 3: JSON_THROW(*reinterpret_cast(&ex)); case 5: JSON_THROW(*reinterpret_cast(&ex)); default: assert(false); // LCOV_EXCL_STOP } } return false; } constexpr bool is_errored() const { return errored; } private: /*! @invariant If the ref stack is empty, then the passed value will be the new root. @invariant If the ref stack contains a value, then it is an array or an object to which we can add elements */ template BasicJsonType* handle_value(Value&& v) { if (ref_stack.empty()) { root = BasicJsonType(std::forward(v)); return &root; } else { assert(ref_stack.back()->is_array() or ref_stack.back()->is_object()); if (ref_stack.back()->is_array()) { ref_stack.back()->m_value.array->emplace_back(std::forward(v)); return &(ref_stack.back()->m_value.array->back()); } else { assert(object_element); *object_element = BasicJsonType(std::forward(v)); return object_element; } } } /// the parsed JSON value BasicJsonType& root; /// stack to model hierarchy of values std::vector ref_stack; /// helper to hold the reference for the next object element BasicJsonType* object_element = nullptr; /// whether a syntax error occurred bool errored = false; /// whether to throw exceptions in case of errors const bool allow_exceptions = true; }; template class json_sax_dom_callback_parser { public: using number_integer_t = typename BasicJsonType::number_integer_t; using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; using parser_callback_t = typename BasicJsonType::parser_callback_t; using parse_event_t = typename BasicJsonType::parse_event_t; json_sax_dom_callback_parser(BasicJsonType& r, const parser_callback_t cb, const bool allow_exceptions_ = true) : root(r), callback(cb), allow_exceptions(allow_exceptions_) { keep_stack.push_back(true); } bool null() { handle_value(nullptr); return true; } bool boolean(bool val) { handle_value(val); return true; } bool number_integer(number_integer_t val) { handle_value(val); return true; } bool number_unsigned(number_unsigned_t val) { handle_value(val); return true; } bool number_float(number_float_t val, const string_t&) { handle_value(val); return true; } bool string(string_t& val) { handle_value(val); return true; } bool start_object(std::size_t len) { // check callback for object start const bool keep = callback(static_cast(ref_stack.size()), parse_event_t::object_start, discarded); keep_stack.push_back(keep); auto val = handle_value(BasicJsonType::value_t::object, true); ref_stack.push_back(val.second); // check object limit if (ref_stack.back()) { if (JSON_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len))); } } return true; } bool key(string_t& val) { BasicJsonType k = BasicJsonType(val); // check callback for key const bool keep = callback(static_cast(ref_stack.size()), parse_event_t::key, k); key_keep_stack.push_back(keep); // add discarded value at given key and store the reference for later if (keep and ref_stack.back()) { object_element = &(ref_stack.back()->m_value.object->operator[](val) = discarded); } return true; } bool end_object() { if (ref_stack.back()) { if (not callback(static_cast(ref_stack.size()) - 1, parse_event_t::object_end, *ref_stack.back())) { // discard object *ref_stack.back() = discarded; } } assert(not ref_stack.empty()); assert(not keep_stack.empty()); ref_stack.pop_back(); keep_stack.pop_back(); if (not ref_stack.empty() and ref_stack.back()) { // remove discarded value if (ref_stack.back()->is_object()) { for (auto it = ref_stack.back()->begin(); it != ref_stack.back()->end(); ++it) { if (it->is_discarded()) { ref_stack.back()->erase(it); break; } } } } return true; } bool start_array(std::size_t len) { const bool keep = callback(static_cast(ref_stack.size()), parse_event_t::array_start, discarded); keep_stack.push_back(keep); auto val = handle_value(BasicJsonType::value_t::array, true); ref_stack.push_back(val.second); // check array limit if (ref_stack.back()) { if (JSON_UNLIKELY(len != std::size_t(-1) and len > ref_stack.back()->max_size())) { JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len))); } } return true; } bool end_array() { bool keep = true; if (ref_stack.back()) { keep = callback(static_cast(ref_stack.size()) - 1, parse_event_t::array_end, *ref_stack.back()); if (not keep) { // discard array *ref_stack.back() = discarded; } } assert(not ref_stack.empty()); assert(not keep_stack.empty()); ref_stack.pop_back(); keep_stack.pop_back(); // remove discarded value if (not keep and not ref_stack.empty()) { if (ref_stack.back()->is_array()) { ref_stack.back()->m_value.array->pop_back(); } } return true; } bool parse_error(std::size_t, const std::string&, const detail::exception& ex) { errored = true; if (allow_exceptions) { // determine the proper exception type from the id switch ((ex.id / 100) % 100) { case 1: JSON_THROW(*reinterpret_cast(&ex)); case 4: JSON_THROW(*reinterpret_cast(&ex)); // LCOV_EXCL_START case 2: JSON_THROW(*reinterpret_cast(&ex)); case 3: JSON_THROW(*reinterpret_cast(&ex)); case 5: JSON_THROW(*reinterpret_cast(&ex)); default: assert(false); // LCOV_EXCL_STOP } } return false; } constexpr bool is_errored() const { return errored; } private: /*! @param[in] v value to add to the JSON value we build during parsing @param[in] skip_callback whether we should skip calling the callback function; this is required after start_array() and start_object() SAX events, because otherwise we would call the callback function with an empty array or object, respectively. @invariant If the ref stack is empty, then the passed value will be the new root. @invariant If the ref stack contains a value, then it is an array or an object to which we can add elements @return pair of boolean (whether value should be kept) and pointer (to the passed value in the ref_stack hierarchy; nullptr if not kept) */ template std::pair handle_value(Value&& v, const bool skip_callback = false) { assert(not keep_stack.empty()); // do not handle this value if we know it would be added to a discarded // container if (not keep_stack.back()) { return {false, nullptr}; } // create value auto value = BasicJsonType(std::forward(v)); // check callback const bool keep = skip_callback or callback(static_cast(ref_stack.size()), parse_event_t::value, value); // do not handle this value if we just learnt it shall be discarded if (not keep) { return {false, nullptr}; } if (ref_stack.empty()) { root = std::move(value); return {true, &root}; } else { // skip this value if we already decided to skip the parent // (https://github.com/nlohmann/json/issues/971#issuecomment-413678360) if (not ref_stack.back()) { return {false, nullptr}; } assert(ref_stack.back()->is_array() or ref_stack.back()->is_object()); if (ref_stack.back()->is_array()) { ref_stack.back()->m_value.array->push_back(std::move(value)); return {true, &(ref_stack.back()->m_value.array->back())}; } else { // check if we should store an element for the current key assert(not key_keep_stack.empty()); const bool store_element = key_keep_stack.back(); key_keep_stack.pop_back(); if (not store_element) { return {false, nullptr}; } assert(object_element); *object_element = std::move(value); return {true, object_element}; } } } /// the parsed JSON value BasicJsonType& root; /// stack to model hierarchy of values std::vector ref_stack; /// stack to manage which values to keep std::vector keep_stack; /// stack to manage which object keys to keep std::vector key_keep_stack; /// helper to hold the reference for the next object element BasicJsonType* object_element = nullptr; /// whether a syntax error occurred bool errored = false; /// callback function const parser_callback_t callback = nullptr; /// whether to throw exceptions in case of errors const bool allow_exceptions = true; /// a discarded value for the callback BasicJsonType discarded = BasicJsonType::value_t::discarded; }; template class json_sax_acceptor { public: using number_integer_t = typename BasicJsonType::number_integer_t; using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; bool null() { return true; } bool boolean(bool) { return true; } bool number_integer(number_integer_t) { return true; } bool number_unsigned(number_unsigned_t) { return true; } bool number_float(number_float_t, const string_t&) { return true; } bool string(string_t&) { return true; } bool start_object(std::size_t = std::size_t(-1)) { return true; } bool key(string_t&) { return true; } bool end_object() { return true; } bool start_array(std::size_t = std::size_t(-1)) { return true; } bool end_array() { return true; } bool parse_error(std::size_t, const std::string&, const detail::exception&) { return false; } }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/input/lexer.hpp000066400000000000000000001217051360735163600245350ustar00rootroot00000000000000#pragma once #include // localeconv #include // size_t #include // strtof, strtod, strtold, strtoll, strtoull #include // snprintf #include // initializer_list #include // char_traits, string #include // vector #include #include namespace nlohmann { namespace detail { /////////// // lexer // /////////// /*! @brief lexical analysis This class organizes the lexical analysis during JSON deserialization. */ template class lexer { using number_integer_t = typename BasicJsonType::number_integer_t; using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; public: /// token types for the parser enum class token_type { uninitialized, ///< indicating the scanner is uninitialized literal_true, ///< the `true` literal literal_false, ///< the `false` literal literal_null, ///< the `null` literal value_string, ///< a string -- use get_string() for actual value value_unsigned, ///< an unsigned integer -- use get_number_unsigned() for actual value value_integer, ///< a signed integer -- use get_number_integer() for actual value value_float, ///< an floating point number -- use get_number_float() for actual value begin_array, ///< the character for array begin `[` begin_object, ///< the character for object begin `{` end_array, ///< the character for array end `]` end_object, ///< the character for object end `}` name_separator, ///< the name separator `:` value_separator, ///< the value separator `,` parse_error, ///< indicating a parse error end_of_input, ///< indicating the end of the input buffer literal_or_value ///< a literal or the begin of a value (only for diagnostics) }; /// return name of values of type token_type (only used for errors) static const char* token_type_name(const token_type t) noexcept { switch (t) { case token_type::uninitialized: return ""; case token_type::literal_true: return "true literal"; case token_type::literal_false: return "false literal"; case token_type::literal_null: return "null literal"; case token_type::value_string: return "string literal"; case lexer::token_type::value_unsigned: case lexer::token_type::value_integer: case lexer::token_type::value_float: return "number literal"; case token_type::begin_array: return "'['"; case token_type::begin_object: return "'{'"; case token_type::end_array: return "']'"; case token_type::end_object: return "'}'"; case token_type::name_separator: return "':'"; case token_type::value_separator: return "','"; case token_type::parse_error: return ""; case token_type::end_of_input: return "end of input"; case token_type::literal_or_value: return "'[', '{', or a literal"; // LCOV_EXCL_START default: // catch non-enum values return "unknown token"; // LCOV_EXCL_STOP } } explicit lexer(detail::input_adapter_t&& adapter) : ia(std::move(adapter)), decimal_point_char(get_decimal_point()) {} // delete because of pointer members lexer(const lexer&) = delete; lexer& operator=(lexer&) = delete; private: ///////////////////// // locales ///////////////////// /// return the locale-dependent decimal point static char get_decimal_point() noexcept { const auto loc = localeconv(); assert(loc != nullptr); return (loc->decimal_point == nullptr) ? '.' : *(loc->decimal_point); } ///////////////////// // scan functions ///////////////////// /*! @brief get codepoint from 4 hex characters following `\u` For input "\u c1 c2 c3 c4" the codepoint is: (c1 * 0x1000) + (c2 * 0x0100) + (c3 * 0x0010) + c4 = (c1 << 12) + (c2 << 8) + (c3 << 4) + (c4 << 0) Furthermore, the possible characters '0'..'9', 'A'..'F', and 'a'..'f' must be converted to the integers 0x0..0x9, 0xA..0xF, 0xA..0xF, resp. The conversion is done by subtracting the offset (0x30, 0x37, and 0x57) between the ASCII value of the character and the desired integer value. @return codepoint (0x0000..0xFFFF) or -1 in case of an error (e.g. EOF or non-hex character) */ int get_codepoint() { // this function only makes sense after reading `\u` assert(current == 'u'); int codepoint = 0; const auto factors = { 12, 8, 4, 0 }; for (const auto factor : factors) { get(); if (current >= '0' and current <= '9') { codepoint += ((current - 0x30) << factor); } else if (current >= 'A' and current <= 'F') { codepoint += ((current - 0x37) << factor); } else if (current >= 'a' and current <= 'f') { codepoint += ((current - 0x57) << factor); } else { return -1; } } assert(0x0000 <= codepoint and codepoint <= 0xFFFF); return codepoint; } /*! @brief check if the next byte(s) are inside a given range Adds the current byte and, for each passed range, reads a new byte and checks if it is inside the range. If a violation was detected, set up an error message and return false. Otherwise, return true. @param[in] ranges list of integers; interpreted as list of pairs of inclusive lower and upper bound, respectively @pre The passed list @a ranges must have 2, 4, or 6 elements; that is, 1, 2, or 3 pairs. This precondition is enforced by an assertion. @return true if and only if no range violation was detected */ bool next_byte_in_range(std::initializer_list ranges) { assert(ranges.size() == 2 or ranges.size() == 4 or ranges.size() == 6); add(current); for (auto range = ranges.begin(); range != ranges.end(); ++range) { get(); if (JSON_LIKELY(*range <= current and current <= *(++range))) { add(current); } else { error_message = "invalid string: ill-formed UTF-8 byte"; return false; } } return true; } /*! @brief scan a string literal This function scans a string according to Sect. 7 of RFC 7159. While scanning, bytes are escaped and copied into buffer token_buffer. Then the function returns successfully, token_buffer is *not* null-terminated (as it may contain \0 bytes), and token_buffer.size() is the number of bytes in the string. @return token_type::value_string if string could be successfully scanned, token_type::parse_error otherwise @note In case of errors, variable error_message contains a textual description. */ token_type scan_string() { // reset token_buffer (ignore opening quote) reset(); // we entered the function by reading an open quote assert(current == '\"'); while (true) { // get next character switch (get()) { // end of file while parsing string case std::char_traits::eof(): { error_message = "invalid string: missing closing quote"; return token_type::parse_error; } // closing quote case '\"': { return token_type::value_string; } // escapes case '\\': { switch (get()) { // quotation mark case '\"': add('\"'); break; // reverse solidus case '\\': add('\\'); break; // solidus case '/': add('/'); break; // backspace case 'b': add('\b'); break; // form feed case 'f': add('\f'); break; // line feed case 'n': add('\n'); break; // carriage return case 'r': add('\r'); break; // tab case 't': add('\t'); break; // unicode escapes case 'u': { const int codepoint1 = get_codepoint(); int codepoint = codepoint1; // start with codepoint1 if (JSON_UNLIKELY(codepoint1 == -1)) { error_message = "invalid string: '\\u' must be followed by 4 hex digits"; return token_type::parse_error; } // check if code point is a high surrogate if (0xD800 <= codepoint1 and codepoint1 <= 0xDBFF) { // expect next \uxxxx entry if (JSON_LIKELY(get() == '\\' and get() == 'u')) { const int codepoint2 = get_codepoint(); if (JSON_UNLIKELY(codepoint2 == -1)) { error_message = "invalid string: '\\u' must be followed by 4 hex digits"; return token_type::parse_error; } // check if codepoint2 is a low surrogate if (JSON_LIKELY(0xDC00 <= codepoint2 and codepoint2 <= 0xDFFF)) { // overwrite codepoint codepoint = // high surrogate occupies the most significant 22 bits (codepoint1 << 10) // low surrogate occupies the least significant 15 bits + codepoint2 // there is still the 0xD800, 0xDC00 and 0x10000 noise // in the result so we have to subtract with: // (0xD800 << 10) + DC00 - 0x10000 = 0x35FDC00 - 0x35FDC00; } else { error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF"; return token_type::parse_error; } } else { error_message = "invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF"; return token_type::parse_error; } } else { if (JSON_UNLIKELY(0xDC00 <= codepoint1 and codepoint1 <= 0xDFFF)) { error_message = "invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF"; return token_type::parse_error; } } // result of the above calculation yields a proper codepoint assert(0x00 <= codepoint and codepoint <= 0x10FFFF); // translate codepoint into bytes if (codepoint < 0x80) { // 1-byte characters: 0xxxxxxx (ASCII) add(codepoint); } else if (codepoint <= 0x7FF) { // 2-byte characters: 110xxxxx 10xxxxxx add(0xC0 | (codepoint >> 6)); add(0x80 | (codepoint & 0x3F)); } else if (codepoint <= 0xFFFF) { // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx add(0xE0 | (codepoint >> 12)); add(0x80 | ((codepoint >> 6) & 0x3F)); add(0x80 | (codepoint & 0x3F)); } else { // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx add(0xF0 | (codepoint >> 18)); add(0x80 | ((codepoint >> 12) & 0x3F)); add(0x80 | ((codepoint >> 6) & 0x3F)); add(0x80 | (codepoint & 0x3F)); } break; } // other characters after escape default: error_message = "invalid string: forbidden character after backslash"; return token_type::parse_error; } break; } // invalid control characters case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: case 0x08: case 0x09: case 0x0A: case 0x0B: case 0x0C: case 0x0D: case 0x0E: case 0x0F: case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: case 0x18: case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1E: case 0x1F: { error_message = "invalid string: control character must be escaped"; return token_type::parse_error; } // U+0020..U+007F (except U+0022 (quote) and U+005C (backspace)) case 0x20: case 0x21: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27: case 0x28: case 0x29: case 0x2A: case 0x2B: case 0x2C: case 0x2D: case 0x2E: case 0x2F: case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: case 0x3A: case 0x3B: case 0x3C: case 0x3D: case 0x3E: case 0x3F: case 0x40: case 0x41: case 0x42: case 0x43: case 0x44: case 0x45: case 0x46: case 0x47: case 0x48: case 0x49: case 0x4A: case 0x4B: case 0x4C: case 0x4D: case 0x4E: case 0x4F: case 0x50: case 0x51: case 0x52: case 0x53: case 0x54: case 0x55: case 0x56: case 0x57: case 0x58: case 0x59: case 0x5A: case 0x5B: case 0x5D: case 0x5E: case 0x5F: case 0x60: case 0x61: case 0x62: case 0x63: case 0x64: case 0x65: case 0x66: case 0x67: case 0x68: case 0x69: case 0x6A: case 0x6B: case 0x6C: case 0x6D: case 0x6E: case 0x6F: case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77: case 0x78: case 0x79: case 0x7A: case 0x7B: case 0x7C: case 0x7D: case 0x7E: case 0x7F: { add(current); break; } // U+0080..U+07FF: bytes C2..DF 80..BF case 0xC2: case 0xC3: case 0xC4: case 0xC5: case 0xC6: case 0xC7: case 0xC8: case 0xC9: case 0xCA: case 0xCB: case 0xCC: case 0xCD: case 0xCE: case 0xCF: case 0xD0: case 0xD1: case 0xD2: case 0xD3: case 0xD4: case 0xD5: case 0xD6: case 0xD7: case 0xD8: case 0xD9: case 0xDA: case 0xDB: case 0xDC: case 0xDD: case 0xDE: case 0xDF: { if (JSON_UNLIKELY(not next_byte_in_range({0x80, 0xBF}))) { return token_type::parse_error; } break; } // U+0800..U+0FFF: bytes E0 A0..BF 80..BF case 0xE0: { if (JSON_UNLIKELY(not (next_byte_in_range({0xA0, 0xBF, 0x80, 0xBF})))) { return token_type::parse_error; } break; } // U+1000..U+CFFF: bytes E1..EC 80..BF 80..BF // U+E000..U+FFFF: bytes EE..EF 80..BF 80..BF case 0xE1: case 0xE2: case 0xE3: case 0xE4: case 0xE5: case 0xE6: case 0xE7: case 0xE8: case 0xE9: case 0xEA: case 0xEB: case 0xEC: case 0xEE: case 0xEF: { if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF})))) { return token_type::parse_error; } break; } // U+D000..U+D7FF: bytes ED 80..9F 80..BF case 0xED: { if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0x9F, 0x80, 0xBF})))) { return token_type::parse_error; } break; } // U+10000..U+3FFFF F0 90..BF 80..BF 80..BF case 0xF0: { if (JSON_UNLIKELY(not (next_byte_in_range({0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF})))) { return token_type::parse_error; } break; } // U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF case 0xF1: case 0xF2: case 0xF3: { if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF})))) { return token_type::parse_error; } break; } // U+100000..U+10FFFF F4 80..8F 80..BF 80..BF case 0xF4: { if (JSON_UNLIKELY(not (next_byte_in_range({0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF})))) { return token_type::parse_error; } break; } // remaining bytes (80..C1 and F5..FF) are ill-formed default: { error_message = "invalid string: ill-formed UTF-8 byte"; return token_type::parse_error; } } } } static void strtof(float& f, const char* str, char** endptr) noexcept { f = std::strtof(str, endptr); } static void strtof(double& f, const char* str, char** endptr) noexcept { f = std::strtod(str, endptr); } static void strtof(long double& f, const char* str, char** endptr) noexcept { f = std::strtold(str, endptr); } /*! @brief scan a number literal This function scans a string according to Sect. 6 of RFC 7159. The function is realized with a deterministic finite state machine derived from the grammar described in RFC 7159. Starting in state "init", the input is read and used to determined the next state. Only state "done" accepts the number. State "error" is a trap state to model errors. In the table below, "anything" means any character but the ones listed before. state | 0 | 1-9 | e E | + | - | . | anything ---------|----------|----------|----------|---------|---------|----------|----------- init | zero | any1 | [error] | [error] | minus | [error] | [error] minus | zero | any1 | [error] | [error] | [error] | [error] | [error] zero | done | done | exponent | done | done | decimal1 | done any1 | any1 | any1 | exponent | done | done | decimal1 | done decimal1 | decimal2 | [error] | [error] | [error] | [error] | [error] | [error] decimal2 | decimal2 | decimal2 | exponent | done | done | done | done exponent | any2 | any2 | [error] | sign | sign | [error] | [error] sign | any2 | any2 | [error] | [error] | [error] | [error] | [error] any2 | any2 | any2 | done | done | done | done | done The state machine is realized with one label per state (prefixed with "scan_number_") and `goto` statements between them. The state machine contains cycles, but any cycle can be left when EOF is read. Therefore, the function is guaranteed to terminate. During scanning, the read bytes are stored in token_buffer. This string is then converted to a signed integer, an unsigned integer, or a floating-point number. @return token_type::value_unsigned, token_type::value_integer, or token_type::value_float if number could be successfully scanned, token_type::parse_error otherwise @note The scanner is independent of the current locale. Internally, the locale's decimal point is used instead of `.` to work with the locale-dependent converters. */ token_type scan_number() { // reset token_buffer to store the number's bytes reset(); // the type of the parsed number; initially set to unsigned; will be // changed if minus sign, decimal point or exponent is read token_type number_type = token_type::value_unsigned; // state (init): we just found out we need to scan a number switch (current) { case '-': { add(current); goto scan_number_minus; } case '0': { add(current); goto scan_number_zero; } case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { add(current); goto scan_number_any1; } // LCOV_EXCL_START default: { // all other characters are rejected outside scan_number() assert(false); } // LCOV_EXCL_STOP } scan_number_minus: // state: we just parsed a leading minus sign number_type = token_type::value_integer; switch (get()) { case '0': { add(current); goto scan_number_zero; } case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { add(current); goto scan_number_any1; } default: { error_message = "invalid number; expected digit after '-'"; return token_type::parse_error; } } scan_number_zero: // state: we just parse a zero (maybe with a leading minus sign) switch (get()) { case '.': { add(decimal_point_char); goto scan_number_decimal1; } case 'e': case 'E': { add(current); goto scan_number_exponent; } default: goto scan_number_done; } scan_number_any1: // state: we just parsed a number 0-9 (maybe with a leading minus sign) switch (get()) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { add(current); goto scan_number_any1; } case '.': { add(decimal_point_char); goto scan_number_decimal1; } case 'e': case 'E': { add(current); goto scan_number_exponent; } default: goto scan_number_done; } scan_number_decimal1: // state: we just parsed a decimal point number_type = token_type::value_float; switch (get()) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { add(current); goto scan_number_decimal2; } default: { error_message = "invalid number; expected digit after '.'"; return token_type::parse_error; } } scan_number_decimal2: // we just parsed at least one number after a decimal point switch (get()) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { add(current); goto scan_number_decimal2; } case 'e': case 'E': { add(current); goto scan_number_exponent; } default: goto scan_number_done; } scan_number_exponent: // we just parsed an exponent number_type = token_type::value_float; switch (get()) { case '+': case '-': { add(current); goto scan_number_sign; } case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { add(current); goto scan_number_any2; } default: { error_message = "invalid number; expected '+', '-', or digit after exponent"; return token_type::parse_error; } } scan_number_sign: // we just parsed an exponent sign switch (get()) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { add(current); goto scan_number_any2; } default: { error_message = "invalid number; expected digit after exponent sign"; return token_type::parse_error; } } scan_number_any2: // we just parsed a number after the exponent or exponent sign switch (get()) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { add(current); goto scan_number_any2; } default: goto scan_number_done; } scan_number_done: // unget the character after the number (we only read it to know that // we are done scanning a number) unget(); char* endptr = nullptr; errno = 0; // try to parse integers first and fall back to floats if (number_type == token_type::value_unsigned) { const auto x = std::strtoull(token_buffer.data(), &endptr, 10); // we checked the number format before assert(endptr == token_buffer.data() + token_buffer.size()); if (errno == 0) { value_unsigned = static_cast(x); if (value_unsigned == x) { return token_type::value_unsigned; } } } else if (number_type == token_type::value_integer) { const auto x = std::strtoll(token_buffer.data(), &endptr, 10); // we checked the number format before assert(endptr == token_buffer.data() + token_buffer.size()); if (errno == 0) { value_integer = static_cast(x); if (value_integer == x) { return token_type::value_integer; } } } // this code is reached if we parse a floating-point number or if an // integer conversion above failed strtof(value_float, token_buffer.data(), &endptr); // we checked the number format before assert(endptr == token_buffer.data() + token_buffer.size()); return token_type::value_float; } /*! @param[in] literal_text the literal text to expect @param[in] length the length of the passed literal text @param[in] return_type the token type to return on success */ token_type scan_literal(const char* literal_text, const std::size_t length, token_type return_type) { assert(current == literal_text[0]); for (std::size_t i = 1; i < length; ++i) { if (JSON_UNLIKELY(get() != literal_text[i])) { error_message = "invalid literal"; return token_type::parse_error; } } return return_type; } ///////////////////// // input management ///////////////////// /// reset token_buffer; current character is beginning of token void reset() noexcept { token_buffer.clear(); token_string.clear(); token_string.push_back(std::char_traits::to_char_type(current)); } /* @brief get next character from the input This function provides the interface to the used input adapter. It does not throw in case the input reached EOF, but returns a `std::char_traits::eof()` in that case. Stores the scanned characters for use in error messages. @return character read from the input */ std::char_traits::int_type get() { ++chars_read; if (next_unget) { // just reset the next_unget variable and work with current next_unget = false; } else { current = ia->get_character(); } if (JSON_LIKELY(current != std::char_traits::eof())) { token_string.push_back(std::char_traits::to_char_type(current)); } return current; } /*! @brief unget current character (read it again on next get) We implement unget by setting variable next_unget to true. The input is not changed - we just simulate ungetting by modifying chars_read and token_string. The next call to get() will behave as if the unget character is read again. */ void unget() { next_unget = true; --chars_read; if (JSON_LIKELY(current != std::char_traits::eof())) { assert(token_string.size() != 0); token_string.pop_back(); } } /// add a character to token_buffer void add(int c) { token_buffer.push_back(std::char_traits::to_char_type(c)); } public: ///////////////////// // value getters ///////////////////// /// return integer value constexpr number_integer_t get_number_integer() const noexcept { return value_integer; } /// return unsigned integer value constexpr number_unsigned_t get_number_unsigned() const noexcept { return value_unsigned; } /// return floating-point value constexpr number_float_t get_number_float() const noexcept { return value_float; } /// return current string value (implicitly resets the token; useful only once) string_t& get_string() { return token_buffer; } ///////////////////// // diagnostics ///////////////////// /// return position of last read token constexpr std::size_t get_position() const noexcept { return chars_read; } /// return the last read token (for errors only). Will never contain EOF /// (an arbitrary value that is not a valid char value, often -1), because /// 255 may legitimately occur. May contain NUL, which should be escaped. std::string get_token_string() const { // escape control characters std::string result; for (const auto c : token_string) { if ('\x00' <= c and c <= '\x1F') { // escape control characters char cs[9]; snprintf(cs, 9, "", static_cast(c)); result += cs; } else { // add character as is result.push_back(c); } } return result; } /// return syntax error message constexpr const char* get_error_message() const noexcept { return error_message; } ///////////////////// // actual scanner ///////////////////// /*! @brief skip the UTF-8 byte order mark @return true iff there is no BOM or the correct BOM has been skipped */ bool skip_bom() { if (get() == 0xEF) { if (get() == 0xBB and get() == 0xBF) { // we completely parsed the BOM return true; } else { // after reading 0xEF, an unexpected character followed return false; } } else { // the first character is not the beginning of the BOM; unget it to // process is later unget(); return true; } } token_type scan() { // initially, skip the BOM if (chars_read == 0 and not skip_bom()) { error_message = "invalid BOM; must be 0xEF 0xBB 0xBF if given"; return token_type::parse_error; } // read next character and ignore whitespace do { get(); } while (current == ' ' or current == '\t' or current == '\n' or current == '\r'); switch (current) { // structural characters case '[': return token_type::begin_array; case ']': return token_type::end_array; case '{': return token_type::begin_object; case '}': return token_type::end_object; case ':': return token_type::name_separator; case ',': return token_type::value_separator; // literals case 't': return scan_literal("true", 4, token_type::literal_true); case 'f': return scan_literal("false", 5, token_type::literal_false); case 'n': return scan_literal("null", 4, token_type::literal_null); // string case '\"': return scan_string(); // number case '-': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': return scan_number(); // end of input (the null byte is needed when parsing from // string literals) case '\0': case std::char_traits::eof(): return token_type::end_of_input; // error default: error_message = "invalid literal"; return token_type::parse_error; } } private: /// input adapter detail::input_adapter_t ia = nullptr; /// the current character std::char_traits::int_type current = std::char_traits::eof(); /// whether the next get() call should just return current bool next_unget = false; /// the number of characters read std::size_t chars_read = 0; /// raw input token string (for error messages) std::vector token_string {}; /// buffer for variable-length tokens (numbers, strings) string_t token_buffer {}; /// a description of occurred lexer errors const char* error_message = ""; // number values number_integer_t value_integer = 0; number_unsigned_t value_unsigned = 0; number_float_t value_float = 0; /// the decimal point const char decimal_point_char = '.'; }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/input/parser.hpp000066400000000000000000000434451360735163600247160ustar00rootroot00000000000000#pragma once #include // assert #include // isfinite #include // uint8_t #include // function #include // string #include // move #include #include #include #include #include #include #include namespace nlohmann { namespace detail { //////////// // parser // //////////// /*! @brief syntax analysis This class implements a recursive decent parser. */ template class parser { using number_integer_t = typename BasicJsonType::number_integer_t; using number_unsigned_t = typename BasicJsonType::number_unsigned_t; using number_float_t = typename BasicJsonType::number_float_t; using string_t = typename BasicJsonType::string_t; using lexer_t = lexer; using token_type = typename lexer_t::token_type; public: enum class parse_event_t : uint8_t { /// the parser read `{` and started to process a JSON object object_start, /// the parser read `}` and finished processing a JSON object object_end, /// the parser read `[` and started to process a JSON array array_start, /// the parser read `]` and finished processing a JSON array array_end, /// the parser read a key of a value in an object key, /// the parser finished reading a JSON value value }; using parser_callback_t = std::function; /// a parser reading from an input adapter explicit parser(detail::input_adapter_t&& adapter, const parser_callback_t cb = nullptr, const bool allow_exceptions_ = true) : callback(cb), m_lexer(std::move(adapter)), allow_exceptions(allow_exceptions_) { // read first token get_token(); } /*! @brief public parser interface @param[in] strict whether to expect the last token to be EOF @param[in,out] result parsed JSON value @throw parse_error.101 in case of an unexpected token @throw parse_error.102 if to_unicode fails or surrogate error @throw parse_error.103 if to_unicode fails */ void parse(const bool strict, BasicJsonType& result) { if (callback) { json_sax_dom_callback_parser sdp(result, callback, allow_exceptions); sax_parse_internal(&sdp); result.assert_invariant(); // in strict mode, input must be completely read if (strict and (get_token() != token_type::end_of_input)) { sdp.parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_of_input))); } // in case of an error, return discarded value if (sdp.is_errored()) { result = value_t::discarded; return; } // set top-level value to null if it was discarded by the callback // function if (result.is_discarded()) { result = nullptr; } } else { json_sax_dom_parser sdp(result, allow_exceptions); sax_parse_internal(&sdp); result.assert_invariant(); // in strict mode, input must be completely read if (strict and (get_token() != token_type::end_of_input)) { sdp.parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_of_input))); } // in case of an error, return discarded value if (sdp.is_errored()) { result = value_t::discarded; return; } } } /*! @brief public accept interface @param[in] strict whether to expect the last token to be EOF @return whether the input is a proper JSON text */ bool accept(const bool strict = true) { json_sax_acceptor sax_acceptor; return sax_parse(&sax_acceptor, strict); } template bool sax_parse(SAX* sax, const bool strict = true) { (void)detail::is_sax_static_asserts {}; const bool result = sax_parse_internal(sax); // strict mode: next byte must be EOF if (result and strict and (get_token() != token_type::end_of_input)) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_of_input))); } return result; } private: template bool sax_parse_internal(SAX* sax) { // stack to remember the hieararchy of structured values we are parsing // true = array; false = object std::vector states; // value to avoid a goto (see comment where set to true) bool skip_to_state_evaluation = false; while (true) { if (not skip_to_state_evaluation) { // invariant: get_token() was called before each iteration switch (last_token) { case token_type::begin_object: { if (JSON_UNLIKELY(not sax->start_object(std::size_t(-1)))) { return false; } // closing } -> we are done if (get_token() == token_type::end_object) { if (JSON_UNLIKELY(not sax->end_object())) { return false; } break; } // parse key if (JSON_UNLIKELY(last_token != token_type::value_string)) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::value_string))); } else { if (JSON_UNLIKELY(not sax->key(m_lexer.get_string()))) { return false; } } // parse separator (:) if (JSON_UNLIKELY(get_token() != token_type::name_separator)) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::name_separator))); } // remember we are now inside an object states.push_back(false); // parse values get_token(); continue; } case token_type::begin_array: { if (JSON_UNLIKELY(not sax->start_array(std::size_t(-1)))) { return false; } // closing ] -> we are done if (get_token() == token_type::end_array) { if (JSON_UNLIKELY(not sax->end_array())) { return false; } break; } // remember we are now inside an array states.push_back(true); // parse values (no need to call get_token) continue; } case token_type::value_float: { const auto res = m_lexer.get_number_float(); if (JSON_UNLIKELY(not std::isfinite(res))) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), out_of_range::create(406, "number overflow parsing '" + m_lexer.get_token_string() + "'")); } else { if (JSON_UNLIKELY(not sax->number_float(res, m_lexer.get_string()))) { return false; } break; } } case token_type::literal_false: { if (JSON_UNLIKELY(not sax->boolean(false))) { return false; } break; } case token_type::literal_null: { if (JSON_UNLIKELY(not sax->null())) { return false; } break; } case token_type::literal_true: { if (JSON_UNLIKELY(not sax->boolean(true))) { return false; } break; } case token_type::value_integer: { if (JSON_UNLIKELY(not sax->number_integer(m_lexer.get_number_integer()))) { return false; } break; } case token_type::value_string: { if (JSON_UNLIKELY(not sax->string(m_lexer.get_string()))) { return false; } break; } case token_type::value_unsigned: { if (JSON_UNLIKELY(not sax->number_unsigned(m_lexer.get_number_unsigned()))) { return false; } break; } case token_type::parse_error: { // using "uninitialized" to avoid "expected" message return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::uninitialized))); } default: // the last token was unexpected { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::literal_or_value))); } } } else { skip_to_state_evaluation = false; } // we reached this line after we successfully parsed a value if (states.empty()) { // empty stack: we reached the end of the hieararchy: done return true; } else { if (states.back()) // array { // comma -> next value if (get_token() == token_type::value_separator) { // parse a new value get_token(); continue; } // closing ] if (JSON_LIKELY(last_token == token_type::end_array)) { if (JSON_UNLIKELY(not sax->end_array())) { return false; } // We are done with this array. Before we can parse a // new value, we need to evaluate the new state first. // By setting skip_to_state_evaluation to false, we // are effectively jumping to the beginning of this if. assert(not states.empty()); states.pop_back(); skip_to_state_evaluation = true; continue; } else { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_array))); } } else // object { // comma -> next value if (get_token() == token_type::value_separator) { // parse key if (JSON_UNLIKELY(get_token() != token_type::value_string)) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::value_string))); } else { if (JSON_UNLIKELY(not sax->key(m_lexer.get_string()))) { return false; } } // parse separator (:) if (JSON_UNLIKELY(get_token() != token_type::name_separator)) { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::name_separator))); } // parse values get_token(); continue; } // closing } if (JSON_LIKELY(last_token == token_type::end_object)) { if (JSON_UNLIKELY(not sax->end_object())) { return false; } // We are done with this object. Before we can parse a // new value, we need to evaluate the new state first. // By setting skip_to_state_evaluation to false, we // are effectively jumping to the beginning of this if. assert(not states.empty()); states.pop_back(); skip_to_state_evaluation = true; continue; } else { return sax->parse_error(m_lexer.get_position(), m_lexer.get_token_string(), parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_object))); } } } } } /// get next token from lexer token_type get_token() { return (last_token = m_lexer.scan()); } std::string exception_message(const token_type expected) { std::string error_msg = "syntax error - "; if (last_token == token_type::parse_error) { error_msg += std::string(m_lexer.get_error_message()) + "; last read: '" + m_lexer.get_token_string() + "'"; } else { error_msg += "unexpected " + std::string(lexer_t::token_type_name(last_token)); } if (expected != token_type::uninitialized) { error_msg += "; expected " + std::string(lexer_t::token_type_name(expected)); } return error_msg; } private: /// callback function const parser_callback_t callback = nullptr; /// the type of the last read token token_type last_token = token_type::uninitialized; /// the lexer lexer_t m_lexer; /// whether to throw exceptions in case of errors const bool allow_exceptions = true; }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/iterators/000077500000000000000000000000001360735163600235545ustar00rootroot00000000000000avogadrolibs-1.93.0/thirdparty/nlohmann/detail/iterators/internal_iterator.hpp000066400000000000000000000012441360735163600300130ustar00rootroot00000000000000#pragma once #include namespace nlohmann { namespace detail { /*! @brief an iterator value @note This structure could easily be a union, but MSVC currently does not allow unions members with complex constructors, see https://github.com/nlohmann/json/pull/105. */ template struct internal_iterator { /// iterator for JSON objects typename BasicJsonType::object_t::iterator object_iterator {}; /// iterator for JSON arrays typename BasicJsonType::array_t::iterator array_iterator {}; /// generic iterator for all other types primitive_iterator_t primitive_iterator {}; }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/iterators/iter_impl.hpp000066400000000000000000000423071360735163600262570ustar00rootroot00000000000000#pragma once #include // not #include // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next #include // conditional, is_const, remove_const #include #include #include #include #include #include namespace nlohmann { namespace detail { // forward declare, to be able to friend it later on template class iteration_proxy; /*! @brief a template for a bidirectional iterator for the @ref basic_json class This class implements a both iterators (iterator and const_iterator) for the @ref basic_json class. @note An iterator is called *initialized* when a pointer to a JSON value has been set (e.g., by a constructor or a copy assignment). If the iterator is default-constructed, it is *uninitialized* and most methods are undefined. **The library uses assertions to detect calls on uninitialized iterators.** @requirement The class satisfies the following concept requirements: - [BidirectionalIterator](https://en.cppreference.com/w/cpp/named_req/BidirectionalIterator): The iterator that can be moved can be moved in both directions (i.e. incremented and decremented). @since version 1.0.0, simplified in version 2.0.9, change to bidirectional iterators in version 3.0.0 (see https://github.com/nlohmann/json/issues/593) */ template class iter_impl { /// allow basic_json to access private members friend iter_impl::value, typename std::remove_const::type, const BasicJsonType>::type>; friend BasicJsonType; friend iteration_proxy; using object_t = typename BasicJsonType::object_t; using array_t = typename BasicJsonType::array_t; // make sure BasicJsonType is basic_json or const basic_json static_assert(is_basic_json::type>::value, "iter_impl only accepts (const) basic_json"); public: /// The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. /// The C++ Standard has never required user-defined iterators to derive from std::iterator. /// A user-defined iterator should provide publicly accessible typedefs named /// iterator_category, value_type, difference_type, pointer, and reference. /// Note that value_type is required to be non-const, even for constant iterators. using iterator_category = std::bidirectional_iterator_tag; /// the type of the values when the iterator is dereferenced using value_type = typename BasicJsonType::value_type; /// a type to represent differences between iterators using difference_type = typename BasicJsonType::difference_type; /// defines a pointer to the type iterated over (value_type) using pointer = typename std::conditional::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer>::type; /// defines a reference to the type iterated over (value_type) using reference = typename std::conditional::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference>::type; /// default constructor iter_impl() = default; /*! @brief constructor for a given JSON instance @param[in] object pointer to a JSON object for this iterator @pre object != nullptr @post The iterator is initialized; i.e. `m_object != nullptr`. */ explicit iter_impl(pointer object) noexcept : m_object(object) { assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: { m_it.object_iterator = typename object_t::iterator(); break; } case value_t::array: { m_it.array_iterator = typename array_t::iterator(); break; } default: { m_it.primitive_iterator = primitive_iterator_t(); break; } } } /*! @note The conventional copy constructor and copy assignment are implicitly defined. Combined with the following converting constructor and assignment, they support: (1) copy from iterator to iterator, (2) copy from const iterator to const iterator, and (3) conversion from iterator to const iterator. However conversion from const iterator to iterator is not defined. */ /*! @brief converting constructor @param[in] other non-const iterator to copy from @note It is not checked whether @a other is initialized. */ iter_impl(const iter_impl::type>& other) noexcept : m_object(other.m_object), m_it(other.m_it) {} /*! @brief converting assignment @param[in,out] other non-const iterator to copy from @return const/non-const iterator @note It is not checked whether @a other is initialized. */ iter_impl& operator=(const iter_impl::type>& other) noexcept { m_object = other.m_object; m_it = other.m_it; return *this; } private: /*! @brief set the iterator to the first value @pre The iterator is initialized; i.e. `m_object != nullptr`. */ void set_begin() noexcept { assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: { m_it.object_iterator = m_object->m_value.object->begin(); break; } case value_t::array: { m_it.array_iterator = m_object->m_value.array->begin(); break; } case value_t::null: { // set to end so begin()==end() is true: null is empty m_it.primitive_iterator.set_end(); break; } default: { m_it.primitive_iterator.set_begin(); break; } } } /*! @brief set the iterator past the last value @pre The iterator is initialized; i.e. `m_object != nullptr`. */ void set_end() noexcept { assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: { m_it.object_iterator = m_object->m_value.object->end(); break; } case value_t::array: { m_it.array_iterator = m_object->m_value.array->end(); break; } default: { m_it.primitive_iterator.set_end(); break; } } } public: /*! @brief return a reference to the value pointed to by the iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ reference operator*() const { assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: { assert(m_it.object_iterator != m_object->m_value.object->end()); return m_it.object_iterator->second; } case value_t::array: { assert(m_it.array_iterator != m_object->m_value.array->end()); return *m_it.array_iterator; } case value_t::null: JSON_THROW(invalid_iterator::create(214, "cannot get value")); default: { if (JSON_LIKELY(m_it.primitive_iterator.is_begin())) { return *m_object; } JSON_THROW(invalid_iterator::create(214, "cannot get value")); } } } /*! @brief dereference the iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ pointer operator->() const { assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: { assert(m_it.object_iterator != m_object->m_value.object->end()); return &(m_it.object_iterator->second); } case value_t::array: { assert(m_it.array_iterator != m_object->m_value.array->end()); return &*m_it.array_iterator; } default: { if (JSON_LIKELY(m_it.primitive_iterator.is_begin())) { return m_object; } JSON_THROW(invalid_iterator::create(214, "cannot get value")); } } } /*! @brief post-increment (it++) @pre The iterator is initialized; i.e. `m_object != nullptr`. */ iter_impl const operator++(int) { auto result = *this; ++(*this); return result; } /*! @brief pre-increment (++it) @pre The iterator is initialized; i.e. `m_object != nullptr`. */ iter_impl& operator++() { assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: { std::advance(m_it.object_iterator, 1); break; } case value_t::array: { std::advance(m_it.array_iterator, 1); break; } default: { ++m_it.primitive_iterator; break; } } return *this; } /*! @brief post-decrement (it--) @pre The iterator is initialized; i.e. `m_object != nullptr`. */ iter_impl const operator--(int) { auto result = *this; --(*this); return result; } /*! @brief pre-decrement (--it) @pre The iterator is initialized; i.e. `m_object != nullptr`. */ iter_impl& operator--() { assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: { std::advance(m_it.object_iterator, -1); break; } case value_t::array: { std::advance(m_it.array_iterator, -1); break; } default: { --m_it.primitive_iterator; break; } } return *this; } /*! @brief comparison: equal @pre The iterator is initialized; i.e. `m_object != nullptr`. */ bool operator==(const iter_impl& other) const { // if objects are not the same, the comparison is undefined if (JSON_UNLIKELY(m_object != other.m_object)) { JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers")); } assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: return (m_it.object_iterator == other.m_it.object_iterator); case value_t::array: return (m_it.array_iterator == other.m_it.array_iterator); default: return (m_it.primitive_iterator == other.m_it.primitive_iterator); } } /*! @brief comparison: not equal @pre The iterator is initialized; i.e. `m_object != nullptr`. */ bool operator!=(const iter_impl& other) const { return not operator==(other); } /*! @brief comparison: smaller @pre The iterator is initialized; i.e. `m_object != nullptr`. */ bool operator<(const iter_impl& other) const { // if objects are not the same, the comparison is undefined if (JSON_UNLIKELY(m_object != other.m_object)) { JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers")); } assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: JSON_THROW(invalid_iterator::create(213, "cannot compare order of object iterators")); case value_t::array: return (m_it.array_iterator < other.m_it.array_iterator); default: return (m_it.primitive_iterator < other.m_it.primitive_iterator); } } /*! @brief comparison: less than or equal @pre The iterator is initialized; i.e. `m_object != nullptr`. */ bool operator<=(const iter_impl& other) const { return not other.operator < (*this); } /*! @brief comparison: greater than @pre The iterator is initialized; i.e. `m_object != nullptr`. */ bool operator>(const iter_impl& other) const { return not operator<=(other); } /*! @brief comparison: greater than or equal @pre The iterator is initialized; i.e. `m_object != nullptr`. */ bool operator>=(const iter_impl& other) const { return not operator<(other); } /*! @brief add to iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ iter_impl& operator+=(difference_type i) { assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators")); case value_t::array: { std::advance(m_it.array_iterator, i); break; } default: { m_it.primitive_iterator += i; break; } } return *this; } /*! @brief subtract from iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ iter_impl& operator-=(difference_type i) { return operator+=(-i); } /*! @brief add to iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ iter_impl operator+(difference_type i) const { auto result = *this; result += i; return result; } /*! @brief addition of distance and iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ friend iter_impl operator+(difference_type i, const iter_impl& it) { auto result = it; result += i; return result; } /*! @brief subtract from iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ iter_impl operator-(difference_type i) const { auto result = *this; result -= i; return result; } /*! @brief return difference @pre The iterator is initialized; i.e. `m_object != nullptr`. */ difference_type operator-(const iter_impl& other) const { assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators")); case value_t::array: return m_it.array_iterator - other.m_it.array_iterator; default: return m_it.primitive_iterator - other.m_it.primitive_iterator; } } /*! @brief access to successor @pre The iterator is initialized; i.e. `m_object != nullptr`. */ reference operator[](difference_type n) const { assert(m_object != nullptr); switch (m_object->m_type) { case value_t::object: JSON_THROW(invalid_iterator::create(208, "cannot use operator[] for object iterators")); case value_t::array: return *std::next(m_it.array_iterator, n); case value_t::null: JSON_THROW(invalid_iterator::create(214, "cannot get value")); default: { if (JSON_LIKELY(m_it.primitive_iterator.get_value() == -n)) { return *m_object; } JSON_THROW(invalid_iterator::create(214, "cannot get value")); } } } /*! @brief return the key of an object iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ const typename object_t::key_type& key() const { assert(m_object != nullptr); if (JSON_LIKELY(m_object->is_object())) { return m_it.object_iterator->first; } JSON_THROW(invalid_iterator::create(207, "cannot use key() for non-object iterators")); } /*! @brief return the value of an iterator @pre The iterator is initialized; i.e. `m_object != nullptr`. */ reference value() const { return operator*(); } private: /// associated JSON instance pointer m_object = nullptr; /// the actual iterator of the associated instance internal_iterator::type> m_it; }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/iterators/iteration_proxy.hpp000066400000000000000000000073101360735163600275250ustar00rootroot00000000000000#pragma once #include // size_t #include // string, to_string #include // input_iterator_tag #include namespace nlohmann { namespace detail { /// proxy class for the items() function template class iteration_proxy { private: /// helper class for iteration class iteration_proxy_internal { public: using difference_type = std::ptrdiff_t; using value_type = iteration_proxy_internal; using pointer = iteration_proxy_internal*; using reference = iteration_proxy_internal&; using iterator_category = std::input_iterator_tag; private: /// the iterator IteratorType anchor; /// an index for arrays (used to create key names) std::size_t array_index = 0; /// last stringified array index mutable std::size_t array_index_last = 0; /// a string representation of the array index mutable std::string array_index_str = "0"; /// an empty string (to return a reference for primitive values) const std::string empty_str = ""; public: explicit iteration_proxy_internal(IteratorType it) noexcept : anchor(it) {} iteration_proxy_internal(const iteration_proxy_internal&) = default; iteration_proxy_internal& operator=(const iteration_proxy_internal&) = default; /// dereference operator (needed for range-based for) iteration_proxy_internal& operator*() { return *this; } /// increment operator (needed for range-based for) iteration_proxy_internal& operator++() { ++anchor; ++array_index; return *this; } /// equality operator (needed for InputIterator) bool operator==(const iteration_proxy_internal& o) const noexcept { return anchor == o.anchor; } /// inequality operator (needed for range-based for) bool operator!=(const iteration_proxy_internal& o) const noexcept { return anchor != o.anchor; } /// return key of the iterator const std::string& key() const { assert(anchor.m_object != nullptr); switch (anchor.m_object->type()) { // use integer array index as key case value_t::array: { if (array_index != array_index_last) { array_index_str = std::to_string(array_index); array_index_last = array_index; } return array_index_str; } // use key from the object case value_t::object: return anchor.key(); // use an empty key for all primitive types default: return empty_str; } } /// return value of the iterator typename IteratorType::reference value() const { return anchor.value(); } }; /// the container to iterate typename IteratorType::reference container; public: /// construct iteration proxy from a container explicit iteration_proxy(typename IteratorType::reference cont) noexcept : container(cont) {} /// return iterator begin (needed for range-based for) iteration_proxy_internal begin() noexcept { return iteration_proxy_internal(container.begin()); } /// return iterator end (needed for range-based for) iteration_proxy_internal end() noexcept { return iteration_proxy_internal(container.end()); } }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/iterators/json_reverse_iterator.hpp000066400000000000000000000065371360735163600307150ustar00rootroot00000000000000#pragma once #include // ptrdiff_t #include // reverse_iterator #include // declval namespace nlohmann { namespace detail { ////////////////////// // reverse_iterator // ////////////////////// /*! @brief a template for a reverse iterator class @tparam Base the base iterator type to reverse. Valid types are @ref iterator (to create @ref reverse_iterator) and @ref const_iterator (to create @ref const_reverse_iterator). @requirement The class satisfies the following concept requirements: - [BidirectionalIterator](https://en.cppreference.com/w/cpp/named_req/BidirectionalIterator): The iterator that can be moved can be moved in both directions (i.e. incremented and decremented). - [OutputIterator](https://en.cppreference.com/w/cpp/named_req/OutputIterator): It is possible to write to the pointed-to element (only if @a Base is @ref iterator). @since version 1.0.0 */ template class json_reverse_iterator : public std::reverse_iterator { public: using difference_type = std::ptrdiff_t; /// shortcut to the reverse iterator adapter using base_iterator = std::reverse_iterator; /// the reference type for the pointed-to element using reference = typename Base::reference; /// create reverse iterator from iterator explicit json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept : base_iterator(it) {} /// create reverse iterator from base class explicit json_reverse_iterator(const base_iterator& it) noexcept : base_iterator(it) {} /// post-increment (it++) json_reverse_iterator const operator++(int) { return static_cast(base_iterator::operator++(1)); } /// pre-increment (++it) json_reverse_iterator& operator++() { return static_cast(base_iterator::operator++()); } /// post-decrement (it--) json_reverse_iterator const operator--(int) { return static_cast(base_iterator::operator--(1)); } /// pre-decrement (--it) json_reverse_iterator& operator--() { return static_cast(base_iterator::operator--()); } /// add to iterator json_reverse_iterator& operator+=(difference_type i) { return static_cast(base_iterator::operator+=(i)); } /// add to iterator json_reverse_iterator operator+(difference_type i) const { return static_cast(base_iterator::operator+(i)); } /// subtract from iterator json_reverse_iterator operator-(difference_type i) const { return static_cast(base_iterator::operator-(i)); } /// return difference difference_type operator-(const json_reverse_iterator& other) const { return base_iterator(*this) - base_iterator(other); } /// access to successor reference operator[](difference_type n) const { return *(this->operator+(n)); } /// return the key of an object iterator auto key() const -> decltype(std::declval().key()) { auto it = --this->base(); return it.key(); } /// return the value of an iterator reference value() const { auto it = --this->base(); return it.operator * (); } }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/iterators/primitive_iterator.hpp000066400000000000000000000053061360735163600302120ustar00rootroot00000000000000#pragma once #include // ptrdiff_t #include // numeric_limits namespace nlohmann { namespace detail { /* @brief an iterator for primitive JSON types This class models an iterator for primitive JSON types (boolean, number, string). It's only purpose is to allow the iterator/const_iterator classes to "iterate" over primitive values. Internally, the iterator is modeled by a `difference_type` variable. Value begin_value (`0`) models the begin, end_value (`1`) models past the end. */ class primitive_iterator_t { private: using difference_type = std::ptrdiff_t; static constexpr difference_type begin_value = 0; static constexpr difference_type end_value = begin_value + 1; /// iterator as signed integer type difference_type m_it = (std::numeric_limits::min)(); public: constexpr difference_type get_value() const noexcept { return m_it; } /// set iterator to a defined beginning void set_begin() noexcept { m_it = begin_value; } /// set iterator to a defined past the end void set_end() noexcept { m_it = end_value; } /// return whether the iterator can be dereferenced constexpr bool is_begin() const noexcept { return m_it == begin_value; } /// return whether the iterator is at end constexpr bool is_end() const noexcept { return m_it == end_value; } friend constexpr bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept { return lhs.m_it == rhs.m_it; } friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept { return lhs.m_it < rhs.m_it; } primitive_iterator_t operator+(difference_type n) noexcept { auto result = *this; result += n; return result; } friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept { return lhs.m_it - rhs.m_it; } primitive_iterator_t& operator++() noexcept { ++m_it; return *this; } primitive_iterator_t const operator++(int) noexcept { auto result = *this; ++m_it; return result; } primitive_iterator_t& operator--() noexcept { --m_it; return *this; } primitive_iterator_t const operator--(int) noexcept { auto result = *this; --m_it; return result; } primitive_iterator_t& operator+=(difference_type n) noexcept { m_it += n; return *this; } primitive_iterator_t& operator-=(difference_type n) noexcept { m_it -= n; return *this; } }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/json_pointer.hpp000066400000000000000000000613141360735163600247670ustar00rootroot00000000000000#pragma once #include // assert #include // accumulate #include // string #include // vector #include #include #include namespace nlohmann { template class json_pointer { // allow basic_json to access private members NLOHMANN_BASIC_JSON_TPL_DECLARATION friend class basic_json; public: /*! @brief create JSON pointer Create a JSON pointer according to the syntax described in [Section 3 of RFC6901](https://tools.ietf.org/html/rfc6901#section-3). @param[in] s string representing the JSON pointer; if omitted, the empty string is assumed which references the whole JSON value @throw parse_error.107 if the given JSON pointer @a s is nonempty and does not begin with a slash (`/`); see example below @throw parse_error.108 if a tilde (`~`) in the given JSON pointer @a s is not followed by `0` (representing `~`) or `1` (representing `/`); see example below @liveexample{The example shows the construction several valid JSON pointers as well as the exceptional behavior.,json_pointer} @since version 2.0.0 */ explicit json_pointer(const std::string& s = "") : reference_tokens(split(s)) {} /*! @brief return a string representation of the JSON pointer @invariant For each JSON pointer `ptr`, it holds: @code {.cpp} ptr == json_pointer(ptr.to_string()); @endcode @return a string representation of the JSON pointer @liveexample{The example shows the result of `to_string`., json_pointer__to_string} @since version 2.0.0 */ std::string to_string() const noexcept { return std::accumulate(reference_tokens.begin(), reference_tokens.end(), std::string{}, [](const std::string & a, const std::string & b) { return a + "/" + escape(b); }); } /// @copydoc to_string() operator std::string() const { return to_string(); } /*! @param[in] s reference token to be converted into an array index @return integer representation of @a s @throw out_of_range.404 if string @a s could not be converted to an integer */ static int array_index(const std::string& s) { std::size_t processed_chars = 0; const int res = std::stoi(s, &processed_chars); // check if the string was completely read if (JSON_UNLIKELY(processed_chars != s.size())) { JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'")); } return res; } private: /*! @brief remove and return last reference pointer @throw out_of_range.405 if JSON pointer has no parent */ std::string pop_back() { if (JSON_UNLIKELY(is_root())) { JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent")); } auto last = reference_tokens.back(); reference_tokens.pop_back(); return last; } /// return whether pointer points to the root document bool is_root() const { return reference_tokens.empty(); } json_pointer top() const { if (JSON_UNLIKELY(is_root())) { JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent")); } json_pointer result = *this; result.reference_tokens = {reference_tokens[0]}; return result; } /*! @brief create and return a reference to the pointed to value @complexity Linear in the number of reference tokens. @throw parse_error.109 if array index is not a number @throw type_error.313 if value cannot be unflattened */ BasicJsonType& get_and_create(BasicJsonType& j) const { using size_type = typename BasicJsonType::size_type; auto result = &j; // in case no reference tokens exist, return a reference to the JSON value // j which will be overwritten by a primitive value for (const auto& reference_token : reference_tokens) { switch (result->m_type) { case detail::value_t::null: { if (reference_token == "0") { // start a new array if reference token is 0 result = &result->operator[](0); } else { // start a new object otherwise result = &result->operator[](reference_token); } break; } case detail::value_t::object: { // create an entry in the object result = &result->operator[](reference_token); break; } case detail::value_t::array: { // create an entry in the array JSON_TRY { result = &result->operator[](static_cast(array_index(reference_token))); } JSON_CATCH(std::invalid_argument&) { JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number")); } break; } /* The following code is only reached if there exists a reference token _and_ the current value is primitive. In this case, we have an error situation, because primitive values may only occur as single value; that is, with an empty list of reference tokens. */ default: JSON_THROW(detail::type_error::create(313, "invalid value to unflatten")); } } return *result; } /*! @brief return a reference to the pointed to value @note This version does not throw if a value is not present, but tries to create nested values instead. For instance, calling this function with pointer `"/this/that"` on a null value is equivalent to calling `operator[]("this").operator[]("that")` on that value, effectively changing the null value to an object. @param[in] ptr a JSON value @return reference to the JSON value pointed to by the JSON pointer @complexity Linear in the length of the JSON pointer. @throw parse_error.106 if an array index begins with '0' @throw parse_error.109 if an array index was not a number @throw out_of_range.404 if the JSON pointer can not be resolved */ BasicJsonType& get_unchecked(BasicJsonType* ptr) const { using size_type = typename BasicJsonType::size_type; for (const auto& reference_token : reference_tokens) { // convert null values to arrays or objects before continuing if (ptr->m_type == detail::value_t::null) { // check if reference token is a number const bool nums = std::all_of(reference_token.begin(), reference_token.end(), [](const char x) { return (x >= '0' and x <= '9'); }); // change value to array for numbers or "-" or to object otherwise *ptr = (nums or reference_token == "-") ? detail::value_t::array : detail::value_t::object; } switch (ptr->m_type) { case detail::value_t::object: { // use unchecked object access ptr = &ptr->operator[](reference_token); break; } case detail::value_t::array: { // error condition (cf. RFC 6901, Sect. 4) if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0')) { JSON_THROW(detail::parse_error::create(106, 0, "array index '" + reference_token + "' must not begin with '0'")); } if (reference_token == "-") { // explicitly treat "-" as index beyond the end ptr = &ptr->operator[](ptr->m_value.array->size()); } else { // convert array index to number; unchecked access JSON_TRY { ptr = &ptr->operator[]( static_cast(array_index(reference_token))); } JSON_CATCH(std::invalid_argument&) { JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number")); } } break; } default: JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'")); } } return *ptr; } /*! @throw parse_error.106 if an array index begins with '0' @throw parse_error.109 if an array index was not a number @throw out_of_range.402 if the array index '-' is used @throw out_of_range.404 if the JSON pointer can not be resolved */ BasicJsonType& get_checked(BasicJsonType* ptr) const { using size_type = typename BasicJsonType::size_type; for (const auto& reference_token : reference_tokens) { switch (ptr->m_type) { case detail::value_t::object: { // note: at performs range check ptr = &ptr->at(reference_token); break; } case detail::value_t::array: { if (JSON_UNLIKELY(reference_token == "-")) { // "-" always fails the range check JSON_THROW(detail::out_of_range::create(402, "array index '-' (" + std::to_string(ptr->m_value.array->size()) + ") is out of range")); } // error condition (cf. RFC 6901, Sect. 4) if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0')) { JSON_THROW(detail::parse_error::create(106, 0, "array index '" + reference_token + "' must not begin with '0'")); } // note: at performs range check JSON_TRY { ptr = &ptr->at(static_cast(array_index(reference_token))); } JSON_CATCH(std::invalid_argument&) { JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number")); } break; } default: JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'")); } } return *ptr; } /*! @brief return a const reference to the pointed to value @param[in] ptr a JSON value @return const reference to the JSON value pointed to by the JSON pointer @throw parse_error.106 if an array index begins with '0' @throw parse_error.109 if an array index was not a number @throw out_of_range.402 if the array index '-' is used @throw out_of_range.404 if the JSON pointer can not be resolved */ const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const { using size_type = typename BasicJsonType::size_type; for (const auto& reference_token : reference_tokens) { switch (ptr->m_type) { case detail::value_t::object: { // use unchecked object access ptr = &ptr->operator[](reference_token); break; } case detail::value_t::array: { if (JSON_UNLIKELY(reference_token == "-")) { // "-" cannot be used for const access JSON_THROW(detail::out_of_range::create(402, "array index '-' (" + std::to_string(ptr->m_value.array->size()) + ") is out of range")); } // error condition (cf. RFC 6901, Sect. 4) if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0')) { JSON_THROW(detail::parse_error::create(106, 0, "array index '" + reference_token + "' must not begin with '0'")); } // use unchecked array access JSON_TRY { ptr = &ptr->operator[]( static_cast(array_index(reference_token))); } JSON_CATCH(std::invalid_argument&) { JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number")); } break; } default: JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'")); } } return *ptr; } /*! @throw parse_error.106 if an array index begins with '0' @throw parse_error.109 if an array index was not a number @throw out_of_range.402 if the array index '-' is used @throw out_of_range.404 if the JSON pointer can not be resolved */ const BasicJsonType& get_checked(const BasicJsonType* ptr) const { using size_type = typename BasicJsonType::size_type; for (const auto& reference_token : reference_tokens) { switch (ptr->m_type) { case detail::value_t::object: { // note: at performs range check ptr = &ptr->at(reference_token); break; } case detail::value_t::array: { if (JSON_UNLIKELY(reference_token == "-")) { // "-" always fails the range check JSON_THROW(detail::out_of_range::create(402, "array index '-' (" + std::to_string(ptr->m_value.array->size()) + ") is out of range")); } // error condition (cf. RFC 6901, Sect. 4) if (JSON_UNLIKELY(reference_token.size() > 1 and reference_token[0] == '0')) { JSON_THROW(detail::parse_error::create(106, 0, "array index '" + reference_token + "' must not begin with '0'")); } // note: at performs range check JSON_TRY { ptr = &ptr->at(static_cast(array_index(reference_token))); } JSON_CATCH(std::invalid_argument&) { JSON_THROW(detail::parse_error::create(109, 0, "array index '" + reference_token + "' is not a number")); } break; } default: JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'")); } } return *ptr; } /*! @brief split the string input to reference tokens @note This function is only called by the json_pointer constructor. All exceptions below are documented there. @throw parse_error.107 if the pointer is not empty or begins with '/' @throw parse_error.108 if character '~' is not followed by '0' or '1' */ static std::vector split(const std::string& reference_string) { std::vector result; // special case: empty reference string -> no reference tokens if (reference_string.empty()) { return result; } // check if nonempty reference string begins with slash if (JSON_UNLIKELY(reference_string[0] != '/')) { JSON_THROW(detail::parse_error::create(107, 1, "JSON pointer must be empty or begin with '/' - was: '" + reference_string + "'")); } // extract the reference tokens: // - slash: position of the last read slash (or end of string) // - start: position after the previous slash for ( // search for the first slash after the first character std::size_t slash = reference_string.find_first_of('/', 1), // set the beginning of the first reference token start = 1; // we can stop if start == string::npos+1 = 0 start != 0; // set the beginning of the next reference token // (will eventually be 0 if slash == std::string::npos) start = slash + 1, // find next slash slash = reference_string.find_first_of('/', start)) { // use the text between the beginning of the reference token // (start) and the last slash (slash). auto reference_token = reference_string.substr(start, slash - start); // check reference tokens are properly escaped for (std::size_t pos = reference_token.find_first_of('~'); pos != std::string::npos; pos = reference_token.find_first_of('~', pos + 1)) { assert(reference_token[pos] == '~'); // ~ must be followed by 0 or 1 if (JSON_UNLIKELY(pos == reference_token.size() - 1 or (reference_token[pos + 1] != '0' and reference_token[pos + 1] != '1'))) { JSON_THROW(detail::parse_error::create(108, 0, "escape character '~' must be followed with '0' or '1'")); } } // finally, store the reference token unescape(reference_token); result.push_back(reference_token); } return result; } /*! @brief replace all occurrences of a substring by another string @param[in,out] s the string to manipulate; changed so that all occurrences of @a f are replaced with @a t @param[in] f the substring to replace with @a t @param[in] t the string to replace @a f @pre The search string @a f must not be empty. **This precondition is enforced with an assertion.** @since version 2.0.0 */ static void replace_substring(std::string& s, const std::string& f, const std::string& t) { assert(not f.empty()); for (auto pos = s.find(f); // find first occurrence of f pos != std::string::npos; // make sure f was found s.replace(pos, f.size(), t), // replace with t, and pos = s.find(f, pos + t.size())) // find next occurrence of f {} } /// escape "~"" to "~0" and "/" to "~1" static std::string escape(std::string s) { replace_substring(s, "~", "~0"); replace_substring(s, "/", "~1"); return s; } /// unescape "~1" to tilde and "~0" to slash (order is important!) static void unescape(std::string& s) { replace_substring(s, "~1", "/"); replace_substring(s, "~0", "~"); } /*! @param[in] reference_string the reference string to the current value @param[in] value the value to consider @param[in,out] result the result object to insert values to @note Empty objects or arrays are flattened to `null`. */ static void flatten(const std::string& reference_string, const BasicJsonType& value, BasicJsonType& result) { switch (value.m_type) { case detail::value_t::array: { if (value.m_value.array->empty()) { // flatten empty array as null result[reference_string] = nullptr; } else { // iterate array and use index as reference string for (std::size_t i = 0; i < value.m_value.array->size(); ++i) { flatten(reference_string + "/" + std::to_string(i), value.m_value.array->operator[](i), result); } } break; } case detail::value_t::object: { if (value.m_value.object->empty()) { // flatten empty object as null result[reference_string] = nullptr; } else { // iterate object and use keys as reference string for (const auto& element : *value.m_value.object) { flatten(reference_string + "/" + escape(element.first), element.second, result); } } break; } default: { // add primitive value with its reference string result[reference_string] = value; break; } } } /*! @param[in] value flattened JSON @return unflattened JSON @throw parse_error.109 if array index is not a number @throw type_error.314 if value is not an object @throw type_error.315 if object values are not primitive @throw type_error.313 if value cannot be unflattened */ static BasicJsonType unflatten(const BasicJsonType& value) { if (JSON_UNLIKELY(not value.is_object())) { JSON_THROW(detail::type_error::create(314, "only objects can be unflattened")); } BasicJsonType result; // iterate the JSON object values for (const auto& element : *value.m_value.object) { if (JSON_UNLIKELY(not element.second.is_primitive())) { JSON_THROW(detail::type_error::create(315, "values in object must be primitive")); } // assign value to reference pointed to by JSON pointer; Note that if // the JSON pointer is "" (i.e., points to the whole value), function // get_and_create returns a reference to result itself. An assignment // will then create a primitive value. json_pointer(element.first).get_and_create(result) = element.second; } return result; } friend bool operator==(json_pointer const& lhs, json_pointer const& rhs) noexcept { return (lhs.reference_tokens == rhs.reference_tokens); } friend bool operator!=(json_pointer const& lhs, json_pointer const& rhs) noexcept { return not (lhs == rhs); } /// the reference tokens std::vector reference_tokens; }; } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/json_ref.hpp000066400000000000000000000026001360735163600240540ustar00rootroot00000000000000#pragma once #include #include namespace nlohmann { namespace detail { template class json_ref { public: using value_type = BasicJsonType; json_ref(value_type&& value) : owned_value(std::move(value)), value_ref(&owned_value), is_rvalue(true) {} json_ref(const value_type& value) : value_ref(const_cast(&value)), is_rvalue(false) {} json_ref(std::initializer_list init) : owned_value(init), value_ref(&owned_value), is_rvalue(true) {} template json_ref(Args&& ... args) : owned_value(std::forward(args)...), value_ref(&owned_value), is_rvalue(true) {} // class should be movable only json_ref(json_ref&&) = default; json_ref(const json_ref&) = delete; json_ref& operator=(const json_ref&) = delete; value_type moved_or_copied() const { if (is_rvalue) { return std::move(*value_ref); } return *value_ref; } value_type const& operator*() const { return *static_cast(value_ref); } value_type const* operator->() const { return static_cast(value_ref); } private: mutable value_type owned_value = nullptr; value_type* value_ref = nullptr; const bool is_rvalue; }; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/macro_scope.hpp000066400000000000000000000076751360735163600245620ustar00rootroot00000000000000#pragma once // This file contains all internal macro definitions // You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them // exclude unsupported compilers #if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) #if defined(__clang__) #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400 #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers" #endif #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER)) #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800 #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers" #endif #endif #endif // disable float-equal warnings on GCC/clang #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wfloat-equal" #endif // disable documentation warnings on clang #if defined(__clang__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdocumentation" #endif // allow for portable deprecation warnings #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) #define JSON_DEPRECATED __attribute__((deprecated)) #elif defined(_MSC_VER) #define JSON_DEPRECATED __declspec(deprecated) #else #define JSON_DEPRECATED #endif // allow to disable exceptions #if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION) #define JSON_THROW(exception) throw exception #define JSON_TRY try #define JSON_CATCH(exception) catch(exception) #define JSON_INTERNAL_CATCH(exception) catch(exception) #else #define JSON_THROW(exception) std::abort() #define JSON_TRY if(true) #define JSON_CATCH(exception) if(false) #define JSON_INTERNAL_CATCH(exception) if(false) #endif // override exception macros #if defined(JSON_THROW_USER) #undef JSON_THROW #define JSON_THROW JSON_THROW_USER #endif #if defined(JSON_TRY_USER) #undef JSON_TRY #define JSON_TRY JSON_TRY_USER #endif #if defined(JSON_CATCH_USER) #undef JSON_CATCH #define JSON_CATCH JSON_CATCH_USER #undef JSON_INTERNAL_CATCH #define JSON_INTERNAL_CATCH JSON_CATCH_USER #endif #if defined(JSON_INTERNAL_CATCH_USER) #undef JSON_INTERNAL_CATCH #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER #endif // manual branch prediction #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) #define JSON_LIKELY(x) __builtin_expect(!!(x), 1) #define JSON_UNLIKELY(x) __builtin_expect(!!(x), 0) #else #define JSON_LIKELY(x) x #define JSON_UNLIKELY(x) x #endif // C++ language standard detection #if (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464 #define JSON_HAS_CPP_17 #define JSON_HAS_CPP_14 #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1) #define JSON_HAS_CPP_14 #endif // Ugly macros to avoid uglier copy-paste when specializing basic_json. They // may be removed in the future once the class is split. #define NLOHMANN_BASIC_JSON_TPL_DECLARATION \ template class ObjectType, \ template class ArrayType, \ class StringType, class BooleanType, class NumberIntegerType, \ class NumberUnsignedType, class NumberFloatType, \ template class AllocatorType, \ template class JSONSerializer> #define NLOHMANN_BASIC_JSON_TPL \ basic_json avogadrolibs-1.93.0/thirdparty/nlohmann/detail/macro_unscope.hpp000066400000000000000000000007561360735163600251160ustar00rootroot00000000000000#pragma once // restore GCC/clang diagnostic settings #if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__) #pragma GCC diagnostic pop #endif #if defined(__clang__) #pragma GCC diagnostic pop #endif // clean up #undef JSON_INTERNAL_CATCH #undef JSON_CATCH #undef JSON_THROW #undef JSON_TRY #undef JSON_LIKELY #undef JSON_UNLIKELY #undef JSON_DEPRECATED #undef JSON_HAS_CPP_14 #undef JSON_HAS_CPP_17 #undef NLOHMANN_BASIC_JSON_TPL_DECLARATION #undef NLOHMANN_BASIC_JSON_TPL avogadrolibs-1.93.0/thirdparty/nlohmann/detail/meta/000077500000000000000000000000001360735163600224665ustar00rootroot00000000000000avogadrolibs-1.93.0/thirdparty/nlohmann/detail/meta/cpp_future.hpp000066400000000000000000000034321360735163600253550ustar00rootroot00000000000000#pragma once #include // not #include // size_t #include // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type namespace nlohmann { namespace detail { // alias templates to reduce boilerplate template using enable_if_t = typename std::enable_if::type; template using uncvref_t = typename std::remove_cv::type>::type; // implementation of C++14 index_sequence and affiliates // source: https://stackoverflow.com/a/32223343 template struct index_sequence { using type = index_sequence; using value_type = std::size_t; static constexpr std::size_t size() noexcept { return sizeof...(Ints); } }; template struct merge_and_renumber; template struct merge_and_renumber, index_sequence> : index_sequence < I1..., (sizeof...(I1) + I2)... > {}; template struct make_index_sequence : merge_and_renumber < typename make_index_sequence < N / 2 >::type, typename make_index_sequence < N - N / 2 >::type > {}; template<> struct make_index_sequence<0> : index_sequence<> {}; template<> struct make_index_sequence<1> : index_sequence<0> {}; template using index_sequence_for = make_index_sequence; // dispatch utility (taken from ranges-v3) template struct priority_tag : priority_tag < N - 1 > {}; template<> struct priority_tag<0> {}; // taken from ranges-v3 template struct static_const { static constexpr T value{}; }; template constexpr T static_const::value; } } avogadrolibs-1.93.0/thirdparty/nlohmann/detail/meta/detected.hpp000066400000000000000000000030561360735163600247640ustar00rootroot00000000000000#pragma once #include #include // http://en.cppreference.com/w/cpp/experimental/is_detected namespace nlohmann { namespace detail { struct nonesuch { nonesuch() = delete; ~nonesuch() = delete; nonesuch(nonesuch const&) = delete; void operator=(nonesuch const&) = delete; }; template class Op, class... Args> struct detector { using value_t = std::false_type; using type = Default; }; template class Op, class... Args> struct detector>, Op, Args...> { using value_t = std::true_type; using type = Op; }; template